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

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

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

@s2n_use_color_in_output = external dso_local global i8, align 1
@test_count = external dso_local global i32, align 4
@stdout = external global ptr, align 8
@.str = external hidden unnamed_addr constant [19 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [82 x i8], align 1
@stderr = external global ptr, align 8
@.str.2 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [52 x i8], align 1
@s2n_errno = external thread_local global i32, align 4
@.str.4 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [200 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [82 x i8], align 1
@__const.main.app_data = external hidden unnamed_addr constant [22 x i8], align 16
@.str.16 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [114 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [70 x i8], align 1
@S2N_BLOCKED_ON_APPLICATION_DATA = external constant i32, align 4
@.str.30 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [109 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [145 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [67 x i8], align 1
@__const.main.messages = external hidden unnamed_addr constant [3 x [10 x i8]], align 16
@.str.51 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [38 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [38 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.67 = 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 ptr, align 8
  %10 = alloca i32, align 4
  %11 = alloca ptr, align 8
  %12 = alloca i32, align 4
  %13 = alloca i32, align 4
  %14 = alloca i32, align 4
  %15 = alloca i32, align 4
  %16 = alloca [22 x i8], align 16
  %17 = alloca i32, align 4
  %18 = alloca ptr, align 8
  %19 = alloca i32, align 4
  %20 = alloca i32, align 4
  %21 = alloca ptr, align 8
  %22 = alloca i32, align 4
  %23 = alloca i32, align 4
  %24 = alloca %struct.s2n_test_io_pair, align 4
  %25 = alloca i32, align 4
  %26 = alloca i32, align 4
  %27 = alloca i32, align 4
  %28 = alloca i32, align 4
  %29 = alloca i32, align 4
  %30 = alloca %struct.s2n_result, align 4
  %31 = alloca i32, align 4
  %32 = alloca %struct.s2n_result, align 4
  %33 = alloca %struct.s2n_result, align 4
  %34 = alloca ptr, align 8
  %35 = alloca i32, align 4
  %36 = alloca i32, align 4
  %37 = alloca ptr, align 8
  %38 = alloca i32, align 4
  %39 = alloca i32, align 4
  %40 = alloca %struct.s2n_test_io_pair, align 4
  %41 = alloca i32, align 4
  %42 = alloca i32, align 4
  %43 = alloca i64, align 8
  %44 = alloca [22 x i8], align 16
  %45 = alloca i32, align 4
  %46 = alloca i32, align 4
  %47 = alloca i32, align 4
  %48 = alloca i32, align 4
  %49 = alloca i32, align 4
  %50 = alloca i32, align 4
  %51 = alloca i32, align 4
  %52 = alloca i32, align 4
  %53 = alloca i32, align 4
  %54 = alloca i32, align 4
  %55 = alloca i32, align 4
  %56 = alloca %struct.s2n_result, align 4
  %57 = alloca i32, align 4
  %58 = alloca %struct.s2n_result, align 4
  %59 = alloca %struct.s2n_result, align 4
  %60 = alloca ptr, align 8
  %61 = alloca i32, align 4
  %62 = alloca i32, align 4
  %63 = alloca ptr, align 8
  %64 = alloca i32, align 4
  %65 = alloca i32, align 4
  %66 = alloca %struct.s2n_test_io_pair, align 4
  %67 = alloca i32, align 4
  %68 = alloca i32, align 4
  %69 = alloca i64, align 8
  %70 = alloca [22 x i8], align 16
  %71 = alloca i32, align 4
  %72 = alloca i32, align 4
  %73 = alloca i32, align 4
  %74 = alloca i32, align 4
  %75 = alloca i64, align 8
  %76 = alloca i32, align 4
  %77 = alloca i32, align 4
  %78 = alloca i32, align 4
  %79 = alloca i32, align 4
  %80 = alloca i32, align 4
  %81 = alloca i32, align 4
  %82 = alloca i32, align 4
  %83 = alloca i32, align 4
  %84 = alloca i32, align 4
  %85 = alloca i32, align 4
  %86 = alloca i32, align 4
  %87 = alloca i32, align 4
  %88 = alloca i32, align 4
  %89 = alloca i64, align 8
  %90 = alloca i32, align 4
  %91 = alloca i32, align 4
  %92 = alloca i32, align 4
  %93 = alloca i32, align 4
  %94 = alloca i32, align 4
  %95 = alloca %struct.s2n_result, align 4
  %96 = alloca i32, align 4
  %97 = alloca %struct.s2n_result, align 4
  %98 = alloca %struct.s2n_result, align 4
  %99 = alloca i64, align 8
  %100 = alloca ptr, align 8
  %101 = alloca i32, align 4
  %102 = alloca i32, align 4
  %103 = alloca ptr, align 8
  %104 = alloca i32, align 4
  %105 = alloca i32, align 4
  %106 = alloca %struct.s2n_test_io_pair, align 4
  %107 = alloca i32, align 4
  %108 = alloca i32, align 4
  %109 = alloca i64, align 8
  %110 = alloca [22 x i8], align 16
  %111 = alloca i32, align 4
  %112 = alloca i32, align 4
  %113 = alloca i32, align 4
  %114 = alloca i64, align 8
  %115 = alloca i32, align 4
  %116 = alloca i64, align 8
  %117 = alloca i32, align 4
  %118 = alloca i32, align 4
  %119 = alloca i32, align 4
  %120 = alloca i32, align 4
  %121 = alloca i32, align 4
  %122 = alloca i32, align 4
  %123 = alloca i32, align 4
  %124 = alloca %struct.s2n_result, align 4
  %125 = alloca i32, 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 i32, align 4
  %131 = alloca ptr, align 8
  %132 = alloca i32, align 4
  %133 = alloca i32, align 4
  %134 = alloca %struct.s2n_test_io_pair, align 4
  %135 = alloca i32, align 4
  %136 = alloca i32, align 4
  %137 = alloca i64, align 8
  %138 = alloca [22 x i8], align 16
  %139 = alloca i32, align 4
  %140 = alloca i32, align 4
  %141 = alloca i32, align 4
  %142 = alloca i32, align 4
  %143 = alloca i32, align 4
  %144 = alloca i32, align 4
  %145 = alloca i32, align 4
  %146 = alloca i32, align 4
  %147 = alloca i32, align 4
  %148 = alloca i32, align 4
  %149 = alloca i32, align 4
  %150 = alloca i32, align 4
  %151 = alloca i32, align 4
  %152 = alloca i32, align 4
  %153 = alloca i32, align 4
  %154 = alloca i32, align 4
  %155 = alloca i32, align 4
  %156 = alloca i32, align 4
  %157 = alloca i32, align 4
  %158 = alloca i32, align 4
  %159 = alloca %struct.s2n_result, align 4
  %160 = alloca %struct.s2n_result, align 4
  %161 = alloca ptr, align 8
  %162 = alloca i32, align 4
  %163 = alloca i32, align 4
  %164 = alloca ptr, align 8
  %165 = alloca i32, align 4
  %166 = alloca i32, align 4
  %167 = alloca %struct.s2n_test_io_pair, align 4
  %168 = alloca i32, align 4
  %169 = alloca i32, align 4
  %170 = alloca i64, align 8
  %171 = alloca [22 x i8], align 16
  %172 = alloca i32, align 4
  %173 = alloca i32, align 4
  %174 = alloca i32, align 4
  %175 = alloca i32, align 4
  %176 = alloca i32, align 4
  %177 = alloca i32, align 4
  %178 = alloca i32, align 4
  %179 = alloca i32, align 4
  %180 = alloca %struct.s2n_result, align 4
  %181 = alloca i32, align 4
  %182 = alloca i32, align 4
  %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 ptr, align 8
  %193 = alloca i32, align 4
  %194 = alloca i32, align 4
  %195 = alloca ptr, align 8
  %196 = alloca i32, align 4
  %197 = alloca i32, align 4
  %198 = alloca %struct.s2n_test_io_pair, align 4
  %199 = alloca i32, align 4
  %200 = alloca i32, align 4
  %201 = alloca [1 x i8], align 1
  %202 = alloca i32, align 4
  %203 = alloca i32, align 4
  %204 = alloca i32, align 4
  %205 = alloca %struct.s2n_stuffer, align 8
  %206 = alloca i32, align 4
  %207 = alloca i64, align 8
  %208 = alloca i64, align 8
  %209 = alloca i32, align 4
  %210 = alloca i32, align 4
  %211 = alloca i32, align 4
  %212 = alloca i32, align 4
  %213 = alloca i32, align 4
  %214 = alloca i32, align 4
  %215 = alloca i32, align 4
  %216 = alloca i32, align 4
  %217 = alloca i32, align 4
  %218 = alloca i32, align 4
  %219 = alloca i32, align 4
  %220 = alloca %struct.s2n_result, align 4
  %221 = alloca %struct.s2n_result, align 4
  %222 = alloca [3 x [10 x i8]], align 16
  %223 = alloca i8, align 1
  %224 = alloca i8, align 1
  %225 = alloca i8, align 1
  %226 = alloca i8, align 1
  %227 = alloca i8, align 1
  %228 = alloca i64, align 8
  %229 = alloca i32, align 4
  %230 = alloca ptr, align 8
  %231 = alloca i32, align 4
  %232 = alloca i32, align 4
  %233 = alloca ptr, align 8
  %234 = alloca i32, align 4
  %235 = alloca i32, align 4
  %236 = alloca %struct.s2n_test_io_pair, align 4
  %237 = alloca i32, align 4
  %238 = alloca i32, align 4
  %239 = alloca i64, align 8
  %240 = alloca [20 x i8], align 16
  %241 = alloca i64, align 8
  %242 = alloca i64, align 8
  %243 = alloca i32, align 4
  %244 = alloca i32, align 4
  %245 = alloca i32, align 4
  %246 = alloca i32, align 4
  %247 = alloca i32, align 4
  %248 = alloca i32, align 4
  %249 = alloca i32, align 4
  %250 = alloca i32, align 4
  %251 = alloca i32, align 4
  %252 = alloca i32, align 4
  %253 = alloca i32, align 4
  %254 = alloca i32, align 4
  %255 = alloca i32, align 4
  %256 = alloca i32, align 4
  %257 = alloca i32, align 4
  %258 = alloca i32, align 4
  %259 = alloca i32, align 4
  %260 = alloca i32, align 4
  %261 = alloca i32, align 4
  %262 = alloca i32, align 4
  %263 = alloca i32, align 4
  %264 = alloca i32, align 4
  %265 = alloca i32, align 4
  %266 = alloca i32, align 4
  %267 = alloca i32, align 4
  %268 = alloca i32, align 4
  %269 = alloca i32, align 4
  %270 = alloca i32, align 4
  %271 = alloca i32, align 4
  %272 = alloca i32, align 4
  %273 = alloca i32, align 4
  %274 = alloca i32, align 4
  %275 = alloca i32, align 4
  %276 = alloca i32, align 4
  %277 = alloca i32, align 4
  %278 = alloca i32, align 4
  %279 = alloca i32, align 4
  %280 = alloca i32, align 4
  %281 = alloca i32, align 4
  %282 = alloca i32, align 4
  %283 = alloca i32, align 4
  %284 = alloca i32, align 4
  %285 = alloca %struct.s2n_result, align 4
  %286 = alloca i32, align 4
  %287 = alloca %struct.s2n_result, align 4
  %288 = alloca %struct.s2n_result, align 4
  %289 = alloca i32, align 4
  %290 = alloca i32, align 4
  %291 = alloca i32, align 4
  %292 = alloca i32, align 4
  %293 = alloca i32, align 4
  %294 = alloca i32, align 4
  %295 = alloca i32, align 4
  %296 = alloca %struct.s2n_result, align 4
  %297 = 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 %298

298:                                              ; preds = %2
  br label %299

299:                                              ; preds = %298
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %300 = load ptr, ptr @stdout, align 8, !tbaa !9
  %301 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %300, ptr noundef @.str, ptr noundef @.str.1) #11
  %302 = load ptr, ptr @stdout, align 8, !tbaa !9
  %303 = call i32 @fflush(ptr noundef %302)
  br label %304

304:                                              ; preds = %299
  %305 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext true)
  %306 = icmp eq i32 %305, -1
  br i1 %306, label %307, label %358

307:                                              ; preds = %304
  br label %308

308:                                              ; preds = %307
  br label %309

309:                                              ; preds = %308
  call void @llvm.lifetime.start.p0(i64 4, ptr %6) #11
  %310 = call ptr @__errno_location() #12
  %311 = load i32, ptr %310, align 4, !tbaa !5
  store i32 %311, ptr %6, align 4, !tbaa !5
  %312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %313 = call i32 @s2n_print_stacktrace(ptr noundef %312)
  %314 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %315 = trunc i8 %314 to i1
  br i1 %315, label %316, label %338

316:                                              ; preds = %309
  %317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %318 = call i32 @fileno(ptr noundef %317) #11
  %319 = call i32 @isatty(i32 noundef %318) #11
  %320 = icmp ne i32 %319, 0
  br i1 %320, label %321, label %338

321:                                              ; preds = %316
  %322 = load i32, ptr %6, align 4, !tbaa !5
  %323 = call ptr @__errno_location() #12
  store i32 %322, ptr %323, align 4, !tbaa !5
  %324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %325 = load i32, ptr @test_count, align 4, !tbaa !5
  %326 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %327 = load i32, ptr %326, align 4, !tbaa !5
  %328 = call ptr @s2n_strerror(i32 noundef %327, ptr noundef @.str.4)
  %329 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %330 = load i32, ptr %329, align 4, !tbaa !5
  %331 = call ptr @s2n_strerror_debug(i32 noundef %330, ptr noundef @.str.4)
  %332 = call ptr @__errno_location() #12
  %333 = load i32, ptr %332, align 4, !tbaa !5
  %334 = call ptr @strerror(i32 noundef %333) #11
  %335 = call ptr @__errno_location() #12
  %336 = load i32, ptr %335, align 4, !tbaa !5
  %337 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %324, ptr noundef @.str.2, i32 noundef %325, ptr noundef @.str.3, ptr noundef @.str.1, i32 noundef 54, ptr noundef %328, ptr noundef %331, ptr noundef %334, i32 noundef %336) #11
  br label %355

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

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

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

357:                                              ; No predecessors!
  br label %358

358:                                              ; preds = %357, %304
  br label %359

359:                                              ; preds = %358
  br label %360

360:                                              ; preds = %359
  %361 = load i32, ptr @test_count, align 4, !tbaa !5
  %362 = add nsw i32 %361, 1
  store i32 %362, ptr @test_count, align 4, !tbaa !5
  %363 = call i32 @s2n_enable_atexit()
  %364 = icmp eq i32 %363, -1
  br i1 %364, label %365, label %416

365:                                              ; preds = %360
  br label %366

366:                                              ; preds = %365
  br label %367

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

374:                                              ; preds = %367
  %375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %376 = call i32 @fileno(ptr noundef %375) #11
  %377 = call i32 @isatty(i32 noundef %376) #11
  %378 = icmp ne i32 %377, 0
  br i1 %378, label %379, label %396

379:                                              ; preds = %374
  %380 = load i32, ptr %7, align 4, !tbaa !5
  %381 = call ptr @__errno_location() #12
  store i32 %380, ptr %381, align 4, !tbaa !5
  %382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %383 = load i32, ptr @test_count, align 4, !tbaa !5
  %384 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %385 = load i32, ptr %384, align 4, !tbaa !5
  %386 = call ptr @s2n_strerror(i32 noundef %385, ptr noundef @.str.4)
  %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_debug(i32 noundef %388, ptr noundef @.str.4)
  %390 = call ptr @__errno_location() #12
  %391 = load i32, ptr %390, align 4, !tbaa !5
  %392 = call ptr @strerror(i32 noundef %391) #11
  %393 = call ptr @__errno_location() #12
  %394 = load i32, ptr %393, align 4, !tbaa !5
  %395 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %382, ptr noundef @.str.2, i32 noundef %383, ptr noundef @.str.6, ptr noundef @.str.1, i32 noundef 54, ptr noundef %386, ptr noundef %389, ptr noundef %392, i32 noundef %394) #11
  br label %413

396:                                              ; preds = %374, %367
  %397 = load i32, ptr %7, align 4, !tbaa !5
  %398 = call ptr @__errno_location() #12
  store i32 %397, ptr %398, align 4, !tbaa !5
  %399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %400 = load i32, ptr @test_count, align 4, !tbaa !5
  %401 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %402 = load i32, ptr %401, align 4, !tbaa !5
  %403 = call ptr @s2n_strerror(i32 noundef %402, ptr noundef @.str.4)
  %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_debug(i32 noundef %405, ptr noundef @.str.4)
  %407 = call ptr @__errno_location() #12
  %408 = load i32, ptr %407, align 4, !tbaa !5
  %409 = call ptr @strerror(i32 noundef %408) #11
  %410 = call ptr @__errno_location() #12
  %411 = load i32, ptr %410, align 4, !tbaa !5
  %412 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %399, ptr noundef @.str.5, i32 noundef %400, ptr noundef @.str.6, ptr noundef @.str.1, i32 noundef 54, ptr noundef %403, ptr noundef %406, ptr noundef %409, i32 noundef %411) #11
  br label %413

413:                                              ; preds = %396, %379
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #11
  br label %414

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

415:                                              ; No predecessors!
  br label %416

416:                                              ; preds = %415, %360
  br label %417

417:                                              ; preds = %416
  br label %418

418:                                              ; preds = %417
  br label %419

419:                                              ; preds = %418
  %420 = call i32 @s2n_init()
  %421 = icmp eq i32 %420, -1
  br i1 %421, label %422, label %473

422:                                              ; preds = %419
  br label %423

423:                                              ; preds = %422
  br label %424

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

431:                                              ; preds = %424
  %432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %433 = call i32 @fileno(ptr noundef %432) #11
  %434 = call i32 @isatty(i32 noundef %433) #11
  %435 = icmp ne i32 %434, 0
  br i1 %435, label %436, label %453

436:                                              ; preds = %431
  %437 = load i32, ptr %8, align 4, !tbaa !5
  %438 = call ptr @__errno_location() #12
  store i32 %437, ptr %438, align 4, !tbaa !5
  %439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %440 = load i32, ptr @test_count, align 4, !tbaa !5
  %441 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %442 = load i32, ptr %441, align 4, !tbaa !5
  %443 = call ptr @s2n_strerror(i32 noundef %442, ptr noundef @.str.4)
  %444 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %445 = load i32, ptr %444, align 4, !tbaa !5
  %446 = call ptr @s2n_strerror_debug(i32 noundef %445, ptr noundef @.str.4)
  %447 = call ptr @__errno_location() #12
  %448 = load i32, ptr %447, align 4, !tbaa !5
  %449 = call ptr @strerror(i32 noundef %448) #11
  %450 = call ptr @__errno_location() #12
  %451 = load i32, ptr %450, align 4, !tbaa !5
  %452 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %439, ptr noundef @.str.2, i32 noundef %440, ptr noundef @.str.7, ptr noundef @.str.1, i32 noundef 54, ptr noundef %443, ptr noundef %446, ptr noundef %449, i32 noundef %451) #11
  br label %470

453:                                              ; preds = %431, %424
  %454 = load i32, ptr %8, align 4, !tbaa !5
  %455 = call ptr @__errno_location() #12
  store i32 %454, ptr %455, align 4, !tbaa !5
  %456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %457 = load i32, ptr @test_count, align 4, !tbaa !5
  %458 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %459 = load i32, ptr %458, align 4, !tbaa !5
  %460 = call ptr @s2n_strerror(i32 noundef %459, ptr noundef @.str.4)
  %461 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %462 = load i32, ptr %461, align 4, !tbaa !5
  %463 = call ptr @s2n_strerror_debug(i32 noundef %462, ptr noundef @.str.4)
  %464 = call ptr @__errno_location() #12
  %465 = load i32, ptr %464, align 4, !tbaa !5
  %466 = call ptr @strerror(i32 noundef %465) #11
  %467 = call ptr @__errno_location() #12
  %468 = load i32, ptr %467, align 4, !tbaa !5
  %469 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %456, ptr noundef @.str.5, i32 noundef %457, ptr noundef @.str.7, ptr noundef @.str.1, i32 noundef 54, ptr noundef %460, ptr noundef %463, ptr noundef %466, i32 noundef %468) #11
  br label %470

470:                                              ; preds = %453, %436
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #11
  br label %471

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

472:                                              ; No predecessors!
  br label %473

473:                                              ; preds = %472, %419
  br label %474

474:                                              ; preds = %473
  br label %475

475:                                              ; preds = %474
  call void @llvm.lifetime.start.p0(i64 8, ptr %9) #11
  store ptr null, ptr %9, align 8, !tbaa !9
  br label %476

476:                                              ; preds = %475
  %477 = load i32, ptr @test_count, align 4, !tbaa !5
  %478 = add nsw i32 %477, 1
  store i32 %478, ptr @test_count, align 4, !tbaa !5
  %479 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef %9, ptr noundef @.str.8, ptr noundef @.str.9)
  %480 = icmp eq i32 %479, -1
  br i1 %480, label %481, label %534

481:                                              ; preds = %476
  br label %482

482:                                              ; preds = %481
  br label %483

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

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

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

512:                                              ; preds = %490, %483
  %513 = load i32, ptr %10, align 4, !tbaa !5
  %514 = call ptr @__errno_location() #12
  store i32 %513, ptr %514, align 4, !tbaa !5
  %515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %516 = load i32, ptr @test_count, align 4, !tbaa !5
  %517 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %518 = load i32, ptr %517, align 4, !tbaa !5
  %519 = call ptr @s2n_strerror(i32 noundef %518, ptr noundef @.str.4)
  %520 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %521 = load i32, ptr %520, align 4, !tbaa !5
  %522 = call ptr @s2n_strerror_debug(i32 noundef %521, ptr noundef @.str.4)
  %523 = call ptr @__errno_location() #12
  %524 = load i32, ptr %523, align 4, !tbaa !5
  %525 = call ptr @strerror(i32 noundef %524) #11
  %526 = call ptr @__errno_location() #12
  %527 = load i32, ptr %526, align 4, !tbaa !5
  %528 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %515, ptr noundef @.str.5, i32 noundef %516, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 58, ptr noundef %519, ptr noundef %522, ptr noundef %525, i32 noundef %527) #11
  br label %529

529:                                              ; preds = %512, %495
  call void @llvm.lifetime.end.p0(i64 4, ptr %10) #11
  br label %530

530:                                              ; preds = %529
  br label %531

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

532:                                              ; No predecessors!
  br label %533

533:                                              ; preds = %532
  br label %534

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

535:                                              ; preds = %534
  br label %536

536:                                              ; preds = %535
  call void @llvm.lifetime.start.p0(i64 8, ptr %11) #11
  %537 = call ptr @s2n_config_new()
  store ptr %537, ptr %11, align 8, !tbaa !9
  br label %538

538:                                              ; preds = %536
  %539 = load i32, ptr @test_count, align 4, !tbaa !5
  %540 = add nsw i32 %539, 1
  store i32 %540, ptr @test_count, align 4, !tbaa !5
  %541 = load ptr, ptr %11, align 8, !tbaa !9
  %542 = icmp eq ptr %541, null
  br i1 %542, label %543, label %596

543:                                              ; preds = %538
  br label %544

544:                                              ; preds = %543
  br label %545

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

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

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

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

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

592:                                              ; preds = %591
  br label %593

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

594:                                              ; No predecessors!
  br label %595

595:                                              ; preds = %594
  br label %596

596:                                              ; preds = %595, %538
  br label %597

597:                                              ; preds = %596
  br label %598

598:                                              ; preds = %597
  br label %599

599:                                              ; preds = %598
  %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 %11, align 8, !tbaa !9
  %603 = call i32 @s2n_config_set_unsafe_for_testing(ptr noundef %602)
  %604 = icmp eq i32 %603, -1
  br i1 %604, label %605, label %658

605:                                              ; preds = %599
  br label %606

606:                                              ; preds = %605
  br label %607

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

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

619:                                              ; preds = %614
  %620 = load i32, ptr %13, align 4, !tbaa !5
  %621 = call ptr @__errno_location() #12
  store i32 %620, ptr %621, align 4, !tbaa !5
  %622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %623 = load i32, ptr @test_count, align 4, !tbaa !5
  %624 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %625 = load i32, ptr %624, align 4, !tbaa !5
  %626 = call ptr @s2n_strerror(i32 noundef %625, ptr noundef @.str.4)
  %627 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %628 = load i32, ptr %627, align 4, !tbaa !5
  %629 = call ptr @s2n_strerror_debug(i32 noundef %628, ptr noundef @.str.4)
  %630 = call ptr @__errno_location() #12
  %631 = load i32, ptr %630, align 4, !tbaa !5
  %632 = call ptr @strerror(i32 noundef %631) #11
  %633 = call ptr @__errno_location() #12
  %634 = load i32, ptr %633, align 4, !tbaa !5
  %635 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %622, ptr noundef @.str.2, i32 noundef %623, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 62, ptr noundef %626, ptr noundef %629, ptr noundef %632, i32 noundef %634) #11
  br label %653

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

653:                                              ; preds = %636, %619
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #11
  br label %654

654:                                              ; preds = %653
  br label %655

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

656:                                              ; No predecessors!
  br label %657

657:                                              ; preds = %656
  br label %658

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

659:                                              ; preds = %658
  br label %660

660:                                              ; preds = %659
  br label %661

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

668:                                              ; preds = %661
  br label %669

669:                                              ; preds = %668
  br label %670

670:                                              ; preds = %669
  call void @llvm.lifetime.start.p0(i64 4, ptr %14) #11
  %671 = call ptr @__errno_location() #12
  %672 = load i32, ptr %671, align 4, !tbaa !5
  store i32 %672, ptr %14, 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 %14, 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 63, ptr noundef %689, ptr noundef %692, ptr noundef %695, i32 noundef %697) #11
  br label %716

699:                                              ; preds = %677, %670
  %700 = load i32, ptr %14, 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 63, 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 %14) #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, %661
  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 %11, align 8, !tbaa !9
  %728 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %727, ptr noundef @.str.14)
  %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 %15) #11
  %733 = call ptr @__errno_location() #12
  %734 = load i32, ptr %733, align 4, !tbaa !5
  store i32 %734, ptr %15, 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 %15, 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.15, ptr noundef @.str.1, i32 noundef 64, ptr noundef %751, ptr noundef %754, ptr noundef %757, i32 noundef %759) #11
  br label %778

761:                                              ; preds = %739, %732
  %762 = load i32, ptr %15, 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.15, ptr noundef @.str.1, i32 noundef 64, 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 %15) #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 22, ptr %16) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %16, ptr align 16 @__const.main.app_data, i64 22, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %17) #11
  store i32 0, ptr %17, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %18) #11
  %786 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %786, ptr %18, 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 %18, align 8, !tbaa !9
  %791 = icmp eq ptr %790, null
  br i1 %791, label %792, label %845

792:                                              ; preds = %787
  br label %793

793:                                              ; preds = %792
  br label %794

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

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

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

823:                                              ; preds = %801, %794
  %824 = load i32, ptr %19, align 4, !tbaa !5
  %825 = call ptr @__errno_location() #12
  store i32 %824, ptr %825, align 4, !tbaa !5
  %826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %827 = load i32, ptr @test_count, align 4, !tbaa !5
  %828 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %829 = load i32, ptr %828, align 4, !tbaa !5
  %830 = call ptr @s2n_strerror(i32 noundef %829, ptr noundef @.str.4)
  %831 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %832 = load i32, ptr %831, align 4, !tbaa !5
  %833 = call ptr @s2n_strerror_debug(i32 noundef %832, ptr noundef @.str.4)
  %834 = call ptr @__errno_location() #12
  %835 = load i32, ptr %834, align 4, !tbaa !5
  %836 = call ptr @strerror(i32 noundef %835) #11
  %837 = call ptr @__errno_location() #12
  %838 = load i32, ptr %837, align 4, !tbaa !5
  %839 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %826, ptr noundef @.str.5, i32 noundef %827, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 73, ptr noundef %830, ptr noundef %833, ptr noundef %836, i32 noundef %838) #11
  br label %840

840:                                              ; preds = %823, %806
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #11
  br label %841

841:                                              ; preds = %840
  br label %842

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

843:                                              ; No predecessors!
  br label %844

844:                                              ; preds = %843
  br label %845

845:                                              ; preds = %844, %787
  br label %846

846:                                              ; preds = %845
  br label %847

847:                                              ; preds = %846
  br label %848

848:                                              ; preds = %847
  %849 = load i32, ptr @test_count, align 4, !tbaa !5
  %850 = add nsw i32 %849, 1
  store i32 %850, ptr @test_count, align 4, !tbaa !5
  %851 = load ptr, ptr %18, align 8, !tbaa !9
  %852 = load ptr, ptr %11, align 8, !tbaa !9
  %853 = call i32 @s2n_connection_set_config(ptr noundef %851, ptr noundef %852)
  %854 = icmp eq i32 %853, -1
  br i1 %854, label %855, label %908

855:                                              ; preds = %848
  br label %856

856:                                              ; preds = %855
  br label %857

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

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

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

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

903:                                              ; preds = %886, %869
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #11
  br label %904

904:                                              ; preds = %903
  br label %905

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

906:                                              ; No predecessors!
  br label %907

907:                                              ; preds = %906
  br label %908

908:                                              ; preds = %907, %848
  br label %909

909:                                              ; preds = %908
  br label %910

910:                                              ; preds = %909
  call void @llvm.lifetime.start.p0(i64 8, ptr %21) #11
  %911 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %911, ptr %21, align 8, !tbaa !9
  br label %912

912:                                              ; preds = %910
  %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 %21, align 8, !tbaa !9
  %916 = icmp eq ptr %915, null
  br i1 %916, label %917, label %970

917:                                              ; preds = %912
  br label %918

918:                                              ; preds = %917
  br label %919

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

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

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

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

965:                                              ; preds = %948, %931
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #11
  br label %966

966:                                              ; preds = %965
  br label %967

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

968:                                              ; No predecessors!
  br label %969

969:                                              ; preds = %968
  br label %970

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

971:                                              ; preds = %970
  br label %972

972:                                              ; preds = %971
  br label %973

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

980:                                              ; preds = %973
  br label %981

981:                                              ; preds = %980
  br label %982

982:                                              ; preds = %981
  call void @llvm.lifetime.start.p0(i64 4, ptr %23) #11
  %983 = call ptr @__errno_location() #12
  %984 = load i32, ptr %983, align 4, !tbaa !5
  store i32 %984, ptr %23, 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 %23, 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.19, ptr noundef @.str.1, i32 noundef 78, ptr noundef %1001, ptr noundef %1004, ptr noundef %1007, i32 noundef %1009) #11
  br label %1028

1011:                                             ; preds = %989, %982
  %1012 = load i32, ptr %23, 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.19, ptr noundef @.str.1, i32 noundef 78, 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 %23) #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, %973
  br label %1034

1034:                                             ; preds = %1033
  br label %1035

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

1036:                                             ; preds = %1035
  %1037 = load i32, ptr @test_count, align 4, !tbaa !5
  %1038 = add nsw i32 %1037, 1
  store i32 %1038, ptr @test_count, align 4, !tbaa !5
  %1039 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %24)
  %1040 = icmp eq i32 %1039, -1
  br i1 %1040, label %1041, label %1094

1041:                                             ; preds = %1036
  br label %1042

1042:                                             ; preds = %1041
  br label %1043

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

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

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

1072:                                             ; preds = %1050, %1043
  %1073 = load i32, ptr %25, align 4, !tbaa !5
  %1074 = call ptr @__errno_location() #12
  store i32 %1073, ptr %1074, align 4, !tbaa !5
  %1075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1076 = load i32, ptr @test_count, align 4, !tbaa !5
  %1077 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1078 = load i32, ptr %1077, align 4, !tbaa !5
  %1079 = call ptr @s2n_strerror(i32 noundef %1078, ptr noundef @.str.4)
  %1080 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1081 = load i32, ptr %1080, align 4, !tbaa !5
  %1082 = call ptr @s2n_strerror_debug(i32 noundef %1081, ptr noundef @.str.4)
  %1083 = call ptr @__errno_location() #12
  %1084 = load i32, ptr %1083, align 4, !tbaa !5
  %1085 = call ptr @strerror(i32 noundef %1084) #11
  %1086 = call ptr @__errno_location() #12
  %1087 = load i32, ptr %1086, align 4, !tbaa !5
  %1088 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1075, ptr noundef @.str.5, i32 noundef %1076, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 81, ptr noundef %1079, ptr noundef %1082, ptr noundef %1085, i32 noundef %1087) #11
  br label %1089

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

1090:                                             ; preds = %1089
  br label %1091

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

1092:                                             ; No predecessors!
  br label %1093

1093:                                             ; preds = %1092
  br label %1094

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

1095:                                             ; preds = %1094
  br label %1096

1096:                                             ; preds = %1095
  br label %1097

1097:                                             ; preds = %1096
  %1098 = load i32, ptr @test_count, align 4, !tbaa !5
  %1099 = add nsw i32 %1098, 1
  store i32 %1099, ptr @test_count, align 4, !tbaa !5
  %1100 = load ptr, ptr %21, align 8, !tbaa !9
  %1101 = load ptr, ptr %18, align 8, !tbaa !9
  %1102 = call i32 @s2n_connections_set_io_pair(ptr noundef %1100, ptr noundef %1101, ptr noundef %24)
  %1103 = icmp eq i32 %1102, -1
  br i1 %1103, label %1104, label %1157

1104:                                             ; preds = %1097
  br label %1105

1105:                                             ; preds = %1104
  br label %1106

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

1113:                                             ; preds = %1106
  %1114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1115 = call i32 @fileno(ptr noundef %1114) #11
  %1116 = call i32 @isatty(i32 noundef %1115) #11
  %1117 = icmp ne i32 %1116, 0
  br i1 %1117, label %1118, label %1135

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

1135:                                             ; preds = %1113, %1106
  %1136 = load i32, ptr %26, align 4, !tbaa !5
  %1137 = call ptr @__errno_location() #12
  store i32 %1136, ptr %1137, align 4, !tbaa !5
  %1138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1139 = load i32, ptr @test_count, align 4, !tbaa !5
  %1140 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1141 = load i32, ptr %1140, align 4, !tbaa !5
  %1142 = call ptr @s2n_strerror(i32 noundef %1141, ptr noundef @.str.4)
  %1143 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1144 = load i32, ptr %1143, align 4, !tbaa !5
  %1145 = call ptr @s2n_strerror_debug(i32 noundef %1144, ptr noundef @.str.4)
  %1146 = call ptr @__errno_location() #12
  %1147 = load i32, ptr %1146, align 4, !tbaa !5
  %1148 = call ptr @strerror(i32 noundef %1147) #11
  %1149 = call ptr @__errno_location() #12
  %1150 = load i32, ptr %1149, align 4, !tbaa !5
  %1151 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1138, ptr noundef @.str.5, i32 noundef %1139, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 82, ptr noundef %1142, ptr noundef %1145, ptr noundef %1148, i32 noundef %1150) #11
  br label %1152

1152:                                             ; preds = %1135, %1118
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #11
  br label %1153

1153:                                             ; preds = %1152
  br label %1154

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

1155:                                             ; No predecessors!
  br label %1156

1156:                                             ; preds = %1155
  br label %1157

1157:                                             ; preds = %1156, %1097
  br label %1158

1158:                                             ; preds = %1157
  br label %1159

1159:                                             ; preds = %1158
  br label %1160

1160:                                             ; preds = %1159
  %1161 = load i32, ptr @test_count, align 4, !tbaa !5
  %1162 = add nsw i32 %1161, 1
  store i32 %1162, ptr @test_count, align 4, !tbaa !5
  %1163 = load ptr, ptr %18, align 8, !tbaa !9
  %1164 = load ptr, ptr %21, align 8, !tbaa !9
  %1165 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %1163, ptr noundef %1164)
  %1166 = icmp eq i32 %1165, -1
  br i1 %1166, label %1167, label %1220

1167:                                             ; preds = %1160
  br label %1168

1168:                                             ; preds = %1167
  br label %1169

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

1176:                                             ; preds = %1169
  %1177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1178 = call i32 @fileno(ptr noundef %1177) #11
  %1179 = call i32 @isatty(i32 noundef %1178) #11
  %1180 = icmp ne i32 %1179, 0
  br i1 %1180, label %1181, label %1198

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

1198:                                             ; preds = %1176, %1169
  %1199 = load i32, ptr %27, align 4, !tbaa !5
  %1200 = call ptr @__errno_location() #12
  store i32 %1199, ptr %1200, align 4, !tbaa !5
  %1201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1202 = load i32, ptr @test_count, align 4, !tbaa !5
  %1203 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1204 = load i32, ptr %1203, align 4, !tbaa !5
  %1205 = call ptr @s2n_strerror(i32 noundef %1204, ptr noundef @.str.4)
  %1206 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1207 = load i32, ptr %1206, align 4, !tbaa !5
  %1208 = call ptr @s2n_strerror_debug(i32 noundef %1207, ptr noundef @.str.4)
  %1209 = call ptr @__errno_location() #12
  %1210 = load i32, ptr %1209, align 4, !tbaa !5
  %1211 = call ptr @strerror(i32 noundef %1210) #11
  %1212 = call ptr @__errno_location() #12
  %1213 = load i32, ptr %1212, align 4, !tbaa !5
  %1214 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1201, ptr noundef @.str.5, i32 noundef %1202, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 85, ptr noundef %1205, ptr noundef %1208, ptr noundef %1211, i32 noundef %1213) #11
  br label %1215

1215:                                             ; preds = %1198, %1181
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #11
  br label %1216

1216:                                             ; preds = %1215
  br label %1217

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

1218:                                             ; No predecessors!
  br label %1219

1219:                                             ; preds = %1218
  br label %1220

1220:                                             ; preds = %1219, %1160
  br label %1221

1221:                                             ; preds = %1220
  br label %1222

1222:                                             ; preds = %1221
  br label %1223

1223:                                             ; preds = %1222
  %1224 = load i32, ptr @test_count, align 4, !tbaa !5
  %1225 = add nsw i32 %1224, 1
  store i32 %1225, ptr @test_count, align 4, !tbaa !5
  %1226 = load ptr, ptr %21, align 8, !tbaa !9
  %1227 = call i32 @s2n_renegotiate_wipe(ptr noundef %1226)
  %1228 = icmp eq i32 %1227, -1
  br i1 %1228, label %1229, label %1282

1229:                                             ; preds = %1223
  br label %1230

1230:                                             ; preds = %1229
  br label %1231

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

1238:                                             ; preds = %1231
  %1239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1240 = call i32 @fileno(ptr noundef %1239) #11
  %1241 = call i32 @isatty(i32 noundef %1240) #11
  %1242 = icmp ne i32 %1241, 0
  br i1 %1242, label %1243, label %1260

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

1260:                                             ; preds = %1238, %1231
  %1261 = load i32, ptr %28, align 4, !tbaa !5
  %1262 = call ptr @__errno_location() #12
  store i32 %1261, ptr %1262, align 4, !tbaa !5
  %1263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1264 = load i32, ptr @test_count, align 4, !tbaa !5
  %1265 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1266 = load i32, ptr %1265, align 4, !tbaa !5
  %1267 = call ptr @s2n_strerror(i32 noundef %1266, ptr noundef @.str.4)
  %1268 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1269 = load i32, ptr %1268, align 4, !tbaa !5
  %1270 = call ptr @s2n_strerror_debug(i32 noundef %1269, ptr noundef @.str.4)
  %1271 = call ptr @__errno_location() #12
  %1272 = load i32, ptr %1271, align 4, !tbaa !5
  %1273 = call ptr @strerror(i32 noundef %1272) #11
  %1274 = call ptr @__errno_location() #12
  %1275 = load i32, ptr %1274, align 4, !tbaa !5
  %1276 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1263, ptr noundef @.str.5, i32 noundef %1264, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 86, ptr noundef %1267, ptr noundef %1270, ptr noundef %1273, i32 noundef %1275) #11
  br label %1277

1277:                                             ; preds = %1260, %1243
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #11
  br label %1278

1278:                                             ; preds = %1277
  br label %1279

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

1280:                                             ; No predecessors!
  br label %1281

1281:                                             ; preds = %1280
  br label %1282

1282:                                             ; preds = %1281, %1223
  br label %1283

1283:                                             ; preds = %1282
  br label %1284

1284:                                             ; preds = %1283
  br label %1285

1285:                                             ; preds = %1284
  %1286 = load i32, ptr @test_count, align 4, !tbaa !5
  %1287 = add nsw i32 %1286, 1
  store i32 %1287, ptr @test_count, align 4, !tbaa !5
  %1288 = load ptr, ptr %18, align 8, !tbaa !9
  %1289 = call i32 @s2n_renegotiate_wipe(ptr noundef %1288)
  %1290 = icmp eq i32 %1289, -1
  br i1 %1290, label %1291, label %1344

1291:                                             ; preds = %1285
  br label %1292

1292:                                             ; preds = %1291
  br label %1293

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

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

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

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

1339:                                             ; preds = %1322, %1305
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #11
  br label %1340

1340:                                             ; preds = %1339
  br label %1341

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

1342:                                             ; No predecessors!
  br label %1343

1343:                                             ; preds = %1342
  br label %1344

1344:                                             ; preds = %1343, %1285
  br label %1345

1345:                                             ; preds = %1344
  br label %1346

1346:                                             ; preds = %1345
  br label %1347

1347:                                             ; preds = %1346
  %1348 = load i32, ptr @test_count, align 4, !tbaa !5
  %1349 = add nsw i32 %1348, 1
  store i32 %1349, ptr @test_count, align 4, !tbaa !5
  %1350 = load ptr, ptr %18, align 8, !tbaa !9
  %1351 = load ptr, ptr %21, align 8, !tbaa !9
  %1352 = call i32 @s2n_renegotiate_test_server_and_client(ptr noundef %1350, ptr noundef %1351)
  %1353 = getelementptr inbounds %struct.s2n_result, ptr %30, i32 0, i32 0
  store i32 %1352, ptr %1353, align 4
  %1354 = getelementptr inbounds %struct.s2n_result, ptr %30, i32 0, i32 0
  %1355 = load i32, ptr %1354, align 4
  %1356 = call zeroext i1 @s2n_result_is_ok(i32 %1355)
  br i1 %1356, label %1410, label %1357

1357:                                             ; preds = %1347
  br label %1358

1358:                                             ; preds = %1357
  br label %1359

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

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

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

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

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

1406:                                             ; preds = %1405
  br label %1407

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

1408:                                             ; No predecessors!
  br label %1409

1409:                                             ; preds = %1408
  br label %1410

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

1411:                                             ; preds = %1410
  br label %1412

1412:                                             ; preds = %1411
  %1413 = call i32 @s2n_io_pair_close(ptr noundef %24)
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #11
  %1414 = call i32 @s2n_connection_ptr_free(ptr noundef %21)
  %1415 = getelementptr inbounds %struct.s2n_result, ptr %32, i32 0, i32 0
  store i32 %1414, ptr %1415, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #11
  %1416 = call i32 @s2n_connection_ptr_free(ptr noundef %18)
  %1417 = getelementptr inbounds %struct.s2n_result, ptr %33, i32 0, i32 0
  store i32 %1416, ptr %1417, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %34) #11
  %1418 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %1418, ptr %34, align 8, !tbaa !9
  br label %1419

1419:                                             ; preds = %1412
  %1420 = load i32, ptr @test_count, align 4, !tbaa !5
  %1421 = add nsw i32 %1420, 1
  store i32 %1421, ptr @test_count, align 4, !tbaa !5
  %1422 = load ptr, ptr %34, align 8, !tbaa !9
  %1423 = icmp eq ptr %1422, null
  br i1 %1423, label %1424, label %1477

1424:                                             ; preds = %1419
  br label %1425

1425:                                             ; preds = %1424
  br label %1426

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

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

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

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

1472:                                             ; preds = %1455, %1438
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #11
  br label %1473

1473:                                             ; preds = %1472
  br label %1474

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

1475:                                             ; No predecessors!
  br label %1476

1476:                                             ; preds = %1475
  br label %1477

1477:                                             ; preds = %1476, %1419
  br label %1478

1478:                                             ; preds = %1477
  br label %1479

1479:                                             ; preds = %1478
  br label %1480

1480:                                             ; preds = %1479
  %1481 = load i32, ptr @test_count, align 4, !tbaa !5
  %1482 = add nsw i32 %1481, 1
  store i32 %1482, ptr @test_count, align 4, !tbaa !5
  %1483 = load ptr, ptr %34, align 8, !tbaa !9
  %1484 = load ptr, ptr %11, align 8, !tbaa !9
  %1485 = call i32 @s2n_connection_set_config(ptr noundef %1483, ptr noundef %1484)
  %1486 = icmp eq i32 %1485, -1
  br i1 %1486, label %1487, label %1540

1487:                                             ; preds = %1480
  br label %1488

1488:                                             ; preds = %1487
  br label %1489

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

1496:                                             ; preds = %1489
  %1497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1498 = call i32 @fileno(ptr noundef %1497) #11
  %1499 = call i32 @isatty(i32 noundef %1498) #11
  %1500 = icmp ne i32 %1499, 0
  br i1 %1500, label %1501, label %1518

1501:                                             ; preds = %1496
  %1502 = load i32, ptr %36, align 4, !tbaa !5
  %1503 = call ptr @__errno_location() #12
  store i32 %1502, ptr %1503, align 4, !tbaa !5
  %1504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1505 = load i32, ptr @test_count, align 4, !tbaa !5
  %1506 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1507 = load i32, ptr %1506, align 4, !tbaa !5
  %1508 = call ptr @s2n_strerror(i32 noundef %1507, ptr noundef @.str.4)
  %1509 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1510 = load i32, ptr %1509, align 4, !tbaa !5
  %1511 = call ptr @s2n_strerror_debug(i32 noundef %1510, ptr noundef @.str.4)
  %1512 = call ptr @__errno_location() #12
  %1513 = load i32, ptr %1512, align 4, !tbaa !5
  %1514 = call ptr @strerror(i32 noundef %1513) #11
  %1515 = call ptr @__errno_location() #12
  %1516 = load i32, ptr %1515, align 4, !tbaa !5
  %1517 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1504, ptr noundef @.str.2, i32 noundef %1505, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 97, ptr noundef %1508, ptr noundef %1511, ptr noundef %1514, i32 noundef %1516) #11
  br label %1535

1518:                                             ; preds = %1496, %1489
  %1519 = load i32, ptr %36, align 4, !tbaa !5
  %1520 = call ptr @__errno_location() #12
  store i32 %1519, ptr %1520, align 4, !tbaa !5
  %1521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1522 = load i32, ptr @test_count, align 4, !tbaa !5
  %1523 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1524 = load i32, ptr %1523, align 4, !tbaa !5
  %1525 = call ptr @s2n_strerror(i32 noundef %1524, ptr noundef @.str.4)
  %1526 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1527 = load i32, ptr %1526, align 4, !tbaa !5
  %1528 = call ptr @s2n_strerror_debug(i32 noundef %1527, ptr noundef @.str.4)
  %1529 = call ptr @__errno_location() #12
  %1530 = load i32, ptr %1529, align 4, !tbaa !5
  %1531 = call ptr @strerror(i32 noundef %1530) #11
  %1532 = call ptr @__errno_location() #12
  %1533 = load i32, ptr %1532, align 4, !tbaa !5
  %1534 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1521, ptr noundef @.str.5, i32 noundef %1522, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 97, ptr noundef %1525, ptr noundef %1528, ptr noundef %1531, i32 noundef %1533) #11
  br label %1535

1535:                                             ; preds = %1518, %1501
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #11
  br label %1536

1536:                                             ; preds = %1535
  br label %1537

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

1538:                                             ; No predecessors!
  br label %1539

1539:                                             ; preds = %1538
  br label %1540

1540:                                             ; preds = %1539, %1480
  br label %1541

1541:                                             ; preds = %1540
  br label %1542

1542:                                             ; preds = %1541
  call void @llvm.lifetime.start.p0(i64 8, ptr %37) #11
  %1543 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %1543, ptr %37, align 8, !tbaa !9
  br label %1544

1544:                                             ; preds = %1542
  %1545 = load i32, ptr @test_count, align 4, !tbaa !5
  %1546 = add nsw i32 %1545, 1
  store i32 %1546, ptr @test_count, align 4, !tbaa !5
  %1547 = load ptr, ptr %37, align 8, !tbaa !9
  %1548 = icmp eq ptr %1547, null
  br i1 %1548, label %1549, label %1602

1549:                                             ; preds = %1544
  br label %1550

1550:                                             ; preds = %1549
  br label %1551

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

1558:                                             ; preds = %1551
  %1559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1560 = call i32 @fileno(ptr noundef %1559) #11
  %1561 = call i32 @isatty(i32 noundef %1560) #11
  %1562 = icmp ne i32 %1561, 0
  br i1 %1562, label %1563, label %1580

1563:                                             ; preds = %1558
  %1564 = load i32, ptr %38, align 4, !tbaa !5
  %1565 = call ptr @__errno_location() #12
  store i32 %1564, ptr %1565, align 4, !tbaa !5
  %1566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1567 = load i32, ptr @test_count, align 4, !tbaa !5
  %1568 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1569 = load i32, ptr %1568, align 4, !tbaa !5
  %1570 = call ptr @s2n_strerror(i32 noundef %1569, ptr noundef @.str.4)
  %1571 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1572 = load i32, ptr %1571, align 4, !tbaa !5
  %1573 = call ptr @s2n_strerror_debug(i32 noundef %1572, ptr noundef @.str.4)
  %1574 = call ptr @__errno_location() #12
  %1575 = load i32, ptr %1574, align 4, !tbaa !5
  %1576 = call ptr @strerror(i32 noundef %1575) #11
  %1577 = call ptr @__errno_location() #12
  %1578 = load i32, ptr %1577, align 4, !tbaa !5
  %1579 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1566, ptr noundef @.str.2, i32 noundef %1567, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 100, ptr noundef %1570, ptr noundef %1573, ptr noundef %1576, i32 noundef %1578) #11
  br label %1597

1580:                                             ; preds = %1558, %1551
  %1581 = load i32, ptr %38, align 4, !tbaa !5
  %1582 = call ptr @__errno_location() #12
  store i32 %1581, ptr %1582, align 4, !tbaa !5
  %1583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1584 = load i32, ptr @test_count, align 4, !tbaa !5
  %1585 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1586 = load i32, ptr %1585, align 4, !tbaa !5
  %1587 = call ptr @s2n_strerror(i32 noundef %1586, ptr noundef @.str.4)
  %1588 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1589 = load i32, ptr %1588, align 4, !tbaa !5
  %1590 = call ptr @s2n_strerror_debug(i32 noundef %1589, ptr noundef @.str.4)
  %1591 = call ptr @__errno_location() #12
  %1592 = load i32, ptr %1591, align 4, !tbaa !5
  %1593 = call ptr @strerror(i32 noundef %1592) #11
  %1594 = call ptr @__errno_location() #12
  %1595 = load i32, ptr %1594, align 4, !tbaa !5
  %1596 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1583, ptr noundef @.str.5, i32 noundef %1584, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 100, ptr noundef %1587, ptr noundef %1590, ptr noundef %1593, i32 noundef %1595) #11
  br label %1597

1597:                                             ; preds = %1580, %1563
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #11
  br label %1598

1598:                                             ; preds = %1597
  br label %1599

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

1600:                                             ; No predecessors!
  br label %1601

1601:                                             ; preds = %1600
  br label %1602

1602:                                             ; preds = %1601, %1544
  br label %1603

1603:                                             ; preds = %1602
  br label %1604

1604:                                             ; preds = %1603
  br label %1605

1605:                                             ; preds = %1604
  %1606 = load i32, ptr @test_count, align 4, !tbaa !5
  %1607 = add nsw i32 %1606, 1
  store i32 %1607, ptr @test_count, align 4, !tbaa !5
  %1608 = load ptr, ptr %37, align 8, !tbaa !9
  %1609 = load ptr, ptr %11, align 8, !tbaa !9
  %1610 = call i32 @s2n_connection_set_config(ptr noundef %1608, ptr noundef %1609)
  %1611 = icmp eq i32 %1610, -1
  br i1 %1611, label %1612, label %1665

1612:                                             ; preds = %1605
  br label %1613

1613:                                             ; preds = %1612
  br label %1614

1614:                                             ; preds = %1613
  call void @llvm.lifetime.start.p0(i64 4, ptr %39) #11
  %1615 = call ptr @__errno_location() #12
  %1616 = load i32, ptr %1615, align 4, !tbaa !5
  store i32 %1616, ptr %39, align 4, !tbaa !5
  %1617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1618 = call i32 @s2n_print_stacktrace(ptr noundef %1617)
  %1619 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1620 = trunc i8 %1619 to i1
  br i1 %1620, label %1621, label %1643

1621:                                             ; preds = %1614
  %1622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1623 = call i32 @fileno(ptr noundef %1622) #11
  %1624 = call i32 @isatty(i32 noundef %1623) #11
  %1625 = icmp ne i32 %1624, 0
  br i1 %1625, label %1626, label %1643

1626:                                             ; preds = %1621
  %1627 = load i32, ptr %39, align 4, !tbaa !5
  %1628 = call ptr @__errno_location() #12
  store i32 %1627, ptr %1628, align 4, !tbaa !5
  %1629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1630 = load i32, ptr @test_count, align 4, !tbaa !5
  %1631 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1632 = load i32, ptr %1631, align 4, !tbaa !5
  %1633 = call ptr @s2n_strerror(i32 noundef %1632, ptr noundef @.str.4)
  %1634 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1635 = load i32, ptr %1634, align 4, !tbaa !5
  %1636 = call ptr @s2n_strerror_debug(i32 noundef %1635, ptr noundef @.str.4)
  %1637 = call ptr @__errno_location() #12
  %1638 = load i32, ptr %1637, align 4, !tbaa !5
  %1639 = call ptr @strerror(i32 noundef %1638) #11
  %1640 = call ptr @__errno_location() #12
  %1641 = load i32, ptr %1640, align 4, !tbaa !5
  %1642 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1629, ptr noundef @.str.2, i32 noundef %1630, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 101, ptr noundef %1633, ptr noundef %1636, ptr noundef %1639, i32 noundef %1641) #11
  br label %1660

1643:                                             ; preds = %1621, %1614
  %1644 = load i32, ptr %39, align 4, !tbaa !5
  %1645 = call ptr @__errno_location() #12
  store i32 %1644, ptr %1645, align 4, !tbaa !5
  %1646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1647 = load i32, ptr @test_count, align 4, !tbaa !5
  %1648 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1649 = load i32, ptr %1648, align 4, !tbaa !5
  %1650 = call ptr @s2n_strerror(i32 noundef %1649, ptr noundef @.str.4)
  %1651 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1652 = load i32, ptr %1651, align 4, !tbaa !5
  %1653 = call ptr @s2n_strerror_debug(i32 noundef %1652, ptr noundef @.str.4)
  %1654 = call ptr @__errno_location() #12
  %1655 = load i32, ptr %1654, align 4, !tbaa !5
  %1656 = call ptr @strerror(i32 noundef %1655) #11
  %1657 = call ptr @__errno_location() #12
  %1658 = load i32, ptr %1657, align 4, !tbaa !5
  %1659 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1646, ptr noundef @.str.5, i32 noundef %1647, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 101, ptr noundef %1650, ptr noundef %1653, ptr noundef %1656, i32 noundef %1658) #11
  br label %1660

1660:                                             ; preds = %1643, %1626
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #11
  br label %1661

1661:                                             ; preds = %1660
  br label %1662

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

1663:                                             ; No predecessors!
  br label %1664

1664:                                             ; preds = %1663
  br label %1665

1665:                                             ; preds = %1664, %1605
  br label %1666

1666:                                             ; preds = %1665
  br label %1667

1667:                                             ; preds = %1666
  call void @llvm.lifetime.start.p0(i64 8, ptr %40) #11
  call void @llvm.memset.p0.i64(ptr align 4 %40, i8 0, i64 8, i1 false)
  br label %1668

1668:                                             ; preds = %1667
  %1669 = load i32, ptr @test_count, align 4, !tbaa !5
  %1670 = add nsw i32 %1669, 1
  store i32 %1670, ptr @test_count, align 4, !tbaa !5
  %1671 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %40)
  %1672 = icmp eq i32 %1671, -1
  br i1 %1672, label %1673, label %1726

1673:                                             ; preds = %1668
  br label %1674

1674:                                             ; preds = %1673
  br label %1675

1675:                                             ; preds = %1674
  call void @llvm.lifetime.start.p0(i64 4, ptr %41) #11
  %1676 = call ptr @__errno_location() #12
  %1677 = load i32, ptr %1676, align 4, !tbaa !5
  store i32 %1677, ptr %41, align 4, !tbaa !5
  %1678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1679 = call i32 @s2n_print_stacktrace(ptr noundef %1678)
  %1680 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1681 = trunc i8 %1680 to i1
  br i1 %1681, label %1682, label %1704

1682:                                             ; preds = %1675
  %1683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1684 = call i32 @fileno(ptr noundef %1683) #11
  %1685 = call i32 @isatty(i32 noundef %1684) #11
  %1686 = icmp ne i32 %1685, 0
  br i1 %1686, label %1687, label %1704

1687:                                             ; preds = %1682
  %1688 = load i32, ptr %41, align 4, !tbaa !5
  %1689 = call ptr @__errno_location() #12
  store i32 %1688, ptr %1689, align 4, !tbaa !5
  %1690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1691 = load i32, ptr @test_count, align 4, !tbaa !5
  %1692 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1693 = load i32, ptr %1692, align 4, !tbaa !5
  %1694 = call ptr @s2n_strerror(i32 noundef %1693, ptr noundef @.str.4)
  %1695 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1696 = load i32, ptr %1695, align 4, !tbaa !5
  %1697 = call ptr @s2n_strerror_debug(i32 noundef %1696, ptr noundef @.str.4)
  %1698 = call ptr @__errno_location() #12
  %1699 = load i32, ptr %1698, align 4, !tbaa !5
  %1700 = call ptr @strerror(i32 noundef %1699) #11
  %1701 = call ptr @__errno_location() #12
  %1702 = load i32, ptr %1701, align 4, !tbaa !5
  %1703 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1690, ptr noundef @.str.2, i32 noundef %1691, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 104, ptr noundef %1694, ptr noundef %1697, ptr noundef %1700, i32 noundef %1702) #11
  br label %1721

1704:                                             ; preds = %1682, %1675
  %1705 = load i32, ptr %41, align 4, !tbaa !5
  %1706 = call ptr @__errno_location() #12
  store i32 %1705, ptr %1706, align 4, !tbaa !5
  %1707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1708 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %1710, ptr noundef @.str.4)
  %1712 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1713 = load i32, ptr %1712, align 4, !tbaa !5
  %1714 = call ptr @s2n_strerror_debug(i32 noundef %1713, ptr noundef @.str.4)
  %1715 = call ptr @__errno_location() #12
  %1716 = load i32, ptr %1715, align 4, !tbaa !5
  %1717 = call ptr @strerror(i32 noundef %1716) #11
  %1718 = call ptr @__errno_location() #12
  %1719 = load i32, ptr %1718, align 4, !tbaa !5
  %1720 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1707, ptr noundef @.str.5, i32 noundef %1708, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 104, ptr noundef %1711, ptr noundef %1714, ptr noundef %1717, i32 noundef %1719) #11
  br label %1721

1721:                                             ; preds = %1704, %1687
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #11
  br label %1722

1722:                                             ; preds = %1721
  br label %1723

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

1724:                                             ; No predecessors!
  br label %1725

1725:                                             ; preds = %1724
  br label %1726

1726:                                             ; preds = %1725, %1668
  br label %1727

1727:                                             ; preds = %1726
  br label %1728

1728:                                             ; preds = %1727
  br label %1729

1729:                                             ; preds = %1728
  %1730 = load i32, ptr @test_count, align 4, !tbaa !5
  %1731 = add nsw i32 %1730, 1
  store i32 %1731, ptr @test_count, align 4, !tbaa !5
  %1732 = load ptr, ptr %37, align 8, !tbaa !9
  %1733 = load ptr, ptr %34, align 8, !tbaa !9
  %1734 = call i32 @s2n_connections_set_io_pair(ptr noundef %1732, ptr noundef %1733, ptr noundef %40)
  %1735 = icmp eq i32 %1734, -1
  br i1 %1735, label %1736, label %1789

1736:                                             ; preds = %1729
  br label %1737

1737:                                             ; preds = %1736
  br label %1738

1738:                                             ; preds = %1737
  call void @llvm.lifetime.start.p0(i64 4, ptr %42) #11
  %1739 = call ptr @__errno_location() #12
  %1740 = load i32, ptr %1739, align 4, !tbaa !5
  store i32 %1740, ptr %42, align 4, !tbaa !5
  %1741 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1742 = call i32 @s2n_print_stacktrace(ptr noundef %1741)
  %1743 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1744 = trunc i8 %1743 to i1
  br i1 %1744, label %1745, label %1767

1745:                                             ; preds = %1738
  %1746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1747 = call i32 @fileno(ptr noundef %1746) #11
  %1748 = call i32 @isatty(i32 noundef %1747) #11
  %1749 = icmp ne i32 %1748, 0
  br i1 %1749, label %1750, label %1767

1750:                                             ; preds = %1745
  %1751 = load i32, ptr %42, align 4, !tbaa !5
  %1752 = call ptr @__errno_location() #12
  store i32 %1751, ptr %1752, align 4, !tbaa !5
  %1753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1754 = load i32, ptr @test_count, align 4, !tbaa !5
  %1755 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1756 = load i32, ptr %1755, align 4, !tbaa !5
  %1757 = call ptr @s2n_strerror(i32 noundef %1756, ptr noundef @.str.4)
  %1758 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1759 = load i32, ptr %1758, align 4, !tbaa !5
  %1760 = call ptr @s2n_strerror_debug(i32 noundef %1759, ptr noundef @.str.4)
  %1761 = call ptr @__errno_location() #12
  %1762 = load i32, ptr %1761, align 4, !tbaa !5
  %1763 = call ptr @strerror(i32 noundef %1762) #11
  %1764 = call ptr @__errno_location() #12
  %1765 = load i32, ptr %1764, align 4, !tbaa !5
  %1766 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1753, ptr noundef @.str.2, i32 noundef %1754, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 105, ptr noundef %1757, ptr noundef %1760, ptr noundef %1763, i32 noundef %1765) #11
  br label %1784

1767:                                             ; preds = %1745, %1738
  %1768 = load i32, ptr %42, align 4, !tbaa !5
  %1769 = call ptr @__errno_location() #12
  store i32 %1768, ptr %1769, align 4, !tbaa !5
  %1770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1771 = load i32, ptr @test_count, align 4, !tbaa !5
  %1772 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1773 = load i32, ptr %1772, align 4, !tbaa !5
  %1774 = call ptr @s2n_strerror(i32 noundef %1773, ptr noundef @.str.4)
  %1775 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1776 = load i32, ptr %1775, align 4, !tbaa !5
  %1777 = call ptr @s2n_strerror_debug(i32 noundef %1776, ptr noundef @.str.4)
  %1778 = call ptr @__errno_location() #12
  %1779 = load i32, ptr %1778, align 4, !tbaa !5
  %1780 = call ptr @strerror(i32 noundef %1779) #11
  %1781 = call ptr @__errno_location() #12
  %1782 = load i32, ptr %1781, align 4, !tbaa !5
  %1783 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1770, ptr noundef @.str.5, i32 noundef %1771, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 105, ptr noundef %1774, ptr noundef %1777, ptr noundef %1780, i32 noundef %1782) #11
  br label %1784

1784:                                             ; preds = %1767, %1750
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #11
  br label %1785

1785:                                             ; preds = %1784
  br label %1786

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

1787:                                             ; No predecessors!
  br label %1788

1788:                                             ; preds = %1787
  br label %1789

1789:                                             ; preds = %1788, %1729
  br label %1790

1790:                                             ; preds = %1789
  br label %1791

1791:                                             ; preds = %1790
  call void @llvm.lifetime.start.p0(i64 8, ptr %43) #11
  store i64 0, ptr %43, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 22, ptr %44) #11
  call void @llvm.memset.p0.i64(ptr align 16 %44, i8 0, i64 22, i1 false)
  br label %1792

1792:                                             ; preds = %1791
  %1793 = load i32, ptr @test_count, align 4, !tbaa !5
  %1794 = add nsw i32 %1793, 1
  store i32 %1794, ptr @test_count, align 4, !tbaa !5
  %1795 = load ptr, ptr %34, align 8, !tbaa !9
  %1796 = load ptr, ptr %37, align 8, !tbaa !9
  %1797 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %1795, ptr noundef %1796)
  %1798 = icmp eq i32 %1797, -1
  br i1 %1798, label %1799, label %1852

1799:                                             ; preds = %1792
  br label %1800

1800:                                             ; preds = %1799
  br label %1801

1801:                                             ; preds = %1800
  call void @llvm.lifetime.start.p0(i64 4, ptr %45) #11
  %1802 = call ptr @__errno_location() #12
  %1803 = load i32, ptr %1802, align 4, !tbaa !5
  store i32 %1803, ptr %45, align 4, !tbaa !5
  %1804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1805 = call i32 @s2n_print_stacktrace(ptr noundef %1804)
  %1806 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1807 = trunc i8 %1806 to i1
  br i1 %1807, label %1808, label %1830

1808:                                             ; preds = %1801
  %1809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1810 = call i32 @fileno(ptr noundef %1809) #11
  %1811 = call i32 @isatty(i32 noundef %1810) #11
  %1812 = icmp ne i32 %1811, 0
  br i1 %1812, label %1813, label %1830

1813:                                             ; preds = %1808
  %1814 = load i32, ptr %45, align 4, !tbaa !5
  %1815 = call ptr @__errno_location() #12
  store i32 %1814, ptr %1815, align 4, !tbaa !5
  %1816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1817 = load i32, ptr @test_count, align 4, !tbaa !5
  %1818 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1819 = load i32, ptr %1818, align 4, !tbaa !5
  %1820 = call ptr @s2n_strerror(i32 noundef %1819, ptr noundef @.str.4)
  %1821 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1822 = load i32, ptr %1821, align 4, !tbaa !5
  %1823 = call ptr @s2n_strerror_debug(i32 noundef %1822, ptr noundef @.str.4)
  %1824 = call ptr @__errno_location() #12
  %1825 = load i32, ptr %1824, align 4, !tbaa !5
  %1826 = call ptr @strerror(i32 noundef %1825) #11
  %1827 = call ptr @__errno_location() #12
  %1828 = load i32, ptr %1827, align 4, !tbaa !5
  %1829 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1816, ptr noundef @.str.2, i32 noundef %1817, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 111, ptr noundef %1820, ptr noundef %1823, ptr noundef %1826, i32 noundef %1828) #11
  br label %1847

1830:                                             ; preds = %1808, %1801
  %1831 = load i32, ptr %45, align 4, !tbaa !5
  %1832 = call ptr @__errno_location() #12
  store i32 %1831, ptr %1832, align 4, !tbaa !5
  %1833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1834 = load i32, ptr @test_count, align 4, !tbaa !5
  %1835 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1836 = load i32, ptr %1835, align 4, !tbaa !5
  %1837 = call ptr @s2n_strerror(i32 noundef %1836, ptr noundef @.str.4)
  %1838 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1839 = load i32, ptr %1838, align 4, !tbaa !5
  %1840 = call ptr @s2n_strerror_debug(i32 noundef %1839, ptr noundef @.str.4)
  %1841 = call ptr @__errno_location() #12
  %1842 = load i32, ptr %1841, align 4, !tbaa !5
  %1843 = call ptr @strerror(i32 noundef %1842) #11
  %1844 = call ptr @__errno_location() #12
  %1845 = load i32, ptr %1844, align 4, !tbaa !5
  %1846 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1833, ptr noundef @.str.5, i32 noundef %1834, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 111, ptr noundef %1837, ptr noundef %1840, ptr noundef %1843, i32 noundef %1845) #11
  br label %1847

1847:                                             ; preds = %1830, %1813
  call void @llvm.lifetime.end.p0(i64 4, ptr %45) #11
  br label %1848

1848:                                             ; preds = %1847
  br label %1849

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

1850:                                             ; No predecessors!
  br label %1851

1851:                                             ; preds = %1850
  br label %1852

1852:                                             ; preds = %1851, %1792
  br label %1853

1853:                                             ; preds = %1852
  br label %1854

1854:                                             ; preds = %1853
  br label %1855

1855:                                             ; preds = %1854
  %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 %37, align 8, !tbaa !9
  %1859 = call i32 @s2n_renegotiate_wipe(ptr noundef %1858)
  %1860 = icmp eq i32 %1859, -1
  br i1 %1860, label %1861, label %1914

1861:                                             ; preds = %1855
  br label %1862

1862:                                             ; preds = %1861
  br label %1863

1863:                                             ; preds = %1862
  call void @llvm.lifetime.start.p0(i64 4, ptr %46) #11
  %1864 = call ptr @__errno_location() #12
  %1865 = load i32, ptr %1864, align 4, !tbaa !5
  store i32 %1865, ptr %46, align 4, !tbaa !5
  %1866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1867 = call i32 @s2n_print_stacktrace(ptr noundef %1866)
  %1868 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1869 = trunc i8 %1868 to i1
  br i1 %1869, label %1870, label %1892

1870:                                             ; preds = %1863
  %1871 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1872 = call i32 @fileno(ptr noundef %1871) #11
  %1873 = call i32 @isatty(i32 noundef %1872) #11
  %1874 = icmp ne i32 %1873, 0
  br i1 %1874, label %1875, label %1892

1875:                                             ; preds = %1870
  %1876 = load i32, ptr %46, align 4, !tbaa !5
  %1877 = call ptr @__errno_location() #12
  store i32 %1876, ptr %1877, align 4, !tbaa !5
  %1878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1879 = load i32, ptr @test_count, align 4, !tbaa !5
  %1880 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1881 = load i32, ptr %1880, align 4, !tbaa !5
  %1882 = call ptr @s2n_strerror(i32 noundef %1881, ptr noundef @.str.4)
  %1883 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1884 = load i32, ptr %1883, align 4, !tbaa !5
  %1885 = call ptr @s2n_strerror_debug(i32 noundef %1884, ptr noundef @.str.4)
  %1886 = call ptr @__errno_location() #12
  %1887 = load i32, ptr %1886, align 4, !tbaa !5
  %1888 = call ptr @strerror(i32 noundef %1887) #11
  %1889 = call ptr @__errno_location() #12
  %1890 = load i32, ptr %1889, align 4, !tbaa !5
  %1891 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1878, ptr noundef @.str.2, i32 noundef %1879, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 112, ptr noundef %1882, ptr noundef %1885, ptr noundef %1888, i32 noundef %1890) #11
  br label %1909

1892:                                             ; preds = %1870, %1863
  %1893 = load i32, ptr %46, align 4, !tbaa !5
  %1894 = call ptr @__errno_location() #12
  store i32 %1893, ptr %1894, align 4, !tbaa !5
  %1895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1896 = load i32, ptr @test_count, align 4, !tbaa !5
  %1897 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1898 = load i32, ptr %1897, align 4, !tbaa !5
  %1899 = call ptr @s2n_strerror(i32 noundef %1898, ptr noundef @.str.4)
  %1900 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1901 = load i32, ptr %1900, align 4, !tbaa !5
  %1902 = call ptr @s2n_strerror_debug(i32 noundef %1901, ptr noundef @.str.4)
  %1903 = call ptr @__errno_location() #12
  %1904 = load i32, ptr %1903, align 4, !tbaa !5
  %1905 = call ptr @strerror(i32 noundef %1904) #11
  %1906 = call ptr @__errno_location() #12
  %1907 = load i32, ptr %1906, align 4, !tbaa !5
  %1908 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1895, ptr noundef @.str.5, i32 noundef %1896, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 112, ptr noundef %1899, ptr noundef %1902, ptr noundef %1905, i32 noundef %1907) #11
  br label %1909

1909:                                             ; preds = %1892, %1875
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #11
  br label %1910

1910:                                             ; preds = %1909
  br label %1911

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

1912:                                             ; No predecessors!
  br label %1913

1913:                                             ; preds = %1912
  br label %1914

1914:                                             ; preds = %1913, %1855
  br label %1915

1915:                                             ; preds = %1914
  br label %1916

1916:                                             ; preds = %1915
  br label %1917

1917:                                             ; preds = %1916
  %1918 = load i32, ptr @test_count, align 4, !tbaa !5
  %1919 = add nsw i32 %1918, 1
  store i32 %1919, ptr @test_count, align 4, !tbaa !5
  %1920 = load ptr, ptr %34, align 8, !tbaa !9
  %1921 = call i32 @s2n_renegotiate_wipe(ptr noundef %1920)
  %1922 = icmp eq i32 %1921, -1
  br i1 %1922, label %1923, label %1976

1923:                                             ; preds = %1917
  br label %1924

1924:                                             ; preds = %1923
  br label %1925

1925:                                             ; preds = %1924
  call void @llvm.lifetime.start.p0(i64 4, ptr %47) #11
  %1926 = call ptr @__errno_location() #12
  %1927 = load i32, ptr %1926, align 4, !tbaa !5
  store i32 %1927, ptr %47, align 4, !tbaa !5
  %1928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1929 = call i32 @s2n_print_stacktrace(ptr noundef %1928)
  %1930 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1931 = trunc i8 %1930 to i1
  br i1 %1931, label %1932, label %1954

1932:                                             ; preds = %1925
  %1933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1934 = call i32 @fileno(ptr noundef %1933) #11
  %1935 = call i32 @isatty(i32 noundef %1934) #11
  %1936 = icmp ne i32 %1935, 0
  br i1 %1936, label %1937, label %1954

1937:                                             ; preds = %1932
  %1938 = load i32, ptr %47, align 4, !tbaa !5
  %1939 = call ptr @__errno_location() #12
  store i32 %1938, ptr %1939, align 4, !tbaa !5
  %1940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1941 = load i32, ptr @test_count, align 4, !tbaa !5
  %1942 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1943 = load i32, ptr %1942, align 4, !tbaa !5
  %1944 = call ptr @s2n_strerror(i32 noundef %1943, ptr noundef @.str.4)
  %1945 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1946 = load i32, ptr %1945, align 4, !tbaa !5
  %1947 = call ptr @s2n_strerror_debug(i32 noundef %1946, ptr noundef @.str.4)
  %1948 = call ptr @__errno_location() #12
  %1949 = load i32, ptr %1948, align 4, !tbaa !5
  %1950 = call ptr @strerror(i32 noundef %1949) #11
  %1951 = call ptr @__errno_location() #12
  %1952 = load i32, ptr %1951, align 4, !tbaa !5
  %1953 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1940, ptr noundef @.str.2, i32 noundef %1941, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 113, ptr noundef %1944, ptr noundef %1947, ptr noundef %1950, i32 noundef %1952) #11
  br label %1971

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

1971:                                             ; preds = %1954, %1937
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #11
  br label %1972

1972:                                             ; preds = %1971
  br label %1973

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

1974:                                             ; No predecessors!
  br label %1975

1975:                                             ; preds = %1974
  br label %1976

1976:                                             ; preds = %1975, %1917
  br label %1977

1977:                                             ; preds = %1976
  br label %1978

1978:                                             ; preds = %1977
  br label %1979

1979:                                             ; preds = %1978
  %1980 = load i32, ptr @test_count, align 4, !tbaa !5
  %1981 = add nsw i32 %1980, 1
  store i32 %1981, ptr @test_count, align 4, !tbaa !5
  %1982 = load ptr, ptr %34, align 8, !tbaa !9
  %1983 = getelementptr inbounds [22 x i8], ptr %16, i64 0, i64 0
  %1984 = call i64 @s2n_send(ptr noundef %1982, ptr noundef %1983, i64 noundef 22, ptr noundef %17)
  %1985 = icmp eq i64 %1984, 22
  br i1 %1985, label %2039, label %1986

1986:                                             ; preds = %1979
  br label %1987

1987:                                             ; preds = %1986
  br label %1988

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

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

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

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

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

2035:                                             ; preds = %2034
  br label %2036

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

2037:                                             ; No predecessors!
  br label %2038

2038:                                             ; preds = %2037
  br label %2039

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

2040:                                             ; preds = %2039
  br label %2041

2041:                                             ; preds = %2040
  br label %2042

2042:                                             ; preds = %2041
  br label %2043

2043:                                             ; preds = %2042
  br label %2044

2044:                                             ; preds = %2043
  %2045 = load i32, ptr @test_count, align 4, !tbaa !5
  %2046 = add nsw i32 %2045, 1
  store i32 %2046, ptr @test_count, align 4, !tbaa !5
  %2047 = load ptr, ptr %37, align 8, !tbaa !9
  %2048 = getelementptr inbounds [22 x i8], ptr %44, i64 0, i64 0
  %2049 = call i32 @s2n_renegotiate(ptr noundef %2047, ptr noundef %2048, i64 noundef 22, ptr noundef %43, ptr noundef %17)
  %2050 = icmp eq i32 %2049, -1
  br i1 %2050, label %2104, label %2051

2051:                                             ; preds = %2044
  br label %2052

2052:                                             ; preds = %2051
  br label %2053

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

2060:                                             ; preds = %2053
  %2061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2062 = call i32 @fileno(ptr noundef %2061) #11
  %2063 = call i32 @isatty(i32 noundef %2062) #11
  %2064 = icmp ne i32 %2063, 0
  br i1 %2064, label %2065, label %2082

2065:                                             ; preds = %2060
  %2066 = load i32, ptr %49, align 4, !tbaa !5
  %2067 = call ptr @__errno_location() #12
  store i32 %2066, ptr %2067, align 4, !tbaa !5
  %2068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2069 = load i32, ptr @test_count, align 4, !tbaa !5
  %2070 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2071 = load i32, ptr %2070, align 4, !tbaa !5
  %2072 = call ptr @s2n_strerror(i32 noundef %2071, ptr noundef @.str.4)
  %2073 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2074 = load i32, ptr %2073, align 4, !tbaa !5
  %2075 = call ptr @s2n_strerror_debug(i32 noundef %2074, ptr noundef @.str.4)
  %2076 = call ptr @__errno_location() #12
  %2077 = load i32, ptr %2076, align 4, !tbaa !5
  %2078 = call ptr @strerror(i32 noundef %2077) #11
  %2079 = call ptr @__errno_location() #12
  %2080 = load i32, ptr %2079, align 4, !tbaa !5
  %2081 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2068, ptr noundef @.str.2, i32 noundef %2069, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 120, ptr noundef %2072, ptr noundef %2075, ptr noundef %2078, i32 noundef %2080) #11
  br label %2099

2082:                                             ; preds = %2060, %2053
  %2083 = load i32, ptr %49, align 4, !tbaa !5
  %2084 = call ptr @__errno_location() #12
  store i32 %2083, ptr %2084, align 4, !tbaa !5
  %2085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2086 = load i32, ptr @test_count, align 4, !tbaa !5
  %2087 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2088 = load i32, ptr %2087, align 4, !tbaa !5
  %2089 = call ptr @s2n_strerror(i32 noundef %2088, ptr noundef @.str.4)
  %2090 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2091 = load i32, ptr %2090, align 4, !tbaa !5
  %2092 = call ptr @s2n_strerror_debug(i32 noundef %2091, ptr noundef @.str.4)
  %2093 = call ptr @__errno_location() #12
  %2094 = load i32, ptr %2093, align 4, !tbaa !5
  %2095 = call ptr @strerror(i32 noundef %2094) #11
  %2096 = call ptr @__errno_location() #12
  %2097 = load i32, ptr %2096, align 4, !tbaa !5
  %2098 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2085, ptr noundef @.str.5, i32 noundef %2086, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 120, ptr noundef %2089, ptr noundef %2092, ptr noundef %2095, i32 noundef %2097) #11
  br label %2099

2099:                                             ; preds = %2082, %2065
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #11
  br label %2100

2100:                                             ; preds = %2099
  br label %2101

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

2102:                                             ; No predecessors!
  br label %2103

2103:                                             ; preds = %2102
  br label %2104

2104:                                             ; preds = %2103, %2044
  br label %2105

2105:                                             ; preds = %2104
  br label %2106

2106:                                             ; preds = %2105
  br label %2107

2107:                                             ; preds = %2106
  %2108 = load i32, ptr @test_count, align 4, !tbaa !5
  %2109 = add nsw i32 %2108, 1
  store i32 %2109, 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 = icmp eq i32 %2111, 201326595
  br i1 %2112, label %2166, label %2113

2113:                                             ; preds = %2107
  br label %2114

2114:                                             ; preds = %2113
  br label %2115

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

2122:                                             ; preds = %2115
  %2123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2124 = call i32 @fileno(ptr noundef %2123) #11
  %2125 = call i32 @isatty(i32 noundef %2124) #11
  %2126 = icmp ne i32 %2125, 0
  br i1 %2126, label %2127, label %2144

2127:                                             ; preds = %2122
  %2128 = load i32, ptr %50, align 4, !tbaa !5
  %2129 = call ptr @__errno_location() #12
  store i32 %2128, ptr %2129, align 4, !tbaa !5
  %2130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2131 = load i32, ptr @test_count, align 4, !tbaa !5
  %2132 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2133 = load i32, ptr %2132, align 4, !tbaa !5
  %2134 = call ptr @s2n_strerror(i32 noundef %2133, ptr noundef @.str.4)
  %2135 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2136 = load i32, ptr %2135, align 4, !tbaa !5
  %2137 = call ptr @s2n_strerror_debug(i32 noundef %2136, ptr noundef @.str.4)
  %2138 = call ptr @__errno_location() #12
  %2139 = load i32, ptr %2138, align 4, !tbaa !5
  %2140 = call ptr @strerror(i32 noundef %2139) #11
  %2141 = call ptr @__errno_location() #12
  %2142 = load i32, ptr %2141, align 4, !tbaa !5
  %2143 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2130, ptr noundef @.str.2, i32 noundef %2131, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 120, ptr noundef %2134, ptr noundef %2137, ptr noundef %2140, i32 noundef %2142) #11
  br label %2161

2144:                                             ; preds = %2122, %2115
  %2145 = load i32, ptr %50, align 4, !tbaa !5
  %2146 = call ptr @__errno_location() #12
  store i32 %2145, ptr %2146, align 4, !tbaa !5
  %2147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2148 = load i32, ptr @test_count, align 4, !tbaa !5
  %2149 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2150 = load i32, ptr %2149, align 4, !tbaa !5
  %2151 = call ptr @s2n_strerror(i32 noundef %2150, ptr noundef @.str.4)
  %2152 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2153 = load i32, ptr %2152, align 4, !tbaa !5
  %2154 = call ptr @s2n_strerror_debug(i32 noundef %2153, ptr noundef @.str.4)
  %2155 = call ptr @__errno_location() #12
  %2156 = load i32, ptr %2155, align 4, !tbaa !5
  %2157 = call ptr @strerror(i32 noundef %2156) #11
  %2158 = call ptr @__errno_location() #12
  %2159 = load i32, ptr %2158, align 4, !tbaa !5
  %2160 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2147, ptr noundef @.str.5, i32 noundef %2148, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 120, ptr noundef %2151, ptr noundef %2154, ptr noundef %2157, i32 noundef %2159) #11
  br label %2161

2161:                                             ; preds = %2144, %2127
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #11
  br label %2162

2162:                                             ; preds = %2161
  br label %2163

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

2164:                                             ; No predecessors!
  br label %2165

2165:                                             ; preds = %2164
  br label %2166

2166:                                             ; preds = %2165, %2107
  br label %2167

2167:                                             ; preds = %2166
  br label %2168

2168:                                             ; preds = %2167
  br label %2169

2169:                                             ; preds = %2168
  %2170 = load i32, ptr @test_count, align 4, !tbaa !5
  %2171 = add nsw i32 %2170, 1
  store i32 %2171, ptr @test_count, align 4, !tbaa !5
  %2172 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2173 = load i32, ptr %2172, align 4, !tbaa !5
  %2174 = call ptr @s2n_strerror_debug(i32 noundef %2173, ptr noundef @.str.4)
  %2175 = icmp eq ptr %2174, null
  br i1 %2175, label %2176, label %2229

2176:                                             ; preds = %2169
  br label %2177

2177:                                             ; preds = %2176
  br label %2178

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

2185:                                             ; preds = %2178
  %2186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2187 = call i32 @fileno(ptr noundef %2186) #11
  %2188 = call i32 @isatty(i32 noundef %2187) #11
  %2189 = icmp ne i32 %2188, 0
  br i1 %2189, label %2190, label %2207

2190:                                             ; preds = %2185
  %2191 = load i32, ptr %51, align 4, !tbaa !5
  %2192 = call ptr @__errno_location() #12
  store i32 %2191, ptr %2192, align 4, !tbaa !5
  %2193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2194 = load i32, ptr @test_count, align 4, !tbaa !5
  %2195 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2196 = load i32, ptr %2195, align 4, !tbaa !5
  %2197 = call ptr @s2n_strerror(i32 noundef %2196, ptr noundef @.str.4)
  %2198 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2199 = load i32, ptr %2198, align 4, !tbaa !5
  %2200 = call ptr @s2n_strerror_debug(i32 noundef %2199, ptr noundef @.str.4)
  %2201 = call ptr @__errno_location() #12
  %2202 = load i32, ptr %2201, align 4, !tbaa !5
  %2203 = call ptr @strerror(i32 noundef %2202) #11
  %2204 = call ptr @__errno_location() #12
  %2205 = load i32, ptr %2204, align 4, !tbaa !5
  %2206 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2193, ptr noundef @.str.2, i32 noundef %2194, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 120, ptr noundef %2197, ptr noundef %2200, ptr noundef %2203, i32 noundef %2205) #11
  br label %2224

2207:                                             ; preds = %2185, %2178
  %2208 = load i32, ptr %51, align 4, !tbaa !5
  %2209 = call ptr @__errno_location() #12
  store i32 %2208, ptr %2209, align 4, !tbaa !5
  %2210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2211 = load i32, ptr @test_count, align 4, !tbaa !5
  %2212 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2213 = load i32, ptr %2212, align 4, !tbaa !5
  %2214 = call ptr @s2n_strerror(i32 noundef %2213, ptr noundef @.str.4)
  %2215 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2216 = load i32, ptr %2215, align 4, !tbaa !5
  %2217 = call ptr @s2n_strerror_debug(i32 noundef %2216, ptr noundef @.str.4)
  %2218 = call ptr @__errno_location() #12
  %2219 = load i32, ptr %2218, align 4, !tbaa !5
  %2220 = call ptr @strerror(i32 noundef %2219) #11
  %2221 = call ptr @__errno_location() #12
  %2222 = load i32, ptr %2221, align 4, !tbaa !5
  %2223 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2210, ptr noundef @.str.5, i32 noundef %2211, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 120, ptr noundef %2214, ptr noundef %2217, ptr noundef %2220, i32 noundef %2222) #11
  br label %2224

2224:                                             ; preds = %2207, %2190
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #11
  br label %2225

2225:                                             ; preds = %2224
  br label %2226

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

2227:                                             ; No predecessors!
  br label %2228

2228:                                             ; preds = %2227
  br label %2229

2229:                                             ; preds = %2228, %2169
  br label %2230

2230:                                             ; preds = %2229
  br label %2231

2231:                                             ; preds = %2230
  br label %2232

2232:                                             ; preds = %2231
  br label %2233

2233:                                             ; preds = %2232
  br label %2234

2234:                                             ; preds = %2233
  %2235 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %2235, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %2236 = call ptr @__errno_location() #12
  store i32 0, ptr %2236, align 4, !tbaa !5
  br label %2237

2237:                                             ; preds = %2234
  br label %2238

2238:                                             ; preds = %2237
  br label %2239

2239:                                             ; preds = %2238
  br label %2240

2240:                                             ; preds = %2239
  br label %2241

2241:                                             ; preds = %2240
  %2242 = load i32, ptr @test_count, align 4, !tbaa !5
  %2243 = add nsw i32 %2242, 1
  store i32 %2243, ptr @test_count, align 4, !tbaa !5
  %2244 = load i32, ptr %17, align 4, !tbaa !5
  %2245 = load i32, ptr @S2N_BLOCKED_ON_APPLICATION_DATA, align 4, !tbaa !5
  %2246 = icmp eq i32 %2244, %2245
  br i1 %2246, label %2300, label %2247

2247:                                             ; preds = %2241
  br label %2248

2248:                                             ; preds = %2247
  br label %2249

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

2256:                                             ; preds = %2249
  %2257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2258 = call i32 @fileno(ptr noundef %2257) #11
  %2259 = call i32 @isatty(i32 noundef %2258) #11
  %2260 = icmp ne i32 %2259, 0
  br i1 %2260, label %2261, label %2278

2261:                                             ; preds = %2256
  %2262 = load i32, ptr %52, align 4, !tbaa !5
  %2263 = call ptr @__errno_location() #12
  store i32 %2262, ptr %2263, align 4, !tbaa !5
  %2264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2265 = load i32, ptr @test_count, align 4, !tbaa !5
  %2266 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2267 = load i32, ptr %2266, align 4, !tbaa !5
  %2268 = call ptr @s2n_strerror(i32 noundef %2267, ptr noundef @.str.4)
  %2269 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2270 = load i32, ptr %2269, align 4, !tbaa !5
  %2271 = call ptr @s2n_strerror_debug(i32 noundef %2270, ptr noundef @.str.4)
  %2272 = call ptr @__errno_location() #12
  %2273 = load i32, ptr %2272, align 4, !tbaa !5
  %2274 = call ptr @strerror(i32 noundef %2273) #11
  %2275 = call ptr @__errno_location() #12
  %2276 = load i32, ptr %2275, align 4, !tbaa !5
  %2277 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2264, ptr noundef @.str.2, i32 noundef %2265, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 121, ptr noundef %2268, ptr noundef %2271, ptr noundef %2274, i32 noundef %2276) #11
  br label %2295

2278:                                             ; preds = %2256, %2249
  %2279 = load i32, ptr %52, align 4, !tbaa !5
  %2280 = call ptr @__errno_location() #12
  store i32 %2279, ptr %2280, align 4, !tbaa !5
  %2281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2282 = load i32, ptr @test_count, align 4, !tbaa !5
  %2283 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2284 = load i32, ptr %2283, align 4, !tbaa !5
  %2285 = call ptr @s2n_strerror(i32 noundef %2284, ptr noundef @.str.4)
  %2286 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2287 = load i32, ptr %2286, align 4, !tbaa !5
  %2288 = call ptr @s2n_strerror_debug(i32 noundef %2287, ptr noundef @.str.4)
  %2289 = call ptr @__errno_location() #12
  %2290 = load i32, ptr %2289, align 4, !tbaa !5
  %2291 = call ptr @strerror(i32 noundef %2290) #11
  %2292 = call ptr @__errno_location() #12
  %2293 = load i32, ptr %2292, align 4, !tbaa !5
  %2294 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2281, ptr noundef @.str.5, i32 noundef %2282, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 121, ptr noundef %2285, ptr noundef %2288, ptr noundef %2291, i32 noundef %2293) #11
  br label %2295

2295:                                             ; preds = %2278, %2261
  call void @llvm.lifetime.end.p0(i64 4, ptr %52) #11
  br label %2296

2296:                                             ; preds = %2295
  br label %2297

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

2298:                                             ; No predecessors!
  br label %2299

2299:                                             ; preds = %2298
  br label %2300

2300:                                             ; preds = %2299, %2241
  br label %2301

2301:                                             ; preds = %2300
  br label %2302

2302:                                             ; preds = %2301
  br label %2303

2303:                                             ; preds = %2302
  %2304 = load i32, ptr @test_count, align 4, !tbaa !5
  %2305 = add nsw i32 %2304, 1
  store i32 %2305, ptr @test_count, align 4, !tbaa !5
  %2306 = load i64, ptr %43, align 8, !tbaa !15
  %2307 = icmp eq i64 %2306, 22
  br i1 %2307, label %2361, label %2308

2308:                                             ; preds = %2303
  br label %2309

2309:                                             ; preds = %2308
  br label %2310

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

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

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

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

2356:                                             ; preds = %2339, %2322
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #11
  br label %2357

2357:                                             ; preds = %2356
  br label %2358

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

2359:                                             ; No predecessors!
  br label %2360

2360:                                             ; preds = %2359
  br label %2361

2361:                                             ; preds = %2360, %2303
  br label %2362

2362:                                             ; preds = %2361
  br label %2363

2363:                                             ; preds = %2362
  br label %2364

2364:                                             ; preds = %2363
  br label %2365

2365:                                             ; preds = %2364
  %2366 = load i32, ptr @test_count, align 4, !tbaa !5
  %2367 = add nsw i32 %2366, 1
  store i32 %2367, ptr @test_count, align 4, !tbaa !5
  %2368 = getelementptr inbounds [22 x i8], ptr %44, i64 0, i64 0
  %2369 = getelementptr inbounds [22 x i8], ptr %16, i64 0, i64 0
  %2370 = call i32 @memcmp(ptr noundef %2368, ptr noundef %2369, i64 noundef 22) #14
  %2371 = icmp eq i32 %2370, 0
  br i1 %2371, label %2425, label %2372

2372:                                             ; preds = %2365
  br label %2373

2373:                                             ; preds = %2372
  br label %2374

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

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

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

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

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

2421:                                             ; preds = %2420
  br label %2422

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

2423:                                             ; No predecessors!
  br label %2424

2424:                                             ; preds = %2423
  br label %2425

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

2426:                                             ; preds = %2425
  br label %2427

2427:                                             ; preds = %2426
  br label %2428

2428:                                             ; preds = %2427
  br label %2429

2429:                                             ; preds = %2428
  br label %2430

2430:                                             ; preds = %2429
  %2431 = load i32, ptr @test_count, align 4, !tbaa !5
  %2432 = add nsw i32 %2431, 1
  store i32 %2432, ptr @test_count, align 4, !tbaa !5
  %2433 = load ptr, ptr %37, align 8, !tbaa !9
  %2434 = call i32 @s2n_conn_get_current_message_type(ptr noundef %2433)
  %2435 = icmp eq i32 %2434, 1
  br i1 %2435, label %2489, label %2436

2436:                                             ; preds = %2430
  br label %2437

2437:                                             ; preds = %2436
  br label %2438

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

2445:                                             ; preds = %2438
  %2446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2447 = call i32 @fileno(ptr noundef %2446) #11
  %2448 = call i32 @isatty(i32 noundef %2447) #11
  %2449 = icmp ne i32 %2448, 0
  br i1 %2449, label %2450, label %2467

2450:                                             ; preds = %2445
  %2451 = load i32, ptr %55, align 4, !tbaa !5
  %2452 = call ptr @__errno_location() #12
  store i32 %2451, ptr %2452, align 4, !tbaa !5
  %2453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2454 = load i32, ptr @test_count, align 4, !tbaa !5
  %2455 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2456 = load i32, ptr %2455, align 4, !tbaa !5
  %2457 = call ptr @s2n_strerror(i32 noundef %2456, ptr noundef @.str.4)
  %2458 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2459 = load i32, ptr %2458, align 4, !tbaa !5
  %2460 = call ptr @s2n_strerror_debug(i32 noundef %2459, ptr noundef @.str.4)
  %2461 = call ptr @__errno_location() #12
  %2462 = load i32, ptr %2461, align 4, !tbaa !5
  %2463 = call ptr @strerror(i32 noundef %2462) #11
  %2464 = call ptr @__errno_location() #12
  %2465 = load i32, ptr %2464, align 4, !tbaa !5
  %2466 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2453, ptr noundef @.str.2, i32 noundef %2454, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 126, ptr noundef %2457, ptr noundef %2460, ptr noundef %2463, i32 noundef %2465) #11
  br label %2484

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

2484:                                             ; preds = %2467, %2450
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #11
  br label %2485

2485:                                             ; preds = %2484
  br label %2486

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

2487:                                             ; No predecessors!
  br label %2488

2488:                                             ; preds = %2487
  br label %2489

2489:                                             ; preds = %2488, %2430
  br label %2490

2490:                                             ; preds = %2489
  br label %2491

2491:                                             ; preds = %2490
  br label %2492

2492:                                             ; preds = %2491
  %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 %34, align 8, !tbaa !9
  %2496 = load ptr, ptr %37, align 8, !tbaa !9
  %2497 = call i32 @s2n_renegotiate_test_server_and_client(ptr noundef %2495, ptr noundef %2496)
  %2498 = getelementptr inbounds %struct.s2n_result, ptr %56, i32 0, i32 0
  store i32 %2497, ptr %2498, align 4
  %2499 = getelementptr inbounds %struct.s2n_result, ptr %56, i32 0, i32 0
  %2500 = load i32, ptr %2499, align 4
  %2501 = call zeroext i1 @s2n_result_is_ok(i32 %2500)
  br i1 %2501, label %2555, label %2502

2502:                                             ; preds = %2492
  br label %2503

2503:                                             ; preds = %2502
  br label %2504

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

2511:                                             ; preds = %2504
  %2512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2513 = call i32 @fileno(ptr noundef %2512) #11
  %2514 = call i32 @isatty(i32 noundef %2513) #11
  %2515 = icmp ne i32 %2514, 0
  br i1 %2515, label %2516, label %2533

2516:                                             ; preds = %2511
  %2517 = load i32, ptr %57, align 4, !tbaa !5
  %2518 = call ptr @__errno_location() #12
  store i32 %2517, ptr %2518, align 4, !tbaa !5
  %2519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2520 = load i32, ptr @test_count, align 4, !tbaa !5
  %2521 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2522 = load i32, ptr %2521, align 4, !tbaa !5
  %2523 = call ptr @s2n_strerror(i32 noundef %2522, ptr noundef @.str.4)
  %2524 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2525 = load i32, ptr %2524, align 4, !tbaa !5
  %2526 = call ptr @s2n_strerror_debug(i32 noundef %2525, ptr noundef @.str.4)
  %2527 = call ptr @__errno_location() #12
  %2528 = load i32, ptr %2527, align 4, !tbaa !5
  %2529 = call ptr @strerror(i32 noundef %2528) #11
  %2530 = call ptr @__errno_location() #12
  %2531 = load i32, ptr %2530, align 4, !tbaa !5
  %2532 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2519, ptr noundef @.str.2, i32 noundef %2520, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 129, ptr noundef %2523, ptr noundef %2526, ptr noundef %2529, i32 noundef %2531) #11
  br label %2550

2533:                                             ; preds = %2511, %2504
  %2534 = load i32, ptr %57, align 4, !tbaa !5
  %2535 = call ptr @__errno_location() #12
  store i32 %2534, ptr %2535, align 4, !tbaa !5
  %2536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2537 = load i32, ptr @test_count, align 4, !tbaa !5
  %2538 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2539 = load i32, ptr %2538, align 4, !tbaa !5
  %2540 = call ptr @s2n_strerror(i32 noundef %2539, ptr noundef @.str.4)
  %2541 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2542 = load i32, ptr %2541, align 4, !tbaa !5
  %2543 = call ptr @s2n_strerror_debug(i32 noundef %2542, ptr noundef @.str.4)
  %2544 = call ptr @__errno_location() #12
  %2545 = load i32, ptr %2544, align 4, !tbaa !5
  %2546 = call ptr @strerror(i32 noundef %2545) #11
  %2547 = call ptr @__errno_location() #12
  %2548 = load i32, ptr %2547, align 4, !tbaa !5
  %2549 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2536, ptr noundef @.str.5, i32 noundef %2537, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 129, ptr noundef %2540, ptr noundef %2543, ptr noundef %2546, i32 noundef %2548) #11
  br label %2550

2550:                                             ; preds = %2533, %2516
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #11
  br label %2551

2551:                                             ; preds = %2550
  br label %2552

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

2553:                                             ; No predecessors!
  br label %2554

2554:                                             ; preds = %2553
  br label %2555

2555:                                             ; preds = %2554, %2492
  br label %2556

2556:                                             ; preds = %2555
  br label %2557

2557:                                             ; preds = %2556
  call void @llvm.lifetime.end.p0(i64 22, ptr %44) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %43) #11
  %2558 = call i32 @s2n_io_pair_close(ptr noundef %40)
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #11
  %2559 = call i32 @s2n_connection_ptr_free(ptr noundef %37)
  %2560 = getelementptr inbounds %struct.s2n_result, ptr %58, i32 0, i32 0
  store i32 %2559, ptr %2560, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #11
  %2561 = call i32 @s2n_connection_ptr_free(ptr noundef %34)
  %2562 = getelementptr inbounds %struct.s2n_result, ptr %59, i32 0, i32 0
  store i32 %2561, ptr %2562, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %60) #11
  %2563 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %2563, ptr %60, align 8, !tbaa !9
  br label %2564

2564:                                             ; preds = %2557
  %2565 = load i32, ptr @test_count, align 4, !tbaa !5
  %2566 = add nsw i32 %2565, 1
  store i32 %2566, ptr @test_count, align 4, !tbaa !5
  %2567 = load ptr, ptr %60, align 8, !tbaa !9
  %2568 = icmp eq ptr %2567, null
  br i1 %2568, label %2569, label %2622

2569:                                             ; preds = %2564
  br label %2570

2570:                                             ; preds = %2569
  br label %2571

2571:                                             ; preds = %2570
  call void @llvm.lifetime.start.p0(i64 4, ptr %61) #11
  %2572 = call ptr @__errno_location() #12
  %2573 = load i32, ptr %2572, align 4, !tbaa !5
  store i32 %2573, ptr %61, align 4, !tbaa !5
  %2574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2575 = call i32 @s2n_print_stacktrace(ptr noundef %2574)
  %2576 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2577 = trunc i8 %2576 to i1
  br i1 %2577, label %2578, label %2600

2578:                                             ; preds = %2571
  %2579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2580 = call i32 @fileno(ptr noundef %2579) #11
  %2581 = call i32 @isatty(i32 noundef %2580) #11
  %2582 = icmp ne i32 %2581, 0
  br i1 %2582, label %2583, label %2600

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

2600:                                             ; preds = %2578, %2571
  %2601 = load i32, ptr %61, align 4, !tbaa !5
  %2602 = call ptr @__errno_location() #12
  store i32 %2601, ptr %2602, align 4, !tbaa !5
  %2603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2604 = load i32, ptr @test_count, align 4, !tbaa !5
  %2605 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2606 = load i32, ptr %2605, align 4, !tbaa !5
  %2607 = call ptr @s2n_strerror(i32 noundef %2606, ptr noundef @.str.4)
  %2608 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2609 = load i32, ptr %2608, align 4, !tbaa !5
  %2610 = call ptr @s2n_strerror_debug(i32 noundef %2609, ptr noundef @.str.4)
  %2611 = call ptr @__errno_location() #12
  %2612 = load i32, ptr %2611, align 4, !tbaa !5
  %2613 = call ptr @strerror(i32 noundef %2612) #11
  %2614 = call ptr @__errno_location() #12
  %2615 = load i32, ptr %2614, align 4, !tbaa !5
  %2616 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2603, ptr noundef @.str.5, i32 noundef %2604, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 135, ptr noundef %2607, ptr noundef %2610, ptr noundef %2613, i32 noundef %2615) #11
  br label %2617

2617:                                             ; preds = %2600, %2583
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #11
  br label %2618

2618:                                             ; preds = %2617
  br label %2619

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

2620:                                             ; No predecessors!
  br label %2621

2621:                                             ; preds = %2620
  br label %2622

2622:                                             ; preds = %2621, %2564
  br label %2623

2623:                                             ; preds = %2622
  br label %2624

2624:                                             ; preds = %2623
  br label %2625

2625:                                             ; preds = %2624
  %2626 = load i32, ptr @test_count, align 4, !tbaa !5
  %2627 = add nsw i32 %2626, 1
  store i32 %2627, ptr @test_count, align 4, !tbaa !5
  %2628 = load ptr, ptr %60, align 8, !tbaa !9
  %2629 = load ptr, ptr %11, align 8, !tbaa !9
  %2630 = call i32 @s2n_connection_set_config(ptr noundef %2628, ptr noundef %2629)
  %2631 = icmp eq i32 %2630, -1
  br i1 %2631, label %2632, label %2685

2632:                                             ; preds = %2625
  br label %2633

2633:                                             ; preds = %2632
  br label %2634

2634:                                             ; preds = %2633
  call void @llvm.lifetime.start.p0(i64 4, ptr %62) #11
  %2635 = call ptr @__errno_location() #12
  %2636 = load i32, ptr %2635, align 4, !tbaa !5
  store i32 %2636, ptr %62, align 4, !tbaa !5
  %2637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2638 = call i32 @s2n_print_stacktrace(ptr noundef %2637)
  %2639 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2640 = trunc i8 %2639 to i1
  br i1 %2640, label %2641, label %2663

2641:                                             ; preds = %2634
  %2642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2643 = call i32 @fileno(ptr noundef %2642) #11
  %2644 = call i32 @isatty(i32 noundef %2643) #11
  %2645 = icmp ne i32 %2644, 0
  br i1 %2645, label %2646, label %2663

2646:                                             ; preds = %2641
  %2647 = load i32, ptr %62, align 4, !tbaa !5
  %2648 = call ptr @__errno_location() #12
  store i32 %2647, ptr %2648, align 4, !tbaa !5
  %2649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2650 = load i32, ptr @test_count, align 4, !tbaa !5
  %2651 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2652 = load i32, ptr %2651, align 4, !tbaa !5
  %2653 = call ptr @s2n_strerror(i32 noundef %2652, ptr noundef @.str.4)
  %2654 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2655 = load i32, ptr %2654, align 4, !tbaa !5
  %2656 = call ptr @s2n_strerror_debug(i32 noundef %2655, ptr noundef @.str.4)
  %2657 = call ptr @__errno_location() #12
  %2658 = load i32, ptr %2657, align 4, !tbaa !5
  %2659 = call ptr @strerror(i32 noundef %2658) #11
  %2660 = call ptr @__errno_location() #12
  %2661 = load i32, ptr %2660, align 4, !tbaa !5
  %2662 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2649, ptr noundef @.str.2, i32 noundef %2650, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 136, ptr noundef %2653, ptr noundef %2656, ptr noundef %2659, i32 noundef %2661) #11
  br label %2680

2663:                                             ; preds = %2641, %2634
  %2664 = load i32, ptr %62, align 4, !tbaa !5
  %2665 = call ptr @__errno_location() #12
  store i32 %2664, ptr %2665, align 4, !tbaa !5
  %2666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2667 = load i32, ptr @test_count, align 4, !tbaa !5
  %2668 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2669 = load i32, ptr %2668, align 4, !tbaa !5
  %2670 = call ptr @s2n_strerror(i32 noundef %2669, ptr noundef @.str.4)
  %2671 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2672 = load i32, ptr %2671, align 4, !tbaa !5
  %2673 = call ptr @s2n_strerror_debug(i32 noundef %2672, ptr noundef @.str.4)
  %2674 = call ptr @__errno_location() #12
  %2675 = load i32, ptr %2674, align 4, !tbaa !5
  %2676 = call ptr @strerror(i32 noundef %2675) #11
  %2677 = call ptr @__errno_location() #12
  %2678 = load i32, ptr %2677, align 4, !tbaa !5
  %2679 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2666, ptr noundef @.str.5, i32 noundef %2667, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 136, ptr noundef %2670, ptr noundef %2673, ptr noundef %2676, i32 noundef %2678) #11
  br label %2680

2680:                                             ; preds = %2663, %2646
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #11
  br label %2681

2681:                                             ; preds = %2680
  br label %2682

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

2683:                                             ; No predecessors!
  br label %2684

2684:                                             ; preds = %2683
  br label %2685

2685:                                             ; preds = %2684, %2625
  br label %2686

2686:                                             ; preds = %2685
  br label %2687

2687:                                             ; preds = %2686
  call void @llvm.lifetime.start.p0(i64 8, ptr %63) #11
  %2688 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %2688, ptr %63, align 8, !tbaa !9
  br label %2689

2689:                                             ; preds = %2687
  %2690 = load i32, ptr @test_count, align 4, !tbaa !5
  %2691 = add nsw i32 %2690, 1
  store i32 %2691, ptr @test_count, align 4, !tbaa !5
  %2692 = load ptr, ptr %63, align 8, !tbaa !9
  %2693 = icmp eq ptr %2692, null
  br i1 %2693, label %2694, label %2747

2694:                                             ; preds = %2689
  br label %2695

2695:                                             ; preds = %2694
  br label %2696

2696:                                             ; preds = %2695
  call void @llvm.lifetime.start.p0(i64 4, ptr %64) #11
  %2697 = call ptr @__errno_location() #12
  %2698 = load i32, ptr %2697, align 4, !tbaa !5
  store i32 %2698, ptr %64, align 4, !tbaa !5
  %2699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2700 = call i32 @s2n_print_stacktrace(ptr noundef %2699)
  %2701 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2702 = trunc i8 %2701 to i1
  br i1 %2702, label %2703, label %2725

2703:                                             ; preds = %2696
  %2704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2705 = call i32 @fileno(ptr noundef %2704) #11
  %2706 = call i32 @isatty(i32 noundef %2705) #11
  %2707 = icmp ne i32 %2706, 0
  br i1 %2707, label %2708, label %2725

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

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

2742:                                             ; preds = %2725, %2708
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #11
  br label %2743

2743:                                             ; preds = %2742
  br label %2744

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

2745:                                             ; No predecessors!
  br label %2746

2746:                                             ; preds = %2745
  br label %2747

2747:                                             ; preds = %2746, %2689
  br label %2748

2748:                                             ; preds = %2747
  br label %2749

2749:                                             ; preds = %2748
  br label %2750

2750:                                             ; preds = %2749
  %2751 = load i32, ptr @test_count, align 4, !tbaa !5
  %2752 = add nsw i32 %2751, 1
  store i32 %2752, ptr @test_count, align 4, !tbaa !5
  %2753 = load ptr, ptr %63, align 8, !tbaa !9
  %2754 = load ptr, ptr %11, align 8, !tbaa !9
  %2755 = call i32 @s2n_connection_set_config(ptr noundef %2753, ptr noundef %2754)
  %2756 = icmp eq i32 %2755, -1
  br i1 %2756, label %2757, label %2810

2757:                                             ; preds = %2750
  br label %2758

2758:                                             ; preds = %2757
  br label %2759

2759:                                             ; preds = %2758
  call void @llvm.lifetime.start.p0(i64 4, ptr %65) #11
  %2760 = call ptr @__errno_location() #12
  %2761 = load i32, ptr %2760, align 4, !tbaa !5
  store i32 %2761, ptr %65, align 4, !tbaa !5
  %2762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2763 = call i32 @s2n_print_stacktrace(ptr noundef %2762)
  %2764 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2765 = trunc i8 %2764 to i1
  br i1 %2765, label %2766, label %2788

2766:                                             ; preds = %2759
  %2767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2768 = call i32 @fileno(ptr noundef %2767) #11
  %2769 = call i32 @isatty(i32 noundef %2768) #11
  %2770 = icmp ne i32 %2769, 0
  br i1 %2770, label %2771, label %2788

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

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

2805:                                             ; preds = %2788, %2771
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #11
  br label %2806

2806:                                             ; preds = %2805
  br label %2807

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

2808:                                             ; No predecessors!
  br label %2809

2809:                                             ; preds = %2808
  br label %2810

2810:                                             ; preds = %2809, %2750
  br label %2811

2811:                                             ; preds = %2810
  br label %2812

2812:                                             ; preds = %2811
  call void @llvm.lifetime.start.p0(i64 8, ptr %66) #11
  call void @llvm.memset.p0.i64(ptr align 4 %66, i8 0, i64 8, i1 false)
  br label %2813

2813:                                             ; preds = %2812
  %2814 = load i32, ptr @test_count, align 4, !tbaa !5
  %2815 = add nsw i32 %2814, 1
  store i32 %2815, ptr @test_count, align 4, !tbaa !5
  %2816 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %66)
  %2817 = icmp eq i32 %2816, -1
  br i1 %2817, label %2818, label %2871

2818:                                             ; preds = %2813
  br label %2819

2819:                                             ; preds = %2818
  br label %2820

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

2827:                                             ; preds = %2820
  %2828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2829 = call i32 @fileno(ptr noundef %2828) #11
  %2830 = call i32 @isatty(i32 noundef %2829) #11
  %2831 = icmp ne i32 %2830, 0
  br i1 %2831, label %2832, label %2849

2832:                                             ; preds = %2827
  %2833 = load i32, ptr %67, align 4, !tbaa !5
  %2834 = call ptr @__errno_location() #12
  store i32 %2833, ptr %2834, align 4, !tbaa !5
  %2835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2836 = load i32, ptr @test_count, align 4, !tbaa !5
  %2837 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2838 = load i32, ptr %2837, align 4, !tbaa !5
  %2839 = call ptr @s2n_strerror(i32 noundef %2838, ptr noundef @.str.4)
  %2840 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2841 = load i32, ptr %2840, align 4, !tbaa !5
  %2842 = call ptr @s2n_strerror_debug(i32 noundef %2841, ptr noundef @.str.4)
  %2843 = call ptr @__errno_location() #12
  %2844 = load i32, ptr %2843, align 4, !tbaa !5
  %2845 = call ptr @strerror(i32 noundef %2844) #11
  %2846 = call ptr @__errno_location() #12
  %2847 = load i32, ptr %2846, align 4, !tbaa !5
  %2848 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2835, ptr noundef @.str.2, i32 noundef %2836, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 143, ptr noundef %2839, ptr noundef %2842, ptr noundef %2845, i32 noundef %2847) #11
  br label %2866

2849:                                             ; preds = %2827, %2820
  %2850 = load i32, ptr %67, align 4, !tbaa !5
  %2851 = call ptr @__errno_location() #12
  store i32 %2850, ptr %2851, align 4, !tbaa !5
  %2852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2853 = load i32, ptr @test_count, align 4, !tbaa !5
  %2854 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2855 = load i32, ptr %2854, align 4, !tbaa !5
  %2856 = call ptr @s2n_strerror(i32 noundef %2855, ptr noundef @.str.4)
  %2857 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2858 = load i32, ptr %2857, align 4, !tbaa !5
  %2859 = call ptr @s2n_strerror_debug(i32 noundef %2858, ptr noundef @.str.4)
  %2860 = call ptr @__errno_location() #12
  %2861 = load i32, ptr %2860, align 4, !tbaa !5
  %2862 = call ptr @strerror(i32 noundef %2861) #11
  %2863 = call ptr @__errno_location() #12
  %2864 = load i32, ptr %2863, align 4, !tbaa !5
  %2865 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2852, ptr noundef @.str.5, i32 noundef %2853, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 143, ptr noundef %2856, ptr noundef %2859, ptr noundef %2862, i32 noundef %2864) #11
  br label %2866

2866:                                             ; preds = %2849, %2832
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #11
  br label %2867

2867:                                             ; preds = %2866
  br label %2868

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

2869:                                             ; No predecessors!
  br label %2870

2870:                                             ; preds = %2869
  br label %2871

2871:                                             ; preds = %2870, %2813
  br label %2872

2872:                                             ; preds = %2871
  br label %2873

2873:                                             ; preds = %2872
  br label %2874

2874:                                             ; preds = %2873
  %2875 = load i32, ptr @test_count, align 4, !tbaa !5
  %2876 = add nsw i32 %2875, 1
  store i32 %2876, ptr @test_count, align 4, !tbaa !5
  %2877 = load ptr, ptr %63, align 8, !tbaa !9
  %2878 = load ptr, ptr %60, align 8, !tbaa !9
  %2879 = call i32 @s2n_connections_set_io_pair(ptr noundef %2877, ptr noundef %2878, ptr noundef %66)
  %2880 = icmp eq i32 %2879, -1
  br i1 %2880, label %2881, label %2934

2881:                                             ; preds = %2874
  br label %2882

2882:                                             ; preds = %2881
  br label %2883

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

2890:                                             ; preds = %2883
  %2891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2892 = call i32 @fileno(ptr noundef %2891) #11
  %2893 = call i32 @isatty(i32 noundef %2892) #11
  %2894 = icmp ne i32 %2893, 0
  br i1 %2894, label %2895, label %2912

2895:                                             ; preds = %2890
  %2896 = load i32, ptr %68, align 4, !tbaa !5
  %2897 = call ptr @__errno_location() #12
  store i32 %2896, ptr %2897, align 4, !tbaa !5
  %2898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2899 = load i32, ptr @test_count, align 4, !tbaa !5
  %2900 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2901 = load i32, ptr %2900, align 4, !tbaa !5
  %2902 = call ptr @s2n_strerror(i32 noundef %2901, ptr noundef @.str.4)
  %2903 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2904 = load i32, ptr %2903, align 4, !tbaa !5
  %2905 = call ptr @s2n_strerror_debug(i32 noundef %2904, ptr noundef @.str.4)
  %2906 = call ptr @__errno_location() #12
  %2907 = load i32, ptr %2906, align 4, !tbaa !5
  %2908 = call ptr @strerror(i32 noundef %2907) #11
  %2909 = call ptr @__errno_location() #12
  %2910 = load i32, ptr %2909, align 4, !tbaa !5
  %2911 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2898, ptr noundef @.str.2, i32 noundef %2899, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 144, ptr noundef %2902, ptr noundef %2905, ptr noundef %2908, i32 noundef %2910) #11
  br label %2929

2912:                                             ; preds = %2890, %2883
  %2913 = load i32, ptr %68, align 4, !tbaa !5
  %2914 = call ptr @__errno_location() #12
  store i32 %2913, ptr %2914, align 4, !tbaa !5
  %2915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2916 = load i32, ptr @test_count, align 4, !tbaa !5
  %2917 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2918 = load i32, ptr %2917, align 4, !tbaa !5
  %2919 = call ptr @s2n_strerror(i32 noundef %2918, ptr noundef @.str.4)
  %2920 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2921 = load i32, ptr %2920, align 4, !tbaa !5
  %2922 = call ptr @s2n_strerror_debug(i32 noundef %2921, ptr noundef @.str.4)
  %2923 = call ptr @__errno_location() #12
  %2924 = load i32, ptr %2923, align 4, !tbaa !5
  %2925 = call ptr @strerror(i32 noundef %2924) #11
  %2926 = call ptr @__errno_location() #12
  %2927 = load i32, ptr %2926, align 4, !tbaa !5
  %2928 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2915, ptr noundef @.str.5, i32 noundef %2916, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 144, ptr noundef %2919, ptr noundef %2922, ptr noundef %2925, i32 noundef %2927) #11
  br label %2929

2929:                                             ; preds = %2912, %2895
  call void @llvm.lifetime.end.p0(i64 4, ptr %68) #11
  br label %2930

2930:                                             ; preds = %2929
  br label %2931

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

2932:                                             ; No predecessors!
  br label %2933

2933:                                             ; preds = %2932
  br label %2934

2934:                                             ; preds = %2933, %2874
  br label %2935

2935:                                             ; preds = %2934
  br label %2936

2936:                                             ; preds = %2935
  call void @llvm.lifetime.start.p0(i64 8, ptr %69) #11
  store i64 0, ptr %69, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 22, ptr %70) #11
  call void @llvm.memset.p0.i64(ptr align 16 %70, i8 0, i64 22, i1 false)
  br label %2937

2937:                                             ; preds = %2936
  %2938 = load i32, ptr @test_count, align 4, !tbaa !5
  %2939 = add nsw i32 %2938, 1
  store i32 %2939, ptr @test_count, align 4, !tbaa !5
  %2940 = load ptr, ptr %60, align 8, !tbaa !9
  %2941 = load ptr, ptr %63, align 8, !tbaa !9
  %2942 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %2940, ptr noundef %2941)
  %2943 = icmp eq i32 %2942, -1
  br i1 %2943, label %2944, label %2997

2944:                                             ; preds = %2937
  br label %2945

2945:                                             ; preds = %2944
  br label %2946

2946:                                             ; preds = %2945
  call void @llvm.lifetime.start.p0(i64 4, ptr %71) #11
  %2947 = call ptr @__errno_location() #12
  %2948 = load i32, ptr %2947, align 4, !tbaa !5
  store i32 %2948, ptr %71, align 4, !tbaa !5
  %2949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2950 = call i32 @s2n_print_stacktrace(ptr noundef %2949)
  %2951 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2952 = trunc i8 %2951 to i1
  br i1 %2952, label %2953, label %2975

2953:                                             ; preds = %2946
  %2954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2955 = call i32 @fileno(ptr noundef %2954) #11
  %2956 = call i32 @isatty(i32 noundef %2955) #11
  %2957 = icmp ne i32 %2956, 0
  br i1 %2957, label %2958, label %2975

2958:                                             ; preds = %2953
  %2959 = load i32, ptr %71, align 4, !tbaa !5
  %2960 = call ptr @__errno_location() #12
  store i32 %2959, ptr %2960, align 4, !tbaa !5
  %2961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2962 = load i32, ptr @test_count, align 4, !tbaa !5
  %2963 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2964 = load i32, ptr %2963, align 4, !tbaa !5
  %2965 = call ptr @s2n_strerror(i32 noundef %2964, ptr noundef @.str.4)
  %2966 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2967 = load i32, ptr %2966, align 4, !tbaa !5
  %2968 = call ptr @s2n_strerror_debug(i32 noundef %2967, ptr noundef @.str.4)
  %2969 = call ptr @__errno_location() #12
  %2970 = load i32, ptr %2969, align 4, !tbaa !5
  %2971 = call ptr @strerror(i32 noundef %2970) #11
  %2972 = call ptr @__errno_location() #12
  %2973 = load i32, ptr %2972, align 4, !tbaa !5
  %2974 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2961, ptr noundef @.str.2, i32 noundef %2962, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 150, ptr noundef %2965, ptr noundef %2968, ptr noundef %2971, i32 noundef %2973) #11
  br label %2992

2975:                                             ; preds = %2953, %2946
  %2976 = load i32, ptr %71, align 4, !tbaa !5
  %2977 = call ptr @__errno_location() #12
  store i32 %2976, ptr %2977, align 4, !tbaa !5
  %2978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2979 = load i32, ptr @test_count, align 4, !tbaa !5
  %2980 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2981 = load i32, ptr %2980, align 4, !tbaa !5
  %2982 = call ptr @s2n_strerror(i32 noundef %2981, ptr noundef @.str.4)
  %2983 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2984 = load i32, ptr %2983, align 4, !tbaa !5
  %2985 = call ptr @s2n_strerror_debug(i32 noundef %2984, ptr noundef @.str.4)
  %2986 = call ptr @__errno_location() #12
  %2987 = load i32, ptr %2986, align 4, !tbaa !5
  %2988 = call ptr @strerror(i32 noundef %2987) #11
  %2989 = call ptr @__errno_location() #12
  %2990 = load i32, ptr %2989, align 4, !tbaa !5
  %2991 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2978, ptr noundef @.str.5, i32 noundef %2979, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 150, ptr noundef %2982, ptr noundef %2985, ptr noundef %2988, i32 noundef %2990) #11
  br label %2992

2992:                                             ; preds = %2975, %2958
  call void @llvm.lifetime.end.p0(i64 4, ptr %71) #11
  br label %2993

2993:                                             ; preds = %2992
  br label %2994

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

2995:                                             ; No predecessors!
  br label %2996

2996:                                             ; preds = %2995
  br label %2997

2997:                                             ; preds = %2996, %2937
  br label %2998

2998:                                             ; preds = %2997
  br label %2999

2999:                                             ; preds = %2998
  br label %3000

3000:                                             ; preds = %2999
  %3001 = load i32, ptr @test_count, align 4, !tbaa !5
  %3002 = add nsw i32 %3001, 1
  store i32 %3002, ptr @test_count, align 4, !tbaa !5
  %3003 = load ptr, ptr %63, align 8, !tbaa !9
  %3004 = call i32 @s2n_renegotiate_wipe(ptr noundef %3003)
  %3005 = icmp eq i32 %3004, -1
  br i1 %3005, label %3006, label %3059

3006:                                             ; preds = %3000
  br label %3007

3007:                                             ; preds = %3006
  br label %3008

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

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

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

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

3054:                                             ; preds = %3037, %3020
  call void @llvm.lifetime.end.p0(i64 4, ptr %72) #11
  br label %3055

3055:                                             ; preds = %3054
  br label %3056

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

3057:                                             ; No predecessors!
  br label %3058

3058:                                             ; preds = %3057
  br label %3059

3059:                                             ; preds = %3058, %3000
  br label %3060

3060:                                             ; preds = %3059
  br label %3061

3061:                                             ; preds = %3060
  br label %3062

3062:                                             ; preds = %3061
  %3063 = load i32, ptr @test_count, align 4, !tbaa !5
  %3064 = add nsw i32 %3063, 1
  store i32 %3064, ptr @test_count, align 4, !tbaa !5
  %3065 = load ptr, ptr %60, align 8, !tbaa !9
  %3066 = call i32 @s2n_renegotiate_wipe(ptr noundef %3065)
  %3067 = icmp eq i32 %3066, -1
  br i1 %3067, label %3068, label %3121

3068:                                             ; preds = %3062
  br label %3069

3069:                                             ; preds = %3068
  br label %3070

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

3077:                                             ; preds = %3070
  %3078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3079 = call i32 @fileno(ptr noundef %3078) #11
  %3080 = call i32 @isatty(i32 noundef %3079) #11
  %3081 = icmp ne i32 %3080, 0
  br i1 %3081, label %3082, label %3099

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

3099:                                             ; preds = %3077, %3070
  %3100 = load i32, ptr %73, align 4, !tbaa !5
  %3101 = call ptr @__errno_location() #12
  store i32 %3100, ptr %3101, align 4, !tbaa !5
  %3102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3103 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %3105, ptr noundef @.str.4)
  %3107 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3108 = load i32, ptr %3107, align 4, !tbaa !5
  %3109 = call ptr @s2n_strerror_debug(i32 noundef %3108, ptr noundef @.str.4)
  %3110 = call ptr @__errno_location() #12
  %3111 = load i32, ptr %3110, align 4, !tbaa !5
  %3112 = call ptr @strerror(i32 noundef %3111) #11
  %3113 = call ptr @__errno_location() #12
  %3114 = load i32, ptr %3113, align 4, !tbaa !5
  %3115 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3102, ptr noundef @.str.5, i32 noundef %3103, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 152, ptr noundef %3106, ptr noundef %3109, ptr noundef %3112, i32 noundef %3114) #11
  br label %3116

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

3117:                                             ; preds = %3116
  br label %3118

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

3119:                                             ; No predecessors!
  br label %3120

3120:                                             ; preds = %3119
  br label %3121

3121:                                             ; preds = %3120, %3062
  br label %3122

3122:                                             ; preds = %3121
  br label %3123

3123:                                             ; preds = %3122
  br label %3124

3124:                                             ; preds = %3123
  %3125 = load i32, ptr @test_count, align 4, !tbaa !5
  %3126 = add nsw i32 %3125, 1
  store i32 %3126, ptr @test_count, align 4, !tbaa !5
  %3127 = load ptr, ptr %60, align 8, !tbaa !9
  %3128 = getelementptr inbounds [22 x i8], ptr %16, i64 0, i64 0
  %3129 = call i64 @s2n_send(ptr noundef %3127, ptr noundef %3128, i64 noundef 22, ptr noundef %17)
  %3130 = icmp eq i64 %3129, 22
  br i1 %3130, label %3184, label %3131

3131:                                             ; preds = %3124
  br label %3132

3132:                                             ; preds = %3131
  br label %3133

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

3140:                                             ; preds = %3133
  %3141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3142 = call i32 @fileno(ptr noundef %3141) #11
  %3143 = call i32 @isatty(i32 noundef %3142) #11
  %3144 = icmp ne i32 %3143, 0
  br i1 %3144, label %3145, label %3162

3145:                                             ; preds = %3140
  %3146 = load i32, ptr %74, align 4, !tbaa !5
  %3147 = call ptr @__errno_location() #12
  store i32 %3146, ptr %3147, align 4, !tbaa !5
  %3148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3149 = load i32, ptr @test_count, align 4, !tbaa !5
  %3150 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3151 = load i32, ptr %3150, align 4, !tbaa !5
  %3152 = call ptr @s2n_strerror(i32 noundef %3151, ptr noundef @.str.4)
  %3153 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3154 = load i32, ptr %3153, align 4, !tbaa !5
  %3155 = call ptr @s2n_strerror_debug(i32 noundef %3154, ptr noundef @.str.4)
  %3156 = call ptr @__errno_location() #12
  %3157 = load i32, ptr %3156, align 4, !tbaa !5
  %3158 = call ptr @strerror(i32 noundef %3157) #11
  %3159 = call ptr @__errno_location() #12
  %3160 = load i32, ptr %3159, align 4, !tbaa !5
  %3161 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3148, ptr noundef @.str.2, i32 noundef %3149, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 155, ptr noundef %3152, ptr noundef %3155, ptr noundef %3158, i32 noundef %3160) #11
  br label %3179

3162:                                             ; preds = %3140, %3133
  %3163 = load i32, ptr %74, align 4, !tbaa !5
  %3164 = call ptr @__errno_location() #12
  store i32 %3163, ptr %3164, align 4, !tbaa !5
  %3165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3166 = load i32, ptr @test_count, align 4, !tbaa !5
  %3167 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3168 = load i32, ptr %3167, align 4, !tbaa !5
  %3169 = call ptr @s2n_strerror(i32 noundef %3168, ptr noundef @.str.4)
  %3170 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3171 = load i32, ptr %3170, align 4, !tbaa !5
  %3172 = call ptr @s2n_strerror_debug(i32 noundef %3171, ptr noundef @.str.4)
  %3173 = call ptr @__errno_location() #12
  %3174 = load i32, ptr %3173, align 4, !tbaa !5
  %3175 = call ptr @strerror(i32 noundef %3174) #11
  %3176 = call ptr @__errno_location() #12
  %3177 = load i32, ptr %3176, align 4, !tbaa !5
  %3178 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3165, ptr noundef @.str.5, i32 noundef %3166, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 155, ptr noundef %3169, ptr noundef %3172, ptr noundef %3175, i32 noundef %3177) #11
  br label %3179

3179:                                             ; preds = %3162, %3145
  call void @llvm.lifetime.end.p0(i64 4, ptr %74) #11
  br label %3180

3180:                                             ; preds = %3179
  br label %3181

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

3182:                                             ; No predecessors!
  br label %3183

3183:                                             ; preds = %3182
  br label %3184

3184:                                             ; preds = %3183, %3124
  br label %3185

3185:                                             ; preds = %3184
  br label %3186

3186:                                             ; preds = %3185
  call void @llvm.lifetime.start.p0(i64 8, ptr %75) #11
  store i64 2, ptr %75, align 8, !tbaa !15
  br label %3187

3187:                                             ; preds = %3186
  br label %3188

3188:                                             ; preds = %3187
  br label %3189

3189:                                             ; preds = %3188
  %3190 = load i32, ptr @test_count, align 4, !tbaa !5
  %3191 = add nsw i32 %3190, 1
  store i32 %3191, ptr @test_count, align 4, !tbaa !5
  %3192 = load ptr, ptr %63, align 8, !tbaa !9
  %3193 = getelementptr inbounds [22 x i8], ptr %70, i64 0, i64 0
  %3194 = call i32 @s2n_renegotiate(ptr noundef %3192, ptr noundef %3193, i64 noundef 2, ptr noundef %69, ptr noundef %17)
  %3195 = icmp eq i32 %3194, -1
  br i1 %3195, label %3249, label %3196

3196:                                             ; preds = %3189
  br label %3197

3197:                                             ; preds = %3196
  br label %3198

3198:                                             ; preds = %3197
  call void @llvm.lifetime.start.p0(i64 4, ptr %76) #11
  %3199 = call ptr @__errno_location() #12
  %3200 = load i32, ptr %3199, align 4, !tbaa !5
  store i32 %3200, ptr %76, align 4, !tbaa !5
  %3201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3202 = call i32 @s2n_print_stacktrace(ptr noundef %3201)
  %3203 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3204 = trunc i8 %3203 to i1
  br i1 %3204, label %3205, label %3227

3205:                                             ; preds = %3198
  %3206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3207 = call i32 @fileno(ptr noundef %3206) #11
  %3208 = call i32 @isatty(i32 noundef %3207) #11
  %3209 = icmp ne i32 %3208, 0
  br i1 %3209, label %3210, label %3227

3210:                                             ; preds = %3205
  %3211 = load i32, ptr %76, align 4, !tbaa !5
  %3212 = call ptr @__errno_location() #12
  store i32 %3211, ptr %3212, align 4, !tbaa !5
  %3213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3214 = load i32, ptr @test_count, align 4, !tbaa !5
  %3215 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3216 = load i32, ptr %3215, align 4, !tbaa !5
  %3217 = call ptr @s2n_strerror(i32 noundef %3216, ptr noundef @.str.4)
  %3218 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3219 = load i32, ptr %3218, align 4, !tbaa !5
  %3220 = call ptr @s2n_strerror_debug(i32 noundef %3219, ptr noundef @.str.4)
  %3221 = call ptr @__errno_location() #12
  %3222 = load i32, ptr %3221, align 4, !tbaa !5
  %3223 = call ptr @strerror(i32 noundef %3222) #11
  %3224 = call ptr @__errno_location() #12
  %3225 = load i32, ptr %3224, align 4, !tbaa !5
  %3226 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3213, ptr noundef @.str.2, i32 noundef %3214, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 160, ptr noundef %3217, ptr noundef %3220, ptr noundef %3223, i32 noundef %3225) #11
  br label %3244

3227:                                             ; preds = %3205, %3198
  %3228 = load i32, ptr %76, align 4, !tbaa !5
  %3229 = call ptr @__errno_location() #12
  store i32 %3228, ptr %3229, align 4, !tbaa !5
  %3230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3231 = load i32, ptr @test_count, align 4, !tbaa !5
  %3232 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3233 = load i32, ptr %3232, align 4, !tbaa !5
  %3234 = call ptr @s2n_strerror(i32 noundef %3233, ptr noundef @.str.4)
  %3235 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3236 = load i32, ptr %3235, align 4, !tbaa !5
  %3237 = call ptr @s2n_strerror_debug(i32 noundef %3236, ptr noundef @.str.4)
  %3238 = call ptr @__errno_location() #12
  %3239 = load i32, ptr %3238, align 4, !tbaa !5
  %3240 = call ptr @strerror(i32 noundef %3239) #11
  %3241 = call ptr @__errno_location() #12
  %3242 = load i32, ptr %3241, align 4, !tbaa !5
  %3243 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3230, ptr noundef @.str.5, i32 noundef %3231, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 160, ptr noundef %3234, ptr noundef %3237, ptr noundef %3240, i32 noundef %3242) #11
  br label %3244

3244:                                             ; preds = %3227, %3210
  call void @llvm.lifetime.end.p0(i64 4, ptr %76) #11
  br label %3245

3245:                                             ; preds = %3244
  br label %3246

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

3247:                                             ; No predecessors!
  br label %3248

3248:                                             ; preds = %3247
  br label %3249

3249:                                             ; preds = %3248, %3189
  br label %3250

3250:                                             ; preds = %3249
  br label %3251

3251:                                             ; preds = %3250
  br label %3252

3252:                                             ; preds = %3251
  %3253 = load i32, ptr @test_count, align 4, !tbaa !5
  %3254 = add nsw i32 %3253, 1
  store i32 %3254, ptr @test_count, align 4, !tbaa !5
  %3255 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3256 = load i32, ptr %3255, align 4, !tbaa !5
  %3257 = icmp eq i32 %3256, 201326595
  br i1 %3257, label %3311, label %3258

3258:                                             ; preds = %3252
  br label %3259

3259:                                             ; preds = %3258
  br label %3260

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

3267:                                             ; preds = %3260
  %3268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3269 = call i32 @fileno(ptr noundef %3268) #11
  %3270 = call i32 @isatty(i32 noundef %3269) #11
  %3271 = icmp ne i32 %3270, 0
  br i1 %3271, label %3272, label %3289

3272:                                             ; preds = %3267
  %3273 = load i32, ptr %77, align 4, !tbaa !5
  %3274 = call ptr @__errno_location() #12
  store i32 %3273, ptr %3274, align 4, !tbaa !5
  %3275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3276 = load i32, ptr @test_count, align 4, !tbaa !5
  %3277 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3278 = load i32, ptr %3277, align 4, !tbaa !5
  %3279 = call ptr @s2n_strerror(i32 noundef %3278, ptr noundef @.str.4)
  %3280 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3281 = load i32, ptr %3280, align 4, !tbaa !5
  %3282 = call ptr @s2n_strerror_debug(i32 noundef %3281, ptr noundef @.str.4)
  %3283 = call ptr @__errno_location() #12
  %3284 = load i32, ptr %3283, align 4, !tbaa !5
  %3285 = call ptr @strerror(i32 noundef %3284) #11
  %3286 = call ptr @__errno_location() #12
  %3287 = load i32, ptr %3286, align 4, !tbaa !5
  %3288 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3275, ptr noundef @.str.2, i32 noundef %3276, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 160, ptr noundef %3279, ptr noundef %3282, ptr noundef %3285, i32 noundef %3287) #11
  br label %3306

3289:                                             ; preds = %3267, %3260
  %3290 = load i32, ptr %77, align 4, !tbaa !5
  %3291 = call ptr @__errno_location() #12
  store i32 %3290, ptr %3291, align 4, !tbaa !5
  %3292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3293 = load i32, ptr @test_count, align 4, !tbaa !5
  %3294 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3295 = load i32, ptr %3294, align 4, !tbaa !5
  %3296 = call ptr @s2n_strerror(i32 noundef %3295, ptr noundef @.str.4)
  %3297 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3298 = load i32, ptr %3297, align 4, !tbaa !5
  %3299 = call ptr @s2n_strerror_debug(i32 noundef %3298, ptr noundef @.str.4)
  %3300 = call ptr @__errno_location() #12
  %3301 = load i32, ptr %3300, align 4, !tbaa !5
  %3302 = call ptr @strerror(i32 noundef %3301) #11
  %3303 = call ptr @__errno_location() #12
  %3304 = load i32, ptr %3303, align 4, !tbaa !5
  %3305 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3292, ptr noundef @.str.5, i32 noundef %3293, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 160, ptr noundef %3296, ptr noundef %3299, ptr noundef %3302, i32 noundef %3304) #11
  br label %3306

3306:                                             ; preds = %3289, %3272
  call void @llvm.lifetime.end.p0(i64 4, ptr %77) #11
  br label %3307

3307:                                             ; preds = %3306
  br label %3308

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

3309:                                             ; No predecessors!
  br label %3310

3310:                                             ; preds = %3309
  br label %3311

3311:                                             ; preds = %3310, %3252
  br label %3312

3312:                                             ; preds = %3311
  br label %3313

3313:                                             ; preds = %3312
  br label %3314

3314:                                             ; preds = %3313
  %3315 = load i32, ptr @test_count, align 4, !tbaa !5
  %3316 = add nsw i32 %3315, 1
  store i32 %3316, ptr @test_count, align 4, !tbaa !5
  %3317 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3318 = load i32, ptr %3317, align 4, !tbaa !5
  %3319 = call ptr @s2n_strerror_debug(i32 noundef %3318, ptr noundef @.str.4)
  %3320 = icmp eq ptr %3319, null
  br i1 %3320, label %3321, label %3374

3321:                                             ; preds = %3314
  br label %3322

3322:                                             ; preds = %3321
  br label %3323

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

3330:                                             ; preds = %3323
  %3331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3332 = call i32 @fileno(ptr noundef %3331) #11
  %3333 = call i32 @isatty(i32 noundef %3332) #11
  %3334 = icmp ne i32 %3333, 0
  br i1 %3334, label %3335, label %3352

3335:                                             ; preds = %3330
  %3336 = load i32, ptr %78, align 4, !tbaa !5
  %3337 = call ptr @__errno_location() #12
  store i32 %3336, ptr %3337, align 4, !tbaa !5
  %3338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3339 = load i32, ptr @test_count, align 4, !tbaa !5
  %3340 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3341 = load i32, ptr %3340, align 4, !tbaa !5
  %3342 = call ptr @s2n_strerror(i32 noundef %3341, ptr noundef @.str.4)
  %3343 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3344 = load i32, ptr %3343, align 4, !tbaa !5
  %3345 = call ptr @s2n_strerror_debug(i32 noundef %3344, ptr noundef @.str.4)
  %3346 = call ptr @__errno_location() #12
  %3347 = load i32, ptr %3346, align 4, !tbaa !5
  %3348 = call ptr @strerror(i32 noundef %3347) #11
  %3349 = call ptr @__errno_location() #12
  %3350 = load i32, ptr %3349, align 4, !tbaa !5
  %3351 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3338, ptr noundef @.str.2, i32 noundef %3339, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 160, ptr noundef %3342, ptr noundef %3345, ptr noundef %3348, i32 noundef %3350) #11
  br label %3369

3352:                                             ; preds = %3330, %3323
  %3353 = load i32, ptr %78, align 4, !tbaa !5
  %3354 = call ptr @__errno_location() #12
  store i32 %3353, ptr %3354, align 4, !tbaa !5
  %3355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3356 = load i32, ptr @test_count, align 4, !tbaa !5
  %3357 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3358 = load i32, ptr %3357, align 4, !tbaa !5
  %3359 = call ptr @s2n_strerror(i32 noundef %3358, ptr noundef @.str.4)
  %3360 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3361 = load i32, ptr %3360, align 4, !tbaa !5
  %3362 = call ptr @s2n_strerror_debug(i32 noundef %3361, ptr noundef @.str.4)
  %3363 = call ptr @__errno_location() #12
  %3364 = load i32, ptr %3363, align 4, !tbaa !5
  %3365 = call ptr @strerror(i32 noundef %3364) #11
  %3366 = call ptr @__errno_location() #12
  %3367 = load i32, ptr %3366, align 4, !tbaa !5
  %3368 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3355, ptr noundef @.str.5, i32 noundef %3356, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 160, ptr noundef %3359, ptr noundef %3362, ptr noundef %3365, i32 noundef %3367) #11
  br label %3369

3369:                                             ; preds = %3352, %3335
  call void @llvm.lifetime.end.p0(i64 4, ptr %78) #11
  br label %3370

3370:                                             ; preds = %3369
  br label %3371

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

3372:                                             ; No predecessors!
  br label %3373

3373:                                             ; preds = %3372
  br label %3374

3374:                                             ; preds = %3373, %3314
  br label %3375

3375:                                             ; preds = %3374
  br label %3376

3376:                                             ; preds = %3375
  br label %3377

3377:                                             ; preds = %3376
  br label %3378

3378:                                             ; preds = %3377
  br label %3379

3379:                                             ; preds = %3378
  %3380 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %3380, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %3381 = call ptr @__errno_location() #12
  store i32 0, ptr %3381, align 4, !tbaa !5
  br label %3382

3382:                                             ; preds = %3379
  br label %3383

3383:                                             ; preds = %3382
  br label %3384

3384:                                             ; preds = %3383
  br label %3385

3385:                                             ; preds = %3384
  br label %3386

3386:                                             ; preds = %3385
  %3387 = load i32, ptr @test_count, align 4, !tbaa !5
  %3388 = add nsw i32 %3387, 1
  store i32 %3388, ptr @test_count, align 4, !tbaa !5
  %3389 = load i32, ptr %17, align 4, !tbaa !5
  %3390 = load i32, ptr @S2N_BLOCKED_ON_APPLICATION_DATA, align 4, !tbaa !5
  %3391 = icmp eq i32 %3389, %3390
  br i1 %3391, label %3445, label %3392

3392:                                             ; preds = %3386
  br label %3393

3393:                                             ; preds = %3392
  br label %3394

3394:                                             ; preds = %3393
  call void @llvm.lifetime.start.p0(i64 4, ptr %79) #11
  %3395 = call ptr @__errno_location() #12
  %3396 = load i32, ptr %3395, align 4, !tbaa !5
  store i32 %3396, ptr %79, align 4, !tbaa !5
  %3397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3398 = call i32 @s2n_print_stacktrace(ptr noundef %3397)
  %3399 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3400 = trunc i8 %3399 to i1
  br i1 %3400, label %3401, label %3423

3401:                                             ; preds = %3394
  %3402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3403 = call i32 @fileno(ptr noundef %3402) #11
  %3404 = call i32 @isatty(i32 noundef %3403) #11
  %3405 = icmp ne i32 %3404, 0
  br i1 %3405, label %3406, label %3423

3406:                                             ; preds = %3401
  %3407 = load i32, ptr %79, align 4, !tbaa !5
  %3408 = call ptr @__errno_location() #12
  store i32 %3407, ptr %3408, align 4, !tbaa !5
  %3409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3410 = load i32, ptr @test_count, align 4, !tbaa !5
  %3411 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3412 = load i32, ptr %3411, align 4, !tbaa !5
  %3413 = call ptr @s2n_strerror(i32 noundef %3412, ptr noundef @.str.4)
  %3414 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3415 = load i32, ptr %3414, align 4, !tbaa !5
  %3416 = call ptr @s2n_strerror_debug(i32 noundef %3415, ptr noundef @.str.4)
  %3417 = call ptr @__errno_location() #12
  %3418 = load i32, ptr %3417, align 4, !tbaa !5
  %3419 = call ptr @strerror(i32 noundef %3418) #11
  %3420 = call ptr @__errno_location() #12
  %3421 = load i32, ptr %3420, align 4, !tbaa !5
  %3422 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3409, ptr noundef @.str.2, i32 noundef %3410, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 161, ptr noundef %3413, ptr noundef %3416, ptr noundef %3419, i32 noundef %3421) #11
  br label %3440

3423:                                             ; preds = %3401, %3394
  %3424 = load i32, ptr %79, align 4, !tbaa !5
  %3425 = call ptr @__errno_location() #12
  store i32 %3424, ptr %3425, align 4, !tbaa !5
  %3426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3427 = load i32, ptr @test_count, align 4, !tbaa !5
  %3428 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3429 = load i32, ptr %3428, align 4, !tbaa !5
  %3430 = call ptr @s2n_strerror(i32 noundef %3429, ptr noundef @.str.4)
  %3431 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3432 = load i32, ptr %3431, align 4, !tbaa !5
  %3433 = call ptr @s2n_strerror_debug(i32 noundef %3432, ptr noundef @.str.4)
  %3434 = call ptr @__errno_location() #12
  %3435 = load i32, ptr %3434, align 4, !tbaa !5
  %3436 = call ptr @strerror(i32 noundef %3435) #11
  %3437 = call ptr @__errno_location() #12
  %3438 = load i32, ptr %3437, align 4, !tbaa !5
  %3439 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3426, ptr noundef @.str.5, i32 noundef %3427, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 161, ptr noundef %3430, ptr noundef %3433, ptr noundef %3436, i32 noundef %3438) #11
  br label %3440

3440:                                             ; preds = %3423, %3406
  call void @llvm.lifetime.end.p0(i64 4, ptr %79) #11
  br label %3441

3441:                                             ; preds = %3440
  br label %3442

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

3443:                                             ; No predecessors!
  br label %3444

3444:                                             ; preds = %3443
  br label %3445

3445:                                             ; preds = %3444, %3386
  br label %3446

3446:                                             ; preds = %3445
  br label %3447

3447:                                             ; preds = %3446
  br label %3448

3448:                                             ; preds = %3447
  %3449 = load i32, ptr @test_count, align 4, !tbaa !5
  %3450 = add nsw i32 %3449, 1
  store i32 %3450, ptr @test_count, align 4, !tbaa !5
  %3451 = load i64, ptr %69, align 8, !tbaa !15
  %3452 = icmp eq i64 %3451, 2
  br i1 %3452, label %3506, label %3453

3453:                                             ; preds = %3448
  br label %3454

3454:                                             ; preds = %3453
  br label %3455

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

3462:                                             ; preds = %3455
  %3463 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3464 = call i32 @fileno(ptr noundef %3463) #11
  %3465 = call i32 @isatty(i32 noundef %3464) #11
  %3466 = icmp ne i32 %3465, 0
  br i1 %3466, label %3467, label %3484

3467:                                             ; preds = %3462
  %3468 = load i32, ptr %80, align 4, !tbaa !5
  %3469 = call ptr @__errno_location() #12
  store i32 %3468, ptr %3469, align 4, !tbaa !5
  %3470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3471 = load i32, ptr @test_count, align 4, !tbaa !5
  %3472 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3473 = load i32, ptr %3472, align 4, !tbaa !5
  %3474 = call ptr @s2n_strerror(i32 noundef %3473, ptr noundef @.str.4)
  %3475 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3476 = load i32, ptr %3475, align 4, !tbaa !5
  %3477 = call ptr @s2n_strerror_debug(i32 noundef %3476, ptr noundef @.str.4)
  %3478 = call ptr @__errno_location() #12
  %3479 = load i32, ptr %3478, align 4, !tbaa !5
  %3480 = call ptr @strerror(i32 noundef %3479) #11
  %3481 = call ptr @__errno_location() #12
  %3482 = load i32, ptr %3481, align 4, !tbaa !5
  %3483 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3470, ptr noundef @.str.2, i32 noundef %3471, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 162, ptr noundef %3474, ptr noundef %3477, ptr noundef %3480, i32 noundef %3482) #11
  br label %3501

3484:                                             ; preds = %3462, %3455
  %3485 = load i32, ptr %80, align 4, !tbaa !5
  %3486 = call ptr @__errno_location() #12
  store i32 %3485, ptr %3486, align 4, !tbaa !5
  %3487 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3488 = load i32, ptr @test_count, align 4, !tbaa !5
  %3489 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3490 = load i32, ptr %3489, align 4, !tbaa !5
  %3491 = call ptr @s2n_strerror(i32 noundef %3490, ptr noundef @.str.4)
  %3492 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3493 = load i32, ptr %3492, align 4, !tbaa !5
  %3494 = call ptr @s2n_strerror_debug(i32 noundef %3493, ptr noundef @.str.4)
  %3495 = call ptr @__errno_location() #12
  %3496 = load i32, ptr %3495, align 4, !tbaa !5
  %3497 = call ptr @strerror(i32 noundef %3496) #11
  %3498 = call ptr @__errno_location() #12
  %3499 = load i32, ptr %3498, align 4, !tbaa !5
  %3500 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3487, ptr noundef @.str.5, i32 noundef %3488, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 162, ptr noundef %3491, ptr noundef %3494, ptr noundef %3497, i32 noundef %3499) #11
  br label %3501

3501:                                             ; preds = %3484, %3467
  call void @llvm.lifetime.end.p0(i64 4, ptr %80) #11
  br label %3502

3502:                                             ; preds = %3501
  br label %3503

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

3504:                                             ; No predecessors!
  br label %3505

3505:                                             ; preds = %3504
  br label %3506

3506:                                             ; preds = %3505, %3448
  br label %3507

3507:                                             ; preds = %3506
  br label %3508

3508:                                             ; preds = %3507
  br label %3509

3509:                                             ; preds = %3508
  br label %3510

3510:                                             ; preds = %3509
  %3511 = load i32, ptr @test_count, align 4, !tbaa !5
  %3512 = add nsw i32 %3511, 1
  store i32 %3512, ptr @test_count, align 4, !tbaa !5
  %3513 = getelementptr inbounds [22 x i8], ptr %70, i64 0, i64 0
  %3514 = getelementptr inbounds [22 x i8], ptr %16, i64 0, i64 0
  %3515 = call i32 @memcmp(ptr noundef %3513, ptr noundef %3514, i64 noundef 2) #14
  %3516 = icmp eq i32 %3515, 0
  br i1 %3516, label %3570, label %3517

3517:                                             ; preds = %3510
  br label %3518

3518:                                             ; preds = %3517
  br label %3519

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

3526:                                             ; preds = %3519
  %3527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3528 = call i32 @fileno(ptr noundef %3527) #11
  %3529 = call i32 @isatty(i32 noundef %3528) #11
  %3530 = icmp ne i32 %3529, 0
  br i1 %3530, label %3531, label %3548

3531:                                             ; preds = %3526
  %3532 = load i32, ptr %81, align 4, !tbaa !5
  %3533 = call ptr @__errno_location() #12
  store i32 %3532, ptr %3533, align 4, !tbaa !5
  %3534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3535 = load i32, ptr @test_count, align 4, !tbaa !5
  %3536 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3537 = load i32, ptr %3536, align 4, !tbaa !5
  %3538 = call ptr @s2n_strerror(i32 noundef %3537, ptr noundef @.str.4)
  %3539 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3540 = load i32, ptr %3539, align 4, !tbaa !5
  %3541 = call ptr @s2n_strerror_debug(i32 noundef %3540, ptr noundef @.str.4)
  %3542 = call ptr @__errno_location() #12
  %3543 = load i32, ptr %3542, align 4, !tbaa !5
  %3544 = call ptr @strerror(i32 noundef %3543) #11
  %3545 = call ptr @__errno_location() #12
  %3546 = load i32, ptr %3545, align 4, !tbaa !5
  %3547 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3534, ptr noundef @.str.2, i32 noundef %3535, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 163, ptr noundef %3538, ptr noundef %3541, ptr noundef %3544, i32 noundef %3546) #11
  br label %3565

3548:                                             ; preds = %3526, %3519
  %3549 = load i32, ptr %81, align 4, !tbaa !5
  %3550 = call ptr @__errno_location() #12
  store i32 %3549, ptr %3550, align 4, !tbaa !5
  %3551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3552 = load i32, ptr @test_count, align 4, !tbaa !5
  %3553 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3554 = load i32, ptr %3553, align 4, !tbaa !5
  %3555 = call ptr @s2n_strerror(i32 noundef %3554, ptr noundef @.str.4)
  %3556 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3557 = load i32, ptr %3556, align 4, !tbaa !5
  %3558 = call ptr @s2n_strerror_debug(i32 noundef %3557, ptr noundef @.str.4)
  %3559 = call ptr @__errno_location() #12
  %3560 = load i32, ptr %3559, align 4, !tbaa !5
  %3561 = call ptr @strerror(i32 noundef %3560) #11
  %3562 = call ptr @__errno_location() #12
  %3563 = load i32, ptr %3562, align 4, !tbaa !5
  %3564 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3551, ptr noundef @.str.5, i32 noundef %3552, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 163, ptr noundef %3555, ptr noundef %3558, ptr noundef %3561, i32 noundef %3563) #11
  br label %3565

3565:                                             ; preds = %3548, %3531
  call void @llvm.lifetime.end.p0(i64 4, ptr %81) #11
  br label %3566

3566:                                             ; preds = %3565
  br label %3567

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

3568:                                             ; No predecessors!
  br label %3569

3569:                                             ; preds = %3568
  br label %3570

3570:                                             ; preds = %3569, %3510
  br label %3571

3571:                                             ; preds = %3570
  br label %3572

3572:                                             ; preds = %3571
  br label %3573

3573:                                             ; preds = %3572
  br label %3574

3574:                                             ; preds = %3573
  br label %3575

3575:                                             ; preds = %3574
  %3576 = load i32, ptr @test_count, align 4, !tbaa !5
  %3577 = add nsw i32 %3576, 1
  store i32 %3577, ptr @test_count, align 4, !tbaa !5
  %3578 = load ptr, ptr %63, align 8, !tbaa !9
  %3579 = call i32 @s2n_conn_get_current_message_type(ptr noundef %3578)
  %3580 = icmp eq i32 %3579, 1
  br i1 %3580, label %3634, label %3581

3581:                                             ; preds = %3575
  br label %3582

3582:                                             ; preds = %3581
  br label %3583

3583:                                             ; preds = %3582
  call void @llvm.lifetime.start.p0(i64 4, ptr %82) #11
  %3584 = call ptr @__errno_location() #12
  %3585 = load i32, ptr %3584, align 4, !tbaa !5
  store i32 %3585, ptr %82, align 4, !tbaa !5
  %3586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3587 = call i32 @s2n_print_stacktrace(ptr noundef %3586)
  %3588 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3589 = trunc i8 %3588 to i1
  br i1 %3589, label %3590, label %3612

3590:                                             ; preds = %3583
  %3591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3592 = call i32 @fileno(ptr noundef %3591) #11
  %3593 = call i32 @isatty(i32 noundef %3592) #11
  %3594 = icmp ne i32 %3593, 0
  br i1 %3594, label %3595, label %3612

3595:                                             ; preds = %3590
  %3596 = load i32, ptr %82, align 4, !tbaa !5
  %3597 = call ptr @__errno_location() #12
  store i32 %3596, ptr %3597, align 4, !tbaa !5
  %3598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3599 = load i32, ptr @test_count, align 4, !tbaa !5
  %3600 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3601 = load i32, ptr %3600, align 4, !tbaa !5
  %3602 = call ptr @s2n_strerror(i32 noundef %3601, ptr noundef @.str.4)
  %3603 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3604 = load i32, ptr %3603, align 4, !tbaa !5
  %3605 = call ptr @s2n_strerror_debug(i32 noundef %3604, ptr noundef @.str.4)
  %3606 = call ptr @__errno_location() #12
  %3607 = load i32, ptr %3606, align 4, !tbaa !5
  %3608 = call ptr @strerror(i32 noundef %3607) #11
  %3609 = call ptr @__errno_location() #12
  %3610 = load i32, ptr %3609, align 4, !tbaa !5
  %3611 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3598, ptr noundef @.str.2, i32 noundef %3599, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 166, ptr noundef %3602, ptr noundef %3605, ptr noundef %3608, i32 noundef %3610) #11
  br label %3629

3612:                                             ; preds = %3590, %3583
  %3613 = load i32, ptr %82, align 4, !tbaa !5
  %3614 = call ptr @__errno_location() #12
  store i32 %3613, ptr %3614, align 4, !tbaa !5
  %3615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3616 = load i32, ptr @test_count, align 4, !tbaa !5
  %3617 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3618 = load i32, ptr %3617, align 4, !tbaa !5
  %3619 = call ptr @s2n_strerror(i32 noundef %3618, ptr noundef @.str.4)
  %3620 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3621 = load i32, ptr %3620, align 4, !tbaa !5
  %3622 = call ptr @s2n_strerror_debug(i32 noundef %3621, ptr noundef @.str.4)
  %3623 = call ptr @__errno_location() #12
  %3624 = load i32, ptr %3623, align 4, !tbaa !5
  %3625 = call ptr @strerror(i32 noundef %3624) #11
  %3626 = call ptr @__errno_location() #12
  %3627 = load i32, ptr %3626, align 4, !tbaa !5
  %3628 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3615, ptr noundef @.str.5, i32 noundef %3616, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 166, ptr noundef %3619, ptr noundef %3622, ptr noundef %3625, i32 noundef %3627) #11
  br label %3629

3629:                                             ; preds = %3612, %3595
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #11
  br label %3630

3630:                                             ; preds = %3629
  br label %3631

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

3632:                                             ; No predecessors!
  br label %3633

3633:                                             ; preds = %3632
  br label %3634

3634:                                             ; preds = %3633, %3575
  br label %3635

3635:                                             ; preds = %3634
  br label %3636

3636:                                             ; preds = %3635
  br label %3637

3637:                                             ; preds = %3636
  br label %3638

3638:                                             ; preds = %3637
  br label %3639

3639:                                             ; preds = %3638
  %3640 = load i32, ptr @test_count, align 4, !tbaa !5
  %3641 = add nsw i32 %3640, 1
  store i32 %3641, ptr @test_count, align 4, !tbaa !5
  %3642 = load ptr, ptr %63, align 8, !tbaa !9
  %3643 = getelementptr inbounds [22 x i8], ptr %70, i64 0, i64 0
  %3644 = getelementptr inbounds i8, ptr %3643, i64 2
  %3645 = call i32 @s2n_renegotiate(ptr noundef %3642, ptr noundef %3644, i64 noundef 20, ptr noundef %69, ptr noundef %17)
  %3646 = icmp eq i32 %3645, -1
  br i1 %3646, label %3700, label %3647

3647:                                             ; preds = %3639
  br label %3648

3648:                                             ; preds = %3647
  br label %3649

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

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

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

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

3695:                                             ; preds = %3678, %3661
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #11
  br label %3696

3696:                                             ; preds = %3695
  br label %3697

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

3698:                                             ; No predecessors!
  br label %3699

3699:                                             ; preds = %3698
  br label %3700

3700:                                             ; preds = %3699, %3639
  br label %3701

3701:                                             ; preds = %3700
  br label %3702

3702:                                             ; preds = %3701
  br label %3703

3703:                                             ; preds = %3702
  %3704 = load i32, ptr @test_count, align 4, !tbaa !5
  %3705 = add nsw i32 %3704, 1
  store i32 %3705, ptr @test_count, align 4, !tbaa !5
  %3706 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3707 = load i32, ptr %3706, align 4, !tbaa !5
  %3708 = icmp eq i32 %3707, 201326595
  br i1 %3708, label %3762, label %3709

3709:                                             ; preds = %3703
  br label %3710

3710:                                             ; preds = %3709
  br label %3711

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

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

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

3740:                                             ; preds = %3718, %3711
  %3741 = load i32, ptr %84, align 4, !tbaa !5
  %3742 = call ptr @__errno_location() #12
  store i32 %3741, ptr %3742, align 4, !tbaa !5
  %3743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3744 = load i32, ptr @test_count, align 4, !tbaa !5
  %3745 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3746 = load i32, ptr %3745, align 4, !tbaa !5
  %3747 = call ptr @s2n_strerror(i32 noundef %3746, ptr noundef @.str.4)
  %3748 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3749 = load i32, ptr %3748, align 4, !tbaa !5
  %3750 = call ptr @s2n_strerror_debug(i32 noundef %3749, ptr noundef @.str.4)
  %3751 = call ptr @__errno_location() #12
  %3752 = load i32, ptr %3751, align 4, !tbaa !5
  %3753 = call ptr @strerror(i32 noundef %3752) #11
  %3754 = call ptr @__errno_location() #12
  %3755 = load i32, ptr %3754, align 4, !tbaa !5
  %3756 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3743, ptr noundef @.str.5, i32 noundef %3744, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 171, ptr noundef %3747, ptr noundef %3750, ptr noundef %3753, i32 noundef %3755) #11
  br label %3757

3757:                                             ; preds = %3740, %3723
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #11
  br label %3758

3758:                                             ; preds = %3757
  br label %3759

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

3760:                                             ; No predecessors!
  br label %3761

3761:                                             ; preds = %3760
  br label %3762

3762:                                             ; preds = %3761, %3703
  br label %3763

3763:                                             ; preds = %3762
  br label %3764

3764:                                             ; preds = %3763
  br label %3765

3765:                                             ; preds = %3764
  %3766 = load i32, ptr @test_count, align 4, !tbaa !5
  %3767 = add nsw i32 %3766, 1
  store i32 %3767, ptr @test_count, align 4, !tbaa !5
  %3768 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3769 = load i32, ptr %3768, align 4, !tbaa !5
  %3770 = call ptr @s2n_strerror_debug(i32 noundef %3769, ptr noundef @.str.4)
  %3771 = icmp eq ptr %3770, null
  br i1 %3771, label %3772, label %3825

3772:                                             ; preds = %3765
  br label %3773

3773:                                             ; preds = %3772
  br label %3774

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

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

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

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

3820:                                             ; preds = %3803, %3786
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #11
  br label %3821

3821:                                             ; preds = %3820
  br label %3822

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

3823:                                             ; No predecessors!
  br label %3824

3824:                                             ; preds = %3823
  br label %3825

3825:                                             ; preds = %3824, %3765
  br label %3826

3826:                                             ; preds = %3825
  br label %3827

3827:                                             ; preds = %3826
  br label %3828

3828:                                             ; preds = %3827
  br label %3829

3829:                                             ; preds = %3828
  br label %3830

3830:                                             ; preds = %3829
  %3831 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %3831, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %3832 = call ptr @__errno_location() #12
  store i32 0, ptr %3832, align 4, !tbaa !5
  br label %3833

3833:                                             ; preds = %3830
  br label %3834

3834:                                             ; preds = %3833
  br label %3835

3835:                                             ; preds = %3834
  br label %3836

3836:                                             ; preds = %3835
  br label %3837

3837:                                             ; preds = %3836
  %3838 = load i32, ptr @test_count, align 4, !tbaa !5
  %3839 = add nsw i32 %3838, 1
  store i32 %3839, ptr @test_count, align 4, !tbaa !5
  %3840 = load i32, ptr %17, align 4, !tbaa !5
  %3841 = load i32, ptr @S2N_BLOCKED_ON_APPLICATION_DATA, align 4, !tbaa !5
  %3842 = icmp eq i32 %3840, %3841
  br i1 %3842, label %3896, label %3843

3843:                                             ; preds = %3837
  br label %3844

3844:                                             ; preds = %3843
  br label %3845

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

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

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

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

3891:                                             ; preds = %3874, %3857
  call void @llvm.lifetime.end.p0(i64 4, ptr %86) #11
  br label %3892

3892:                                             ; preds = %3891
  br label %3893

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

3894:                                             ; No predecessors!
  br label %3895

3895:                                             ; preds = %3894
  br label %3896

3896:                                             ; preds = %3895, %3837
  br label %3897

3897:                                             ; preds = %3896
  br label %3898

3898:                                             ; preds = %3897
  br label %3899

3899:                                             ; preds = %3898
  %3900 = load i32, ptr @test_count, align 4, !tbaa !5
  %3901 = add nsw i32 %3900, 1
  store i32 %3901, ptr @test_count, align 4, !tbaa !5
  %3902 = load i64, ptr %69, align 8, !tbaa !15
  %3903 = icmp eq i64 %3902, 20
  br i1 %3903, label %3957, label %3904

3904:                                             ; preds = %3899
  br label %3905

3905:                                             ; preds = %3904
  br label %3906

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

3913:                                             ; preds = %3906
  %3914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3915 = call i32 @fileno(ptr noundef %3914) #11
  %3916 = call i32 @isatty(i32 noundef %3915) #11
  %3917 = icmp ne i32 %3916, 0
  br i1 %3917, label %3918, label %3935

3918:                                             ; preds = %3913
  %3919 = load i32, ptr %87, align 4, !tbaa !5
  %3920 = call ptr @__errno_location() #12
  store i32 %3919, ptr %3920, align 4, !tbaa !5
  %3921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3922 = load i32, ptr @test_count, align 4, !tbaa !5
  %3923 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3924 = load i32, ptr %3923, align 4, !tbaa !5
  %3925 = call ptr @s2n_strerror(i32 noundef %3924, ptr noundef @.str.4)
  %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_debug(i32 noundef %3927, ptr noundef @.str.4)
  %3929 = call ptr @__errno_location() #12
  %3930 = load i32, ptr %3929, align 4, !tbaa !5
  %3931 = call ptr @strerror(i32 noundef %3930) #11
  %3932 = call ptr @__errno_location() #12
  %3933 = load i32, ptr %3932, align 4, !tbaa !5
  %3934 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3921, ptr noundef @.str.2, i32 noundef %3922, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 173, ptr noundef %3925, ptr noundef %3928, ptr noundef %3931, i32 noundef %3933) #11
  br label %3952

3935:                                             ; preds = %3913, %3906
  %3936 = load i32, ptr %87, align 4, !tbaa !5
  %3937 = call ptr @__errno_location() #12
  store i32 %3936, ptr %3937, align 4, !tbaa !5
  %3938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3939 = load i32, ptr @test_count, align 4, !tbaa !5
  %3940 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3941 = load i32, ptr %3940, align 4, !tbaa !5
  %3942 = call ptr @s2n_strerror(i32 noundef %3941, ptr noundef @.str.4)
  %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_debug(i32 noundef %3944, ptr noundef @.str.4)
  %3946 = call ptr @__errno_location() #12
  %3947 = load i32, ptr %3946, align 4, !tbaa !5
  %3948 = call ptr @strerror(i32 noundef %3947) #11
  %3949 = call ptr @__errno_location() #12
  %3950 = load i32, ptr %3949, align 4, !tbaa !5
  %3951 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3938, ptr noundef @.str.5, i32 noundef %3939, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 173, ptr noundef %3942, ptr noundef %3945, ptr noundef %3948, i32 noundef %3950) #11
  br label %3952

3952:                                             ; preds = %3935, %3918
  call void @llvm.lifetime.end.p0(i64 4, ptr %87) #11
  br label %3953

3953:                                             ; preds = %3952
  br label %3954

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

3955:                                             ; No predecessors!
  br label %3956

3956:                                             ; preds = %3955
  br label %3957

3957:                                             ; preds = %3956, %3899
  br label %3958

3958:                                             ; preds = %3957
  br label %3959

3959:                                             ; preds = %3958
  br label %3960

3960:                                             ; preds = %3959
  br label %3961

3961:                                             ; preds = %3960
  %3962 = load i32, ptr @test_count, align 4, !tbaa !5
  %3963 = add nsw i32 %3962, 1
  store i32 %3963, ptr @test_count, align 4, !tbaa !5
  %3964 = getelementptr inbounds [22 x i8], ptr %70, i64 0, i64 0
  %3965 = getelementptr inbounds [22 x i8], ptr %16, i64 0, i64 0
  %3966 = call i32 @memcmp(ptr noundef %3964, ptr noundef %3965, i64 noundef 22) #14
  %3967 = icmp eq i32 %3966, 0
  br i1 %3967, label %4021, label %3968

3968:                                             ; preds = %3961
  br label %3969

3969:                                             ; preds = %3968
  br label %3970

3970:                                             ; preds = %3969
  call void @llvm.lifetime.start.p0(i64 4, ptr %88) #11
  %3971 = call ptr @__errno_location() #12
  %3972 = load i32, ptr %3971, align 4, !tbaa !5
  store i32 %3972, ptr %88, align 4, !tbaa !5
  %3973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3974 = call i32 @s2n_print_stacktrace(ptr noundef %3973)
  %3975 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3976 = trunc i8 %3975 to i1
  br i1 %3976, label %3977, label %3999

3977:                                             ; preds = %3970
  %3978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3979 = call i32 @fileno(ptr noundef %3978) #11
  %3980 = call i32 @isatty(i32 noundef %3979) #11
  %3981 = icmp ne i32 %3980, 0
  br i1 %3981, label %3982, label %3999

3982:                                             ; preds = %3977
  %3983 = load i32, ptr %88, align 4, !tbaa !5
  %3984 = call ptr @__errno_location() #12
  store i32 %3983, ptr %3984, align 4, !tbaa !5
  %3985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3986 = load i32, ptr @test_count, align 4, !tbaa !5
  %3987 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3988 = load i32, ptr %3987, align 4, !tbaa !5
  %3989 = call ptr @s2n_strerror(i32 noundef %3988, ptr noundef @.str.4)
  %3990 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3991 = load i32, ptr %3990, align 4, !tbaa !5
  %3992 = call ptr @s2n_strerror_debug(i32 noundef %3991, ptr noundef @.str.4)
  %3993 = call ptr @__errno_location() #12
  %3994 = load i32, ptr %3993, align 4, !tbaa !5
  %3995 = call ptr @strerror(i32 noundef %3994) #11
  %3996 = call ptr @__errno_location() #12
  %3997 = load i32, ptr %3996, align 4, !tbaa !5
  %3998 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3985, ptr noundef @.str.2, i32 noundef %3986, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 174, ptr noundef %3989, ptr noundef %3992, ptr noundef %3995, i32 noundef %3997) #11
  br label %4016

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

4016:                                             ; preds = %3999, %3982
  call void @llvm.lifetime.end.p0(i64 4, ptr %88) #11
  br label %4017

4017:                                             ; preds = %4016
  br label %4018

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

4019:                                             ; No predecessors!
  br label %4020

4020:                                             ; preds = %4019
  br label %4021

4021:                                             ; preds = %4020, %3961
  br label %4022

4022:                                             ; preds = %4021
  br label %4023

4023:                                             ; preds = %4022
  br label %4024

4024:                                             ; preds = %4023
  br label %4025

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

4026:                                             ; preds = %4352, %4025
  %4027 = load i64, ptr %89, align 8, !tbaa !15
  %4028 = icmp ult i64 %4027, 10
  br i1 %4028, label %4030, label %4029

4029:                                             ; preds = %4026
  call void @llvm.lifetime.end.p0(i64 8, ptr %89) #11
  br label %4355

4030:                                             ; preds = %4026
  br label %4031

4031:                                             ; preds = %4030
  br label %4032

4032:                                             ; preds = %4031
  br label %4033

4033:                                             ; preds = %4032
  %4034 = load i32, ptr @test_count, align 4, !tbaa !5
  %4035 = add nsw i32 %4034, 1
  store i32 %4035, ptr @test_count, align 4, !tbaa !5
  %4036 = load ptr, ptr %63, align 8, !tbaa !9
  %4037 = getelementptr inbounds [22 x i8], ptr %70, i64 0, i64 0
  %4038 = call i32 @s2n_renegotiate(ptr noundef %4036, ptr noundef %4037, i64 noundef 22, ptr noundef %69, ptr noundef %17)
  %4039 = icmp eq i32 %4038, -1
  br i1 %4039, label %4093, label %4040

4040:                                             ; preds = %4033
  br label %4041

4041:                                             ; preds = %4040
  br label %4042

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

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

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

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

4088:                                             ; preds = %4071, %4054
  call void @llvm.lifetime.end.p0(i64 4, ptr %90) #11
  br label %4089

4089:                                             ; preds = %4088
  br label %4090

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

4091:                                             ; No predecessors!
  br label %4092

4092:                                             ; preds = %4091
  br label %4093

4093:                                             ; preds = %4092, %4033
  br label %4094

4094:                                             ; preds = %4093
  br label %4095

4095:                                             ; preds = %4094
  br label %4096

4096:                                             ; preds = %4095
  %4097 = load i32, ptr @test_count, align 4, !tbaa !5
  %4098 = add nsw i32 %4097, 1
  store i32 %4098, ptr @test_count, align 4, !tbaa !5
  %4099 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4100 = load i32, ptr %4099, align 4, !tbaa !5
  %4101 = icmp eq i32 %4100, 201326592
  br i1 %4101, label %4155, label %4102

4102:                                             ; preds = %4096
  br label %4103

4103:                                             ; preds = %4102
  br label %4104

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

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

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

4133:                                             ; preds = %4111, %4104
  %4134 = load i32, ptr %91, 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.5, i32 noundef %4137, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 180, ptr noundef %4140, ptr noundef %4143, ptr noundef %4146, i32 noundef %4148) #11
  br label %4150

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

4151:                                             ; preds = %4150
  br label %4152

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

4153:                                             ; No predecessors!
  br label %4154

4154:                                             ; preds = %4153
  br label %4155

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

4156:                                             ; preds = %4155
  br label %4157

4157:                                             ; preds = %4156
  br label %4158

4158:                                             ; preds = %4157
  %4159 = load i32, ptr @test_count, align 4, !tbaa !5
  %4160 = add nsw i32 %4159, 1
  store i32 %4160, ptr @test_count, align 4, !tbaa !5
  %4161 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4162 = load i32, ptr %4161, align 4, !tbaa !5
  %4163 = call ptr @s2n_strerror_debug(i32 noundef %4162, ptr noundef @.str.4)
  %4164 = icmp eq ptr %4163, null
  br i1 %4164, label %4165, label %4218

4165:                                             ; preds = %4158
  br label %4166

4166:                                             ; preds = %4165
  br label %4167

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

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

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

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

4213:                                             ; preds = %4196, %4179
  call void @llvm.lifetime.end.p0(i64 4, ptr %92) #11
  br label %4214

4214:                                             ; preds = %4213
  br label %4215

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

4216:                                             ; No predecessors!
  br label %4217

4217:                                             ; preds = %4216
  br label %4218

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

4219:                                             ; preds = %4218
  br label %4220

4220:                                             ; preds = %4219
  br label %4221

4221:                                             ; preds = %4220
  br label %4222

4222:                                             ; preds = %4221
  br label %4223

4223:                                             ; preds = %4222
  %4224 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %4224, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %4225 = call ptr @__errno_location() #12
  store i32 0, ptr %4225, align 4, !tbaa !5
  br label %4226

4226:                                             ; preds = %4223
  br label %4227

4227:                                             ; preds = %4226
  br label %4228

4228:                                             ; preds = %4227
  br label %4229

4229:                                             ; preds = %4228
  br label %4230

4230:                                             ; preds = %4229
  %4231 = load i32, ptr @test_count, align 4, !tbaa !5
  %4232 = add nsw i32 %4231, 1
  store i32 %4232, ptr @test_count, align 4, !tbaa !5
  %4233 = load i32, ptr %17, align 4, !tbaa !5
  %4234 = icmp eq i32 %4233, 1
  br i1 %4234, label %4288, label %4235

4235:                                             ; preds = %4230
  br label %4236

4236:                                             ; preds = %4235
  br label %4237

4237:                                             ; preds = %4236
  call void @llvm.lifetime.start.p0(i64 4, ptr %93) #11
  %4238 = call ptr @__errno_location() #12
  %4239 = load i32, ptr %4238, align 4, !tbaa !5
  store i32 %4239, ptr %93, align 4, !tbaa !5
  %4240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4241 = call i32 @s2n_print_stacktrace(ptr noundef %4240)
  %4242 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4243 = trunc i8 %4242 to i1
  br i1 %4243, label %4244, label %4266

4244:                                             ; preds = %4237
  %4245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4246 = call i32 @fileno(ptr noundef %4245) #11
  %4247 = call i32 @isatty(i32 noundef %4246) #11
  %4248 = icmp ne i32 %4247, 0
  br i1 %4248, label %4249, label %4266

4249:                                             ; preds = %4244
  %4250 = load i32, ptr %93, align 4, !tbaa !5
  %4251 = call ptr @__errno_location() #12
  store i32 %4250, ptr %4251, align 4, !tbaa !5
  %4252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4253 = load i32, ptr @test_count, align 4, !tbaa !5
  %4254 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4255 = load i32, ptr %4254, align 4, !tbaa !5
  %4256 = call ptr @s2n_strerror(i32 noundef %4255, ptr noundef @.str.4)
  %4257 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4258 = load i32, ptr %4257, align 4, !tbaa !5
  %4259 = call ptr @s2n_strerror_debug(i32 noundef %4258, ptr noundef @.str.4)
  %4260 = call ptr @__errno_location() #12
  %4261 = load i32, ptr %4260, align 4, !tbaa !5
  %4262 = call ptr @strerror(i32 noundef %4261) #11
  %4263 = call ptr @__errno_location() #12
  %4264 = load i32, ptr %4263, align 4, !tbaa !5
  %4265 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4252, ptr noundef @.str.2, i32 noundef %4253, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 181, ptr noundef %4256, ptr noundef %4259, ptr noundef %4262, i32 noundef %4264) #11
  br label %4283

4266:                                             ; preds = %4244, %4237
  %4267 = load i32, ptr %93, 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.5, i32 noundef %4270, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 181, ptr noundef %4273, ptr noundef %4276, ptr noundef %4279, i32 noundef %4281) #11
  br label %4283

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

4284:                                             ; preds = %4283
  br label %4285

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

4286:                                             ; No predecessors!
  br label %4287

4287:                                             ; preds = %4286
  br label %4288

4288:                                             ; preds = %4287, %4230
  br label %4289

4289:                                             ; preds = %4288
  br label %4290

4290:                                             ; preds = %4289
  br label %4291

4291:                                             ; preds = %4290
  %4292 = load i32, ptr @test_count, align 4, !tbaa !5
  %4293 = add nsw i32 %4292, 1
  store i32 %4293, ptr @test_count, align 4, !tbaa !5
  %4294 = load i64, ptr %69, align 8, !tbaa !15
  %4295 = icmp eq i64 %4294, 0
  br i1 %4295, label %4349, label %4296

4296:                                             ; preds = %4291
  br label %4297

4297:                                             ; preds = %4296
  br label %4298

4298:                                             ; preds = %4297
  call void @llvm.lifetime.start.p0(i64 4, ptr %94) #11
  %4299 = call ptr @__errno_location() #12
  %4300 = load i32, ptr %4299, align 4, !tbaa !5
  store i32 %4300, ptr %94, align 4, !tbaa !5
  %4301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4302 = call i32 @s2n_print_stacktrace(ptr noundef %4301)
  %4303 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4304 = trunc i8 %4303 to i1
  br i1 %4304, label %4305, label %4327

4305:                                             ; preds = %4298
  %4306 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4307 = call i32 @fileno(ptr noundef %4306) #11
  %4308 = call i32 @isatty(i32 noundef %4307) #11
  %4309 = icmp ne i32 %4308, 0
  br i1 %4309, label %4310, label %4327

4310:                                             ; preds = %4305
  %4311 = load i32, ptr %94, align 4, !tbaa !5
  %4312 = call ptr @__errno_location() #12
  store i32 %4311, ptr %4312, align 4, !tbaa !5
  %4313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4314 = load i32, ptr @test_count, align 4, !tbaa !5
  %4315 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4316 = load i32, ptr %4315, align 4, !tbaa !5
  %4317 = call ptr @s2n_strerror(i32 noundef %4316, ptr noundef @.str.4)
  %4318 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4319 = load i32, ptr %4318, align 4, !tbaa !5
  %4320 = call ptr @s2n_strerror_debug(i32 noundef %4319, ptr noundef @.str.4)
  %4321 = call ptr @__errno_location() #12
  %4322 = load i32, ptr %4321, align 4, !tbaa !5
  %4323 = call ptr @strerror(i32 noundef %4322) #11
  %4324 = call ptr @__errno_location() #12
  %4325 = load i32, ptr %4324, align 4, !tbaa !5
  %4326 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4313, ptr noundef @.str.2, i32 noundef %4314, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 182, ptr noundef %4317, ptr noundef %4320, ptr noundef %4323, i32 noundef %4325) #11
  br label %4344

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

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

4345:                                             ; preds = %4344
  br label %4346

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

4347:                                             ; No predecessors!
  br label %4348

4348:                                             ; preds = %4347
  br label %4349

4349:                                             ; preds = %4348, %4291
  br label %4350

4350:                                             ; preds = %4349
  br label %4351

4351:                                             ; preds = %4350
  br label %4352

4352:                                             ; preds = %4351
  %4353 = load i64, ptr %89, align 8, !tbaa !15
  %4354 = add i64 %4353, 1
  store i64 %4354, ptr %89, align 8, !tbaa !15
  br label %4026, !llvm.loop !17

4355:                                             ; preds = %4029
  br label %4356

4356:                                             ; preds = %4355
  %4357 = load i32, ptr @test_count, align 4, !tbaa !5
  %4358 = add nsw i32 %4357, 1
  store i32 %4358, ptr @test_count, align 4, !tbaa !5
  %4359 = load ptr, ptr %60, align 8, !tbaa !9
  %4360 = load ptr, ptr %63, align 8, !tbaa !9
  %4361 = call i32 @s2n_renegotiate_test_server_and_client(ptr noundef %4359, ptr noundef %4360)
  %4362 = getelementptr inbounds %struct.s2n_result, ptr %95, i32 0, i32 0
  store i32 %4361, ptr %4362, align 4
  %4363 = getelementptr inbounds %struct.s2n_result, ptr %95, i32 0, i32 0
  %4364 = load i32, ptr %4363, align 4
  %4365 = call zeroext i1 @s2n_result_is_ok(i32 %4364)
  br i1 %4365, label %4419, label %4366

4366:                                             ; preds = %4356
  br label %4367

4367:                                             ; preds = %4366
  br label %4368

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

4375:                                             ; preds = %4368
  %4376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4377 = call i32 @fileno(ptr noundef %4376) #11
  %4378 = call i32 @isatty(i32 noundef %4377) #11
  %4379 = icmp ne i32 %4378, 0
  br i1 %4379, label %4380, label %4397

4380:                                             ; preds = %4375
  %4381 = load i32, ptr %96, align 4, !tbaa !5
  %4382 = call ptr @__errno_location() #12
  store i32 %4381, ptr %4382, align 4, !tbaa !5
  %4383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4384 = load i32, ptr @test_count, align 4, !tbaa !5
  %4385 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4386 = load i32, ptr %4385, align 4, !tbaa !5
  %4387 = call ptr @s2n_strerror(i32 noundef %4386, ptr noundef @.str.4)
  %4388 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4389 = load i32, ptr %4388, align 4, !tbaa !5
  %4390 = call ptr @s2n_strerror_debug(i32 noundef %4389, ptr noundef @.str.4)
  %4391 = call ptr @__errno_location() #12
  %4392 = load i32, ptr %4391, align 4, !tbaa !5
  %4393 = call ptr @strerror(i32 noundef %4392) #11
  %4394 = call ptr @__errno_location() #12
  %4395 = load i32, ptr %4394, align 4, !tbaa !5
  %4396 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4383, ptr noundef @.str.2, i32 noundef %4384, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 186, ptr noundef %4387, ptr noundef %4390, ptr noundef %4393, i32 noundef %4395) #11
  br label %4414

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

4414:                                             ; preds = %4397, %4380
  call void @llvm.lifetime.end.p0(i64 4, ptr %96) #11
  br label %4415

4415:                                             ; preds = %4414
  br label %4416

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

4417:                                             ; No predecessors!
  br label %4418

4418:                                             ; preds = %4417
  br label %4419

4419:                                             ; preds = %4418, %4356
  br label %4420

4420:                                             ; preds = %4419
  br label %4421

4421:                                             ; preds = %4420
  call void @llvm.lifetime.end.p0(i64 8, ptr %75) #11
  call void @llvm.lifetime.end.p0(i64 22, ptr %70) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %69) #11
  %4422 = call i32 @s2n_io_pair_close(ptr noundef %66)
  call void @llvm.lifetime.end.p0(i64 8, ptr %66) #11
  %4423 = call i32 @s2n_connection_ptr_free(ptr noundef %63)
  %4424 = getelementptr inbounds %struct.s2n_result, ptr %97, i32 0, i32 0
  store i32 %4423, ptr %4424, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %63) #11
  %4425 = call i32 @s2n_connection_ptr_free(ptr noundef %60)
  %4426 = getelementptr inbounds %struct.s2n_result, ptr %98, i32 0, i32 0
  store i32 %4425, ptr %4426, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %60) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %99) #11
  store i64 10, ptr %99, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %100) #11
  %4427 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %4427, ptr %100, align 8, !tbaa !9
  br label %4428

4428:                                             ; preds = %4421
  %4429 = load i32, ptr @test_count, align 4, !tbaa !5
  %4430 = add nsw i32 %4429, 1
  store i32 %4430, ptr @test_count, align 4, !tbaa !5
  %4431 = load ptr, ptr %100, align 8, !tbaa !9
  %4432 = icmp eq ptr %4431, null
  br i1 %4432, label %4433, label %4486

4433:                                             ; preds = %4428
  br label %4434

4434:                                             ; preds = %4433
  br label %4435

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

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

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

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

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

4482:                                             ; preds = %4481
  br label %4483

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

4484:                                             ; No predecessors!
  br label %4485

4485:                                             ; preds = %4484
  br label %4486

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

4487:                                             ; preds = %4486
  br label %4488

4488:                                             ; preds = %4487
  br label %4489

4489:                                             ; preds = %4488
  %4490 = load i32, ptr @test_count, align 4, !tbaa !5
  %4491 = add nsw i32 %4490, 1
  store i32 %4491, ptr @test_count, align 4, !tbaa !5
  %4492 = load ptr, ptr %100, align 8, !tbaa !9
  %4493 = load ptr, ptr %11, align 8, !tbaa !9
  %4494 = call i32 @s2n_connection_set_config(ptr noundef %4492, ptr noundef %4493)
  %4495 = icmp eq i32 %4494, -1
  br i1 %4495, label %4496, label %4549

4496:                                             ; preds = %4489
  br label %4497

4497:                                             ; preds = %4496
  br label %4498

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

4505:                                             ; preds = %4498
  %4506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4507 = call i32 @fileno(ptr noundef %4506) #11
  %4508 = call i32 @isatty(i32 noundef %4507) #11
  %4509 = icmp ne i32 %4508, 0
  br i1 %4509, label %4510, label %4527

4510:                                             ; preds = %4505
  %4511 = load i32, ptr %102, align 4, !tbaa !5
  %4512 = call ptr @__errno_location() #12
  store i32 %4511, ptr %4512, align 4, !tbaa !5
  %4513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4514 = load i32, ptr @test_count, align 4, !tbaa !5
  %4515 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4516 = load i32, ptr %4515, align 4, !tbaa !5
  %4517 = call ptr @s2n_strerror(i32 noundef %4516, ptr noundef @.str.4)
  %4518 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4519 = load i32, ptr %4518, align 4, !tbaa !5
  %4520 = call ptr @s2n_strerror_debug(i32 noundef %4519, ptr noundef @.str.4)
  %4521 = call ptr @__errno_location() #12
  %4522 = load i32, ptr %4521, align 4, !tbaa !5
  %4523 = call ptr @strerror(i32 noundef %4522) #11
  %4524 = call ptr @__errno_location() #12
  %4525 = load i32, ptr %4524, align 4, !tbaa !5
  %4526 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4513, ptr noundef @.str.2, i32 noundef %4514, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 195, ptr noundef %4517, ptr noundef %4520, ptr noundef %4523, i32 noundef %4525) #11
  br label %4544

4527:                                             ; preds = %4505, %4498
  %4528 = load i32, ptr %102, align 4, !tbaa !5
  %4529 = call ptr @__errno_location() #12
  store i32 %4528, ptr %4529, align 4, !tbaa !5
  %4530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4531 = load i32, ptr @test_count, align 4, !tbaa !5
  %4532 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4533 = load i32, ptr %4532, align 4, !tbaa !5
  %4534 = call ptr @s2n_strerror(i32 noundef %4533, ptr noundef @.str.4)
  %4535 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4536 = load i32, ptr %4535, align 4, !tbaa !5
  %4537 = call ptr @s2n_strerror_debug(i32 noundef %4536, ptr noundef @.str.4)
  %4538 = call ptr @__errno_location() #12
  %4539 = load i32, ptr %4538, align 4, !tbaa !5
  %4540 = call ptr @strerror(i32 noundef %4539) #11
  %4541 = call ptr @__errno_location() #12
  %4542 = load i32, ptr %4541, align 4, !tbaa !5
  %4543 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4530, ptr noundef @.str.5, i32 noundef %4531, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 195, ptr noundef %4534, ptr noundef %4537, ptr noundef %4540, i32 noundef %4542) #11
  br label %4544

4544:                                             ; preds = %4527, %4510
  call void @llvm.lifetime.end.p0(i64 4, ptr %102) #11
  br label %4545

4545:                                             ; preds = %4544
  br label %4546

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

4547:                                             ; No predecessors!
  br label %4548

4548:                                             ; preds = %4547
  br label %4549

4549:                                             ; preds = %4548, %4489
  br label %4550

4550:                                             ; preds = %4549
  br label %4551

4551:                                             ; preds = %4550
  call void @llvm.lifetime.start.p0(i64 8, ptr %103) #11
  %4552 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %4552, ptr %103, align 8, !tbaa !9
  br label %4553

4553:                                             ; preds = %4551
  %4554 = load i32, ptr @test_count, align 4, !tbaa !5
  %4555 = add nsw i32 %4554, 1
  store i32 %4555, ptr @test_count, align 4, !tbaa !5
  %4556 = load ptr, ptr %103, align 8, !tbaa !9
  %4557 = icmp eq ptr %4556, null
  br i1 %4557, label %4558, label %4611

4558:                                             ; preds = %4553
  br label %4559

4559:                                             ; preds = %4558
  br label %4560

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

4567:                                             ; preds = %4560
  %4568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4569 = call i32 @fileno(ptr noundef %4568) #11
  %4570 = call i32 @isatty(i32 noundef %4569) #11
  %4571 = icmp ne i32 %4570, 0
  br i1 %4571, label %4572, label %4589

4572:                                             ; preds = %4567
  %4573 = load i32, ptr %104, align 4, !tbaa !5
  %4574 = call ptr @__errno_location() #12
  store i32 %4573, ptr %4574, align 4, !tbaa !5
  %4575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4576 = load i32, ptr @test_count, align 4, !tbaa !5
  %4577 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4578 = load i32, ptr %4577, align 4, !tbaa !5
  %4579 = call ptr @s2n_strerror(i32 noundef %4578, ptr noundef @.str.4)
  %4580 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4581 = load i32, ptr %4580, align 4, !tbaa !5
  %4582 = call ptr @s2n_strerror_debug(i32 noundef %4581, ptr noundef @.str.4)
  %4583 = call ptr @__errno_location() #12
  %4584 = load i32, ptr %4583, align 4, !tbaa !5
  %4585 = call ptr @strerror(i32 noundef %4584) #11
  %4586 = call ptr @__errno_location() #12
  %4587 = load i32, ptr %4586, align 4, !tbaa !5
  %4588 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4575, ptr noundef @.str.2, i32 noundef %4576, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 198, ptr noundef %4579, ptr noundef %4582, ptr noundef %4585, i32 noundef %4587) #11
  br label %4606

4589:                                             ; preds = %4567, %4560
  %4590 = load i32, ptr %104, align 4, !tbaa !5
  %4591 = call ptr @__errno_location() #12
  store i32 %4590, ptr %4591, align 4, !tbaa !5
  %4592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4593 = load i32, ptr @test_count, align 4, !tbaa !5
  %4594 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4595 = load i32, ptr %4594, align 4, !tbaa !5
  %4596 = call ptr @s2n_strerror(i32 noundef %4595, ptr noundef @.str.4)
  %4597 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4598 = load i32, ptr %4597, align 4, !tbaa !5
  %4599 = call ptr @s2n_strerror_debug(i32 noundef %4598, ptr noundef @.str.4)
  %4600 = call ptr @__errno_location() #12
  %4601 = load i32, ptr %4600, align 4, !tbaa !5
  %4602 = call ptr @strerror(i32 noundef %4601) #11
  %4603 = call ptr @__errno_location() #12
  %4604 = load i32, ptr %4603, align 4, !tbaa !5
  %4605 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4592, ptr noundef @.str.5, i32 noundef %4593, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 198, ptr noundef %4596, ptr noundef %4599, ptr noundef %4602, i32 noundef %4604) #11
  br label %4606

4606:                                             ; preds = %4589, %4572
  call void @llvm.lifetime.end.p0(i64 4, ptr %104) #11
  br label %4607

4607:                                             ; preds = %4606
  br label %4608

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

4609:                                             ; No predecessors!
  br label %4610

4610:                                             ; preds = %4609
  br label %4611

4611:                                             ; preds = %4610, %4553
  br label %4612

4612:                                             ; preds = %4611
  br label %4613

4613:                                             ; preds = %4612
  br label %4614

4614:                                             ; preds = %4613
  %4615 = load i32, ptr @test_count, align 4, !tbaa !5
  %4616 = add nsw i32 %4615, 1
  store i32 %4616, ptr @test_count, align 4, !tbaa !5
  %4617 = load ptr, ptr %103, align 8, !tbaa !9
  %4618 = load ptr, ptr %11, align 8, !tbaa !9
  %4619 = call i32 @s2n_connection_set_config(ptr noundef %4617, ptr noundef %4618)
  %4620 = icmp eq i32 %4619, -1
  br i1 %4620, label %4621, label %4674

4621:                                             ; preds = %4614
  br label %4622

4622:                                             ; preds = %4621
  br label %4623

4623:                                             ; preds = %4622
  call void @llvm.lifetime.start.p0(i64 4, ptr %105) #11
  %4624 = call ptr @__errno_location() #12
  %4625 = load i32, ptr %4624, align 4, !tbaa !5
  store i32 %4625, ptr %105, align 4, !tbaa !5
  %4626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4627 = call i32 @s2n_print_stacktrace(ptr noundef %4626)
  %4628 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4629 = trunc i8 %4628 to i1
  br i1 %4629, label %4630, label %4652

4630:                                             ; preds = %4623
  %4631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4632 = call i32 @fileno(ptr noundef %4631) #11
  %4633 = call i32 @isatty(i32 noundef %4632) #11
  %4634 = icmp ne i32 %4633, 0
  br i1 %4634, label %4635, label %4652

4635:                                             ; preds = %4630
  %4636 = load i32, ptr %105, align 4, !tbaa !5
  %4637 = call ptr @__errno_location() #12
  store i32 %4636, ptr %4637, align 4, !tbaa !5
  %4638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4639 = load i32, ptr @test_count, align 4, !tbaa !5
  %4640 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4641 = load i32, ptr %4640, align 4, !tbaa !5
  %4642 = call ptr @s2n_strerror(i32 noundef %4641, ptr noundef @.str.4)
  %4643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4644 = load i32, ptr %4643, align 4, !tbaa !5
  %4645 = call ptr @s2n_strerror_debug(i32 noundef %4644, ptr noundef @.str.4)
  %4646 = call ptr @__errno_location() #12
  %4647 = load i32, ptr %4646, align 4, !tbaa !5
  %4648 = call ptr @strerror(i32 noundef %4647) #11
  %4649 = call ptr @__errno_location() #12
  %4650 = load i32, ptr %4649, align 4, !tbaa !5
  %4651 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4638, ptr noundef @.str.2, i32 noundef %4639, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 199, ptr noundef %4642, ptr noundef %4645, ptr noundef %4648, i32 noundef %4650) #11
  br label %4669

4652:                                             ; preds = %4630, %4623
  %4653 = load i32, ptr %105, align 4, !tbaa !5
  %4654 = call ptr @__errno_location() #12
  store i32 %4653, ptr %4654, align 4, !tbaa !5
  %4655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4656 = load i32, ptr @test_count, align 4, !tbaa !5
  %4657 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4658 = load i32, ptr %4657, align 4, !tbaa !5
  %4659 = call ptr @s2n_strerror(i32 noundef %4658, ptr noundef @.str.4)
  %4660 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4661 = load i32, ptr %4660, align 4, !tbaa !5
  %4662 = call ptr @s2n_strerror_debug(i32 noundef %4661, ptr noundef @.str.4)
  %4663 = call ptr @__errno_location() #12
  %4664 = load i32, ptr %4663, align 4, !tbaa !5
  %4665 = call ptr @strerror(i32 noundef %4664) #11
  %4666 = call ptr @__errno_location() #12
  %4667 = load i32, ptr %4666, align 4, !tbaa !5
  %4668 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4655, ptr noundef @.str.5, i32 noundef %4656, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 199, ptr noundef %4659, ptr noundef %4662, ptr noundef %4665, i32 noundef %4667) #11
  br label %4669

4669:                                             ; preds = %4652, %4635
  call void @llvm.lifetime.end.p0(i64 4, ptr %105) #11
  br label %4670

4670:                                             ; preds = %4669
  br label %4671

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

4672:                                             ; No predecessors!
  br label %4673

4673:                                             ; preds = %4672
  br label %4674

4674:                                             ; preds = %4673, %4614
  br label %4675

4675:                                             ; preds = %4674
  br label %4676

4676:                                             ; preds = %4675
  call void @llvm.lifetime.start.p0(i64 8, ptr %106) #11
  call void @llvm.memset.p0.i64(ptr align 4 %106, i8 0, i64 8, i1 false)
  br label %4677

4677:                                             ; preds = %4676
  %4678 = load i32, ptr @test_count, align 4, !tbaa !5
  %4679 = add nsw i32 %4678, 1
  store i32 %4679, ptr @test_count, align 4, !tbaa !5
  %4680 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %106)
  %4681 = icmp eq i32 %4680, -1
  br i1 %4681, label %4682, label %4735

4682:                                             ; preds = %4677
  br label %4683

4683:                                             ; preds = %4682
  br label %4684

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

4691:                                             ; preds = %4684
  %4692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4693 = call i32 @fileno(ptr noundef %4692) #11
  %4694 = call i32 @isatty(i32 noundef %4693) #11
  %4695 = icmp ne i32 %4694, 0
  br i1 %4695, label %4696, label %4713

4696:                                             ; preds = %4691
  %4697 = load i32, ptr %107, align 4, !tbaa !5
  %4698 = call ptr @__errno_location() #12
  store i32 %4697, ptr %4698, align 4, !tbaa !5
  %4699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4700 = load i32, ptr @test_count, align 4, !tbaa !5
  %4701 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4702 = load i32, ptr %4701, align 4, !tbaa !5
  %4703 = call ptr @s2n_strerror(i32 noundef %4702, ptr noundef @.str.4)
  %4704 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4705 = load i32, ptr %4704, align 4, !tbaa !5
  %4706 = call ptr @s2n_strerror_debug(i32 noundef %4705, ptr noundef @.str.4)
  %4707 = call ptr @__errno_location() #12
  %4708 = load i32, ptr %4707, align 4, !tbaa !5
  %4709 = call ptr @strerror(i32 noundef %4708) #11
  %4710 = call ptr @__errno_location() #12
  %4711 = load i32, ptr %4710, align 4, !tbaa !5
  %4712 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4699, ptr noundef @.str.2, i32 noundef %4700, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 202, ptr noundef %4703, ptr noundef %4706, ptr noundef %4709, i32 noundef %4711) #11
  br label %4730

4713:                                             ; preds = %4691, %4684
  %4714 = load i32, ptr %107, align 4, !tbaa !5
  %4715 = call ptr @__errno_location() #12
  store i32 %4714, ptr %4715, align 4, !tbaa !5
  %4716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4717 = load i32, ptr @test_count, align 4, !tbaa !5
  %4718 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4719 = load i32, ptr %4718, align 4, !tbaa !5
  %4720 = call ptr @s2n_strerror(i32 noundef %4719, ptr noundef @.str.4)
  %4721 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4722 = load i32, ptr %4721, align 4, !tbaa !5
  %4723 = call ptr @s2n_strerror_debug(i32 noundef %4722, ptr noundef @.str.4)
  %4724 = call ptr @__errno_location() #12
  %4725 = load i32, ptr %4724, align 4, !tbaa !5
  %4726 = call ptr @strerror(i32 noundef %4725) #11
  %4727 = call ptr @__errno_location() #12
  %4728 = load i32, ptr %4727, align 4, !tbaa !5
  %4729 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4716, ptr noundef @.str.5, i32 noundef %4717, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 202, ptr noundef %4720, ptr noundef %4723, ptr noundef %4726, i32 noundef %4728) #11
  br label %4730

4730:                                             ; preds = %4713, %4696
  call void @llvm.lifetime.end.p0(i64 4, ptr %107) #11
  br label %4731

4731:                                             ; preds = %4730
  br label %4732

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

4733:                                             ; No predecessors!
  br label %4734

4734:                                             ; preds = %4733
  br label %4735

4735:                                             ; preds = %4734, %4677
  br label %4736

4736:                                             ; preds = %4735
  br label %4737

4737:                                             ; preds = %4736
  br label %4738

4738:                                             ; preds = %4737
  %4739 = load i32, ptr @test_count, align 4, !tbaa !5
  %4740 = add nsw i32 %4739, 1
  store i32 %4740, ptr @test_count, align 4, !tbaa !5
  %4741 = load ptr, ptr %103, align 8, !tbaa !9
  %4742 = load ptr, ptr %100, align 8, !tbaa !9
  %4743 = call i32 @s2n_connections_set_io_pair(ptr noundef %4741, ptr noundef %4742, ptr noundef %106)
  %4744 = icmp eq i32 %4743, -1
  br i1 %4744, label %4745, label %4798

4745:                                             ; preds = %4738
  br label %4746

4746:                                             ; preds = %4745
  br label %4747

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

4754:                                             ; preds = %4747
  %4755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4756 = call i32 @fileno(ptr noundef %4755) #11
  %4757 = call i32 @isatty(i32 noundef %4756) #11
  %4758 = icmp ne i32 %4757, 0
  br i1 %4758, label %4759, label %4776

4759:                                             ; preds = %4754
  %4760 = load i32, ptr %108, align 4, !tbaa !5
  %4761 = call ptr @__errno_location() #12
  store i32 %4760, ptr %4761, align 4, !tbaa !5
  %4762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4763 = load i32, ptr @test_count, align 4, !tbaa !5
  %4764 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4765 = load i32, ptr %4764, align 4, !tbaa !5
  %4766 = call ptr @s2n_strerror(i32 noundef %4765, ptr noundef @.str.4)
  %4767 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4768 = load i32, ptr %4767, align 4, !tbaa !5
  %4769 = call ptr @s2n_strerror_debug(i32 noundef %4768, ptr noundef @.str.4)
  %4770 = call ptr @__errno_location() #12
  %4771 = load i32, ptr %4770, align 4, !tbaa !5
  %4772 = call ptr @strerror(i32 noundef %4771) #11
  %4773 = call ptr @__errno_location() #12
  %4774 = load i32, ptr %4773, align 4, !tbaa !5
  %4775 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4762, ptr noundef @.str.2, i32 noundef %4763, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 203, ptr noundef %4766, ptr noundef %4769, ptr noundef %4772, i32 noundef %4774) #11
  br label %4793

4776:                                             ; preds = %4754, %4747
  %4777 = load i32, ptr %108, align 4, !tbaa !5
  %4778 = call ptr @__errno_location() #12
  store i32 %4777, ptr %4778, align 4, !tbaa !5
  %4779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4780 = load i32, ptr @test_count, align 4, !tbaa !5
  %4781 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4782 = load i32, ptr %4781, align 4, !tbaa !5
  %4783 = call ptr @s2n_strerror(i32 noundef %4782, ptr noundef @.str.4)
  %4784 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4785 = load i32, ptr %4784, align 4, !tbaa !5
  %4786 = call ptr @s2n_strerror_debug(i32 noundef %4785, ptr noundef @.str.4)
  %4787 = call ptr @__errno_location() #12
  %4788 = load i32, ptr %4787, align 4, !tbaa !5
  %4789 = call ptr @strerror(i32 noundef %4788) #11
  %4790 = call ptr @__errno_location() #12
  %4791 = load i32, ptr %4790, align 4, !tbaa !5
  %4792 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4779, ptr noundef @.str.5, i32 noundef %4780, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 203, ptr noundef %4783, ptr noundef %4786, ptr noundef %4789, i32 noundef %4791) #11
  br label %4793

4793:                                             ; preds = %4776, %4759
  call void @llvm.lifetime.end.p0(i64 4, ptr %108) #11
  br label %4794

4794:                                             ; preds = %4793
  br label %4795

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

4796:                                             ; No predecessors!
  br label %4797

4797:                                             ; preds = %4796
  br label %4798

4798:                                             ; preds = %4797, %4738
  br label %4799

4799:                                             ; preds = %4798
  br label %4800

4800:                                             ; preds = %4799
  call void @llvm.lifetime.start.p0(i64 8, ptr %109) #11
  store i64 0, ptr %109, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 22, ptr %110) #11
  call void @llvm.memset.p0.i64(ptr align 16 %110, i8 0, i64 22, i1 false)
  br label %4801

4801:                                             ; preds = %4800
  %4802 = load i32, ptr @test_count, align 4, !tbaa !5
  %4803 = add nsw i32 %4802, 1
  store i32 %4803, ptr @test_count, align 4, !tbaa !5
  %4804 = load ptr, ptr %100, align 8, !tbaa !9
  %4805 = load ptr, ptr %103, align 8, !tbaa !9
  %4806 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %4804, ptr noundef %4805)
  %4807 = icmp eq i32 %4806, -1
  br i1 %4807, label %4808, label %4861

4808:                                             ; preds = %4801
  br label %4809

4809:                                             ; preds = %4808
  br label %4810

4810:                                             ; preds = %4809
  call void @llvm.lifetime.start.p0(i64 4, ptr %111) #11
  %4811 = call ptr @__errno_location() #12
  %4812 = load i32, ptr %4811, align 4, !tbaa !5
  store i32 %4812, ptr %111, align 4, !tbaa !5
  %4813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4814 = call i32 @s2n_print_stacktrace(ptr noundef %4813)
  %4815 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4816 = trunc i8 %4815 to i1
  br i1 %4816, label %4817, label %4839

4817:                                             ; preds = %4810
  %4818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4819 = call i32 @fileno(ptr noundef %4818) #11
  %4820 = call i32 @isatty(i32 noundef %4819) #11
  %4821 = icmp ne i32 %4820, 0
  br i1 %4821, label %4822, label %4839

4822:                                             ; preds = %4817
  %4823 = load i32, ptr %111, align 4, !tbaa !5
  %4824 = call ptr @__errno_location() #12
  store i32 %4823, ptr %4824, align 4, !tbaa !5
  %4825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4826 = load i32, ptr @test_count, align 4, !tbaa !5
  %4827 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4828 = load i32, ptr %4827, align 4, !tbaa !5
  %4829 = call ptr @s2n_strerror(i32 noundef %4828, ptr noundef @.str.4)
  %4830 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4831 = load i32, ptr %4830, align 4, !tbaa !5
  %4832 = call ptr @s2n_strerror_debug(i32 noundef %4831, ptr noundef @.str.4)
  %4833 = call ptr @__errno_location() #12
  %4834 = load i32, ptr %4833, align 4, !tbaa !5
  %4835 = call ptr @strerror(i32 noundef %4834) #11
  %4836 = call ptr @__errno_location() #12
  %4837 = load i32, ptr %4836, align 4, !tbaa !5
  %4838 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4825, ptr noundef @.str.2, i32 noundef %4826, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 209, ptr noundef %4829, ptr noundef %4832, ptr noundef %4835, i32 noundef %4837) #11
  br label %4856

4839:                                             ; preds = %4817, %4810
  %4840 = load i32, ptr %111, align 4, !tbaa !5
  %4841 = call ptr @__errno_location() #12
  store i32 %4840, ptr %4841, align 4, !tbaa !5
  %4842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4843 = load i32, ptr @test_count, align 4, !tbaa !5
  %4844 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4845 = load i32, ptr %4844, align 4, !tbaa !5
  %4846 = call ptr @s2n_strerror(i32 noundef %4845, ptr noundef @.str.4)
  %4847 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4848 = load i32, ptr %4847, align 4, !tbaa !5
  %4849 = call ptr @s2n_strerror_debug(i32 noundef %4848, ptr noundef @.str.4)
  %4850 = call ptr @__errno_location() #12
  %4851 = load i32, ptr %4850, align 4, !tbaa !5
  %4852 = call ptr @strerror(i32 noundef %4851) #11
  %4853 = call ptr @__errno_location() #12
  %4854 = load i32, ptr %4853, align 4, !tbaa !5
  %4855 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4842, ptr noundef @.str.5, i32 noundef %4843, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 209, ptr noundef %4846, ptr noundef %4849, ptr noundef %4852, i32 noundef %4854) #11
  br label %4856

4856:                                             ; preds = %4839, %4822
  call void @llvm.lifetime.end.p0(i64 4, ptr %111) #11
  br label %4857

4857:                                             ; preds = %4856
  br label %4858

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

4859:                                             ; No predecessors!
  br label %4860

4860:                                             ; preds = %4859
  br label %4861

4861:                                             ; preds = %4860, %4801
  br label %4862

4862:                                             ; preds = %4861
  br label %4863

4863:                                             ; preds = %4862
  br label %4864

4864:                                             ; preds = %4863
  %4865 = load i32, ptr @test_count, align 4, !tbaa !5
  %4866 = add nsw i32 %4865, 1
  store i32 %4866, ptr @test_count, align 4, !tbaa !5
  %4867 = load ptr, ptr %103, align 8, !tbaa !9
  %4868 = call i32 @s2n_renegotiate_wipe(ptr noundef %4867)
  %4869 = icmp eq i32 %4868, -1
  br i1 %4869, label %4870, label %4923

4870:                                             ; preds = %4864
  br label %4871

4871:                                             ; preds = %4870
  br label %4872

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

4879:                                             ; preds = %4872
  %4880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4881 = call i32 @fileno(ptr noundef %4880) #11
  %4882 = call i32 @isatty(i32 noundef %4881) #11
  %4883 = icmp ne i32 %4882, 0
  br i1 %4883, label %4884, label %4901

4884:                                             ; preds = %4879
  %4885 = load i32, ptr %112, align 4, !tbaa !5
  %4886 = call ptr @__errno_location() #12
  store i32 %4885, ptr %4886, align 4, !tbaa !5
  %4887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4888 = load i32, ptr @test_count, align 4, !tbaa !5
  %4889 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4890 = load i32, ptr %4889, align 4, !tbaa !5
  %4891 = call ptr @s2n_strerror(i32 noundef %4890, ptr noundef @.str.4)
  %4892 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4893 = load i32, ptr %4892, align 4, !tbaa !5
  %4894 = call ptr @s2n_strerror_debug(i32 noundef %4893, ptr noundef @.str.4)
  %4895 = call ptr @__errno_location() #12
  %4896 = load i32, ptr %4895, align 4, !tbaa !5
  %4897 = call ptr @strerror(i32 noundef %4896) #11
  %4898 = call ptr @__errno_location() #12
  %4899 = load i32, ptr %4898, align 4, !tbaa !5
  %4900 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4887, ptr noundef @.str.2, i32 noundef %4888, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 210, ptr noundef %4891, ptr noundef %4894, ptr noundef %4897, i32 noundef %4899) #11
  br label %4918

4901:                                             ; preds = %4879, %4872
  %4902 = load i32, ptr %112, align 4, !tbaa !5
  %4903 = call ptr @__errno_location() #12
  store i32 %4902, ptr %4903, align 4, !tbaa !5
  %4904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4905 = load i32, ptr @test_count, align 4, !tbaa !5
  %4906 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4907 = load i32, ptr %4906, align 4, !tbaa !5
  %4908 = call ptr @s2n_strerror(i32 noundef %4907, ptr noundef @.str.4)
  %4909 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4910 = load i32, ptr %4909, align 4, !tbaa !5
  %4911 = call ptr @s2n_strerror_debug(i32 noundef %4910, ptr noundef @.str.4)
  %4912 = call ptr @__errno_location() #12
  %4913 = load i32, ptr %4912, align 4, !tbaa !5
  %4914 = call ptr @strerror(i32 noundef %4913) #11
  %4915 = call ptr @__errno_location() #12
  %4916 = load i32, ptr %4915, align 4, !tbaa !5
  %4917 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4904, ptr noundef @.str.5, i32 noundef %4905, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 210, ptr noundef %4908, ptr noundef %4911, ptr noundef %4914, i32 noundef %4916) #11
  br label %4918

4918:                                             ; preds = %4901, %4884
  call void @llvm.lifetime.end.p0(i64 4, ptr %112) #11
  br label %4919

4919:                                             ; preds = %4918
  br label %4920

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

4921:                                             ; No predecessors!
  br label %4922

4922:                                             ; preds = %4921
  br label %4923

4923:                                             ; preds = %4922, %4864
  br label %4924

4924:                                             ; preds = %4923
  br label %4925

4925:                                             ; preds = %4924
  br label %4926

4926:                                             ; preds = %4925
  %4927 = load i32, ptr @test_count, align 4, !tbaa !5
  %4928 = add nsw i32 %4927, 1
  store i32 %4928, ptr @test_count, align 4, !tbaa !5
  %4929 = load ptr, ptr %100, align 8, !tbaa !9
  %4930 = call i32 @s2n_renegotiate_wipe(ptr noundef %4929)
  %4931 = icmp eq i32 %4930, -1
  br i1 %4931, label %4932, label %4985

4932:                                             ; preds = %4926
  br label %4933

4933:                                             ; preds = %4932
  br label %4934

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

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

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

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

4980:                                             ; preds = %4963, %4946
  call void @llvm.lifetime.end.p0(i64 4, ptr %113) #11
  br label %4981

4981:                                             ; preds = %4980
  br label %4982

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

4983:                                             ; No predecessors!
  br label %4984

4984:                                             ; preds = %4983
  br label %4985

4985:                                             ; preds = %4984, %4926
  br label %4986

4986:                                             ; preds = %4985
  br label %4987

4987:                                             ; preds = %4986
  call void @llvm.lifetime.start.p0(i64 8, ptr %114) #11
  store i64 0, ptr %114, align 8, !tbaa !15
  br label %4988

4988:                                             ; preds = %5056, %4987
  %4989 = load i64, ptr %114, align 8, !tbaa !15
  %4990 = icmp ult i64 %4989, 10
  br i1 %4990, label %4992, label %4991

4991:                                             ; preds = %4988
  call void @llvm.lifetime.end.p0(i64 8, ptr %114) #11
  br label %5059

4992:                                             ; preds = %4988
  br label %4993

4993:                                             ; preds = %4992
  %4994 = load i32, ptr @test_count, align 4, !tbaa !5
  %4995 = add nsw i32 %4994, 1
  store i32 %4995, ptr @test_count, align 4, !tbaa !5
  %4996 = load ptr, ptr %100, align 8, !tbaa !9
  %4997 = getelementptr inbounds [22 x i8], ptr %16, i64 0, i64 0
  %4998 = call i64 @s2n_send(ptr noundef %4996, ptr noundef %4997, i64 noundef 22, ptr noundef %17)
  %4999 = icmp eq i64 %4998, 22
  br i1 %4999, label %5053, label %5000

5000:                                             ; preds = %4993
  br label %5001

5001:                                             ; preds = %5000
  br label %5002

5002:                                             ; preds = %5001
  call void @llvm.lifetime.start.p0(i64 4, ptr %115) #11
  %5003 = call ptr @__errno_location() #12
  %5004 = load i32, ptr %5003, align 4, !tbaa !5
  store i32 %5004, ptr %115, align 4, !tbaa !5
  %5005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5006 = call i32 @s2n_print_stacktrace(ptr noundef %5005)
  %5007 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5008 = trunc i8 %5007 to i1
  br i1 %5008, label %5009, label %5031

5009:                                             ; preds = %5002
  %5010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5011 = call i32 @fileno(ptr noundef %5010) #11
  %5012 = call i32 @isatty(i32 noundef %5011) #11
  %5013 = icmp ne i32 %5012, 0
  br i1 %5013, label %5014, label %5031

5014:                                             ; preds = %5009
  %5015 = load i32, ptr %115, align 4, !tbaa !5
  %5016 = call ptr @__errno_location() #12
  store i32 %5015, ptr %5016, align 4, !tbaa !5
  %5017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5018 = load i32, ptr @test_count, align 4, !tbaa !5
  %5019 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5020 = load i32, ptr %5019, align 4, !tbaa !5
  %5021 = call ptr @s2n_strerror(i32 noundef %5020, ptr noundef @.str.4)
  %5022 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5023 = load i32, ptr %5022, align 4, !tbaa !5
  %5024 = call ptr @s2n_strerror_debug(i32 noundef %5023, ptr noundef @.str.4)
  %5025 = call ptr @__errno_location() #12
  %5026 = load i32, ptr %5025, align 4, !tbaa !5
  %5027 = call ptr @strerror(i32 noundef %5026) #11
  %5028 = call ptr @__errno_location() #12
  %5029 = load i32, ptr %5028, align 4, !tbaa !5
  %5030 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5017, ptr noundef @.str.2, i32 noundef %5018, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 215, ptr noundef %5021, ptr noundef %5024, ptr noundef %5027, i32 noundef %5029) #11
  br label %5048

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

5048:                                             ; preds = %5031, %5014
  call void @llvm.lifetime.end.p0(i64 4, ptr %115) #11
  br label %5049

5049:                                             ; preds = %5048
  br label %5050

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

5051:                                             ; No predecessors!
  br label %5052

5052:                                             ; preds = %5051
  br label %5053

5053:                                             ; preds = %5052, %4993
  br label %5054

5054:                                             ; preds = %5053
  br label %5055

5055:                                             ; preds = %5054
  br label %5056

5056:                                             ; preds = %5055
  %5057 = load i64, ptr %114, align 8, !tbaa !15
  %5058 = add i64 %5057, 1
  store i64 %5058, ptr %114, align 8, !tbaa !15
  br label %4988, !llvm.loop !19

5059:                                             ; preds = %4991
  call void @llvm.lifetime.start.p0(i64 8, ptr %116) #11
  store i64 0, ptr %116, align 8, !tbaa !15
  br label %5060

5060:                                             ; preds = %5454, %5059
  %5061 = load i64, ptr %116, align 8, !tbaa !15
  %5062 = icmp ult i64 %5061, 10
  br i1 %5062, label %5064, label %5063

5063:                                             ; preds = %5060
  call void @llvm.lifetime.end.p0(i64 8, ptr %116) #11
  br label %5457

5064:                                             ; preds = %5060
  br label %5065

5065:                                             ; preds = %5064
  br label %5066

5066:                                             ; preds = %5065
  br label %5067

5067:                                             ; preds = %5066
  %5068 = load i32, ptr @test_count, align 4, !tbaa !5
  %5069 = add nsw i32 %5068, 1
  store i32 %5069, ptr @test_count, align 4, !tbaa !5
  %5070 = load ptr, ptr %103, align 8, !tbaa !9
  %5071 = getelementptr inbounds [22 x i8], ptr %110, i64 0, i64 0
  %5072 = call i32 @s2n_renegotiate(ptr noundef %5070, ptr noundef %5071, i64 noundef 22, ptr noundef %109, ptr noundef %17)
  %5073 = icmp eq i32 %5072, -1
  br i1 %5073, label %5127, label %5074

5074:                                             ; preds = %5067
  br label %5075

5075:                                             ; preds = %5074
  br label %5076

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

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

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

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

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

5123:                                             ; preds = %5122
  br label %5124

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

5125:                                             ; No predecessors!
  br label %5126

5126:                                             ; preds = %5125
  br label %5127

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

5128:                                             ; preds = %5127
  br label %5129

5129:                                             ; preds = %5128
  br label %5130

5130:                                             ; preds = %5129
  %5131 = load i32, ptr @test_count, align 4, !tbaa !5
  %5132 = add nsw i32 %5131, 1
  store i32 %5132, ptr @test_count, align 4, !tbaa !5
  %5133 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5134 = load i32, ptr %5133, align 4, !tbaa !5
  %5135 = icmp eq i32 %5134, 201326595
  br i1 %5135, label %5189, label %5136

5136:                                             ; preds = %5130
  br label %5137

5137:                                             ; preds = %5136
  br label %5138

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

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

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

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

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

5185:                                             ; preds = %5184
  br label %5186

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

5187:                                             ; No predecessors!
  br label %5188

5188:                                             ; preds = %5187
  br label %5189

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

5190:                                             ; preds = %5189
  br label %5191

5191:                                             ; preds = %5190
  br label %5192

5192:                                             ; preds = %5191
  %5193 = load i32, ptr @test_count, align 4, !tbaa !5
  %5194 = add nsw i32 %5193, 1
  store i32 %5194, ptr @test_count, align 4, !tbaa !5
  %5195 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5196 = load i32, ptr %5195, align 4, !tbaa !5
  %5197 = call ptr @s2n_strerror_debug(i32 noundef %5196, ptr noundef @.str.4)
  %5198 = icmp eq ptr %5197, null
  br i1 %5198, label %5199, label %5252

5199:                                             ; preds = %5192
  br label %5200

5200:                                             ; preds = %5199
  br label %5201

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

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

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

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

5247:                                             ; preds = %5230, %5213
  call void @llvm.lifetime.end.p0(i64 4, ptr %119) #11
  br label %5248

5248:                                             ; preds = %5247
  br label %5249

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

5250:                                             ; No predecessors!
  br label %5251

5251:                                             ; preds = %5250
  br label %5252

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

5253:                                             ; preds = %5252
  br label %5254

5254:                                             ; preds = %5253
  br label %5255

5255:                                             ; preds = %5254
  br label %5256

5256:                                             ; preds = %5255
  br label %5257

5257:                                             ; preds = %5256
  %5258 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %5258, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %5259 = call ptr @__errno_location() #12
  store i32 0, ptr %5259, align 4, !tbaa !5
  br label %5260

5260:                                             ; preds = %5257
  br label %5261

5261:                                             ; preds = %5260
  br label %5262

5262:                                             ; preds = %5261
  br label %5263

5263:                                             ; preds = %5262
  br label %5264

5264:                                             ; preds = %5263
  %5265 = load i32, ptr @test_count, align 4, !tbaa !5
  %5266 = add nsw i32 %5265, 1
  store i32 %5266, ptr @test_count, align 4, !tbaa !5
  %5267 = load i32, ptr %17, align 4, !tbaa !5
  %5268 = load i32, ptr @S2N_BLOCKED_ON_APPLICATION_DATA, align 4, !tbaa !5
  %5269 = icmp eq i32 %5267, %5268
  br i1 %5269, label %5323, label %5270

5270:                                             ; preds = %5264
  br label %5271

5271:                                             ; preds = %5270
  br label %5272

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

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

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

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

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

5319:                                             ; preds = %5318
  br label %5320

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

5321:                                             ; No predecessors!
  br label %5322

5322:                                             ; preds = %5321
  br label %5323

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

5324:                                             ; preds = %5323
  br label %5325

5325:                                             ; preds = %5324
  br label %5326

5326:                                             ; preds = %5325
  %5327 = load i32, ptr @test_count, align 4, !tbaa !5
  %5328 = add nsw i32 %5327, 1
  store i32 %5328, ptr @test_count, align 4, !tbaa !5
  %5329 = load i64, ptr %109, align 8, !tbaa !15
  %5330 = icmp eq i64 %5329, 22
  br i1 %5330, label %5384, label %5331

5331:                                             ; preds = %5326
  br label %5332

5332:                                             ; preds = %5331
  br label %5333

5333:                                             ; preds = %5332
  call void @llvm.lifetime.start.p0(i64 4, ptr %121) #11
  %5334 = call ptr @__errno_location() #12
  %5335 = load i32, ptr %5334, align 4, !tbaa !5
  store i32 %5335, ptr %121, align 4, !tbaa !5
  %5336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5337 = call i32 @s2n_print_stacktrace(ptr noundef %5336)
  %5338 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5339 = trunc i8 %5338 to i1
  br i1 %5339, label %5340, label %5362

5340:                                             ; preds = %5333
  %5341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5342 = call i32 @fileno(ptr noundef %5341) #11
  %5343 = call i32 @isatty(i32 noundef %5342) #11
  %5344 = icmp ne i32 %5343, 0
  br i1 %5344, label %5345, label %5362

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

5362:                                             ; preds = %5340, %5333
  %5363 = load i32, ptr %121, align 4, !tbaa !5
  %5364 = call ptr @__errno_location() #12
  store i32 %5363, ptr %5364, align 4, !tbaa !5
  %5365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5366 = load i32, ptr @test_count, align 4, !tbaa !5
  %5367 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5368 = load i32, ptr %5367, align 4, !tbaa !5
  %5369 = call ptr @s2n_strerror(i32 noundef %5368, ptr noundef @.str.4)
  %5370 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5371 = load i32, ptr %5370, align 4, !tbaa !5
  %5372 = call ptr @s2n_strerror_debug(i32 noundef %5371, ptr noundef @.str.4)
  %5373 = call ptr @__errno_location() #12
  %5374 = load i32, ptr %5373, align 4, !tbaa !5
  %5375 = call ptr @strerror(i32 noundef %5374) #11
  %5376 = call ptr @__errno_location() #12
  %5377 = load i32, ptr %5376, align 4, !tbaa !5
  %5378 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5365, ptr noundef @.str.5, i32 noundef %5366, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 224, ptr noundef %5369, ptr noundef %5372, ptr noundef %5375, i32 noundef %5377) #11
  br label %5379

5379:                                             ; preds = %5362, %5345
  call void @llvm.lifetime.end.p0(i64 4, ptr %121) #11
  br label %5380

5380:                                             ; preds = %5379
  br label %5381

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

5382:                                             ; No predecessors!
  br label %5383

5383:                                             ; preds = %5382
  br label %5384

5384:                                             ; preds = %5383, %5326
  br label %5385

5385:                                             ; preds = %5384
  br label %5386

5386:                                             ; preds = %5385
  br label %5387

5387:                                             ; preds = %5386
  br label %5388

5388:                                             ; preds = %5387
  %5389 = load i32, ptr @test_count, align 4, !tbaa !5
  %5390 = add nsw i32 %5389, 1
  store i32 %5390, ptr @test_count, align 4, !tbaa !5
  %5391 = getelementptr inbounds [22 x i8], ptr %110, i64 0, i64 0
  %5392 = getelementptr inbounds [22 x i8], ptr %16, i64 0, i64 0
  %5393 = call i32 @memcmp(ptr noundef %5391, ptr noundef %5392, i64 noundef 22) #14
  %5394 = icmp eq i32 %5393, 0
  br i1 %5394, label %5448, label %5395

5395:                                             ; preds = %5388
  br label %5396

5396:                                             ; preds = %5395
  br label %5397

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

5404:                                             ; preds = %5397
  %5405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5406 = call i32 @fileno(ptr noundef %5405) #11
  %5407 = call i32 @isatty(i32 noundef %5406) #11
  %5408 = icmp ne i32 %5407, 0
  br i1 %5408, label %5409, label %5426

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

5426:                                             ; preds = %5404, %5397
  %5427 = load i32, ptr %122, align 4, !tbaa !5
  %5428 = call ptr @__errno_location() #12
  store i32 %5427, ptr %5428, align 4, !tbaa !5
  %5429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5430 = load i32, ptr @test_count, align 4, !tbaa !5
  %5431 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5432 = load i32, ptr %5431, align 4, !tbaa !5
  %5433 = call ptr @s2n_strerror(i32 noundef %5432, ptr noundef @.str.4)
  %5434 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5435 = load i32, ptr %5434, align 4, !tbaa !5
  %5436 = call ptr @s2n_strerror_debug(i32 noundef %5435, ptr noundef @.str.4)
  %5437 = call ptr @__errno_location() #12
  %5438 = load i32, ptr %5437, align 4, !tbaa !5
  %5439 = call ptr @strerror(i32 noundef %5438) #11
  %5440 = call ptr @__errno_location() #12
  %5441 = load i32, ptr %5440, align 4, !tbaa !5
  %5442 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5429, ptr noundef @.str.5, i32 noundef %5430, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 225, ptr noundef %5433, ptr noundef %5436, ptr noundef %5439, i32 noundef %5441) #11
  br label %5443

5443:                                             ; preds = %5426, %5409
  call void @llvm.lifetime.end.p0(i64 4, ptr %122) #11
  br label %5444

5444:                                             ; preds = %5443
  br label %5445

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

5446:                                             ; No predecessors!
  br label %5447

5447:                                             ; preds = %5446
  br label %5448

5448:                                             ; preds = %5447, %5388
  br label %5449

5449:                                             ; preds = %5448
  br label %5450

5450:                                             ; preds = %5449
  br label %5451

5451:                                             ; preds = %5450
  br label %5452

5452:                                             ; preds = %5451
  %5453 = getelementptr inbounds [22 x i8], ptr %110, i64 0, i64 0
  call void @llvm.memset.p0.i64(ptr align 16 %5453, i8 0, i64 22, i1 false)
  br label %5454

5454:                                             ; preds = %5452
  %5455 = load i64, ptr %116, align 8, !tbaa !15
  %5456 = add i64 %5455, 1
  store i64 %5456, ptr %116, align 8, !tbaa !15
  br label %5060, !llvm.loop !20

5457:                                             ; preds = %5063
  br label %5458

5458:                                             ; preds = %5457
  %5459 = load i32, ptr @test_count, align 4, !tbaa !5
  %5460 = add nsw i32 %5459, 1
  store i32 %5460, ptr @test_count, align 4, !tbaa !5
  %5461 = load ptr, ptr %103, align 8, !tbaa !9
  %5462 = call i32 @s2n_conn_get_current_message_type(ptr noundef %5461)
  %5463 = icmp eq i32 %5462, 1
  br i1 %5463, label %5517, label %5464

5464:                                             ; preds = %5458
  br label %5465

5465:                                             ; preds = %5464
  br label %5466

5466:                                             ; preds = %5465
  call void @llvm.lifetime.start.p0(i64 4, ptr %123) #11
  %5467 = call ptr @__errno_location() #12
  %5468 = load i32, ptr %5467, align 4, !tbaa !5
  store i32 %5468, ptr %123, align 4, !tbaa !5
  %5469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5470 = call i32 @s2n_print_stacktrace(ptr noundef %5469)
  %5471 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5472 = trunc i8 %5471 to i1
  br i1 %5472, label %5473, label %5495

5473:                                             ; preds = %5466
  %5474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5475 = call i32 @fileno(ptr noundef %5474) #11
  %5476 = call i32 @isatty(i32 noundef %5475) #11
  %5477 = icmp ne i32 %5476, 0
  br i1 %5477, label %5478, label %5495

5478:                                             ; preds = %5473
  %5479 = load i32, ptr %123, align 4, !tbaa !5
  %5480 = call ptr @__errno_location() #12
  store i32 %5479, ptr %5480, align 4, !tbaa !5
  %5481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5482 = load i32, ptr @test_count, align 4, !tbaa !5
  %5483 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5484 = load i32, ptr %5483, align 4, !tbaa !5
  %5485 = call ptr @s2n_strerror(i32 noundef %5484, ptr noundef @.str.4)
  %5486 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5487 = load i32, ptr %5486, align 4, !tbaa !5
  %5488 = call ptr @s2n_strerror_debug(i32 noundef %5487, ptr noundef @.str.4)
  %5489 = call ptr @__errno_location() #12
  %5490 = load i32, ptr %5489, align 4, !tbaa !5
  %5491 = call ptr @strerror(i32 noundef %5490) #11
  %5492 = call ptr @__errno_location() #12
  %5493 = load i32, ptr %5492, align 4, !tbaa !5
  %5494 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5481, ptr noundef @.str.2, i32 noundef %5482, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 230, ptr noundef %5485, ptr noundef %5488, ptr noundef %5491, i32 noundef %5493) #11
  br label %5512

5495:                                             ; preds = %5473, %5466
  %5496 = load i32, ptr %123, align 4, !tbaa !5
  %5497 = call ptr @__errno_location() #12
  store i32 %5496, ptr %5497, align 4, !tbaa !5
  %5498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5499 = load i32, ptr @test_count, align 4, !tbaa !5
  %5500 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5501 = load i32, ptr %5500, align 4, !tbaa !5
  %5502 = call ptr @s2n_strerror(i32 noundef %5501, ptr noundef @.str.4)
  %5503 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5504 = load i32, ptr %5503, align 4, !tbaa !5
  %5505 = call ptr @s2n_strerror_debug(i32 noundef %5504, ptr noundef @.str.4)
  %5506 = call ptr @__errno_location() #12
  %5507 = load i32, ptr %5506, align 4, !tbaa !5
  %5508 = call ptr @strerror(i32 noundef %5507) #11
  %5509 = call ptr @__errno_location() #12
  %5510 = load i32, ptr %5509, align 4, !tbaa !5
  %5511 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5498, ptr noundef @.str.5, i32 noundef %5499, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 230, ptr noundef %5502, ptr noundef %5505, ptr noundef %5508, i32 noundef %5510) #11
  br label %5512

5512:                                             ; preds = %5495, %5478
  call void @llvm.lifetime.end.p0(i64 4, ptr %123) #11
  br label %5513

5513:                                             ; preds = %5512
  br label %5514

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

5515:                                             ; No predecessors!
  br label %5516

5516:                                             ; preds = %5515
  br label %5517

5517:                                             ; preds = %5516, %5458
  br label %5518

5518:                                             ; preds = %5517
  br label %5519

5519:                                             ; preds = %5518
  br label %5520

5520:                                             ; preds = %5519
  %5521 = load i32, ptr @test_count, align 4, !tbaa !5
  %5522 = add nsw i32 %5521, 1
  store i32 %5522, ptr @test_count, align 4, !tbaa !5
  %5523 = load ptr, ptr %100, align 8, !tbaa !9
  %5524 = load ptr, ptr %103, align 8, !tbaa !9
  %5525 = call i32 @s2n_renegotiate_test_server_and_client(ptr noundef %5523, ptr noundef %5524)
  %5526 = getelementptr inbounds %struct.s2n_result, ptr %124, i32 0, i32 0
  store i32 %5525, ptr %5526, align 4
  %5527 = getelementptr inbounds %struct.s2n_result, ptr %124, i32 0, i32 0
  %5528 = load i32, ptr %5527, align 4
  %5529 = call zeroext i1 @s2n_result_is_ok(i32 %5528)
  br i1 %5529, label %5583, label %5530

5530:                                             ; preds = %5520
  br label %5531

5531:                                             ; preds = %5530
  br label %5532

5532:                                             ; preds = %5531
  call void @llvm.lifetime.start.p0(i64 4, ptr %125) #11
  %5533 = call ptr @__errno_location() #12
  %5534 = load i32, ptr %5533, align 4, !tbaa !5
  store i32 %5534, ptr %125, align 4, !tbaa !5
  %5535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5536 = call i32 @s2n_print_stacktrace(ptr noundef %5535)
  %5537 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5538 = trunc i8 %5537 to i1
  br i1 %5538, label %5539, label %5561

5539:                                             ; preds = %5532
  %5540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5541 = call i32 @fileno(ptr noundef %5540) #11
  %5542 = call i32 @isatty(i32 noundef %5541) #11
  %5543 = icmp ne i32 %5542, 0
  br i1 %5543, label %5544, label %5561

5544:                                             ; preds = %5539
  %5545 = load i32, ptr %125, align 4, !tbaa !5
  %5546 = call ptr @__errno_location() #12
  store i32 %5545, ptr %5546, align 4, !tbaa !5
  %5547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5548 = load i32, ptr @test_count, align 4, !tbaa !5
  %5549 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5550 = load i32, ptr %5549, align 4, !tbaa !5
  %5551 = call ptr @s2n_strerror(i32 noundef %5550, ptr noundef @.str.4)
  %5552 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5553 = load i32, ptr %5552, align 4, !tbaa !5
  %5554 = call ptr @s2n_strerror_debug(i32 noundef %5553, ptr noundef @.str.4)
  %5555 = call ptr @__errno_location() #12
  %5556 = load i32, ptr %5555, align 4, !tbaa !5
  %5557 = call ptr @strerror(i32 noundef %5556) #11
  %5558 = call ptr @__errno_location() #12
  %5559 = load i32, ptr %5558, align 4, !tbaa !5
  %5560 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5547, ptr noundef @.str.2, i32 noundef %5548, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 233, ptr noundef %5551, ptr noundef %5554, ptr noundef %5557, i32 noundef %5559) #11
  br label %5578

5561:                                             ; preds = %5539, %5532
  %5562 = load i32, ptr %125, align 4, !tbaa !5
  %5563 = call ptr @__errno_location() #12
  store i32 %5562, ptr %5563, align 4, !tbaa !5
  %5564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5565 = load i32, ptr @test_count, align 4, !tbaa !5
  %5566 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5567 = load i32, ptr %5566, align 4, !tbaa !5
  %5568 = call ptr @s2n_strerror(i32 noundef %5567, ptr noundef @.str.4)
  %5569 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5570 = load i32, ptr %5569, align 4, !tbaa !5
  %5571 = call ptr @s2n_strerror_debug(i32 noundef %5570, ptr noundef @.str.4)
  %5572 = call ptr @__errno_location() #12
  %5573 = load i32, ptr %5572, align 4, !tbaa !5
  %5574 = call ptr @strerror(i32 noundef %5573) #11
  %5575 = call ptr @__errno_location() #12
  %5576 = load i32, ptr %5575, align 4, !tbaa !5
  %5577 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5564, ptr noundef @.str.5, i32 noundef %5565, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 233, ptr noundef %5568, ptr noundef %5571, ptr noundef %5574, i32 noundef %5576) #11
  br label %5578

5578:                                             ; preds = %5561, %5544
  call void @llvm.lifetime.end.p0(i64 4, ptr %125) #11
  br label %5579

5579:                                             ; preds = %5578
  br label %5580

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

5581:                                             ; No predecessors!
  br label %5582

5582:                                             ; preds = %5581
  br label %5583

5583:                                             ; preds = %5582, %5520
  br label %5584

5584:                                             ; preds = %5583
  br label %5585

5585:                                             ; preds = %5584
  call void @llvm.lifetime.end.p0(i64 22, ptr %110) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %109) #11
  %5586 = call i32 @s2n_io_pair_close(ptr noundef %106)
  call void @llvm.lifetime.end.p0(i64 8, ptr %106) #11
  %5587 = call i32 @s2n_connection_ptr_free(ptr noundef %103)
  %5588 = getelementptr inbounds %struct.s2n_result, ptr %126, i32 0, i32 0
  store i32 %5587, ptr %5588, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %103) #11
  %5589 = call i32 @s2n_connection_ptr_free(ptr noundef %100)
  %5590 = getelementptr inbounds %struct.s2n_result, ptr %127, i32 0, i32 0
  store i32 %5589, ptr %5590, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %100) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %99) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %128) #11
  %5591 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %5591, ptr %128, align 8, !tbaa !9
  br label %5592

5592:                                             ; preds = %5585
  %5593 = load i32, ptr @test_count, align 4, !tbaa !5
  %5594 = add nsw i32 %5593, 1
  store i32 %5594, ptr @test_count, align 4, !tbaa !5
  %5595 = load ptr, ptr %128, align 8, !tbaa !9
  %5596 = icmp eq ptr %5595, null
  br i1 %5596, label %5597, label %5650

5597:                                             ; preds = %5592
  br label %5598

5598:                                             ; preds = %5597
  br label %5599

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

5606:                                             ; preds = %5599
  %5607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5608 = call i32 @fileno(ptr noundef %5607) #11
  %5609 = call i32 @isatty(i32 noundef %5608) #11
  %5610 = icmp ne i32 %5609, 0
  br i1 %5610, label %5611, label %5628

5611:                                             ; preds = %5606
  %5612 = load i32, ptr %129, align 4, !tbaa !5
  %5613 = call ptr @__errno_location() #12
  store i32 %5612, ptr %5613, align 4, !tbaa !5
  %5614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5615 = load i32, ptr @test_count, align 4, !tbaa !5
  %5616 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5617 = load i32, ptr %5616, align 4, !tbaa !5
  %5618 = call ptr @s2n_strerror(i32 noundef %5617, ptr noundef @.str.4)
  %5619 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5620 = load i32, ptr %5619, align 4, !tbaa !5
  %5621 = call ptr @s2n_strerror_debug(i32 noundef %5620, ptr noundef @.str.4)
  %5622 = call ptr @__errno_location() #12
  %5623 = load i32, ptr %5622, align 4, !tbaa !5
  %5624 = call ptr @strerror(i32 noundef %5623) #11
  %5625 = call ptr @__errno_location() #12
  %5626 = load i32, ptr %5625, align 4, !tbaa !5
  %5627 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5614, ptr noundef @.str.2, i32 noundef %5615, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 239, ptr noundef %5618, ptr noundef %5621, ptr noundef %5624, i32 noundef %5626) #11
  br label %5645

5628:                                             ; preds = %5606, %5599
  %5629 = load i32, ptr %129, align 4, !tbaa !5
  %5630 = call ptr @__errno_location() #12
  store i32 %5629, ptr %5630, align 4, !tbaa !5
  %5631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5632 = load i32, ptr @test_count, align 4, !tbaa !5
  %5633 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5634 = load i32, ptr %5633, align 4, !tbaa !5
  %5635 = call ptr @s2n_strerror(i32 noundef %5634, ptr noundef @.str.4)
  %5636 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5637 = load i32, ptr %5636, align 4, !tbaa !5
  %5638 = call ptr @s2n_strerror_debug(i32 noundef %5637, ptr noundef @.str.4)
  %5639 = call ptr @__errno_location() #12
  %5640 = load i32, ptr %5639, align 4, !tbaa !5
  %5641 = call ptr @strerror(i32 noundef %5640) #11
  %5642 = call ptr @__errno_location() #12
  %5643 = load i32, ptr %5642, align 4, !tbaa !5
  %5644 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5631, ptr noundef @.str.5, i32 noundef %5632, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 239, ptr noundef %5635, ptr noundef %5638, ptr noundef %5641, i32 noundef %5643) #11
  br label %5645

5645:                                             ; preds = %5628, %5611
  call void @llvm.lifetime.end.p0(i64 4, ptr %129) #11
  br label %5646

5646:                                             ; preds = %5645
  br label %5647

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

5648:                                             ; No predecessors!
  br label %5649

5649:                                             ; preds = %5648
  br label %5650

5650:                                             ; preds = %5649, %5592
  br label %5651

5651:                                             ; preds = %5650
  br label %5652

5652:                                             ; preds = %5651
  br label %5653

5653:                                             ; preds = %5652
  %5654 = load i32, ptr @test_count, align 4, !tbaa !5
  %5655 = add nsw i32 %5654, 1
  store i32 %5655, ptr @test_count, align 4, !tbaa !5
  %5656 = load ptr, ptr %128, align 8, !tbaa !9
  %5657 = load ptr, ptr %11, align 8, !tbaa !9
  %5658 = call i32 @s2n_connection_set_config(ptr noundef %5656, ptr noundef %5657)
  %5659 = icmp eq i32 %5658, -1
  br i1 %5659, label %5660, label %5713

5660:                                             ; preds = %5653
  br label %5661

5661:                                             ; preds = %5660
  br label %5662

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

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

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

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

5708:                                             ; preds = %5691, %5674
  call void @llvm.lifetime.end.p0(i64 4, ptr %130) #11
  br label %5709

5709:                                             ; preds = %5708
  br label %5710

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

5711:                                             ; No predecessors!
  br label %5712

5712:                                             ; preds = %5711
  br label %5713

5713:                                             ; preds = %5712, %5653
  br label %5714

5714:                                             ; preds = %5713
  br label %5715

5715:                                             ; preds = %5714
  call void @llvm.lifetime.start.p0(i64 8, ptr %131) #11
  %5716 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %5716, ptr %131, align 8, !tbaa !9
  br label %5717

5717:                                             ; preds = %5715
  %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 = load ptr, ptr %131, align 8, !tbaa !9
  %5721 = icmp eq ptr %5720, null
  br i1 %5721, label %5722, label %5775

5722:                                             ; preds = %5717
  br label %5723

5723:                                             ; preds = %5722
  br label %5724

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

5731:                                             ; preds = %5724
  %5732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5733 = call i32 @fileno(ptr noundef %5732) #11
  %5734 = call i32 @isatty(i32 noundef %5733) #11
  %5735 = icmp ne i32 %5734, 0
  br i1 %5735, label %5736, label %5753

5736:                                             ; preds = %5731
  %5737 = load i32, ptr %132, align 4, !tbaa !5
  %5738 = call ptr @__errno_location() #12
  store i32 %5737, ptr %5738, align 4, !tbaa !5
  %5739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5740 = load i32, ptr @test_count, align 4, !tbaa !5
  %5741 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5742 = load i32, ptr %5741, align 4, !tbaa !5
  %5743 = call ptr @s2n_strerror(i32 noundef %5742, ptr noundef @.str.4)
  %5744 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5745 = load i32, ptr %5744, align 4, !tbaa !5
  %5746 = call ptr @s2n_strerror_debug(i32 noundef %5745, ptr noundef @.str.4)
  %5747 = call ptr @__errno_location() #12
  %5748 = load i32, ptr %5747, align 4, !tbaa !5
  %5749 = call ptr @strerror(i32 noundef %5748) #11
  %5750 = call ptr @__errno_location() #12
  %5751 = load i32, ptr %5750, align 4, !tbaa !5
  %5752 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5739, ptr noundef @.str.2, i32 noundef %5740, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 243, ptr noundef %5743, ptr noundef %5746, ptr noundef %5749, i32 noundef %5751) #11
  br label %5770

5753:                                             ; preds = %5731, %5724
  %5754 = load i32, ptr %132, align 4, !tbaa !5
  %5755 = call ptr @__errno_location() #12
  store i32 %5754, ptr %5755, align 4, !tbaa !5
  %5756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5757 = load i32, ptr @test_count, align 4, !tbaa !5
  %5758 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5759 = load i32, ptr %5758, align 4, !tbaa !5
  %5760 = call ptr @s2n_strerror(i32 noundef %5759, ptr noundef @.str.4)
  %5761 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5762 = load i32, ptr %5761, align 4, !tbaa !5
  %5763 = call ptr @s2n_strerror_debug(i32 noundef %5762, ptr noundef @.str.4)
  %5764 = call ptr @__errno_location() #12
  %5765 = load i32, ptr %5764, align 4, !tbaa !5
  %5766 = call ptr @strerror(i32 noundef %5765) #11
  %5767 = call ptr @__errno_location() #12
  %5768 = load i32, ptr %5767, align 4, !tbaa !5
  %5769 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5756, ptr noundef @.str.5, i32 noundef %5757, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 243, ptr noundef %5760, ptr noundef %5763, ptr noundef %5766, i32 noundef %5768) #11
  br label %5770

5770:                                             ; preds = %5753, %5736
  call void @llvm.lifetime.end.p0(i64 4, ptr %132) #11
  br label %5771

5771:                                             ; preds = %5770
  br label %5772

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

5773:                                             ; No predecessors!
  br label %5774

5774:                                             ; preds = %5773
  br label %5775

5775:                                             ; preds = %5774, %5717
  br label %5776

5776:                                             ; preds = %5775
  br label %5777

5777:                                             ; preds = %5776
  br label %5778

5778:                                             ; preds = %5777
  %5779 = load i32, ptr @test_count, align 4, !tbaa !5
  %5780 = add nsw i32 %5779, 1
  store i32 %5780, ptr @test_count, align 4, !tbaa !5
  %5781 = load ptr, ptr %131, align 8, !tbaa !9
  %5782 = load ptr, ptr %11, align 8, !tbaa !9
  %5783 = call i32 @s2n_connection_set_config(ptr noundef %5781, ptr noundef %5782)
  %5784 = icmp eq i32 %5783, -1
  br i1 %5784, label %5785, label %5838

5785:                                             ; preds = %5778
  br label %5786

5786:                                             ; preds = %5785
  br label %5787

5787:                                             ; preds = %5786
  call void @llvm.lifetime.start.p0(i64 4, ptr %133) #11
  %5788 = call ptr @__errno_location() #12
  %5789 = load i32, ptr %5788, align 4, !tbaa !5
  store i32 %5789, ptr %133, align 4, !tbaa !5
  %5790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5791 = call i32 @s2n_print_stacktrace(ptr noundef %5790)
  %5792 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5793 = trunc i8 %5792 to i1
  br i1 %5793, label %5794, label %5816

5794:                                             ; preds = %5787
  %5795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5796 = call i32 @fileno(ptr noundef %5795) #11
  %5797 = call i32 @isatty(i32 noundef %5796) #11
  %5798 = icmp ne i32 %5797, 0
  br i1 %5798, label %5799, label %5816

5799:                                             ; preds = %5794
  %5800 = load i32, ptr %133, align 4, !tbaa !5
  %5801 = call ptr @__errno_location() #12
  store i32 %5800, ptr %5801, align 4, !tbaa !5
  %5802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5803 = load i32, ptr @test_count, align 4, !tbaa !5
  %5804 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5805 = load i32, ptr %5804, align 4, !tbaa !5
  %5806 = call ptr @s2n_strerror(i32 noundef %5805, ptr noundef @.str.4)
  %5807 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5808 = load i32, ptr %5807, align 4, !tbaa !5
  %5809 = call ptr @s2n_strerror_debug(i32 noundef %5808, ptr noundef @.str.4)
  %5810 = call ptr @__errno_location() #12
  %5811 = load i32, ptr %5810, align 4, !tbaa !5
  %5812 = call ptr @strerror(i32 noundef %5811) #11
  %5813 = call ptr @__errno_location() #12
  %5814 = load i32, ptr %5813, align 4, !tbaa !5
  %5815 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5802, ptr noundef @.str.2, i32 noundef %5803, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 244, ptr noundef %5806, ptr noundef %5809, ptr noundef %5812, i32 noundef %5814) #11
  br label %5833

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

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

5834:                                             ; preds = %5833
  br label %5835

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

5836:                                             ; No predecessors!
  br label %5837

5837:                                             ; preds = %5836
  br label %5838

5838:                                             ; preds = %5837, %5778
  br label %5839

5839:                                             ; preds = %5838
  br label %5840

5840:                                             ; preds = %5839
  call void @llvm.lifetime.start.p0(i64 8, ptr %134) #11
  call void @llvm.memset.p0.i64(ptr align 4 %134, i8 0, i64 8, i1 false)
  br label %5841

5841:                                             ; preds = %5840
  %5842 = load i32, ptr @test_count, align 4, !tbaa !5
  %5843 = add nsw i32 %5842, 1
  store i32 %5843, ptr @test_count, align 4, !tbaa !5
  %5844 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %134)
  %5845 = icmp eq i32 %5844, -1
  br i1 %5845, label %5846, label %5899

5846:                                             ; preds = %5841
  br label %5847

5847:                                             ; preds = %5846
  br label %5848

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

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

5860:                                             ; preds = %5855
  %5861 = load i32, ptr %135, align 4, !tbaa !5
  %5862 = call ptr @__errno_location() #12
  store i32 %5861, ptr %5862, align 4, !tbaa !5
  %5863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5864 = load i32, ptr @test_count, align 4, !tbaa !5
  %5865 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5866 = load i32, ptr %5865, align 4, !tbaa !5
  %5867 = call ptr @s2n_strerror(i32 noundef %5866, ptr noundef @.str.4)
  %5868 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5869 = load i32, ptr %5868, align 4, !tbaa !5
  %5870 = call ptr @s2n_strerror_debug(i32 noundef %5869, ptr noundef @.str.4)
  %5871 = call ptr @__errno_location() #12
  %5872 = load i32, ptr %5871, align 4, !tbaa !5
  %5873 = call ptr @strerror(i32 noundef %5872) #11
  %5874 = call ptr @__errno_location() #12
  %5875 = load i32, ptr %5874, align 4, !tbaa !5
  %5876 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5863, ptr noundef @.str.2, i32 noundef %5864, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 247, ptr noundef %5867, ptr noundef %5870, ptr noundef %5873, i32 noundef %5875) #11
  br label %5894

5877:                                             ; preds = %5855, %5848
  %5878 = load i32, ptr %135, align 4, !tbaa !5
  %5879 = call ptr @__errno_location() #12
  store i32 %5878, ptr %5879, align 4, !tbaa !5
  %5880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5881 = load i32, ptr @test_count, align 4, !tbaa !5
  %5882 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5883 = load i32, ptr %5882, align 4, !tbaa !5
  %5884 = call ptr @s2n_strerror(i32 noundef %5883, ptr noundef @.str.4)
  %5885 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5886 = load i32, ptr %5885, align 4, !tbaa !5
  %5887 = call ptr @s2n_strerror_debug(i32 noundef %5886, ptr noundef @.str.4)
  %5888 = call ptr @__errno_location() #12
  %5889 = load i32, ptr %5888, align 4, !tbaa !5
  %5890 = call ptr @strerror(i32 noundef %5889) #11
  %5891 = call ptr @__errno_location() #12
  %5892 = load i32, ptr %5891, align 4, !tbaa !5
  %5893 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5880, ptr noundef @.str.5, i32 noundef %5881, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 247, ptr noundef %5884, ptr noundef %5887, ptr noundef %5890, i32 noundef %5892) #11
  br label %5894

5894:                                             ; preds = %5877, %5860
  call void @llvm.lifetime.end.p0(i64 4, ptr %135) #11
  br label %5895

5895:                                             ; preds = %5894
  br label %5896

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

5897:                                             ; No predecessors!
  br label %5898

5898:                                             ; preds = %5897
  br label %5899

5899:                                             ; preds = %5898, %5841
  br label %5900

5900:                                             ; preds = %5899
  br label %5901

5901:                                             ; preds = %5900
  br label %5902

5902:                                             ; preds = %5901
  %5903 = load i32, ptr @test_count, align 4, !tbaa !5
  %5904 = add nsw i32 %5903, 1
  store i32 %5904, ptr @test_count, align 4, !tbaa !5
  %5905 = load ptr, ptr %131, align 8, !tbaa !9
  %5906 = load ptr, ptr %128, align 8, !tbaa !9
  %5907 = call i32 @s2n_connections_set_io_pair(ptr noundef %5905, ptr noundef %5906, ptr noundef %134)
  %5908 = icmp eq i32 %5907, -1
  br i1 %5908, label %5909, label %5962

5909:                                             ; preds = %5902
  br label %5910

5910:                                             ; preds = %5909
  br label %5911

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

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

5923:                                             ; preds = %5918
  %5924 = load i32, ptr %136, align 4, !tbaa !5
  %5925 = call ptr @__errno_location() #12
  store i32 %5924, ptr %5925, align 4, !tbaa !5
  %5926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5927 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %5929, ptr noundef @.str.4)
  %5931 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5932 = load i32, ptr %5931, align 4, !tbaa !5
  %5933 = call ptr @s2n_strerror_debug(i32 noundef %5932, ptr noundef @.str.4)
  %5934 = call ptr @__errno_location() #12
  %5935 = load i32, ptr %5934, align 4, !tbaa !5
  %5936 = call ptr @strerror(i32 noundef %5935) #11
  %5937 = call ptr @__errno_location() #12
  %5938 = load i32, ptr %5937, align 4, !tbaa !5
  %5939 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5926, ptr noundef @.str.2, i32 noundef %5927, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 248, ptr noundef %5930, ptr noundef %5933, ptr noundef %5936, i32 noundef %5938) #11
  br label %5957

5940:                                             ; preds = %5918, %5911
  %5941 = load i32, ptr %136, align 4, !tbaa !5
  %5942 = call ptr @__errno_location() #12
  store i32 %5941, ptr %5942, align 4, !tbaa !5
  %5943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5944 = load i32, ptr @test_count, align 4, !tbaa !5
  %5945 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5946 = load i32, ptr %5945, align 4, !tbaa !5
  %5947 = call ptr @s2n_strerror(i32 noundef %5946, ptr noundef @.str.4)
  %5948 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5949 = load i32, ptr %5948, align 4, !tbaa !5
  %5950 = call ptr @s2n_strerror_debug(i32 noundef %5949, ptr noundef @.str.4)
  %5951 = call ptr @__errno_location() #12
  %5952 = load i32, ptr %5951, align 4, !tbaa !5
  %5953 = call ptr @strerror(i32 noundef %5952) #11
  %5954 = call ptr @__errno_location() #12
  %5955 = load i32, ptr %5954, align 4, !tbaa !5
  %5956 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5943, ptr noundef @.str.5, i32 noundef %5944, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 248, ptr noundef %5947, ptr noundef %5950, ptr noundef %5953, i32 noundef %5955) #11
  br label %5957

5957:                                             ; preds = %5940, %5923
  call void @llvm.lifetime.end.p0(i64 4, ptr %136) #11
  br label %5958

5958:                                             ; preds = %5957
  br label %5959

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

5960:                                             ; No predecessors!
  br label %5961

5961:                                             ; preds = %5960
  br label %5962

5962:                                             ; preds = %5961, %5902
  br label %5963

5963:                                             ; preds = %5962
  br label %5964

5964:                                             ; preds = %5963
  call void @llvm.lifetime.start.p0(i64 8, ptr %137) #11
  store i64 0, ptr %137, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 22, ptr %138) #11
  call void @llvm.memset.p0.i64(ptr align 16 %138, i8 0, i64 22, i1 false)
  br label %5965

5965:                                             ; preds = %5964
  %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 = load ptr, ptr %128, align 8, !tbaa !9
  %5969 = load ptr, ptr %131, align 8, !tbaa !9
  %5970 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %5968, ptr noundef %5969)
  %5971 = icmp eq i32 %5970, -1
  br i1 %5971, label %5972, label %6025

5972:                                             ; preds = %5965
  br label %5973

5973:                                             ; preds = %5972
  br label %5974

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

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

5986:                                             ; preds = %5981
  %5987 = load i32, ptr %139, 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.2, i32 noundef %5990, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 254, ptr noundef %5993, ptr noundef %5996, ptr noundef %5999, i32 noundef %6001) #11
  br label %6020

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

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

6021:                                             ; preds = %6020
  br label %6022

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

6023:                                             ; No predecessors!
  br label %6024

6024:                                             ; preds = %6023
  br label %6025

6025:                                             ; preds = %6024, %5965
  br label %6026

6026:                                             ; preds = %6025
  br label %6027

6027:                                             ; preds = %6026
  br label %6028

6028:                                             ; preds = %6027
  %6029 = load i32, ptr @test_count, align 4, !tbaa !5
  %6030 = add nsw i32 %6029, 1
  store i32 %6030, ptr @test_count, align 4, !tbaa !5
  %6031 = load ptr, ptr %131, align 8, !tbaa !9
  %6032 = call i32 @s2n_renegotiate_wipe(ptr noundef %6031)
  %6033 = icmp eq i32 %6032, -1
  br i1 %6033, label %6034, label %6087

6034:                                             ; preds = %6028
  br label %6035

6035:                                             ; preds = %6034
  br label %6036

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

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

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

6065:                                             ; preds = %6043, %6036
  %6066 = load i32, ptr %140, align 4, !tbaa !5
  %6067 = call ptr @__errno_location() #12
  store i32 %6066, ptr %6067, align 4, !tbaa !5
  %6068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6069 = load i32, ptr @test_count, align 4, !tbaa !5
  %6070 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6071 = load i32, ptr %6070, align 4, !tbaa !5
  %6072 = call ptr @s2n_strerror(i32 noundef %6071, ptr noundef @.str.4)
  %6073 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6074 = load i32, ptr %6073, align 4, !tbaa !5
  %6075 = call ptr @s2n_strerror_debug(i32 noundef %6074, ptr noundef @.str.4)
  %6076 = call ptr @__errno_location() #12
  %6077 = load i32, ptr %6076, align 4, !tbaa !5
  %6078 = call ptr @strerror(i32 noundef %6077) #11
  %6079 = call ptr @__errno_location() #12
  %6080 = load i32, ptr %6079, align 4, !tbaa !5
  %6081 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6068, ptr noundef @.str.5, i32 noundef %6069, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 255, ptr noundef %6072, ptr noundef %6075, ptr noundef %6078, i32 noundef %6080) #11
  br label %6082

6082:                                             ; preds = %6065, %6048
  call void @llvm.lifetime.end.p0(i64 4, ptr %140) #11
  br label %6083

6083:                                             ; preds = %6082
  br label %6084

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

6085:                                             ; No predecessors!
  br label %6086

6086:                                             ; preds = %6085
  br label %6087

6087:                                             ; preds = %6086, %6028
  br label %6088

6088:                                             ; preds = %6087
  br label %6089

6089:                                             ; preds = %6088
  br label %6090

6090:                                             ; preds = %6089
  %6091 = load i32, ptr @test_count, align 4, !tbaa !5
  %6092 = add nsw i32 %6091, 1
  store i32 %6092, ptr @test_count, align 4, !tbaa !5
  %6093 = load ptr, ptr %128, align 8, !tbaa !9
  %6094 = call i32 @s2n_renegotiate_wipe(ptr noundef %6093)
  %6095 = icmp eq i32 %6094, -1
  br i1 %6095, label %6096, label %6149

6096:                                             ; preds = %6090
  br label %6097

6097:                                             ; preds = %6096
  br label %6098

6098:                                             ; preds = %6097
  call void @llvm.lifetime.start.p0(i64 4, ptr %141) #11
  %6099 = call ptr @__errno_location() #12
  %6100 = load i32, ptr %6099, align 4, !tbaa !5
  store i32 %6100, ptr %141, align 4, !tbaa !5
  %6101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6102 = call i32 @s2n_print_stacktrace(ptr noundef %6101)
  %6103 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6104 = trunc i8 %6103 to i1
  br i1 %6104, label %6105, label %6127

6105:                                             ; preds = %6098
  %6106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6107 = call i32 @fileno(ptr noundef %6106) #11
  %6108 = call i32 @isatty(i32 noundef %6107) #11
  %6109 = icmp ne i32 %6108, 0
  br i1 %6109, label %6110, label %6127

6110:                                             ; preds = %6105
  %6111 = load i32, ptr %141, align 4, !tbaa !5
  %6112 = call ptr @__errno_location() #12
  store i32 %6111, ptr %6112, align 4, !tbaa !5
  %6113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6114 = load i32, ptr @test_count, align 4, !tbaa !5
  %6115 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6116 = load i32, ptr %6115, align 4, !tbaa !5
  %6117 = call ptr @s2n_strerror(i32 noundef %6116, ptr noundef @.str.4)
  %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_debug(i32 noundef %6119, ptr noundef @.str.4)
  %6121 = call ptr @__errno_location() #12
  %6122 = load i32, ptr %6121, align 4, !tbaa !5
  %6123 = call ptr @strerror(i32 noundef %6122) #11
  %6124 = call ptr @__errno_location() #12
  %6125 = load i32, ptr %6124, align 4, !tbaa !5
  %6126 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6113, ptr noundef @.str.2, i32 noundef %6114, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 256, ptr noundef %6117, ptr noundef %6120, ptr noundef %6123, i32 noundef %6125) #11
  br label %6144

6127:                                             ; preds = %6105, %6098
  %6128 = load i32, ptr %141, align 4, !tbaa !5
  %6129 = call ptr @__errno_location() #12
  store i32 %6128, ptr %6129, align 4, !tbaa !5
  %6130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6131 = load i32, ptr @test_count, align 4, !tbaa !5
  %6132 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6133 = load i32, ptr %6132, align 4, !tbaa !5
  %6134 = call ptr @s2n_strerror(i32 noundef %6133, ptr noundef @.str.4)
  %6135 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6136 = load i32, ptr %6135, align 4, !tbaa !5
  %6137 = call ptr @s2n_strerror_debug(i32 noundef %6136, ptr noundef @.str.4)
  %6138 = call ptr @__errno_location() #12
  %6139 = load i32, ptr %6138, align 4, !tbaa !5
  %6140 = call ptr @strerror(i32 noundef %6139) #11
  %6141 = call ptr @__errno_location() #12
  %6142 = load i32, ptr %6141, align 4, !tbaa !5
  %6143 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6130, ptr noundef @.str.5, i32 noundef %6131, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 256, ptr noundef %6134, ptr noundef %6137, ptr noundef %6140, i32 noundef %6142) #11
  br label %6144

6144:                                             ; preds = %6127, %6110
  call void @llvm.lifetime.end.p0(i64 4, ptr %141) #11
  br label %6145

6145:                                             ; preds = %6144
  br label %6146

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

6147:                                             ; No predecessors!
  br label %6148

6148:                                             ; preds = %6147
  br label %6149

6149:                                             ; preds = %6148, %6090
  br label %6150

6150:                                             ; preds = %6149
  br label %6151

6151:                                             ; preds = %6150
  br label %6152

6152:                                             ; preds = %6151
  br label %6153

6153:                                             ; preds = %6152
  br label %6154

6154:                                             ; preds = %6153
  %6155 = load i32, ptr @test_count, align 4, !tbaa !5
  %6156 = add nsw i32 %6155, 1
  store i32 %6156, ptr @test_count, align 4, !tbaa !5
  %6157 = load ptr, ptr %131, align 8, !tbaa !9
  %6158 = getelementptr inbounds [22 x i8], ptr %138, i64 0, i64 0
  %6159 = call i32 @s2n_renegotiate(ptr noundef %6157, ptr noundef %6158, i64 noundef 22, ptr noundef %137, ptr noundef %17)
  %6160 = icmp eq i32 %6159, -1
  br i1 %6160, label %6214, label %6161

6161:                                             ; preds = %6154
  br label %6162

6162:                                             ; preds = %6161
  br label %6163

6163:                                             ; preds = %6162
  call void @llvm.lifetime.start.p0(i64 4, ptr %142) #11
  %6164 = call ptr @__errno_location() #12
  %6165 = load i32, ptr %6164, align 4, !tbaa !5
  store i32 %6165, ptr %142, align 4, !tbaa !5
  %6166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6167 = call i32 @s2n_print_stacktrace(ptr noundef %6166)
  %6168 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6169 = trunc i8 %6168 to i1
  br i1 %6169, label %6170, label %6192

6170:                                             ; preds = %6163
  %6171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6172 = call i32 @fileno(ptr noundef %6171) #11
  %6173 = call i32 @isatty(i32 noundef %6172) #11
  %6174 = icmp ne i32 %6173, 0
  br i1 %6174, label %6175, label %6192

6175:                                             ; preds = %6170
  %6176 = load i32, ptr %142, align 4, !tbaa !5
  %6177 = call ptr @__errno_location() #12
  store i32 %6176, ptr %6177, align 4, !tbaa !5
  %6178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6179 = load i32, ptr @test_count, align 4, !tbaa !5
  %6180 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6181 = load i32, ptr %6180, align 4, !tbaa !5
  %6182 = call ptr @s2n_strerror(i32 noundef %6181, ptr noundef @.str.4)
  %6183 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6184 = load i32, ptr %6183, align 4, !tbaa !5
  %6185 = call ptr @s2n_strerror_debug(i32 noundef %6184, ptr noundef @.str.4)
  %6186 = call ptr @__errno_location() #12
  %6187 = load i32, ptr %6186, align 4, !tbaa !5
  %6188 = call ptr @strerror(i32 noundef %6187) #11
  %6189 = call ptr @__errno_location() #12
  %6190 = load i32, ptr %6189, align 4, !tbaa !5
  %6191 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6178, ptr noundef @.str.2, i32 noundef %6179, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 260, ptr noundef %6182, ptr noundef %6185, ptr noundef %6188, i32 noundef %6190) #11
  br label %6209

6192:                                             ; preds = %6170, %6163
  %6193 = load i32, ptr %142, align 4, !tbaa !5
  %6194 = call ptr @__errno_location() #12
  store i32 %6193, ptr %6194, align 4, !tbaa !5
  %6195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6196 = load i32, ptr @test_count, align 4, !tbaa !5
  %6197 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6198 = load i32, ptr %6197, align 4, !tbaa !5
  %6199 = call ptr @s2n_strerror(i32 noundef %6198, ptr noundef @.str.4)
  %6200 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6201 = load i32, ptr %6200, align 4, !tbaa !5
  %6202 = call ptr @s2n_strerror_debug(i32 noundef %6201, ptr noundef @.str.4)
  %6203 = call ptr @__errno_location() #12
  %6204 = load i32, ptr %6203, align 4, !tbaa !5
  %6205 = call ptr @strerror(i32 noundef %6204) #11
  %6206 = call ptr @__errno_location() #12
  %6207 = load i32, ptr %6206, align 4, !tbaa !5
  %6208 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6195, ptr noundef @.str.5, i32 noundef %6196, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 260, ptr noundef %6199, ptr noundef %6202, ptr noundef %6205, i32 noundef %6207) #11
  br label %6209

6209:                                             ; preds = %6192, %6175
  call void @llvm.lifetime.end.p0(i64 4, ptr %142) #11
  br label %6210

6210:                                             ; preds = %6209
  br label %6211

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

6212:                                             ; No predecessors!
  br label %6213

6213:                                             ; preds = %6212
  br label %6214

6214:                                             ; preds = %6213, %6154
  br label %6215

6215:                                             ; preds = %6214
  br label %6216

6216:                                             ; preds = %6215
  br label %6217

6217:                                             ; preds = %6216
  %6218 = load i32, ptr @test_count, align 4, !tbaa !5
  %6219 = add nsw i32 %6218, 1
  store i32 %6219, ptr @test_count, align 4, !tbaa !5
  %6220 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6221 = load i32, ptr %6220, align 4, !tbaa !5
  %6222 = icmp eq i32 %6221, 201326592
  br i1 %6222, label %6276, label %6223

6223:                                             ; preds = %6217
  br label %6224

6224:                                             ; preds = %6223
  br label %6225

6225:                                             ; preds = %6224
  call void @llvm.lifetime.start.p0(i64 4, ptr %143) #11
  %6226 = call ptr @__errno_location() #12
  %6227 = load i32, ptr %6226, align 4, !tbaa !5
  store i32 %6227, ptr %143, align 4, !tbaa !5
  %6228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6229 = call i32 @s2n_print_stacktrace(ptr noundef %6228)
  %6230 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6231 = trunc i8 %6230 to i1
  br i1 %6231, label %6232, label %6254

6232:                                             ; preds = %6225
  %6233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6234 = call i32 @fileno(ptr noundef %6233) #11
  %6235 = call i32 @isatty(i32 noundef %6234) #11
  %6236 = icmp ne i32 %6235, 0
  br i1 %6236, label %6237, label %6254

6237:                                             ; preds = %6232
  %6238 = load i32, ptr %143, align 4, !tbaa !5
  %6239 = call ptr @__errno_location() #12
  store i32 %6238, ptr %6239, align 4, !tbaa !5
  %6240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6241 = load i32, ptr @test_count, align 4, !tbaa !5
  %6242 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6243 = load i32, ptr %6242, align 4, !tbaa !5
  %6244 = call ptr @s2n_strerror(i32 noundef %6243, ptr noundef @.str.4)
  %6245 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6246 = load i32, ptr %6245, align 4, !tbaa !5
  %6247 = call ptr @s2n_strerror_debug(i32 noundef %6246, ptr noundef @.str.4)
  %6248 = call ptr @__errno_location() #12
  %6249 = load i32, ptr %6248, align 4, !tbaa !5
  %6250 = call ptr @strerror(i32 noundef %6249) #11
  %6251 = call ptr @__errno_location() #12
  %6252 = load i32, ptr %6251, align 4, !tbaa !5
  %6253 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6240, ptr noundef @.str.2, i32 noundef %6241, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 260, ptr noundef %6244, ptr noundef %6247, ptr noundef %6250, i32 noundef %6252) #11
  br label %6271

6254:                                             ; preds = %6232, %6225
  %6255 = load i32, ptr %143, align 4, !tbaa !5
  %6256 = call ptr @__errno_location() #12
  store i32 %6255, ptr %6256, align 4, !tbaa !5
  %6257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6258 = load i32, ptr @test_count, align 4, !tbaa !5
  %6259 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6260 = load i32, ptr %6259, align 4, !tbaa !5
  %6261 = call ptr @s2n_strerror(i32 noundef %6260, ptr noundef @.str.4)
  %6262 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6263 = load i32, ptr %6262, align 4, !tbaa !5
  %6264 = call ptr @s2n_strerror_debug(i32 noundef %6263, ptr noundef @.str.4)
  %6265 = call ptr @__errno_location() #12
  %6266 = load i32, ptr %6265, align 4, !tbaa !5
  %6267 = call ptr @strerror(i32 noundef %6266) #11
  %6268 = call ptr @__errno_location() #12
  %6269 = load i32, ptr %6268, align 4, !tbaa !5
  %6270 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6257, ptr noundef @.str.5, i32 noundef %6258, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 260, ptr noundef %6261, ptr noundef %6264, ptr noundef %6267, i32 noundef %6269) #11
  br label %6271

6271:                                             ; preds = %6254, %6237
  call void @llvm.lifetime.end.p0(i64 4, ptr %143) #11
  br label %6272

6272:                                             ; preds = %6271
  br label %6273

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

6274:                                             ; No predecessors!
  br label %6275

6275:                                             ; preds = %6274
  br label %6276

6276:                                             ; preds = %6275, %6217
  br label %6277

6277:                                             ; preds = %6276
  br label %6278

6278:                                             ; preds = %6277
  br label %6279

6279:                                             ; preds = %6278
  %6280 = load i32, ptr @test_count, align 4, !tbaa !5
  %6281 = add nsw i32 %6280, 1
  store i32 %6281, ptr @test_count, align 4, !tbaa !5
  %6282 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6283 = load i32, ptr %6282, align 4, !tbaa !5
  %6284 = call ptr @s2n_strerror_debug(i32 noundef %6283, ptr noundef @.str.4)
  %6285 = icmp eq ptr %6284, null
  br i1 %6285, label %6286, label %6339

6286:                                             ; preds = %6279
  br label %6287

6287:                                             ; preds = %6286
  br label %6288

6288:                                             ; preds = %6287
  call void @llvm.lifetime.start.p0(i64 4, ptr %144) #11
  %6289 = call ptr @__errno_location() #12
  %6290 = load i32, ptr %6289, align 4, !tbaa !5
  store i32 %6290, ptr %144, align 4, !tbaa !5
  %6291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6292 = call i32 @s2n_print_stacktrace(ptr noundef %6291)
  %6293 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6294 = trunc i8 %6293 to i1
  br i1 %6294, label %6295, label %6317

6295:                                             ; preds = %6288
  %6296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6297 = call i32 @fileno(ptr noundef %6296) #11
  %6298 = call i32 @isatty(i32 noundef %6297) #11
  %6299 = icmp ne i32 %6298, 0
  br i1 %6299, label %6300, label %6317

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

6317:                                             ; preds = %6295, %6288
  %6318 = load i32, ptr %144, align 4, !tbaa !5
  %6319 = call ptr @__errno_location() #12
  store i32 %6318, ptr %6319, align 4, !tbaa !5
  %6320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6321 = load i32, ptr @test_count, align 4, !tbaa !5
  %6322 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6323 = load i32, ptr %6322, align 4, !tbaa !5
  %6324 = call ptr @s2n_strerror(i32 noundef %6323, ptr noundef @.str.4)
  %6325 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6326 = load i32, ptr %6325, align 4, !tbaa !5
  %6327 = call ptr @s2n_strerror_debug(i32 noundef %6326, ptr noundef @.str.4)
  %6328 = call ptr @__errno_location() #12
  %6329 = load i32, ptr %6328, align 4, !tbaa !5
  %6330 = call ptr @strerror(i32 noundef %6329) #11
  %6331 = call ptr @__errno_location() #12
  %6332 = load i32, ptr %6331, align 4, !tbaa !5
  %6333 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6320, ptr noundef @.str.5, i32 noundef %6321, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 260, ptr noundef %6324, ptr noundef %6327, ptr noundef %6330, i32 noundef %6332) #11
  br label %6334

6334:                                             ; preds = %6317, %6300
  call void @llvm.lifetime.end.p0(i64 4, ptr %144) #11
  br label %6335

6335:                                             ; preds = %6334
  br label %6336

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

6337:                                             ; No predecessors!
  br label %6338

6338:                                             ; preds = %6337
  br label %6339

6339:                                             ; preds = %6338, %6279
  br label %6340

6340:                                             ; preds = %6339
  br label %6341

6341:                                             ; preds = %6340
  br label %6342

6342:                                             ; preds = %6341
  br label %6343

6343:                                             ; preds = %6342
  br label %6344

6344:                                             ; preds = %6343
  %6345 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %6345, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %6346 = call ptr @__errno_location() #12
  store i32 0, ptr %6346, align 4, !tbaa !5
  br label %6347

6347:                                             ; preds = %6344
  br label %6348

6348:                                             ; preds = %6347
  br label %6349

6349:                                             ; preds = %6348
  br label %6350

6350:                                             ; preds = %6349
  br label %6351

6351:                                             ; preds = %6350
  %6352 = load i32, ptr @test_count, align 4, !tbaa !5
  %6353 = add nsw i32 %6352, 1
  store i32 %6353, ptr @test_count, align 4, !tbaa !5
  %6354 = load ptr, ptr %131, align 8, !tbaa !9
  %6355 = call i32 @s2n_conn_get_current_message_type(ptr noundef %6354)
  %6356 = icmp eq i32 %6355, 1
  br i1 %6356, label %6410, label %6357

6357:                                             ; preds = %6351
  br label %6358

6358:                                             ; preds = %6357
  br label %6359

6359:                                             ; preds = %6358
  call void @llvm.lifetime.start.p0(i64 4, ptr %145) #11
  %6360 = call ptr @__errno_location() #12
  %6361 = load i32, ptr %6360, align 4, !tbaa !5
  store i32 %6361, ptr %145, align 4, !tbaa !5
  %6362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6363 = call i32 @s2n_print_stacktrace(ptr noundef %6362)
  %6364 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6365 = trunc i8 %6364 to i1
  br i1 %6365, label %6366, label %6388

6366:                                             ; preds = %6359
  %6367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6368 = call i32 @fileno(ptr noundef %6367) #11
  %6369 = call i32 @isatty(i32 noundef %6368) #11
  %6370 = icmp ne i32 %6369, 0
  br i1 %6370, label %6371, label %6388

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

6388:                                             ; preds = %6366, %6359
  %6389 = load i32, ptr %145, align 4, !tbaa !5
  %6390 = call ptr @__errno_location() #12
  store i32 %6389, ptr %6390, align 4, !tbaa !5
  %6391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6392 = load i32, ptr @test_count, align 4, !tbaa !5
  %6393 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6394 = load i32, ptr %6393, align 4, !tbaa !5
  %6395 = call ptr @s2n_strerror(i32 noundef %6394, ptr noundef @.str.4)
  %6396 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6397 = load i32, ptr %6396, align 4, !tbaa !5
  %6398 = call ptr @s2n_strerror_debug(i32 noundef %6397, ptr noundef @.str.4)
  %6399 = call ptr @__errno_location() #12
  %6400 = load i32, ptr %6399, align 4, !tbaa !5
  %6401 = call ptr @strerror(i32 noundef %6400) #11
  %6402 = call ptr @__errno_location() #12
  %6403 = load i32, ptr %6402, align 4, !tbaa !5
  %6404 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6391, ptr noundef @.str.5, i32 noundef %6392, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 261, ptr noundef %6395, ptr noundef %6398, ptr noundef %6401, i32 noundef %6403) #11
  br label %6405

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

6406:                                             ; preds = %6405
  br label %6407

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

6408:                                             ; No predecessors!
  br label %6409

6409:                                             ; preds = %6408
  br label %6410

6410:                                             ; preds = %6409, %6351
  br label %6411

6411:                                             ; preds = %6410
  br label %6412

6412:                                             ; preds = %6411
  br label %6413

6413:                                             ; preds = %6412
  %6414 = load i32, ptr @test_count, align 4, !tbaa !5
  %6415 = add nsw i32 %6414, 1
  store i32 %6415, ptr @test_count, align 4, !tbaa !5
  %6416 = load i32, ptr %17, align 4, !tbaa !5
  %6417 = icmp eq i32 %6416, 1
  br i1 %6417, label %6471, label %6418

6418:                                             ; preds = %6413
  br label %6419

6419:                                             ; preds = %6418
  br label %6420

6420:                                             ; preds = %6419
  call void @llvm.lifetime.start.p0(i64 4, ptr %146) #11
  %6421 = call ptr @__errno_location() #12
  %6422 = load i32, ptr %6421, align 4, !tbaa !5
  store i32 %6422, ptr %146, align 4, !tbaa !5
  %6423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6424 = call i32 @s2n_print_stacktrace(ptr noundef %6423)
  %6425 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6426 = trunc i8 %6425 to i1
  br i1 %6426, label %6427, label %6449

6427:                                             ; preds = %6420
  %6428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6429 = call i32 @fileno(ptr noundef %6428) #11
  %6430 = call i32 @isatty(i32 noundef %6429) #11
  %6431 = icmp ne i32 %6430, 0
  br i1 %6431, label %6432, label %6449

6432:                                             ; preds = %6427
  %6433 = load i32, ptr %146, align 4, !tbaa !5
  %6434 = call ptr @__errno_location() #12
  store i32 %6433, ptr %6434, align 4, !tbaa !5
  %6435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6436 = load i32, ptr @test_count, align 4, !tbaa !5
  %6437 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6438 = load i32, ptr %6437, align 4, !tbaa !5
  %6439 = call ptr @s2n_strerror(i32 noundef %6438, ptr noundef @.str.4)
  %6440 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6441 = load i32, ptr %6440, align 4, !tbaa !5
  %6442 = call ptr @s2n_strerror_debug(i32 noundef %6441, ptr noundef @.str.4)
  %6443 = call ptr @__errno_location() #12
  %6444 = load i32, ptr %6443, align 4, !tbaa !5
  %6445 = call ptr @strerror(i32 noundef %6444) #11
  %6446 = call ptr @__errno_location() #12
  %6447 = load i32, ptr %6446, align 4, !tbaa !5
  %6448 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6435, ptr noundef @.str.2, i32 noundef %6436, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 262, ptr noundef %6439, ptr noundef %6442, ptr noundef %6445, i32 noundef %6447) #11
  br label %6466

6449:                                             ; preds = %6427, %6420
  %6450 = load i32, ptr %146, align 4, !tbaa !5
  %6451 = call ptr @__errno_location() #12
  store i32 %6450, ptr %6451, align 4, !tbaa !5
  %6452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6453 = load i32, ptr @test_count, align 4, !tbaa !5
  %6454 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6455 = load i32, ptr %6454, align 4, !tbaa !5
  %6456 = call ptr @s2n_strerror(i32 noundef %6455, ptr noundef @.str.4)
  %6457 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6458 = load i32, ptr %6457, align 4, !tbaa !5
  %6459 = call ptr @s2n_strerror_debug(i32 noundef %6458, ptr noundef @.str.4)
  %6460 = call ptr @__errno_location() #12
  %6461 = load i32, ptr %6460, align 4, !tbaa !5
  %6462 = call ptr @strerror(i32 noundef %6461) #11
  %6463 = call ptr @__errno_location() #12
  %6464 = load i32, ptr %6463, align 4, !tbaa !5
  %6465 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6452, ptr noundef @.str.5, i32 noundef %6453, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 262, ptr noundef %6456, ptr noundef %6459, ptr noundef %6462, i32 noundef %6464) #11
  br label %6466

6466:                                             ; preds = %6449, %6432
  call void @llvm.lifetime.end.p0(i64 4, ptr %146) #11
  br label %6467

6467:                                             ; preds = %6466
  br label %6468

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

6469:                                             ; No predecessors!
  br label %6470

6470:                                             ; preds = %6469
  br label %6471

6471:                                             ; preds = %6470, %6413
  br label %6472

6472:                                             ; preds = %6471
  br label %6473

6473:                                             ; preds = %6472
  br label %6474

6474:                                             ; preds = %6473
  br label %6475

6475:                                             ; preds = %6474
  br label %6476

6476:                                             ; preds = %6475
  %6477 = load i32, ptr @test_count, align 4, !tbaa !5
  %6478 = add nsw i32 %6477, 1
  store i32 %6478, ptr @test_count, align 4, !tbaa !5
  %6479 = load ptr, ptr %128, align 8, !tbaa !9
  %6480 = call i32 @s2n_negotiate(ptr noundef %6479, ptr noundef %17)
  %6481 = icmp eq i32 %6480, -1
  br i1 %6481, label %6535, label %6482

6482:                                             ; preds = %6476
  br label %6483

6483:                                             ; preds = %6482
  br label %6484

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

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

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

6513:                                             ; preds = %6491, %6484
  %6514 = load i32, ptr %147, align 4, !tbaa !5
  %6515 = call ptr @__errno_location() #12
  store i32 %6514, ptr %6515, align 4, !tbaa !5
  %6516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6517 = load i32, ptr @test_count, align 4, !tbaa !5
  %6518 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6519 = load i32, ptr %6518, align 4, !tbaa !5
  %6520 = call ptr @s2n_strerror(i32 noundef %6519, ptr noundef @.str.4)
  %6521 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6522 = load i32, ptr %6521, align 4, !tbaa !5
  %6523 = call ptr @s2n_strerror_debug(i32 noundef %6522, ptr noundef @.str.4)
  %6524 = call ptr @__errno_location() #12
  %6525 = load i32, ptr %6524, align 4, !tbaa !5
  %6526 = call ptr @strerror(i32 noundef %6525) #11
  %6527 = call ptr @__errno_location() #12
  %6528 = load i32, ptr %6527, align 4, !tbaa !5
  %6529 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6516, ptr noundef @.str.5, i32 noundef %6517, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 265, ptr noundef %6520, ptr noundef %6523, ptr noundef %6526, i32 noundef %6528) #11
  br label %6530

6530:                                             ; preds = %6513, %6496
  call void @llvm.lifetime.end.p0(i64 4, ptr %147) #11
  br label %6531

6531:                                             ; preds = %6530
  br label %6532

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

6533:                                             ; No predecessors!
  br label %6534

6534:                                             ; preds = %6533
  br label %6535

6535:                                             ; preds = %6534, %6476
  br label %6536

6536:                                             ; preds = %6535
  br label %6537

6537:                                             ; preds = %6536
  br label %6538

6538:                                             ; preds = %6537
  %6539 = load i32, ptr @test_count, align 4, !tbaa !5
  %6540 = add nsw i32 %6539, 1
  store i32 %6540, ptr @test_count, align 4, !tbaa !5
  %6541 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6542 = load i32, ptr %6541, align 4, !tbaa !5
  %6543 = icmp eq i32 %6542, 201326592
  br i1 %6543, label %6597, label %6544

6544:                                             ; preds = %6538
  br label %6545

6545:                                             ; preds = %6544
  br label %6546

6546:                                             ; preds = %6545
  call void @llvm.lifetime.start.p0(i64 4, ptr %148) #11
  %6547 = call ptr @__errno_location() #12
  %6548 = load i32, ptr %6547, align 4, !tbaa !5
  store i32 %6548, ptr %148, align 4, !tbaa !5
  %6549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6550 = call i32 @s2n_print_stacktrace(ptr noundef %6549)
  %6551 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6552 = trunc i8 %6551 to i1
  br i1 %6552, label %6553, label %6575

6553:                                             ; preds = %6546
  %6554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6555 = call i32 @fileno(ptr noundef %6554) #11
  %6556 = call i32 @isatty(i32 noundef %6555) #11
  %6557 = icmp ne i32 %6556, 0
  br i1 %6557, label %6558, label %6575

6558:                                             ; preds = %6553
  %6559 = load i32, ptr %148, align 4, !tbaa !5
  %6560 = call ptr @__errno_location() #12
  store i32 %6559, ptr %6560, align 4, !tbaa !5
  %6561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6562 = load i32, ptr @test_count, align 4, !tbaa !5
  %6563 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6564 = load i32, ptr %6563, align 4, !tbaa !5
  %6565 = call ptr @s2n_strerror(i32 noundef %6564, ptr noundef @.str.4)
  %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_debug(i32 noundef %6567, ptr noundef @.str.4)
  %6569 = call ptr @__errno_location() #12
  %6570 = load i32, ptr %6569, align 4, !tbaa !5
  %6571 = call ptr @strerror(i32 noundef %6570) #11
  %6572 = call ptr @__errno_location() #12
  %6573 = load i32, ptr %6572, align 4, !tbaa !5
  %6574 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6561, ptr noundef @.str.2, i32 noundef %6562, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 265, ptr noundef %6565, ptr noundef %6568, ptr noundef %6571, i32 noundef %6573) #11
  br label %6592

6575:                                             ; preds = %6553, %6546
  %6576 = load i32, ptr %148, align 4, !tbaa !5
  %6577 = call ptr @__errno_location() #12
  store i32 %6576, ptr %6577, align 4, !tbaa !5
  %6578 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6579 = load i32, ptr @test_count, align 4, !tbaa !5
  %6580 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6581 = load i32, ptr %6580, align 4, !tbaa !5
  %6582 = call ptr @s2n_strerror(i32 noundef %6581, ptr noundef @.str.4)
  %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_debug(i32 noundef %6584, ptr noundef @.str.4)
  %6586 = call ptr @__errno_location() #12
  %6587 = load i32, ptr %6586, align 4, !tbaa !5
  %6588 = call ptr @strerror(i32 noundef %6587) #11
  %6589 = call ptr @__errno_location() #12
  %6590 = load i32, ptr %6589, align 4, !tbaa !5
  %6591 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6578, ptr noundef @.str.5, i32 noundef %6579, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 265, ptr noundef %6582, ptr noundef %6585, ptr noundef %6588, i32 noundef %6590) #11
  br label %6592

6592:                                             ; preds = %6575, %6558
  call void @llvm.lifetime.end.p0(i64 4, ptr %148) #11
  br label %6593

6593:                                             ; preds = %6592
  br label %6594

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

6595:                                             ; No predecessors!
  br label %6596

6596:                                             ; preds = %6595
  br label %6597

6597:                                             ; preds = %6596, %6538
  br label %6598

6598:                                             ; preds = %6597
  br label %6599

6599:                                             ; preds = %6598
  br label %6600

6600:                                             ; preds = %6599
  %6601 = load i32, ptr @test_count, align 4, !tbaa !5
  %6602 = add nsw i32 %6601, 1
  store i32 %6602, ptr @test_count, align 4, !tbaa !5
  %6603 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6604 = load i32, ptr %6603, align 4, !tbaa !5
  %6605 = call ptr @s2n_strerror_debug(i32 noundef %6604, ptr noundef @.str.4)
  %6606 = icmp eq ptr %6605, null
  br i1 %6606, label %6607, label %6660

6607:                                             ; preds = %6600
  br label %6608

6608:                                             ; preds = %6607
  br label %6609

6609:                                             ; preds = %6608
  call void @llvm.lifetime.start.p0(i64 4, ptr %149) #11
  %6610 = call ptr @__errno_location() #12
  %6611 = load i32, ptr %6610, align 4, !tbaa !5
  store i32 %6611, ptr %149, align 4, !tbaa !5
  %6612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6613 = call i32 @s2n_print_stacktrace(ptr noundef %6612)
  %6614 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6615 = trunc i8 %6614 to i1
  br i1 %6615, label %6616, label %6638

6616:                                             ; preds = %6609
  %6617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6618 = call i32 @fileno(ptr noundef %6617) #11
  %6619 = call i32 @isatty(i32 noundef %6618) #11
  %6620 = icmp ne i32 %6619, 0
  br i1 %6620, label %6621, label %6638

6621:                                             ; preds = %6616
  %6622 = load i32, ptr %149, align 4, !tbaa !5
  %6623 = call ptr @__errno_location() #12
  store i32 %6622, ptr %6623, align 4, !tbaa !5
  %6624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6625 = load i32, ptr @test_count, align 4, !tbaa !5
  %6626 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6627 = load i32, ptr %6626, align 4, !tbaa !5
  %6628 = call ptr @s2n_strerror(i32 noundef %6627, ptr noundef @.str.4)
  %6629 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6630 = load i32, ptr %6629, align 4, !tbaa !5
  %6631 = call ptr @s2n_strerror_debug(i32 noundef %6630, ptr noundef @.str.4)
  %6632 = call ptr @__errno_location() #12
  %6633 = load i32, ptr %6632, align 4, !tbaa !5
  %6634 = call ptr @strerror(i32 noundef %6633) #11
  %6635 = call ptr @__errno_location() #12
  %6636 = load i32, ptr %6635, align 4, !tbaa !5
  %6637 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6624, ptr noundef @.str.2, i32 noundef %6625, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 265, ptr noundef %6628, ptr noundef %6631, ptr noundef %6634, i32 noundef %6636) #11
  br label %6655

6638:                                             ; preds = %6616, %6609
  %6639 = load i32, ptr %149, align 4, !tbaa !5
  %6640 = call ptr @__errno_location() #12
  store i32 %6639, ptr %6640, align 4, !tbaa !5
  %6641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6642 = load i32, ptr @test_count, align 4, !tbaa !5
  %6643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6644 = load i32, ptr %6643, align 4, !tbaa !5
  %6645 = call ptr @s2n_strerror(i32 noundef %6644, ptr noundef @.str.4)
  %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_debug(i32 noundef %6647, ptr noundef @.str.4)
  %6649 = call ptr @__errno_location() #12
  %6650 = load i32, ptr %6649, align 4, !tbaa !5
  %6651 = call ptr @strerror(i32 noundef %6650) #11
  %6652 = call ptr @__errno_location() #12
  %6653 = load i32, ptr %6652, align 4, !tbaa !5
  %6654 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6641, ptr noundef @.str.5, i32 noundef %6642, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 265, ptr noundef %6645, ptr noundef %6648, ptr noundef %6651, i32 noundef %6653) #11
  br label %6655

6655:                                             ; preds = %6638, %6621
  call void @llvm.lifetime.end.p0(i64 4, ptr %149) #11
  br label %6656

6656:                                             ; preds = %6655
  br label %6657

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

6658:                                             ; No predecessors!
  br label %6659

6659:                                             ; preds = %6658
  br label %6660

6660:                                             ; preds = %6659, %6600
  br label %6661

6661:                                             ; preds = %6660
  br label %6662

6662:                                             ; preds = %6661
  br label %6663

6663:                                             ; preds = %6662
  br label %6664

6664:                                             ; preds = %6663
  br label %6665

6665:                                             ; preds = %6664
  %6666 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %6666, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %6667 = call ptr @__errno_location() #12
  store i32 0, ptr %6667, align 4, !tbaa !5
  br label %6668

6668:                                             ; preds = %6665
  br label %6669

6669:                                             ; preds = %6668
  br label %6670

6670:                                             ; preds = %6669
  br label %6671

6671:                                             ; preds = %6670
  br label %6672

6672:                                             ; preds = %6671
  %6673 = load i32, ptr @test_count, align 4, !tbaa !5
  %6674 = add nsw i32 %6673, 1
  store i32 %6674, ptr @test_count, align 4, !tbaa !5
  %6675 = load ptr, ptr %128, align 8, !tbaa !9
  %6676 = call i32 @s2n_conn_get_current_message_type(ptr noundef %6675)
  %6677 = icmp eq i32 %6676, 1
  br i1 %6677, label %6678, label %6731

6678:                                             ; preds = %6672
  br label %6679

6679:                                             ; preds = %6678
  br label %6680

6680:                                             ; preds = %6679
  call void @llvm.lifetime.start.p0(i64 4, ptr %150) #11
  %6681 = call ptr @__errno_location() #12
  %6682 = load i32, ptr %6681, align 4, !tbaa !5
  store i32 %6682, ptr %150, align 4, !tbaa !5
  %6683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6684 = call i32 @s2n_print_stacktrace(ptr noundef %6683)
  %6685 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6686 = trunc i8 %6685 to i1
  br i1 %6686, label %6687, label %6709

6687:                                             ; preds = %6680
  %6688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6689 = call i32 @fileno(ptr noundef %6688) #11
  %6690 = call i32 @isatty(i32 noundef %6689) #11
  %6691 = icmp ne i32 %6690, 0
  br i1 %6691, label %6692, label %6709

6692:                                             ; preds = %6687
  %6693 = load i32, ptr %150, align 4, !tbaa !5
  %6694 = call ptr @__errno_location() #12
  store i32 %6693, ptr %6694, align 4, !tbaa !5
  %6695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6696 = load i32, ptr @test_count, align 4, !tbaa !5
  %6697 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6698 = load i32, ptr %6697, align 4, !tbaa !5
  %6699 = call ptr @s2n_strerror(i32 noundef %6698, ptr noundef @.str.4)
  %6700 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6701 = load i32, ptr %6700, align 4, !tbaa !5
  %6702 = call ptr @s2n_strerror_debug(i32 noundef %6701, ptr noundef @.str.4)
  %6703 = call ptr @__errno_location() #12
  %6704 = load i32, ptr %6703, align 4, !tbaa !5
  %6705 = call ptr @strerror(i32 noundef %6704) #11
  %6706 = call ptr @__errno_location() #12
  %6707 = load i32, ptr %6706, align 4, !tbaa !5
  %6708 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6695, ptr noundef @.str.2, i32 noundef %6696, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 266, ptr noundef %6699, ptr noundef %6702, ptr noundef %6705, i32 noundef %6707) #11
  br label %6726

6709:                                             ; preds = %6687, %6680
  %6710 = load i32, ptr %150, align 4, !tbaa !5
  %6711 = call ptr @__errno_location() #12
  store i32 %6710, ptr %6711, align 4, !tbaa !5
  %6712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6713 = load i32, ptr @test_count, align 4, !tbaa !5
  %6714 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6715 = load i32, ptr %6714, align 4, !tbaa !5
  %6716 = call ptr @s2n_strerror(i32 noundef %6715, ptr noundef @.str.4)
  %6717 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6718 = load i32, ptr %6717, align 4, !tbaa !5
  %6719 = call ptr @s2n_strerror_debug(i32 noundef %6718, ptr noundef @.str.4)
  %6720 = call ptr @__errno_location() #12
  %6721 = load i32, ptr %6720, align 4, !tbaa !5
  %6722 = call ptr @strerror(i32 noundef %6721) #11
  %6723 = call ptr @__errno_location() #12
  %6724 = load i32, ptr %6723, align 4, !tbaa !5
  %6725 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6712, ptr noundef @.str.5, i32 noundef %6713, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 266, ptr noundef %6716, ptr noundef %6719, ptr noundef %6722, i32 noundef %6724) #11
  br label %6726

6726:                                             ; preds = %6709, %6692
  call void @llvm.lifetime.end.p0(i64 4, ptr %150) #11
  br label %6727

6727:                                             ; preds = %6726
  br label %6728

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

6729:                                             ; No predecessors!
  br label %6730

6730:                                             ; preds = %6729
  br label %6731

6731:                                             ; preds = %6730, %6672
  br label %6732

6732:                                             ; preds = %6731
  br label %6733

6733:                                             ; preds = %6732
  br label %6734

6734:                                             ; preds = %6733
  %6735 = load i32, ptr @test_count, align 4, !tbaa !5
  %6736 = add nsw i32 %6735, 1
  store i32 %6736, ptr @test_count, align 4, !tbaa !5
  %6737 = load ptr, ptr %128, align 8, !tbaa !9
  %6738 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %6737, i32 noundef 1)
  br i1 %6738, label %6792, label %6739

6739:                                             ; preds = %6734
  br label %6740

6740:                                             ; preds = %6739
  br label %6741

6741:                                             ; preds = %6740
  call void @llvm.lifetime.start.p0(i64 4, ptr %151) #11
  %6742 = call ptr @__errno_location() #12
  %6743 = load i32, ptr %6742, align 4, !tbaa !5
  store i32 %6743, ptr %151, align 4, !tbaa !5
  %6744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6745 = call i32 @s2n_print_stacktrace(ptr noundef %6744)
  %6746 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6747 = trunc i8 %6746 to i1
  br i1 %6747, label %6748, label %6770

6748:                                             ; preds = %6741
  %6749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6750 = call i32 @fileno(ptr noundef %6749) #11
  %6751 = call i32 @isatty(i32 noundef %6750) #11
  %6752 = icmp ne i32 %6751, 0
  br i1 %6752, label %6753, label %6770

6753:                                             ; preds = %6748
  %6754 = load i32, ptr %151, align 4, !tbaa !5
  %6755 = call ptr @__errno_location() #12
  store i32 %6754, ptr %6755, align 4, !tbaa !5
  %6756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6757 = load i32, ptr @test_count, align 4, !tbaa !5
  %6758 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6759 = load i32, ptr %6758, align 4, !tbaa !5
  %6760 = call ptr @s2n_strerror(i32 noundef %6759, ptr noundef @.str.4)
  %6761 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6762 = load i32, ptr %6761, align 4, !tbaa !5
  %6763 = call ptr @s2n_strerror_debug(i32 noundef %6762, ptr noundef @.str.4)
  %6764 = call ptr @__errno_location() #12
  %6765 = load i32, ptr %6764, align 4, !tbaa !5
  %6766 = call ptr @strerror(i32 noundef %6765) #11
  %6767 = call ptr @__errno_location() #12
  %6768 = load i32, ptr %6767, align 4, !tbaa !5
  %6769 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6756, ptr noundef @.str.2, i32 noundef %6757, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 267, ptr noundef %6760, ptr noundef %6763, ptr noundef %6766, i32 noundef %6768) #11
  br label %6787

6770:                                             ; preds = %6748, %6741
  %6771 = load i32, ptr %151, align 4, !tbaa !5
  %6772 = call ptr @__errno_location() #12
  store i32 %6771, ptr %6772, align 4, !tbaa !5
  %6773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6774 = load i32, ptr @test_count, align 4, !tbaa !5
  %6775 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6776 = load i32, ptr %6775, align 4, !tbaa !5
  %6777 = call ptr @s2n_strerror(i32 noundef %6776, ptr noundef @.str.4)
  %6778 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6779 = load i32, ptr %6778, align 4, !tbaa !5
  %6780 = call ptr @s2n_strerror_debug(i32 noundef %6779, ptr noundef @.str.4)
  %6781 = call ptr @__errno_location() #12
  %6782 = load i32, ptr %6781, align 4, !tbaa !5
  %6783 = call ptr @strerror(i32 noundef %6782) #11
  %6784 = call ptr @__errno_location() #12
  %6785 = load i32, ptr %6784, align 4, !tbaa !5
  %6786 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6773, ptr noundef @.str.5, i32 noundef %6774, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 267, ptr noundef %6777, ptr noundef %6780, ptr noundef %6783, i32 noundef %6785) #11
  br label %6787

6787:                                             ; preds = %6770, %6753
  call void @llvm.lifetime.end.p0(i64 4, ptr %151) #11
  br label %6788

6788:                                             ; preds = %6787
  br label %6789

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

6790:                                             ; No predecessors!
  br label %6791

6791:                                             ; preds = %6790
  br label %6792

6792:                                             ; preds = %6791, %6734
  br label %6793

6793:                                             ; preds = %6792
  br label %6794

6794:                                             ; preds = %6793
  br label %6795

6795:                                             ; preds = %6794
  %6796 = load i32, ptr @test_count, align 4, !tbaa !5
  %6797 = add nsw i32 %6796, 1
  store i32 %6797, ptr @test_count, align 4, !tbaa !5
  %6798 = load i32, ptr %17, align 4, !tbaa !5
  %6799 = icmp eq i32 %6798, 1
  br i1 %6799, label %6853, label %6800

6800:                                             ; preds = %6795
  br label %6801

6801:                                             ; preds = %6800
  br label %6802

6802:                                             ; preds = %6801
  call void @llvm.lifetime.start.p0(i64 4, ptr %152) #11
  %6803 = call ptr @__errno_location() #12
  %6804 = load i32, ptr %6803, align 4, !tbaa !5
  store i32 %6804, ptr %152, align 4, !tbaa !5
  %6805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6806 = call i32 @s2n_print_stacktrace(ptr noundef %6805)
  %6807 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6808 = trunc i8 %6807 to i1
  br i1 %6808, label %6809, label %6831

6809:                                             ; preds = %6802
  %6810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6811 = call i32 @fileno(ptr noundef %6810) #11
  %6812 = call i32 @isatty(i32 noundef %6811) #11
  %6813 = icmp ne i32 %6812, 0
  br i1 %6813, label %6814, label %6831

6814:                                             ; preds = %6809
  %6815 = load i32, ptr %152, align 4, !tbaa !5
  %6816 = call ptr @__errno_location() #12
  store i32 %6815, ptr %6816, align 4, !tbaa !5
  %6817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6818 = load i32, ptr @test_count, align 4, !tbaa !5
  %6819 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6820 = load i32, ptr %6819, align 4, !tbaa !5
  %6821 = call ptr @s2n_strerror(i32 noundef %6820, ptr noundef @.str.4)
  %6822 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6823 = load i32, ptr %6822, align 4, !tbaa !5
  %6824 = call ptr @s2n_strerror_debug(i32 noundef %6823, ptr noundef @.str.4)
  %6825 = call ptr @__errno_location() #12
  %6826 = load i32, ptr %6825, align 4, !tbaa !5
  %6827 = call ptr @strerror(i32 noundef %6826) #11
  %6828 = call ptr @__errno_location() #12
  %6829 = load i32, ptr %6828, align 4, !tbaa !5
  %6830 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6817, ptr noundef @.str.2, i32 noundef %6818, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 268, ptr noundef %6821, ptr noundef %6824, ptr noundef %6827, i32 noundef %6829) #11
  br label %6848

6831:                                             ; preds = %6809, %6802
  %6832 = load i32, ptr %152, align 4, !tbaa !5
  %6833 = call ptr @__errno_location() #12
  store i32 %6832, ptr %6833, align 4, !tbaa !5
  %6834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6835 = load i32, ptr @test_count, align 4, !tbaa !5
  %6836 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6837 = load i32, ptr %6836, align 4, !tbaa !5
  %6838 = call ptr @s2n_strerror(i32 noundef %6837, ptr noundef @.str.4)
  %6839 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6840 = load i32, ptr %6839, align 4, !tbaa !5
  %6841 = call ptr @s2n_strerror_debug(i32 noundef %6840, ptr noundef @.str.4)
  %6842 = call ptr @__errno_location() #12
  %6843 = load i32, ptr %6842, align 4, !tbaa !5
  %6844 = call ptr @strerror(i32 noundef %6843) #11
  %6845 = call ptr @__errno_location() #12
  %6846 = load i32, ptr %6845, align 4, !tbaa !5
  %6847 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6834, ptr noundef @.str.5, i32 noundef %6835, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 268, ptr noundef %6838, ptr noundef %6841, ptr noundef %6844, i32 noundef %6846) #11
  br label %6848

6848:                                             ; preds = %6831, %6814
  call void @llvm.lifetime.end.p0(i64 4, ptr %152) #11
  br label %6849

6849:                                             ; preds = %6848
  br label %6850

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

6851:                                             ; No predecessors!
  br label %6852

6852:                                             ; preds = %6851
  br label %6853

6853:                                             ; preds = %6852, %6795
  br label %6854

6854:                                             ; preds = %6853
  br label %6855

6855:                                             ; preds = %6854
  br label %6856

6856:                                             ; preds = %6855
  %6857 = load i32, ptr @test_count, align 4, !tbaa !5
  %6858 = add nsw i32 %6857, 1
  store i32 %6858, ptr @test_count, align 4, !tbaa !5
  %6859 = load ptr, ptr %128, align 8, !tbaa !9
  %6860 = getelementptr inbounds [22 x i8], ptr %16, i64 0, i64 0
  %6861 = call i64 @s2n_send(ptr noundef %6859, ptr noundef %6860, i64 noundef 22, ptr noundef %17)
  %6862 = icmp eq i64 %6861, 22
  br i1 %6862, label %6916, label %6863

6863:                                             ; preds = %6856
  br label %6864

6864:                                             ; preds = %6863
  br label %6865

6865:                                             ; preds = %6864
  call void @llvm.lifetime.start.p0(i64 4, ptr %153) #11
  %6866 = call ptr @__errno_location() #12
  %6867 = load i32, ptr %6866, align 4, !tbaa !5
  store i32 %6867, ptr %153, align 4, !tbaa !5
  %6868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6869 = call i32 @s2n_print_stacktrace(ptr noundef %6868)
  %6870 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6871 = trunc i8 %6870 to i1
  br i1 %6871, label %6872, label %6894

6872:                                             ; preds = %6865
  %6873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6874 = call i32 @fileno(ptr noundef %6873) #11
  %6875 = call i32 @isatty(i32 noundef %6874) #11
  %6876 = icmp ne i32 %6875, 0
  br i1 %6876, label %6877, label %6894

6877:                                             ; preds = %6872
  %6878 = load i32, ptr %153, align 4, !tbaa !5
  %6879 = call ptr @__errno_location() #12
  store i32 %6878, ptr %6879, align 4, !tbaa !5
  %6880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6881 = load i32, ptr @test_count, align 4, !tbaa !5
  %6882 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6883 = load i32, ptr %6882, align 4, !tbaa !5
  %6884 = call ptr @s2n_strerror(i32 noundef %6883, ptr noundef @.str.4)
  %6885 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6886 = load i32, ptr %6885, align 4, !tbaa !5
  %6887 = call ptr @s2n_strerror_debug(i32 noundef %6886, ptr noundef @.str.4)
  %6888 = call ptr @__errno_location() #12
  %6889 = load i32, ptr %6888, align 4, !tbaa !5
  %6890 = call ptr @strerror(i32 noundef %6889) #11
  %6891 = call ptr @__errno_location() #12
  %6892 = load i32, ptr %6891, align 4, !tbaa !5
  %6893 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6880, ptr noundef @.str.2, i32 noundef %6881, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 271, ptr noundef %6884, ptr noundef %6887, ptr noundef %6890, i32 noundef %6892) #11
  br label %6911

6894:                                             ; preds = %6872, %6865
  %6895 = load i32, ptr %153, align 4, !tbaa !5
  %6896 = call ptr @__errno_location() #12
  store i32 %6895, ptr %6896, align 4, !tbaa !5
  %6897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6898 = load i32, ptr @test_count, align 4, !tbaa !5
  %6899 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6900 = load i32, ptr %6899, align 4, !tbaa !5
  %6901 = call ptr @s2n_strerror(i32 noundef %6900, ptr noundef @.str.4)
  %6902 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6903 = load i32, ptr %6902, align 4, !tbaa !5
  %6904 = call ptr @s2n_strerror_debug(i32 noundef %6903, ptr noundef @.str.4)
  %6905 = call ptr @__errno_location() #12
  %6906 = load i32, ptr %6905, align 4, !tbaa !5
  %6907 = call ptr @strerror(i32 noundef %6906) #11
  %6908 = call ptr @__errno_location() #12
  %6909 = load i32, ptr %6908, align 4, !tbaa !5
  %6910 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6897, ptr noundef @.str.5, i32 noundef %6898, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 271, ptr noundef %6901, ptr noundef %6904, ptr noundef %6907, i32 noundef %6909) #11
  br label %6911

6911:                                             ; preds = %6894, %6877
  call void @llvm.lifetime.end.p0(i64 4, ptr %153) #11
  br label %6912

6912:                                             ; preds = %6911
  br label %6913

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

6914:                                             ; No predecessors!
  br label %6915

6915:                                             ; preds = %6914
  br label %6916

6916:                                             ; preds = %6915, %6856
  br label %6917

6917:                                             ; preds = %6916
  br label %6918

6918:                                             ; preds = %6917
  br label %6919

6919:                                             ; preds = %6918
  br label %6920

6920:                                             ; preds = %6919
  br label %6921

6921:                                             ; preds = %6920
  %6922 = load i32, ptr @test_count, align 4, !tbaa !5
  %6923 = add nsw i32 %6922, 1
  store i32 %6923, ptr @test_count, align 4, !tbaa !5
  %6924 = load ptr, ptr %131, align 8, !tbaa !9
  %6925 = getelementptr inbounds [22 x i8], ptr %138, i64 0, i64 0
  %6926 = call i32 @s2n_renegotiate(ptr noundef %6924, ptr noundef %6925, i64 noundef 22, ptr noundef %137, ptr noundef %17)
  %6927 = icmp eq i32 %6926, -1
  br i1 %6927, label %6981, label %6928

6928:                                             ; preds = %6921
  br label %6929

6929:                                             ; preds = %6928
  br label %6930

6930:                                             ; preds = %6929
  call void @llvm.lifetime.start.p0(i64 4, ptr %154) #11
  %6931 = call ptr @__errno_location() #12
  %6932 = load i32, ptr %6931, align 4, !tbaa !5
  store i32 %6932, ptr %154, align 4, !tbaa !5
  %6933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6934 = call i32 @s2n_print_stacktrace(ptr noundef %6933)
  %6935 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6936 = trunc i8 %6935 to i1
  br i1 %6936, label %6937, label %6959

6937:                                             ; preds = %6930
  %6938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6939 = call i32 @fileno(ptr noundef %6938) #11
  %6940 = call i32 @isatty(i32 noundef %6939) #11
  %6941 = icmp ne i32 %6940, 0
  br i1 %6941, label %6942, label %6959

6942:                                             ; preds = %6937
  %6943 = load i32, ptr %154, align 4, !tbaa !5
  %6944 = call ptr @__errno_location() #12
  store i32 %6943, ptr %6944, align 4, !tbaa !5
  %6945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6946 = load i32, ptr @test_count, align 4, !tbaa !5
  %6947 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6948 = load i32, ptr %6947, align 4, !tbaa !5
  %6949 = call ptr @s2n_strerror(i32 noundef %6948, ptr noundef @.str.4)
  %6950 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6951 = load i32, ptr %6950, align 4, !tbaa !5
  %6952 = call ptr @s2n_strerror_debug(i32 noundef %6951, ptr noundef @.str.4)
  %6953 = call ptr @__errno_location() #12
  %6954 = load i32, ptr %6953, align 4, !tbaa !5
  %6955 = call ptr @strerror(i32 noundef %6954) #11
  %6956 = call ptr @__errno_location() #12
  %6957 = load i32, ptr %6956, align 4, !tbaa !5
  %6958 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6945, ptr noundef @.str.2, i32 noundef %6946, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 275, ptr noundef %6949, ptr noundef %6952, ptr noundef %6955, i32 noundef %6957) #11
  br label %6976

6959:                                             ; preds = %6937, %6930
  %6960 = load i32, ptr %154, align 4, !tbaa !5
  %6961 = call ptr @__errno_location() #12
  store i32 %6960, ptr %6961, align 4, !tbaa !5
  %6962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6963 = load i32, ptr @test_count, align 4, !tbaa !5
  %6964 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6965 = load i32, ptr %6964, align 4, !tbaa !5
  %6966 = call ptr @s2n_strerror(i32 noundef %6965, ptr noundef @.str.4)
  %6967 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6968 = load i32, ptr %6967, align 4, !tbaa !5
  %6969 = call ptr @s2n_strerror_debug(i32 noundef %6968, ptr noundef @.str.4)
  %6970 = call ptr @__errno_location() #12
  %6971 = load i32, ptr %6970, align 4, !tbaa !5
  %6972 = call ptr @strerror(i32 noundef %6971) #11
  %6973 = call ptr @__errno_location() #12
  %6974 = load i32, ptr %6973, align 4, !tbaa !5
  %6975 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6962, ptr noundef @.str.5, i32 noundef %6963, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 275, ptr noundef %6966, ptr noundef %6969, ptr noundef %6972, i32 noundef %6974) #11
  br label %6976

6976:                                             ; preds = %6959, %6942
  call void @llvm.lifetime.end.p0(i64 4, ptr %154) #11
  br label %6977

6977:                                             ; preds = %6976
  br label %6978

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

6979:                                             ; No predecessors!
  br label %6980

6980:                                             ; preds = %6979
  br label %6981

6981:                                             ; preds = %6980, %6921
  br label %6982

6982:                                             ; preds = %6981
  br label %6983

6983:                                             ; preds = %6982
  br label %6984

6984:                                             ; preds = %6983
  %6985 = load i32, ptr @test_count, align 4, !tbaa !5
  %6986 = add nsw i32 %6985, 1
  store i32 %6986, ptr @test_count, align 4, !tbaa !5
  %6987 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6988 = load i32, ptr %6987, align 4, !tbaa !5
  %6989 = icmp eq i32 %6988, 335544322
  br i1 %6989, label %7043, label %6990

6990:                                             ; preds = %6984
  br label %6991

6991:                                             ; preds = %6990
  br label %6992

6992:                                             ; preds = %6991
  call void @llvm.lifetime.start.p0(i64 4, ptr %155) #11
  %6993 = call ptr @__errno_location() #12
  %6994 = load i32, ptr %6993, align 4, !tbaa !5
  store i32 %6994, ptr %155, align 4, !tbaa !5
  %6995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6996 = call i32 @s2n_print_stacktrace(ptr noundef %6995)
  %6997 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6998 = trunc i8 %6997 to i1
  br i1 %6998, label %6999, label %7021

6999:                                             ; preds = %6992
  %7000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7001 = call i32 @fileno(ptr noundef %7000) #11
  %7002 = call i32 @isatty(i32 noundef %7001) #11
  %7003 = icmp ne i32 %7002, 0
  br i1 %7003, label %7004, label %7021

7004:                                             ; preds = %6999
  %7005 = load i32, ptr %155, align 4, !tbaa !5
  %7006 = call ptr @__errno_location() #12
  store i32 %7005, ptr %7006, align 4, !tbaa !5
  %7007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7008 = load i32, ptr @test_count, align 4, !tbaa !5
  %7009 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7010 = load i32, ptr %7009, align 4, !tbaa !5
  %7011 = call ptr @s2n_strerror(i32 noundef %7010, ptr noundef @.str.4)
  %7012 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7013 = load i32, ptr %7012, align 4, !tbaa !5
  %7014 = call ptr @s2n_strerror_debug(i32 noundef %7013, ptr noundef @.str.4)
  %7015 = call ptr @__errno_location() #12
  %7016 = load i32, ptr %7015, align 4, !tbaa !5
  %7017 = call ptr @strerror(i32 noundef %7016) #11
  %7018 = call ptr @__errno_location() #12
  %7019 = load i32, ptr %7018, align 4, !tbaa !5
  %7020 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7007, ptr noundef @.str.2, i32 noundef %7008, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 275, ptr noundef %7011, ptr noundef %7014, ptr noundef %7017, i32 noundef %7019) #11
  br label %7038

7021:                                             ; preds = %6999, %6992
  %7022 = load i32, ptr %155, align 4, !tbaa !5
  %7023 = call ptr @__errno_location() #12
  store i32 %7022, ptr %7023, align 4, !tbaa !5
  %7024 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7025 = load i32, ptr @test_count, align 4, !tbaa !5
  %7026 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7027 = load i32, ptr %7026, align 4, !tbaa !5
  %7028 = call ptr @s2n_strerror(i32 noundef %7027, ptr noundef @.str.4)
  %7029 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7030 = load i32, ptr %7029, align 4, !tbaa !5
  %7031 = call ptr @s2n_strerror_debug(i32 noundef %7030, ptr noundef @.str.4)
  %7032 = call ptr @__errno_location() #12
  %7033 = load i32, ptr %7032, align 4, !tbaa !5
  %7034 = call ptr @strerror(i32 noundef %7033) #11
  %7035 = call ptr @__errno_location() #12
  %7036 = load i32, ptr %7035, align 4, !tbaa !5
  %7037 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7024, ptr noundef @.str.5, i32 noundef %7025, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 275, ptr noundef %7028, ptr noundef %7031, ptr noundef %7034, i32 noundef %7036) #11
  br label %7038

7038:                                             ; preds = %7021, %7004
  call void @llvm.lifetime.end.p0(i64 4, ptr %155) #11
  br label %7039

7039:                                             ; preds = %7038
  br label %7040

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

7041:                                             ; No predecessors!
  br label %7042

7042:                                             ; preds = %7041
  br label %7043

7043:                                             ; preds = %7042, %6984
  br label %7044

7044:                                             ; preds = %7043
  br label %7045

7045:                                             ; preds = %7044
  br label %7046

7046:                                             ; preds = %7045
  %7047 = load i32, ptr @test_count, align 4, !tbaa !5
  %7048 = add nsw i32 %7047, 1
  store i32 %7048, ptr @test_count, align 4, !tbaa !5
  %7049 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7050 = load i32, ptr %7049, align 4, !tbaa !5
  %7051 = call ptr @s2n_strerror_debug(i32 noundef %7050, ptr noundef @.str.4)
  %7052 = icmp eq ptr %7051, null
  br i1 %7052, label %7053, label %7106

7053:                                             ; preds = %7046
  br label %7054

7054:                                             ; preds = %7053
  br label %7055

7055:                                             ; preds = %7054
  call void @llvm.lifetime.start.p0(i64 4, ptr %156) #11
  %7056 = call ptr @__errno_location() #12
  %7057 = load i32, ptr %7056, align 4, !tbaa !5
  store i32 %7057, ptr %156, align 4, !tbaa !5
  %7058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7059 = call i32 @s2n_print_stacktrace(ptr noundef %7058)
  %7060 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7061 = trunc i8 %7060 to i1
  br i1 %7061, label %7062, label %7084

7062:                                             ; preds = %7055
  %7063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7064 = call i32 @fileno(ptr noundef %7063) #11
  %7065 = call i32 @isatty(i32 noundef %7064) #11
  %7066 = icmp ne i32 %7065, 0
  br i1 %7066, label %7067, label %7084

7067:                                             ; preds = %7062
  %7068 = load i32, ptr %156, align 4, !tbaa !5
  %7069 = call ptr @__errno_location() #12
  store i32 %7068, ptr %7069, align 4, !tbaa !5
  %7070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7071 = load i32, ptr @test_count, align 4, !tbaa !5
  %7072 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7073 = load i32, ptr %7072, align 4, !tbaa !5
  %7074 = call ptr @s2n_strerror(i32 noundef %7073, ptr noundef @.str.4)
  %7075 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7076 = load i32, ptr %7075, align 4, !tbaa !5
  %7077 = call ptr @s2n_strerror_debug(i32 noundef %7076, ptr noundef @.str.4)
  %7078 = call ptr @__errno_location() #12
  %7079 = load i32, ptr %7078, align 4, !tbaa !5
  %7080 = call ptr @strerror(i32 noundef %7079) #11
  %7081 = call ptr @__errno_location() #12
  %7082 = load i32, ptr %7081, align 4, !tbaa !5
  %7083 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7070, ptr noundef @.str.2, i32 noundef %7071, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 275, ptr noundef %7074, ptr noundef %7077, ptr noundef %7080, i32 noundef %7082) #11
  br label %7101

7084:                                             ; preds = %7062, %7055
  %7085 = load i32, ptr %156, align 4, !tbaa !5
  %7086 = call ptr @__errno_location() #12
  store i32 %7085, ptr %7086, align 4, !tbaa !5
  %7087 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7088 = load i32, ptr @test_count, align 4, !tbaa !5
  %7089 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7090 = load i32, ptr %7089, align 4, !tbaa !5
  %7091 = call ptr @s2n_strerror(i32 noundef %7090, ptr noundef @.str.4)
  %7092 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7093 = load i32, ptr %7092, align 4, !tbaa !5
  %7094 = call ptr @s2n_strerror_debug(i32 noundef %7093, ptr noundef @.str.4)
  %7095 = call ptr @__errno_location() #12
  %7096 = load i32, ptr %7095, align 4, !tbaa !5
  %7097 = call ptr @strerror(i32 noundef %7096) #11
  %7098 = call ptr @__errno_location() #12
  %7099 = load i32, ptr %7098, align 4, !tbaa !5
  %7100 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7087, ptr noundef @.str.5, i32 noundef %7088, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 275, ptr noundef %7091, ptr noundef %7094, ptr noundef %7097, i32 noundef %7099) #11
  br label %7101

7101:                                             ; preds = %7084, %7067
  call void @llvm.lifetime.end.p0(i64 4, ptr %156) #11
  br label %7102

7102:                                             ; preds = %7101
  br label %7103

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

7104:                                             ; No predecessors!
  br label %7105

7105:                                             ; preds = %7104
  br label %7106

7106:                                             ; preds = %7105, %7046
  br label %7107

7107:                                             ; preds = %7106
  br label %7108

7108:                                             ; preds = %7107
  br label %7109

7109:                                             ; preds = %7108
  br label %7110

7110:                                             ; preds = %7109
  br label %7111

7111:                                             ; preds = %7110
  %7112 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %7112, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %7113 = call ptr @__errno_location() #12
  store i32 0, ptr %7113, align 4, !tbaa !5
  br label %7114

7114:                                             ; preds = %7111
  br label %7115

7115:                                             ; preds = %7114
  br label %7116

7116:                                             ; preds = %7115
  br label %7117

7117:                                             ; preds = %7116
  br label %7118

7118:                                             ; preds = %7117
  %7119 = load i32, ptr @test_count, align 4, !tbaa !5
  %7120 = add nsw i32 %7119, 1
  store i32 %7120, ptr @test_count, align 4, !tbaa !5
  %7121 = load ptr, ptr %128, align 8, !tbaa !9
  %7122 = call i32 @s2n_conn_get_current_message_type(ptr noundef %7121)
  %7123 = icmp eq i32 %7122, 1
  br i1 %7123, label %7124, label %7177

7124:                                             ; preds = %7118
  br label %7125

7125:                                             ; preds = %7124
  br label %7126

7126:                                             ; preds = %7125
  call void @llvm.lifetime.start.p0(i64 4, ptr %157) #11
  %7127 = call ptr @__errno_location() #12
  %7128 = load i32, ptr %7127, align 4, !tbaa !5
  store i32 %7128, ptr %157, align 4, !tbaa !5
  %7129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7130 = call i32 @s2n_print_stacktrace(ptr noundef %7129)
  %7131 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7132 = trunc i8 %7131 to i1
  br i1 %7132, label %7133, label %7155

7133:                                             ; preds = %7126
  %7134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7135 = call i32 @fileno(ptr noundef %7134) #11
  %7136 = call i32 @isatty(i32 noundef %7135) #11
  %7137 = icmp ne i32 %7136, 0
  br i1 %7137, label %7138, label %7155

7138:                                             ; preds = %7133
  %7139 = load i32, ptr %157, align 4, !tbaa !5
  %7140 = call ptr @__errno_location() #12
  store i32 %7139, ptr %7140, align 4, !tbaa !5
  %7141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7142 = load i32, ptr @test_count, align 4, !tbaa !5
  %7143 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7144 = load i32, ptr %7143, align 4, !tbaa !5
  %7145 = call ptr @s2n_strerror(i32 noundef %7144, ptr noundef @.str.4)
  %7146 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7147 = load i32, ptr %7146, align 4, !tbaa !5
  %7148 = call ptr @s2n_strerror_debug(i32 noundef %7147, ptr noundef @.str.4)
  %7149 = call ptr @__errno_location() #12
  %7150 = load i32, ptr %7149, align 4, !tbaa !5
  %7151 = call ptr @strerror(i32 noundef %7150) #11
  %7152 = call ptr @__errno_location() #12
  %7153 = load i32, ptr %7152, align 4, !tbaa !5
  %7154 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7141, ptr noundef @.str.2, i32 noundef %7142, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 276, ptr noundef %7145, ptr noundef %7148, ptr noundef %7151, i32 noundef %7153) #11
  br label %7172

7155:                                             ; preds = %7133, %7126
  %7156 = load i32, ptr %157, align 4, !tbaa !5
  %7157 = call ptr @__errno_location() #12
  store i32 %7156, ptr %7157, align 4, !tbaa !5
  %7158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7159 = load i32, ptr @test_count, align 4, !tbaa !5
  %7160 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7161 = load i32, ptr %7160, align 4, !tbaa !5
  %7162 = call ptr @s2n_strerror(i32 noundef %7161, ptr noundef @.str.4)
  %7163 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7164 = load i32, ptr %7163, align 4, !tbaa !5
  %7165 = call ptr @s2n_strerror_debug(i32 noundef %7164, ptr noundef @.str.4)
  %7166 = call ptr @__errno_location() #12
  %7167 = load i32, ptr %7166, align 4, !tbaa !5
  %7168 = call ptr @strerror(i32 noundef %7167) #11
  %7169 = call ptr @__errno_location() #12
  %7170 = load i32, ptr %7169, align 4, !tbaa !5
  %7171 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7158, ptr noundef @.str.5, i32 noundef %7159, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 276, ptr noundef %7162, ptr noundef %7165, ptr noundef %7168, i32 noundef %7170) #11
  br label %7172

7172:                                             ; preds = %7155, %7138
  call void @llvm.lifetime.end.p0(i64 4, ptr %157) #11
  br label %7173

7173:                                             ; preds = %7172
  br label %7174

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

7175:                                             ; No predecessors!
  br label %7176

7176:                                             ; preds = %7175
  br label %7177

7177:                                             ; preds = %7176, %7118
  br label %7178

7178:                                             ; preds = %7177
  br label %7179

7179:                                             ; preds = %7178
  br label %7180

7180:                                             ; preds = %7179
  %7181 = load i32, ptr @test_count, align 4, !tbaa !5
  %7182 = add nsw i32 %7181, 1
  store i32 %7182, ptr @test_count, align 4, !tbaa !5
  %7183 = load ptr, ptr %128, align 8, !tbaa !9
  %7184 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %7183, i32 noundef 1)
  br i1 %7184, label %7238, label %7185

7185:                                             ; preds = %7180
  br label %7186

7186:                                             ; preds = %7185
  br label %7187

7187:                                             ; preds = %7186
  call void @llvm.lifetime.start.p0(i64 4, ptr %158) #11
  %7188 = call ptr @__errno_location() #12
  %7189 = load i32, ptr %7188, align 4, !tbaa !5
  store i32 %7189, ptr %158, align 4, !tbaa !5
  %7190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7191 = call i32 @s2n_print_stacktrace(ptr noundef %7190)
  %7192 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7193 = trunc i8 %7192 to i1
  br i1 %7193, label %7194, label %7216

7194:                                             ; preds = %7187
  %7195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7196 = call i32 @fileno(ptr noundef %7195) #11
  %7197 = call i32 @isatty(i32 noundef %7196) #11
  %7198 = icmp ne i32 %7197, 0
  br i1 %7198, label %7199, label %7216

7199:                                             ; preds = %7194
  %7200 = load i32, ptr %158, align 4, !tbaa !5
  %7201 = call ptr @__errno_location() #12
  store i32 %7200, ptr %7201, align 4, !tbaa !5
  %7202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7203 = load i32, ptr @test_count, align 4, !tbaa !5
  %7204 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7205 = load i32, ptr %7204, align 4, !tbaa !5
  %7206 = call ptr @s2n_strerror(i32 noundef %7205, ptr noundef @.str.4)
  %7207 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7208 = load i32, ptr %7207, align 4, !tbaa !5
  %7209 = call ptr @s2n_strerror_debug(i32 noundef %7208, ptr noundef @.str.4)
  %7210 = call ptr @__errno_location() #12
  %7211 = load i32, ptr %7210, align 4, !tbaa !5
  %7212 = call ptr @strerror(i32 noundef %7211) #11
  %7213 = call ptr @__errno_location() #12
  %7214 = load i32, ptr %7213, align 4, !tbaa !5
  %7215 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7202, ptr noundef @.str.2, i32 noundef %7203, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 277, ptr noundef %7206, ptr noundef %7209, ptr noundef %7212, i32 noundef %7214) #11
  br label %7233

7216:                                             ; preds = %7194, %7187
  %7217 = load i32, ptr %158, align 4, !tbaa !5
  %7218 = call ptr @__errno_location() #12
  store i32 %7217, ptr %7218, align 4, !tbaa !5
  %7219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7220 = load i32, ptr @test_count, align 4, !tbaa !5
  %7221 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7222 = load i32, ptr %7221, align 4, !tbaa !5
  %7223 = call ptr @s2n_strerror(i32 noundef %7222, ptr noundef @.str.4)
  %7224 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7225 = load i32, ptr %7224, align 4, !tbaa !5
  %7226 = call ptr @s2n_strerror_debug(i32 noundef %7225, ptr noundef @.str.4)
  %7227 = call ptr @__errno_location() #12
  %7228 = load i32, ptr %7227, align 4, !tbaa !5
  %7229 = call ptr @strerror(i32 noundef %7228) #11
  %7230 = call ptr @__errno_location() #12
  %7231 = load i32, ptr %7230, align 4, !tbaa !5
  %7232 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7219, ptr noundef @.str.5, i32 noundef %7220, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 277, ptr noundef %7223, ptr noundef %7226, ptr noundef %7229, i32 noundef %7231) #11
  br label %7233

7233:                                             ; preds = %7216, %7199
  call void @llvm.lifetime.end.p0(i64 4, ptr %158) #11
  br label %7234

7234:                                             ; preds = %7233
  br label %7235

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

7236:                                             ; No predecessors!
  br label %7237

7237:                                             ; preds = %7236
  br label %7238

7238:                                             ; preds = %7237, %7180
  br label %7239

7239:                                             ; preds = %7238
  br label %7240

7240:                                             ; preds = %7239
  call void @llvm.lifetime.end.p0(i64 22, ptr %138) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %137) #11
  %7241 = call i32 @s2n_io_pair_close(ptr noundef %134)
  call void @llvm.lifetime.end.p0(i64 8, ptr %134) #11
  %7242 = call i32 @s2n_connection_ptr_free(ptr noundef %131)
  %7243 = getelementptr inbounds %struct.s2n_result, ptr %159, i32 0, i32 0
  store i32 %7242, ptr %7243, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %131) #11
  %7244 = call i32 @s2n_connection_ptr_free(ptr noundef %128)
  %7245 = getelementptr inbounds %struct.s2n_result, ptr %160, i32 0, i32 0
  store i32 %7244, ptr %7245, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %128) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %161) #11
  %7246 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %7246, ptr %161, align 8, !tbaa !9
  br label %7247

7247:                                             ; preds = %7240
  %7248 = load i32, ptr @test_count, align 4, !tbaa !5
  %7249 = add nsw i32 %7248, 1
  store i32 %7249, ptr @test_count, align 4, !tbaa !5
  %7250 = load ptr, ptr %161, align 8, !tbaa !9
  %7251 = icmp eq ptr %7250, null
  br i1 %7251, label %7252, label %7305

7252:                                             ; preds = %7247
  br label %7253

7253:                                             ; preds = %7252
  br label %7254

7254:                                             ; preds = %7253
  call void @llvm.lifetime.start.p0(i64 4, ptr %162) #11
  %7255 = call ptr @__errno_location() #12
  %7256 = load i32, ptr %7255, align 4, !tbaa !5
  store i32 %7256, ptr %162, align 4, !tbaa !5
  %7257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7258 = call i32 @s2n_print_stacktrace(ptr noundef %7257)
  %7259 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7260 = trunc i8 %7259 to i1
  br i1 %7260, label %7261, label %7283

7261:                                             ; preds = %7254
  %7262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7263 = call i32 @fileno(ptr noundef %7262) #11
  %7264 = call i32 @isatty(i32 noundef %7263) #11
  %7265 = icmp ne i32 %7264, 0
  br i1 %7265, label %7266, label %7283

7266:                                             ; preds = %7261
  %7267 = load i32, ptr %162, align 4, !tbaa !5
  %7268 = call ptr @__errno_location() #12
  store i32 %7267, ptr %7268, align 4, !tbaa !5
  %7269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7270 = load i32, ptr @test_count, align 4, !tbaa !5
  %7271 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7272 = load i32, ptr %7271, align 4, !tbaa !5
  %7273 = call ptr @s2n_strerror(i32 noundef %7272, ptr noundef @.str.4)
  %7274 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7275 = load i32, ptr %7274, align 4, !tbaa !5
  %7276 = call ptr @s2n_strerror_debug(i32 noundef %7275, ptr noundef @.str.4)
  %7277 = call ptr @__errno_location() #12
  %7278 = load i32, ptr %7277, align 4, !tbaa !5
  %7279 = call ptr @strerror(i32 noundef %7278) #11
  %7280 = call ptr @__errno_location() #12
  %7281 = load i32, ptr %7280, align 4, !tbaa !5
  %7282 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7269, ptr noundef @.str.2, i32 noundef %7270, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 283, ptr noundef %7273, ptr noundef %7276, ptr noundef %7279, i32 noundef %7281) #11
  br label %7300

7283:                                             ; preds = %7261, %7254
  %7284 = load i32, ptr %162, align 4, !tbaa !5
  %7285 = call ptr @__errno_location() #12
  store i32 %7284, ptr %7285, align 4, !tbaa !5
  %7286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7287 = load i32, ptr @test_count, align 4, !tbaa !5
  %7288 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7289 = load i32, ptr %7288, align 4, !tbaa !5
  %7290 = call ptr @s2n_strerror(i32 noundef %7289, ptr noundef @.str.4)
  %7291 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7292 = load i32, ptr %7291, align 4, !tbaa !5
  %7293 = call ptr @s2n_strerror_debug(i32 noundef %7292, ptr noundef @.str.4)
  %7294 = call ptr @__errno_location() #12
  %7295 = load i32, ptr %7294, align 4, !tbaa !5
  %7296 = call ptr @strerror(i32 noundef %7295) #11
  %7297 = call ptr @__errno_location() #12
  %7298 = load i32, ptr %7297, align 4, !tbaa !5
  %7299 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7286, ptr noundef @.str.5, i32 noundef %7287, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 283, ptr noundef %7290, ptr noundef %7293, ptr noundef %7296, i32 noundef %7298) #11
  br label %7300

7300:                                             ; preds = %7283, %7266
  call void @llvm.lifetime.end.p0(i64 4, ptr %162) #11
  br label %7301

7301:                                             ; preds = %7300
  br label %7302

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

7303:                                             ; No predecessors!
  br label %7304

7304:                                             ; preds = %7303
  br label %7305

7305:                                             ; preds = %7304, %7247
  br label %7306

7306:                                             ; preds = %7305
  br label %7307

7307:                                             ; preds = %7306
  br label %7308

7308:                                             ; preds = %7307
  %7309 = load i32, ptr @test_count, align 4, !tbaa !5
  %7310 = add nsw i32 %7309, 1
  store i32 %7310, ptr @test_count, align 4, !tbaa !5
  %7311 = load ptr, ptr %161, align 8, !tbaa !9
  %7312 = load ptr, ptr %11, align 8, !tbaa !9
  %7313 = call i32 @s2n_connection_set_config(ptr noundef %7311, ptr noundef %7312)
  %7314 = icmp eq i32 %7313, -1
  br i1 %7314, label %7315, label %7368

7315:                                             ; preds = %7308
  br label %7316

7316:                                             ; preds = %7315
  br label %7317

7317:                                             ; preds = %7316
  call void @llvm.lifetime.start.p0(i64 4, ptr %163) #11
  %7318 = call ptr @__errno_location() #12
  %7319 = load i32, ptr %7318, align 4, !tbaa !5
  store i32 %7319, ptr %163, align 4, !tbaa !5
  %7320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7321 = call i32 @s2n_print_stacktrace(ptr noundef %7320)
  %7322 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7323 = trunc i8 %7322 to i1
  br i1 %7323, label %7324, label %7346

7324:                                             ; preds = %7317
  %7325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7326 = call i32 @fileno(ptr noundef %7325) #11
  %7327 = call i32 @isatty(i32 noundef %7326) #11
  %7328 = icmp ne i32 %7327, 0
  br i1 %7328, label %7329, label %7346

7329:                                             ; preds = %7324
  %7330 = load i32, ptr %163, align 4, !tbaa !5
  %7331 = call ptr @__errno_location() #12
  store i32 %7330, ptr %7331, align 4, !tbaa !5
  %7332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7333 = load i32, ptr @test_count, align 4, !tbaa !5
  %7334 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7335 = load i32, ptr %7334, align 4, !tbaa !5
  %7336 = call ptr @s2n_strerror(i32 noundef %7335, ptr noundef @.str.4)
  %7337 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7338 = load i32, ptr %7337, align 4, !tbaa !5
  %7339 = call ptr @s2n_strerror_debug(i32 noundef %7338, ptr noundef @.str.4)
  %7340 = call ptr @__errno_location() #12
  %7341 = load i32, ptr %7340, align 4, !tbaa !5
  %7342 = call ptr @strerror(i32 noundef %7341) #11
  %7343 = call ptr @__errno_location() #12
  %7344 = load i32, ptr %7343, align 4, !tbaa !5
  %7345 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7332, ptr noundef @.str.2, i32 noundef %7333, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 284, ptr noundef %7336, ptr noundef %7339, ptr noundef %7342, i32 noundef %7344) #11
  br label %7363

7346:                                             ; preds = %7324, %7317
  %7347 = load i32, ptr %163, align 4, !tbaa !5
  %7348 = call ptr @__errno_location() #12
  store i32 %7347, ptr %7348, align 4, !tbaa !5
  %7349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7350 = load i32, ptr @test_count, align 4, !tbaa !5
  %7351 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7352 = load i32, ptr %7351, align 4, !tbaa !5
  %7353 = call ptr @s2n_strerror(i32 noundef %7352, ptr noundef @.str.4)
  %7354 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7355 = load i32, ptr %7354, align 4, !tbaa !5
  %7356 = call ptr @s2n_strerror_debug(i32 noundef %7355, ptr noundef @.str.4)
  %7357 = call ptr @__errno_location() #12
  %7358 = load i32, ptr %7357, align 4, !tbaa !5
  %7359 = call ptr @strerror(i32 noundef %7358) #11
  %7360 = call ptr @__errno_location() #12
  %7361 = load i32, ptr %7360, align 4, !tbaa !5
  %7362 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7349, ptr noundef @.str.5, i32 noundef %7350, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 284, ptr noundef %7353, ptr noundef %7356, ptr noundef %7359, i32 noundef %7361) #11
  br label %7363

7363:                                             ; preds = %7346, %7329
  call void @llvm.lifetime.end.p0(i64 4, ptr %163) #11
  br label %7364

7364:                                             ; preds = %7363
  br label %7365

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

7366:                                             ; No predecessors!
  br label %7367

7367:                                             ; preds = %7366
  br label %7368

7368:                                             ; preds = %7367, %7308
  br label %7369

7369:                                             ; preds = %7368
  br label %7370

7370:                                             ; preds = %7369
  call void @llvm.lifetime.start.p0(i64 8, ptr %164) #11
  %7371 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %7371, ptr %164, align 8, !tbaa !9
  br label %7372

7372:                                             ; preds = %7370
  %7373 = load i32, ptr @test_count, align 4, !tbaa !5
  %7374 = add nsw i32 %7373, 1
  store i32 %7374, ptr @test_count, align 4, !tbaa !5
  %7375 = load ptr, ptr %164, align 8, !tbaa !9
  %7376 = icmp eq ptr %7375, null
  br i1 %7376, label %7377, label %7430

7377:                                             ; preds = %7372
  br label %7378

7378:                                             ; preds = %7377
  br label %7379

7379:                                             ; preds = %7378
  call void @llvm.lifetime.start.p0(i64 4, ptr %165) #11
  %7380 = call ptr @__errno_location() #12
  %7381 = load i32, ptr %7380, align 4, !tbaa !5
  store i32 %7381, ptr %165, align 4, !tbaa !5
  %7382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7383 = call i32 @s2n_print_stacktrace(ptr noundef %7382)
  %7384 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7385 = trunc i8 %7384 to i1
  br i1 %7385, label %7386, label %7408

7386:                                             ; preds = %7379
  %7387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7388 = call i32 @fileno(ptr noundef %7387) #11
  %7389 = call i32 @isatty(i32 noundef %7388) #11
  %7390 = icmp ne i32 %7389, 0
  br i1 %7390, label %7391, label %7408

7391:                                             ; preds = %7386
  %7392 = load i32, ptr %165, align 4, !tbaa !5
  %7393 = call ptr @__errno_location() #12
  store i32 %7392, ptr %7393, align 4, !tbaa !5
  %7394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7395 = load i32, ptr @test_count, align 4, !tbaa !5
  %7396 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7397 = load i32, ptr %7396, align 4, !tbaa !5
  %7398 = call ptr @s2n_strerror(i32 noundef %7397, ptr noundef @.str.4)
  %7399 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7400 = load i32, ptr %7399, align 4, !tbaa !5
  %7401 = call ptr @s2n_strerror_debug(i32 noundef %7400, ptr noundef @.str.4)
  %7402 = call ptr @__errno_location() #12
  %7403 = load i32, ptr %7402, align 4, !tbaa !5
  %7404 = call ptr @strerror(i32 noundef %7403) #11
  %7405 = call ptr @__errno_location() #12
  %7406 = load i32, ptr %7405, align 4, !tbaa !5
  %7407 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7394, ptr noundef @.str.2, i32 noundef %7395, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 287, ptr noundef %7398, ptr noundef %7401, ptr noundef %7404, i32 noundef %7406) #11
  br label %7425

7408:                                             ; preds = %7386, %7379
  %7409 = load i32, ptr %165, align 4, !tbaa !5
  %7410 = call ptr @__errno_location() #12
  store i32 %7409, ptr %7410, align 4, !tbaa !5
  %7411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7412 = load i32, ptr @test_count, align 4, !tbaa !5
  %7413 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7414 = load i32, ptr %7413, align 4, !tbaa !5
  %7415 = call ptr @s2n_strerror(i32 noundef %7414, ptr noundef @.str.4)
  %7416 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7417 = load i32, ptr %7416, align 4, !tbaa !5
  %7418 = call ptr @s2n_strerror_debug(i32 noundef %7417, ptr noundef @.str.4)
  %7419 = call ptr @__errno_location() #12
  %7420 = load i32, ptr %7419, align 4, !tbaa !5
  %7421 = call ptr @strerror(i32 noundef %7420) #11
  %7422 = call ptr @__errno_location() #12
  %7423 = load i32, ptr %7422, align 4, !tbaa !5
  %7424 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7411, ptr noundef @.str.5, i32 noundef %7412, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 287, ptr noundef %7415, ptr noundef %7418, ptr noundef %7421, i32 noundef %7423) #11
  br label %7425

7425:                                             ; preds = %7408, %7391
  call void @llvm.lifetime.end.p0(i64 4, ptr %165) #11
  br label %7426

7426:                                             ; preds = %7425
  br label %7427

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

7428:                                             ; No predecessors!
  br label %7429

7429:                                             ; preds = %7428
  br label %7430

7430:                                             ; preds = %7429, %7372
  br label %7431

7431:                                             ; preds = %7430
  br label %7432

7432:                                             ; preds = %7431
  br label %7433

7433:                                             ; preds = %7432
  %7434 = load i32, ptr @test_count, align 4, !tbaa !5
  %7435 = add nsw i32 %7434, 1
  store i32 %7435, ptr @test_count, align 4, !tbaa !5
  %7436 = load ptr, ptr %164, align 8, !tbaa !9
  %7437 = load ptr, ptr %11, align 8, !tbaa !9
  %7438 = call i32 @s2n_connection_set_config(ptr noundef %7436, ptr noundef %7437)
  %7439 = icmp eq i32 %7438, -1
  br i1 %7439, label %7440, label %7493

7440:                                             ; preds = %7433
  br label %7441

7441:                                             ; preds = %7440
  br label %7442

7442:                                             ; preds = %7441
  call void @llvm.lifetime.start.p0(i64 4, ptr %166) #11
  %7443 = call ptr @__errno_location() #12
  %7444 = load i32, ptr %7443, align 4, !tbaa !5
  store i32 %7444, ptr %166, align 4, !tbaa !5
  %7445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7446 = call i32 @s2n_print_stacktrace(ptr noundef %7445)
  %7447 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7448 = trunc i8 %7447 to i1
  br i1 %7448, label %7449, label %7471

7449:                                             ; preds = %7442
  %7450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7451 = call i32 @fileno(ptr noundef %7450) #11
  %7452 = call i32 @isatty(i32 noundef %7451) #11
  %7453 = icmp ne i32 %7452, 0
  br i1 %7453, label %7454, label %7471

7454:                                             ; preds = %7449
  %7455 = load i32, ptr %166, align 4, !tbaa !5
  %7456 = call ptr @__errno_location() #12
  store i32 %7455, ptr %7456, align 4, !tbaa !5
  %7457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7458 = load i32, ptr @test_count, align 4, !tbaa !5
  %7459 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7460 = load i32, ptr %7459, align 4, !tbaa !5
  %7461 = call ptr @s2n_strerror(i32 noundef %7460, ptr noundef @.str.4)
  %7462 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7463 = load i32, ptr %7462, align 4, !tbaa !5
  %7464 = call ptr @s2n_strerror_debug(i32 noundef %7463, ptr noundef @.str.4)
  %7465 = call ptr @__errno_location() #12
  %7466 = load i32, ptr %7465, align 4, !tbaa !5
  %7467 = call ptr @strerror(i32 noundef %7466) #11
  %7468 = call ptr @__errno_location() #12
  %7469 = load i32, ptr %7468, align 4, !tbaa !5
  %7470 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7457, ptr noundef @.str.2, i32 noundef %7458, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 288, ptr noundef %7461, ptr noundef %7464, ptr noundef %7467, i32 noundef %7469) #11
  br label %7488

7471:                                             ; preds = %7449, %7442
  %7472 = load i32, ptr %166, align 4, !tbaa !5
  %7473 = call ptr @__errno_location() #12
  store i32 %7472, ptr %7473, align 4, !tbaa !5
  %7474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7475 = load i32, ptr @test_count, align 4, !tbaa !5
  %7476 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7477 = load i32, ptr %7476, align 4, !tbaa !5
  %7478 = call ptr @s2n_strerror(i32 noundef %7477, ptr noundef @.str.4)
  %7479 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7480 = load i32, ptr %7479, align 4, !tbaa !5
  %7481 = call ptr @s2n_strerror_debug(i32 noundef %7480, ptr noundef @.str.4)
  %7482 = call ptr @__errno_location() #12
  %7483 = load i32, ptr %7482, align 4, !tbaa !5
  %7484 = call ptr @strerror(i32 noundef %7483) #11
  %7485 = call ptr @__errno_location() #12
  %7486 = load i32, ptr %7485, align 4, !tbaa !5
  %7487 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7474, ptr noundef @.str.5, i32 noundef %7475, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 288, ptr noundef %7478, ptr noundef %7481, ptr noundef %7484, i32 noundef %7486) #11
  br label %7488

7488:                                             ; preds = %7471, %7454
  call void @llvm.lifetime.end.p0(i64 4, ptr %166) #11
  br label %7489

7489:                                             ; preds = %7488
  br label %7490

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

7491:                                             ; No predecessors!
  br label %7492

7492:                                             ; preds = %7491
  br label %7493

7493:                                             ; preds = %7492, %7433
  br label %7494

7494:                                             ; preds = %7493
  br label %7495

7495:                                             ; preds = %7494
  call void @llvm.lifetime.start.p0(i64 8, ptr %167) #11
  call void @llvm.memset.p0.i64(ptr align 4 %167, i8 0, i64 8, i1 false)
  br label %7496

7496:                                             ; preds = %7495
  %7497 = load i32, ptr @test_count, align 4, !tbaa !5
  %7498 = add nsw i32 %7497, 1
  store i32 %7498, ptr @test_count, align 4, !tbaa !5
  %7499 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %167)
  %7500 = icmp eq i32 %7499, -1
  br i1 %7500, label %7501, label %7554

7501:                                             ; preds = %7496
  br label %7502

7502:                                             ; preds = %7501
  br label %7503

7503:                                             ; preds = %7502
  call void @llvm.lifetime.start.p0(i64 4, ptr %168) #11
  %7504 = call ptr @__errno_location() #12
  %7505 = load i32, ptr %7504, align 4, !tbaa !5
  store i32 %7505, ptr %168, align 4, !tbaa !5
  %7506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7507 = call i32 @s2n_print_stacktrace(ptr noundef %7506)
  %7508 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7509 = trunc i8 %7508 to i1
  br i1 %7509, label %7510, label %7532

7510:                                             ; preds = %7503
  %7511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7512 = call i32 @fileno(ptr noundef %7511) #11
  %7513 = call i32 @isatty(i32 noundef %7512) #11
  %7514 = icmp ne i32 %7513, 0
  br i1 %7514, label %7515, label %7532

7515:                                             ; preds = %7510
  %7516 = load i32, ptr %168, align 4, !tbaa !5
  %7517 = call ptr @__errno_location() #12
  store i32 %7516, ptr %7517, align 4, !tbaa !5
  %7518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7519 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %7521, ptr noundef @.str.4)
  %7523 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7524 = load i32, ptr %7523, align 4, !tbaa !5
  %7525 = call ptr @s2n_strerror_debug(i32 noundef %7524, ptr noundef @.str.4)
  %7526 = call ptr @__errno_location() #12
  %7527 = load i32, ptr %7526, align 4, !tbaa !5
  %7528 = call ptr @strerror(i32 noundef %7527) #11
  %7529 = call ptr @__errno_location() #12
  %7530 = load i32, ptr %7529, align 4, !tbaa !5
  %7531 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7518, ptr noundef @.str.2, i32 noundef %7519, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 291, ptr noundef %7522, ptr noundef %7525, ptr noundef %7528, i32 noundef %7530) #11
  br label %7549

7532:                                             ; preds = %7510, %7503
  %7533 = load i32, ptr %168, align 4, !tbaa !5
  %7534 = call ptr @__errno_location() #12
  store i32 %7533, ptr %7534, align 4, !tbaa !5
  %7535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7536 = load i32, ptr @test_count, align 4, !tbaa !5
  %7537 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7538 = load i32, ptr %7537, align 4, !tbaa !5
  %7539 = call ptr @s2n_strerror(i32 noundef %7538, ptr noundef @.str.4)
  %7540 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7541 = load i32, ptr %7540, align 4, !tbaa !5
  %7542 = call ptr @s2n_strerror_debug(i32 noundef %7541, ptr noundef @.str.4)
  %7543 = call ptr @__errno_location() #12
  %7544 = load i32, ptr %7543, align 4, !tbaa !5
  %7545 = call ptr @strerror(i32 noundef %7544) #11
  %7546 = call ptr @__errno_location() #12
  %7547 = load i32, ptr %7546, align 4, !tbaa !5
  %7548 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7535, ptr noundef @.str.5, i32 noundef %7536, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 291, ptr noundef %7539, ptr noundef %7542, ptr noundef %7545, i32 noundef %7547) #11
  br label %7549

7549:                                             ; preds = %7532, %7515
  call void @llvm.lifetime.end.p0(i64 4, ptr %168) #11
  br label %7550

7550:                                             ; preds = %7549
  br label %7551

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

7552:                                             ; No predecessors!
  br label %7553

7553:                                             ; preds = %7552
  br label %7554

7554:                                             ; preds = %7553, %7496
  br label %7555

7555:                                             ; preds = %7554
  br label %7556

7556:                                             ; preds = %7555
  br label %7557

7557:                                             ; preds = %7556
  %7558 = load i32, ptr @test_count, align 4, !tbaa !5
  %7559 = add nsw i32 %7558, 1
  store i32 %7559, ptr @test_count, align 4, !tbaa !5
  %7560 = load ptr, ptr %164, align 8, !tbaa !9
  %7561 = load ptr, ptr %161, align 8, !tbaa !9
  %7562 = call i32 @s2n_connections_set_io_pair(ptr noundef %7560, ptr noundef %7561, ptr noundef %167)
  %7563 = icmp eq i32 %7562, -1
  br i1 %7563, label %7564, label %7617

7564:                                             ; preds = %7557
  br label %7565

7565:                                             ; preds = %7564
  br label %7566

7566:                                             ; preds = %7565
  call void @llvm.lifetime.start.p0(i64 4, ptr %169) #11
  %7567 = call ptr @__errno_location() #12
  %7568 = load i32, ptr %7567, align 4, !tbaa !5
  store i32 %7568, ptr %169, align 4, !tbaa !5
  %7569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7570 = call i32 @s2n_print_stacktrace(ptr noundef %7569)
  %7571 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7572 = trunc i8 %7571 to i1
  br i1 %7572, label %7573, label %7595

7573:                                             ; preds = %7566
  %7574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7575 = call i32 @fileno(ptr noundef %7574) #11
  %7576 = call i32 @isatty(i32 noundef %7575) #11
  %7577 = icmp ne i32 %7576, 0
  br i1 %7577, label %7578, label %7595

7578:                                             ; preds = %7573
  %7579 = load i32, ptr %169, align 4, !tbaa !5
  %7580 = call ptr @__errno_location() #12
  store i32 %7579, ptr %7580, align 4, !tbaa !5
  %7581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7582 = load i32, ptr @test_count, align 4, !tbaa !5
  %7583 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7584 = load i32, ptr %7583, align 4, !tbaa !5
  %7585 = call ptr @s2n_strerror(i32 noundef %7584, ptr noundef @.str.4)
  %7586 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7587 = load i32, ptr %7586, align 4, !tbaa !5
  %7588 = call ptr @s2n_strerror_debug(i32 noundef %7587, ptr noundef @.str.4)
  %7589 = call ptr @__errno_location() #12
  %7590 = load i32, ptr %7589, align 4, !tbaa !5
  %7591 = call ptr @strerror(i32 noundef %7590) #11
  %7592 = call ptr @__errno_location() #12
  %7593 = load i32, ptr %7592, align 4, !tbaa !5
  %7594 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7581, ptr noundef @.str.2, i32 noundef %7582, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 292, ptr noundef %7585, ptr noundef %7588, ptr noundef %7591, i32 noundef %7593) #11
  br label %7612

7595:                                             ; preds = %7573, %7566
  %7596 = load i32, ptr %169, align 4, !tbaa !5
  %7597 = call ptr @__errno_location() #12
  store i32 %7596, ptr %7597, align 4, !tbaa !5
  %7598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7599 = load i32, ptr @test_count, align 4, !tbaa !5
  %7600 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7601 = load i32, ptr %7600, align 4, !tbaa !5
  %7602 = call ptr @s2n_strerror(i32 noundef %7601, ptr noundef @.str.4)
  %7603 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7604 = load i32, ptr %7603, align 4, !tbaa !5
  %7605 = call ptr @s2n_strerror_debug(i32 noundef %7604, ptr noundef @.str.4)
  %7606 = call ptr @__errno_location() #12
  %7607 = load i32, ptr %7606, align 4, !tbaa !5
  %7608 = call ptr @strerror(i32 noundef %7607) #11
  %7609 = call ptr @__errno_location() #12
  %7610 = load i32, ptr %7609, align 4, !tbaa !5
  %7611 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7598, ptr noundef @.str.5, i32 noundef %7599, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 292, ptr noundef %7602, ptr noundef %7605, ptr noundef %7608, i32 noundef %7610) #11
  br label %7612

7612:                                             ; preds = %7595, %7578
  call void @llvm.lifetime.end.p0(i64 4, ptr %169) #11
  br label %7613

7613:                                             ; preds = %7612
  br label %7614

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

7615:                                             ; No predecessors!
  br label %7616

7616:                                             ; preds = %7615
  br label %7617

7617:                                             ; preds = %7616, %7557
  br label %7618

7618:                                             ; preds = %7617
  br label %7619

7619:                                             ; preds = %7618
  call void @llvm.lifetime.start.p0(i64 8, ptr %170) #11
  store i64 0, ptr %170, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 22, ptr %171) #11
  call void @llvm.memset.p0.i64(ptr align 16 %171, i8 0, i64 22, i1 false)
  br label %7620

7620:                                             ; preds = %7619
  %7621 = load i32, ptr @test_count, align 4, !tbaa !5
  %7622 = add nsw i32 %7621, 1
  store i32 %7622, ptr @test_count, align 4, !tbaa !5
  %7623 = load ptr, ptr %161, align 8, !tbaa !9
  %7624 = load ptr, ptr %164, align 8, !tbaa !9
  %7625 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %7623, ptr noundef %7624)
  %7626 = icmp eq i32 %7625, -1
  br i1 %7626, label %7627, label %7680

7627:                                             ; preds = %7620
  br label %7628

7628:                                             ; preds = %7627
  br label %7629

7629:                                             ; preds = %7628
  call void @llvm.lifetime.start.p0(i64 4, ptr %172) #11
  %7630 = call ptr @__errno_location() #12
  %7631 = load i32, ptr %7630, align 4, !tbaa !5
  store i32 %7631, ptr %172, align 4, !tbaa !5
  %7632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7633 = call i32 @s2n_print_stacktrace(ptr noundef %7632)
  %7634 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7635 = trunc i8 %7634 to i1
  br i1 %7635, label %7636, label %7658

7636:                                             ; preds = %7629
  %7637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7638 = call i32 @fileno(ptr noundef %7637) #11
  %7639 = call i32 @isatty(i32 noundef %7638) #11
  %7640 = icmp ne i32 %7639, 0
  br i1 %7640, label %7641, label %7658

7641:                                             ; preds = %7636
  %7642 = load i32, ptr %172, align 4, !tbaa !5
  %7643 = call ptr @__errno_location() #12
  store i32 %7642, ptr %7643, align 4, !tbaa !5
  %7644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7645 = load i32, ptr @test_count, align 4, !tbaa !5
  %7646 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7647 = load i32, ptr %7646, align 4, !tbaa !5
  %7648 = call ptr @s2n_strerror(i32 noundef %7647, ptr noundef @.str.4)
  %7649 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7650 = load i32, ptr %7649, align 4, !tbaa !5
  %7651 = call ptr @s2n_strerror_debug(i32 noundef %7650, ptr noundef @.str.4)
  %7652 = call ptr @__errno_location() #12
  %7653 = load i32, ptr %7652, align 4, !tbaa !5
  %7654 = call ptr @strerror(i32 noundef %7653) #11
  %7655 = call ptr @__errno_location() #12
  %7656 = load i32, ptr %7655, align 4, !tbaa !5
  %7657 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7644, ptr noundef @.str.2, i32 noundef %7645, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 298, ptr noundef %7648, ptr noundef %7651, ptr noundef %7654, i32 noundef %7656) #11
  br label %7675

7658:                                             ; preds = %7636, %7629
  %7659 = load i32, ptr %172, align 4, !tbaa !5
  %7660 = call ptr @__errno_location() #12
  store i32 %7659, ptr %7660, align 4, !tbaa !5
  %7661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7662 = load i32, ptr @test_count, align 4, !tbaa !5
  %7663 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7664 = load i32, ptr %7663, align 4, !tbaa !5
  %7665 = call ptr @s2n_strerror(i32 noundef %7664, ptr noundef @.str.4)
  %7666 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7667 = load i32, ptr %7666, align 4, !tbaa !5
  %7668 = call ptr @s2n_strerror_debug(i32 noundef %7667, ptr noundef @.str.4)
  %7669 = call ptr @__errno_location() #12
  %7670 = load i32, ptr %7669, align 4, !tbaa !5
  %7671 = call ptr @strerror(i32 noundef %7670) #11
  %7672 = call ptr @__errno_location() #12
  %7673 = load i32, ptr %7672, align 4, !tbaa !5
  %7674 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7661, ptr noundef @.str.5, i32 noundef %7662, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 298, ptr noundef %7665, ptr noundef %7668, ptr noundef %7671, i32 noundef %7673) #11
  br label %7675

7675:                                             ; preds = %7658, %7641
  call void @llvm.lifetime.end.p0(i64 4, ptr %172) #11
  br label %7676

7676:                                             ; preds = %7675
  br label %7677

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

7678:                                             ; No predecessors!
  br label %7679

7679:                                             ; preds = %7678
  br label %7680

7680:                                             ; preds = %7679, %7620
  br label %7681

7681:                                             ; preds = %7680
  br label %7682

7682:                                             ; preds = %7681
  br label %7683

7683:                                             ; preds = %7682
  %7684 = load i32, ptr @test_count, align 4, !tbaa !5
  %7685 = add nsw i32 %7684, 1
  store i32 %7685, ptr @test_count, align 4, !tbaa !5
  %7686 = load ptr, ptr %164, align 8, !tbaa !9
  %7687 = call i32 @s2n_renegotiate_wipe(ptr noundef %7686)
  %7688 = icmp eq i32 %7687, -1
  br i1 %7688, label %7689, label %7742

7689:                                             ; preds = %7683
  br label %7690

7690:                                             ; preds = %7689
  br label %7691

7691:                                             ; preds = %7690
  call void @llvm.lifetime.start.p0(i64 4, ptr %173) #11
  %7692 = call ptr @__errno_location() #12
  %7693 = load i32, ptr %7692, align 4, !tbaa !5
  store i32 %7693, ptr %173, align 4, !tbaa !5
  %7694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7695 = call i32 @s2n_print_stacktrace(ptr noundef %7694)
  %7696 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7697 = trunc i8 %7696 to i1
  br i1 %7697, label %7698, label %7720

7698:                                             ; preds = %7691
  %7699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7700 = call i32 @fileno(ptr noundef %7699) #11
  %7701 = call i32 @isatty(i32 noundef %7700) #11
  %7702 = icmp ne i32 %7701, 0
  br i1 %7702, label %7703, label %7720

7703:                                             ; preds = %7698
  %7704 = load i32, ptr %173, align 4, !tbaa !5
  %7705 = call ptr @__errno_location() #12
  store i32 %7704, ptr %7705, align 4, !tbaa !5
  %7706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7707 = load i32, ptr @test_count, align 4, !tbaa !5
  %7708 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7709 = load i32, ptr %7708, align 4, !tbaa !5
  %7710 = call ptr @s2n_strerror(i32 noundef %7709, ptr noundef @.str.4)
  %7711 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7712 = load i32, ptr %7711, align 4, !tbaa !5
  %7713 = call ptr @s2n_strerror_debug(i32 noundef %7712, ptr noundef @.str.4)
  %7714 = call ptr @__errno_location() #12
  %7715 = load i32, ptr %7714, align 4, !tbaa !5
  %7716 = call ptr @strerror(i32 noundef %7715) #11
  %7717 = call ptr @__errno_location() #12
  %7718 = load i32, ptr %7717, align 4, !tbaa !5
  %7719 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7706, ptr noundef @.str.2, i32 noundef %7707, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 299, ptr noundef %7710, ptr noundef %7713, ptr noundef %7716, i32 noundef %7718) #11
  br label %7737

7720:                                             ; preds = %7698, %7691
  %7721 = load i32, ptr %173, align 4, !tbaa !5
  %7722 = call ptr @__errno_location() #12
  store i32 %7721, ptr %7722, align 4, !tbaa !5
  %7723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7724 = load i32, ptr @test_count, align 4, !tbaa !5
  %7725 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7726 = load i32, ptr %7725, align 4, !tbaa !5
  %7727 = call ptr @s2n_strerror(i32 noundef %7726, ptr noundef @.str.4)
  %7728 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7729 = load i32, ptr %7728, align 4, !tbaa !5
  %7730 = call ptr @s2n_strerror_debug(i32 noundef %7729, ptr noundef @.str.4)
  %7731 = call ptr @__errno_location() #12
  %7732 = load i32, ptr %7731, align 4, !tbaa !5
  %7733 = call ptr @strerror(i32 noundef %7732) #11
  %7734 = call ptr @__errno_location() #12
  %7735 = load i32, ptr %7734, align 4, !tbaa !5
  %7736 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7723, ptr noundef @.str.5, i32 noundef %7724, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 299, ptr noundef %7727, ptr noundef %7730, ptr noundef %7733, i32 noundef %7735) #11
  br label %7737

7737:                                             ; preds = %7720, %7703
  call void @llvm.lifetime.end.p0(i64 4, ptr %173) #11
  br label %7738

7738:                                             ; preds = %7737
  br label %7739

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

7740:                                             ; No predecessors!
  br label %7741

7741:                                             ; preds = %7740
  br label %7742

7742:                                             ; preds = %7741, %7683
  br label %7743

7743:                                             ; preds = %7742
  br label %7744

7744:                                             ; preds = %7743
  br label %7745

7745:                                             ; preds = %7744
  %7746 = load i32, ptr @test_count, align 4, !tbaa !5
  %7747 = add nsw i32 %7746, 1
  store i32 %7747, ptr @test_count, align 4, !tbaa !5
  %7748 = load ptr, ptr %161, align 8, !tbaa !9
  %7749 = call i32 @s2n_renegotiate_wipe(ptr noundef %7748)
  %7750 = icmp eq i32 %7749, -1
  br i1 %7750, label %7751, label %7804

7751:                                             ; preds = %7745
  br label %7752

7752:                                             ; preds = %7751
  br label %7753

7753:                                             ; preds = %7752
  call void @llvm.lifetime.start.p0(i64 4, ptr %174) #11
  %7754 = call ptr @__errno_location() #12
  %7755 = load i32, ptr %7754, align 4, !tbaa !5
  store i32 %7755, ptr %174, 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 %174, 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.24, ptr noundef @.str.1, i32 noundef 300, ptr noundef %7772, ptr noundef %7775, ptr noundef %7778, i32 noundef %7780) #11
  br label %7799

7782:                                             ; preds = %7760, %7753
  %7783 = load i32, ptr %174, 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.24, ptr noundef @.str.1, i32 noundef 300, 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 %174) #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, %7745
  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 = load i32, ptr @test_count, align 4, !tbaa !5
  %7811 = add nsw i32 %7810, 1
  store i32 %7811, ptr @test_count, align 4, !tbaa !5
  %7812 = load ptr, ptr %164, align 8, !tbaa !9
  %7813 = getelementptr inbounds [22 x i8], ptr %171, i64 0, i64 0
  %7814 = call i32 @s2n_renegotiate(ptr noundef %7812, ptr noundef %7813, i64 noundef 22, ptr noundef %170, ptr noundef %17)
  %7815 = icmp eq i32 %7814, -1
  br i1 %7815, label %7869, label %7816

7816:                                             ; preds = %7809
  br label %7817

7817:                                             ; preds = %7816
  br label %7818

7818:                                             ; preds = %7817
  call void @llvm.lifetime.start.p0(i64 4, ptr %175) #11
  %7819 = call ptr @__errno_location() #12
  %7820 = load i32, ptr %7819, align 4, !tbaa !5
  store i32 %7820, ptr %175, align 4, !tbaa !5
  %7821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7822 = call i32 @s2n_print_stacktrace(ptr noundef %7821)
  %7823 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7824 = trunc i8 %7823 to i1
  br i1 %7824, label %7825, label %7847

7825:                                             ; preds = %7818
  %7826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7827 = call i32 @fileno(ptr noundef %7826) #11
  %7828 = call i32 @isatty(i32 noundef %7827) #11
  %7829 = icmp ne i32 %7828, 0
  br i1 %7829, label %7830, label %7847

7830:                                             ; preds = %7825
  %7831 = load i32, ptr %175, align 4, !tbaa !5
  %7832 = call ptr @__errno_location() #12
  store i32 %7831, ptr %7832, align 4, !tbaa !5
  %7833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7834 = load i32, ptr @test_count, align 4, !tbaa !5
  %7835 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7836 = load i32, ptr %7835, align 4, !tbaa !5
  %7837 = call ptr @s2n_strerror(i32 noundef %7836, ptr noundef @.str.4)
  %7838 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7839 = load i32, ptr %7838, align 4, !tbaa !5
  %7840 = call ptr @s2n_strerror_debug(i32 noundef %7839, ptr noundef @.str.4)
  %7841 = call ptr @__errno_location() #12
  %7842 = load i32, ptr %7841, align 4, !tbaa !5
  %7843 = call ptr @strerror(i32 noundef %7842) #11
  %7844 = call ptr @__errno_location() #12
  %7845 = load i32, ptr %7844, align 4, !tbaa !5
  %7846 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7833, ptr noundef @.str.2, i32 noundef %7834, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 304, ptr noundef %7837, ptr noundef %7840, ptr noundef %7843, i32 noundef %7845) #11
  br label %7864

7847:                                             ; preds = %7825, %7818
  %7848 = load i32, ptr %175, align 4, !tbaa !5
  %7849 = call ptr @__errno_location() #12
  store i32 %7848, ptr %7849, align 4, !tbaa !5
  %7850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7851 = load i32, ptr @test_count, align 4, !tbaa !5
  %7852 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7853 = load i32, ptr %7852, align 4, !tbaa !5
  %7854 = call ptr @s2n_strerror(i32 noundef %7853, ptr noundef @.str.4)
  %7855 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7856 = load i32, ptr %7855, align 4, !tbaa !5
  %7857 = call ptr @s2n_strerror_debug(i32 noundef %7856, ptr noundef @.str.4)
  %7858 = call ptr @__errno_location() #12
  %7859 = load i32, ptr %7858, align 4, !tbaa !5
  %7860 = call ptr @strerror(i32 noundef %7859) #11
  %7861 = call ptr @__errno_location() #12
  %7862 = load i32, ptr %7861, align 4, !tbaa !5
  %7863 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7850, ptr noundef @.str.5, i32 noundef %7851, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 304, ptr noundef %7854, ptr noundef %7857, ptr noundef %7860, i32 noundef %7862) #11
  br label %7864

7864:                                             ; preds = %7847, %7830
  call void @llvm.lifetime.end.p0(i64 4, ptr %175) #11
  br label %7865

7865:                                             ; preds = %7864
  br label %7866

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

7867:                                             ; No predecessors!
  br label %7868

7868:                                             ; preds = %7867
  br label %7869

7869:                                             ; preds = %7868, %7809
  br label %7870

7870:                                             ; preds = %7869
  br label %7871

7871:                                             ; preds = %7870
  br label %7872

7872:                                             ; preds = %7871
  %7873 = load i32, ptr @test_count, align 4, !tbaa !5
  %7874 = add nsw i32 %7873, 1
  store i32 %7874, ptr @test_count, align 4, !tbaa !5
  %7875 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7876 = load i32, ptr %7875, align 4, !tbaa !5
  %7877 = icmp eq i32 %7876, 201326592
  br i1 %7877, label %7931, label %7878

7878:                                             ; preds = %7872
  br label %7879

7879:                                             ; preds = %7878
  br label %7880

7880:                                             ; preds = %7879
  call void @llvm.lifetime.start.p0(i64 4, ptr %176) #11
  %7881 = call ptr @__errno_location() #12
  %7882 = load i32, ptr %7881, align 4, !tbaa !5
  store i32 %7882, ptr %176, align 4, !tbaa !5
  %7883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7884 = call i32 @s2n_print_stacktrace(ptr noundef %7883)
  %7885 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7886 = trunc i8 %7885 to i1
  br i1 %7886, label %7887, label %7909

7887:                                             ; preds = %7880
  %7888 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7889 = call i32 @fileno(ptr noundef %7888) #11
  %7890 = call i32 @isatty(i32 noundef %7889) #11
  %7891 = icmp ne i32 %7890, 0
  br i1 %7891, label %7892, label %7909

7892:                                             ; preds = %7887
  %7893 = load i32, ptr %176, align 4, !tbaa !5
  %7894 = call ptr @__errno_location() #12
  store i32 %7893, ptr %7894, align 4, !tbaa !5
  %7895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7896 = load i32, ptr @test_count, align 4, !tbaa !5
  %7897 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7898 = load i32, ptr %7897, align 4, !tbaa !5
  %7899 = call ptr @s2n_strerror(i32 noundef %7898, ptr noundef @.str.4)
  %7900 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7901 = load i32, ptr %7900, align 4, !tbaa !5
  %7902 = call ptr @s2n_strerror_debug(i32 noundef %7901, ptr noundef @.str.4)
  %7903 = call ptr @__errno_location() #12
  %7904 = load i32, ptr %7903, align 4, !tbaa !5
  %7905 = call ptr @strerror(i32 noundef %7904) #11
  %7906 = call ptr @__errno_location() #12
  %7907 = load i32, ptr %7906, align 4, !tbaa !5
  %7908 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7895, ptr noundef @.str.2, i32 noundef %7896, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 304, ptr noundef %7899, ptr noundef %7902, ptr noundef %7905, i32 noundef %7907) #11
  br label %7926

7909:                                             ; preds = %7887, %7880
  %7910 = load i32, ptr %176, align 4, !tbaa !5
  %7911 = call ptr @__errno_location() #12
  store i32 %7910, ptr %7911, align 4, !tbaa !5
  %7912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7913 = load i32, ptr @test_count, align 4, !tbaa !5
  %7914 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7915 = load i32, ptr %7914, align 4, !tbaa !5
  %7916 = call ptr @s2n_strerror(i32 noundef %7915, ptr noundef @.str.4)
  %7917 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7918 = load i32, ptr %7917, align 4, !tbaa !5
  %7919 = call ptr @s2n_strerror_debug(i32 noundef %7918, ptr noundef @.str.4)
  %7920 = call ptr @__errno_location() #12
  %7921 = load i32, ptr %7920, align 4, !tbaa !5
  %7922 = call ptr @strerror(i32 noundef %7921) #11
  %7923 = call ptr @__errno_location() #12
  %7924 = load i32, ptr %7923, align 4, !tbaa !5
  %7925 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7912, ptr noundef @.str.5, i32 noundef %7913, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 304, ptr noundef %7916, ptr noundef %7919, ptr noundef %7922, i32 noundef %7924) #11
  br label %7926

7926:                                             ; preds = %7909, %7892
  call void @llvm.lifetime.end.p0(i64 4, ptr %176) #11
  br label %7927

7927:                                             ; preds = %7926
  br label %7928

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

7929:                                             ; No predecessors!
  br label %7930

7930:                                             ; preds = %7929
  br label %7931

7931:                                             ; preds = %7930, %7872
  br label %7932

7932:                                             ; preds = %7931
  br label %7933

7933:                                             ; preds = %7932
  br label %7934

7934:                                             ; preds = %7933
  %7935 = load i32, ptr @test_count, align 4, !tbaa !5
  %7936 = add nsw i32 %7935, 1
  store i32 %7936, ptr @test_count, align 4, !tbaa !5
  %7937 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7938 = load i32, ptr %7937, align 4, !tbaa !5
  %7939 = call ptr @s2n_strerror_debug(i32 noundef %7938, ptr noundef @.str.4)
  %7940 = icmp eq ptr %7939, null
  br i1 %7940, label %7941, label %7994

7941:                                             ; preds = %7934
  br label %7942

7942:                                             ; preds = %7941
  br label %7943

7943:                                             ; preds = %7942
  call void @llvm.lifetime.start.p0(i64 4, ptr %177) #11
  %7944 = call ptr @__errno_location() #12
  %7945 = load i32, ptr %7944, align 4, !tbaa !5
  store i32 %7945, ptr %177, align 4, !tbaa !5
  %7946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7947 = call i32 @s2n_print_stacktrace(ptr noundef %7946)
  %7948 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7949 = trunc i8 %7948 to i1
  br i1 %7949, label %7950, label %7972

7950:                                             ; preds = %7943
  %7951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7952 = call i32 @fileno(ptr noundef %7951) #11
  %7953 = call i32 @isatty(i32 noundef %7952) #11
  %7954 = icmp ne i32 %7953, 0
  br i1 %7954, label %7955, label %7972

7955:                                             ; preds = %7950
  %7956 = load i32, ptr %177, align 4, !tbaa !5
  %7957 = call ptr @__errno_location() #12
  store i32 %7956, ptr %7957, align 4, !tbaa !5
  %7958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7959 = load i32, ptr @test_count, align 4, !tbaa !5
  %7960 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7961 = load i32, ptr %7960, align 4, !tbaa !5
  %7962 = call ptr @s2n_strerror(i32 noundef %7961, ptr noundef @.str.4)
  %7963 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7964 = load i32, ptr %7963, align 4, !tbaa !5
  %7965 = call ptr @s2n_strerror_debug(i32 noundef %7964, ptr noundef @.str.4)
  %7966 = call ptr @__errno_location() #12
  %7967 = load i32, ptr %7966, align 4, !tbaa !5
  %7968 = call ptr @strerror(i32 noundef %7967) #11
  %7969 = call ptr @__errno_location() #12
  %7970 = load i32, ptr %7969, align 4, !tbaa !5
  %7971 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7958, ptr noundef @.str.2, i32 noundef %7959, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 304, ptr noundef %7962, ptr noundef %7965, ptr noundef %7968, i32 noundef %7970) #11
  br label %7989

7972:                                             ; preds = %7950, %7943
  %7973 = load i32, ptr %177, align 4, !tbaa !5
  %7974 = call ptr @__errno_location() #12
  store i32 %7973, ptr %7974, align 4, !tbaa !5
  %7975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7976 = load i32, ptr @test_count, align 4, !tbaa !5
  %7977 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7978 = load i32, ptr %7977, align 4, !tbaa !5
  %7979 = call ptr @s2n_strerror(i32 noundef %7978, ptr noundef @.str.4)
  %7980 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7981 = load i32, ptr %7980, align 4, !tbaa !5
  %7982 = call ptr @s2n_strerror_debug(i32 noundef %7981, ptr noundef @.str.4)
  %7983 = call ptr @__errno_location() #12
  %7984 = load i32, ptr %7983, align 4, !tbaa !5
  %7985 = call ptr @strerror(i32 noundef %7984) #11
  %7986 = call ptr @__errno_location() #12
  %7987 = load i32, ptr %7986, align 4, !tbaa !5
  %7988 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7975, ptr noundef @.str.5, i32 noundef %7976, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 304, ptr noundef %7979, ptr noundef %7982, ptr noundef %7985, i32 noundef %7987) #11
  br label %7989

7989:                                             ; preds = %7972, %7955
  call void @llvm.lifetime.end.p0(i64 4, ptr %177) #11
  br label %7990

7990:                                             ; preds = %7989
  br label %7991

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

7992:                                             ; No predecessors!
  br label %7993

7993:                                             ; preds = %7992
  br label %7994

7994:                                             ; preds = %7993, %7934
  br label %7995

7995:                                             ; preds = %7994
  br label %7996

7996:                                             ; preds = %7995
  br label %7997

7997:                                             ; preds = %7996
  br label %7998

7998:                                             ; preds = %7997
  br label %7999

7999:                                             ; preds = %7998
  %8000 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %8000, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %8001 = call ptr @__errno_location() #12
  store i32 0, ptr %8001, align 4, !tbaa !5
  br label %8002

8002:                                             ; preds = %7999
  br label %8003

8003:                                             ; preds = %8002
  br label %8004

8004:                                             ; preds = %8003
  br label %8005

8005:                                             ; preds = %8004
  br label %8006

8006:                                             ; preds = %8005
  %8007 = load i32, ptr @test_count, align 4, !tbaa !5
  %8008 = add nsw i32 %8007, 1
  store i32 %8008, ptr @test_count, align 4, !tbaa !5
  %8009 = load ptr, ptr %164, align 8, !tbaa !9
  %8010 = call i32 @s2n_conn_get_current_message_type(ptr noundef %8009)
  %8011 = icmp eq i32 %8010, 1
  br i1 %8011, label %8065, label %8012

8012:                                             ; preds = %8006
  br label %8013

8013:                                             ; preds = %8012
  br label %8014

8014:                                             ; preds = %8013
  call void @llvm.lifetime.start.p0(i64 4, ptr %178) #11
  %8015 = call ptr @__errno_location() #12
  %8016 = load i32, ptr %8015, align 4, !tbaa !5
  store i32 %8016, ptr %178, align 4, !tbaa !5
  %8017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8018 = call i32 @s2n_print_stacktrace(ptr noundef %8017)
  %8019 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8020 = trunc i8 %8019 to i1
  br i1 %8020, label %8021, label %8043

8021:                                             ; preds = %8014
  %8022 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8023 = call i32 @fileno(ptr noundef %8022) #11
  %8024 = call i32 @isatty(i32 noundef %8023) #11
  %8025 = icmp ne i32 %8024, 0
  br i1 %8025, label %8026, label %8043

8026:                                             ; preds = %8021
  %8027 = load i32, ptr %178, align 4, !tbaa !5
  %8028 = call ptr @__errno_location() #12
  store i32 %8027, ptr %8028, align 4, !tbaa !5
  %8029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8030 = load i32, ptr @test_count, align 4, !tbaa !5
  %8031 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8032 = load i32, ptr %8031, align 4, !tbaa !5
  %8033 = call ptr @s2n_strerror(i32 noundef %8032, ptr noundef @.str.4)
  %8034 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8035 = load i32, ptr %8034, align 4, !tbaa !5
  %8036 = call ptr @s2n_strerror_debug(i32 noundef %8035, ptr noundef @.str.4)
  %8037 = call ptr @__errno_location() #12
  %8038 = load i32, ptr %8037, align 4, !tbaa !5
  %8039 = call ptr @strerror(i32 noundef %8038) #11
  %8040 = call ptr @__errno_location() #12
  %8041 = load i32, ptr %8040, align 4, !tbaa !5
  %8042 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8029, ptr noundef @.str.2, i32 noundef %8030, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 305, ptr noundef %8033, ptr noundef %8036, ptr noundef %8039, i32 noundef %8041) #11
  br label %8060

8043:                                             ; preds = %8021, %8014
  %8044 = load i32, ptr %178, align 4, !tbaa !5
  %8045 = call ptr @__errno_location() #12
  store i32 %8044, ptr %8045, align 4, !tbaa !5
  %8046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8047 = load i32, ptr @test_count, align 4, !tbaa !5
  %8048 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8049 = load i32, ptr %8048, align 4, !tbaa !5
  %8050 = call ptr @s2n_strerror(i32 noundef %8049, ptr noundef @.str.4)
  %8051 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8052 = load i32, ptr %8051, align 4, !tbaa !5
  %8053 = call ptr @s2n_strerror_debug(i32 noundef %8052, ptr noundef @.str.4)
  %8054 = call ptr @__errno_location() #12
  %8055 = load i32, ptr %8054, align 4, !tbaa !5
  %8056 = call ptr @strerror(i32 noundef %8055) #11
  %8057 = call ptr @__errno_location() #12
  %8058 = load i32, ptr %8057, align 4, !tbaa !5
  %8059 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8046, ptr noundef @.str.5, i32 noundef %8047, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 305, ptr noundef %8050, ptr noundef %8053, ptr noundef %8056, i32 noundef %8058) #11
  br label %8060

8060:                                             ; preds = %8043, %8026
  call void @llvm.lifetime.end.p0(i64 4, ptr %178) #11
  br label %8061

8061:                                             ; preds = %8060
  br label %8062

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

8063:                                             ; No predecessors!
  br label %8064

8064:                                             ; preds = %8063
  br label %8065

8065:                                             ; preds = %8064, %8006
  br label %8066

8066:                                             ; preds = %8065
  br label %8067

8067:                                             ; preds = %8066
  br label %8068

8068:                                             ; preds = %8067
  %8069 = load i32, ptr @test_count, align 4, !tbaa !5
  %8070 = add nsw i32 %8069, 1
  store i32 %8070, ptr @test_count, align 4, !tbaa !5
  %8071 = load i32, ptr %17, align 4, !tbaa !5
  %8072 = icmp eq i32 %8071, 1
  br i1 %8072, label %8126, label %8073

8073:                                             ; preds = %8068
  br label %8074

8074:                                             ; preds = %8073
  br label %8075

8075:                                             ; preds = %8074
  call void @llvm.lifetime.start.p0(i64 4, ptr %179) #11
  %8076 = call ptr @__errno_location() #12
  %8077 = load i32, ptr %8076, align 4, !tbaa !5
  store i32 %8077, ptr %179, align 4, !tbaa !5
  %8078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8079 = call i32 @s2n_print_stacktrace(ptr noundef %8078)
  %8080 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8081 = trunc i8 %8080 to i1
  br i1 %8081, label %8082, label %8104

8082:                                             ; preds = %8075
  %8083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8084 = call i32 @fileno(ptr noundef %8083) #11
  %8085 = call i32 @isatty(i32 noundef %8084) #11
  %8086 = icmp ne i32 %8085, 0
  br i1 %8086, label %8087, label %8104

8087:                                             ; preds = %8082
  %8088 = load i32, ptr %179, align 4, !tbaa !5
  %8089 = call ptr @__errno_location() #12
  store i32 %8088, ptr %8089, align 4, !tbaa !5
  %8090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8091 = load i32, ptr @test_count, align 4, !tbaa !5
  %8092 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8093 = load i32, ptr %8092, align 4, !tbaa !5
  %8094 = call ptr @s2n_strerror(i32 noundef %8093, ptr noundef @.str.4)
  %8095 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8096 = load i32, ptr %8095, align 4, !tbaa !5
  %8097 = call ptr @s2n_strerror_debug(i32 noundef %8096, ptr noundef @.str.4)
  %8098 = call ptr @__errno_location() #12
  %8099 = load i32, ptr %8098, align 4, !tbaa !5
  %8100 = call ptr @strerror(i32 noundef %8099) #11
  %8101 = call ptr @__errno_location() #12
  %8102 = load i32, ptr %8101, align 4, !tbaa !5
  %8103 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8090, ptr noundef @.str.2, i32 noundef %8091, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 306, ptr noundef %8094, ptr noundef %8097, ptr noundef %8100, i32 noundef %8102) #11
  br label %8121

8104:                                             ; preds = %8082, %8075
  %8105 = load i32, ptr %179, align 4, !tbaa !5
  %8106 = call ptr @__errno_location() #12
  store i32 %8105, ptr %8106, align 4, !tbaa !5
  %8107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8108 = load i32, ptr @test_count, align 4, !tbaa !5
  %8109 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8110 = load i32, ptr %8109, align 4, !tbaa !5
  %8111 = call ptr @s2n_strerror(i32 noundef %8110, ptr noundef @.str.4)
  %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_debug(i32 noundef %8113, ptr noundef @.str.4)
  %8115 = call ptr @__errno_location() #12
  %8116 = load i32, ptr %8115, align 4, !tbaa !5
  %8117 = call ptr @strerror(i32 noundef %8116) #11
  %8118 = call ptr @__errno_location() #12
  %8119 = load i32, ptr %8118, align 4, !tbaa !5
  %8120 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8107, ptr noundef @.str.5, i32 noundef %8108, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 306, ptr noundef %8111, ptr noundef %8114, ptr noundef %8117, i32 noundef %8119) #11
  br label %8121

8121:                                             ; preds = %8104, %8087
  call void @llvm.lifetime.end.p0(i64 4, ptr %179) #11
  br label %8122

8122:                                             ; preds = %8121
  br label %8123

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

8124:                                             ; No predecessors!
  br label %8125

8125:                                             ; preds = %8124
  br label %8126

8126:                                             ; preds = %8125, %8068
  br label %8127

8127:                                             ; preds = %8126
  br label %8128

8128:                                             ; preds = %8127
  br label %8129

8129:                                             ; preds = %8128
  %8130 = load i32, ptr @test_count, align 4, !tbaa !5
  %8131 = add nsw i32 %8130, 1
  store i32 %8131, ptr @test_count, align 4, !tbaa !5
  %8132 = load ptr, ptr %161, align 8, !tbaa !9
  %8133 = call i32 @s2n_negotiate_until_message(ptr noundef %8132, ptr noundef %17, i32 noundef 1)
  %8134 = getelementptr inbounds %struct.s2n_result, ptr %180, i32 0, i32 0
  store i32 %8133, ptr %8134, align 4
  %8135 = getelementptr inbounds %struct.s2n_result, ptr %180, i32 0, i32 0
  %8136 = load i32, ptr %8135, align 4
  %8137 = call zeroext i1 @s2n_result_is_ok(i32 %8136)
  br i1 %8137, label %8191, label %8138

8138:                                             ; preds = %8129
  br label %8139

8139:                                             ; preds = %8138
  br label %8140

8140:                                             ; preds = %8139
  call void @llvm.lifetime.start.p0(i64 4, ptr %181) #11
  %8141 = call ptr @__errno_location() #12
  %8142 = load i32, ptr %8141, align 4, !tbaa !5
  store i32 %8142, ptr %181, align 4, !tbaa !5
  %8143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8144 = call i32 @s2n_print_stacktrace(ptr noundef %8143)
  %8145 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8146 = trunc i8 %8145 to i1
  br i1 %8146, label %8147, label %8169

8147:                                             ; preds = %8140
  %8148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8149 = call i32 @fileno(ptr noundef %8148) #11
  %8150 = call i32 @isatty(i32 noundef %8149) #11
  %8151 = icmp ne i32 %8150, 0
  br i1 %8151, label %8152, label %8169

8152:                                             ; preds = %8147
  %8153 = load i32, ptr %181, align 4, !tbaa !5
  %8154 = call ptr @__errno_location() #12
  store i32 %8153, ptr %8154, align 4, !tbaa !5
  %8155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8156 = load i32, ptr @test_count, align 4, !tbaa !5
  %8157 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8158 = load i32, ptr %8157, align 4, !tbaa !5
  %8159 = call ptr @s2n_strerror(i32 noundef %8158, ptr noundef @.str.4)
  %8160 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8161 = load i32, ptr %8160, align 4, !tbaa !5
  %8162 = call ptr @s2n_strerror_debug(i32 noundef %8161, ptr noundef @.str.4)
  %8163 = call ptr @__errno_location() #12
  %8164 = load i32, ptr %8163, align 4, !tbaa !5
  %8165 = call ptr @strerror(i32 noundef %8164) #11
  %8166 = call ptr @__errno_location() #12
  %8167 = load i32, ptr %8166, align 4, !tbaa !5
  %8168 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8155, ptr noundef @.str.2, i32 noundef %8156, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 309, ptr noundef %8159, ptr noundef %8162, ptr noundef %8165, i32 noundef %8167) #11
  br label %8186

8169:                                             ; preds = %8147, %8140
  %8170 = load i32, ptr %181, align 4, !tbaa !5
  %8171 = call ptr @__errno_location() #12
  store i32 %8170, ptr %8171, align 4, !tbaa !5
  %8172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8173 = load i32, ptr @test_count, align 4, !tbaa !5
  %8174 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8175 = load i32, ptr %8174, align 4, !tbaa !5
  %8176 = call ptr @s2n_strerror(i32 noundef %8175, ptr noundef @.str.4)
  %8177 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8178 = load i32, ptr %8177, align 4, !tbaa !5
  %8179 = call ptr @s2n_strerror_debug(i32 noundef %8178, ptr noundef @.str.4)
  %8180 = call ptr @__errno_location() #12
  %8181 = load i32, ptr %8180, align 4, !tbaa !5
  %8182 = call ptr @strerror(i32 noundef %8181) #11
  %8183 = call ptr @__errno_location() #12
  %8184 = load i32, ptr %8183, align 4, !tbaa !5
  %8185 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8172, ptr noundef @.str.5, i32 noundef %8173, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 309, ptr noundef %8176, ptr noundef %8179, ptr noundef %8182, i32 noundef %8184) #11
  br label %8186

8186:                                             ; preds = %8169, %8152
  call void @llvm.lifetime.end.p0(i64 4, ptr %181) #11
  br label %8187

8187:                                             ; preds = %8186
  br label %8188

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

8189:                                             ; No predecessors!
  br label %8190

8190:                                             ; preds = %8189
  br label %8191

8191:                                             ; preds = %8190, %8129
  br label %8192

8192:                                             ; preds = %8191
  br label %8193

8193:                                             ; preds = %8192
  %8194 = load ptr, ptr %161, align 8, !tbaa !9
  %8195 = getelementptr inbounds %struct.s2n_connection, ptr %8194, i32 0, i32 52
  %8196 = getelementptr inbounds %struct.s2n_handshake, ptr %8195, i32 0, i32 6
  store i32 3, ptr %8196, align 4, !tbaa !21
  %8197 = load ptr, ptr %161, align 8, !tbaa !9
  %8198 = getelementptr inbounds %struct.s2n_connection, ptr %8197, i32 0, i32 52
  %8199 = getelementptr inbounds %struct.s2n_handshake, ptr %8198, i32 0, i32 7
  store i32 3, ptr %8199, align 8, !tbaa !47
  br label %8200

8200:                                             ; preds = %8193
  %8201 = load i32, ptr @test_count, align 4, !tbaa !5
  %8202 = add nsw i32 %8201, 1
  store i32 %8202, ptr @test_count, align 4, !tbaa !5
  %8203 = load ptr, ptr %161, align 8, !tbaa !9
  %8204 = call i32 @s2n_conn_get_current_message_type(ptr noundef %8203)
  %8205 = icmp eq i32 %8204, 7
  br i1 %8205, label %8259, label %8206

8206:                                             ; preds = %8200
  br label %8207

8207:                                             ; preds = %8206
  br label %8208

8208:                                             ; preds = %8207
  call void @llvm.lifetime.start.p0(i64 4, ptr %182) #11
  %8209 = call ptr @__errno_location() #12
  %8210 = load i32, ptr %8209, align 4, !tbaa !5
  store i32 %8210, ptr %182, align 4, !tbaa !5
  %8211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8212 = call i32 @s2n_print_stacktrace(ptr noundef %8211)
  %8213 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8214 = trunc i8 %8213 to i1
  br i1 %8214, label %8215, label %8237

8215:                                             ; preds = %8208
  %8216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8217 = call i32 @fileno(ptr noundef %8216) #11
  %8218 = call i32 @isatty(i32 noundef %8217) #11
  %8219 = icmp ne i32 %8218, 0
  br i1 %8219, label %8220, label %8237

8220:                                             ; preds = %8215
  %8221 = load i32, ptr %182, align 4, !tbaa !5
  %8222 = call ptr @__errno_location() #12
  store i32 %8221, ptr %8222, align 4, !tbaa !5
  %8223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8224 = load i32, ptr @test_count, align 4, !tbaa !5
  %8225 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8226 = load i32, ptr %8225, align 4, !tbaa !5
  %8227 = call ptr @s2n_strerror(i32 noundef %8226, ptr noundef @.str.4)
  %8228 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8229 = load i32, ptr %8228, align 4, !tbaa !5
  %8230 = call ptr @s2n_strerror_debug(i32 noundef %8229, ptr noundef @.str.4)
  %8231 = call ptr @__errno_location() #12
  %8232 = load i32, ptr %8231, align 4, !tbaa !5
  %8233 = call ptr @strerror(i32 noundef %8232) #11
  %8234 = call ptr @__errno_location() #12
  %8235 = load i32, ptr %8234, align 4, !tbaa !5
  %8236 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8223, ptr noundef @.str.2, i32 noundef %8224, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 316, ptr noundef %8227, ptr noundef %8230, ptr noundef %8233, i32 noundef %8235) #11
  br label %8254

8237:                                             ; preds = %8215, %8208
  %8238 = load i32, ptr %182, align 4, !tbaa !5
  %8239 = call ptr @__errno_location() #12
  store i32 %8238, ptr %8239, align 4, !tbaa !5
  %8240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8241 = load i32, ptr @test_count, align 4, !tbaa !5
  %8242 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8243 = load i32, ptr %8242, align 4, !tbaa !5
  %8244 = call ptr @s2n_strerror(i32 noundef %8243, ptr noundef @.str.4)
  %8245 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8246 = load i32, ptr %8245, align 4, !tbaa !5
  %8247 = call ptr @s2n_strerror_debug(i32 noundef %8246, ptr noundef @.str.4)
  %8248 = call ptr @__errno_location() #12
  %8249 = load i32, ptr %8248, align 4, !tbaa !5
  %8250 = call ptr @strerror(i32 noundef %8249) #11
  %8251 = call ptr @__errno_location() #12
  %8252 = load i32, ptr %8251, align 4, !tbaa !5
  %8253 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8240, ptr noundef @.str.5, i32 noundef %8241, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 316, ptr noundef %8244, ptr noundef %8247, ptr noundef %8250, i32 noundef %8252) #11
  br label %8254

8254:                                             ; preds = %8237, %8220
  call void @llvm.lifetime.end.p0(i64 4, ptr %182) #11
  br label %8255

8255:                                             ; preds = %8254
  br label %8256

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

8257:                                             ; No predecessors!
  br label %8258

8258:                                             ; preds = %8257
  br label %8259

8259:                                             ; preds = %8258, %8200
  br label %8260

8260:                                             ; preds = %8259
  br label %8261

8261:                                             ; preds = %8260
  br label %8262

8262:                                             ; preds = %8261
  br label %8263

8263:                                             ; preds = %8262
  br label %8264

8264:                                             ; preds = %8263
  %8265 = load i32, ptr @test_count, align 4, !tbaa !5
  %8266 = add nsw i32 %8265, 1
  store i32 %8266, ptr @test_count, align 4, !tbaa !5
  %8267 = load ptr, ptr %161, align 8, !tbaa !9
  %8268 = call i32 @s2n_negotiate(ptr noundef %8267, ptr noundef %17)
  %8269 = icmp eq i32 %8268, -1
  br i1 %8269, label %8323, label %8270

8270:                                             ; preds = %8264
  br label %8271

8271:                                             ; preds = %8270
  br label %8272

8272:                                             ; preds = %8271
  call void @llvm.lifetime.start.p0(i64 4, ptr %183) #11
  %8273 = call ptr @__errno_location() #12
  %8274 = load i32, ptr %8273, align 4, !tbaa !5
  store i32 %8274, ptr %183, align 4, !tbaa !5
  %8275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8276 = call i32 @s2n_print_stacktrace(ptr noundef %8275)
  %8277 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8278 = trunc i8 %8277 to i1
  br i1 %8278, label %8279, label %8301

8279:                                             ; preds = %8272
  %8280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8281 = call i32 @fileno(ptr noundef %8280) #11
  %8282 = call i32 @isatty(i32 noundef %8281) #11
  %8283 = icmp ne i32 %8282, 0
  br i1 %8283, label %8284, label %8301

8284:                                             ; preds = %8279
  %8285 = load i32, ptr %183, align 4, !tbaa !5
  %8286 = call ptr @__errno_location() #12
  store i32 %8285, ptr %8286, align 4, !tbaa !5
  %8287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8288 = load i32, ptr @test_count, align 4, !tbaa !5
  %8289 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8290 = load i32, ptr %8289, align 4, !tbaa !5
  %8291 = call ptr @s2n_strerror(i32 noundef %8290, ptr noundef @.str.4)
  %8292 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8293 = load i32, ptr %8292, align 4, !tbaa !5
  %8294 = call ptr @s2n_strerror_debug(i32 noundef %8293, ptr noundef @.str.4)
  %8295 = call ptr @__errno_location() #12
  %8296 = load i32, ptr %8295, align 4, !tbaa !5
  %8297 = call ptr @strerror(i32 noundef %8296) #11
  %8298 = call ptr @__errno_location() #12
  %8299 = load i32, ptr %8298, align 4, !tbaa !5
  %8300 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8287, ptr noundef @.str.2, i32 noundef %8288, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 317, ptr noundef %8291, ptr noundef %8294, ptr noundef %8297, i32 noundef %8299) #11
  br label %8318

8301:                                             ; preds = %8279, %8272
  %8302 = load i32, ptr %183, align 4, !tbaa !5
  %8303 = call ptr @__errno_location() #12
  store i32 %8302, ptr %8303, align 4, !tbaa !5
  %8304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8305 = load i32, ptr @test_count, align 4, !tbaa !5
  %8306 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8307 = load i32, ptr %8306, align 4, !tbaa !5
  %8308 = call ptr @s2n_strerror(i32 noundef %8307, ptr noundef @.str.4)
  %8309 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8310 = load i32, ptr %8309, align 4, !tbaa !5
  %8311 = call ptr @s2n_strerror_debug(i32 noundef %8310, ptr noundef @.str.4)
  %8312 = call ptr @__errno_location() #12
  %8313 = load i32, ptr %8312, align 4, !tbaa !5
  %8314 = call ptr @strerror(i32 noundef %8313) #11
  %8315 = call ptr @__errno_location() #12
  %8316 = load i32, ptr %8315, align 4, !tbaa !5
  %8317 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8304, ptr noundef @.str.5, i32 noundef %8305, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 317, ptr noundef %8308, ptr noundef %8311, ptr noundef %8314, i32 noundef %8316) #11
  br label %8318

8318:                                             ; preds = %8301, %8284
  call void @llvm.lifetime.end.p0(i64 4, ptr %183) #11
  br label %8319

8319:                                             ; preds = %8318
  br label %8320

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

8321:                                             ; No predecessors!
  br label %8322

8322:                                             ; preds = %8321
  br label %8323

8323:                                             ; preds = %8322, %8264
  br label %8324

8324:                                             ; preds = %8323
  br label %8325

8325:                                             ; preds = %8324
  br label %8326

8326:                                             ; preds = %8325
  %8327 = load i32, ptr @test_count, align 4, !tbaa !5
  %8328 = add nsw i32 %8327, 1
  store i32 %8328, ptr @test_count, align 4, !tbaa !5
  %8329 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8330 = load i32, ptr %8329, align 4, !tbaa !5
  %8331 = icmp eq i32 %8330, 201326592
  br i1 %8331, label %8385, label %8332

8332:                                             ; preds = %8326
  br label %8333

8333:                                             ; preds = %8332
  br label %8334

8334:                                             ; preds = %8333
  call void @llvm.lifetime.start.p0(i64 4, ptr %184) #11
  %8335 = call ptr @__errno_location() #12
  %8336 = load i32, ptr %8335, align 4, !tbaa !5
  store i32 %8336, ptr %184, align 4, !tbaa !5
  %8337 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8338 = call i32 @s2n_print_stacktrace(ptr noundef %8337)
  %8339 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8340 = trunc i8 %8339 to i1
  br i1 %8340, label %8341, label %8363

8341:                                             ; preds = %8334
  %8342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8343 = call i32 @fileno(ptr noundef %8342) #11
  %8344 = call i32 @isatty(i32 noundef %8343) #11
  %8345 = icmp ne i32 %8344, 0
  br i1 %8345, label %8346, label %8363

8346:                                             ; preds = %8341
  %8347 = load i32, ptr %184, align 4, !tbaa !5
  %8348 = call ptr @__errno_location() #12
  store i32 %8347, ptr %8348, align 4, !tbaa !5
  %8349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8350 = load i32, ptr @test_count, align 4, !tbaa !5
  %8351 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8352 = load i32, ptr %8351, align 4, !tbaa !5
  %8353 = call ptr @s2n_strerror(i32 noundef %8352, ptr noundef @.str.4)
  %8354 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8355 = load i32, ptr %8354, align 4, !tbaa !5
  %8356 = call ptr @s2n_strerror_debug(i32 noundef %8355, ptr noundef @.str.4)
  %8357 = call ptr @__errno_location() #12
  %8358 = load i32, ptr %8357, align 4, !tbaa !5
  %8359 = call ptr @strerror(i32 noundef %8358) #11
  %8360 = call ptr @__errno_location() #12
  %8361 = load i32, ptr %8360, align 4, !tbaa !5
  %8362 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8349, ptr noundef @.str.2, i32 noundef %8350, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 317, ptr noundef %8353, ptr noundef %8356, ptr noundef %8359, i32 noundef %8361) #11
  br label %8380

8363:                                             ; preds = %8341, %8334
  %8364 = load i32, ptr %184, align 4, !tbaa !5
  %8365 = call ptr @__errno_location() #12
  store i32 %8364, ptr %8365, align 4, !tbaa !5
  %8366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8367 = load i32, ptr @test_count, align 4, !tbaa !5
  %8368 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8369 = load i32, ptr %8368, align 4, !tbaa !5
  %8370 = call ptr @s2n_strerror(i32 noundef %8369, ptr noundef @.str.4)
  %8371 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8372 = load i32, ptr %8371, align 4, !tbaa !5
  %8373 = call ptr @s2n_strerror_debug(i32 noundef %8372, ptr noundef @.str.4)
  %8374 = call ptr @__errno_location() #12
  %8375 = load i32, ptr %8374, align 4, !tbaa !5
  %8376 = call ptr @strerror(i32 noundef %8375) #11
  %8377 = call ptr @__errno_location() #12
  %8378 = load i32, ptr %8377, align 4, !tbaa !5
  %8379 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8366, ptr noundef @.str.5, i32 noundef %8367, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 317, ptr noundef %8370, ptr noundef %8373, ptr noundef %8376, i32 noundef %8378) #11
  br label %8380

8380:                                             ; preds = %8363, %8346
  call void @llvm.lifetime.end.p0(i64 4, ptr %184) #11
  br label %8381

8381:                                             ; preds = %8380
  br label %8382

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

8383:                                             ; No predecessors!
  br label %8384

8384:                                             ; preds = %8383
  br label %8385

8385:                                             ; preds = %8384, %8326
  br label %8386

8386:                                             ; preds = %8385
  br label %8387

8387:                                             ; preds = %8386
  br label %8388

8388:                                             ; preds = %8387
  %8389 = load i32, ptr @test_count, align 4, !tbaa !5
  %8390 = add nsw i32 %8389, 1
  store i32 %8390, ptr @test_count, align 4, !tbaa !5
  %8391 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8392 = load i32, ptr %8391, align 4, !tbaa !5
  %8393 = call ptr @s2n_strerror_debug(i32 noundef %8392, ptr noundef @.str.4)
  %8394 = icmp eq ptr %8393, null
  br i1 %8394, label %8395, label %8448

8395:                                             ; preds = %8388
  br label %8396

8396:                                             ; preds = %8395
  br label %8397

8397:                                             ; preds = %8396
  call void @llvm.lifetime.start.p0(i64 4, ptr %185) #11
  %8398 = call ptr @__errno_location() #12
  %8399 = load i32, ptr %8398, align 4, !tbaa !5
  store i32 %8399, ptr %185, align 4, !tbaa !5
  %8400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8401 = call i32 @s2n_print_stacktrace(ptr noundef %8400)
  %8402 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8403 = trunc i8 %8402 to i1
  br i1 %8403, label %8404, label %8426

8404:                                             ; preds = %8397
  %8405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8406 = call i32 @fileno(ptr noundef %8405) #11
  %8407 = call i32 @isatty(i32 noundef %8406) #11
  %8408 = icmp ne i32 %8407, 0
  br i1 %8408, label %8409, label %8426

8409:                                             ; preds = %8404
  %8410 = load i32, ptr %185, align 4, !tbaa !5
  %8411 = call ptr @__errno_location() #12
  store i32 %8410, ptr %8411, align 4, !tbaa !5
  %8412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8413 = load i32, ptr @test_count, align 4, !tbaa !5
  %8414 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8415 = load i32, ptr %8414, align 4, !tbaa !5
  %8416 = call ptr @s2n_strerror(i32 noundef %8415, ptr noundef @.str.4)
  %8417 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8418 = load i32, ptr %8417, align 4, !tbaa !5
  %8419 = call ptr @s2n_strerror_debug(i32 noundef %8418, ptr noundef @.str.4)
  %8420 = call ptr @__errno_location() #12
  %8421 = load i32, ptr %8420, align 4, !tbaa !5
  %8422 = call ptr @strerror(i32 noundef %8421) #11
  %8423 = call ptr @__errno_location() #12
  %8424 = load i32, ptr %8423, align 4, !tbaa !5
  %8425 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8412, ptr noundef @.str.2, i32 noundef %8413, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 317, ptr noundef %8416, ptr noundef %8419, ptr noundef %8422, i32 noundef %8424) #11
  br label %8443

8426:                                             ; preds = %8404, %8397
  %8427 = load i32, ptr %185, align 4, !tbaa !5
  %8428 = call ptr @__errno_location() #12
  store i32 %8427, ptr %8428, align 4, !tbaa !5
  %8429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8430 = load i32, ptr @test_count, align 4, !tbaa !5
  %8431 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8432 = load i32, ptr %8431, align 4, !tbaa !5
  %8433 = call ptr @s2n_strerror(i32 noundef %8432, ptr noundef @.str.4)
  %8434 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8435 = load i32, ptr %8434, align 4, !tbaa !5
  %8436 = call ptr @s2n_strerror_debug(i32 noundef %8435, ptr noundef @.str.4)
  %8437 = call ptr @__errno_location() #12
  %8438 = load i32, ptr %8437, align 4, !tbaa !5
  %8439 = call ptr @strerror(i32 noundef %8438) #11
  %8440 = call ptr @__errno_location() #12
  %8441 = load i32, ptr %8440, align 4, !tbaa !5
  %8442 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8429, ptr noundef @.str.5, i32 noundef %8430, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 317, ptr noundef %8433, ptr noundef %8436, ptr noundef %8439, i32 noundef %8441) #11
  br label %8443

8443:                                             ; preds = %8426, %8409
  call void @llvm.lifetime.end.p0(i64 4, ptr %185) #11
  br label %8444

8444:                                             ; preds = %8443
  br label %8445

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

8446:                                             ; No predecessors!
  br label %8447

8447:                                             ; preds = %8446
  br label %8448

8448:                                             ; preds = %8447, %8388
  br label %8449

8449:                                             ; preds = %8448
  br label %8450

8450:                                             ; preds = %8449
  br label %8451

8451:                                             ; preds = %8450
  br label %8452

8452:                                             ; preds = %8451
  br label %8453

8453:                                             ; preds = %8452
  %8454 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %8454, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %8455 = call ptr @__errno_location() #12
  store i32 0, ptr %8455, align 4, !tbaa !5
  br label %8456

8456:                                             ; preds = %8453
  br label %8457

8457:                                             ; preds = %8456
  br label %8458

8458:                                             ; preds = %8457
  br label %8459

8459:                                             ; preds = %8458
  br label %8460

8460:                                             ; preds = %8459
  br label %8461

8461:                                             ; preds = %8460
  br label %8462

8462:                                             ; preds = %8461
  %8463 = load i32, ptr @test_count, align 4, !tbaa !5
  %8464 = add nsw i32 %8463, 1
  store i32 %8464, ptr @test_count, align 4, !tbaa !5
  %8465 = load ptr, ptr %164, align 8, !tbaa !9
  %8466 = getelementptr inbounds [22 x i8], ptr %171, i64 0, i64 0
  %8467 = call i32 @s2n_renegotiate(ptr noundef %8465, ptr noundef %8466, i64 noundef 22, ptr noundef %170, ptr noundef %17)
  %8468 = icmp eq i32 %8467, -1
  br i1 %8468, label %8522, label %8469

8469:                                             ; preds = %8462
  br label %8470

8470:                                             ; preds = %8469
  br label %8471

8471:                                             ; preds = %8470
  call void @llvm.lifetime.start.p0(i64 4, ptr %186) #11
  %8472 = call ptr @__errno_location() #12
  %8473 = load i32, ptr %8472, align 4, !tbaa !5
  store i32 %8473, ptr %186, align 4, !tbaa !5
  %8474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8475 = call i32 @s2n_print_stacktrace(ptr noundef %8474)
  %8476 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8477 = trunc i8 %8476 to i1
  br i1 %8477, label %8478, label %8500

8478:                                             ; preds = %8471
  %8479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8480 = call i32 @fileno(ptr noundef %8479) #11
  %8481 = call i32 @isatty(i32 noundef %8480) #11
  %8482 = icmp ne i32 %8481, 0
  br i1 %8482, label %8483, label %8500

8483:                                             ; preds = %8478
  %8484 = load i32, ptr %186, align 4, !tbaa !5
  %8485 = call ptr @__errno_location() #12
  store i32 %8484, ptr %8485, align 4, !tbaa !5
  %8486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8487 = load i32, ptr @test_count, align 4, !tbaa !5
  %8488 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8489 = load i32, ptr %8488, align 4, !tbaa !5
  %8490 = call ptr @s2n_strerror(i32 noundef %8489, ptr noundef @.str.4)
  %8491 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8492 = load i32, ptr %8491, align 4, !tbaa !5
  %8493 = call ptr @s2n_strerror_debug(i32 noundef %8492, ptr noundef @.str.4)
  %8494 = call ptr @__errno_location() #12
  %8495 = load i32, ptr %8494, align 4, !tbaa !5
  %8496 = call ptr @strerror(i32 noundef %8495) #11
  %8497 = call ptr @__errno_location() #12
  %8498 = load i32, ptr %8497, align 4, !tbaa !5
  %8499 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8486, ptr noundef @.str.2, i32 noundef %8487, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 321, ptr noundef %8490, ptr noundef %8493, ptr noundef %8496, i32 noundef %8498) #11
  br label %8517

8500:                                             ; preds = %8478, %8471
  %8501 = load i32, ptr %186, align 4, !tbaa !5
  %8502 = call ptr @__errno_location() #12
  store i32 %8501, ptr %8502, align 4, !tbaa !5
  %8503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8504 = load i32, ptr @test_count, align 4, !tbaa !5
  %8505 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8506 = load i32, ptr %8505, align 4, !tbaa !5
  %8507 = call ptr @s2n_strerror(i32 noundef %8506, ptr noundef @.str.4)
  %8508 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8509 = load i32, ptr %8508, align 4, !tbaa !5
  %8510 = call ptr @s2n_strerror_debug(i32 noundef %8509, ptr noundef @.str.4)
  %8511 = call ptr @__errno_location() #12
  %8512 = load i32, ptr %8511, align 4, !tbaa !5
  %8513 = call ptr @strerror(i32 noundef %8512) #11
  %8514 = call ptr @__errno_location() #12
  %8515 = load i32, ptr %8514, align 4, !tbaa !5
  %8516 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8503, ptr noundef @.str.5, i32 noundef %8504, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 321, ptr noundef %8507, ptr noundef %8510, ptr noundef %8513, i32 noundef %8515) #11
  br label %8517

8517:                                             ; preds = %8500, %8483
  call void @llvm.lifetime.end.p0(i64 4, ptr %186) #11
  br label %8518

8518:                                             ; preds = %8517
  br label %8519

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

8520:                                             ; No predecessors!
  br label %8521

8521:                                             ; preds = %8520
  br label %8522

8522:                                             ; preds = %8521, %8462
  br label %8523

8523:                                             ; preds = %8522
  br label %8524

8524:                                             ; preds = %8523
  br label %8525

8525:                                             ; preds = %8524
  %8526 = load i32, ptr @test_count, align 4, !tbaa !5
  %8527 = add nsw i32 %8526, 1
  store i32 %8527, ptr @test_count, align 4, !tbaa !5
  %8528 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8529 = load i32, ptr %8528, align 4, !tbaa !5
  %8530 = icmp eq i32 %8529, 335544322
  br i1 %8530, label %8584, label %8531

8531:                                             ; preds = %8525
  br label %8532

8532:                                             ; preds = %8531
  br label %8533

8533:                                             ; preds = %8532
  call void @llvm.lifetime.start.p0(i64 4, ptr %187) #11
  %8534 = call ptr @__errno_location() #12
  %8535 = load i32, ptr %8534, align 4, !tbaa !5
  store i32 %8535, ptr %187, align 4, !tbaa !5
  %8536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8537 = call i32 @s2n_print_stacktrace(ptr noundef %8536)
  %8538 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8539 = trunc i8 %8538 to i1
  br i1 %8539, label %8540, label %8562

8540:                                             ; preds = %8533
  %8541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8542 = call i32 @fileno(ptr noundef %8541) #11
  %8543 = call i32 @isatty(i32 noundef %8542) #11
  %8544 = icmp ne i32 %8543, 0
  br i1 %8544, label %8545, label %8562

8545:                                             ; preds = %8540
  %8546 = load i32, ptr %187, align 4, !tbaa !5
  %8547 = call ptr @__errno_location() #12
  store i32 %8546, ptr %8547, align 4, !tbaa !5
  %8548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8549 = load i32, ptr @test_count, align 4, !tbaa !5
  %8550 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8551 = load i32, ptr %8550, align 4, !tbaa !5
  %8552 = call ptr @s2n_strerror(i32 noundef %8551, ptr noundef @.str.4)
  %8553 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8554 = load i32, ptr %8553, align 4, !tbaa !5
  %8555 = call ptr @s2n_strerror_debug(i32 noundef %8554, ptr noundef @.str.4)
  %8556 = call ptr @__errno_location() #12
  %8557 = load i32, ptr %8556, align 4, !tbaa !5
  %8558 = call ptr @strerror(i32 noundef %8557) #11
  %8559 = call ptr @__errno_location() #12
  %8560 = load i32, ptr %8559, align 4, !tbaa !5
  %8561 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8548, ptr noundef @.str.2, i32 noundef %8549, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 321, ptr noundef %8552, ptr noundef %8555, ptr noundef %8558, i32 noundef %8560) #11
  br label %8579

8562:                                             ; preds = %8540, %8533
  %8563 = load i32, ptr %187, align 4, !tbaa !5
  %8564 = call ptr @__errno_location() #12
  store i32 %8563, ptr %8564, align 4, !tbaa !5
  %8565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8566 = load i32, ptr @test_count, align 4, !tbaa !5
  %8567 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8568 = load i32, ptr %8567, align 4, !tbaa !5
  %8569 = call ptr @s2n_strerror(i32 noundef %8568, ptr noundef @.str.4)
  %8570 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8571 = load i32, ptr %8570, align 4, !tbaa !5
  %8572 = call ptr @s2n_strerror_debug(i32 noundef %8571, ptr noundef @.str.4)
  %8573 = call ptr @__errno_location() #12
  %8574 = load i32, ptr %8573, align 4, !tbaa !5
  %8575 = call ptr @strerror(i32 noundef %8574) #11
  %8576 = call ptr @__errno_location() #12
  %8577 = load i32, ptr %8576, align 4, !tbaa !5
  %8578 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8565, ptr noundef @.str.5, i32 noundef %8566, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 321, ptr noundef %8569, ptr noundef %8572, ptr noundef %8575, i32 noundef %8577) #11
  br label %8579

8579:                                             ; preds = %8562, %8545
  call void @llvm.lifetime.end.p0(i64 4, ptr %187) #11
  br label %8580

8580:                                             ; preds = %8579
  br label %8581

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

8582:                                             ; No predecessors!
  br label %8583

8583:                                             ; preds = %8582
  br label %8584

8584:                                             ; preds = %8583, %8525
  br label %8585

8585:                                             ; preds = %8584
  br label %8586

8586:                                             ; preds = %8585
  br label %8587

8587:                                             ; preds = %8586
  %8588 = load i32, ptr @test_count, align 4, !tbaa !5
  %8589 = add nsw i32 %8588, 1
  store i32 %8589, ptr @test_count, align 4, !tbaa !5
  %8590 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8591 = load i32, ptr %8590, align 4, !tbaa !5
  %8592 = call ptr @s2n_strerror_debug(i32 noundef %8591, ptr noundef @.str.4)
  %8593 = icmp eq ptr %8592, null
  br i1 %8593, label %8594, label %8647

8594:                                             ; preds = %8587
  br label %8595

8595:                                             ; preds = %8594
  br label %8596

8596:                                             ; preds = %8595
  call void @llvm.lifetime.start.p0(i64 4, ptr %188) #11
  %8597 = call ptr @__errno_location() #12
  %8598 = load i32, ptr %8597, align 4, !tbaa !5
  store i32 %8598, ptr %188, align 4, !tbaa !5
  %8599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8600 = call i32 @s2n_print_stacktrace(ptr noundef %8599)
  %8601 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8602 = trunc i8 %8601 to i1
  br i1 %8602, label %8603, label %8625

8603:                                             ; preds = %8596
  %8604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8605 = call i32 @fileno(ptr noundef %8604) #11
  %8606 = call i32 @isatty(i32 noundef %8605) #11
  %8607 = icmp ne i32 %8606, 0
  br i1 %8607, label %8608, label %8625

8608:                                             ; preds = %8603
  %8609 = load i32, ptr %188, align 4, !tbaa !5
  %8610 = call ptr @__errno_location() #12
  store i32 %8609, ptr %8610, align 4, !tbaa !5
  %8611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8612 = load i32, ptr @test_count, align 4, !tbaa !5
  %8613 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8614 = load i32, ptr %8613, align 4, !tbaa !5
  %8615 = call ptr @s2n_strerror(i32 noundef %8614, ptr noundef @.str.4)
  %8616 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8617 = load i32, ptr %8616, align 4, !tbaa !5
  %8618 = call ptr @s2n_strerror_debug(i32 noundef %8617, ptr noundef @.str.4)
  %8619 = call ptr @__errno_location() #12
  %8620 = load i32, ptr %8619, align 4, !tbaa !5
  %8621 = call ptr @strerror(i32 noundef %8620) #11
  %8622 = call ptr @__errno_location() #12
  %8623 = load i32, ptr %8622, align 4, !tbaa !5
  %8624 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8611, ptr noundef @.str.2, i32 noundef %8612, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 321, ptr noundef %8615, ptr noundef %8618, ptr noundef %8621, i32 noundef %8623) #11
  br label %8642

8625:                                             ; preds = %8603, %8596
  %8626 = load i32, ptr %188, align 4, !tbaa !5
  %8627 = call ptr @__errno_location() #12
  store i32 %8626, ptr %8627, align 4, !tbaa !5
  %8628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8629 = load i32, ptr @test_count, align 4, !tbaa !5
  %8630 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8631 = load i32, ptr %8630, align 4, !tbaa !5
  %8632 = call ptr @s2n_strerror(i32 noundef %8631, ptr noundef @.str.4)
  %8633 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8634 = load i32, ptr %8633, align 4, !tbaa !5
  %8635 = call ptr @s2n_strerror_debug(i32 noundef %8634, ptr noundef @.str.4)
  %8636 = call ptr @__errno_location() #12
  %8637 = load i32, ptr %8636, align 4, !tbaa !5
  %8638 = call ptr @strerror(i32 noundef %8637) #11
  %8639 = call ptr @__errno_location() #12
  %8640 = load i32, ptr %8639, align 4, !tbaa !5
  %8641 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8628, ptr noundef @.str.5, i32 noundef %8629, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 321, ptr noundef %8632, ptr noundef %8635, ptr noundef %8638, i32 noundef %8640) #11
  br label %8642

8642:                                             ; preds = %8625, %8608
  call void @llvm.lifetime.end.p0(i64 4, ptr %188) #11
  br label %8643

8643:                                             ; preds = %8642
  br label %8644

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

8645:                                             ; No predecessors!
  br label %8646

8646:                                             ; preds = %8645
  br label %8647

8647:                                             ; preds = %8646, %8587
  br label %8648

8648:                                             ; preds = %8647
  br label %8649

8649:                                             ; preds = %8648
  br label %8650

8650:                                             ; preds = %8649
  br label %8651

8651:                                             ; preds = %8650
  br label %8652

8652:                                             ; preds = %8651
  %8653 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %8653, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %8654 = call ptr @__errno_location() #12
  store i32 0, ptr %8654, align 4, !tbaa !5
  br label %8655

8655:                                             ; preds = %8652
  br label %8656

8656:                                             ; preds = %8655
  br label %8657

8657:                                             ; preds = %8656
  br label %8658

8658:                                             ; preds = %8657
  br label %8659

8659:                                             ; preds = %8658
  %8660 = load i32, ptr @test_count, align 4, !tbaa !5
  %8661 = add nsw i32 %8660, 1
  store i32 %8661, ptr @test_count, align 4, !tbaa !5
  %8662 = load ptr, ptr %164, align 8, !tbaa !9
  %8663 = call i32 @s2n_conn_get_current_message_type(ptr noundef %8662)
  %8664 = icmp eq i32 %8663, 1
  br i1 %8664, label %8718, label %8665

8665:                                             ; preds = %8659
  br label %8666

8666:                                             ; preds = %8665
  br label %8667

8667:                                             ; preds = %8666
  call void @llvm.lifetime.start.p0(i64 4, ptr %189) #11
  %8668 = call ptr @__errno_location() #12
  %8669 = load i32, ptr %8668, align 4, !tbaa !5
  store i32 %8669, ptr %189, align 4, !tbaa !5
  %8670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8671 = call i32 @s2n_print_stacktrace(ptr noundef %8670)
  %8672 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8673 = trunc i8 %8672 to i1
  br i1 %8673, label %8674, label %8696

8674:                                             ; preds = %8667
  %8675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8676 = call i32 @fileno(ptr noundef %8675) #11
  %8677 = call i32 @isatty(i32 noundef %8676) #11
  %8678 = icmp ne i32 %8677, 0
  br i1 %8678, label %8679, label %8696

8679:                                             ; preds = %8674
  %8680 = load i32, ptr %189, align 4, !tbaa !5
  %8681 = call ptr @__errno_location() #12
  store i32 %8680, ptr %8681, align 4, !tbaa !5
  %8682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8683 = load i32, ptr @test_count, align 4, !tbaa !5
  %8684 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8685 = load i32, ptr %8684, align 4, !tbaa !5
  %8686 = call ptr @s2n_strerror(i32 noundef %8685, ptr noundef @.str.4)
  %8687 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8688 = load i32, ptr %8687, align 4, !tbaa !5
  %8689 = call ptr @s2n_strerror_debug(i32 noundef %8688, ptr noundef @.str.4)
  %8690 = call ptr @__errno_location() #12
  %8691 = load i32, ptr %8690, align 4, !tbaa !5
  %8692 = call ptr @strerror(i32 noundef %8691) #11
  %8693 = call ptr @__errno_location() #12
  %8694 = load i32, ptr %8693, align 4, !tbaa !5
  %8695 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8682, ptr noundef @.str.2, i32 noundef %8683, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 322, ptr noundef %8686, ptr noundef %8689, ptr noundef %8692, i32 noundef %8694) #11
  br label %8713

8696:                                             ; preds = %8674, %8667
  %8697 = load i32, ptr %189, align 4, !tbaa !5
  %8698 = call ptr @__errno_location() #12
  store i32 %8697, ptr %8698, align 4, !tbaa !5
  %8699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8700 = load i32, ptr @test_count, align 4, !tbaa !5
  %8701 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8702 = load i32, ptr %8701, align 4, !tbaa !5
  %8703 = call ptr @s2n_strerror(i32 noundef %8702, ptr noundef @.str.4)
  %8704 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8705 = load i32, ptr %8704, align 4, !tbaa !5
  %8706 = call ptr @s2n_strerror_debug(i32 noundef %8705, ptr noundef @.str.4)
  %8707 = call ptr @__errno_location() #12
  %8708 = load i32, ptr %8707, align 4, !tbaa !5
  %8709 = call ptr @strerror(i32 noundef %8708) #11
  %8710 = call ptr @__errno_location() #12
  %8711 = load i32, ptr %8710, align 4, !tbaa !5
  %8712 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8699, ptr noundef @.str.5, i32 noundef %8700, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 322, ptr noundef %8703, ptr noundef %8706, ptr noundef %8709, i32 noundef %8711) #11
  br label %8713

8713:                                             ; preds = %8696, %8679
  call void @llvm.lifetime.end.p0(i64 4, ptr %189) #11
  br label %8714

8714:                                             ; preds = %8713
  br label %8715

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

8716:                                             ; No predecessors!
  br label %8717

8717:                                             ; preds = %8716
  br label %8718

8718:                                             ; preds = %8717, %8659
  br label %8719

8719:                                             ; preds = %8718
  br label %8720

8720:                                             ; preds = %8719
  call void @llvm.lifetime.end.p0(i64 22, ptr %171) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %170) #11
  %8721 = call i32 @s2n_io_pair_close(ptr noundef %167)
  call void @llvm.lifetime.end.p0(i64 8, ptr %167) #11
  %8722 = call i32 @s2n_connection_ptr_free(ptr noundef %164)
  %8723 = getelementptr inbounds %struct.s2n_result, ptr %190, i32 0, i32 0
  store i32 %8722, ptr %8723, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %164) #11
  %8724 = call i32 @s2n_connection_ptr_free(ptr noundef %161)
  %8725 = getelementptr inbounds %struct.s2n_result, ptr %191, i32 0, i32 0
  store i32 %8724, ptr %8725, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %161) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %192) #11
  %8726 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %8726, ptr %192, align 8, !tbaa !9
  br label %8727

8727:                                             ; preds = %8720
  %8728 = load i32, ptr @test_count, align 4, !tbaa !5
  %8729 = add nsw i32 %8728, 1
  store i32 %8729, ptr @test_count, align 4, !tbaa !5
  %8730 = load ptr, ptr %192, align 8, !tbaa !9
  %8731 = icmp eq ptr %8730, null
  br i1 %8731, label %8732, label %8785

8732:                                             ; preds = %8727
  br label %8733

8733:                                             ; preds = %8732
  br label %8734

8734:                                             ; preds = %8733
  call void @llvm.lifetime.start.p0(i64 4, ptr %193) #11
  %8735 = call ptr @__errno_location() #12
  %8736 = load i32, ptr %8735, align 4, !tbaa !5
  store i32 %8736, ptr %193, align 4, !tbaa !5
  %8737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8738 = call i32 @s2n_print_stacktrace(ptr noundef %8737)
  %8739 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8740 = trunc i8 %8739 to i1
  br i1 %8740, label %8741, label %8763

8741:                                             ; preds = %8734
  %8742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8743 = call i32 @fileno(ptr noundef %8742) #11
  %8744 = call i32 @isatty(i32 noundef %8743) #11
  %8745 = icmp ne i32 %8744, 0
  br i1 %8745, label %8746, label %8763

8746:                                             ; preds = %8741
  %8747 = load i32, ptr %193, align 4, !tbaa !5
  %8748 = call ptr @__errno_location() #12
  store i32 %8747, ptr %8748, align 4, !tbaa !5
  %8749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8750 = load i32, ptr @test_count, align 4, !tbaa !5
  %8751 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8752 = load i32, ptr %8751, align 4, !tbaa !5
  %8753 = call ptr @s2n_strerror(i32 noundef %8752, ptr noundef @.str.4)
  %8754 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8755 = load i32, ptr %8754, align 4, !tbaa !5
  %8756 = call ptr @s2n_strerror_debug(i32 noundef %8755, ptr noundef @.str.4)
  %8757 = call ptr @__errno_location() #12
  %8758 = load i32, ptr %8757, align 4, !tbaa !5
  %8759 = call ptr @strerror(i32 noundef %8758) #11
  %8760 = call ptr @__errno_location() #12
  %8761 = load i32, ptr %8760, align 4, !tbaa !5
  %8762 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8749, ptr noundef @.str.2, i32 noundef %8750, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 328, ptr noundef %8753, ptr noundef %8756, ptr noundef %8759, i32 noundef %8761) #11
  br label %8780

8763:                                             ; preds = %8741, %8734
  %8764 = load i32, ptr %193, align 4, !tbaa !5
  %8765 = call ptr @__errno_location() #12
  store i32 %8764, ptr %8765, align 4, !tbaa !5
  %8766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8767 = load i32, ptr @test_count, align 4, !tbaa !5
  %8768 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8769 = load i32, ptr %8768, align 4, !tbaa !5
  %8770 = call ptr @s2n_strerror(i32 noundef %8769, ptr noundef @.str.4)
  %8771 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8772 = load i32, ptr %8771, align 4, !tbaa !5
  %8773 = call ptr @s2n_strerror_debug(i32 noundef %8772, ptr noundef @.str.4)
  %8774 = call ptr @__errno_location() #12
  %8775 = load i32, ptr %8774, align 4, !tbaa !5
  %8776 = call ptr @strerror(i32 noundef %8775) #11
  %8777 = call ptr @__errno_location() #12
  %8778 = load i32, ptr %8777, align 4, !tbaa !5
  %8779 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8766, ptr noundef @.str.5, i32 noundef %8767, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 328, ptr noundef %8770, ptr noundef %8773, ptr noundef %8776, i32 noundef %8778) #11
  br label %8780

8780:                                             ; preds = %8763, %8746
  call void @llvm.lifetime.end.p0(i64 4, ptr %193) #11
  br label %8781

8781:                                             ; preds = %8780
  br label %8782

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

8783:                                             ; No predecessors!
  br label %8784

8784:                                             ; preds = %8783
  br label %8785

8785:                                             ; preds = %8784, %8727
  br label %8786

8786:                                             ; preds = %8785
  br label %8787

8787:                                             ; preds = %8786
  br label %8788

8788:                                             ; preds = %8787
  %8789 = load i32, ptr @test_count, align 4, !tbaa !5
  %8790 = add nsw i32 %8789, 1
  store i32 %8790, ptr @test_count, align 4, !tbaa !5
  %8791 = load ptr, ptr %192, align 8, !tbaa !9
  %8792 = load ptr, ptr %11, align 8, !tbaa !9
  %8793 = call i32 @s2n_connection_set_config(ptr noundef %8791, ptr noundef %8792)
  %8794 = icmp eq i32 %8793, -1
  br i1 %8794, label %8795, label %8848

8795:                                             ; preds = %8788
  br label %8796

8796:                                             ; preds = %8795
  br label %8797

8797:                                             ; preds = %8796
  call void @llvm.lifetime.start.p0(i64 4, ptr %194) #11
  %8798 = call ptr @__errno_location() #12
  %8799 = load i32, ptr %8798, align 4, !tbaa !5
  store i32 %8799, ptr %194, align 4, !tbaa !5
  %8800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8801 = call i32 @s2n_print_stacktrace(ptr noundef %8800)
  %8802 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8803 = trunc i8 %8802 to i1
  br i1 %8803, label %8804, label %8826

8804:                                             ; preds = %8797
  %8805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8806 = call i32 @fileno(ptr noundef %8805) #11
  %8807 = call i32 @isatty(i32 noundef %8806) #11
  %8808 = icmp ne i32 %8807, 0
  br i1 %8808, label %8809, label %8826

8809:                                             ; preds = %8804
  %8810 = load i32, ptr %194, align 4, !tbaa !5
  %8811 = call ptr @__errno_location() #12
  store i32 %8810, ptr %8811, align 4, !tbaa !5
  %8812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8813 = load i32, ptr @test_count, align 4, !tbaa !5
  %8814 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8815 = load i32, ptr %8814, align 4, !tbaa !5
  %8816 = call ptr @s2n_strerror(i32 noundef %8815, ptr noundef @.str.4)
  %8817 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8818 = load i32, ptr %8817, align 4, !tbaa !5
  %8819 = call ptr @s2n_strerror_debug(i32 noundef %8818, ptr noundef @.str.4)
  %8820 = call ptr @__errno_location() #12
  %8821 = load i32, ptr %8820, align 4, !tbaa !5
  %8822 = call ptr @strerror(i32 noundef %8821) #11
  %8823 = call ptr @__errno_location() #12
  %8824 = load i32, ptr %8823, align 4, !tbaa !5
  %8825 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8812, ptr noundef @.str.2, i32 noundef %8813, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 329, ptr noundef %8816, ptr noundef %8819, ptr noundef %8822, i32 noundef %8824) #11
  br label %8843

8826:                                             ; preds = %8804, %8797
  %8827 = load i32, ptr %194, align 4, !tbaa !5
  %8828 = call ptr @__errno_location() #12
  store i32 %8827, ptr %8828, align 4, !tbaa !5
  %8829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8830 = load i32, ptr @test_count, align 4, !tbaa !5
  %8831 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8832 = load i32, ptr %8831, align 4, !tbaa !5
  %8833 = call ptr @s2n_strerror(i32 noundef %8832, ptr noundef @.str.4)
  %8834 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8835 = load i32, ptr %8834, align 4, !tbaa !5
  %8836 = call ptr @s2n_strerror_debug(i32 noundef %8835, ptr noundef @.str.4)
  %8837 = call ptr @__errno_location() #12
  %8838 = load i32, ptr %8837, align 4, !tbaa !5
  %8839 = call ptr @strerror(i32 noundef %8838) #11
  %8840 = call ptr @__errno_location() #12
  %8841 = load i32, ptr %8840, align 4, !tbaa !5
  %8842 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8829, ptr noundef @.str.5, i32 noundef %8830, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 329, ptr noundef %8833, ptr noundef %8836, ptr noundef %8839, i32 noundef %8841) #11
  br label %8843

8843:                                             ; preds = %8826, %8809
  call void @llvm.lifetime.end.p0(i64 4, ptr %194) #11
  br label %8844

8844:                                             ; preds = %8843
  br label %8845

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

8846:                                             ; No predecessors!
  br label %8847

8847:                                             ; preds = %8846
  br label %8848

8848:                                             ; preds = %8847, %8788
  br label %8849

8849:                                             ; preds = %8848
  br label %8850

8850:                                             ; preds = %8849
  call void @llvm.lifetime.start.p0(i64 8, ptr %195) #11
  %8851 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %8851, ptr %195, align 8, !tbaa !9
  br label %8852

8852:                                             ; preds = %8850
  %8853 = load i32, ptr @test_count, align 4, !tbaa !5
  %8854 = add nsw i32 %8853, 1
  store i32 %8854, ptr @test_count, align 4, !tbaa !5
  %8855 = load ptr, ptr %195, align 8, !tbaa !9
  %8856 = icmp eq ptr %8855, null
  br i1 %8856, label %8857, label %8910

8857:                                             ; preds = %8852
  br label %8858

8858:                                             ; preds = %8857
  br label %8859

8859:                                             ; preds = %8858
  call void @llvm.lifetime.start.p0(i64 4, ptr %196) #11
  %8860 = call ptr @__errno_location() #12
  %8861 = load i32, ptr %8860, align 4, !tbaa !5
  store i32 %8861, ptr %196, align 4, !tbaa !5
  %8862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8863 = call i32 @s2n_print_stacktrace(ptr noundef %8862)
  %8864 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8865 = trunc i8 %8864 to i1
  br i1 %8865, label %8866, label %8888

8866:                                             ; preds = %8859
  %8867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8868 = call i32 @fileno(ptr noundef %8867) #11
  %8869 = call i32 @isatty(i32 noundef %8868) #11
  %8870 = icmp ne i32 %8869, 0
  br i1 %8870, label %8871, label %8888

8871:                                             ; preds = %8866
  %8872 = load i32, ptr %196, align 4, !tbaa !5
  %8873 = call ptr @__errno_location() #12
  store i32 %8872, ptr %8873, align 4, !tbaa !5
  %8874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8875 = load i32, ptr @test_count, align 4, !tbaa !5
  %8876 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8877 = load i32, ptr %8876, align 4, !tbaa !5
  %8878 = call ptr @s2n_strerror(i32 noundef %8877, ptr noundef @.str.4)
  %8879 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8880 = load i32, ptr %8879, align 4, !tbaa !5
  %8881 = call ptr @s2n_strerror_debug(i32 noundef %8880, ptr noundef @.str.4)
  %8882 = call ptr @__errno_location() #12
  %8883 = load i32, ptr %8882, align 4, !tbaa !5
  %8884 = call ptr @strerror(i32 noundef %8883) #11
  %8885 = call ptr @__errno_location() #12
  %8886 = load i32, ptr %8885, align 4, !tbaa !5
  %8887 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8874, ptr noundef @.str.2, i32 noundef %8875, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 332, ptr noundef %8878, ptr noundef %8881, ptr noundef %8884, i32 noundef %8886) #11
  br label %8905

8888:                                             ; preds = %8866, %8859
  %8889 = load i32, ptr %196, align 4, !tbaa !5
  %8890 = call ptr @__errno_location() #12
  store i32 %8889, ptr %8890, align 4, !tbaa !5
  %8891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8892 = load i32, ptr @test_count, align 4, !tbaa !5
  %8893 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8894 = load i32, ptr %8893, align 4, !tbaa !5
  %8895 = call ptr @s2n_strerror(i32 noundef %8894, ptr noundef @.str.4)
  %8896 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8897 = load i32, ptr %8896, align 4, !tbaa !5
  %8898 = call ptr @s2n_strerror_debug(i32 noundef %8897, ptr noundef @.str.4)
  %8899 = call ptr @__errno_location() #12
  %8900 = load i32, ptr %8899, align 4, !tbaa !5
  %8901 = call ptr @strerror(i32 noundef %8900) #11
  %8902 = call ptr @__errno_location() #12
  %8903 = load i32, ptr %8902, align 4, !tbaa !5
  %8904 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8891, ptr noundef @.str.5, i32 noundef %8892, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 332, ptr noundef %8895, ptr noundef %8898, ptr noundef %8901, i32 noundef %8903) #11
  br label %8905

8905:                                             ; preds = %8888, %8871
  call void @llvm.lifetime.end.p0(i64 4, ptr %196) #11
  br label %8906

8906:                                             ; preds = %8905
  br label %8907

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

8908:                                             ; No predecessors!
  br label %8909

8909:                                             ; preds = %8908
  br label %8910

8910:                                             ; preds = %8909, %8852
  br label %8911

8911:                                             ; preds = %8910
  br label %8912

8912:                                             ; preds = %8911
  br label %8913

8913:                                             ; preds = %8912
  %8914 = load i32, ptr @test_count, align 4, !tbaa !5
  %8915 = add nsw i32 %8914, 1
  store i32 %8915, ptr @test_count, align 4, !tbaa !5
  %8916 = load ptr, ptr %195, align 8, !tbaa !9
  %8917 = load ptr, ptr %11, align 8, !tbaa !9
  %8918 = call i32 @s2n_connection_set_config(ptr noundef %8916, ptr noundef %8917)
  %8919 = icmp eq i32 %8918, -1
  br i1 %8919, label %8920, label %8973

8920:                                             ; preds = %8913
  br label %8921

8921:                                             ; preds = %8920
  br label %8922

8922:                                             ; preds = %8921
  call void @llvm.lifetime.start.p0(i64 4, ptr %197) #11
  %8923 = call ptr @__errno_location() #12
  %8924 = load i32, ptr %8923, align 4, !tbaa !5
  store i32 %8924, ptr %197, align 4, !tbaa !5
  %8925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8926 = call i32 @s2n_print_stacktrace(ptr noundef %8925)
  %8927 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8928 = trunc i8 %8927 to i1
  br i1 %8928, label %8929, label %8951

8929:                                             ; preds = %8922
  %8930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8931 = call i32 @fileno(ptr noundef %8930) #11
  %8932 = call i32 @isatty(i32 noundef %8931) #11
  %8933 = icmp ne i32 %8932, 0
  br i1 %8933, label %8934, label %8951

8934:                                             ; preds = %8929
  %8935 = load i32, ptr %197, align 4, !tbaa !5
  %8936 = call ptr @__errno_location() #12
  store i32 %8935, ptr %8936, align 4, !tbaa !5
  %8937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8938 = load i32, ptr @test_count, align 4, !tbaa !5
  %8939 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8940 = load i32, ptr %8939, align 4, !tbaa !5
  %8941 = call ptr @s2n_strerror(i32 noundef %8940, ptr noundef @.str.4)
  %8942 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8943 = load i32, ptr %8942, align 4, !tbaa !5
  %8944 = call ptr @s2n_strerror_debug(i32 noundef %8943, ptr noundef @.str.4)
  %8945 = call ptr @__errno_location() #12
  %8946 = load i32, ptr %8945, align 4, !tbaa !5
  %8947 = call ptr @strerror(i32 noundef %8946) #11
  %8948 = call ptr @__errno_location() #12
  %8949 = load i32, ptr %8948, align 4, !tbaa !5
  %8950 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8937, ptr noundef @.str.2, i32 noundef %8938, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 333, ptr noundef %8941, ptr noundef %8944, ptr noundef %8947, i32 noundef %8949) #11
  br label %8968

8951:                                             ; preds = %8929, %8922
  %8952 = load i32, ptr %197, align 4, !tbaa !5
  %8953 = call ptr @__errno_location() #12
  store i32 %8952, ptr %8953, align 4, !tbaa !5
  %8954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8955 = load i32, ptr @test_count, align 4, !tbaa !5
  %8956 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8957 = load i32, ptr %8956, align 4, !tbaa !5
  %8958 = call ptr @s2n_strerror(i32 noundef %8957, ptr noundef @.str.4)
  %8959 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8960 = load i32, ptr %8959, align 4, !tbaa !5
  %8961 = call ptr @s2n_strerror_debug(i32 noundef %8960, ptr noundef @.str.4)
  %8962 = call ptr @__errno_location() #12
  %8963 = load i32, ptr %8962, align 4, !tbaa !5
  %8964 = call ptr @strerror(i32 noundef %8963) #11
  %8965 = call ptr @__errno_location() #12
  %8966 = load i32, ptr %8965, align 4, !tbaa !5
  %8967 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8954, ptr noundef @.str.5, i32 noundef %8955, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 333, ptr noundef %8958, ptr noundef %8961, ptr noundef %8964, i32 noundef %8966) #11
  br label %8968

8968:                                             ; preds = %8951, %8934
  call void @llvm.lifetime.end.p0(i64 4, ptr %197) #11
  br label %8969

8969:                                             ; preds = %8968
  br label %8970

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

8971:                                             ; No predecessors!
  br label %8972

8972:                                             ; preds = %8971
  br label %8973

8973:                                             ; preds = %8972, %8913
  br label %8974

8974:                                             ; preds = %8973
  br label %8975

8975:                                             ; preds = %8974
  call void @llvm.lifetime.start.p0(i64 8, ptr %198) #11
  call void @llvm.memset.p0.i64(ptr align 4 %198, i8 0, i64 8, i1 false)
  br label %8976

8976:                                             ; preds = %8975
  %8977 = load i32, ptr @test_count, align 4, !tbaa !5
  %8978 = add nsw i32 %8977, 1
  store i32 %8978, ptr @test_count, align 4, !tbaa !5
  %8979 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %198)
  %8980 = icmp eq i32 %8979, -1
  br i1 %8980, label %8981, label %9034

8981:                                             ; preds = %8976
  br label %8982

8982:                                             ; preds = %8981
  br label %8983

8983:                                             ; preds = %8982
  call void @llvm.lifetime.start.p0(i64 4, ptr %199) #11
  %8984 = call ptr @__errno_location() #12
  %8985 = load i32, ptr %8984, align 4, !tbaa !5
  store i32 %8985, ptr %199, align 4, !tbaa !5
  %8986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8987 = call i32 @s2n_print_stacktrace(ptr noundef %8986)
  %8988 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8989 = trunc i8 %8988 to i1
  br i1 %8989, label %8990, label %9012

8990:                                             ; preds = %8983
  %8991 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8992 = call i32 @fileno(ptr noundef %8991) #11
  %8993 = call i32 @isatty(i32 noundef %8992) #11
  %8994 = icmp ne i32 %8993, 0
  br i1 %8994, label %8995, label %9012

8995:                                             ; preds = %8990
  %8996 = load i32, ptr %199, align 4, !tbaa !5
  %8997 = call ptr @__errno_location() #12
  store i32 %8996, ptr %8997, align 4, !tbaa !5
  %8998 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8999 = load i32, ptr @test_count, align 4, !tbaa !5
  %9000 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9001 = load i32, ptr %9000, align 4, !tbaa !5
  %9002 = call ptr @s2n_strerror(i32 noundef %9001, ptr noundef @.str.4)
  %9003 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9004 = load i32, ptr %9003, align 4, !tbaa !5
  %9005 = call ptr @s2n_strerror_debug(i32 noundef %9004, ptr noundef @.str.4)
  %9006 = call ptr @__errno_location() #12
  %9007 = load i32, ptr %9006, align 4, !tbaa !5
  %9008 = call ptr @strerror(i32 noundef %9007) #11
  %9009 = call ptr @__errno_location() #12
  %9010 = load i32, ptr %9009, align 4, !tbaa !5
  %9011 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8998, ptr noundef @.str.2, i32 noundef %8999, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 336, ptr noundef %9002, ptr noundef %9005, ptr noundef %9008, i32 noundef %9010) #11
  br label %9029

9012:                                             ; preds = %8990, %8983
  %9013 = load i32, ptr %199, align 4, !tbaa !5
  %9014 = call ptr @__errno_location() #12
  store i32 %9013, ptr %9014, align 4, !tbaa !5
  %9015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9016 = load i32, ptr @test_count, align 4, !tbaa !5
  %9017 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9018 = load i32, ptr %9017, align 4, !tbaa !5
  %9019 = call ptr @s2n_strerror(i32 noundef %9018, ptr noundef @.str.4)
  %9020 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9021 = load i32, ptr %9020, align 4, !tbaa !5
  %9022 = call ptr @s2n_strerror_debug(i32 noundef %9021, ptr noundef @.str.4)
  %9023 = call ptr @__errno_location() #12
  %9024 = load i32, ptr %9023, align 4, !tbaa !5
  %9025 = call ptr @strerror(i32 noundef %9024) #11
  %9026 = call ptr @__errno_location() #12
  %9027 = load i32, ptr %9026, align 4, !tbaa !5
  %9028 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9015, ptr noundef @.str.5, i32 noundef %9016, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 336, ptr noundef %9019, ptr noundef %9022, ptr noundef %9025, i32 noundef %9027) #11
  br label %9029

9029:                                             ; preds = %9012, %8995
  call void @llvm.lifetime.end.p0(i64 4, ptr %199) #11
  br label %9030

9030:                                             ; preds = %9029
  br label %9031

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

9032:                                             ; No predecessors!
  br label %9033

9033:                                             ; preds = %9032
  br label %9034

9034:                                             ; preds = %9033, %8976
  br label %9035

9035:                                             ; preds = %9034
  br label %9036

9036:                                             ; preds = %9035
  br label %9037

9037:                                             ; preds = %9036
  %9038 = load i32, ptr @test_count, align 4, !tbaa !5
  %9039 = add nsw i32 %9038, 1
  store i32 %9039, ptr @test_count, align 4, !tbaa !5
  %9040 = load ptr, ptr %195, align 8, !tbaa !9
  %9041 = load ptr, ptr %192, align 8, !tbaa !9
  %9042 = call i32 @s2n_connections_set_io_pair(ptr noundef %9040, ptr noundef %9041, ptr noundef %198)
  %9043 = icmp eq i32 %9042, -1
  br i1 %9043, label %9044, label %9097

9044:                                             ; preds = %9037
  br label %9045

9045:                                             ; preds = %9044
  br label %9046

9046:                                             ; preds = %9045
  call void @llvm.lifetime.start.p0(i64 4, ptr %200) #11
  %9047 = call ptr @__errno_location() #12
  %9048 = load i32, ptr %9047, align 4, !tbaa !5
  store i32 %9048, ptr %200, align 4, !tbaa !5
  %9049 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9050 = call i32 @s2n_print_stacktrace(ptr noundef %9049)
  %9051 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9052 = trunc i8 %9051 to i1
  br i1 %9052, label %9053, label %9075

9053:                                             ; preds = %9046
  %9054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9055 = call i32 @fileno(ptr noundef %9054) #11
  %9056 = call i32 @isatty(i32 noundef %9055) #11
  %9057 = icmp ne i32 %9056, 0
  br i1 %9057, label %9058, label %9075

9058:                                             ; preds = %9053
  %9059 = load i32, ptr %200, align 4, !tbaa !5
  %9060 = call ptr @__errno_location() #12
  store i32 %9059, ptr %9060, align 4, !tbaa !5
  %9061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9062 = load i32, ptr @test_count, align 4, !tbaa !5
  %9063 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9064 = load i32, ptr %9063, align 4, !tbaa !5
  %9065 = call ptr @s2n_strerror(i32 noundef %9064, ptr noundef @.str.4)
  %9066 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9067 = load i32, ptr %9066, align 4, !tbaa !5
  %9068 = call ptr @s2n_strerror_debug(i32 noundef %9067, ptr noundef @.str.4)
  %9069 = call ptr @__errno_location() #12
  %9070 = load i32, ptr %9069, align 4, !tbaa !5
  %9071 = call ptr @strerror(i32 noundef %9070) #11
  %9072 = call ptr @__errno_location() #12
  %9073 = load i32, ptr %9072, align 4, !tbaa !5
  %9074 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9061, ptr noundef @.str.2, i32 noundef %9062, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 337, ptr noundef %9065, ptr noundef %9068, ptr noundef %9071, i32 noundef %9073) #11
  br label %9092

9075:                                             ; preds = %9053, %9046
  %9076 = load i32, ptr %200, align 4, !tbaa !5
  %9077 = call ptr @__errno_location() #12
  store i32 %9076, ptr %9077, align 4, !tbaa !5
  %9078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9079 = load i32, ptr @test_count, align 4, !tbaa !5
  %9080 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9081 = load i32, ptr %9080, align 4, !tbaa !5
  %9082 = call ptr @s2n_strerror(i32 noundef %9081, ptr noundef @.str.4)
  %9083 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9084 = load i32, ptr %9083, align 4, !tbaa !5
  %9085 = call ptr @s2n_strerror_debug(i32 noundef %9084, ptr noundef @.str.4)
  %9086 = call ptr @__errno_location() #12
  %9087 = load i32, ptr %9086, align 4, !tbaa !5
  %9088 = call ptr @strerror(i32 noundef %9087) #11
  %9089 = call ptr @__errno_location() #12
  %9090 = load i32, ptr %9089, align 4, !tbaa !5
  %9091 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9078, ptr noundef @.str.5, i32 noundef %9079, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 337, ptr noundef %9082, ptr noundef %9085, ptr noundef %9088, i32 noundef %9090) #11
  br label %9092

9092:                                             ; preds = %9075, %9058
  call void @llvm.lifetime.end.p0(i64 4, ptr %200) #11
  br label %9093

9093:                                             ; preds = %9092
  br label %9094

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

9095:                                             ; No predecessors!
  br label %9096

9096:                                             ; preds = %9095
  br label %9097

9097:                                             ; preds = %9096, %9037
  br label %9098

9098:                                             ; preds = %9097
  br label %9099

9099:                                             ; preds = %9098
  call void @llvm.lifetime.start.p0(i64 1, ptr %201) #11
  call void @llvm.memset.p0.i64(ptr align 1 %201, i8 0, i64 1, i1 false)
  br label %9100

9100:                                             ; preds = %9099
  %9101 = load i32, ptr @test_count, align 4, !tbaa !5
  %9102 = add nsw i32 %9101, 1
  store i32 %9102, ptr @test_count, align 4, !tbaa !5
  %9103 = load ptr, ptr %192, align 8, !tbaa !9
  %9104 = load ptr, ptr %195, align 8, !tbaa !9
  %9105 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %9103, ptr noundef %9104)
  %9106 = icmp eq i32 %9105, -1
  br i1 %9106, label %9107, label %9160

9107:                                             ; preds = %9100
  br label %9108

9108:                                             ; preds = %9107
  br label %9109

9109:                                             ; preds = %9108
  call void @llvm.lifetime.start.p0(i64 4, ptr %202) #11
  %9110 = call ptr @__errno_location() #12
  %9111 = load i32, ptr %9110, align 4, !tbaa !5
  store i32 %9111, ptr %202, align 4, !tbaa !5
  %9112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9113 = call i32 @s2n_print_stacktrace(ptr noundef %9112)
  %9114 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9115 = trunc i8 %9114 to i1
  br i1 %9115, label %9116, label %9138

9116:                                             ; preds = %9109
  %9117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9118 = call i32 @fileno(ptr noundef %9117) #11
  %9119 = call i32 @isatty(i32 noundef %9118) #11
  %9120 = icmp ne i32 %9119, 0
  br i1 %9120, label %9121, label %9138

9121:                                             ; preds = %9116
  %9122 = load i32, ptr %202, align 4, !tbaa !5
  %9123 = call ptr @__errno_location() #12
  store i32 %9122, ptr %9123, align 4, !tbaa !5
  %9124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9125 = load i32, ptr @test_count, align 4, !tbaa !5
  %9126 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9127 = load i32, ptr %9126, align 4, !tbaa !5
  %9128 = call ptr @s2n_strerror(i32 noundef %9127, ptr noundef @.str.4)
  %9129 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9130 = load i32, ptr %9129, align 4, !tbaa !5
  %9131 = call ptr @s2n_strerror_debug(i32 noundef %9130, ptr noundef @.str.4)
  %9132 = call ptr @__errno_location() #12
  %9133 = load i32, ptr %9132, align 4, !tbaa !5
  %9134 = call ptr @strerror(i32 noundef %9133) #11
  %9135 = call ptr @__errno_location() #12
  %9136 = load i32, ptr %9135, align 4, !tbaa !5
  %9137 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9124, ptr noundef @.str.2, i32 noundef %9125, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 342, ptr noundef %9128, ptr noundef %9131, ptr noundef %9134, i32 noundef %9136) #11
  br label %9155

9138:                                             ; preds = %9116, %9109
  %9139 = load i32, ptr %202, align 4, !tbaa !5
  %9140 = call ptr @__errno_location() #12
  store i32 %9139, ptr %9140, align 4, !tbaa !5
  %9141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9142 = load i32, ptr @test_count, align 4, !tbaa !5
  %9143 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9144 = load i32, ptr %9143, align 4, !tbaa !5
  %9145 = call ptr @s2n_strerror(i32 noundef %9144, ptr noundef @.str.4)
  %9146 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9147 = load i32, ptr %9146, align 4, !tbaa !5
  %9148 = call ptr @s2n_strerror_debug(i32 noundef %9147, ptr noundef @.str.4)
  %9149 = call ptr @__errno_location() #12
  %9150 = load i32, ptr %9149, align 4, !tbaa !5
  %9151 = call ptr @strerror(i32 noundef %9150) #11
  %9152 = call ptr @__errno_location() #12
  %9153 = load i32, ptr %9152, align 4, !tbaa !5
  %9154 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9141, ptr noundef @.str.5, i32 noundef %9142, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 342, ptr noundef %9145, ptr noundef %9148, ptr noundef %9151, i32 noundef %9153) #11
  br label %9155

9155:                                             ; preds = %9138, %9121
  call void @llvm.lifetime.end.p0(i64 4, ptr %202) #11
  br label %9156

9156:                                             ; preds = %9155
  br label %9157

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

9158:                                             ; No predecessors!
  br label %9159

9159:                                             ; preds = %9158
  br label %9160

9160:                                             ; preds = %9159, %9100
  br label %9161

9161:                                             ; preds = %9160
  br label %9162

9162:                                             ; preds = %9161
  br label %9163

9163:                                             ; preds = %9162
  %9164 = load i32, ptr @test_count, align 4, !tbaa !5
  %9165 = add nsw i32 %9164, 1
  store i32 %9165, ptr @test_count, align 4, !tbaa !5
  %9166 = load ptr, ptr %195, align 8, !tbaa !9
  %9167 = call i32 @s2n_renegotiate_wipe(ptr noundef %9166)
  %9168 = icmp eq i32 %9167, -1
  br i1 %9168, label %9169, label %9222

9169:                                             ; preds = %9163
  br label %9170

9170:                                             ; preds = %9169
  br label %9171

9171:                                             ; preds = %9170
  call void @llvm.lifetime.start.p0(i64 4, ptr %203) #11
  %9172 = call ptr @__errno_location() #12
  %9173 = load i32, ptr %9172, align 4, !tbaa !5
  store i32 %9173, ptr %203, align 4, !tbaa !5
  %9174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9175 = call i32 @s2n_print_stacktrace(ptr noundef %9174)
  %9176 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9177 = trunc i8 %9176 to i1
  br i1 %9177, label %9178, label %9200

9178:                                             ; preds = %9171
  %9179 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9180 = call i32 @fileno(ptr noundef %9179) #11
  %9181 = call i32 @isatty(i32 noundef %9180) #11
  %9182 = icmp ne i32 %9181, 0
  br i1 %9182, label %9183, label %9200

9183:                                             ; preds = %9178
  %9184 = load i32, ptr %203, align 4, !tbaa !5
  %9185 = call ptr @__errno_location() #12
  store i32 %9184, ptr %9185, align 4, !tbaa !5
  %9186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9187 = load i32, ptr @test_count, align 4, !tbaa !5
  %9188 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9189 = load i32, ptr %9188, align 4, !tbaa !5
  %9190 = call ptr @s2n_strerror(i32 noundef %9189, ptr noundef @.str.4)
  %9191 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9192 = load i32, ptr %9191, align 4, !tbaa !5
  %9193 = call ptr @s2n_strerror_debug(i32 noundef %9192, ptr noundef @.str.4)
  %9194 = call ptr @__errno_location() #12
  %9195 = load i32, ptr %9194, align 4, !tbaa !5
  %9196 = call ptr @strerror(i32 noundef %9195) #11
  %9197 = call ptr @__errno_location() #12
  %9198 = load i32, ptr %9197, align 4, !tbaa !5
  %9199 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9186, ptr noundef @.str.2, i32 noundef %9187, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 343, ptr noundef %9190, ptr noundef %9193, ptr noundef %9196, i32 noundef %9198) #11
  br label %9217

9200:                                             ; preds = %9178, %9171
  %9201 = load i32, ptr %203, align 4, !tbaa !5
  %9202 = call ptr @__errno_location() #12
  store i32 %9201, ptr %9202, align 4, !tbaa !5
  %9203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9204 = load i32, ptr @test_count, align 4, !tbaa !5
  %9205 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9206 = load i32, ptr %9205, align 4, !tbaa !5
  %9207 = call ptr @s2n_strerror(i32 noundef %9206, ptr noundef @.str.4)
  %9208 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9209 = load i32, ptr %9208, align 4, !tbaa !5
  %9210 = call ptr @s2n_strerror_debug(i32 noundef %9209, ptr noundef @.str.4)
  %9211 = call ptr @__errno_location() #12
  %9212 = load i32, ptr %9211, align 4, !tbaa !5
  %9213 = call ptr @strerror(i32 noundef %9212) #11
  %9214 = call ptr @__errno_location() #12
  %9215 = load i32, ptr %9214, align 4, !tbaa !5
  %9216 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9203, ptr noundef @.str.5, i32 noundef %9204, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 343, ptr noundef %9207, ptr noundef %9210, ptr noundef %9213, i32 noundef %9215) #11
  br label %9217

9217:                                             ; preds = %9200, %9183
  call void @llvm.lifetime.end.p0(i64 4, ptr %203) #11
  br label %9218

9218:                                             ; preds = %9217
  br label %9219

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

9220:                                             ; No predecessors!
  br label %9221

9221:                                             ; preds = %9220
  br label %9222

9222:                                             ; preds = %9221, %9163
  br label %9223

9223:                                             ; preds = %9222
  br label %9224

9224:                                             ; preds = %9223
  br label %9225

9225:                                             ; preds = %9224
  %9226 = load i32, ptr @test_count, align 4, !tbaa !5
  %9227 = add nsw i32 %9226, 1
  store i32 %9227, ptr @test_count, align 4, !tbaa !5
  %9228 = load ptr, ptr %192, align 8, !tbaa !9
  %9229 = call i32 @s2n_renegotiate_wipe(ptr noundef %9228)
  %9230 = icmp eq i32 %9229, -1
  br i1 %9230, label %9231, label %9284

9231:                                             ; preds = %9225
  br label %9232

9232:                                             ; preds = %9231
  br label %9233

9233:                                             ; preds = %9232
  call void @llvm.lifetime.start.p0(i64 4, ptr %204) #11
  %9234 = call ptr @__errno_location() #12
  %9235 = load i32, ptr %9234, align 4, !tbaa !5
  store i32 %9235, ptr %204, align 4, !tbaa !5
  %9236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9237 = call i32 @s2n_print_stacktrace(ptr noundef %9236)
  %9238 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9239 = trunc i8 %9238 to i1
  br i1 %9239, label %9240, label %9262

9240:                                             ; preds = %9233
  %9241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9242 = call i32 @fileno(ptr noundef %9241) #11
  %9243 = call i32 @isatty(i32 noundef %9242) #11
  %9244 = icmp ne i32 %9243, 0
  br i1 %9244, label %9245, label %9262

9245:                                             ; preds = %9240
  %9246 = load i32, ptr %204, align 4, !tbaa !5
  %9247 = call ptr @__errno_location() #12
  store i32 %9246, ptr %9247, align 4, !tbaa !5
  %9248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9249 = load i32, ptr @test_count, align 4, !tbaa !5
  %9250 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9251 = load i32, ptr %9250, align 4, !tbaa !5
  %9252 = call ptr @s2n_strerror(i32 noundef %9251, ptr noundef @.str.4)
  %9253 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9254 = load i32, ptr %9253, align 4, !tbaa !5
  %9255 = call ptr @s2n_strerror_debug(i32 noundef %9254, ptr noundef @.str.4)
  %9256 = call ptr @__errno_location() #12
  %9257 = load i32, ptr %9256, align 4, !tbaa !5
  %9258 = call ptr @strerror(i32 noundef %9257) #11
  %9259 = call ptr @__errno_location() #12
  %9260 = load i32, ptr %9259, align 4, !tbaa !5
  %9261 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9248, ptr noundef @.str.2, i32 noundef %9249, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 344, ptr noundef %9252, ptr noundef %9255, ptr noundef %9258, i32 noundef %9260) #11
  br label %9279

9262:                                             ; preds = %9240, %9233
  %9263 = load i32, ptr %204, align 4, !tbaa !5
  %9264 = call ptr @__errno_location() #12
  store i32 %9263, ptr %9264, align 4, !tbaa !5
  %9265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9266 = load i32, ptr @test_count, align 4, !tbaa !5
  %9267 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9268 = load i32, ptr %9267, align 4, !tbaa !5
  %9269 = call ptr @s2n_strerror(i32 noundef %9268, ptr noundef @.str.4)
  %9270 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9271 = load i32, ptr %9270, align 4, !tbaa !5
  %9272 = call ptr @s2n_strerror_debug(i32 noundef %9271, ptr noundef @.str.4)
  %9273 = call ptr @__errno_location() #12
  %9274 = load i32, ptr %9273, align 4, !tbaa !5
  %9275 = call ptr @strerror(i32 noundef %9274) #11
  %9276 = call ptr @__errno_location() #12
  %9277 = load i32, ptr %9276, align 4, !tbaa !5
  %9278 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9265, ptr noundef @.str.5, i32 noundef %9266, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 344, ptr noundef %9269, ptr noundef %9272, ptr noundef %9275, i32 noundef %9277) #11
  br label %9279

9279:                                             ; preds = %9262, %9245
  call void @llvm.lifetime.end.p0(i64 4, ptr %204) #11
  br label %9280

9280:                                             ; preds = %9279
  br label %9281

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

9282:                                             ; No predecessors!
  br label %9283

9283:                                             ; preds = %9282
  br label %9284

9284:                                             ; preds = %9283, %9225
  br label %9285

9285:                                             ; preds = %9284
  br label %9286

9286:                                             ; preds = %9285
  call void @llvm.lifetime.start.p0(i64 40, ptr %205) #11
  call void @llvm.memset.p0.i64(ptr align 8 %205, i8 0, i64 40, i1 false)
  br label %9287

9287:                                             ; preds = %9286
  %9288 = load i32, ptr @test_count, align 4, !tbaa !5
  %9289 = add nsw i32 %9288, 1
  store i32 %9289, ptr @test_count, align 4, !tbaa !5
  %9290 = load ptr, ptr %195, align 8, !tbaa !9
  %9291 = call i32 @s2n_connection_set_send_io_stuffer(ptr noundef %205, ptr noundef %9290)
  %9292 = icmp eq i32 %9291, -1
  br i1 %9292, label %9293, label %9346

9293:                                             ; preds = %9287
  br label %9294

9294:                                             ; preds = %9293
  br label %9295

9295:                                             ; preds = %9294
  call void @llvm.lifetime.start.p0(i64 4, ptr %206) #11
  %9296 = call ptr @__errno_location() #12
  %9297 = load i32, ptr %9296, align 4, !tbaa !5
  store i32 %9297, ptr %206, align 4, !tbaa !5
  %9298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9299 = call i32 @s2n_print_stacktrace(ptr noundef %9298)
  %9300 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9301 = trunc i8 %9300 to i1
  br i1 %9301, label %9302, label %9324

9302:                                             ; preds = %9295
  %9303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9304 = call i32 @fileno(ptr noundef %9303) #11
  %9305 = call i32 @isatty(i32 noundef %9304) #11
  %9306 = icmp ne i32 %9305, 0
  br i1 %9306, label %9307, label %9324

9307:                                             ; preds = %9302
  %9308 = load i32, ptr %206, align 4, !tbaa !5
  %9309 = call ptr @__errno_location() #12
  store i32 %9308, ptr %9309, align 4, !tbaa !5
  %9310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9311 = load i32, ptr @test_count, align 4, !tbaa !5
  %9312 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9313 = load i32, ptr %9312, align 4, !tbaa !5
  %9314 = call ptr @s2n_strerror(i32 noundef %9313, ptr noundef @.str.4)
  %9315 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9316 = load i32, ptr %9315, align 4, !tbaa !5
  %9317 = call ptr @s2n_strerror_debug(i32 noundef %9316, ptr noundef @.str.4)
  %9318 = call ptr @__errno_location() #12
  %9319 = load i32, ptr %9318, align 4, !tbaa !5
  %9320 = call ptr @strerror(i32 noundef %9319) #11
  %9321 = call ptr @__errno_location() #12
  %9322 = load i32, ptr %9321, align 4, !tbaa !5
  %9323 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9310, ptr noundef @.str.2, i32 noundef %9311, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 348, ptr noundef %9314, ptr noundef %9317, ptr noundef %9320, i32 noundef %9322) #11
  br label %9341

9324:                                             ; preds = %9302, %9295
  %9325 = load i32, ptr %206, align 4, !tbaa !5
  %9326 = call ptr @__errno_location() #12
  store i32 %9325, ptr %9326, align 4, !tbaa !5
  %9327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9328 = load i32, ptr @test_count, align 4, !tbaa !5
  %9329 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9330 = load i32, ptr %9329, align 4, !tbaa !5
  %9331 = call ptr @s2n_strerror(i32 noundef %9330, ptr noundef @.str.4)
  %9332 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9333 = load i32, ptr %9332, align 4, !tbaa !5
  %9334 = call ptr @s2n_strerror_debug(i32 noundef %9333, ptr noundef @.str.4)
  %9335 = call ptr @__errno_location() #12
  %9336 = load i32, ptr %9335, align 4, !tbaa !5
  %9337 = call ptr @strerror(i32 noundef %9336) #11
  %9338 = call ptr @__errno_location() #12
  %9339 = load i32, ptr %9338, align 4, !tbaa !5
  %9340 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9327, ptr noundef @.str.5, i32 noundef %9328, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 348, ptr noundef %9331, ptr noundef %9334, ptr noundef %9337, i32 noundef %9339) #11
  br label %9341

9341:                                             ; preds = %9324, %9307
  call void @llvm.lifetime.end.p0(i64 4, ptr %206) #11
  br label %9342

9342:                                             ; preds = %9341
  br label %9343

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

9344:                                             ; No predecessors!
  br label %9345

9345:                                             ; preds = %9344
  br label %9346

9346:                                             ; preds = %9345, %9287
  br label %9347

9347:                                             ; preds = %9346
  br label %9348

9348:                                             ; preds = %9347
  call void @llvm.lifetime.start.p0(i64 8, ptr %207) #11
  store i64 0, ptr %207, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %208) #11
  store i64 0, ptr %208, align 8, !tbaa !15
  br label %9349

9349:                                             ; preds = %9675, %9348
  %9350 = load i64, ptr %208, align 8, !tbaa !15
  %9351 = icmp ult i64 %9350, 10
  br i1 %9351, label %9353, label %9352

9352:                                             ; preds = %9349
  call void @llvm.lifetime.end.p0(i64 8, ptr %208) #11
  br label %9678

9353:                                             ; preds = %9349
  br label %9354

9354:                                             ; preds = %9353
  br label %9355

9355:                                             ; preds = %9354
  br label %9356

9356:                                             ; preds = %9355
  %9357 = load i32, ptr @test_count, align 4, !tbaa !5
  %9358 = add nsw i32 %9357, 1
  store i32 %9358, ptr @test_count, align 4, !tbaa !5
  %9359 = load ptr, ptr %195, align 8, !tbaa !9
  %9360 = getelementptr inbounds [1 x i8], ptr %201, i64 0, i64 0
  %9361 = call i32 @s2n_renegotiate(ptr noundef %9359, ptr noundef %9360, i64 noundef 1, ptr noundef %207, ptr noundef %17)
  %9362 = icmp eq i32 %9361, -1
  br i1 %9362, label %9416, label %9363

9363:                                             ; preds = %9356
  br label %9364

9364:                                             ; preds = %9363
  br label %9365

9365:                                             ; preds = %9364
  call void @llvm.lifetime.start.p0(i64 4, ptr %209) #11
  %9366 = call ptr @__errno_location() #12
  %9367 = load i32, ptr %9366, align 4, !tbaa !5
  store i32 %9367, ptr %209, align 4, !tbaa !5
  %9368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9369 = call i32 @s2n_print_stacktrace(ptr noundef %9368)
  %9370 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9371 = trunc i8 %9370 to i1
  br i1 %9371, label %9372, label %9394

9372:                                             ; preds = %9365
  %9373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9374 = call i32 @fileno(ptr noundef %9373) #11
  %9375 = call i32 @isatty(i32 noundef %9374) #11
  %9376 = icmp ne i32 %9375, 0
  br i1 %9376, label %9377, label %9394

9377:                                             ; preds = %9372
  %9378 = load i32, ptr %209, align 4, !tbaa !5
  %9379 = call ptr @__errno_location() #12
  store i32 %9378, ptr %9379, align 4, !tbaa !5
  %9380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9381 = load i32, ptr @test_count, align 4, !tbaa !5
  %9382 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9383 = load i32, ptr %9382, align 4, !tbaa !5
  %9384 = call ptr @s2n_strerror(i32 noundef %9383, ptr noundef @.str.4)
  %9385 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9386 = load i32, ptr %9385, align 4, !tbaa !5
  %9387 = call ptr @s2n_strerror_debug(i32 noundef %9386, ptr noundef @.str.4)
  %9388 = call ptr @__errno_location() #12
  %9389 = load i32, ptr %9388, align 4, !tbaa !5
  %9390 = call ptr @strerror(i32 noundef %9389) #11
  %9391 = call ptr @__errno_location() #12
  %9392 = load i32, ptr %9391, align 4, !tbaa !5
  %9393 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9380, ptr noundef @.str.2, i32 noundef %9381, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 354, ptr noundef %9384, ptr noundef %9387, ptr noundef %9390, i32 noundef %9392) #11
  br label %9411

9394:                                             ; preds = %9372, %9365
  %9395 = load i32, ptr %209, align 4, !tbaa !5
  %9396 = call ptr @__errno_location() #12
  store i32 %9395, ptr %9396, align 4, !tbaa !5
  %9397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9398 = load i32, ptr @test_count, align 4, !tbaa !5
  %9399 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9400 = load i32, ptr %9399, align 4, !tbaa !5
  %9401 = call ptr @s2n_strerror(i32 noundef %9400, ptr noundef @.str.4)
  %9402 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9403 = load i32, ptr %9402, align 4, !tbaa !5
  %9404 = call ptr @s2n_strerror_debug(i32 noundef %9403, ptr noundef @.str.4)
  %9405 = call ptr @__errno_location() #12
  %9406 = load i32, ptr %9405, align 4, !tbaa !5
  %9407 = call ptr @strerror(i32 noundef %9406) #11
  %9408 = call ptr @__errno_location() #12
  %9409 = load i32, ptr %9408, align 4, !tbaa !5
  %9410 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9397, ptr noundef @.str.5, i32 noundef %9398, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 354, ptr noundef %9401, ptr noundef %9404, ptr noundef %9407, i32 noundef %9409) #11
  br label %9411

9411:                                             ; preds = %9394, %9377
  call void @llvm.lifetime.end.p0(i64 4, ptr %209) #11
  br label %9412

9412:                                             ; preds = %9411
  br label %9413

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

9414:                                             ; No predecessors!
  br label %9415

9415:                                             ; preds = %9414
  br label %9416

9416:                                             ; preds = %9415, %9356
  br label %9417

9417:                                             ; preds = %9416
  br label %9418

9418:                                             ; preds = %9417
  br label %9419

9419:                                             ; preds = %9418
  %9420 = load i32, ptr @test_count, align 4, !tbaa !5
  %9421 = add nsw i32 %9420, 1
  store i32 %9421, ptr @test_count, align 4, !tbaa !5
  %9422 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9423 = load i32, ptr %9422, align 4, !tbaa !5
  %9424 = icmp eq i32 %9423, 201326592
  br i1 %9424, label %9478, label %9425

9425:                                             ; preds = %9419
  br label %9426

9426:                                             ; preds = %9425
  br label %9427

9427:                                             ; preds = %9426
  call void @llvm.lifetime.start.p0(i64 4, ptr %210) #11
  %9428 = call ptr @__errno_location() #12
  %9429 = load i32, ptr %9428, align 4, !tbaa !5
  store i32 %9429, ptr %210, align 4, !tbaa !5
  %9430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9431 = call i32 @s2n_print_stacktrace(ptr noundef %9430)
  %9432 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9433 = trunc i8 %9432 to i1
  br i1 %9433, label %9434, label %9456

9434:                                             ; preds = %9427
  %9435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9436 = call i32 @fileno(ptr noundef %9435) #11
  %9437 = call i32 @isatty(i32 noundef %9436) #11
  %9438 = icmp ne i32 %9437, 0
  br i1 %9438, label %9439, label %9456

9439:                                             ; preds = %9434
  %9440 = load i32, ptr %210, align 4, !tbaa !5
  %9441 = call ptr @__errno_location() #12
  store i32 %9440, ptr %9441, align 4, !tbaa !5
  %9442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9443 = load i32, ptr @test_count, align 4, !tbaa !5
  %9444 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9445 = load i32, ptr %9444, align 4, !tbaa !5
  %9446 = call ptr @s2n_strerror(i32 noundef %9445, ptr noundef @.str.4)
  %9447 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9448 = load i32, ptr %9447, align 4, !tbaa !5
  %9449 = call ptr @s2n_strerror_debug(i32 noundef %9448, ptr noundef @.str.4)
  %9450 = call ptr @__errno_location() #12
  %9451 = load i32, ptr %9450, align 4, !tbaa !5
  %9452 = call ptr @strerror(i32 noundef %9451) #11
  %9453 = call ptr @__errno_location() #12
  %9454 = load i32, ptr %9453, align 4, !tbaa !5
  %9455 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9442, ptr noundef @.str.2, i32 noundef %9443, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 354, ptr noundef %9446, ptr noundef %9449, ptr noundef %9452, i32 noundef %9454) #11
  br label %9473

9456:                                             ; preds = %9434, %9427
  %9457 = load i32, ptr %210, align 4, !tbaa !5
  %9458 = call ptr @__errno_location() #12
  store i32 %9457, ptr %9458, align 4, !tbaa !5
  %9459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9460 = load i32, ptr @test_count, align 4, !tbaa !5
  %9461 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9462 = load i32, ptr %9461, align 4, !tbaa !5
  %9463 = call ptr @s2n_strerror(i32 noundef %9462, ptr noundef @.str.4)
  %9464 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9465 = load i32, ptr %9464, align 4, !tbaa !5
  %9466 = call ptr @s2n_strerror_debug(i32 noundef %9465, ptr noundef @.str.4)
  %9467 = call ptr @__errno_location() #12
  %9468 = load i32, ptr %9467, align 4, !tbaa !5
  %9469 = call ptr @strerror(i32 noundef %9468) #11
  %9470 = call ptr @__errno_location() #12
  %9471 = load i32, ptr %9470, align 4, !tbaa !5
  %9472 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9459, ptr noundef @.str.5, i32 noundef %9460, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 354, ptr noundef %9463, ptr noundef %9466, ptr noundef %9469, i32 noundef %9471) #11
  br label %9473

9473:                                             ; preds = %9456, %9439
  call void @llvm.lifetime.end.p0(i64 4, ptr %210) #11
  br label %9474

9474:                                             ; preds = %9473
  br label %9475

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

9476:                                             ; No predecessors!
  br label %9477

9477:                                             ; preds = %9476
  br label %9478

9478:                                             ; preds = %9477, %9419
  br label %9479

9479:                                             ; preds = %9478
  br label %9480

9480:                                             ; preds = %9479
  br label %9481

9481:                                             ; preds = %9480
  %9482 = load i32, ptr @test_count, align 4, !tbaa !5
  %9483 = add nsw i32 %9482, 1
  store i32 %9483, ptr @test_count, align 4, !tbaa !5
  %9484 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9485 = load i32, ptr %9484, align 4, !tbaa !5
  %9486 = call ptr @s2n_strerror_debug(i32 noundef %9485, ptr noundef @.str.4)
  %9487 = icmp eq ptr %9486, null
  br i1 %9487, label %9488, label %9541

9488:                                             ; preds = %9481
  br label %9489

9489:                                             ; preds = %9488
  br label %9490

9490:                                             ; preds = %9489
  call void @llvm.lifetime.start.p0(i64 4, ptr %211) #11
  %9491 = call ptr @__errno_location() #12
  %9492 = load i32, ptr %9491, align 4, !tbaa !5
  store i32 %9492, ptr %211, align 4, !tbaa !5
  %9493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9494 = call i32 @s2n_print_stacktrace(ptr noundef %9493)
  %9495 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9496 = trunc i8 %9495 to i1
  br i1 %9496, label %9497, label %9519

9497:                                             ; preds = %9490
  %9498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9499 = call i32 @fileno(ptr noundef %9498) #11
  %9500 = call i32 @isatty(i32 noundef %9499) #11
  %9501 = icmp ne i32 %9500, 0
  br i1 %9501, label %9502, label %9519

9502:                                             ; preds = %9497
  %9503 = load i32, ptr %211, align 4, !tbaa !5
  %9504 = call ptr @__errno_location() #12
  store i32 %9503, ptr %9504, align 4, !tbaa !5
  %9505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9506 = load i32, ptr @test_count, align 4, !tbaa !5
  %9507 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9508 = load i32, ptr %9507, align 4, !tbaa !5
  %9509 = call ptr @s2n_strerror(i32 noundef %9508, ptr noundef @.str.4)
  %9510 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9511 = load i32, ptr %9510, align 4, !tbaa !5
  %9512 = call ptr @s2n_strerror_debug(i32 noundef %9511, ptr noundef @.str.4)
  %9513 = call ptr @__errno_location() #12
  %9514 = load i32, ptr %9513, align 4, !tbaa !5
  %9515 = call ptr @strerror(i32 noundef %9514) #11
  %9516 = call ptr @__errno_location() #12
  %9517 = load i32, ptr %9516, align 4, !tbaa !5
  %9518 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9505, ptr noundef @.str.2, i32 noundef %9506, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 354, ptr noundef %9509, ptr noundef %9512, ptr noundef %9515, i32 noundef %9517) #11
  br label %9536

9519:                                             ; preds = %9497, %9490
  %9520 = load i32, ptr %211, align 4, !tbaa !5
  %9521 = call ptr @__errno_location() #12
  store i32 %9520, ptr %9521, align 4, !tbaa !5
  %9522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9523 = load i32, ptr @test_count, align 4, !tbaa !5
  %9524 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9525 = load i32, ptr %9524, align 4, !tbaa !5
  %9526 = call ptr @s2n_strerror(i32 noundef %9525, ptr noundef @.str.4)
  %9527 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9528 = load i32, ptr %9527, align 4, !tbaa !5
  %9529 = call ptr @s2n_strerror_debug(i32 noundef %9528, ptr noundef @.str.4)
  %9530 = call ptr @__errno_location() #12
  %9531 = load i32, ptr %9530, align 4, !tbaa !5
  %9532 = call ptr @strerror(i32 noundef %9531) #11
  %9533 = call ptr @__errno_location() #12
  %9534 = load i32, ptr %9533, align 4, !tbaa !5
  %9535 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9522, ptr noundef @.str.5, i32 noundef %9523, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 354, ptr noundef %9526, ptr noundef %9529, ptr noundef %9532, i32 noundef %9534) #11
  br label %9536

9536:                                             ; preds = %9519, %9502
  call void @llvm.lifetime.end.p0(i64 4, ptr %211) #11
  br label %9537

9537:                                             ; preds = %9536
  br label %9538

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

9539:                                             ; No predecessors!
  br label %9540

9540:                                             ; preds = %9539
  br label %9541

9541:                                             ; preds = %9540, %9481
  br label %9542

9542:                                             ; preds = %9541
  br label %9543

9543:                                             ; preds = %9542
  br label %9544

9544:                                             ; preds = %9543
  br label %9545

9545:                                             ; preds = %9544
  br label %9546

9546:                                             ; preds = %9545
  %9547 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %9547, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %9548 = call ptr @__errno_location() #12
  store i32 0, ptr %9548, align 4, !tbaa !5
  br label %9549

9549:                                             ; preds = %9546
  br label %9550

9550:                                             ; preds = %9549
  br label %9551

9551:                                             ; preds = %9550
  br label %9552

9552:                                             ; preds = %9551
  br label %9553

9553:                                             ; preds = %9552
  %9554 = load i32, ptr @test_count, align 4, !tbaa !5
  %9555 = add nsw i32 %9554, 1
  store i32 %9555, ptr @test_count, align 4, !tbaa !5
  %9556 = load i32, ptr %17, align 4, !tbaa !5
  %9557 = icmp eq i32 %9556, 2
  br i1 %9557, label %9611, label %9558

9558:                                             ; preds = %9553
  br label %9559

9559:                                             ; preds = %9558
  br label %9560

9560:                                             ; preds = %9559
  call void @llvm.lifetime.start.p0(i64 4, ptr %212) #11
  %9561 = call ptr @__errno_location() #12
  %9562 = load i32, ptr %9561, align 4, !tbaa !5
  store i32 %9562, ptr %212, align 4, !tbaa !5
  %9563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9564 = call i32 @s2n_print_stacktrace(ptr noundef %9563)
  %9565 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9566 = trunc i8 %9565 to i1
  br i1 %9566, label %9567, label %9589

9567:                                             ; preds = %9560
  %9568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9569 = call i32 @fileno(ptr noundef %9568) #11
  %9570 = call i32 @isatty(i32 noundef %9569) #11
  %9571 = icmp ne i32 %9570, 0
  br i1 %9571, label %9572, label %9589

9572:                                             ; preds = %9567
  %9573 = load i32, ptr %212, align 4, !tbaa !5
  %9574 = call ptr @__errno_location() #12
  store i32 %9573, ptr %9574, align 4, !tbaa !5
  %9575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9576 = load i32, ptr @test_count, align 4, !tbaa !5
  %9577 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9578 = load i32, ptr %9577, align 4, !tbaa !5
  %9579 = call ptr @s2n_strerror(i32 noundef %9578, ptr noundef @.str.4)
  %9580 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9581 = load i32, ptr %9580, align 4, !tbaa !5
  %9582 = call ptr @s2n_strerror_debug(i32 noundef %9581, ptr noundef @.str.4)
  %9583 = call ptr @__errno_location() #12
  %9584 = load i32, ptr %9583, align 4, !tbaa !5
  %9585 = call ptr @strerror(i32 noundef %9584) #11
  %9586 = call ptr @__errno_location() #12
  %9587 = load i32, ptr %9586, align 4, !tbaa !5
  %9588 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9575, ptr noundef @.str.2, i32 noundef %9576, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 355, ptr noundef %9579, ptr noundef %9582, ptr noundef %9585, i32 noundef %9587) #11
  br label %9606

9589:                                             ; preds = %9567, %9560
  %9590 = load i32, ptr %212, align 4, !tbaa !5
  %9591 = call ptr @__errno_location() #12
  store i32 %9590, ptr %9591, align 4, !tbaa !5
  %9592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9593 = load i32, ptr @test_count, align 4, !tbaa !5
  %9594 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9595 = load i32, ptr %9594, align 4, !tbaa !5
  %9596 = call ptr @s2n_strerror(i32 noundef %9595, ptr noundef @.str.4)
  %9597 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9598 = load i32, ptr %9597, align 4, !tbaa !5
  %9599 = call ptr @s2n_strerror_debug(i32 noundef %9598, ptr noundef @.str.4)
  %9600 = call ptr @__errno_location() #12
  %9601 = load i32, ptr %9600, align 4, !tbaa !5
  %9602 = call ptr @strerror(i32 noundef %9601) #11
  %9603 = call ptr @__errno_location() #12
  %9604 = load i32, ptr %9603, align 4, !tbaa !5
  %9605 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9592, ptr noundef @.str.5, i32 noundef %9593, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 355, ptr noundef %9596, ptr noundef %9599, ptr noundef %9602, i32 noundef %9604) #11
  br label %9606

9606:                                             ; preds = %9589, %9572
  call void @llvm.lifetime.end.p0(i64 4, ptr %212) #11
  br label %9607

9607:                                             ; preds = %9606
  br label %9608

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

9609:                                             ; No predecessors!
  br label %9610

9610:                                             ; preds = %9609
  br label %9611

9611:                                             ; preds = %9610, %9553
  br label %9612

9612:                                             ; preds = %9611
  br label %9613

9613:                                             ; preds = %9612
  br label %9614

9614:                                             ; preds = %9613
  %9615 = load i32, ptr @test_count, align 4, !tbaa !5
  %9616 = add nsw i32 %9615, 1
  store i32 %9616, ptr @test_count, align 4, !tbaa !5
  %9617 = load i64, ptr %207, align 8, !tbaa !15
  %9618 = icmp eq i64 %9617, 0
  br i1 %9618, label %9672, label %9619

9619:                                             ; preds = %9614
  br label %9620

9620:                                             ; preds = %9619
  br label %9621

9621:                                             ; preds = %9620
  call void @llvm.lifetime.start.p0(i64 4, ptr %213) #11
  %9622 = call ptr @__errno_location() #12
  %9623 = load i32, ptr %9622, align 4, !tbaa !5
  store i32 %9623, ptr %213, align 4, !tbaa !5
  %9624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9625 = call i32 @s2n_print_stacktrace(ptr noundef %9624)
  %9626 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9627 = trunc i8 %9626 to i1
  br i1 %9627, label %9628, label %9650

9628:                                             ; preds = %9621
  %9629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9630 = call i32 @fileno(ptr noundef %9629) #11
  %9631 = call i32 @isatty(i32 noundef %9630) #11
  %9632 = icmp ne i32 %9631, 0
  br i1 %9632, label %9633, label %9650

9633:                                             ; preds = %9628
  %9634 = load i32, ptr %213, align 4, !tbaa !5
  %9635 = call ptr @__errno_location() #12
  store i32 %9634, ptr %9635, align 4, !tbaa !5
  %9636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9637 = load i32, ptr @test_count, align 4, !tbaa !5
  %9638 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9639 = load i32, ptr %9638, align 4, !tbaa !5
  %9640 = call ptr @s2n_strerror(i32 noundef %9639, ptr noundef @.str.4)
  %9641 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9642 = load i32, ptr %9641, align 4, !tbaa !5
  %9643 = call ptr @s2n_strerror_debug(i32 noundef %9642, ptr noundef @.str.4)
  %9644 = call ptr @__errno_location() #12
  %9645 = load i32, ptr %9644, align 4, !tbaa !5
  %9646 = call ptr @strerror(i32 noundef %9645) #11
  %9647 = call ptr @__errno_location() #12
  %9648 = load i32, ptr %9647, align 4, !tbaa !5
  %9649 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9636, ptr noundef @.str.2, i32 noundef %9637, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 356, ptr noundef %9640, ptr noundef %9643, ptr noundef %9646, i32 noundef %9648) #11
  br label %9667

9650:                                             ; preds = %9628, %9621
  %9651 = load i32, ptr %213, align 4, !tbaa !5
  %9652 = call ptr @__errno_location() #12
  store i32 %9651, ptr %9652, align 4, !tbaa !5
  %9653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9654 = load i32, ptr @test_count, align 4, !tbaa !5
  %9655 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9656 = load i32, ptr %9655, align 4, !tbaa !5
  %9657 = call ptr @s2n_strerror(i32 noundef %9656, ptr noundef @.str.4)
  %9658 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9659 = load i32, ptr %9658, align 4, !tbaa !5
  %9660 = call ptr @s2n_strerror_debug(i32 noundef %9659, ptr noundef @.str.4)
  %9661 = call ptr @__errno_location() #12
  %9662 = load i32, ptr %9661, align 4, !tbaa !5
  %9663 = call ptr @strerror(i32 noundef %9662) #11
  %9664 = call ptr @__errno_location() #12
  %9665 = load i32, ptr %9664, align 4, !tbaa !5
  %9666 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9653, ptr noundef @.str.5, i32 noundef %9654, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 356, ptr noundef %9657, ptr noundef %9660, ptr noundef %9663, i32 noundef %9665) #11
  br label %9667

9667:                                             ; preds = %9650, %9633
  call void @llvm.lifetime.end.p0(i64 4, ptr %213) #11
  br label %9668

9668:                                             ; preds = %9667
  br label %9669

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

9670:                                             ; No predecessors!
  br label %9671

9671:                                             ; preds = %9670
  br label %9672

9672:                                             ; preds = %9671, %9614
  br label %9673

9673:                                             ; preds = %9672
  br label %9674

9674:                                             ; preds = %9673
  br label %9675

9675:                                             ; preds = %9674
  %9676 = load i64, ptr %208, align 8, !tbaa !15
  %9677 = add i64 %9676, 1
  store i64 %9677, ptr %208, align 8, !tbaa !15
  br label %9349, !llvm.loop !48

9678:                                             ; preds = %9352
  br label %9679

9679:                                             ; preds = %9678
  %9680 = load i32, ptr @test_count, align 4, !tbaa !5
  %9681 = add nsw i32 %9680, 1
  store i32 %9681, ptr @test_count, align 4, !tbaa !5
  %9682 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %205, i32 noundef 0)
  %9683 = icmp eq i32 %9682, -1
  br i1 %9683, label %9684, label %9737

9684:                                             ; preds = %9679
  br label %9685

9685:                                             ; preds = %9684
  br label %9686

9686:                                             ; preds = %9685
  call void @llvm.lifetime.start.p0(i64 4, ptr %214) #11
  %9687 = call ptr @__errno_location() #12
  %9688 = load i32, ptr %9687, align 4, !tbaa !5
  store i32 %9688, ptr %214, align 4, !tbaa !5
  %9689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9690 = call i32 @s2n_print_stacktrace(ptr noundef %9689)
  %9691 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9692 = trunc i8 %9691 to i1
  br i1 %9692, label %9693, label %9715

9693:                                             ; preds = %9686
  %9694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9695 = call i32 @fileno(ptr noundef %9694) #11
  %9696 = call i32 @isatty(i32 noundef %9695) #11
  %9697 = icmp ne i32 %9696, 0
  br i1 %9697, label %9698, label %9715

9698:                                             ; preds = %9693
  %9699 = load i32, ptr %214, align 4, !tbaa !5
  %9700 = call ptr @__errno_location() #12
  store i32 %9699, ptr %9700, align 4, !tbaa !5
  %9701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9702 = load i32, ptr @test_count, align 4, !tbaa !5
  %9703 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9704 = load i32, ptr %9703, align 4, !tbaa !5
  %9705 = call ptr @s2n_strerror(i32 noundef %9704, ptr noundef @.str.4)
  %9706 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9707 = load i32, ptr %9706, align 4, !tbaa !5
  %9708 = call ptr @s2n_strerror_debug(i32 noundef %9707, ptr noundef @.str.4)
  %9709 = call ptr @__errno_location() #12
  %9710 = load i32, ptr %9709, align 4, !tbaa !5
  %9711 = call ptr @strerror(i32 noundef %9710) #11
  %9712 = call ptr @__errno_location() #12
  %9713 = load i32, ptr %9712, align 4, !tbaa !5
  %9714 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9701, ptr noundef @.str.2, i32 noundef %9702, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 360, ptr noundef %9705, ptr noundef %9708, ptr noundef %9711, i32 noundef %9713) #11
  br label %9732

9715:                                             ; preds = %9693, %9686
  %9716 = load i32, ptr %214, align 4, !tbaa !5
  %9717 = call ptr @__errno_location() #12
  store i32 %9716, ptr %9717, align 4, !tbaa !5
  %9718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9719 = load i32, ptr @test_count, align 4, !tbaa !5
  %9720 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9721 = load i32, ptr %9720, align 4, !tbaa !5
  %9722 = call ptr @s2n_strerror(i32 noundef %9721, ptr noundef @.str.4)
  %9723 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9724 = load i32, ptr %9723, align 4, !tbaa !5
  %9725 = call ptr @s2n_strerror_debug(i32 noundef %9724, ptr noundef @.str.4)
  %9726 = call ptr @__errno_location() #12
  %9727 = load i32, ptr %9726, align 4, !tbaa !5
  %9728 = call ptr @strerror(i32 noundef %9727) #11
  %9729 = call ptr @__errno_location() #12
  %9730 = load i32, ptr %9729, align 4, !tbaa !5
  %9731 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9718, ptr noundef @.str.5, i32 noundef %9719, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 360, ptr noundef %9722, ptr noundef %9725, ptr noundef %9728, i32 noundef %9730) #11
  br label %9732

9732:                                             ; preds = %9715, %9698
  call void @llvm.lifetime.end.p0(i64 4, ptr %214) #11
  br label %9733

9733:                                             ; preds = %9732
  br label %9734

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

9735:                                             ; No predecessors!
  br label %9736

9736:                                             ; preds = %9735
  br label %9737

9737:                                             ; preds = %9736, %9679
  br label %9738

9738:                                             ; preds = %9737
  br label %9739

9739:                                             ; preds = %9738
  br label %9740

9740:                                             ; preds = %9739
  br label %9741

9741:                                             ; preds = %9740
  br label %9742

9742:                                             ; preds = %9741
  %9743 = load i32, ptr @test_count, align 4, !tbaa !5
  %9744 = add nsw i32 %9743, 1
  store i32 %9744, ptr @test_count, align 4, !tbaa !5
  %9745 = load ptr, ptr %195, align 8, !tbaa !9
  %9746 = getelementptr inbounds [1 x i8], ptr %201, i64 0, i64 0
  %9747 = call i32 @s2n_renegotiate(ptr noundef %9745, ptr noundef %9746, i64 noundef 1, ptr noundef %207, ptr noundef %17)
  %9748 = icmp eq i32 %9747, -1
  br i1 %9748, label %9802, label %9749

9749:                                             ; preds = %9742
  br label %9750

9750:                                             ; preds = %9749
  br label %9751

9751:                                             ; preds = %9750
  call void @llvm.lifetime.start.p0(i64 4, ptr %215) #11
  %9752 = call ptr @__errno_location() #12
  %9753 = load i32, ptr %9752, align 4, !tbaa !5
  store i32 %9753, ptr %215, align 4, !tbaa !5
  %9754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9755 = call i32 @s2n_print_stacktrace(ptr noundef %9754)
  %9756 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9757 = trunc i8 %9756 to i1
  br i1 %9757, label %9758, label %9780

9758:                                             ; preds = %9751
  %9759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9760 = call i32 @fileno(ptr noundef %9759) #11
  %9761 = call i32 @isatty(i32 noundef %9760) #11
  %9762 = icmp ne i32 %9761, 0
  br i1 %9762, label %9763, label %9780

9763:                                             ; preds = %9758
  %9764 = load i32, ptr %215, align 4, !tbaa !5
  %9765 = call ptr @__errno_location() #12
  store i32 %9764, ptr %9765, align 4, !tbaa !5
  %9766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9767 = load i32, ptr @test_count, align 4, !tbaa !5
  %9768 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9769 = load i32, ptr %9768, align 4, !tbaa !5
  %9770 = call ptr @s2n_strerror(i32 noundef %9769, ptr noundef @.str.4)
  %9771 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9772 = load i32, ptr %9771, align 4, !tbaa !5
  %9773 = call ptr @s2n_strerror_debug(i32 noundef %9772, ptr noundef @.str.4)
  %9774 = call ptr @__errno_location() #12
  %9775 = load i32, ptr %9774, align 4, !tbaa !5
  %9776 = call ptr @strerror(i32 noundef %9775) #11
  %9777 = call ptr @__errno_location() #12
  %9778 = load i32, ptr %9777, align 4, !tbaa !5
  %9779 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9766, ptr noundef @.str.2, i32 noundef %9767, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 364, ptr noundef %9770, ptr noundef %9773, ptr noundef %9776, i32 noundef %9778) #11
  br label %9797

9780:                                             ; preds = %9758, %9751
  %9781 = load i32, ptr %215, align 4, !tbaa !5
  %9782 = call ptr @__errno_location() #12
  store i32 %9781, ptr %9782, align 4, !tbaa !5
  %9783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9784 = load i32, ptr @test_count, align 4, !tbaa !5
  %9785 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9786 = load i32, ptr %9785, align 4, !tbaa !5
  %9787 = call ptr @s2n_strerror(i32 noundef %9786, ptr noundef @.str.4)
  %9788 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9789 = load i32, ptr %9788, align 4, !tbaa !5
  %9790 = call ptr @s2n_strerror_debug(i32 noundef %9789, ptr noundef @.str.4)
  %9791 = call ptr @__errno_location() #12
  %9792 = load i32, ptr %9791, align 4, !tbaa !5
  %9793 = call ptr @strerror(i32 noundef %9792) #11
  %9794 = call ptr @__errno_location() #12
  %9795 = load i32, ptr %9794, align 4, !tbaa !5
  %9796 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9783, ptr noundef @.str.5, i32 noundef %9784, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 364, ptr noundef %9787, ptr noundef %9790, ptr noundef %9793, i32 noundef %9795) #11
  br label %9797

9797:                                             ; preds = %9780, %9763
  call void @llvm.lifetime.end.p0(i64 4, ptr %215) #11
  br label %9798

9798:                                             ; preds = %9797
  br label %9799

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

9800:                                             ; No predecessors!
  br label %9801

9801:                                             ; preds = %9800
  br label %9802

9802:                                             ; preds = %9801, %9742
  br label %9803

9803:                                             ; preds = %9802
  br label %9804

9804:                                             ; preds = %9803
  br label %9805

9805:                                             ; preds = %9804
  %9806 = load i32, ptr @test_count, align 4, !tbaa !5
  %9807 = add nsw i32 %9806, 1
  store i32 %9807, ptr @test_count, align 4, !tbaa !5
  %9808 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9809 = load i32, ptr %9808, align 4, !tbaa !5
  %9810 = icmp eq i32 %9809, 201326592
  br i1 %9810, label %9864, label %9811

9811:                                             ; preds = %9805
  br label %9812

9812:                                             ; preds = %9811
  br label %9813

9813:                                             ; preds = %9812
  call void @llvm.lifetime.start.p0(i64 4, ptr %216) #11
  %9814 = call ptr @__errno_location() #12
  %9815 = load i32, ptr %9814, align 4, !tbaa !5
  store i32 %9815, ptr %216, align 4, !tbaa !5
  %9816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9817 = call i32 @s2n_print_stacktrace(ptr noundef %9816)
  %9818 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9819 = trunc i8 %9818 to i1
  br i1 %9819, label %9820, label %9842

9820:                                             ; preds = %9813
  %9821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9822 = call i32 @fileno(ptr noundef %9821) #11
  %9823 = call i32 @isatty(i32 noundef %9822) #11
  %9824 = icmp ne i32 %9823, 0
  br i1 %9824, label %9825, label %9842

9825:                                             ; preds = %9820
  %9826 = load i32, ptr %216, align 4, !tbaa !5
  %9827 = call ptr @__errno_location() #12
  store i32 %9826, ptr %9827, align 4, !tbaa !5
  %9828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9829 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %9831, ptr noundef @.str.4)
  %9833 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9834 = load i32, ptr %9833, align 4, !tbaa !5
  %9835 = call ptr @s2n_strerror_debug(i32 noundef %9834, ptr noundef @.str.4)
  %9836 = call ptr @__errno_location() #12
  %9837 = load i32, ptr %9836, align 4, !tbaa !5
  %9838 = call ptr @strerror(i32 noundef %9837) #11
  %9839 = call ptr @__errno_location() #12
  %9840 = load i32, ptr %9839, align 4, !tbaa !5
  %9841 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9828, ptr noundef @.str.2, i32 noundef %9829, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 364, ptr noundef %9832, ptr noundef %9835, ptr noundef %9838, i32 noundef %9840) #11
  br label %9859

9842:                                             ; preds = %9820, %9813
  %9843 = load i32, ptr %216, align 4, !tbaa !5
  %9844 = call ptr @__errno_location() #12
  store i32 %9843, ptr %9844, align 4, !tbaa !5
  %9845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9846 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %9848, ptr noundef @.str.4)
  %9850 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9851 = load i32, ptr %9850, align 4, !tbaa !5
  %9852 = call ptr @s2n_strerror_debug(i32 noundef %9851, ptr noundef @.str.4)
  %9853 = call ptr @__errno_location() #12
  %9854 = load i32, ptr %9853, align 4, !tbaa !5
  %9855 = call ptr @strerror(i32 noundef %9854) #11
  %9856 = call ptr @__errno_location() #12
  %9857 = load i32, ptr %9856, align 4, !tbaa !5
  %9858 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9845, ptr noundef @.str.5, i32 noundef %9846, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 364, ptr noundef %9849, ptr noundef %9852, ptr noundef %9855, i32 noundef %9857) #11
  br label %9859

9859:                                             ; preds = %9842, %9825
  call void @llvm.lifetime.end.p0(i64 4, ptr %216) #11
  br label %9860

9860:                                             ; preds = %9859
  br label %9861

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

9862:                                             ; No predecessors!
  br label %9863

9863:                                             ; preds = %9862
  br label %9864

9864:                                             ; preds = %9863, %9805
  br label %9865

9865:                                             ; preds = %9864
  br label %9866

9866:                                             ; preds = %9865
  br label %9867

9867:                                             ; preds = %9866
  %9868 = load i32, ptr @test_count, align 4, !tbaa !5
  %9869 = add nsw i32 %9868, 1
  store i32 %9869, ptr @test_count, align 4, !tbaa !5
  %9870 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9871 = load i32, ptr %9870, align 4, !tbaa !5
  %9872 = call ptr @s2n_strerror_debug(i32 noundef %9871, ptr noundef @.str.4)
  %9873 = icmp eq ptr %9872, null
  br i1 %9873, label %9874, label %9927

9874:                                             ; preds = %9867
  br label %9875

9875:                                             ; preds = %9874
  br label %9876

9876:                                             ; preds = %9875
  call void @llvm.lifetime.start.p0(i64 4, ptr %217) #11
  %9877 = call ptr @__errno_location() #12
  %9878 = load i32, ptr %9877, align 4, !tbaa !5
  store i32 %9878, ptr %217, 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 %217, 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.29, ptr noundef @.str.1, i32 noundef 364, ptr noundef %9895, ptr noundef %9898, ptr noundef %9901, i32 noundef %9903) #11
  br label %9922

9905:                                             ; preds = %9883, %9876
  %9906 = load i32, ptr %217, 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.29, ptr noundef @.str.1, i32 noundef 364, 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 %217) #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, %9867
  br label %9928

9928:                                             ; preds = %9927
  br label %9929

9929:                                             ; preds = %9928
  br label %9930

9930:                                             ; preds = %9929
  br label %9931

9931:                                             ; preds = %9930
  br label %9932

9932:                                             ; preds = %9931
  %9933 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %9933, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %9934 = call ptr @__errno_location() #12
  store i32 0, ptr %9934, align 4, !tbaa !5
  br label %9935

9935:                                             ; preds = %9932
  br label %9936

9936:                                             ; preds = %9935
  br label %9937

9937:                                             ; preds = %9936
  br label %9938

9938:                                             ; preds = %9937
  br label %9939

9939:                                             ; preds = %9938
  %9940 = load i32, ptr @test_count, align 4, !tbaa !5
  %9941 = add nsw i32 %9940, 1
  store i32 %9941, ptr @test_count, align 4, !tbaa !5
  %9942 = load i32, ptr %17, align 4, !tbaa !5
  %9943 = icmp eq i32 %9942, 1
  br i1 %9943, label %9997, label %9944

9944:                                             ; preds = %9939
  br label %9945

9945:                                             ; preds = %9944
  br label %9946

9946:                                             ; preds = %9945
  call void @llvm.lifetime.start.p0(i64 4, ptr %218) #11
  %9947 = call ptr @__errno_location() #12
  %9948 = load i32, ptr %9947, align 4, !tbaa !5
  store i32 %9948, ptr %218, align 4, !tbaa !5
  %9949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9950 = call i32 @s2n_print_stacktrace(ptr noundef %9949)
  %9951 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9952 = trunc i8 %9951 to i1
  br i1 %9952, label %9953, label %9975

9953:                                             ; preds = %9946
  %9954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9955 = call i32 @fileno(ptr noundef %9954) #11
  %9956 = call i32 @isatty(i32 noundef %9955) #11
  %9957 = icmp ne i32 %9956, 0
  br i1 %9957, label %9958, label %9975

9958:                                             ; preds = %9953
  %9959 = load i32, ptr %218, align 4, !tbaa !5
  %9960 = call ptr @__errno_location() #12
  store i32 %9959, ptr %9960, align 4, !tbaa !5
  %9961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9962 = load i32, ptr @test_count, align 4, !tbaa !5
  %9963 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9964 = load i32, ptr %9963, align 4, !tbaa !5
  %9965 = call ptr @s2n_strerror(i32 noundef %9964, ptr noundef @.str.4)
  %9966 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9967 = load i32, ptr %9966, align 4, !tbaa !5
  %9968 = call ptr @s2n_strerror_debug(i32 noundef %9967, ptr noundef @.str.4)
  %9969 = call ptr @__errno_location() #12
  %9970 = load i32, ptr %9969, align 4, !tbaa !5
  %9971 = call ptr @strerror(i32 noundef %9970) #11
  %9972 = call ptr @__errno_location() #12
  %9973 = load i32, ptr %9972, align 4, !tbaa !5
  %9974 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9961, ptr noundef @.str.2, i32 noundef %9962, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 365, ptr noundef %9965, ptr noundef %9968, ptr noundef %9971, i32 noundef %9973) #11
  br label %9992

9975:                                             ; preds = %9953, %9946
  %9976 = load i32, ptr %218, align 4, !tbaa !5
  %9977 = call ptr @__errno_location() #12
  store i32 %9976, ptr %9977, align 4, !tbaa !5
  %9978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9979 = load i32, ptr @test_count, align 4, !tbaa !5
  %9980 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9981 = load i32, ptr %9980, align 4, !tbaa !5
  %9982 = call ptr @s2n_strerror(i32 noundef %9981, ptr noundef @.str.4)
  %9983 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9984 = load i32, ptr %9983, align 4, !tbaa !5
  %9985 = call ptr @s2n_strerror_debug(i32 noundef %9984, ptr noundef @.str.4)
  %9986 = call ptr @__errno_location() #12
  %9987 = load i32, ptr %9986, align 4, !tbaa !5
  %9988 = call ptr @strerror(i32 noundef %9987) #11
  %9989 = call ptr @__errno_location() #12
  %9990 = load i32, ptr %9989, align 4, !tbaa !5
  %9991 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9978, ptr noundef @.str.5, i32 noundef %9979, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 365, ptr noundef %9982, ptr noundef %9985, ptr noundef %9988, i32 noundef %9990) #11
  br label %9992

9992:                                             ; preds = %9975, %9958
  call void @llvm.lifetime.end.p0(i64 4, ptr %218) #11
  br label %9993

9993:                                             ; preds = %9992
  br label %9994

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

9995:                                             ; No predecessors!
  br label %9996

9996:                                             ; preds = %9995
  br label %9997

9997:                                             ; preds = %9996, %9939
  br label %9998

9998:                                             ; preds = %9997
  br label %9999

9999:                                             ; preds = %9998
  br label %10000

10000:                                            ; preds = %9999
  %10001 = load i32, ptr @test_count, align 4, !tbaa !5
  %10002 = add nsw i32 %10001, 1
  store i32 %10002, ptr @test_count, align 4, !tbaa !5
  %10003 = load i64, ptr %207, align 8, !tbaa !15
  %10004 = icmp eq i64 %10003, 0
  br i1 %10004, label %10058, label %10005

10005:                                            ; preds = %10000
  br label %10006

10006:                                            ; preds = %10005
  br label %10007

10007:                                            ; preds = %10006
  call void @llvm.lifetime.start.p0(i64 4, ptr %219) #11
  %10008 = call ptr @__errno_location() #12
  %10009 = load i32, ptr %10008, align 4, !tbaa !5
  store i32 %10009, ptr %219, align 4, !tbaa !5
  %10010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10011 = call i32 @s2n_print_stacktrace(ptr noundef %10010)
  %10012 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10013 = trunc i8 %10012 to i1
  br i1 %10013, label %10014, label %10036

10014:                                            ; preds = %10007
  %10015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10016 = call i32 @fileno(ptr noundef %10015) #11
  %10017 = call i32 @isatty(i32 noundef %10016) #11
  %10018 = icmp ne i32 %10017, 0
  br i1 %10018, label %10019, label %10036

10019:                                            ; preds = %10014
  %10020 = load i32, ptr %219, align 4, !tbaa !5
  %10021 = call ptr @__errno_location() #12
  store i32 %10020, ptr %10021, align 4, !tbaa !5
  %10022 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10023 = load i32, ptr @test_count, align 4, !tbaa !5
  %10024 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10025 = load i32, ptr %10024, align 4, !tbaa !5
  %10026 = call ptr @s2n_strerror(i32 noundef %10025, ptr noundef @.str.4)
  %10027 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10028 = load i32, ptr %10027, align 4, !tbaa !5
  %10029 = call ptr @s2n_strerror_debug(i32 noundef %10028, ptr noundef @.str.4)
  %10030 = call ptr @__errno_location() #12
  %10031 = load i32, ptr %10030, align 4, !tbaa !5
  %10032 = call ptr @strerror(i32 noundef %10031) #11
  %10033 = call ptr @__errno_location() #12
  %10034 = load i32, ptr %10033, align 4, !tbaa !5
  %10035 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10022, ptr noundef @.str.2, i32 noundef %10023, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 366, ptr noundef %10026, ptr noundef %10029, ptr noundef %10032, i32 noundef %10034) #11
  br label %10053

10036:                                            ; preds = %10014, %10007
  %10037 = load i32, ptr %219, align 4, !tbaa !5
  %10038 = call ptr @__errno_location() #12
  store i32 %10037, ptr %10038, align 4, !tbaa !5
  %10039 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10040 = load i32, ptr @test_count, align 4, !tbaa !5
  %10041 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10042 = load i32, ptr %10041, align 4, !tbaa !5
  %10043 = call ptr @s2n_strerror(i32 noundef %10042, ptr noundef @.str.4)
  %10044 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10045 = load i32, ptr %10044, align 4, !tbaa !5
  %10046 = call ptr @s2n_strerror_debug(i32 noundef %10045, ptr noundef @.str.4)
  %10047 = call ptr @__errno_location() #12
  %10048 = load i32, ptr %10047, align 4, !tbaa !5
  %10049 = call ptr @strerror(i32 noundef %10048) #11
  %10050 = call ptr @__errno_location() #12
  %10051 = load i32, ptr %10050, align 4, !tbaa !5
  %10052 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10039, ptr noundef @.str.5, i32 noundef %10040, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 366, ptr noundef %10043, ptr noundef %10046, ptr noundef %10049, i32 noundef %10051) #11
  br label %10053

10053:                                            ; preds = %10036, %10019
  call void @llvm.lifetime.end.p0(i64 4, ptr %219) #11
  br label %10054

10054:                                            ; preds = %10053
  br label %10055

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

10056:                                            ; No predecessors!
  br label %10057

10057:                                            ; preds = %10056
  br label %10058

10058:                                            ; preds = %10057, %10000
  br label %10059

10059:                                            ; preds = %10058
  br label %10060

10060:                                            ; preds = %10059
  call void @llvm.lifetime.end.p0(i64 8, ptr %207) #11
  %10061 = call i32 @s2n_stuffer_free(ptr noundef %205)
  call void @llvm.lifetime.end.p0(i64 40, ptr %205) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %201) #11
  %10062 = call i32 @s2n_io_pair_close(ptr noundef %198)
  call void @llvm.lifetime.end.p0(i64 8, ptr %198) #11
  %10063 = call i32 @s2n_connection_ptr_free(ptr noundef %195)
  %10064 = getelementptr inbounds %struct.s2n_result, ptr %220, i32 0, i32 0
  store i32 %10063, ptr %10064, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %195) #11
  %10065 = call i32 @s2n_connection_ptr_free(ptr noundef %192)
  %10066 = getelementptr inbounds %struct.s2n_result, ptr %221, i32 0, i32 0
  store i32 %10065, ptr %10066, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %192) #11
  call void @llvm.lifetime.start.p0(i64 30, ptr %222) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %222, ptr align 16 @__const.main.messages, i64 30, i1 false)
  br label %10067

10067:                                            ; preds = %10060
  %10068 = load i32, ptr @test_count, align 4, !tbaa !5
  %10069 = add nsw i32 %10068, 1
  store i32 %10069, ptr @test_count, align 4, !tbaa !5
  br label %10070

10070:                                            ; preds = %10067
  br label %10071

10071:                                            ; preds = %10070
  call void @llvm.lifetime.start.p0(i64 1, ptr %223) #11
  store i8 0, ptr %223, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %224) #11
  store i8 0, ptr %224, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %225) #11
  store i8 0, ptr %225, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %226) #11
  store i8 0, ptr %226, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %227) #11
  store i8 0, ptr %227, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %228) #11
  store i64 0, ptr %228, align 8, !tbaa !15
  br label %10072

10072:                                            ; preds = %13145, %10071
  %10073 = load i64, ptr %228, align 8, !tbaa !15
  %10074 = icmp ult i64 %10073, 8
  br i1 %10074, label %10076, label %10075

10075:                                            ; preds = %10072
  store i32 1024, ptr %229, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %228) #11
  br label %13148

10076:                                            ; preds = %10072
  call void @llvm.lifetime.start.p0(i64 8, ptr %230) #11
  %10077 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %10077, ptr %230, align 8, !tbaa !9
  br label %10078

10078:                                            ; preds = %10076
  %10079 = load i32, ptr @test_count, align 4, !tbaa !5
  %10080 = add nsw i32 %10079, 1
  store i32 %10080, ptr @test_count, align 4, !tbaa !5
  %10081 = load ptr, ptr %230, align 8, !tbaa !9
  %10082 = icmp eq ptr %10081, null
  br i1 %10082, label %10083, label %10136

10083:                                            ; preds = %10078
  br label %10084

10084:                                            ; preds = %10083
  br label %10085

10085:                                            ; preds = %10084
  call void @llvm.lifetime.start.p0(i64 4, ptr %231) #11
  %10086 = call ptr @__errno_location() #12
  %10087 = load i32, ptr %10086, align 4, !tbaa !5
  store i32 %10087, ptr %231, align 4, !tbaa !5
  %10088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10089 = call i32 @s2n_print_stacktrace(ptr noundef %10088)
  %10090 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10091 = trunc i8 %10090 to i1
  br i1 %10091, label %10092, label %10114

10092:                                            ; preds = %10085
  %10093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10094 = call i32 @fileno(ptr noundef %10093) #11
  %10095 = call i32 @isatty(i32 noundef %10094) #11
  %10096 = icmp ne i32 %10095, 0
  br i1 %10096, label %10097, label %10114

10097:                                            ; preds = %10092
  %10098 = load i32, ptr %231, align 4, !tbaa !5
  %10099 = call ptr @__errno_location() #12
  store i32 %10098, ptr %10099, align 4, !tbaa !5
  %10100 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10101 = load i32, ptr @test_count, align 4, !tbaa !5
  %10102 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10103 = load i32, ptr %10102, align 4, !tbaa !5
  %10104 = call ptr @s2n_strerror(i32 noundef %10103, ptr noundef @.str.4)
  %10105 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10106 = load i32, ptr %10105, align 4, !tbaa !5
  %10107 = call ptr @s2n_strerror_debug(i32 noundef %10106, ptr noundef @.str.4)
  %10108 = call ptr @__errno_location() #12
  %10109 = load i32, ptr %10108, align 4, !tbaa !5
  %10110 = call ptr @strerror(i32 noundef %10109) #11
  %10111 = call ptr @__errno_location() #12
  %10112 = load i32, ptr %10111, align 4, !tbaa !5
  %10113 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10100, ptr noundef @.str.2, i32 noundef %10101, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 390, ptr noundef %10104, ptr noundef %10107, ptr noundef %10110, i32 noundef %10112) #11
  br label %10131

10114:                                            ; preds = %10092, %10085
  %10115 = load i32, ptr %231, align 4, !tbaa !5
  %10116 = call ptr @__errno_location() #12
  store i32 %10115, ptr %10116, align 4, !tbaa !5
  %10117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10118 = load i32, ptr @test_count, align 4, !tbaa !5
  %10119 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10120 = load i32, ptr %10119, align 4, !tbaa !5
  %10121 = call ptr @s2n_strerror(i32 noundef %10120, ptr noundef @.str.4)
  %10122 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10123 = load i32, ptr %10122, align 4, !tbaa !5
  %10124 = call ptr @s2n_strerror_debug(i32 noundef %10123, ptr noundef @.str.4)
  %10125 = call ptr @__errno_location() #12
  %10126 = load i32, ptr %10125, align 4, !tbaa !5
  %10127 = call ptr @strerror(i32 noundef %10126) #11
  %10128 = call ptr @__errno_location() #12
  %10129 = load i32, ptr %10128, align 4, !tbaa !5
  %10130 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10117, ptr noundef @.str.5, i32 noundef %10118, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 390, ptr noundef %10121, ptr noundef %10124, ptr noundef %10127, i32 noundef %10129) #11
  br label %10131

10131:                                            ; preds = %10114, %10097
  call void @llvm.lifetime.end.p0(i64 4, ptr %231) #11
  br label %10132

10132:                                            ; preds = %10131
  br label %10133

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

10134:                                            ; No predecessors!
  br label %10135

10135:                                            ; preds = %10134
  br label %10136

10136:                                            ; preds = %10135, %10078
  br label %10137

10137:                                            ; preds = %10136
  br label %10138

10138:                                            ; preds = %10137
  br label %10139

10139:                                            ; preds = %10138
  %10140 = load i32, ptr @test_count, align 4, !tbaa !5
  %10141 = add nsw i32 %10140, 1
  store i32 %10141, ptr @test_count, align 4, !tbaa !5
  %10142 = load ptr, ptr %230, align 8, !tbaa !9
  %10143 = load ptr, ptr %11, align 8, !tbaa !9
  %10144 = call i32 @s2n_connection_set_config(ptr noundef %10142, ptr noundef %10143)
  %10145 = icmp eq i32 %10144, -1
  br i1 %10145, label %10146, label %10199

10146:                                            ; preds = %10139
  br label %10147

10147:                                            ; preds = %10146
  br label %10148

10148:                                            ; preds = %10147
  call void @llvm.lifetime.start.p0(i64 4, ptr %232) #11
  %10149 = call ptr @__errno_location() #12
  %10150 = load i32, ptr %10149, align 4, !tbaa !5
  store i32 %10150, ptr %232, align 4, !tbaa !5
  %10151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10152 = call i32 @s2n_print_stacktrace(ptr noundef %10151)
  %10153 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10154 = trunc i8 %10153 to i1
  br i1 %10154, label %10155, label %10177

10155:                                            ; preds = %10148
  %10156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10157 = call i32 @fileno(ptr noundef %10156) #11
  %10158 = call i32 @isatty(i32 noundef %10157) #11
  %10159 = icmp ne i32 %10158, 0
  br i1 %10159, label %10160, label %10177

10160:                                            ; preds = %10155
  %10161 = load i32, ptr %232, align 4, !tbaa !5
  %10162 = call ptr @__errno_location() #12
  store i32 %10161, ptr %10162, align 4, !tbaa !5
  %10163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10164 = load i32, ptr @test_count, align 4, !tbaa !5
  %10165 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10166 = load i32, ptr %10165, align 4, !tbaa !5
  %10167 = call ptr @s2n_strerror(i32 noundef %10166, ptr noundef @.str.4)
  %10168 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10169 = load i32, ptr %10168, align 4, !tbaa !5
  %10170 = call ptr @s2n_strerror_debug(i32 noundef %10169, ptr noundef @.str.4)
  %10171 = call ptr @__errno_location() #12
  %10172 = load i32, ptr %10171, align 4, !tbaa !5
  %10173 = call ptr @strerror(i32 noundef %10172) #11
  %10174 = call ptr @__errno_location() #12
  %10175 = load i32, ptr %10174, align 4, !tbaa !5
  %10176 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10163, ptr noundef @.str.2, i32 noundef %10164, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 391, ptr noundef %10167, ptr noundef %10170, ptr noundef %10173, i32 noundef %10175) #11
  br label %10194

10177:                                            ; preds = %10155, %10148
  %10178 = load i32, ptr %232, align 4, !tbaa !5
  %10179 = call ptr @__errno_location() #12
  store i32 %10178, ptr %10179, align 4, !tbaa !5
  %10180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10181 = load i32, ptr @test_count, align 4, !tbaa !5
  %10182 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10183 = load i32, ptr %10182, align 4, !tbaa !5
  %10184 = call ptr @s2n_strerror(i32 noundef %10183, ptr noundef @.str.4)
  %10185 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10186 = load i32, ptr %10185, align 4, !tbaa !5
  %10187 = call ptr @s2n_strerror_debug(i32 noundef %10186, ptr noundef @.str.4)
  %10188 = call ptr @__errno_location() #12
  %10189 = load i32, ptr %10188, align 4, !tbaa !5
  %10190 = call ptr @strerror(i32 noundef %10189) #11
  %10191 = call ptr @__errno_location() #12
  %10192 = load i32, ptr %10191, align 4, !tbaa !5
  %10193 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10180, ptr noundef @.str.5, i32 noundef %10181, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 391, ptr noundef %10184, ptr noundef %10187, ptr noundef %10190, i32 noundef %10192) #11
  br label %10194

10194:                                            ; preds = %10177, %10160
  call void @llvm.lifetime.end.p0(i64 4, ptr %232) #11
  br label %10195

10195:                                            ; preds = %10194
  br label %10196

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

10197:                                            ; No predecessors!
  br label %10198

10198:                                            ; preds = %10197
  br label %10199

10199:                                            ; preds = %10198, %10139
  br label %10200

10200:                                            ; preds = %10199
  br label %10201

10201:                                            ; preds = %10200
  call void @llvm.lifetime.start.p0(i64 8, ptr %233) #11
  %10202 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %10202, ptr %233, align 8, !tbaa !9
  br label %10203

10203:                                            ; preds = %10201
  %10204 = load i32, ptr @test_count, align 4, !tbaa !5
  %10205 = add nsw i32 %10204, 1
  store i32 %10205, ptr @test_count, align 4, !tbaa !5
  %10206 = load ptr, ptr %233, align 8, !tbaa !9
  %10207 = icmp eq ptr %10206, null
  br i1 %10207, label %10208, label %10261

10208:                                            ; preds = %10203
  br label %10209

10209:                                            ; preds = %10208
  br label %10210

10210:                                            ; preds = %10209
  call void @llvm.lifetime.start.p0(i64 4, ptr %234) #11
  %10211 = call ptr @__errno_location() #12
  %10212 = load i32, ptr %10211, align 4, !tbaa !5
  store i32 %10212, ptr %234, align 4, !tbaa !5
  %10213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10214 = call i32 @s2n_print_stacktrace(ptr noundef %10213)
  %10215 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10216 = trunc i8 %10215 to i1
  br i1 %10216, label %10217, label %10239

10217:                                            ; preds = %10210
  %10218 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10219 = call i32 @fileno(ptr noundef %10218) #11
  %10220 = call i32 @isatty(i32 noundef %10219) #11
  %10221 = icmp ne i32 %10220, 0
  br i1 %10221, label %10222, label %10239

10222:                                            ; preds = %10217
  %10223 = load i32, ptr %234, align 4, !tbaa !5
  %10224 = call ptr @__errno_location() #12
  store i32 %10223, ptr %10224, align 4, !tbaa !5
  %10225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10226 = load i32, ptr @test_count, align 4, !tbaa !5
  %10227 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10228 = load i32, ptr %10227, align 4, !tbaa !5
  %10229 = call ptr @s2n_strerror(i32 noundef %10228, ptr noundef @.str.4)
  %10230 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10231 = load i32, ptr %10230, align 4, !tbaa !5
  %10232 = call ptr @s2n_strerror_debug(i32 noundef %10231, ptr noundef @.str.4)
  %10233 = call ptr @__errno_location() #12
  %10234 = load i32, ptr %10233, align 4, !tbaa !5
  %10235 = call ptr @strerror(i32 noundef %10234) #11
  %10236 = call ptr @__errno_location() #12
  %10237 = load i32, ptr %10236, align 4, !tbaa !5
  %10238 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10225, ptr noundef @.str.2, i32 noundef %10226, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 394, ptr noundef %10229, ptr noundef %10232, ptr noundef %10235, i32 noundef %10237) #11
  br label %10256

10239:                                            ; preds = %10217, %10210
  %10240 = load i32, ptr %234, align 4, !tbaa !5
  %10241 = call ptr @__errno_location() #12
  store i32 %10240, ptr %10241, align 4, !tbaa !5
  %10242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10243 = load i32, ptr @test_count, align 4, !tbaa !5
  %10244 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10245 = load i32, ptr %10244, align 4, !tbaa !5
  %10246 = call ptr @s2n_strerror(i32 noundef %10245, ptr noundef @.str.4)
  %10247 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10248 = load i32, ptr %10247, align 4, !tbaa !5
  %10249 = call ptr @s2n_strerror_debug(i32 noundef %10248, ptr noundef @.str.4)
  %10250 = call ptr @__errno_location() #12
  %10251 = load i32, ptr %10250, align 4, !tbaa !5
  %10252 = call ptr @strerror(i32 noundef %10251) #11
  %10253 = call ptr @__errno_location() #12
  %10254 = load i32, ptr %10253, align 4, !tbaa !5
  %10255 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10242, ptr noundef @.str.5, i32 noundef %10243, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 394, ptr noundef %10246, ptr noundef %10249, ptr noundef %10252, i32 noundef %10254) #11
  br label %10256

10256:                                            ; preds = %10239, %10222
  call void @llvm.lifetime.end.p0(i64 4, ptr %234) #11
  br label %10257

10257:                                            ; preds = %10256
  br label %10258

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

10259:                                            ; No predecessors!
  br label %10260

10260:                                            ; preds = %10259
  br label %10261

10261:                                            ; preds = %10260, %10203
  br label %10262

10262:                                            ; preds = %10261
  br label %10263

10263:                                            ; preds = %10262
  br label %10264

10264:                                            ; preds = %10263
  %10265 = load i32, ptr @test_count, align 4, !tbaa !5
  %10266 = add nsw i32 %10265, 1
  store i32 %10266, ptr @test_count, align 4, !tbaa !5
  %10267 = load ptr, ptr %233, align 8, !tbaa !9
  %10268 = load ptr, ptr %11, align 8, !tbaa !9
  %10269 = call i32 @s2n_connection_set_config(ptr noundef %10267, ptr noundef %10268)
  %10270 = icmp eq i32 %10269, -1
  br i1 %10270, label %10271, label %10324

10271:                                            ; preds = %10264
  br label %10272

10272:                                            ; preds = %10271
  br label %10273

10273:                                            ; preds = %10272
  call void @llvm.lifetime.start.p0(i64 4, ptr %235) #11
  %10274 = call ptr @__errno_location() #12
  %10275 = load i32, ptr %10274, align 4, !tbaa !5
  store i32 %10275, ptr %235, align 4, !tbaa !5
  %10276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10277 = call i32 @s2n_print_stacktrace(ptr noundef %10276)
  %10278 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10279 = trunc i8 %10278 to i1
  br i1 %10279, label %10280, label %10302

10280:                                            ; preds = %10273
  %10281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10282 = call i32 @fileno(ptr noundef %10281) #11
  %10283 = call i32 @isatty(i32 noundef %10282) #11
  %10284 = icmp ne i32 %10283, 0
  br i1 %10284, label %10285, label %10302

10285:                                            ; preds = %10280
  %10286 = load i32, ptr %235, align 4, !tbaa !5
  %10287 = call ptr @__errno_location() #12
  store i32 %10286, ptr %10287, align 4, !tbaa !5
  %10288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10289 = load i32, ptr @test_count, align 4, !tbaa !5
  %10290 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10291 = load i32, ptr %10290, align 4, !tbaa !5
  %10292 = call ptr @s2n_strerror(i32 noundef %10291, ptr noundef @.str.4)
  %10293 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10294 = load i32, ptr %10293, align 4, !tbaa !5
  %10295 = call ptr @s2n_strerror_debug(i32 noundef %10294, ptr noundef @.str.4)
  %10296 = call ptr @__errno_location() #12
  %10297 = load i32, ptr %10296, align 4, !tbaa !5
  %10298 = call ptr @strerror(i32 noundef %10297) #11
  %10299 = call ptr @__errno_location() #12
  %10300 = load i32, ptr %10299, align 4, !tbaa !5
  %10301 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10288, ptr noundef @.str.2, i32 noundef %10289, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 395, ptr noundef %10292, ptr noundef %10295, ptr noundef %10298, i32 noundef %10300) #11
  br label %10319

10302:                                            ; preds = %10280, %10273
  %10303 = load i32, ptr %235, align 4, !tbaa !5
  %10304 = call ptr @__errno_location() #12
  store i32 %10303, ptr %10304, align 4, !tbaa !5
  %10305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10306 = load i32, ptr @test_count, align 4, !tbaa !5
  %10307 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10308 = load i32, ptr %10307, align 4, !tbaa !5
  %10309 = call ptr @s2n_strerror(i32 noundef %10308, ptr noundef @.str.4)
  %10310 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10311 = load i32, ptr %10310, align 4, !tbaa !5
  %10312 = call ptr @s2n_strerror_debug(i32 noundef %10311, ptr noundef @.str.4)
  %10313 = call ptr @__errno_location() #12
  %10314 = load i32, ptr %10313, align 4, !tbaa !5
  %10315 = call ptr @strerror(i32 noundef %10314) #11
  %10316 = call ptr @__errno_location() #12
  %10317 = load i32, ptr %10316, align 4, !tbaa !5
  %10318 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10305, ptr noundef @.str.5, i32 noundef %10306, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 395, ptr noundef %10309, ptr noundef %10312, ptr noundef %10315, i32 noundef %10317) #11
  br label %10319

10319:                                            ; preds = %10302, %10285
  call void @llvm.lifetime.end.p0(i64 4, ptr %235) #11
  br label %10320

10320:                                            ; preds = %10319
  br label %10321

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

10322:                                            ; No predecessors!
  br label %10323

10323:                                            ; preds = %10322
  br label %10324

10324:                                            ; preds = %10323, %10264
  br label %10325

10325:                                            ; preds = %10324
  br label %10326

10326:                                            ; preds = %10325
  call void @llvm.lifetime.start.p0(i64 8, ptr %236) #11
  call void @llvm.memset.p0.i64(ptr align 4 %236, i8 0, i64 8, i1 false)
  br label %10327

10327:                                            ; preds = %10326
  %10328 = load i32, ptr @test_count, align 4, !tbaa !5
  %10329 = add nsw i32 %10328, 1
  store i32 %10329, ptr @test_count, align 4, !tbaa !5
  %10330 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %236)
  %10331 = icmp eq i32 %10330, -1
  br i1 %10331, label %10332, label %10385

10332:                                            ; preds = %10327
  br label %10333

10333:                                            ; preds = %10332
  br label %10334

10334:                                            ; preds = %10333
  call void @llvm.lifetime.start.p0(i64 4, ptr %237) #11
  %10335 = call ptr @__errno_location() #12
  %10336 = load i32, ptr %10335, align 4, !tbaa !5
  store i32 %10336, ptr %237, align 4, !tbaa !5
  %10337 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10338 = call i32 @s2n_print_stacktrace(ptr noundef %10337)
  %10339 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10340 = trunc i8 %10339 to i1
  br i1 %10340, label %10341, label %10363

10341:                                            ; preds = %10334
  %10342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10343 = call i32 @fileno(ptr noundef %10342) #11
  %10344 = call i32 @isatty(i32 noundef %10343) #11
  %10345 = icmp ne i32 %10344, 0
  br i1 %10345, label %10346, label %10363

10346:                                            ; preds = %10341
  %10347 = load i32, ptr %237, align 4, !tbaa !5
  %10348 = call ptr @__errno_location() #12
  store i32 %10347, ptr %10348, align 4, !tbaa !5
  %10349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10350 = load i32, ptr @test_count, align 4, !tbaa !5
  %10351 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10352 = load i32, ptr %10351, align 4, !tbaa !5
  %10353 = call ptr @s2n_strerror(i32 noundef %10352, ptr noundef @.str.4)
  %10354 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10355 = load i32, ptr %10354, align 4, !tbaa !5
  %10356 = call ptr @s2n_strerror_debug(i32 noundef %10355, ptr noundef @.str.4)
  %10357 = call ptr @__errno_location() #12
  %10358 = load i32, ptr %10357, align 4, !tbaa !5
  %10359 = call ptr @strerror(i32 noundef %10358) #11
  %10360 = call ptr @__errno_location() #12
  %10361 = load i32, ptr %10360, align 4, !tbaa !5
  %10362 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10349, ptr noundef @.str.2, i32 noundef %10350, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 398, ptr noundef %10353, ptr noundef %10356, ptr noundef %10359, i32 noundef %10361) #11
  br label %10380

10363:                                            ; preds = %10341, %10334
  %10364 = load i32, ptr %237, align 4, !tbaa !5
  %10365 = call ptr @__errno_location() #12
  store i32 %10364, ptr %10365, align 4, !tbaa !5
  %10366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10367 = load i32, ptr @test_count, align 4, !tbaa !5
  %10368 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10369 = load i32, ptr %10368, align 4, !tbaa !5
  %10370 = call ptr @s2n_strerror(i32 noundef %10369, ptr noundef @.str.4)
  %10371 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10372 = load i32, ptr %10371, align 4, !tbaa !5
  %10373 = call ptr @s2n_strerror_debug(i32 noundef %10372, ptr noundef @.str.4)
  %10374 = call ptr @__errno_location() #12
  %10375 = load i32, ptr %10374, align 4, !tbaa !5
  %10376 = call ptr @strerror(i32 noundef %10375) #11
  %10377 = call ptr @__errno_location() #12
  %10378 = load i32, ptr %10377, align 4, !tbaa !5
  %10379 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10366, ptr noundef @.str.5, i32 noundef %10367, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 398, ptr noundef %10370, ptr noundef %10373, ptr noundef %10376, i32 noundef %10378) #11
  br label %10380

10380:                                            ; preds = %10363, %10346
  call void @llvm.lifetime.end.p0(i64 4, ptr %237) #11
  br label %10381

10381:                                            ; preds = %10380
  br label %10382

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

10383:                                            ; No predecessors!
  br label %10384

10384:                                            ; preds = %10383
  br label %10385

10385:                                            ; preds = %10384, %10327
  br label %10386

10386:                                            ; preds = %10385
  br label %10387

10387:                                            ; preds = %10386
  br label %10388

10388:                                            ; preds = %10387
  %10389 = load i32, ptr @test_count, align 4, !tbaa !5
  %10390 = add nsw i32 %10389, 1
  store i32 %10390, ptr @test_count, align 4, !tbaa !5
  %10391 = load ptr, ptr %233, align 8, !tbaa !9
  %10392 = load ptr, ptr %230, align 8, !tbaa !9
  %10393 = call i32 @s2n_connections_set_io_pair(ptr noundef %10391, ptr noundef %10392, ptr noundef %236)
  %10394 = icmp eq i32 %10393, -1
  br i1 %10394, label %10395, label %10448

10395:                                            ; preds = %10388
  br label %10396

10396:                                            ; preds = %10395
  br label %10397

10397:                                            ; preds = %10396
  call void @llvm.lifetime.start.p0(i64 4, ptr %238) #11
  %10398 = call ptr @__errno_location() #12
  %10399 = load i32, ptr %10398, align 4, !tbaa !5
  store i32 %10399, ptr %238, align 4, !tbaa !5
  %10400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10401 = call i32 @s2n_print_stacktrace(ptr noundef %10400)
  %10402 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10403 = trunc i8 %10402 to i1
  br i1 %10403, label %10404, label %10426

10404:                                            ; preds = %10397
  %10405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10406 = call i32 @fileno(ptr noundef %10405) #11
  %10407 = call i32 @isatty(i32 noundef %10406) #11
  %10408 = icmp ne i32 %10407, 0
  br i1 %10408, label %10409, label %10426

10409:                                            ; preds = %10404
  %10410 = load i32, ptr %238, align 4, !tbaa !5
  %10411 = call ptr @__errno_location() #12
  store i32 %10410, ptr %10411, align 4, !tbaa !5
  %10412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10413 = load i32, ptr @test_count, align 4, !tbaa !5
  %10414 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10415 = load i32, ptr %10414, align 4, !tbaa !5
  %10416 = call ptr @s2n_strerror(i32 noundef %10415, ptr noundef @.str.4)
  %10417 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10418 = load i32, ptr %10417, align 4, !tbaa !5
  %10419 = call ptr @s2n_strerror_debug(i32 noundef %10418, ptr noundef @.str.4)
  %10420 = call ptr @__errno_location() #12
  %10421 = load i32, ptr %10420, align 4, !tbaa !5
  %10422 = call ptr @strerror(i32 noundef %10421) #11
  %10423 = call ptr @__errno_location() #12
  %10424 = load i32, ptr %10423, align 4, !tbaa !5
  %10425 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10412, ptr noundef @.str.2, i32 noundef %10413, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 399, ptr noundef %10416, ptr noundef %10419, ptr noundef %10422, i32 noundef %10424) #11
  br label %10443

10426:                                            ; preds = %10404, %10397
  %10427 = load i32, ptr %238, align 4, !tbaa !5
  %10428 = call ptr @__errno_location() #12
  store i32 %10427, ptr %10428, align 4, !tbaa !5
  %10429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10430 = load i32, ptr @test_count, align 4, !tbaa !5
  %10431 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10432 = load i32, ptr %10431, align 4, !tbaa !5
  %10433 = call ptr @s2n_strerror(i32 noundef %10432, ptr noundef @.str.4)
  %10434 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10435 = load i32, ptr %10434, align 4, !tbaa !5
  %10436 = call ptr @s2n_strerror_debug(i32 noundef %10435, ptr noundef @.str.4)
  %10437 = call ptr @__errno_location() #12
  %10438 = load i32, ptr %10437, align 4, !tbaa !5
  %10439 = call ptr @strerror(i32 noundef %10438) #11
  %10440 = call ptr @__errno_location() #12
  %10441 = load i32, ptr %10440, align 4, !tbaa !5
  %10442 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10429, ptr noundef @.str.5, i32 noundef %10430, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 399, ptr noundef %10433, ptr noundef %10436, ptr noundef %10439, i32 noundef %10441) #11
  br label %10443

10443:                                            ; preds = %10426, %10409
  call void @llvm.lifetime.end.p0(i64 4, ptr %238) #11
  br label %10444

10444:                                            ; preds = %10443
  br label %10445

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

10446:                                            ; No predecessors!
  br label %10447

10447:                                            ; preds = %10446
  br label %10448

10448:                                            ; preds = %10447, %10388
  br label %10449

10449:                                            ; preds = %10448
  br label %10450

10450:                                            ; preds = %10449
  call void @llvm.lifetime.start.p0(i64 8, ptr %239) #11
  store i64 0, ptr %239, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 20, ptr %240) #11
  call void @llvm.memset.p0.i64(ptr align 16 %240, i8 0, i64 20, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %241) #11
  store i64 0, ptr %241, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %242) #11
  store i64 0, ptr %242, align 8, !tbaa !15
  br label %10451

10451:                                            ; preds = %10450
  %10452 = load i32, ptr @test_count, align 4, !tbaa !5
  %10453 = add nsw i32 %10452, 1
  store i32 %10453, ptr @test_count, align 4, !tbaa !5
  %10454 = load ptr, ptr %230, align 8, !tbaa !9
  %10455 = load ptr, ptr %233, align 8, !tbaa !9
  %10456 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %10454, ptr noundef %10455)
  %10457 = icmp eq i32 %10456, -1
  br i1 %10457, label %10458, label %10511

10458:                                            ; preds = %10451
  br label %10459

10459:                                            ; preds = %10458
  br label %10460

10460:                                            ; preds = %10459
  call void @llvm.lifetime.start.p0(i64 4, ptr %243) #11
  %10461 = call ptr @__errno_location() #12
  %10462 = load i32, ptr %10461, align 4, !tbaa !5
  store i32 %10462, ptr %243, align 4, !tbaa !5
  %10463 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10464 = call i32 @s2n_print_stacktrace(ptr noundef %10463)
  %10465 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10466 = trunc i8 %10465 to i1
  br i1 %10466, label %10467, label %10489

10467:                                            ; preds = %10460
  %10468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10469 = call i32 @fileno(ptr noundef %10468) #11
  %10470 = call i32 @isatty(i32 noundef %10469) #11
  %10471 = icmp ne i32 %10470, 0
  br i1 %10471, label %10472, label %10489

10472:                                            ; preds = %10467
  %10473 = load i32, ptr %243, align 4, !tbaa !5
  %10474 = call ptr @__errno_location() #12
  store i32 %10473, ptr %10474, align 4, !tbaa !5
  %10475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10476 = load i32, ptr @test_count, align 4, !tbaa !5
  %10477 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10478 = load i32, ptr %10477, align 4, !tbaa !5
  %10479 = call ptr @s2n_strerror(i32 noundef %10478, ptr noundef @.str.4)
  %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_debug(i32 noundef %10481, ptr noundef @.str.4)
  %10483 = call ptr @__errno_location() #12
  %10484 = load i32, ptr %10483, align 4, !tbaa !5
  %10485 = call ptr @strerror(i32 noundef %10484) #11
  %10486 = call ptr @__errno_location() #12
  %10487 = load i32, ptr %10486, align 4, !tbaa !5
  %10488 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10475, ptr noundef @.str.2, i32 noundef %10476, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 406, ptr noundef %10479, ptr noundef %10482, ptr noundef %10485, i32 noundef %10487) #11
  br label %10506

10489:                                            ; preds = %10467, %10460
  %10490 = load i32, ptr %243, align 4, !tbaa !5
  %10491 = call ptr @__errno_location() #12
  store i32 %10490, ptr %10491, align 4, !tbaa !5
  %10492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10493 = load i32, ptr @test_count, align 4, !tbaa !5
  %10494 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10495 = load i32, ptr %10494, align 4, !tbaa !5
  %10496 = call ptr @s2n_strerror(i32 noundef %10495, ptr noundef @.str.4)
  %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_debug(i32 noundef %10498, ptr noundef @.str.4)
  %10500 = call ptr @__errno_location() #12
  %10501 = load i32, ptr %10500, align 4, !tbaa !5
  %10502 = call ptr @strerror(i32 noundef %10501) #11
  %10503 = call ptr @__errno_location() #12
  %10504 = load i32, ptr %10503, align 4, !tbaa !5
  %10505 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10492, ptr noundef @.str.5, i32 noundef %10493, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 406, ptr noundef %10496, ptr noundef %10499, ptr noundef %10502, i32 noundef %10504) #11
  br label %10506

10506:                                            ; preds = %10489, %10472
  call void @llvm.lifetime.end.p0(i64 4, ptr %243) #11
  br label %10507

10507:                                            ; preds = %10506
  br label %10508

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

10509:                                            ; No predecessors!
  br label %10510

10510:                                            ; preds = %10509
  br label %10511

10511:                                            ; preds = %10510, %10451
  br label %10512

10512:                                            ; preds = %10511
  br label %10513

10513:                                            ; preds = %10512
  %10514 = load i64, ptr %228, align 8, !tbaa !15
  %10515 = and i64 %10514, 1
  %10516 = icmp ne i64 %10515, 0
  br i1 %10516, label %10517, label %10585

10517:                                            ; preds = %10513
  br label %10518

10518:                                            ; preds = %10517
  %10519 = load i32, ptr @test_count, align 4, !tbaa !5
  %10520 = add nsw i32 %10519, 1
  store i32 %10520, ptr @test_count, align 4, !tbaa !5
  %10521 = load ptr, ptr %230, align 8, !tbaa !9
  %10522 = load i64, ptr %241, align 8, !tbaa !15
  %10523 = getelementptr inbounds [3 x [10 x i8]], ptr %222, i64 0, i64 %10522
  %10524 = getelementptr inbounds [10 x i8], ptr %10523, i64 0, i64 0
  %10525 = call i64 @s2n_send(ptr noundef %10521, ptr noundef %10524, i64 noundef 10, ptr noundef %17)
  %10526 = icmp eq i64 %10525, 10
  br i1 %10526, label %10580, label %10527

10527:                                            ; preds = %10518
  br label %10528

10528:                                            ; preds = %10527
  br label %10529

10529:                                            ; preds = %10528
  call void @llvm.lifetime.start.p0(i64 4, ptr %244) #11
  %10530 = call ptr @__errno_location() #12
  %10531 = load i32, ptr %10530, align 4, !tbaa !5
  store i32 %10531, ptr %244, align 4, !tbaa !5
  %10532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10533 = call i32 @s2n_print_stacktrace(ptr noundef %10532)
  %10534 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10535 = trunc i8 %10534 to i1
  br i1 %10535, label %10536, label %10558

10536:                                            ; preds = %10529
  %10537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10538 = call i32 @fileno(ptr noundef %10537) #11
  %10539 = call i32 @isatty(i32 noundef %10538) #11
  %10540 = icmp ne i32 %10539, 0
  br i1 %10540, label %10541, label %10558

10541:                                            ; preds = %10536
  %10542 = load i32, ptr %244, align 4, !tbaa !5
  %10543 = call ptr @__errno_location() #12
  store i32 %10542, ptr %10543, align 4, !tbaa !5
  %10544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10545 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %10547, ptr noundef @.str.4)
  %10549 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10550 = load i32, ptr %10549, align 4, !tbaa !5
  %10551 = call ptr @s2n_strerror_debug(i32 noundef %10550, ptr noundef @.str.4)
  %10552 = call ptr @__errno_location() #12
  %10553 = load i32, ptr %10552, align 4, !tbaa !5
  %10554 = call ptr @strerror(i32 noundef %10553) #11
  %10555 = call ptr @__errno_location() #12
  %10556 = load i32, ptr %10555, align 4, !tbaa !5
  %10557 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10544, ptr noundef @.str.2, i32 noundef %10545, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 411, ptr noundef %10548, ptr noundef %10551, ptr noundef %10554, i32 noundef %10556) #11
  br label %10575

10558:                                            ; preds = %10536, %10529
  %10559 = load i32, ptr %244, align 4, !tbaa !5
  %10560 = call ptr @__errno_location() #12
  store i32 %10559, ptr %10560, align 4, !tbaa !5
  %10561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10562 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %10564, ptr noundef @.str.4)
  %10566 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10567 = load i32, ptr %10566, align 4, !tbaa !5
  %10568 = call ptr @s2n_strerror_debug(i32 noundef %10567, ptr noundef @.str.4)
  %10569 = call ptr @__errno_location() #12
  %10570 = load i32, ptr %10569, align 4, !tbaa !5
  %10571 = call ptr @strerror(i32 noundef %10570) #11
  %10572 = call ptr @__errno_location() #12
  %10573 = load i32, ptr %10572, align 4, !tbaa !5
  %10574 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10561, ptr noundef @.str.5, i32 noundef %10562, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 411, ptr noundef %10565, ptr noundef %10568, ptr noundef %10571, i32 noundef %10573) #11
  br label %10575

10575:                                            ; preds = %10558, %10541
  call void @llvm.lifetime.end.p0(i64 4, ptr %244) #11
  br label %10576

10576:                                            ; preds = %10575
  br label %10577

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

10578:                                            ; No predecessors!
  br label %10579

10579:                                            ; preds = %10578
  br label %10580

10580:                                            ; preds = %10579, %10518
  br label %10581

10581:                                            ; preds = %10580
  br label %10582

10582:                                            ; preds = %10581
  %10583 = load i64, ptr %241, align 8, !tbaa !15
  %10584 = add i64 %10583, 1
  store i64 %10584, ptr %241, align 8, !tbaa !15
  br label %10585

10585:                                            ; preds = %10582, %10513
  br label %10586

10586:                                            ; preds = %10585
  %10587 = load i32, ptr @test_count, align 4, !tbaa !5
  %10588 = add nsw i32 %10587, 1
  store i32 %10588, ptr @test_count, align 4, !tbaa !5
  %10589 = load ptr, ptr %230, align 8, !tbaa !9
  %10590 = call i32 @s2n_renegotiate_wipe(ptr noundef %10589)
  %10591 = icmp eq i32 %10590, -1
  br i1 %10591, label %10592, label %10645

10592:                                            ; preds = %10586
  br label %10593

10593:                                            ; preds = %10592
  br label %10594

10594:                                            ; preds = %10593
  call void @llvm.lifetime.start.p0(i64 4, ptr %245) #11
  %10595 = call ptr @__errno_location() #12
  %10596 = load i32, ptr %10595, align 4, !tbaa !5
  store i32 %10596, ptr %245, align 4, !tbaa !5
  %10597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10598 = call i32 @s2n_print_stacktrace(ptr noundef %10597)
  %10599 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10600 = trunc i8 %10599 to i1
  br i1 %10600, label %10601, label %10623

10601:                                            ; preds = %10594
  %10602 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10603 = call i32 @fileno(ptr noundef %10602) #11
  %10604 = call i32 @isatty(i32 noundef %10603) #11
  %10605 = icmp ne i32 %10604, 0
  br i1 %10605, label %10606, label %10623

10606:                                            ; preds = %10601
  %10607 = load i32, ptr %245, align 4, !tbaa !5
  %10608 = call ptr @__errno_location() #12
  store i32 %10607, ptr %10608, align 4, !tbaa !5
  %10609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10610 = load i32, ptr @test_count, align 4, !tbaa !5
  %10611 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10612 = load i32, ptr %10611, align 4, !tbaa !5
  %10613 = call ptr @s2n_strerror(i32 noundef %10612, ptr noundef @.str.4)
  %10614 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10615 = load i32, ptr %10614, align 4, !tbaa !5
  %10616 = call ptr @s2n_strerror_debug(i32 noundef %10615, ptr noundef @.str.4)
  %10617 = call ptr @__errno_location() #12
  %10618 = load i32, ptr %10617, align 4, !tbaa !5
  %10619 = call ptr @strerror(i32 noundef %10618) #11
  %10620 = call ptr @__errno_location() #12
  %10621 = load i32, ptr %10620, align 4, !tbaa !5
  %10622 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10609, ptr noundef @.str.2, i32 noundef %10610, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 415, ptr noundef %10613, ptr noundef %10616, ptr noundef %10619, i32 noundef %10621) #11
  br label %10640

10623:                                            ; preds = %10601, %10594
  %10624 = load i32, ptr %245, align 4, !tbaa !5
  %10625 = call ptr @__errno_location() #12
  store i32 %10624, ptr %10625, align 4, !tbaa !5
  %10626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10627 = load i32, ptr @test_count, align 4, !tbaa !5
  %10628 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10629 = load i32, ptr %10628, align 4, !tbaa !5
  %10630 = call ptr @s2n_strerror(i32 noundef %10629, ptr noundef @.str.4)
  %10631 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10632 = load i32, ptr %10631, align 4, !tbaa !5
  %10633 = call ptr @s2n_strerror_debug(i32 noundef %10632, ptr noundef @.str.4)
  %10634 = call ptr @__errno_location() #12
  %10635 = load i32, ptr %10634, align 4, !tbaa !5
  %10636 = call ptr @strerror(i32 noundef %10635) #11
  %10637 = call ptr @__errno_location() #12
  %10638 = load i32, ptr %10637, align 4, !tbaa !5
  %10639 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10626, ptr noundef @.str.5, i32 noundef %10627, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 415, ptr noundef %10630, ptr noundef %10633, ptr noundef %10636, i32 noundef %10638) #11
  br label %10640

10640:                                            ; preds = %10623, %10606
  call void @llvm.lifetime.end.p0(i64 4, ptr %245) #11
  br label %10641

10641:                                            ; preds = %10640
  br label %10642

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

10643:                                            ; No predecessors!
  br label %10644

10644:                                            ; preds = %10643
  br label %10645

10645:                                            ; preds = %10644, %10586
  br label %10646

10646:                                            ; preds = %10645
  br label %10647

10647:                                            ; preds = %10646
  br label %10648

10648:                                            ; preds = %10647
  %10649 = load i32, ptr @test_count, align 4, !tbaa !5
  %10650 = add nsw i32 %10649, 1
  store i32 %10650, ptr @test_count, align 4, !tbaa !5
  %10651 = load ptr, ptr %233, align 8, !tbaa !9
  %10652 = call i32 @s2n_renegotiate_wipe(ptr noundef %10651)
  %10653 = icmp eq i32 %10652, -1
  br i1 %10653, label %10654, label %10707

10654:                                            ; preds = %10648
  br label %10655

10655:                                            ; preds = %10654
  br label %10656

10656:                                            ; preds = %10655
  call void @llvm.lifetime.start.p0(i64 4, ptr %246) #11
  %10657 = call ptr @__errno_location() #12
  %10658 = load i32, ptr %10657, align 4, !tbaa !5
  store i32 %10658, ptr %246, align 4, !tbaa !5
  %10659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10660 = call i32 @s2n_print_stacktrace(ptr noundef %10659)
  %10661 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10662 = trunc i8 %10661 to i1
  br i1 %10662, label %10663, label %10685

10663:                                            ; preds = %10656
  %10664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10665 = call i32 @fileno(ptr noundef %10664) #11
  %10666 = call i32 @isatty(i32 noundef %10665) #11
  %10667 = icmp ne i32 %10666, 0
  br i1 %10667, label %10668, label %10685

10668:                                            ; preds = %10663
  %10669 = load i32, ptr %246, align 4, !tbaa !5
  %10670 = call ptr @__errno_location() #12
  store i32 %10669, ptr %10670, align 4, !tbaa !5
  %10671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10672 = load i32, ptr @test_count, align 4, !tbaa !5
  %10673 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10674 = load i32, ptr %10673, align 4, !tbaa !5
  %10675 = call ptr @s2n_strerror(i32 noundef %10674, ptr noundef @.str.4)
  %10676 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10677 = load i32, ptr %10676, align 4, !tbaa !5
  %10678 = call ptr @s2n_strerror_debug(i32 noundef %10677, ptr noundef @.str.4)
  %10679 = call ptr @__errno_location() #12
  %10680 = load i32, ptr %10679, align 4, !tbaa !5
  %10681 = call ptr @strerror(i32 noundef %10680) #11
  %10682 = call ptr @__errno_location() #12
  %10683 = load i32, ptr %10682, align 4, !tbaa !5
  %10684 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10671, ptr noundef @.str.2, i32 noundef %10672, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 416, ptr noundef %10675, ptr noundef %10678, ptr noundef %10681, i32 noundef %10683) #11
  br label %10702

10685:                                            ; preds = %10663, %10656
  %10686 = load i32, ptr %246, align 4, !tbaa !5
  %10687 = call ptr @__errno_location() #12
  store i32 %10686, ptr %10687, align 4, !tbaa !5
  %10688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10689 = load i32, ptr @test_count, align 4, !tbaa !5
  %10690 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10691 = load i32, ptr %10690, align 4, !tbaa !5
  %10692 = call ptr @s2n_strerror(i32 noundef %10691, ptr noundef @.str.4)
  %10693 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10694 = load i32, ptr %10693, align 4, !tbaa !5
  %10695 = call ptr @s2n_strerror_debug(i32 noundef %10694, ptr noundef @.str.4)
  %10696 = call ptr @__errno_location() #12
  %10697 = load i32, ptr %10696, align 4, !tbaa !5
  %10698 = call ptr @strerror(i32 noundef %10697) #11
  %10699 = call ptr @__errno_location() #12
  %10700 = load i32, ptr %10699, align 4, !tbaa !5
  %10701 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10688, ptr noundef @.str.5, i32 noundef %10689, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 416, ptr noundef %10692, ptr noundef %10695, ptr noundef %10698, i32 noundef %10700) #11
  br label %10702

10702:                                            ; preds = %10685, %10668
  call void @llvm.lifetime.end.p0(i64 4, ptr %246) #11
  br label %10703

10703:                                            ; preds = %10702
  br label %10704

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

10705:                                            ; No predecessors!
  br label %10706

10706:                                            ; preds = %10705
  br label %10707

10707:                                            ; preds = %10706, %10648
  br label %10708

10708:                                            ; preds = %10707
  br label %10709

10709:                                            ; preds = %10708
  call void @llvm.lifetime.start.p0(i64 4, ptr %247) #11
  %10710 = load ptr, ptr %233, align 8, !tbaa !9
  %10711 = getelementptr inbounds [20 x i8], ptr %240, i64 0, i64 0
  %10712 = call i32 @s2n_renegotiate(ptr noundef %10710, ptr noundef %10711, i64 noundef 20, ptr noundef %239, ptr noundef %17)
  store i32 %10712, ptr %247, align 4, !tbaa !5
  br label %10713

10713:                                            ; preds = %10709
  %10714 = load i32, ptr @test_count, align 4, !tbaa !5
  %10715 = add nsw i32 %10714, 1
  store i32 %10715, ptr @test_count, align 4, !tbaa !5
  %10716 = load ptr, ptr %233, align 8, !tbaa !9
  %10717 = call i32 @s2n_conn_get_current_message_type(ptr noundef %10716)
  %10718 = icmp eq i32 %10717, 1
  br i1 %10718, label %10772, label %10719

10719:                                            ; preds = %10713
  br label %10720

10720:                                            ; preds = %10719
  br label %10721

10721:                                            ; preds = %10720
  call void @llvm.lifetime.start.p0(i64 4, ptr %248) #11
  %10722 = call ptr @__errno_location() #12
  %10723 = load i32, ptr %10722, align 4, !tbaa !5
  store i32 %10723, ptr %248, align 4, !tbaa !5
  %10724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10725 = call i32 @s2n_print_stacktrace(ptr noundef %10724)
  %10726 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10727 = trunc i8 %10726 to i1
  br i1 %10727, label %10728, label %10750

10728:                                            ; preds = %10721
  %10729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10730 = call i32 @fileno(ptr noundef %10729) #11
  %10731 = call i32 @isatty(i32 noundef %10730) #11
  %10732 = icmp ne i32 %10731, 0
  br i1 %10732, label %10733, label %10750

10733:                                            ; preds = %10728
  %10734 = load i32, ptr %248, align 4, !tbaa !5
  %10735 = call ptr @__errno_location() #12
  store i32 %10734, ptr %10735, align 4, !tbaa !5
  %10736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10737 = load i32, ptr @test_count, align 4, !tbaa !5
  %10738 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10739 = load i32, ptr %10738, align 4, !tbaa !5
  %10740 = call ptr @s2n_strerror(i32 noundef %10739, ptr noundef @.str.4)
  %10741 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10742 = load i32, ptr %10741, align 4, !tbaa !5
  %10743 = call ptr @s2n_strerror_debug(i32 noundef %10742, ptr noundef @.str.4)
  %10744 = call ptr @__errno_location() #12
  %10745 = load i32, ptr %10744, align 4, !tbaa !5
  %10746 = call ptr @strerror(i32 noundef %10745) #11
  %10747 = call ptr @__errno_location() #12
  %10748 = load i32, ptr %10747, align 4, !tbaa !5
  %10749 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10736, ptr noundef @.str.2, i32 noundef %10737, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 422, ptr noundef %10740, ptr noundef %10743, ptr noundef %10746, i32 noundef %10748) #11
  br label %10767

10750:                                            ; preds = %10728, %10721
  %10751 = load i32, ptr %248, align 4, !tbaa !5
  %10752 = call ptr @__errno_location() #12
  store i32 %10751, ptr %10752, align 4, !tbaa !5
  %10753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10754 = load i32, ptr @test_count, align 4, !tbaa !5
  %10755 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10756 = load i32, ptr %10755, align 4, !tbaa !5
  %10757 = call ptr @s2n_strerror(i32 noundef %10756, ptr noundef @.str.4)
  %10758 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10759 = load i32, ptr %10758, align 4, !tbaa !5
  %10760 = call ptr @s2n_strerror_debug(i32 noundef %10759, ptr noundef @.str.4)
  %10761 = call ptr @__errno_location() #12
  %10762 = load i32, ptr %10761, align 4, !tbaa !5
  %10763 = call ptr @strerror(i32 noundef %10762) #11
  %10764 = call ptr @__errno_location() #12
  %10765 = load i32, ptr %10764, align 4, !tbaa !5
  %10766 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10753, ptr noundef @.str.5, i32 noundef %10754, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 422, ptr noundef %10757, ptr noundef %10760, ptr noundef %10763, i32 noundef %10765) #11
  br label %10767

10767:                                            ; preds = %10750, %10733
  call void @llvm.lifetime.end.p0(i64 4, ptr %248) #11
  br label %10768

10768:                                            ; preds = %10767
  br label %10769

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

10770:                                            ; No predecessors!
  br label %10771

10771:                                            ; preds = %10770
  br label %10772

10772:                                            ; preds = %10771, %10713
  br label %10773

10773:                                            ; preds = %10772
  br label %10774

10774:                                            ; preds = %10773
  %10775 = load i64, ptr %241, align 8, !tbaa !15
  %10776 = icmp ugt i64 %10775, 0
  br i1 %10776, label %10777, label %11172

10777:                                            ; preds = %10774
  %10778 = load i64, ptr %242, align 8, !tbaa !15
  %10779 = load i64, ptr %241, align 8, !tbaa !15
  %10780 = icmp ult i64 %10778, %10779
  br i1 %10780, label %10781, label %11172

10781:                                            ; preds = %10777
  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 i32, ptr %247, align 4, !tbaa !5
  %10788 = icmp eq i32 %10787, -1
  br i1 %10788, label %10842, label %10789

10789:                                            ; preds = %10784
  br label %10790

10790:                                            ; preds = %10789
  br label %10791

10791:                                            ; preds = %10790
  call void @llvm.lifetime.start.p0(i64 4, ptr %249) #11
  %10792 = call ptr @__errno_location() #12
  %10793 = load i32, ptr %10792, align 4, !tbaa !5
  store i32 %10793, ptr %249, align 4, !tbaa !5
  %10794 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10795 = call i32 @s2n_print_stacktrace(ptr noundef %10794)
  %10796 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10797 = trunc i8 %10796 to i1
  br i1 %10797, label %10798, label %10820

10798:                                            ; preds = %10791
  %10799 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10800 = call i32 @fileno(ptr noundef %10799) #11
  %10801 = call i32 @isatty(i32 noundef %10800) #11
  %10802 = icmp ne i32 %10801, 0
  br i1 %10802, label %10803, label %10820

10803:                                            ; preds = %10798
  %10804 = load i32, ptr %249, align 4, !tbaa !5
  %10805 = call ptr @__errno_location() #12
  store i32 %10804, ptr %10805, align 4, !tbaa !5
  %10806 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10807 = load i32, ptr @test_count, align 4, !tbaa !5
  %10808 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10809 = load i32, ptr %10808, align 4, !tbaa !5
  %10810 = call ptr @s2n_strerror(i32 noundef %10809, ptr noundef @.str.4)
  %10811 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10812 = load i32, ptr %10811, align 4, !tbaa !5
  %10813 = call ptr @s2n_strerror_debug(i32 noundef %10812, ptr noundef @.str.4)
  %10814 = call ptr @__errno_location() #12
  %10815 = load i32, ptr %10814, align 4, !tbaa !5
  %10816 = call ptr @strerror(i32 noundef %10815) #11
  %10817 = call ptr @__errno_location() #12
  %10818 = load i32, ptr %10817, align 4, !tbaa !5
  %10819 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10806, ptr noundef @.str.2, i32 noundef %10807, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 425, ptr noundef %10810, ptr noundef %10813, ptr noundef %10816, i32 noundef %10818) #11
  br label %10837

10820:                                            ; preds = %10798, %10791
  %10821 = load i32, ptr %249, align 4, !tbaa !5
  %10822 = call ptr @__errno_location() #12
  store i32 %10821, ptr %10822, align 4, !tbaa !5
  %10823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10824 = load i32, ptr @test_count, align 4, !tbaa !5
  %10825 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10826 = load i32, ptr %10825, align 4, !tbaa !5
  %10827 = call ptr @s2n_strerror(i32 noundef %10826, ptr noundef @.str.4)
  %10828 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10829 = load i32, ptr %10828, align 4, !tbaa !5
  %10830 = call ptr @s2n_strerror_debug(i32 noundef %10829, ptr noundef @.str.4)
  %10831 = call ptr @__errno_location() #12
  %10832 = load i32, ptr %10831, align 4, !tbaa !5
  %10833 = call ptr @strerror(i32 noundef %10832) #11
  %10834 = call ptr @__errno_location() #12
  %10835 = load i32, ptr %10834, align 4, !tbaa !5
  %10836 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10823, ptr noundef @.str.5, i32 noundef %10824, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 425, ptr noundef %10827, ptr noundef %10830, ptr noundef %10833, i32 noundef %10835) #11
  br label %10837

10837:                                            ; preds = %10820, %10803
  call void @llvm.lifetime.end.p0(i64 4, ptr %249) #11
  br label %10838

10838:                                            ; preds = %10837
  br label %10839

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

10840:                                            ; No predecessors!
  br label %10841

10841:                                            ; preds = %10840
  br label %10842

10842:                                            ; preds = %10841, %10784
  br label %10843

10843:                                            ; preds = %10842
  br label %10844

10844:                                            ; preds = %10843
  br label %10845

10845:                                            ; preds = %10844
  %10846 = load i32, ptr @test_count, align 4, !tbaa !5
  %10847 = add nsw i32 %10846, 1
  store i32 %10847, ptr @test_count, align 4, !tbaa !5
  %10848 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10849 = load i32, ptr %10848, align 4, !tbaa !5
  %10850 = icmp eq i32 %10849, 201326595
  br i1 %10850, label %10904, label %10851

10851:                                            ; preds = %10845
  br label %10852

10852:                                            ; preds = %10851
  br label %10853

10853:                                            ; preds = %10852
  call void @llvm.lifetime.start.p0(i64 4, ptr %250) #11
  %10854 = call ptr @__errno_location() #12
  %10855 = load i32, ptr %10854, align 4, !tbaa !5
  store i32 %10855, ptr %250, align 4, !tbaa !5
  %10856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10857 = call i32 @s2n_print_stacktrace(ptr noundef %10856)
  %10858 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10859 = trunc i8 %10858 to i1
  br i1 %10859, label %10860, label %10882

10860:                                            ; preds = %10853
  %10861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10862 = call i32 @fileno(ptr noundef %10861) #11
  %10863 = call i32 @isatty(i32 noundef %10862) #11
  %10864 = icmp ne i32 %10863, 0
  br i1 %10864, label %10865, label %10882

10865:                                            ; preds = %10860
  %10866 = load i32, ptr %250, align 4, !tbaa !5
  %10867 = call ptr @__errno_location() #12
  store i32 %10866, ptr %10867, align 4, !tbaa !5
  %10868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10869 = load i32, ptr @test_count, align 4, !tbaa !5
  %10870 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10871 = load i32, ptr %10870, align 4, !tbaa !5
  %10872 = call ptr @s2n_strerror(i32 noundef %10871, ptr noundef @.str.4)
  %10873 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10874 = load i32, ptr %10873, align 4, !tbaa !5
  %10875 = call ptr @s2n_strerror_debug(i32 noundef %10874, ptr noundef @.str.4)
  %10876 = call ptr @__errno_location() #12
  %10877 = load i32, ptr %10876, align 4, !tbaa !5
  %10878 = call ptr @strerror(i32 noundef %10877) #11
  %10879 = call ptr @__errno_location() #12
  %10880 = load i32, ptr %10879, align 4, !tbaa !5
  %10881 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10868, ptr noundef @.str.2, i32 noundef %10869, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 425, ptr noundef %10872, ptr noundef %10875, ptr noundef %10878, i32 noundef %10880) #11
  br label %10899

10882:                                            ; preds = %10860, %10853
  %10883 = load i32, ptr %250, align 4, !tbaa !5
  %10884 = call ptr @__errno_location() #12
  store i32 %10883, ptr %10884, align 4, !tbaa !5
  %10885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10886 = load i32, ptr @test_count, align 4, !tbaa !5
  %10887 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10888 = load i32, ptr %10887, align 4, !tbaa !5
  %10889 = call ptr @s2n_strerror(i32 noundef %10888, ptr noundef @.str.4)
  %10890 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10891 = load i32, ptr %10890, align 4, !tbaa !5
  %10892 = call ptr @s2n_strerror_debug(i32 noundef %10891, ptr noundef @.str.4)
  %10893 = call ptr @__errno_location() #12
  %10894 = load i32, ptr %10893, align 4, !tbaa !5
  %10895 = call ptr @strerror(i32 noundef %10894) #11
  %10896 = call ptr @__errno_location() #12
  %10897 = load i32, ptr %10896, align 4, !tbaa !5
  %10898 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10885, ptr noundef @.str.5, i32 noundef %10886, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 425, ptr noundef %10889, ptr noundef %10892, ptr noundef %10895, i32 noundef %10897) #11
  br label %10899

10899:                                            ; preds = %10882, %10865
  call void @llvm.lifetime.end.p0(i64 4, ptr %250) #11
  br label %10900

10900:                                            ; preds = %10899
  br label %10901

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

10902:                                            ; No predecessors!
  br label %10903

10903:                                            ; preds = %10902
  br label %10904

10904:                                            ; preds = %10903, %10845
  br label %10905

10905:                                            ; preds = %10904
  br label %10906

10906:                                            ; preds = %10905
  br label %10907

10907:                                            ; preds = %10906
  %10908 = load i32, ptr @test_count, align 4, !tbaa !5
  %10909 = add nsw i32 %10908, 1
  store i32 %10909, ptr @test_count, align 4, !tbaa !5
  %10910 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10911 = load i32, ptr %10910, align 4, !tbaa !5
  %10912 = call ptr @s2n_strerror_debug(i32 noundef %10911, ptr noundef @.str.4)
  %10913 = icmp eq ptr %10912, null
  br i1 %10913, label %10914, label %10967

10914:                                            ; preds = %10907
  br label %10915

10915:                                            ; preds = %10914
  br label %10916

10916:                                            ; preds = %10915
  call void @llvm.lifetime.start.p0(i64 4, ptr %251) #11
  %10917 = call ptr @__errno_location() #12
  %10918 = load i32, ptr %10917, align 4, !tbaa !5
  store i32 %10918, ptr %251, align 4, !tbaa !5
  %10919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10920 = call i32 @s2n_print_stacktrace(ptr noundef %10919)
  %10921 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10922 = trunc i8 %10921 to i1
  br i1 %10922, label %10923, label %10945

10923:                                            ; preds = %10916
  %10924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10925 = call i32 @fileno(ptr noundef %10924) #11
  %10926 = call i32 @isatty(i32 noundef %10925) #11
  %10927 = icmp ne i32 %10926, 0
  br i1 %10927, label %10928, label %10945

10928:                                            ; preds = %10923
  %10929 = load i32, ptr %251, align 4, !tbaa !5
  %10930 = call ptr @__errno_location() #12
  store i32 %10929, ptr %10930, align 4, !tbaa !5
  %10931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10932 = load i32, ptr @test_count, align 4, !tbaa !5
  %10933 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10934 = load i32, ptr %10933, align 4, !tbaa !5
  %10935 = call ptr @s2n_strerror(i32 noundef %10934, ptr noundef @.str.4)
  %10936 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10937 = load i32, ptr %10936, align 4, !tbaa !5
  %10938 = call ptr @s2n_strerror_debug(i32 noundef %10937, ptr noundef @.str.4)
  %10939 = call ptr @__errno_location() #12
  %10940 = load i32, ptr %10939, align 4, !tbaa !5
  %10941 = call ptr @strerror(i32 noundef %10940) #11
  %10942 = call ptr @__errno_location() #12
  %10943 = load i32, ptr %10942, align 4, !tbaa !5
  %10944 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10931, ptr noundef @.str.2, i32 noundef %10932, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 425, ptr noundef %10935, ptr noundef %10938, ptr noundef %10941, i32 noundef %10943) #11
  br label %10962

10945:                                            ; preds = %10923, %10916
  %10946 = load i32, ptr %251, align 4, !tbaa !5
  %10947 = call ptr @__errno_location() #12
  store i32 %10946, ptr %10947, align 4, !tbaa !5
  %10948 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10949 = load i32, ptr @test_count, align 4, !tbaa !5
  %10950 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10951 = load i32, ptr %10950, align 4, !tbaa !5
  %10952 = call ptr @s2n_strerror(i32 noundef %10951, ptr noundef @.str.4)
  %10953 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10954 = load i32, ptr %10953, align 4, !tbaa !5
  %10955 = call ptr @s2n_strerror_debug(i32 noundef %10954, ptr noundef @.str.4)
  %10956 = call ptr @__errno_location() #12
  %10957 = load i32, ptr %10956, align 4, !tbaa !5
  %10958 = call ptr @strerror(i32 noundef %10957) #11
  %10959 = call ptr @__errno_location() #12
  %10960 = load i32, ptr %10959, align 4, !tbaa !5
  %10961 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10948, ptr noundef @.str.5, i32 noundef %10949, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 425, ptr noundef %10952, ptr noundef %10955, ptr noundef %10958, i32 noundef %10960) #11
  br label %10962

10962:                                            ; preds = %10945, %10928
  call void @llvm.lifetime.end.p0(i64 4, ptr %251) #11
  br label %10963

10963:                                            ; preds = %10962
  br label %10964

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

10965:                                            ; No predecessors!
  br label %10966

10966:                                            ; preds = %10965
  br label %10967

10967:                                            ; preds = %10966, %10907
  br label %10968

10968:                                            ; preds = %10967
  br label %10969

10969:                                            ; preds = %10968
  br label %10970

10970:                                            ; preds = %10969
  br label %10971

10971:                                            ; preds = %10970
  br label %10972

10972:                                            ; preds = %10971
  %10973 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %10973, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %10974 = call ptr @__errno_location() #12
  store i32 0, ptr %10974, align 4, !tbaa !5
  br label %10975

10975:                                            ; preds = %10972
  br label %10976

10976:                                            ; preds = %10975
  br label %10977

10977:                                            ; preds = %10976
  br label %10978

10978:                                            ; preds = %10977
  br label %10979

10979:                                            ; preds = %10978
  %10980 = load i32, ptr @test_count, align 4, !tbaa !5
  %10981 = add nsw i32 %10980, 1
  store i32 %10981, ptr @test_count, align 4, !tbaa !5
  %10982 = load i32, ptr %17, align 4, !tbaa !5
  %10983 = load i32, ptr @S2N_BLOCKED_ON_APPLICATION_DATA, align 4, !tbaa !5
  %10984 = icmp eq i32 %10982, %10983
  br i1 %10984, label %11038, label %10985

10985:                                            ; preds = %10979
  br label %10986

10986:                                            ; preds = %10985
  br label %10987

10987:                                            ; preds = %10986
  call void @llvm.lifetime.start.p0(i64 4, ptr %252) #11
  %10988 = call ptr @__errno_location() #12
  %10989 = load i32, ptr %10988, align 4, !tbaa !5
  store i32 %10989, ptr %252, align 4, !tbaa !5
  %10990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10991 = call i32 @s2n_print_stacktrace(ptr noundef %10990)
  %10992 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10993 = trunc i8 %10992 to i1
  br i1 %10993, label %10994, label %11016

10994:                                            ; preds = %10987
  %10995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10996 = call i32 @fileno(ptr noundef %10995) #11
  %10997 = call i32 @isatty(i32 noundef %10996) #11
  %10998 = icmp ne i32 %10997, 0
  br i1 %10998, label %10999, label %11016

10999:                                            ; preds = %10994
  %11000 = load i32, ptr %252, align 4, !tbaa !5
  %11001 = call ptr @__errno_location() #12
  store i32 %11000, ptr %11001, align 4, !tbaa !5
  %11002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11003 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %11005, ptr noundef @.str.4)
  %11007 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11008 = load i32, ptr %11007, align 4, !tbaa !5
  %11009 = call ptr @s2n_strerror_debug(i32 noundef %11008, ptr noundef @.str.4)
  %11010 = call ptr @__errno_location() #12
  %11011 = load i32, ptr %11010, align 4, !tbaa !5
  %11012 = call ptr @strerror(i32 noundef %11011) #11
  %11013 = call ptr @__errno_location() #12
  %11014 = load i32, ptr %11013, align 4, !tbaa !5
  %11015 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11002, ptr noundef @.str.2, i32 noundef %11003, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 426, ptr noundef %11006, ptr noundef %11009, ptr noundef %11012, i32 noundef %11014) #11
  br label %11033

11016:                                            ; preds = %10994, %10987
  %11017 = load i32, ptr %252, align 4, !tbaa !5
  %11018 = call ptr @__errno_location() #12
  store i32 %11017, ptr %11018, align 4, !tbaa !5
  %11019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11020 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %11022, ptr noundef @.str.4)
  %11024 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11025 = load i32, ptr %11024, align 4, !tbaa !5
  %11026 = call ptr @s2n_strerror_debug(i32 noundef %11025, ptr noundef @.str.4)
  %11027 = call ptr @__errno_location() #12
  %11028 = load i32, ptr %11027, align 4, !tbaa !5
  %11029 = call ptr @strerror(i32 noundef %11028) #11
  %11030 = call ptr @__errno_location() #12
  %11031 = load i32, ptr %11030, align 4, !tbaa !5
  %11032 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11019, ptr noundef @.str.5, i32 noundef %11020, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 426, ptr noundef %11023, ptr noundef %11026, ptr noundef %11029, i32 noundef %11031) #11
  br label %11033

11033:                                            ; preds = %11016, %10999
  call void @llvm.lifetime.end.p0(i64 4, ptr %252) #11
  br label %11034

11034:                                            ; preds = %11033
  br label %11035

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

11036:                                            ; No predecessors!
  br label %11037

11037:                                            ; preds = %11036
  br label %11038

11038:                                            ; preds = %11037, %10979
  br label %11039

11039:                                            ; preds = %11038
  br label %11040

11040:                                            ; preds = %11039
  br label %11041

11041:                                            ; preds = %11040
  %11042 = load i32, ptr @test_count, align 4, !tbaa !5
  %11043 = add nsw i32 %11042, 1
  store i32 %11043, ptr @test_count, align 4, !tbaa !5
  %11044 = load i64, ptr %239, align 8, !tbaa !15
  %11045 = icmp eq i64 %11044, 10
  br i1 %11045, label %11099, label %11046

11046:                                            ; preds = %11041
  br label %11047

11047:                                            ; preds = %11046
  br label %11048

11048:                                            ; preds = %11047
  call void @llvm.lifetime.start.p0(i64 4, ptr %253) #11
  %11049 = call ptr @__errno_location() #12
  %11050 = load i32, ptr %11049, align 4, !tbaa !5
  store i32 %11050, ptr %253, align 4, !tbaa !5
  %11051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11052 = call i32 @s2n_print_stacktrace(ptr noundef %11051)
  %11053 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11054 = trunc i8 %11053 to i1
  br i1 %11054, label %11055, label %11077

11055:                                            ; preds = %11048
  %11056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11057 = call i32 @fileno(ptr noundef %11056) #11
  %11058 = call i32 @isatty(i32 noundef %11057) #11
  %11059 = icmp ne i32 %11058, 0
  br i1 %11059, label %11060, label %11077

11060:                                            ; preds = %11055
  %11061 = load i32, ptr %253, align 4, !tbaa !5
  %11062 = call ptr @__errno_location() #12
  store i32 %11061, ptr %11062, align 4, !tbaa !5
  %11063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11064 = load i32, ptr @test_count, align 4, !tbaa !5
  %11065 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11066 = load i32, ptr %11065, align 4, !tbaa !5
  %11067 = call ptr @s2n_strerror(i32 noundef %11066, ptr noundef @.str.4)
  %11068 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11069 = load i32, ptr %11068, align 4, !tbaa !5
  %11070 = call ptr @s2n_strerror_debug(i32 noundef %11069, ptr noundef @.str.4)
  %11071 = call ptr @__errno_location() #12
  %11072 = load i32, ptr %11071, align 4, !tbaa !5
  %11073 = call ptr @strerror(i32 noundef %11072) #11
  %11074 = call ptr @__errno_location() #12
  %11075 = load i32, ptr %11074, align 4, !tbaa !5
  %11076 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11063, ptr noundef @.str.2, i32 noundef %11064, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 427, ptr noundef %11067, ptr noundef %11070, ptr noundef %11073, i32 noundef %11075) #11
  br label %11094

11077:                                            ; preds = %11055, %11048
  %11078 = load i32, ptr %253, align 4, !tbaa !5
  %11079 = call ptr @__errno_location() #12
  store i32 %11078, ptr %11079, align 4, !tbaa !5
  %11080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11081 = load i32, ptr @test_count, align 4, !tbaa !5
  %11082 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11083 = load i32, ptr %11082, align 4, !tbaa !5
  %11084 = call ptr @s2n_strerror(i32 noundef %11083, ptr noundef @.str.4)
  %11085 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11086 = load i32, ptr %11085, align 4, !tbaa !5
  %11087 = call ptr @s2n_strerror_debug(i32 noundef %11086, ptr noundef @.str.4)
  %11088 = call ptr @__errno_location() #12
  %11089 = load i32, ptr %11088, align 4, !tbaa !5
  %11090 = call ptr @strerror(i32 noundef %11089) #11
  %11091 = call ptr @__errno_location() #12
  %11092 = load i32, ptr %11091, align 4, !tbaa !5
  %11093 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11080, ptr noundef @.str.5, i32 noundef %11081, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 427, ptr noundef %11084, ptr noundef %11087, ptr noundef %11090, i32 noundef %11092) #11
  br label %11094

11094:                                            ; preds = %11077, %11060
  call void @llvm.lifetime.end.p0(i64 4, ptr %253) #11
  br label %11095

11095:                                            ; preds = %11094
  br label %11096

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

11097:                                            ; No predecessors!
  br label %11098

11098:                                            ; preds = %11097
  br label %11099

11099:                                            ; preds = %11098, %11041
  br label %11100

11100:                                            ; preds = %11099
  br label %11101

11101:                                            ; preds = %11100
  br label %11102

11102:                                            ; preds = %11101
  br label %11103

11103:                                            ; preds = %11102
  %11104 = load i32, ptr @test_count, align 4, !tbaa !5
  %11105 = add nsw i32 %11104, 1
  store i32 %11105, ptr @test_count, align 4, !tbaa !5
  %11106 = getelementptr inbounds [20 x i8], ptr %240, i64 0, i64 0
  %11107 = load i64, ptr %242, align 8, !tbaa !15
  %11108 = getelementptr inbounds [3 x [10 x i8]], ptr %222, i64 0, i64 %11107
  %11109 = getelementptr inbounds [10 x i8], ptr %11108, i64 0, i64 0
  %11110 = call i32 @memcmp(ptr noundef %11106, ptr noundef %11109, i64 noundef 10) #14
  %11111 = icmp eq i32 %11110, 0
  br i1 %11111, label %11165, label %11112

11112:                                            ; preds = %11103
  br label %11113

11113:                                            ; preds = %11112
  br label %11114

11114:                                            ; preds = %11113
  call void @llvm.lifetime.start.p0(i64 4, ptr %254) #11
  %11115 = call ptr @__errno_location() #12
  %11116 = load i32, ptr %11115, align 4, !tbaa !5
  store i32 %11116, ptr %254, align 4, !tbaa !5
  %11117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11118 = call i32 @s2n_print_stacktrace(ptr noundef %11117)
  %11119 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11120 = trunc i8 %11119 to i1
  br i1 %11120, label %11121, label %11143

11121:                                            ; preds = %11114
  %11122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11123 = call i32 @fileno(ptr noundef %11122) #11
  %11124 = call i32 @isatty(i32 noundef %11123) #11
  %11125 = icmp ne i32 %11124, 0
  br i1 %11125, label %11126, label %11143

11126:                                            ; preds = %11121
  %11127 = load i32, ptr %254, align 4, !tbaa !5
  %11128 = call ptr @__errno_location() #12
  store i32 %11127, ptr %11128, align 4, !tbaa !5
  %11129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11130 = load i32, ptr @test_count, align 4, !tbaa !5
  %11131 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11132 = load i32, ptr %11131, align 4, !tbaa !5
  %11133 = call ptr @s2n_strerror(i32 noundef %11132, ptr noundef @.str.4)
  %11134 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11135 = load i32, ptr %11134, align 4, !tbaa !5
  %11136 = call ptr @s2n_strerror_debug(i32 noundef %11135, ptr noundef @.str.4)
  %11137 = call ptr @__errno_location() #12
  %11138 = load i32, ptr %11137, align 4, !tbaa !5
  %11139 = call ptr @strerror(i32 noundef %11138) #11
  %11140 = call ptr @__errno_location() #12
  %11141 = load i32, ptr %11140, align 4, !tbaa !5
  %11142 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11129, ptr noundef @.str.2, i32 noundef %11130, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 428, ptr noundef %11133, ptr noundef %11136, ptr noundef %11139, i32 noundef %11141) #11
  br label %11160

11143:                                            ; preds = %11121, %11114
  %11144 = load i32, ptr %254, align 4, !tbaa !5
  %11145 = call ptr @__errno_location() #12
  store i32 %11144, ptr %11145, align 4, !tbaa !5
  %11146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11147 = load i32, ptr @test_count, align 4, !tbaa !5
  %11148 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11149 = load i32, ptr %11148, align 4, !tbaa !5
  %11150 = call ptr @s2n_strerror(i32 noundef %11149, ptr noundef @.str.4)
  %11151 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11152 = load i32, ptr %11151, align 4, !tbaa !5
  %11153 = call ptr @s2n_strerror_debug(i32 noundef %11152, ptr noundef @.str.4)
  %11154 = call ptr @__errno_location() #12
  %11155 = load i32, ptr %11154, align 4, !tbaa !5
  %11156 = call ptr @strerror(i32 noundef %11155) #11
  %11157 = call ptr @__errno_location() #12
  %11158 = load i32, ptr %11157, align 4, !tbaa !5
  %11159 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11146, ptr noundef @.str.5, i32 noundef %11147, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 428, ptr noundef %11150, ptr noundef %11153, ptr noundef %11156, i32 noundef %11158) #11
  br label %11160

11160:                                            ; preds = %11143, %11126
  call void @llvm.lifetime.end.p0(i64 4, ptr %254) #11
  br label %11161

11161:                                            ; preds = %11160
  br label %11162

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

11163:                                            ; No predecessors!
  br label %11164

11164:                                            ; preds = %11163
  br label %11165

11165:                                            ; preds = %11164, %11103
  br label %11166

11166:                                            ; preds = %11165
  br label %11167

11167:                                            ; preds = %11166
  br label %11168

11168:                                            ; preds = %11167
  br label %11169

11169:                                            ; preds = %11168
  %11170 = load i64, ptr %242, align 8, !tbaa !15
  %11171 = add i64 %11170, 1
  store i64 %11171, ptr %242, align 8, !tbaa !15
  store i8 1, ptr %223, align 1, !tbaa !11
  br label %11492

11172:                                            ; preds = %10777, %10774
  br label %11173

11173:                                            ; preds = %11172
  br label %11174

11174:                                            ; preds = %11173
  br label %11175

11175:                                            ; preds = %11174
  %11176 = load i32, ptr @test_count, align 4, !tbaa !5
  %11177 = add nsw i32 %11176, 1
  store i32 %11177, ptr @test_count, align 4, !tbaa !5
  %11178 = load i32, ptr %247, align 4, !tbaa !5
  %11179 = icmp eq i32 %11178, -1
  br i1 %11179, label %11233, label %11180

11180:                                            ; preds = %11175
  br label %11181

11181:                                            ; preds = %11180
  br label %11182

11182:                                            ; preds = %11181
  call void @llvm.lifetime.start.p0(i64 4, ptr %255) #11
  %11183 = call ptr @__errno_location() #12
  %11184 = load i32, ptr %11183, align 4, !tbaa !5
  store i32 %11184, ptr %255, align 4, !tbaa !5
  %11185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11186 = call i32 @s2n_print_stacktrace(ptr noundef %11185)
  %11187 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11188 = trunc i8 %11187 to i1
  br i1 %11188, label %11189, label %11211

11189:                                            ; preds = %11182
  %11190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11191 = call i32 @fileno(ptr noundef %11190) #11
  %11192 = call i32 @isatty(i32 noundef %11191) #11
  %11193 = icmp ne i32 %11192, 0
  br i1 %11193, label %11194, label %11211

11194:                                            ; preds = %11189
  %11195 = load i32, ptr %255, align 4, !tbaa !5
  %11196 = call ptr @__errno_location() #12
  store i32 %11195, ptr %11196, align 4, !tbaa !5
  %11197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11198 = load i32, ptr @test_count, align 4, !tbaa !5
  %11199 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11200 = load i32, ptr %11199, align 4, !tbaa !5
  %11201 = call ptr @s2n_strerror(i32 noundef %11200, ptr noundef @.str.4)
  %11202 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11203 = load i32, ptr %11202, align 4, !tbaa !5
  %11204 = call ptr @s2n_strerror_debug(i32 noundef %11203, ptr noundef @.str.4)
  %11205 = call ptr @__errno_location() #12
  %11206 = load i32, ptr %11205, align 4, !tbaa !5
  %11207 = call ptr @strerror(i32 noundef %11206) #11
  %11208 = call ptr @__errno_location() #12
  %11209 = load i32, ptr %11208, align 4, !tbaa !5
  %11210 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11197, ptr noundef @.str.2, i32 noundef %11198, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 432, ptr noundef %11201, ptr noundef %11204, ptr noundef %11207, i32 noundef %11209) #11
  br label %11228

11211:                                            ; preds = %11189, %11182
  %11212 = load i32, ptr %255, align 4, !tbaa !5
  %11213 = call ptr @__errno_location() #12
  store i32 %11212, ptr %11213, align 4, !tbaa !5
  %11214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11215 = load i32, ptr @test_count, align 4, !tbaa !5
  %11216 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11217 = load i32, ptr %11216, align 4, !tbaa !5
  %11218 = call ptr @s2n_strerror(i32 noundef %11217, ptr noundef @.str.4)
  %11219 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11220 = load i32, ptr %11219, align 4, !tbaa !5
  %11221 = call ptr @s2n_strerror_debug(i32 noundef %11220, ptr noundef @.str.4)
  %11222 = call ptr @__errno_location() #12
  %11223 = load i32, ptr %11222, align 4, !tbaa !5
  %11224 = call ptr @strerror(i32 noundef %11223) #11
  %11225 = call ptr @__errno_location() #12
  %11226 = load i32, ptr %11225, align 4, !tbaa !5
  %11227 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11214, ptr noundef @.str.5, i32 noundef %11215, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 432, ptr noundef %11218, ptr noundef %11221, ptr noundef %11224, i32 noundef %11226) #11
  br label %11228

11228:                                            ; preds = %11211, %11194
  call void @llvm.lifetime.end.p0(i64 4, ptr %255) #11
  br label %11229

11229:                                            ; preds = %11228
  br label %11230

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

11231:                                            ; No predecessors!
  br label %11232

11232:                                            ; preds = %11231
  br label %11233

11233:                                            ; preds = %11232, %11175
  br label %11234

11234:                                            ; preds = %11233
  br label %11235

11235:                                            ; preds = %11234
  br label %11236

11236:                                            ; preds = %11235
  %11237 = load i32, ptr @test_count, align 4, !tbaa !5
  %11238 = add nsw i32 %11237, 1
  store i32 %11238, ptr @test_count, align 4, !tbaa !5
  %11239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11240 = load i32, ptr %11239, align 4, !tbaa !5
  %11241 = icmp eq i32 %11240, 201326592
  br i1 %11241, label %11295, label %11242

11242:                                            ; preds = %11236
  br label %11243

11243:                                            ; preds = %11242
  br label %11244

11244:                                            ; preds = %11243
  call void @llvm.lifetime.start.p0(i64 4, ptr %256) #11
  %11245 = call ptr @__errno_location() #12
  %11246 = load i32, ptr %11245, align 4, !tbaa !5
  store i32 %11246, ptr %256, align 4, !tbaa !5
  %11247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11248 = call i32 @s2n_print_stacktrace(ptr noundef %11247)
  %11249 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11250 = trunc i8 %11249 to i1
  br i1 %11250, label %11251, label %11273

11251:                                            ; preds = %11244
  %11252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11253 = call i32 @fileno(ptr noundef %11252) #11
  %11254 = call i32 @isatty(i32 noundef %11253) #11
  %11255 = icmp ne i32 %11254, 0
  br i1 %11255, label %11256, label %11273

11256:                                            ; preds = %11251
  %11257 = load i32, ptr %256, align 4, !tbaa !5
  %11258 = call ptr @__errno_location() #12
  store i32 %11257, ptr %11258, align 4, !tbaa !5
  %11259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11260 = load i32, ptr @test_count, align 4, !tbaa !5
  %11261 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11262 = load i32, ptr %11261, align 4, !tbaa !5
  %11263 = call ptr @s2n_strerror(i32 noundef %11262, ptr noundef @.str.4)
  %11264 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11265 = load i32, ptr %11264, align 4, !tbaa !5
  %11266 = call ptr @s2n_strerror_debug(i32 noundef %11265, ptr noundef @.str.4)
  %11267 = call ptr @__errno_location() #12
  %11268 = load i32, ptr %11267, align 4, !tbaa !5
  %11269 = call ptr @strerror(i32 noundef %11268) #11
  %11270 = call ptr @__errno_location() #12
  %11271 = load i32, ptr %11270, align 4, !tbaa !5
  %11272 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11259, ptr noundef @.str.2, i32 noundef %11260, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 432, ptr noundef %11263, ptr noundef %11266, ptr noundef %11269, i32 noundef %11271) #11
  br label %11290

11273:                                            ; preds = %11251, %11244
  %11274 = load i32, ptr %256, align 4, !tbaa !5
  %11275 = call ptr @__errno_location() #12
  store i32 %11274, ptr %11275, align 4, !tbaa !5
  %11276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11277 = load i32, ptr @test_count, align 4, !tbaa !5
  %11278 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11279 = load i32, ptr %11278, align 4, !tbaa !5
  %11280 = call ptr @s2n_strerror(i32 noundef %11279, ptr noundef @.str.4)
  %11281 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11282 = load i32, ptr %11281, align 4, !tbaa !5
  %11283 = call ptr @s2n_strerror_debug(i32 noundef %11282, ptr noundef @.str.4)
  %11284 = call ptr @__errno_location() #12
  %11285 = load i32, ptr %11284, align 4, !tbaa !5
  %11286 = call ptr @strerror(i32 noundef %11285) #11
  %11287 = call ptr @__errno_location() #12
  %11288 = load i32, ptr %11287, align 4, !tbaa !5
  %11289 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11276, ptr noundef @.str.5, i32 noundef %11277, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 432, ptr noundef %11280, ptr noundef %11283, ptr noundef %11286, i32 noundef %11288) #11
  br label %11290

11290:                                            ; preds = %11273, %11256
  call void @llvm.lifetime.end.p0(i64 4, ptr %256) #11
  br label %11291

11291:                                            ; preds = %11290
  br label %11292

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

11293:                                            ; No predecessors!
  br label %11294

11294:                                            ; preds = %11293
  br label %11295

11295:                                            ; preds = %11294, %11236
  br label %11296

11296:                                            ; preds = %11295
  br label %11297

11297:                                            ; preds = %11296
  br label %11298

11298:                                            ; preds = %11297
  %11299 = load i32, ptr @test_count, align 4, !tbaa !5
  %11300 = add nsw i32 %11299, 1
  store i32 %11300, ptr @test_count, align 4, !tbaa !5
  %11301 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11302 = load i32, ptr %11301, align 4, !tbaa !5
  %11303 = call ptr @s2n_strerror_debug(i32 noundef %11302, ptr noundef @.str.4)
  %11304 = icmp eq ptr %11303, null
  br i1 %11304, label %11305, label %11358

11305:                                            ; preds = %11298
  br label %11306

11306:                                            ; preds = %11305
  br label %11307

11307:                                            ; preds = %11306
  call void @llvm.lifetime.start.p0(i64 4, ptr %257) #11
  %11308 = call ptr @__errno_location() #12
  %11309 = load i32, ptr %11308, align 4, !tbaa !5
  store i32 %11309, ptr %257, align 4, !tbaa !5
  %11310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11311 = call i32 @s2n_print_stacktrace(ptr noundef %11310)
  %11312 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11313 = trunc i8 %11312 to i1
  br i1 %11313, label %11314, label %11336

11314:                                            ; preds = %11307
  %11315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11316 = call i32 @fileno(ptr noundef %11315) #11
  %11317 = call i32 @isatty(i32 noundef %11316) #11
  %11318 = icmp ne i32 %11317, 0
  br i1 %11318, label %11319, label %11336

11319:                                            ; preds = %11314
  %11320 = load i32, ptr %257, align 4, !tbaa !5
  %11321 = call ptr @__errno_location() #12
  store i32 %11320, ptr %11321, align 4, !tbaa !5
  %11322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11323 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %11325, ptr noundef @.str.4)
  %11327 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11328 = load i32, ptr %11327, align 4, !tbaa !5
  %11329 = call ptr @s2n_strerror_debug(i32 noundef %11328, ptr noundef @.str.4)
  %11330 = call ptr @__errno_location() #12
  %11331 = load i32, ptr %11330, align 4, !tbaa !5
  %11332 = call ptr @strerror(i32 noundef %11331) #11
  %11333 = call ptr @__errno_location() #12
  %11334 = load i32, ptr %11333, align 4, !tbaa !5
  %11335 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11322, ptr noundef @.str.2, i32 noundef %11323, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 432, ptr noundef %11326, ptr noundef %11329, ptr noundef %11332, i32 noundef %11334) #11
  br label %11353

11336:                                            ; preds = %11314, %11307
  %11337 = load i32, ptr %257, align 4, !tbaa !5
  %11338 = call ptr @__errno_location() #12
  store i32 %11337, ptr %11338, align 4, !tbaa !5
  %11339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11340 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %11342, ptr noundef @.str.4)
  %11344 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11345 = load i32, ptr %11344, align 4, !tbaa !5
  %11346 = call ptr @s2n_strerror_debug(i32 noundef %11345, ptr noundef @.str.4)
  %11347 = call ptr @__errno_location() #12
  %11348 = load i32, ptr %11347, align 4, !tbaa !5
  %11349 = call ptr @strerror(i32 noundef %11348) #11
  %11350 = call ptr @__errno_location() #12
  %11351 = load i32, ptr %11350, align 4, !tbaa !5
  %11352 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11339, ptr noundef @.str.5, i32 noundef %11340, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 432, ptr noundef %11343, ptr noundef %11346, ptr noundef %11349, i32 noundef %11351) #11
  br label %11353

11353:                                            ; preds = %11336, %11319
  call void @llvm.lifetime.end.p0(i64 4, ptr %257) #11
  br label %11354

11354:                                            ; preds = %11353
  br label %11355

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

11356:                                            ; No predecessors!
  br label %11357

11357:                                            ; preds = %11356
  br label %11358

11358:                                            ; preds = %11357, %11298
  br label %11359

11359:                                            ; preds = %11358
  br label %11360

11360:                                            ; preds = %11359
  br label %11361

11361:                                            ; preds = %11360
  br label %11362

11362:                                            ; preds = %11361
  br label %11363

11363:                                            ; preds = %11362
  %11364 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %11364, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %11365 = call ptr @__errno_location() #12
  store i32 0, ptr %11365, align 4, !tbaa !5
  br label %11366

11366:                                            ; preds = %11363
  br label %11367

11367:                                            ; preds = %11366
  br label %11368

11368:                                            ; preds = %11367
  br label %11369

11369:                                            ; preds = %11368
  br label %11370

11370:                                            ; preds = %11369
  %11371 = load i32, ptr @test_count, align 4, !tbaa !5
  %11372 = add nsw i32 %11371, 1
  store i32 %11372, ptr @test_count, align 4, !tbaa !5
  %11373 = load i32, ptr %17, align 4, !tbaa !5
  %11374 = icmp eq i32 %11373, 1
  br i1 %11374, label %11428, label %11375

11375:                                            ; preds = %11370
  br label %11376

11376:                                            ; preds = %11375
  br label %11377

11377:                                            ; preds = %11376
  call void @llvm.lifetime.start.p0(i64 4, ptr %258) #11
  %11378 = call ptr @__errno_location() #12
  %11379 = load i32, ptr %11378, align 4, !tbaa !5
  store i32 %11379, ptr %258, align 4, !tbaa !5
  %11380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11381 = call i32 @s2n_print_stacktrace(ptr noundef %11380)
  %11382 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11383 = trunc i8 %11382 to i1
  br i1 %11383, label %11384, label %11406

11384:                                            ; preds = %11377
  %11385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11386 = call i32 @fileno(ptr noundef %11385) #11
  %11387 = call i32 @isatty(i32 noundef %11386) #11
  %11388 = icmp ne i32 %11387, 0
  br i1 %11388, label %11389, label %11406

11389:                                            ; preds = %11384
  %11390 = load i32, ptr %258, align 4, !tbaa !5
  %11391 = call ptr @__errno_location() #12
  store i32 %11390, ptr %11391, align 4, !tbaa !5
  %11392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11393 = load i32, ptr @test_count, align 4, !tbaa !5
  %11394 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11395 = load i32, ptr %11394, align 4, !tbaa !5
  %11396 = call ptr @s2n_strerror(i32 noundef %11395, ptr noundef @.str.4)
  %11397 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11398 = load i32, ptr %11397, align 4, !tbaa !5
  %11399 = call ptr @s2n_strerror_debug(i32 noundef %11398, ptr noundef @.str.4)
  %11400 = call ptr @__errno_location() #12
  %11401 = load i32, ptr %11400, align 4, !tbaa !5
  %11402 = call ptr @strerror(i32 noundef %11401) #11
  %11403 = call ptr @__errno_location() #12
  %11404 = load i32, ptr %11403, align 4, !tbaa !5
  %11405 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11392, ptr noundef @.str.2, i32 noundef %11393, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 433, ptr noundef %11396, ptr noundef %11399, ptr noundef %11402, i32 noundef %11404) #11
  br label %11423

11406:                                            ; preds = %11384, %11377
  %11407 = load i32, ptr %258, align 4, !tbaa !5
  %11408 = call ptr @__errno_location() #12
  store i32 %11407, ptr %11408, align 4, !tbaa !5
  %11409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11410 = load i32, ptr @test_count, align 4, !tbaa !5
  %11411 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11412 = load i32, ptr %11411, align 4, !tbaa !5
  %11413 = call ptr @s2n_strerror(i32 noundef %11412, ptr noundef @.str.4)
  %11414 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11415 = load i32, ptr %11414, align 4, !tbaa !5
  %11416 = call ptr @s2n_strerror_debug(i32 noundef %11415, ptr noundef @.str.4)
  %11417 = call ptr @__errno_location() #12
  %11418 = load i32, ptr %11417, align 4, !tbaa !5
  %11419 = call ptr @strerror(i32 noundef %11418) #11
  %11420 = call ptr @__errno_location() #12
  %11421 = load i32, ptr %11420, align 4, !tbaa !5
  %11422 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11409, ptr noundef @.str.5, i32 noundef %11410, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 433, ptr noundef %11413, ptr noundef %11416, ptr noundef %11419, i32 noundef %11421) #11
  br label %11423

11423:                                            ; preds = %11406, %11389
  call void @llvm.lifetime.end.p0(i64 4, ptr %258) #11
  br label %11424

11424:                                            ; preds = %11423
  br label %11425

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

11426:                                            ; No predecessors!
  br label %11427

11427:                                            ; preds = %11426
  br label %11428

11428:                                            ; preds = %11427, %11370
  br label %11429

11429:                                            ; preds = %11428
  br label %11430

11430:                                            ; preds = %11429
  br label %11431

11431:                                            ; preds = %11430
  %11432 = load i32, ptr @test_count, align 4, !tbaa !5
  %11433 = add nsw i32 %11432, 1
  store i32 %11433, ptr @test_count, align 4, !tbaa !5
  %11434 = load i64, ptr %239, align 8, !tbaa !15
  %11435 = icmp eq i64 %11434, 0
  br i1 %11435, label %11489, label %11436

11436:                                            ; preds = %11431
  br label %11437

11437:                                            ; preds = %11436
  br label %11438

11438:                                            ; preds = %11437
  call void @llvm.lifetime.start.p0(i64 4, ptr %259) #11
  %11439 = call ptr @__errno_location() #12
  %11440 = load i32, ptr %11439, align 4, !tbaa !5
  store i32 %11440, ptr %259, align 4, !tbaa !5
  %11441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11442 = call i32 @s2n_print_stacktrace(ptr noundef %11441)
  %11443 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11444 = trunc i8 %11443 to i1
  br i1 %11444, label %11445, label %11467

11445:                                            ; preds = %11438
  %11446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11447 = call i32 @fileno(ptr noundef %11446) #11
  %11448 = call i32 @isatty(i32 noundef %11447) #11
  %11449 = icmp ne i32 %11448, 0
  br i1 %11449, label %11450, label %11467

11450:                                            ; preds = %11445
  %11451 = load i32, ptr %259, align 4, !tbaa !5
  %11452 = call ptr @__errno_location() #12
  store i32 %11451, ptr %11452, align 4, !tbaa !5
  %11453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11454 = load i32, ptr @test_count, align 4, !tbaa !5
  %11455 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11456 = load i32, ptr %11455, align 4, !tbaa !5
  %11457 = call ptr @s2n_strerror(i32 noundef %11456, ptr noundef @.str.4)
  %11458 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11459 = load i32, ptr %11458, align 4, !tbaa !5
  %11460 = call ptr @s2n_strerror_debug(i32 noundef %11459, ptr noundef @.str.4)
  %11461 = call ptr @__errno_location() #12
  %11462 = load i32, ptr %11461, align 4, !tbaa !5
  %11463 = call ptr @strerror(i32 noundef %11462) #11
  %11464 = call ptr @__errno_location() #12
  %11465 = load i32, ptr %11464, align 4, !tbaa !5
  %11466 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11453, ptr noundef @.str.2, i32 noundef %11454, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 434, ptr noundef %11457, ptr noundef %11460, ptr noundef %11463, i32 noundef %11465) #11
  br label %11484

11467:                                            ; preds = %11445, %11438
  %11468 = load i32, ptr %259, align 4, !tbaa !5
  %11469 = call ptr @__errno_location() #12
  store i32 %11468, ptr %11469, align 4, !tbaa !5
  %11470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11471 = load i32, ptr @test_count, align 4, !tbaa !5
  %11472 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11473 = load i32, ptr %11472, align 4, !tbaa !5
  %11474 = call ptr @s2n_strerror(i32 noundef %11473, ptr noundef @.str.4)
  %11475 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11476 = load i32, ptr %11475, align 4, !tbaa !5
  %11477 = call ptr @s2n_strerror_debug(i32 noundef %11476, ptr noundef @.str.4)
  %11478 = call ptr @__errno_location() #12
  %11479 = load i32, ptr %11478, align 4, !tbaa !5
  %11480 = call ptr @strerror(i32 noundef %11479) #11
  %11481 = call ptr @__errno_location() #12
  %11482 = load i32, ptr %11481, align 4, !tbaa !5
  %11483 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11470, ptr noundef @.str.5, i32 noundef %11471, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 434, ptr noundef %11474, ptr noundef %11477, ptr noundef %11480, i32 noundef %11482) #11
  br label %11484

11484:                                            ; preds = %11467, %11450
  call void @llvm.lifetime.end.p0(i64 4, ptr %259) #11
  br label %11485

11485:                                            ; preds = %11484
  br label %11486

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

11487:                                            ; No predecessors!
  br label %11488

11488:                                            ; preds = %11487
  br label %11489

11489:                                            ; preds = %11488, %11431
  br label %11490

11490:                                            ; preds = %11489
  br label %11491

11491:                                            ; preds = %11490
  store i8 1, ptr %224, align 1, !tbaa !11
  br label %11492

11492:                                            ; preds = %11491, %11169
  call void @llvm.lifetime.end.p0(i64 4, ptr %247) #11
  %11493 = load i64, ptr %228, align 8, !tbaa !15
  %11494 = and i64 %11493, 2
  %11495 = icmp ne i64 %11494, 0
  br i1 %11495, label %11496, label %11564

11496:                                            ; preds = %11492
  br label %11497

11497:                                            ; preds = %11496
  %11498 = load i32, ptr @test_count, align 4, !tbaa !5
  %11499 = add nsw i32 %11498, 1
  store i32 %11499, ptr @test_count, align 4, !tbaa !5
  %11500 = load ptr, ptr %230, align 8, !tbaa !9
  %11501 = load i64, ptr %241, align 8, !tbaa !15
  %11502 = getelementptr inbounds [3 x [10 x i8]], ptr %222, i64 0, i64 %11501
  %11503 = getelementptr inbounds [10 x i8], ptr %11502, i64 0, i64 0
  %11504 = call i64 @s2n_send(ptr noundef %11500, ptr noundef %11503, i64 noundef 10, ptr noundef %17)
  %11505 = icmp eq i64 %11504, 10
  br i1 %11505, label %11559, label %11506

11506:                                            ; preds = %11497
  br label %11507

11507:                                            ; preds = %11506
  br label %11508

11508:                                            ; preds = %11507
  call void @llvm.lifetime.start.p0(i64 4, ptr %260) #11
  %11509 = call ptr @__errno_location() #12
  %11510 = load i32, ptr %11509, align 4, !tbaa !5
  store i32 %11510, ptr %260, align 4, !tbaa !5
  %11511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11512 = call i32 @s2n_print_stacktrace(ptr noundef %11511)
  %11513 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11514 = trunc i8 %11513 to i1
  br i1 %11514, label %11515, label %11537

11515:                                            ; preds = %11508
  %11516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11517 = call i32 @fileno(ptr noundef %11516) #11
  %11518 = call i32 @isatty(i32 noundef %11517) #11
  %11519 = icmp ne i32 %11518, 0
  br i1 %11519, label %11520, label %11537

11520:                                            ; preds = %11515
  %11521 = load i32, ptr %260, align 4, !tbaa !5
  %11522 = call ptr @__errno_location() #12
  store i32 %11521, ptr %11522, align 4, !tbaa !5
  %11523 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11524 = load i32, ptr @test_count, align 4, !tbaa !5
  %11525 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11526 = load i32, ptr %11525, align 4, !tbaa !5
  %11527 = call ptr @s2n_strerror(i32 noundef %11526, ptr noundef @.str.4)
  %11528 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11529 = load i32, ptr %11528, align 4, !tbaa !5
  %11530 = call ptr @s2n_strerror_debug(i32 noundef %11529, ptr noundef @.str.4)
  %11531 = call ptr @__errno_location() #12
  %11532 = load i32, ptr %11531, align 4, !tbaa !5
  %11533 = call ptr @strerror(i32 noundef %11532) #11
  %11534 = call ptr @__errno_location() #12
  %11535 = load i32, ptr %11534, align 4, !tbaa !5
  %11536 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11523, ptr noundef @.str.2, i32 noundef %11524, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 442, ptr noundef %11527, ptr noundef %11530, ptr noundef %11533, i32 noundef %11535) #11
  br label %11554

11537:                                            ; preds = %11515, %11508
  %11538 = load i32, ptr %260, align 4, !tbaa !5
  %11539 = call ptr @__errno_location() #12
  store i32 %11538, ptr %11539, align 4, !tbaa !5
  %11540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11541 = load i32, ptr @test_count, align 4, !tbaa !5
  %11542 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11543 = load i32, ptr %11542, align 4, !tbaa !5
  %11544 = call ptr @s2n_strerror(i32 noundef %11543, ptr noundef @.str.4)
  %11545 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11546 = load i32, ptr %11545, align 4, !tbaa !5
  %11547 = call ptr @s2n_strerror_debug(i32 noundef %11546, ptr noundef @.str.4)
  %11548 = call ptr @__errno_location() #12
  %11549 = load i32, ptr %11548, align 4, !tbaa !5
  %11550 = call ptr @strerror(i32 noundef %11549) #11
  %11551 = call ptr @__errno_location() #12
  %11552 = load i32, ptr %11551, align 4, !tbaa !5
  %11553 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11540, ptr noundef @.str.5, i32 noundef %11541, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 442, ptr noundef %11544, ptr noundef %11547, ptr noundef %11550, i32 noundef %11552) #11
  br label %11554

11554:                                            ; preds = %11537, %11520
  call void @llvm.lifetime.end.p0(i64 4, ptr %260) #11
  br label %11555

11555:                                            ; preds = %11554
  br label %11556

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

11557:                                            ; No predecessors!
  br label %11558

11558:                                            ; preds = %11557
  br label %11559

11559:                                            ; preds = %11558, %11497
  br label %11560

11560:                                            ; preds = %11559
  br label %11561

11561:                                            ; preds = %11560
  %11562 = load i64, ptr %241, align 8, !tbaa !15
  %11563 = add i64 %11562, 1
  store i64 %11563, ptr %241, align 8, !tbaa !15
  br label %11564

11564:                                            ; preds = %11561, %11492
  br label %11565

11565:                                            ; preds = %11564
  br label %11566

11566:                                            ; preds = %11565
  br label %11567

11567:                                            ; preds = %11566
  %11568 = load i32, ptr @test_count, align 4, !tbaa !5
  %11569 = add nsw i32 %11568, 1
  store i32 %11569, ptr @test_count, align 4, !tbaa !5
  %11570 = load ptr, ptr %230, align 8, !tbaa !9
  %11571 = call i32 @s2n_negotiate(ptr noundef %11570, ptr noundef %17)
  %11572 = icmp eq i32 %11571, -1
  br i1 %11572, label %11626, label %11573

11573:                                            ; preds = %11567
  br label %11574

11574:                                            ; preds = %11573
  br label %11575

11575:                                            ; preds = %11574
  call void @llvm.lifetime.start.p0(i64 4, ptr %261) #11
  %11576 = call ptr @__errno_location() #12
  %11577 = load i32, ptr %11576, align 4, !tbaa !5
  store i32 %11577, ptr %261, align 4, !tbaa !5
  %11578 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11579 = call i32 @s2n_print_stacktrace(ptr noundef %11578)
  %11580 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11581 = trunc i8 %11580 to i1
  br i1 %11581, label %11582, label %11604

11582:                                            ; preds = %11575
  %11583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11584 = call i32 @fileno(ptr noundef %11583) #11
  %11585 = call i32 @isatty(i32 noundef %11584) #11
  %11586 = icmp ne i32 %11585, 0
  br i1 %11586, label %11587, label %11604

11587:                                            ; preds = %11582
  %11588 = load i32, ptr %261, align 4, !tbaa !5
  %11589 = call ptr @__errno_location() #12
  store i32 %11588, ptr %11589, align 4, !tbaa !5
  %11590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11591 = load i32, ptr @test_count, align 4, !tbaa !5
  %11592 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11593 = load i32, ptr %11592, align 4, !tbaa !5
  %11594 = call ptr @s2n_strerror(i32 noundef %11593, ptr noundef @.str.4)
  %11595 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11596 = load i32, ptr %11595, align 4, !tbaa !5
  %11597 = call ptr @s2n_strerror_debug(i32 noundef %11596, ptr noundef @.str.4)
  %11598 = call ptr @__errno_location() #12
  %11599 = load i32, ptr %11598, align 4, !tbaa !5
  %11600 = call ptr @strerror(i32 noundef %11599) #11
  %11601 = call ptr @__errno_location() #12
  %11602 = load i32, ptr %11601, align 4, !tbaa !5
  %11603 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11590, ptr noundef @.str.2, i32 noundef %11591, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 446, ptr noundef %11594, ptr noundef %11597, ptr noundef %11600, i32 noundef %11602) #11
  br label %11621

11604:                                            ; preds = %11582, %11575
  %11605 = load i32, ptr %261, align 4, !tbaa !5
  %11606 = call ptr @__errno_location() #12
  store i32 %11605, ptr %11606, align 4, !tbaa !5
  %11607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11608 = load i32, ptr @test_count, align 4, !tbaa !5
  %11609 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11610 = load i32, ptr %11609, align 4, !tbaa !5
  %11611 = call ptr @s2n_strerror(i32 noundef %11610, ptr noundef @.str.4)
  %11612 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11613 = load i32, ptr %11612, align 4, !tbaa !5
  %11614 = call ptr @s2n_strerror_debug(i32 noundef %11613, ptr noundef @.str.4)
  %11615 = call ptr @__errno_location() #12
  %11616 = load i32, ptr %11615, align 4, !tbaa !5
  %11617 = call ptr @strerror(i32 noundef %11616) #11
  %11618 = call ptr @__errno_location() #12
  %11619 = load i32, ptr %11618, align 4, !tbaa !5
  %11620 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11607, ptr noundef @.str.5, i32 noundef %11608, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 446, ptr noundef %11611, ptr noundef %11614, ptr noundef %11617, i32 noundef %11619) #11
  br label %11621

11621:                                            ; preds = %11604, %11587
  call void @llvm.lifetime.end.p0(i64 4, ptr %261) #11
  br label %11622

11622:                                            ; preds = %11621
  br label %11623

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

11624:                                            ; No predecessors!
  br label %11625

11625:                                            ; preds = %11624
  br label %11626

11626:                                            ; preds = %11625, %11567
  br label %11627

11627:                                            ; preds = %11626
  br label %11628

11628:                                            ; preds = %11627
  br label %11629

11629:                                            ; preds = %11628
  %11630 = load i32, ptr @test_count, align 4, !tbaa !5
  %11631 = add nsw i32 %11630, 1
  store i32 %11631, ptr @test_count, align 4, !tbaa !5
  %11632 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11633 = load i32, ptr %11632, align 4, !tbaa !5
  %11634 = icmp eq i32 %11633, 201326592
  br i1 %11634, label %11688, label %11635

11635:                                            ; preds = %11629
  br label %11636

11636:                                            ; preds = %11635
  br label %11637

11637:                                            ; preds = %11636
  call void @llvm.lifetime.start.p0(i64 4, ptr %262) #11
  %11638 = call ptr @__errno_location() #12
  %11639 = load i32, ptr %11638, align 4, !tbaa !5
  store i32 %11639, ptr %262, align 4, !tbaa !5
  %11640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11641 = call i32 @s2n_print_stacktrace(ptr noundef %11640)
  %11642 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11643 = trunc i8 %11642 to i1
  br i1 %11643, label %11644, label %11666

11644:                                            ; preds = %11637
  %11645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11646 = call i32 @fileno(ptr noundef %11645) #11
  %11647 = call i32 @isatty(i32 noundef %11646) #11
  %11648 = icmp ne i32 %11647, 0
  br i1 %11648, label %11649, label %11666

11649:                                            ; preds = %11644
  %11650 = load i32, ptr %262, align 4, !tbaa !5
  %11651 = call ptr @__errno_location() #12
  store i32 %11650, ptr %11651, align 4, !tbaa !5
  %11652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11653 = load i32, ptr @test_count, align 4, !tbaa !5
  %11654 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11655 = load i32, ptr %11654, align 4, !tbaa !5
  %11656 = call ptr @s2n_strerror(i32 noundef %11655, ptr noundef @.str.4)
  %11657 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11658 = load i32, ptr %11657, align 4, !tbaa !5
  %11659 = call ptr @s2n_strerror_debug(i32 noundef %11658, ptr noundef @.str.4)
  %11660 = call ptr @__errno_location() #12
  %11661 = load i32, ptr %11660, align 4, !tbaa !5
  %11662 = call ptr @strerror(i32 noundef %11661) #11
  %11663 = call ptr @__errno_location() #12
  %11664 = load i32, ptr %11663, align 4, !tbaa !5
  %11665 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11652, ptr noundef @.str.2, i32 noundef %11653, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 446, ptr noundef %11656, ptr noundef %11659, ptr noundef %11662, i32 noundef %11664) #11
  br label %11683

11666:                                            ; preds = %11644, %11637
  %11667 = load i32, ptr %262, align 4, !tbaa !5
  %11668 = call ptr @__errno_location() #12
  store i32 %11667, ptr %11668, align 4, !tbaa !5
  %11669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11670 = load i32, ptr @test_count, align 4, !tbaa !5
  %11671 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11672 = load i32, ptr %11671, align 4, !tbaa !5
  %11673 = call ptr @s2n_strerror(i32 noundef %11672, ptr noundef @.str.4)
  %11674 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11675 = load i32, ptr %11674, align 4, !tbaa !5
  %11676 = call ptr @s2n_strerror_debug(i32 noundef %11675, ptr noundef @.str.4)
  %11677 = call ptr @__errno_location() #12
  %11678 = load i32, ptr %11677, align 4, !tbaa !5
  %11679 = call ptr @strerror(i32 noundef %11678) #11
  %11680 = call ptr @__errno_location() #12
  %11681 = load i32, ptr %11680, align 4, !tbaa !5
  %11682 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11669, ptr noundef @.str.5, i32 noundef %11670, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 446, ptr noundef %11673, ptr noundef %11676, ptr noundef %11679, i32 noundef %11681) #11
  br label %11683

11683:                                            ; preds = %11666, %11649
  call void @llvm.lifetime.end.p0(i64 4, ptr %262) #11
  br label %11684

11684:                                            ; preds = %11683
  br label %11685

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

11686:                                            ; No predecessors!
  br label %11687

11687:                                            ; preds = %11686
  br label %11688

11688:                                            ; preds = %11687, %11629
  br label %11689

11689:                                            ; preds = %11688
  br label %11690

11690:                                            ; preds = %11689
  br label %11691

11691:                                            ; preds = %11690
  %11692 = load i32, ptr @test_count, align 4, !tbaa !5
  %11693 = add nsw i32 %11692, 1
  store i32 %11693, ptr @test_count, align 4, !tbaa !5
  %11694 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11695 = load i32, ptr %11694, align 4, !tbaa !5
  %11696 = call ptr @s2n_strerror_debug(i32 noundef %11695, ptr noundef @.str.4)
  %11697 = icmp eq ptr %11696, null
  br i1 %11697, label %11698, label %11751

11698:                                            ; preds = %11691
  br label %11699

11699:                                            ; preds = %11698
  br label %11700

11700:                                            ; preds = %11699
  call void @llvm.lifetime.start.p0(i64 4, ptr %263) #11
  %11701 = call ptr @__errno_location() #12
  %11702 = load i32, ptr %11701, align 4, !tbaa !5
  store i32 %11702, ptr %263, align 4, !tbaa !5
  %11703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11704 = call i32 @s2n_print_stacktrace(ptr noundef %11703)
  %11705 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11706 = trunc i8 %11705 to i1
  br i1 %11706, label %11707, label %11729

11707:                                            ; preds = %11700
  %11708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11709 = call i32 @fileno(ptr noundef %11708) #11
  %11710 = call i32 @isatty(i32 noundef %11709) #11
  %11711 = icmp ne i32 %11710, 0
  br i1 %11711, label %11712, label %11729

11712:                                            ; preds = %11707
  %11713 = load i32, ptr %263, align 4, !tbaa !5
  %11714 = call ptr @__errno_location() #12
  store i32 %11713, ptr %11714, align 4, !tbaa !5
  %11715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11716 = load i32, ptr @test_count, align 4, !tbaa !5
  %11717 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11718 = load i32, ptr %11717, align 4, !tbaa !5
  %11719 = call ptr @s2n_strerror(i32 noundef %11718, ptr noundef @.str.4)
  %11720 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11721 = load i32, ptr %11720, align 4, !tbaa !5
  %11722 = call ptr @s2n_strerror_debug(i32 noundef %11721, ptr noundef @.str.4)
  %11723 = call ptr @__errno_location() #12
  %11724 = load i32, ptr %11723, align 4, !tbaa !5
  %11725 = call ptr @strerror(i32 noundef %11724) #11
  %11726 = call ptr @__errno_location() #12
  %11727 = load i32, ptr %11726, align 4, !tbaa !5
  %11728 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11715, ptr noundef @.str.2, i32 noundef %11716, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 446, ptr noundef %11719, ptr noundef %11722, ptr noundef %11725, i32 noundef %11727) #11
  br label %11746

11729:                                            ; preds = %11707, %11700
  %11730 = load i32, ptr %263, align 4, !tbaa !5
  %11731 = call ptr @__errno_location() #12
  store i32 %11730, ptr %11731, align 4, !tbaa !5
  %11732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11733 = load i32, ptr @test_count, align 4, !tbaa !5
  %11734 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11735 = load i32, ptr %11734, align 4, !tbaa !5
  %11736 = call ptr @s2n_strerror(i32 noundef %11735, ptr noundef @.str.4)
  %11737 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11738 = load i32, ptr %11737, align 4, !tbaa !5
  %11739 = call ptr @s2n_strerror_debug(i32 noundef %11738, ptr noundef @.str.4)
  %11740 = call ptr @__errno_location() #12
  %11741 = load i32, ptr %11740, align 4, !tbaa !5
  %11742 = call ptr @strerror(i32 noundef %11741) #11
  %11743 = call ptr @__errno_location() #12
  %11744 = load i32, ptr %11743, align 4, !tbaa !5
  %11745 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11732, ptr noundef @.str.5, i32 noundef %11733, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 446, ptr noundef %11736, ptr noundef %11739, ptr noundef %11742, i32 noundef %11744) #11
  br label %11746

11746:                                            ; preds = %11729, %11712
  call void @llvm.lifetime.end.p0(i64 4, ptr %263) #11
  br label %11747

11747:                                            ; preds = %11746
  br label %11748

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

11749:                                            ; No predecessors!
  br label %11750

11750:                                            ; preds = %11749
  br label %11751

11751:                                            ; preds = %11750, %11691
  br label %11752

11752:                                            ; preds = %11751
  br label %11753

11753:                                            ; preds = %11752
  br label %11754

11754:                                            ; preds = %11753
  br label %11755

11755:                                            ; preds = %11754
  br label %11756

11756:                                            ; preds = %11755
  %11757 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %11757, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %11758 = call ptr @__errno_location() #12
  store i32 0, ptr %11758, align 4, !tbaa !5
  br label %11759

11759:                                            ; preds = %11756
  br label %11760

11760:                                            ; preds = %11759
  br label %11761

11761:                                            ; preds = %11760
  br label %11762

11762:                                            ; preds = %11761
  br label %11763

11763:                                            ; preds = %11762
  %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 i32, ptr %17, align 4, !tbaa !5
  %11767 = icmp eq i32 %11766, 1
  br i1 %11767, label %11821, label %11768

11768:                                            ; preds = %11763
  br label %11769

11769:                                            ; preds = %11768
  br label %11770

11770:                                            ; preds = %11769
  call void @llvm.lifetime.start.p0(i64 4, ptr %264) #11
  %11771 = call ptr @__errno_location() #12
  %11772 = load i32, ptr %11771, align 4, !tbaa !5
  store i32 %11772, ptr %264, align 4, !tbaa !5
  %11773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11774 = call i32 @s2n_print_stacktrace(ptr noundef %11773)
  %11775 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11776 = trunc i8 %11775 to i1
  br i1 %11776, label %11777, label %11799

11777:                                            ; preds = %11770
  %11778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11779 = call i32 @fileno(ptr noundef %11778) #11
  %11780 = call i32 @isatty(i32 noundef %11779) #11
  %11781 = icmp ne i32 %11780, 0
  br i1 %11781, label %11782, label %11799

11782:                                            ; preds = %11777
  %11783 = load i32, ptr %264, align 4, !tbaa !5
  %11784 = call ptr @__errno_location() #12
  store i32 %11783, ptr %11784, align 4, !tbaa !5
  %11785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11786 = load i32, ptr @test_count, align 4, !tbaa !5
  %11787 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11788 = load i32, ptr %11787, align 4, !tbaa !5
  %11789 = call ptr @s2n_strerror(i32 noundef %11788, ptr noundef @.str.4)
  %11790 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11791 = load i32, ptr %11790, align 4, !tbaa !5
  %11792 = call ptr @s2n_strerror_debug(i32 noundef %11791, ptr noundef @.str.4)
  %11793 = call ptr @__errno_location() #12
  %11794 = load i32, ptr %11793, align 4, !tbaa !5
  %11795 = call ptr @strerror(i32 noundef %11794) #11
  %11796 = call ptr @__errno_location() #12
  %11797 = load i32, ptr %11796, align 4, !tbaa !5
  %11798 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11785, ptr noundef @.str.2, i32 noundef %11786, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 447, ptr noundef %11789, ptr noundef %11792, ptr noundef %11795, i32 noundef %11797) #11
  br label %11816

11799:                                            ; preds = %11777, %11770
  %11800 = load i32, ptr %264, align 4, !tbaa !5
  %11801 = call ptr @__errno_location() #12
  store i32 %11800, ptr %11801, align 4, !tbaa !5
  %11802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11803 = load i32, ptr @test_count, align 4, !tbaa !5
  %11804 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11805 = load i32, ptr %11804, align 4, !tbaa !5
  %11806 = call ptr @s2n_strerror(i32 noundef %11805, ptr noundef @.str.4)
  %11807 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11808 = load i32, ptr %11807, align 4, !tbaa !5
  %11809 = call ptr @s2n_strerror_debug(i32 noundef %11808, ptr noundef @.str.4)
  %11810 = call ptr @__errno_location() #12
  %11811 = load i32, ptr %11810, align 4, !tbaa !5
  %11812 = call ptr @strerror(i32 noundef %11811) #11
  %11813 = call ptr @__errno_location() #12
  %11814 = load i32, ptr %11813, align 4, !tbaa !5
  %11815 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11802, ptr noundef @.str.5, i32 noundef %11803, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 447, ptr noundef %11806, ptr noundef %11809, ptr noundef %11812, i32 noundef %11814) #11
  br label %11816

11816:                                            ; preds = %11799, %11782
  call void @llvm.lifetime.end.p0(i64 4, ptr %264) #11
  br label %11817

11817:                                            ; preds = %11816
  br label %11818

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

11819:                                            ; No predecessors!
  br label %11820

11820:                                            ; preds = %11819
  br label %11821

11821:                                            ; preds = %11820, %11763
  br label %11822

11822:                                            ; preds = %11821
  br label %11823

11823:                                            ; preds = %11822
  br label %11824

11824:                                            ; preds = %11823
  %11825 = load i32, ptr @test_count, align 4, !tbaa !5
  %11826 = add nsw i32 %11825, 1
  store i32 %11826, ptr @test_count, align 4, !tbaa !5
  %11827 = load ptr, ptr %230, align 8, !tbaa !9
  %11828 = call i32 @s2n_conn_get_current_message_type(ptr noundef %11827)
  %11829 = icmp eq i32 %11828, 1
  br i1 %11829, label %11830, label %11883

11830:                                            ; preds = %11824
  br label %11831

11831:                                            ; preds = %11830
  br label %11832

11832:                                            ; preds = %11831
  call void @llvm.lifetime.start.p0(i64 4, ptr %265) #11
  %11833 = call ptr @__errno_location() #12
  %11834 = load i32, ptr %11833, align 4, !tbaa !5
  store i32 %11834, ptr %265, align 4, !tbaa !5
  %11835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11836 = call i32 @s2n_print_stacktrace(ptr noundef %11835)
  %11837 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11838 = trunc i8 %11837 to i1
  br i1 %11838, label %11839, label %11861

11839:                                            ; preds = %11832
  %11840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11841 = call i32 @fileno(ptr noundef %11840) #11
  %11842 = call i32 @isatty(i32 noundef %11841) #11
  %11843 = icmp ne i32 %11842, 0
  br i1 %11843, label %11844, label %11861

11844:                                            ; preds = %11839
  %11845 = load i32, ptr %265, align 4, !tbaa !5
  %11846 = call ptr @__errno_location() #12
  store i32 %11845, ptr %11846, align 4, !tbaa !5
  %11847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11848 = load i32, ptr @test_count, align 4, !tbaa !5
  %11849 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11850 = load i32, ptr %11849, align 4, !tbaa !5
  %11851 = call ptr @s2n_strerror(i32 noundef %11850, ptr noundef @.str.4)
  %11852 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11853 = load i32, ptr %11852, align 4, !tbaa !5
  %11854 = call ptr @s2n_strerror_debug(i32 noundef %11853, ptr noundef @.str.4)
  %11855 = call ptr @__errno_location() #12
  %11856 = load i32, ptr %11855, align 4, !tbaa !5
  %11857 = call ptr @strerror(i32 noundef %11856) #11
  %11858 = call ptr @__errno_location() #12
  %11859 = load i32, ptr %11858, align 4, !tbaa !5
  %11860 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11847, ptr noundef @.str.2, i32 noundef %11848, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 448, ptr noundef %11851, ptr noundef %11854, ptr noundef %11857, i32 noundef %11859) #11
  br label %11878

11861:                                            ; preds = %11839, %11832
  %11862 = load i32, ptr %265, align 4, !tbaa !5
  %11863 = call ptr @__errno_location() #12
  store i32 %11862, ptr %11863, align 4, !tbaa !5
  %11864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11865 = load i32, ptr @test_count, align 4, !tbaa !5
  %11866 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11867 = load i32, ptr %11866, align 4, !tbaa !5
  %11868 = call ptr @s2n_strerror(i32 noundef %11867, ptr noundef @.str.4)
  %11869 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11870 = load i32, ptr %11869, align 4, !tbaa !5
  %11871 = call ptr @s2n_strerror_debug(i32 noundef %11870, ptr noundef @.str.4)
  %11872 = call ptr @__errno_location() #12
  %11873 = load i32, ptr %11872, align 4, !tbaa !5
  %11874 = call ptr @strerror(i32 noundef %11873) #11
  %11875 = call ptr @__errno_location() #12
  %11876 = load i32, ptr %11875, align 4, !tbaa !5
  %11877 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11864, ptr noundef @.str.5, i32 noundef %11865, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 448, ptr noundef %11868, ptr noundef %11871, ptr noundef %11874, i32 noundef %11876) #11
  br label %11878

11878:                                            ; preds = %11861, %11844
  call void @llvm.lifetime.end.p0(i64 4, ptr %265) #11
  br label %11879

11879:                                            ; preds = %11878
  br label %11880

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

11881:                                            ; No predecessors!
  br label %11882

11882:                                            ; preds = %11881
  br label %11883

11883:                                            ; preds = %11882, %11824
  br label %11884

11884:                                            ; preds = %11883
  br label %11885

11885:                                            ; preds = %11884
  br label %11886

11886:                                            ; preds = %11885
  %11887 = load i32, ptr @test_count, align 4, !tbaa !5
  %11888 = add nsw i32 %11887, 1
  store i32 %11888, ptr @test_count, align 4, !tbaa !5
  %11889 = load ptr, ptr %230, align 8, !tbaa !9
  %11890 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %11889, i32 noundef 1)
  br i1 %11890, label %11944, label %11891

11891:                                            ; preds = %11886
  br label %11892

11892:                                            ; preds = %11891
  br label %11893

11893:                                            ; preds = %11892
  call void @llvm.lifetime.start.p0(i64 4, ptr %266) #11
  %11894 = call ptr @__errno_location() #12
  %11895 = load i32, ptr %11894, align 4, !tbaa !5
  store i32 %11895, ptr %266, align 4, !tbaa !5
  %11896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11897 = call i32 @s2n_print_stacktrace(ptr noundef %11896)
  %11898 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11899 = trunc i8 %11898 to i1
  br i1 %11899, label %11900, label %11922

11900:                                            ; preds = %11893
  %11901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11902 = call i32 @fileno(ptr noundef %11901) #11
  %11903 = call i32 @isatty(i32 noundef %11902) #11
  %11904 = icmp ne i32 %11903, 0
  br i1 %11904, label %11905, label %11922

11905:                                            ; preds = %11900
  %11906 = load i32, ptr %266, align 4, !tbaa !5
  %11907 = call ptr @__errno_location() #12
  store i32 %11906, ptr %11907, align 4, !tbaa !5
  %11908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11909 = load i32, ptr @test_count, align 4, !tbaa !5
  %11910 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11911 = load i32, ptr %11910, align 4, !tbaa !5
  %11912 = call ptr @s2n_strerror(i32 noundef %11911, ptr noundef @.str.4)
  %11913 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11914 = load i32, ptr %11913, align 4, !tbaa !5
  %11915 = call ptr @s2n_strerror_debug(i32 noundef %11914, ptr noundef @.str.4)
  %11916 = call ptr @__errno_location() #12
  %11917 = load i32, ptr %11916, align 4, !tbaa !5
  %11918 = call ptr @strerror(i32 noundef %11917) #11
  %11919 = call ptr @__errno_location() #12
  %11920 = load i32, ptr %11919, align 4, !tbaa !5
  %11921 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11908, ptr noundef @.str.2, i32 noundef %11909, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 449, ptr noundef %11912, ptr noundef %11915, ptr noundef %11918, i32 noundef %11920) #11
  br label %11939

11922:                                            ; preds = %11900, %11893
  %11923 = load i32, ptr %266, align 4, !tbaa !5
  %11924 = call ptr @__errno_location() #12
  store i32 %11923, ptr %11924, align 4, !tbaa !5
  %11925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11926 = load i32, ptr @test_count, align 4, !tbaa !5
  %11927 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11928 = load i32, ptr %11927, align 4, !tbaa !5
  %11929 = call ptr @s2n_strerror(i32 noundef %11928, ptr noundef @.str.4)
  %11930 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11931 = load i32, ptr %11930, align 4, !tbaa !5
  %11932 = call ptr @s2n_strerror_debug(i32 noundef %11931, ptr noundef @.str.4)
  %11933 = call ptr @__errno_location() #12
  %11934 = load i32, ptr %11933, align 4, !tbaa !5
  %11935 = call ptr @strerror(i32 noundef %11934) #11
  %11936 = call ptr @__errno_location() #12
  %11937 = load i32, ptr %11936, align 4, !tbaa !5
  %11938 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11925, ptr noundef @.str.5, i32 noundef %11926, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 449, ptr noundef %11929, ptr noundef %11932, ptr noundef %11935, i32 noundef %11937) #11
  br label %11939

11939:                                            ; preds = %11922, %11905
  call void @llvm.lifetime.end.p0(i64 4, ptr %266) #11
  br label %11940

11940:                                            ; preds = %11939
  br label %11941

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

11942:                                            ; No predecessors!
  br label %11943

11943:                                            ; preds = %11942
  br label %11944

11944:                                            ; preds = %11943, %11886
  br label %11945

11945:                                            ; preds = %11944
  br label %11946

11946:                                            ; preds = %11945
  %11947 = load i64, ptr %228, align 8, !tbaa !15
  %11948 = and i64 %11947, 4
  %11949 = icmp ne i64 %11948, 0
  br i1 %11949, label %11950, label %12016

11950:                                            ; preds = %11946
  br label %11951

11951:                                            ; preds = %11950
  %11952 = load i32, ptr @test_count, align 4, !tbaa !5
  %11953 = add nsw i32 %11952, 1
  store i32 %11953, ptr @test_count, align 4, !tbaa !5
  %11954 = load ptr, ptr %230, align 8, !tbaa !9
  %11955 = load i64, ptr %241, align 8, !tbaa !15
  %11956 = getelementptr inbounds [3 x [10 x i8]], ptr %222, i64 0, i64 %11955
  %11957 = getelementptr inbounds [10 x i8], ptr %11956, i64 0, i64 0
  %11958 = call i64 @s2n_send(ptr noundef %11954, ptr noundef %11957, i64 noundef 10, ptr noundef %17)
  %11959 = icmp eq i64 %11958, 10
  br i1 %11959, label %12013, label %11960

11960:                                            ; preds = %11951
  br label %11961

11961:                                            ; preds = %11960
  br label %11962

11962:                                            ; preds = %11961
  call void @llvm.lifetime.start.p0(i64 4, ptr %267) #11
  %11963 = call ptr @__errno_location() #12
  %11964 = load i32, ptr %11963, align 4, !tbaa !5
  store i32 %11964, ptr %267, align 4, !tbaa !5
  %11965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11966 = call i32 @s2n_print_stacktrace(ptr noundef %11965)
  %11967 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11968 = trunc i8 %11967 to i1
  br i1 %11968, label %11969, label %11991

11969:                                            ; preds = %11962
  %11970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11971 = call i32 @fileno(ptr noundef %11970) #11
  %11972 = call i32 @isatty(i32 noundef %11971) #11
  %11973 = icmp ne i32 %11972, 0
  br i1 %11973, label %11974, label %11991

11974:                                            ; preds = %11969
  %11975 = load i32, ptr %267, align 4, !tbaa !5
  %11976 = call ptr @__errno_location() #12
  store i32 %11975, ptr %11976, align 4, !tbaa !5
  %11977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11978 = load i32, ptr @test_count, align 4, !tbaa !5
  %11979 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11980 = load i32, ptr %11979, align 4, !tbaa !5
  %11981 = call ptr @s2n_strerror(i32 noundef %11980, ptr noundef @.str.4)
  %11982 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11983 = load i32, ptr %11982, align 4, !tbaa !5
  %11984 = call ptr @s2n_strerror_debug(i32 noundef %11983, ptr noundef @.str.4)
  %11985 = call ptr @__errno_location() #12
  %11986 = load i32, ptr %11985, align 4, !tbaa !5
  %11987 = call ptr @strerror(i32 noundef %11986) #11
  %11988 = call ptr @__errno_location() #12
  %11989 = load i32, ptr %11988, align 4, !tbaa !5
  %11990 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11977, ptr noundef @.str.2, i32 noundef %11978, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 455, ptr noundef %11981, ptr noundef %11984, ptr noundef %11987, i32 noundef %11989) #11
  br label %12008

11991:                                            ; preds = %11969, %11962
  %11992 = load i32, ptr %267, align 4, !tbaa !5
  %11993 = call ptr @__errno_location() #12
  store i32 %11992, ptr %11993, align 4, !tbaa !5
  %11994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11995 = load i32, ptr @test_count, align 4, !tbaa !5
  %11996 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11997 = load i32, ptr %11996, align 4, !tbaa !5
  %11998 = call ptr @s2n_strerror(i32 noundef %11997, ptr noundef @.str.4)
  %11999 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12000 = load i32, ptr %11999, align 4, !tbaa !5
  %12001 = call ptr @s2n_strerror_debug(i32 noundef %12000, ptr noundef @.str.4)
  %12002 = call ptr @__errno_location() #12
  %12003 = load i32, ptr %12002, align 4, !tbaa !5
  %12004 = call ptr @strerror(i32 noundef %12003) #11
  %12005 = call ptr @__errno_location() #12
  %12006 = load i32, ptr %12005, align 4, !tbaa !5
  %12007 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11994, ptr noundef @.str.5, i32 noundef %11995, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 455, ptr noundef %11998, ptr noundef %12001, ptr noundef %12004, i32 noundef %12006) #11
  br label %12008

12008:                                            ; preds = %11991, %11974
  call void @llvm.lifetime.end.p0(i64 4, ptr %267) #11
  br label %12009

12009:                                            ; preds = %12008
  br label %12010

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

12011:                                            ; No predecessors!
  br label %12012

12012:                                            ; preds = %12011
  br label %12013

12013:                                            ; preds = %12012, %11951
  br label %12014

12014:                                            ; preds = %12013
  br label %12015

12015:                                            ; preds = %12014
  br label %12016

12016:                                            ; preds = %12015, %11946
  br label %12017

12017:                                            ; preds = %12478, %12016
  %12018 = load i64, ptr %241, align 8, !tbaa !15
  %12019 = icmp ugt i64 %12018, 0
  br i1 %12019, label %12020, label %12024

12020:                                            ; preds = %12017
  %12021 = load i64, ptr %242, align 8, !tbaa !15
  %12022 = load i64, ptr %241, align 8, !tbaa !15
  %12023 = icmp ult i64 %12021, %12022
  br label %12024

12024:                                            ; preds = %12020, %12017
  %12025 = phi i1 [ false, %12017 ], [ %12023, %12020 ]
  br i1 %12025, label %12026, label %12481

12026:                                            ; preds = %12024
  br label %12027

12027:                                            ; preds = %12026
  br label %12028

12028:                                            ; preds = %12027
  br label %12029

12029:                                            ; preds = %12028
  %12030 = load i32, ptr @test_count, align 4, !tbaa !5
  %12031 = add nsw i32 %12030, 1
  store i32 %12031, ptr @test_count, align 4, !tbaa !5
  %12032 = load ptr, ptr %233, align 8, !tbaa !9
  %12033 = getelementptr inbounds [20 x i8], ptr %240, i64 0, i64 0
  %12034 = call i32 @s2n_renegotiate(ptr noundef %12032, ptr noundef %12033, i64 noundef 20, ptr noundef %239, ptr noundef %17)
  %12035 = icmp eq i32 %12034, -1
  br i1 %12035, label %12089, label %12036

12036:                                            ; preds = %12029
  br label %12037

12037:                                            ; preds = %12036
  br label %12038

12038:                                            ; preds = %12037
  call void @llvm.lifetime.start.p0(i64 4, ptr %268) #11
  %12039 = call ptr @__errno_location() #12
  %12040 = load i32, ptr %12039, align 4, !tbaa !5
  store i32 %12040, ptr %268, 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 %268, 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.27, ptr noundef @.str.1, i32 noundef 462, ptr noundef %12057, ptr noundef %12060, ptr noundef %12063, i32 noundef %12065) #11
  br label %12084

12067:                                            ; preds = %12045, %12038
  %12068 = load i32, ptr %268, 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.27, ptr noundef @.str.1, i32 noundef 462, 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 %268) #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, %12029
  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 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12096 = load i32, ptr %12095, align 4, !tbaa !5
  %12097 = icmp eq i32 %12096, 201326595
  br i1 %12097, label %12151, label %12098

12098:                                            ; preds = %12092
  br label %12099

12099:                                            ; preds = %12098
  br label %12100

12100:                                            ; preds = %12099
  call void @llvm.lifetime.start.p0(i64 4, ptr %269) #11
  %12101 = call ptr @__errno_location() #12
  %12102 = load i32, ptr %12101, align 4, !tbaa !5
  store i32 %12102, ptr %269, align 4, !tbaa !5
  %12103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12104 = call i32 @s2n_print_stacktrace(ptr noundef %12103)
  %12105 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12106 = trunc i8 %12105 to i1
  br i1 %12106, label %12107, label %12129

12107:                                            ; preds = %12100
  %12108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12109 = call i32 @fileno(ptr noundef %12108) #11
  %12110 = call i32 @isatty(i32 noundef %12109) #11
  %12111 = icmp ne i32 %12110, 0
  br i1 %12111, label %12112, label %12129

12112:                                            ; preds = %12107
  %12113 = load i32, ptr %269, align 4, !tbaa !5
  %12114 = call ptr @__errno_location() #12
  store i32 %12113, ptr %12114, align 4, !tbaa !5
  %12115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12116 = load i32, ptr @test_count, align 4, !tbaa !5
  %12117 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12118 = load i32, ptr %12117, align 4, !tbaa !5
  %12119 = call ptr @s2n_strerror(i32 noundef %12118, ptr noundef @.str.4)
  %12120 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12121 = load i32, ptr %12120, align 4, !tbaa !5
  %12122 = call ptr @s2n_strerror_debug(i32 noundef %12121, ptr noundef @.str.4)
  %12123 = call ptr @__errno_location() #12
  %12124 = load i32, ptr %12123, align 4, !tbaa !5
  %12125 = call ptr @strerror(i32 noundef %12124) #11
  %12126 = call ptr @__errno_location() #12
  %12127 = load i32, ptr %12126, align 4, !tbaa !5
  %12128 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12115, ptr noundef @.str.2, i32 noundef %12116, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 462, ptr noundef %12119, ptr noundef %12122, ptr noundef %12125, i32 noundef %12127) #11
  br label %12146

12129:                                            ; preds = %12107, %12100
  %12130 = load i32, ptr %269, align 4, !tbaa !5
  %12131 = call ptr @__errno_location() #12
  store i32 %12130, ptr %12131, align 4, !tbaa !5
  %12132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12133 = load i32, ptr @test_count, align 4, !tbaa !5
  %12134 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12135 = load i32, ptr %12134, align 4, !tbaa !5
  %12136 = call ptr @s2n_strerror(i32 noundef %12135, ptr noundef @.str.4)
  %12137 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12138 = load i32, ptr %12137, align 4, !tbaa !5
  %12139 = call ptr @s2n_strerror_debug(i32 noundef %12138, ptr noundef @.str.4)
  %12140 = call ptr @__errno_location() #12
  %12141 = load i32, ptr %12140, align 4, !tbaa !5
  %12142 = call ptr @strerror(i32 noundef %12141) #11
  %12143 = call ptr @__errno_location() #12
  %12144 = load i32, ptr %12143, align 4, !tbaa !5
  %12145 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12132, ptr noundef @.str.5, i32 noundef %12133, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 462, ptr noundef %12136, ptr noundef %12139, ptr noundef %12142, i32 noundef %12144) #11
  br label %12146

12146:                                            ; preds = %12129, %12112
  call void @llvm.lifetime.end.p0(i64 4, ptr %269) #11
  br label %12147

12147:                                            ; preds = %12146
  br label %12148

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

12149:                                            ; No predecessors!
  br label %12150

12150:                                            ; preds = %12149
  br label %12151

12151:                                            ; preds = %12150, %12092
  br label %12152

12152:                                            ; preds = %12151
  br label %12153

12153:                                            ; preds = %12152
  br label %12154

12154:                                            ; preds = %12153
  %12155 = load i32, ptr @test_count, align 4, !tbaa !5
  %12156 = add nsw i32 %12155, 1
  store i32 %12156, ptr @test_count, align 4, !tbaa !5
  %12157 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12158 = load i32, ptr %12157, align 4, !tbaa !5
  %12159 = call ptr @s2n_strerror_debug(i32 noundef %12158, ptr noundef @.str.4)
  %12160 = icmp eq ptr %12159, null
  br i1 %12160, label %12161, label %12214

12161:                                            ; preds = %12154
  br label %12162

12162:                                            ; preds = %12161
  br label %12163

12163:                                            ; preds = %12162
  call void @llvm.lifetime.start.p0(i64 4, ptr %270) #11
  %12164 = call ptr @__errno_location() #12
  %12165 = load i32, ptr %12164, align 4, !tbaa !5
  store i32 %12165, ptr %270, align 4, !tbaa !5
  %12166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12167 = call i32 @s2n_print_stacktrace(ptr noundef %12166)
  %12168 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12169 = trunc i8 %12168 to i1
  br i1 %12169, label %12170, label %12192

12170:                                            ; preds = %12163
  %12171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12172 = call i32 @fileno(ptr noundef %12171) #11
  %12173 = call i32 @isatty(i32 noundef %12172) #11
  %12174 = icmp ne i32 %12173, 0
  br i1 %12174, label %12175, label %12192

12175:                                            ; preds = %12170
  %12176 = load i32, ptr %270, align 4, !tbaa !5
  %12177 = call ptr @__errno_location() #12
  store i32 %12176, ptr %12177, align 4, !tbaa !5
  %12178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12179 = load i32, ptr @test_count, align 4, !tbaa !5
  %12180 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12181 = load i32, ptr %12180, align 4, !tbaa !5
  %12182 = call ptr @s2n_strerror(i32 noundef %12181, ptr noundef @.str.4)
  %12183 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12184 = load i32, ptr %12183, align 4, !tbaa !5
  %12185 = call ptr @s2n_strerror_debug(i32 noundef %12184, ptr noundef @.str.4)
  %12186 = call ptr @__errno_location() #12
  %12187 = load i32, ptr %12186, align 4, !tbaa !5
  %12188 = call ptr @strerror(i32 noundef %12187) #11
  %12189 = call ptr @__errno_location() #12
  %12190 = load i32, ptr %12189, align 4, !tbaa !5
  %12191 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12178, ptr noundef @.str.2, i32 noundef %12179, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 462, ptr noundef %12182, ptr noundef %12185, ptr noundef %12188, i32 noundef %12190) #11
  br label %12209

12192:                                            ; preds = %12170, %12163
  %12193 = load i32, ptr %270, align 4, !tbaa !5
  %12194 = call ptr @__errno_location() #12
  store i32 %12193, ptr %12194, align 4, !tbaa !5
  %12195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12196 = load i32, ptr @test_count, align 4, !tbaa !5
  %12197 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12198 = load i32, ptr %12197, align 4, !tbaa !5
  %12199 = call ptr @s2n_strerror(i32 noundef %12198, ptr noundef @.str.4)
  %12200 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12201 = load i32, ptr %12200, align 4, !tbaa !5
  %12202 = call ptr @s2n_strerror_debug(i32 noundef %12201, ptr noundef @.str.4)
  %12203 = call ptr @__errno_location() #12
  %12204 = load i32, ptr %12203, align 4, !tbaa !5
  %12205 = call ptr @strerror(i32 noundef %12204) #11
  %12206 = call ptr @__errno_location() #12
  %12207 = load i32, ptr %12206, align 4, !tbaa !5
  %12208 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12195, ptr noundef @.str.5, i32 noundef %12196, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 462, ptr noundef %12199, ptr noundef %12202, ptr noundef %12205, i32 noundef %12207) #11
  br label %12209

12209:                                            ; preds = %12192, %12175
  call void @llvm.lifetime.end.p0(i64 4, ptr %270) #11
  br label %12210

12210:                                            ; preds = %12209
  br label %12211

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

12212:                                            ; No predecessors!
  br label %12213

12213:                                            ; preds = %12212
  br label %12214

12214:                                            ; preds = %12213, %12154
  br label %12215

12215:                                            ; preds = %12214
  br label %12216

12216:                                            ; preds = %12215
  br label %12217

12217:                                            ; preds = %12216
  br label %12218

12218:                                            ; preds = %12217
  br label %12219

12219:                                            ; preds = %12218
  %12220 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %12220, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %12221 = call ptr @__errno_location() #12
  store i32 0, ptr %12221, align 4, !tbaa !5
  br label %12222

12222:                                            ; preds = %12219
  br label %12223

12223:                                            ; preds = %12222
  br label %12224

12224:                                            ; preds = %12223
  br label %12225

12225:                                            ; preds = %12224
  br label %12226

12226:                                            ; preds = %12225
  %12227 = load i32, ptr @test_count, align 4, !tbaa !5
  %12228 = add nsw i32 %12227, 1
  store i32 %12228, ptr @test_count, align 4, !tbaa !5
  %12229 = load i32, ptr %17, align 4, !tbaa !5
  %12230 = load i32, ptr @S2N_BLOCKED_ON_APPLICATION_DATA, align 4, !tbaa !5
  %12231 = icmp eq i32 %12229, %12230
  br i1 %12231, label %12285, label %12232

12232:                                            ; preds = %12226
  br label %12233

12233:                                            ; preds = %12232
  br label %12234

12234:                                            ; preds = %12233
  call void @llvm.lifetime.start.p0(i64 4, ptr %271) #11
  %12235 = call ptr @__errno_location() #12
  %12236 = load i32, ptr %12235, align 4, !tbaa !5
  store i32 %12236, ptr %271, 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 %271, 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.30, ptr noundef @.str.1, i32 noundef 463, ptr noundef %12253, ptr noundef %12256, ptr noundef %12259, i32 noundef %12261) #11
  br label %12280

12263:                                            ; preds = %12241, %12234
  %12264 = load i32, ptr %271, 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.30, ptr noundef @.str.1, i32 noundef 463, 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 %271) #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, %12226
  br label %12286

12286:                                            ; preds = %12285
  br label %12287

12287:                                            ; preds = %12286
  br label %12288

12288:                                            ; preds = %12287
  %12289 = load i32, ptr @test_count, align 4, !tbaa !5
  %12290 = add nsw i32 %12289, 1
  store i32 %12290, ptr @test_count, align 4, !tbaa !5
  %12291 = load ptr, ptr %233, align 8, !tbaa !9
  %12292 = call i32 @s2n_conn_get_current_message_type(ptr noundef %12291)
  %12293 = icmp eq i32 %12292, 1
  br i1 %12293, label %12347, label %12294

12294:                                            ; preds = %12288
  br label %12295

12295:                                            ; preds = %12294
  br label %12296

12296:                                            ; preds = %12295
  call void @llvm.lifetime.start.p0(i64 4, ptr %272) #11
  %12297 = call ptr @__errno_location() #12
  %12298 = load i32, ptr %12297, align 4, !tbaa !5
  store i32 %12298, ptr %272, align 4, !tbaa !5
  %12299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12300 = call i32 @s2n_print_stacktrace(ptr noundef %12299)
  %12301 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12302 = trunc i8 %12301 to i1
  br i1 %12302, label %12303, label %12325

12303:                                            ; preds = %12296
  %12304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12305 = call i32 @fileno(ptr noundef %12304) #11
  %12306 = call i32 @isatty(i32 noundef %12305) #11
  %12307 = icmp ne i32 %12306, 0
  br i1 %12307, label %12308, label %12325

12308:                                            ; preds = %12303
  %12309 = load i32, ptr %272, align 4, !tbaa !5
  %12310 = call ptr @__errno_location() #12
  store i32 %12309, ptr %12310, align 4, !tbaa !5
  %12311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12312 = load i32, ptr @test_count, align 4, !tbaa !5
  %12313 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12314 = load i32, ptr %12313, align 4, !tbaa !5
  %12315 = call ptr @s2n_strerror(i32 noundef %12314, ptr noundef @.str.4)
  %12316 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12317 = load i32, ptr %12316, align 4, !tbaa !5
  %12318 = call ptr @s2n_strerror_debug(i32 noundef %12317, ptr noundef @.str.4)
  %12319 = call ptr @__errno_location() #12
  %12320 = load i32, ptr %12319, align 4, !tbaa !5
  %12321 = call ptr @strerror(i32 noundef %12320) #11
  %12322 = call ptr @__errno_location() #12
  %12323 = load i32, ptr %12322, align 4, !tbaa !5
  %12324 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12311, ptr noundef @.str.2, i32 noundef %12312, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 464, ptr noundef %12315, ptr noundef %12318, ptr noundef %12321, i32 noundef %12323) #11
  br label %12342

12325:                                            ; preds = %12303, %12296
  %12326 = load i32, ptr %272, align 4, !tbaa !5
  %12327 = call ptr @__errno_location() #12
  store i32 %12326, ptr %12327, align 4, !tbaa !5
  %12328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12329 = load i32, ptr @test_count, align 4, !tbaa !5
  %12330 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12331 = load i32, ptr %12330, align 4, !tbaa !5
  %12332 = call ptr @s2n_strerror(i32 noundef %12331, ptr noundef @.str.4)
  %12333 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12334 = load i32, ptr %12333, align 4, !tbaa !5
  %12335 = call ptr @s2n_strerror_debug(i32 noundef %12334, ptr noundef @.str.4)
  %12336 = call ptr @__errno_location() #12
  %12337 = load i32, ptr %12336, align 4, !tbaa !5
  %12338 = call ptr @strerror(i32 noundef %12337) #11
  %12339 = call ptr @__errno_location() #12
  %12340 = load i32, ptr %12339, align 4, !tbaa !5
  %12341 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12328, ptr noundef @.str.5, i32 noundef %12329, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 464, ptr noundef %12332, ptr noundef %12335, ptr noundef %12338, i32 noundef %12340) #11
  br label %12342

12342:                                            ; preds = %12325, %12308
  call void @llvm.lifetime.end.p0(i64 4, ptr %272) #11
  br label %12343

12343:                                            ; preds = %12342
  br label %12344

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

12345:                                            ; No predecessors!
  br label %12346

12346:                                            ; preds = %12345
  br label %12347

12347:                                            ; preds = %12346, %12288
  br label %12348

12348:                                            ; preds = %12347
  br label %12349

12349:                                            ; preds = %12348
  br label %12350

12350:                                            ; preds = %12349
  %12351 = load i32, ptr @test_count, align 4, !tbaa !5
  %12352 = add nsw i32 %12351, 1
  store i32 %12352, ptr @test_count, align 4, !tbaa !5
  %12353 = load i64, ptr %239, align 8, !tbaa !15
  %12354 = icmp eq i64 %12353, 10
  br i1 %12354, label %12408, label %12355

12355:                                            ; preds = %12350
  br label %12356

12356:                                            ; preds = %12355
  br label %12357

12357:                                            ; preds = %12356
  call void @llvm.lifetime.start.p0(i64 4, ptr %273) #11
  %12358 = call ptr @__errno_location() #12
  %12359 = load i32, ptr %12358, align 4, !tbaa !5
  store i32 %12359, ptr %273, align 4, !tbaa !5
  %12360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12361 = call i32 @s2n_print_stacktrace(ptr noundef %12360)
  %12362 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12363 = trunc i8 %12362 to i1
  br i1 %12363, label %12364, label %12386

12364:                                            ; preds = %12357
  %12365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12366 = call i32 @fileno(ptr noundef %12365) #11
  %12367 = call i32 @isatty(i32 noundef %12366) #11
  %12368 = icmp ne i32 %12367, 0
  br i1 %12368, label %12369, label %12386

12369:                                            ; preds = %12364
  %12370 = load i32, ptr %273, align 4, !tbaa !5
  %12371 = call ptr @__errno_location() #12
  store i32 %12370, ptr %12371, align 4, !tbaa !5
  %12372 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12373 = load i32, ptr @test_count, align 4, !tbaa !5
  %12374 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12375 = load i32, ptr %12374, align 4, !tbaa !5
  %12376 = call ptr @s2n_strerror(i32 noundef %12375, ptr noundef @.str.4)
  %12377 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12378 = load i32, ptr %12377, align 4, !tbaa !5
  %12379 = call ptr @s2n_strerror_debug(i32 noundef %12378, ptr noundef @.str.4)
  %12380 = call ptr @__errno_location() #12
  %12381 = load i32, ptr %12380, align 4, !tbaa !5
  %12382 = call ptr @strerror(i32 noundef %12381) #11
  %12383 = call ptr @__errno_location() #12
  %12384 = load i32, ptr %12383, align 4, !tbaa !5
  %12385 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12372, ptr noundef @.str.2, i32 noundef %12373, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 465, ptr noundef %12376, ptr noundef %12379, ptr noundef %12382, i32 noundef %12384) #11
  br label %12403

12386:                                            ; preds = %12364, %12357
  %12387 = load i32, ptr %273, align 4, !tbaa !5
  %12388 = call ptr @__errno_location() #12
  store i32 %12387, ptr %12388, align 4, !tbaa !5
  %12389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12390 = load i32, ptr @test_count, align 4, !tbaa !5
  %12391 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12392 = load i32, ptr %12391, align 4, !tbaa !5
  %12393 = call ptr @s2n_strerror(i32 noundef %12392, ptr noundef @.str.4)
  %12394 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12395 = load i32, ptr %12394, align 4, !tbaa !5
  %12396 = call ptr @s2n_strerror_debug(i32 noundef %12395, ptr noundef @.str.4)
  %12397 = call ptr @__errno_location() #12
  %12398 = load i32, ptr %12397, align 4, !tbaa !5
  %12399 = call ptr @strerror(i32 noundef %12398) #11
  %12400 = call ptr @__errno_location() #12
  %12401 = load i32, ptr %12400, align 4, !tbaa !5
  %12402 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12389, ptr noundef @.str.5, i32 noundef %12390, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 465, ptr noundef %12393, ptr noundef %12396, ptr noundef %12399, i32 noundef %12401) #11
  br label %12403

12403:                                            ; preds = %12386, %12369
  call void @llvm.lifetime.end.p0(i64 4, ptr %273) #11
  br label %12404

12404:                                            ; preds = %12403
  br label %12405

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

12406:                                            ; No predecessors!
  br label %12407

12407:                                            ; preds = %12406
  br label %12408

12408:                                            ; preds = %12407, %12350
  br label %12409

12409:                                            ; preds = %12408
  br label %12410

12410:                                            ; preds = %12409
  br label %12411

12411:                                            ; preds = %12410
  br label %12412

12412:                                            ; preds = %12411
  %12413 = load i32, ptr @test_count, align 4, !tbaa !5
  %12414 = add nsw i32 %12413, 1
  store i32 %12414, ptr @test_count, align 4, !tbaa !5
  %12415 = getelementptr inbounds [20 x i8], ptr %240, i64 0, i64 0
  %12416 = load i64, ptr %242, align 8, !tbaa !15
  %12417 = getelementptr inbounds [3 x [10 x i8]], ptr %222, i64 0, i64 %12416
  %12418 = getelementptr inbounds [10 x i8], ptr %12417, i64 0, i64 0
  %12419 = call i32 @memcmp(ptr noundef %12415, ptr noundef %12418, i64 noundef 10) #14
  %12420 = icmp eq i32 %12419, 0
  br i1 %12420, label %12474, label %12421

12421:                                            ; preds = %12412
  br label %12422

12422:                                            ; preds = %12421
  br label %12423

12423:                                            ; preds = %12422
  call void @llvm.lifetime.start.p0(i64 4, ptr %274) #11
  %12424 = call ptr @__errno_location() #12
  %12425 = load i32, ptr %12424, align 4, !tbaa !5
  store i32 %12425, ptr %274, align 4, !tbaa !5
  %12426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12427 = call i32 @s2n_print_stacktrace(ptr noundef %12426)
  %12428 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12429 = trunc i8 %12428 to i1
  br i1 %12429, label %12430, label %12452

12430:                                            ; preds = %12423
  %12431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12432 = call i32 @fileno(ptr noundef %12431) #11
  %12433 = call i32 @isatty(i32 noundef %12432) #11
  %12434 = icmp ne i32 %12433, 0
  br i1 %12434, label %12435, label %12452

12435:                                            ; preds = %12430
  %12436 = load i32, ptr %274, align 4, !tbaa !5
  %12437 = call ptr @__errno_location() #12
  store i32 %12436, ptr %12437, align 4, !tbaa !5
  %12438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12439 = load i32, ptr @test_count, align 4, !tbaa !5
  %12440 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12441 = load i32, ptr %12440, align 4, !tbaa !5
  %12442 = call ptr @s2n_strerror(i32 noundef %12441, ptr noundef @.str.4)
  %12443 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12444 = load i32, ptr %12443, align 4, !tbaa !5
  %12445 = call ptr @s2n_strerror_debug(i32 noundef %12444, ptr noundef @.str.4)
  %12446 = call ptr @__errno_location() #12
  %12447 = load i32, ptr %12446, align 4, !tbaa !5
  %12448 = call ptr @strerror(i32 noundef %12447) #11
  %12449 = call ptr @__errno_location() #12
  %12450 = load i32, ptr %12449, align 4, !tbaa !5
  %12451 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12438, ptr noundef @.str.2, i32 noundef %12439, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 466, ptr noundef %12442, ptr noundef %12445, ptr noundef %12448, i32 noundef %12450) #11
  br label %12469

12452:                                            ; preds = %12430, %12423
  %12453 = load i32, ptr %274, align 4, !tbaa !5
  %12454 = call ptr @__errno_location() #12
  store i32 %12453, ptr %12454, align 4, !tbaa !5
  %12455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12456 = load i32, ptr @test_count, align 4, !tbaa !5
  %12457 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12458 = load i32, ptr %12457, align 4, !tbaa !5
  %12459 = call ptr @s2n_strerror(i32 noundef %12458, ptr noundef @.str.4)
  %12460 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12461 = load i32, ptr %12460, align 4, !tbaa !5
  %12462 = call ptr @s2n_strerror_debug(i32 noundef %12461, ptr noundef @.str.4)
  %12463 = call ptr @__errno_location() #12
  %12464 = load i32, ptr %12463, align 4, !tbaa !5
  %12465 = call ptr @strerror(i32 noundef %12464) #11
  %12466 = call ptr @__errno_location() #12
  %12467 = load i32, ptr %12466, align 4, !tbaa !5
  %12468 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12455, ptr noundef @.str.5, i32 noundef %12456, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 466, ptr noundef %12459, ptr noundef %12462, ptr noundef %12465, i32 noundef %12467) #11
  br label %12469

12469:                                            ; preds = %12452, %12435
  call void @llvm.lifetime.end.p0(i64 4, ptr %274) #11
  br label %12470

12470:                                            ; preds = %12469
  br label %12471

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

12472:                                            ; No predecessors!
  br label %12473

12473:                                            ; preds = %12472
  br label %12474

12474:                                            ; preds = %12473, %12412
  br label %12475

12475:                                            ; preds = %12474
  br label %12476

12476:                                            ; preds = %12475
  br label %12477

12477:                                            ; preds = %12476
  br label %12478

12478:                                            ; preds = %12477
  %12479 = load i64, ptr %242, align 8, !tbaa !15
  %12480 = add i64 %12479, 1
  store i64 %12480, ptr %242, align 8, !tbaa !15
  store i8 1, ptr %225, align 1, !tbaa !11
  br label %12017, !llvm.loop !49

12481:                                            ; preds = %12024
  call void @llvm.lifetime.start.p0(i64 4, ptr %275) #11
  %12482 = load ptr, ptr %233, align 8, !tbaa !9
  %12483 = getelementptr inbounds [20 x i8], ptr %240, i64 0, i64 0
  %12484 = call i32 @s2n_renegotiate(ptr noundef %12482, ptr noundef %12483, i64 noundef 20, ptr noundef %239, ptr noundef %17)
  store i32 %12484, ptr %275, align 4, !tbaa !5
  %12485 = load i64, ptr %228, align 8, !tbaa !15
  %12486 = and i64 %12485, 4
  %12487 = icmp ne i64 %12486, 0
  br i1 %12487, label %12488, label %12686

12488:                                            ; preds = %12481
  br label %12489

12489:                                            ; preds = %12488
  br label %12490

12490:                                            ; preds = %12489
  br label %12491

12491:                                            ; preds = %12490
  %12492 = load i32, ptr @test_count, align 4, !tbaa !5
  %12493 = add nsw i32 %12492, 1
  store i32 %12493, ptr @test_count, align 4, !tbaa !5
  %12494 = load i32, ptr %275, align 4, !tbaa !5
  %12495 = icmp eq i32 %12494, -1
  br i1 %12495, label %12549, label %12496

12496:                                            ; preds = %12491
  br label %12497

12497:                                            ; preds = %12496
  br label %12498

12498:                                            ; preds = %12497
  call void @llvm.lifetime.start.p0(i64 4, ptr %276) #11
  %12499 = call ptr @__errno_location() #12
  %12500 = load i32, ptr %12499, align 4, !tbaa !5
  store i32 %12500, ptr %276, align 4, !tbaa !5
  %12501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12502 = call i32 @s2n_print_stacktrace(ptr noundef %12501)
  %12503 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12504 = trunc i8 %12503 to i1
  br i1 %12504, label %12505, label %12527

12505:                                            ; preds = %12498
  %12506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12507 = call i32 @fileno(ptr noundef %12506) #11
  %12508 = call i32 @isatty(i32 noundef %12507) #11
  %12509 = icmp ne i32 %12508, 0
  br i1 %12509, label %12510, label %12527

12510:                                            ; preds = %12505
  %12511 = load i32, ptr %276, align 4, !tbaa !5
  %12512 = call ptr @__errno_location() #12
  store i32 %12511, ptr %12512, align 4, !tbaa !5
  %12513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12514 = load i32, ptr @test_count, align 4, !tbaa !5
  %12515 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12516 = load i32, ptr %12515, align 4, !tbaa !5
  %12517 = call ptr @s2n_strerror(i32 noundef %12516, ptr noundef @.str.4)
  %12518 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12519 = load i32, ptr %12518, align 4, !tbaa !5
  %12520 = call ptr @s2n_strerror_debug(i32 noundef %12519, ptr noundef @.str.4)
  %12521 = call ptr @__errno_location() #12
  %12522 = load i32, ptr %12521, align 4, !tbaa !5
  %12523 = call ptr @strerror(i32 noundef %12522) #11
  %12524 = call ptr @__errno_location() #12
  %12525 = load i32, ptr %12524, align 4, !tbaa !5
  %12526 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12513, ptr noundef @.str.2, i32 noundef %12514, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 477, ptr noundef %12517, ptr noundef %12520, ptr noundef %12523, i32 noundef %12525) #11
  br label %12544

12527:                                            ; preds = %12505, %12498
  %12528 = load i32, ptr %276, 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.5, i32 noundef %12531, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 477, ptr noundef %12534, ptr noundef %12537, ptr noundef %12540, i32 noundef %12542) #11
  br label %12544

12544:                                            ; preds = %12527, %12510
  call void @llvm.lifetime.end.p0(i64 4, ptr %276) #11
  br label %12545

12545:                                            ; preds = %12544
  br label %12546

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

12547:                                            ; No predecessors!
  br label %12548

12548:                                            ; preds = %12547
  br label %12549

12549:                                            ; preds = %12548, %12491
  br label %12550

12550:                                            ; preds = %12549
  br label %12551

12551:                                            ; preds = %12550
  br label %12552

12552:                                            ; preds = %12551
  %12553 = load i32, ptr @test_count, align 4, !tbaa !5
  %12554 = add nsw i32 %12553, 1
  store i32 %12554, ptr @test_count, align 4, !tbaa !5
  %12555 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12556 = load i32, ptr %12555, align 4, !tbaa !5
  %12557 = icmp eq i32 %12556, 335544322
  br i1 %12557, label %12611, label %12558

12558:                                            ; preds = %12552
  br label %12559

12559:                                            ; preds = %12558
  br label %12560

12560:                                            ; preds = %12559
  call void @llvm.lifetime.start.p0(i64 4, ptr %277) #11
  %12561 = call ptr @__errno_location() #12
  %12562 = load i32, ptr %12561, align 4, !tbaa !5
  store i32 %12562, ptr %277, align 4, !tbaa !5
  %12563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12564 = call i32 @s2n_print_stacktrace(ptr noundef %12563)
  %12565 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12566 = trunc i8 %12565 to i1
  br i1 %12566, label %12567, label %12589

12567:                                            ; preds = %12560
  %12568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12569 = call i32 @fileno(ptr noundef %12568) #11
  %12570 = call i32 @isatty(i32 noundef %12569) #11
  %12571 = icmp ne i32 %12570, 0
  br i1 %12571, label %12572, label %12589

12572:                                            ; preds = %12567
  %12573 = load i32, ptr %277, align 4, !tbaa !5
  %12574 = call ptr @__errno_location() #12
  store i32 %12573, ptr %12574, align 4, !tbaa !5
  %12575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12576 = load i32, ptr @test_count, align 4, !tbaa !5
  %12577 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12578 = load i32, ptr %12577, align 4, !tbaa !5
  %12579 = call ptr @s2n_strerror(i32 noundef %12578, ptr noundef @.str.4)
  %12580 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12581 = load i32, ptr %12580, align 4, !tbaa !5
  %12582 = call ptr @s2n_strerror_debug(i32 noundef %12581, ptr noundef @.str.4)
  %12583 = call ptr @__errno_location() #12
  %12584 = load i32, ptr %12583, align 4, !tbaa !5
  %12585 = call ptr @strerror(i32 noundef %12584) #11
  %12586 = call ptr @__errno_location() #12
  %12587 = load i32, ptr %12586, align 4, !tbaa !5
  %12588 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12575, ptr noundef @.str.2, i32 noundef %12576, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 477, ptr noundef %12579, ptr noundef %12582, ptr noundef %12585, i32 noundef %12587) #11
  br label %12606

12589:                                            ; preds = %12567, %12560
  %12590 = load i32, ptr %277, align 4, !tbaa !5
  %12591 = call ptr @__errno_location() #12
  store i32 %12590, ptr %12591, align 4, !tbaa !5
  %12592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12593 = load i32, ptr @test_count, align 4, !tbaa !5
  %12594 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12595 = load i32, ptr %12594, align 4, !tbaa !5
  %12596 = call ptr @s2n_strerror(i32 noundef %12595, ptr noundef @.str.4)
  %12597 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12598 = load i32, ptr %12597, align 4, !tbaa !5
  %12599 = call ptr @s2n_strerror_debug(i32 noundef %12598, ptr noundef @.str.4)
  %12600 = call ptr @__errno_location() #12
  %12601 = load i32, ptr %12600, align 4, !tbaa !5
  %12602 = call ptr @strerror(i32 noundef %12601) #11
  %12603 = call ptr @__errno_location() #12
  %12604 = load i32, ptr %12603, align 4, !tbaa !5
  %12605 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12592, ptr noundef @.str.5, i32 noundef %12593, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 477, ptr noundef %12596, ptr noundef %12599, ptr noundef %12602, i32 noundef %12604) #11
  br label %12606

12606:                                            ; preds = %12589, %12572
  call void @llvm.lifetime.end.p0(i64 4, ptr %277) #11
  br label %12607

12607:                                            ; preds = %12606
  br label %12608

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

12609:                                            ; No predecessors!
  br label %12610

12610:                                            ; preds = %12609
  br label %12611

12611:                                            ; preds = %12610, %12552
  br label %12612

12612:                                            ; preds = %12611
  br label %12613

12613:                                            ; preds = %12612
  br label %12614

12614:                                            ; preds = %12613
  %12615 = load i32, ptr @test_count, align 4, !tbaa !5
  %12616 = add nsw i32 %12615, 1
  store i32 %12616, ptr @test_count, align 4, !tbaa !5
  %12617 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12618 = load i32, ptr %12617, align 4, !tbaa !5
  %12619 = call ptr @s2n_strerror_debug(i32 noundef %12618, ptr noundef @.str.4)
  %12620 = icmp eq ptr %12619, null
  br i1 %12620, label %12621, label %12674

12621:                                            ; preds = %12614
  br label %12622

12622:                                            ; preds = %12621
  br label %12623

12623:                                            ; preds = %12622
  call void @llvm.lifetime.start.p0(i64 4, ptr %278) #11
  %12624 = call ptr @__errno_location() #12
  %12625 = load i32, ptr %12624, align 4, !tbaa !5
  store i32 %12625, ptr %278, align 4, !tbaa !5
  %12626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12627 = call i32 @s2n_print_stacktrace(ptr noundef %12626)
  %12628 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12629 = trunc i8 %12628 to i1
  br i1 %12629, label %12630, label %12652

12630:                                            ; preds = %12623
  %12631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12632 = call i32 @fileno(ptr noundef %12631) #11
  %12633 = call i32 @isatty(i32 noundef %12632) #11
  %12634 = icmp ne i32 %12633, 0
  br i1 %12634, label %12635, label %12652

12635:                                            ; preds = %12630
  %12636 = load i32, ptr %278, align 4, !tbaa !5
  %12637 = call ptr @__errno_location() #12
  store i32 %12636, ptr %12637, align 4, !tbaa !5
  %12638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12639 = load i32, ptr @test_count, align 4, !tbaa !5
  %12640 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12641 = load i32, ptr %12640, align 4, !tbaa !5
  %12642 = call ptr @s2n_strerror(i32 noundef %12641, ptr noundef @.str.4)
  %12643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12644 = load i32, ptr %12643, align 4, !tbaa !5
  %12645 = call ptr @s2n_strerror_debug(i32 noundef %12644, ptr noundef @.str.4)
  %12646 = call ptr @__errno_location() #12
  %12647 = load i32, ptr %12646, align 4, !tbaa !5
  %12648 = call ptr @strerror(i32 noundef %12647) #11
  %12649 = call ptr @__errno_location() #12
  %12650 = load i32, ptr %12649, align 4, !tbaa !5
  %12651 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12638, ptr noundef @.str.2, i32 noundef %12639, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 477, ptr noundef %12642, ptr noundef %12645, ptr noundef %12648, i32 noundef %12650) #11
  br label %12669

12652:                                            ; preds = %12630, %12623
  %12653 = load i32, ptr %278, 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.5, i32 noundef %12656, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 477, ptr noundef %12659, ptr noundef %12662, ptr noundef %12665, i32 noundef %12667) #11
  br label %12669

12669:                                            ; preds = %12652, %12635
  call void @llvm.lifetime.end.p0(i64 4, ptr %278) #11
  br label %12670

12670:                                            ; preds = %12669
  br label %12671

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

12672:                                            ; No predecessors!
  br label %12673

12673:                                            ; preds = %12672
  br label %12674

12674:                                            ; preds = %12673, %12614
  br label %12675

12675:                                            ; preds = %12674
  br label %12676

12676:                                            ; preds = %12675
  br label %12677

12677:                                            ; preds = %12676
  br label %12678

12678:                                            ; preds = %12677
  br label %12679

12679:                                            ; preds = %12678
  %12680 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %12680, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %12681 = call ptr @__errno_location() #12
  store i32 0, ptr %12681, align 4, !tbaa !5
  br label %12682

12682:                                            ; preds = %12679
  br label %12683

12683:                                            ; preds = %12682
  br label %12684

12684:                                            ; preds = %12683
  br label %12685

12685:                                            ; preds = %12684
  store i8 1, ptr %226, align 1, !tbaa !11
  store i32 1026, ptr %229, align 4
  br label %13068

12686:                                            ; preds = %12481
  br label %12687

12687:                                            ; preds = %12686
  br label %12688

12688:                                            ; preds = %12687
  br label %12689

12689:                                            ; preds = %12688
  %12690 = load i32, ptr @test_count, align 4, !tbaa !5
  %12691 = add nsw i32 %12690, 1
  store i32 %12691, ptr @test_count, align 4, !tbaa !5
  %12692 = load i32, ptr %275, align 4, !tbaa !5
  %12693 = icmp eq i32 %12692, -1
  br i1 %12693, label %12747, label %12694

12694:                                            ; preds = %12689
  br label %12695

12695:                                            ; preds = %12694
  br label %12696

12696:                                            ; preds = %12695
  call void @llvm.lifetime.start.p0(i64 4, ptr %279) #11
  %12697 = call ptr @__errno_location() #12
  %12698 = load i32, ptr %12697, align 4, !tbaa !5
  store i32 %12698, ptr %279, align 4, !tbaa !5
  %12699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12700 = call i32 @s2n_print_stacktrace(ptr noundef %12699)
  %12701 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12702 = trunc i8 %12701 to i1
  br i1 %12702, label %12703, label %12725

12703:                                            ; preds = %12696
  %12704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12705 = call i32 @fileno(ptr noundef %12704) #11
  %12706 = call i32 @isatty(i32 noundef %12705) #11
  %12707 = icmp ne i32 %12706, 0
  br i1 %12707, label %12708, label %12725

12708:                                            ; preds = %12703
  %12709 = load i32, ptr %279, align 4, !tbaa !5
  %12710 = call ptr @__errno_location() #12
  store i32 %12709, ptr %12710, align 4, !tbaa !5
  %12711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12712 = load i32, ptr @test_count, align 4, !tbaa !5
  %12713 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12714 = load i32, ptr %12713, align 4, !tbaa !5
  %12715 = call ptr @s2n_strerror(i32 noundef %12714, ptr noundef @.str.4)
  %12716 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12717 = load i32, ptr %12716, align 4, !tbaa !5
  %12718 = call ptr @s2n_strerror_debug(i32 noundef %12717, ptr noundef @.str.4)
  %12719 = call ptr @__errno_location() #12
  %12720 = load i32, ptr %12719, align 4, !tbaa !5
  %12721 = call ptr @strerror(i32 noundef %12720) #11
  %12722 = call ptr @__errno_location() #12
  %12723 = load i32, ptr %12722, align 4, !tbaa !5
  %12724 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12711, ptr noundef @.str.2, i32 noundef %12712, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 482, ptr noundef %12715, ptr noundef %12718, ptr noundef %12721, i32 noundef %12723) #11
  br label %12742

12725:                                            ; preds = %12703, %12696
  %12726 = load i32, ptr %279, align 4, !tbaa !5
  %12727 = call ptr @__errno_location() #12
  store i32 %12726, ptr %12727, align 4, !tbaa !5
  %12728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12729 = load i32, ptr @test_count, align 4, !tbaa !5
  %12730 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12731 = load i32, ptr %12730, align 4, !tbaa !5
  %12732 = call ptr @s2n_strerror(i32 noundef %12731, ptr noundef @.str.4)
  %12733 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12734 = load i32, ptr %12733, align 4, !tbaa !5
  %12735 = call ptr @s2n_strerror_debug(i32 noundef %12734, ptr noundef @.str.4)
  %12736 = call ptr @__errno_location() #12
  %12737 = load i32, ptr %12736, align 4, !tbaa !5
  %12738 = call ptr @strerror(i32 noundef %12737) #11
  %12739 = call ptr @__errno_location() #12
  %12740 = load i32, ptr %12739, align 4, !tbaa !5
  %12741 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12728, ptr noundef @.str.5, i32 noundef %12729, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 482, ptr noundef %12732, ptr noundef %12735, ptr noundef %12738, i32 noundef %12740) #11
  br label %12742

12742:                                            ; preds = %12725, %12708
  call void @llvm.lifetime.end.p0(i64 4, ptr %279) #11
  br label %12743

12743:                                            ; preds = %12742
  br label %12744

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

12745:                                            ; No predecessors!
  br label %12746

12746:                                            ; preds = %12745
  br label %12747

12747:                                            ; preds = %12746, %12689
  br label %12748

12748:                                            ; preds = %12747
  br label %12749

12749:                                            ; preds = %12748
  br label %12750

12750:                                            ; preds = %12749
  %12751 = load i32, ptr @test_count, align 4, !tbaa !5
  %12752 = add nsw i32 %12751, 1
  store i32 %12752, ptr @test_count, align 4, !tbaa !5
  %12753 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12754 = load i32, ptr %12753, align 4, !tbaa !5
  %12755 = icmp eq i32 %12754, 201326592
  br i1 %12755, label %12809, label %12756

12756:                                            ; preds = %12750
  br label %12757

12757:                                            ; preds = %12756
  br label %12758

12758:                                            ; preds = %12757
  call void @llvm.lifetime.start.p0(i64 4, ptr %280) #11
  %12759 = call ptr @__errno_location() #12
  %12760 = load i32, ptr %12759, align 4, !tbaa !5
  store i32 %12760, ptr %280, align 4, !tbaa !5
  %12761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12762 = call i32 @s2n_print_stacktrace(ptr noundef %12761)
  %12763 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12764 = trunc i8 %12763 to i1
  br i1 %12764, label %12765, label %12787

12765:                                            ; preds = %12758
  %12766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12767 = call i32 @fileno(ptr noundef %12766) #11
  %12768 = call i32 @isatty(i32 noundef %12767) #11
  %12769 = icmp ne i32 %12768, 0
  br i1 %12769, label %12770, label %12787

12770:                                            ; preds = %12765
  %12771 = load i32, ptr %280, align 4, !tbaa !5
  %12772 = call ptr @__errno_location() #12
  store i32 %12771, ptr %12772, align 4, !tbaa !5
  %12773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12774 = load i32, ptr @test_count, align 4, !tbaa !5
  %12775 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12776 = load i32, ptr %12775, align 4, !tbaa !5
  %12777 = call ptr @s2n_strerror(i32 noundef %12776, ptr noundef @.str.4)
  %12778 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12779 = load i32, ptr %12778, align 4, !tbaa !5
  %12780 = call ptr @s2n_strerror_debug(i32 noundef %12779, ptr noundef @.str.4)
  %12781 = call ptr @__errno_location() #12
  %12782 = load i32, ptr %12781, align 4, !tbaa !5
  %12783 = call ptr @strerror(i32 noundef %12782) #11
  %12784 = call ptr @__errno_location() #12
  %12785 = load i32, ptr %12784, align 4, !tbaa !5
  %12786 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12773, ptr noundef @.str.2, i32 noundef %12774, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 482, ptr noundef %12777, ptr noundef %12780, ptr noundef %12783, i32 noundef %12785) #11
  br label %12804

12787:                                            ; preds = %12765, %12758
  %12788 = load i32, ptr %280, align 4, !tbaa !5
  %12789 = call ptr @__errno_location() #12
  store i32 %12788, ptr %12789, align 4, !tbaa !5
  %12790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12791 = load i32, ptr @test_count, align 4, !tbaa !5
  %12792 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12793 = load i32, ptr %12792, align 4, !tbaa !5
  %12794 = call ptr @s2n_strerror(i32 noundef %12793, ptr noundef @.str.4)
  %12795 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12796 = load i32, ptr %12795, align 4, !tbaa !5
  %12797 = call ptr @s2n_strerror_debug(i32 noundef %12796, ptr noundef @.str.4)
  %12798 = call ptr @__errno_location() #12
  %12799 = load i32, ptr %12798, align 4, !tbaa !5
  %12800 = call ptr @strerror(i32 noundef %12799) #11
  %12801 = call ptr @__errno_location() #12
  %12802 = load i32, ptr %12801, align 4, !tbaa !5
  %12803 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12790, ptr noundef @.str.5, i32 noundef %12791, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 482, ptr noundef %12794, ptr noundef %12797, ptr noundef %12800, i32 noundef %12802) #11
  br label %12804

12804:                                            ; preds = %12787, %12770
  call void @llvm.lifetime.end.p0(i64 4, ptr %280) #11
  br label %12805

12805:                                            ; preds = %12804
  br label %12806

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

12807:                                            ; No predecessors!
  br label %12808

12808:                                            ; preds = %12807
  br label %12809

12809:                                            ; preds = %12808, %12750
  br label %12810

12810:                                            ; preds = %12809
  br label %12811

12811:                                            ; preds = %12810
  br label %12812

12812:                                            ; preds = %12811
  %12813 = load i32, ptr @test_count, align 4, !tbaa !5
  %12814 = add nsw i32 %12813, 1
  store i32 %12814, ptr @test_count, align 4, !tbaa !5
  %12815 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12816 = load i32, ptr %12815, align 4, !tbaa !5
  %12817 = call ptr @s2n_strerror_debug(i32 noundef %12816, ptr noundef @.str.4)
  %12818 = icmp eq ptr %12817, null
  br i1 %12818, label %12819, label %12872

12819:                                            ; preds = %12812
  br label %12820

12820:                                            ; preds = %12819
  br label %12821

12821:                                            ; preds = %12820
  call void @llvm.lifetime.start.p0(i64 4, ptr %281) #11
  %12822 = call ptr @__errno_location() #12
  %12823 = load i32, ptr %12822, align 4, !tbaa !5
  store i32 %12823, ptr %281, align 4, !tbaa !5
  %12824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12825 = call i32 @s2n_print_stacktrace(ptr noundef %12824)
  %12826 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12827 = trunc i8 %12826 to i1
  br i1 %12827, label %12828, label %12850

12828:                                            ; preds = %12821
  %12829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12830 = call i32 @fileno(ptr noundef %12829) #11
  %12831 = call i32 @isatty(i32 noundef %12830) #11
  %12832 = icmp ne i32 %12831, 0
  br i1 %12832, label %12833, label %12850

12833:                                            ; preds = %12828
  %12834 = load i32, ptr %281, align 4, !tbaa !5
  %12835 = call ptr @__errno_location() #12
  store i32 %12834, ptr %12835, align 4, !tbaa !5
  %12836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12837 = load i32, ptr @test_count, align 4, !tbaa !5
  %12838 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12839 = load i32, ptr %12838, align 4, !tbaa !5
  %12840 = call ptr @s2n_strerror(i32 noundef %12839, ptr noundef @.str.4)
  %12841 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12842 = load i32, ptr %12841, align 4, !tbaa !5
  %12843 = call ptr @s2n_strerror_debug(i32 noundef %12842, ptr noundef @.str.4)
  %12844 = call ptr @__errno_location() #12
  %12845 = load i32, ptr %12844, align 4, !tbaa !5
  %12846 = call ptr @strerror(i32 noundef %12845) #11
  %12847 = call ptr @__errno_location() #12
  %12848 = load i32, ptr %12847, align 4, !tbaa !5
  %12849 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12836, ptr noundef @.str.2, i32 noundef %12837, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 482, ptr noundef %12840, ptr noundef %12843, ptr noundef %12846, i32 noundef %12848) #11
  br label %12867

12850:                                            ; preds = %12828, %12821
  %12851 = load i32, ptr %281, align 4, !tbaa !5
  %12852 = call ptr @__errno_location() #12
  store i32 %12851, ptr %12852, align 4, !tbaa !5
  %12853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12854 = load i32, ptr @test_count, align 4, !tbaa !5
  %12855 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12856 = load i32, ptr %12855, align 4, !tbaa !5
  %12857 = call ptr @s2n_strerror(i32 noundef %12856, ptr noundef @.str.4)
  %12858 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12859 = load i32, ptr %12858, align 4, !tbaa !5
  %12860 = call ptr @s2n_strerror_debug(i32 noundef %12859, ptr noundef @.str.4)
  %12861 = call ptr @__errno_location() #12
  %12862 = load i32, ptr %12861, align 4, !tbaa !5
  %12863 = call ptr @strerror(i32 noundef %12862) #11
  %12864 = call ptr @__errno_location() #12
  %12865 = load i32, ptr %12864, align 4, !tbaa !5
  %12866 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12853, ptr noundef @.str.5, i32 noundef %12854, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 482, ptr noundef %12857, ptr noundef %12860, ptr noundef %12863, i32 noundef %12865) #11
  br label %12867

12867:                                            ; preds = %12850, %12833
  call void @llvm.lifetime.end.p0(i64 4, ptr %281) #11
  br label %12868

12868:                                            ; preds = %12867
  br label %12869

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

12870:                                            ; No predecessors!
  br label %12871

12871:                                            ; preds = %12870
  br label %12872

12872:                                            ; preds = %12871, %12812
  br label %12873

12873:                                            ; preds = %12872
  br label %12874

12874:                                            ; preds = %12873
  br label %12875

12875:                                            ; preds = %12874
  br label %12876

12876:                                            ; preds = %12875
  br label %12877

12877:                                            ; preds = %12876
  %12878 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %12878, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %12879 = call ptr @__errno_location() #12
  store i32 0, ptr %12879, align 4, !tbaa !5
  br label %12880

12880:                                            ; preds = %12877
  br label %12881

12881:                                            ; preds = %12880
  br label %12882

12882:                                            ; preds = %12881
  br label %12883

12883:                                            ; preds = %12882
  br label %12884

12884:                                            ; preds = %12883
  %12885 = load i32, ptr @test_count, align 4, !tbaa !5
  %12886 = add nsw i32 %12885, 1
  store i32 %12886, ptr @test_count, align 4, !tbaa !5
  %12887 = load i32, ptr %17, align 4, !tbaa !5
  %12888 = icmp eq i32 %12887, 1
  br i1 %12888, label %12942, label %12889

12889:                                            ; preds = %12884
  br label %12890

12890:                                            ; preds = %12889
  br label %12891

12891:                                            ; preds = %12890
  call void @llvm.lifetime.start.p0(i64 4, ptr %282) #11
  %12892 = call ptr @__errno_location() #12
  %12893 = load i32, ptr %12892, align 4, !tbaa !5
  store i32 %12893, ptr %282, align 4, !tbaa !5
  %12894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12895 = call i32 @s2n_print_stacktrace(ptr noundef %12894)
  %12896 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12897 = trunc i8 %12896 to i1
  br i1 %12897, label %12898, label %12920

12898:                                            ; preds = %12891
  %12899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12900 = call i32 @fileno(ptr noundef %12899) #11
  %12901 = call i32 @isatty(i32 noundef %12900) #11
  %12902 = icmp ne i32 %12901, 0
  br i1 %12902, label %12903, label %12920

12903:                                            ; preds = %12898
  %12904 = load i32, ptr %282, align 4, !tbaa !5
  %12905 = call ptr @__errno_location() #12
  store i32 %12904, ptr %12905, align 4, !tbaa !5
  %12906 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12907 = load i32, ptr @test_count, align 4, !tbaa !5
  %12908 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12909 = load i32, ptr %12908, align 4, !tbaa !5
  %12910 = call ptr @s2n_strerror(i32 noundef %12909, ptr noundef @.str.4)
  %12911 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12912 = load i32, ptr %12911, align 4, !tbaa !5
  %12913 = call ptr @s2n_strerror_debug(i32 noundef %12912, ptr noundef @.str.4)
  %12914 = call ptr @__errno_location() #12
  %12915 = load i32, ptr %12914, align 4, !tbaa !5
  %12916 = call ptr @strerror(i32 noundef %12915) #11
  %12917 = call ptr @__errno_location() #12
  %12918 = load i32, ptr %12917, align 4, !tbaa !5
  %12919 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12906, ptr noundef @.str.2, i32 noundef %12907, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 483, ptr noundef %12910, ptr noundef %12913, ptr noundef %12916, i32 noundef %12918) #11
  br label %12937

12920:                                            ; preds = %12898, %12891
  %12921 = load i32, ptr %282, align 4, !tbaa !5
  %12922 = call ptr @__errno_location() #12
  store i32 %12921, ptr %12922, align 4, !tbaa !5
  %12923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12924 = load i32, ptr @test_count, align 4, !tbaa !5
  %12925 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12926 = load i32, ptr %12925, align 4, !tbaa !5
  %12927 = call ptr @s2n_strerror(i32 noundef %12926, ptr noundef @.str.4)
  %12928 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12929 = load i32, ptr %12928, align 4, !tbaa !5
  %12930 = call ptr @s2n_strerror_debug(i32 noundef %12929, ptr noundef @.str.4)
  %12931 = call ptr @__errno_location() #12
  %12932 = load i32, ptr %12931, align 4, !tbaa !5
  %12933 = call ptr @strerror(i32 noundef %12932) #11
  %12934 = call ptr @__errno_location() #12
  %12935 = load i32, ptr %12934, align 4, !tbaa !5
  %12936 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12923, ptr noundef @.str.5, i32 noundef %12924, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 483, ptr noundef %12927, ptr noundef %12930, ptr noundef %12933, i32 noundef %12935) #11
  br label %12937

12937:                                            ; preds = %12920, %12903
  call void @llvm.lifetime.end.p0(i64 4, ptr %282) #11
  br label %12938

12938:                                            ; preds = %12937
  br label %12939

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

12940:                                            ; No predecessors!
  br label %12941

12941:                                            ; preds = %12940
  br label %12942

12942:                                            ; preds = %12941, %12884
  br label %12943

12943:                                            ; preds = %12942
  br label %12944

12944:                                            ; preds = %12943
  br label %12945

12945:                                            ; preds = %12944
  %12946 = load i32, ptr @test_count, align 4, !tbaa !5
  %12947 = add nsw i32 %12946, 1
  store i32 %12947, ptr @test_count, align 4, !tbaa !5
  %12948 = load ptr, ptr %233, align 8, !tbaa !9
  %12949 = call i32 @s2n_conn_get_current_message_type(ptr noundef %12948)
  %12950 = icmp eq i32 %12949, 1
  br i1 %12950, label %12951, label %13004

12951:                                            ; preds = %12945
  br label %12952

12952:                                            ; preds = %12951
  br label %12953

12953:                                            ; preds = %12952
  call void @llvm.lifetime.start.p0(i64 4, ptr %283) #11
  %12954 = call ptr @__errno_location() #12
  %12955 = load i32, ptr %12954, align 4, !tbaa !5
  store i32 %12955, ptr %283, align 4, !tbaa !5
  %12956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12957 = call i32 @s2n_print_stacktrace(ptr noundef %12956)
  %12958 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12959 = trunc i8 %12958 to i1
  br i1 %12959, label %12960, label %12982

12960:                                            ; preds = %12953
  %12961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12962 = call i32 @fileno(ptr noundef %12961) #11
  %12963 = call i32 @isatty(i32 noundef %12962) #11
  %12964 = icmp ne i32 %12963, 0
  br i1 %12964, label %12965, label %12982

12965:                                            ; preds = %12960
  %12966 = load i32, ptr %283, align 4, !tbaa !5
  %12967 = call ptr @__errno_location() #12
  store i32 %12966, ptr %12967, align 4, !tbaa !5
  %12968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12969 = load i32, ptr @test_count, align 4, !tbaa !5
  %12970 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12971 = load i32, ptr %12970, align 4, !tbaa !5
  %12972 = call ptr @s2n_strerror(i32 noundef %12971, ptr noundef @.str.4)
  %12973 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12974 = load i32, ptr %12973, align 4, !tbaa !5
  %12975 = call ptr @s2n_strerror_debug(i32 noundef %12974, ptr noundef @.str.4)
  %12976 = call ptr @__errno_location() #12
  %12977 = load i32, ptr %12976, align 4, !tbaa !5
  %12978 = call ptr @strerror(i32 noundef %12977) #11
  %12979 = call ptr @__errno_location() #12
  %12980 = load i32, ptr %12979, align 4, !tbaa !5
  %12981 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12968, ptr noundef @.str.2, i32 noundef %12969, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 484, ptr noundef %12972, ptr noundef %12975, ptr noundef %12978, i32 noundef %12980) #11
  br label %12999

12982:                                            ; preds = %12960, %12953
  %12983 = load i32, ptr %283, align 4, !tbaa !5
  %12984 = call ptr @__errno_location() #12
  store i32 %12983, ptr %12984, align 4, !tbaa !5
  %12985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12986 = load i32, ptr @test_count, align 4, !tbaa !5
  %12987 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12988 = load i32, ptr %12987, align 4, !tbaa !5
  %12989 = call ptr @s2n_strerror(i32 noundef %12988, ptr noundef @.str.4)
  %12990 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12991 = load i32, ptr %12990, align 4, !tbaa !5
  %12992 = call ptr @s2n_strerror_debug(i32 noundef %12991, ptr noundef @.str.4)
  %12993 = call ptr @__errno_location() #12
  %12994 = load i32, ptr %12993, align 4, !tbaa !5
  %12995 = call ptr @strerror(i32 noundef %12994) #11
  %12996 = call ptr @__errno_location() #12
  %12997 = load i32, ptr %12996, align 4, !tbaa !5
  %12998 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12985, ptr noundef @.str.5, i32 noundef %12986, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 484, ptr noundef %12989, ptr noundef %12992, ptr noundef %12995, i32 noundef %12997) #11
  br label %12999

12999:                                            ; preds = %12982, %12965
  call void @llvm.lifetime.end.p0(i64 4, ptr %283) #11
  br label %13000

13000:                                            ; preds = %12999
  br label %13001

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

13002:                                            ; No predecessors!
  br label %13003

13003:                                            ; preds = %13002
  br label %13004

13004:                                            ; preds = %13003, %12945
  br label %13005

13005:                                            ; preds = %13004
  br label %13006

13006:                                            ; preds = %13005
  br label %13007

13007:                                            ; preds = %13006
  %13008 = load i32, ptr @test_count, align 4, !tbaa !5
  %13009 = add nsw i32 %13008, 1
  store i32 %13009, ptr @test_count, align 4, !tbaa !5
  %13010 = load ptr, ptr %233, align 8, !tbaa !9
  %13011 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %13010, i32 noundef 1)
  br i1 %13011, label %13065, label %13012

13012:                                            ; preds = %13007
  br label %13013

13013:                                            ; preds = %13012
  br label %13014

13014:                                            ; preds = %13013
  call void @llvm.lifetime.start.p0(i64 4, ptr %284) #11
  %13015 = call ptr @__errno_location() #12
  %13016 = load i32, ptr %13015, align 4, !tbaa !5
  store i32 %13016, ptr %284, align 4, !tbaa !5
  %13017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13018 = call i32 @s2n_print_stacktrace(ptr noundef %13017)
  %13019 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13020 = trunc i8 %13019 to i1
  br i1 %13020, label %13021, label %13043

13021:                                            ; preds = %13014
  %13022 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13023 = call i32 @fileno(ptr noundef %13022) #11
  %13024 = call i32 @isatty(i32 noundef %13023) #11
  %13025 = icmp ne i32 %13024, 0
  br i1 %13025, label %13026, label %13043

13026:                                            ; preds = %13021
  %13027 = load i32, ptr %284, align 4, !tbaa !5
  %13028 = call ptr @__errno_location() #12
  store i32 %13027, ptr %13028, align 4, !tbaa !5
  %13029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13030 = load i32, ptr @test_count, align 4, !tbaa !5
  %13031 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13032 = load i32, ptr %13031, align 4, !tbaa !5
  %13033 = call ptr @s2n_strerror(i32 noundef %13032, ptr noundef @.str.4)
  %13034 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13035 = load i32, ptr %13034, align 4, !tbaa !5
  %13036 = call ptr @s2n_strerror_debug(i32 noundef %13035, ptr noundef @.str.4)
  %13037 = call ptr @__errno_location() #12
  %13038 = load i32, ptr %13037, align 4, !tbaa !5
  %13039 = call ptr @strerror(i32 noundef %13038) #11
  %13040 = call ptr @__errno_location() #12
  %13041 = load i32, ptr %13040, align 4, !tbaa !5
  %13042 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13029, ptr noundef @.str.2, i32 noundef %13030, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 485, ptr noundef %13033, ptr noundef %13036, ptr noundef %13039, i32 noundef %13041) #11
  br label %13060

13043:                                            ; preds = %13021, %13014
  %13044 = load i32, ptr %284, 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.5, i32 noundef %13047, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 485, ptr noundef %13050, ptr noundef %13053, ptr noundef %13056, i32 noundef %13058) #11
  br label %13060

13060:                                            ; preds = %13043, %13026
  call void @llvm.lifetime.end.p0(i64 4, ptr %284) #11
  br label %13061

13061:                                            ; preds = %13060
  br label %13062

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

13063:                                            ; No predecessors!
  br label %13064

13064:                                            ; preds = %13063
  br label %13065

13065:                                            ; preds = %13064, %13007
  br label %13066

13066:                                            ; preds = %13065
  br label %13067

13067:                                            ; preds = %13066
  store i8 1, ptr %227, align 1, !tbaa !11
  store i32 0, ptr %229, align 4
  br label %13068

13068:                                            ; preds = %13067, %12685
  call void @llvm.lifetime.end.p0(i64 4, ptr %275) #11
  %13069 = load i32, ptr %229, align 4
  switch i32 %13069, label %13137 [
    i32 0, label %13070
  ]

13070:                                            ; preds = %13068
  br label %13071

13071:                                            ; preds = %13070
  %13072 = load i32, ptr @test_count, align 4, !tbaa !5
  %13073 = add nsw i32 %13072, 1
  store i32 %13073, ptr @test_count, align 4, !tbaa !5
  %13074 = load ptr, ptr %230, align 8, !tbaa !9
  %13075 = load ptr, ptr %233, align 8, !tbaa !9
  %13076 = call i32 @s2n_renegotiate_test_server_and_client(ptr noundef %13074, ptr noundef %13075)
  %13077 = getelementptr inbounds %struct.s2n_result, ptr %285, i32 0, i32 0
  store i32 %13076, ptr %13077, align 4
  %13078 = getelementptr inbounds %struct.s2n_result, ptr %285, i32 0, i32 0
  %13079 = load i32, ptr %13078, align 4
  %13080 = call zeroext i1 @s2n_result_is_ok(i32 %13079)
  br i1 %13080, label %13134, label %13081

13081:                                            ; preds = %13071
  br label %13082

13082:                                            ; preds = %13081
  br label %13083

13083:                                            ; preds = %13082
  call void @llvm.lifetime.start.p0(i64 4, ptr %286) #11
  %13084 = call ptr @__errno_location() #12
  %13085 = load i32, ptr %13084, align 4, !tbaa !5
  store i32 %13085, ptr %286, align 4, !tbaa !5
  %13086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13087 = call i32 @s2n_print_stacktrace(ptr noundef %13086)
  %13088 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13089 = trunc i8 %13088 to i1
  br i1 %13089, label %13090, label %13112

13090:                                            ; preds = %13083
  %13091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13092 = call i32 @fileno(ptr noundef %13091) #11
  %13093 = call i32 @isatty(i32 noundef %13092) #11
  %13094 = icmp ne i32 %13093, 0
  br i1 %13094, label %13095, label %13112

13095:                                            ; preds = %13090
  %13096 = load i32, ptr %286, align 4, !tbaa !5
  %13097 = call ptr @__errno_location() #12
  store i32 %13096, ptr %13097, align 4, !tbaa !5
  %13098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13099 = load i32, ptr @test_count, align 4, !tbaa !5
  %13100 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13101 = load i32, ptr %13100, align 4, !tbaa !5
  %13102 = call ptr @s2n_strerror(i32 noundef %13101, ptr noundef @.str.4)
  %13103 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13104 = load i32, ptr %13103, align 4, !tbaa !5
  %13105 = call ptr @s2n_strerror_debug(i32 noundef %13104, ptr noundef @.str.4)
  %13106 = call ptr @__errno_location() #12
  %13107 = load i32, ptr %13106, align 4, !tbaa !5
  %13108 = call ptr @strerror(i32 noundef %13107) #11
  %13109 = call ptr @__errno_location() #12
  %13110 = load i32, ptr %13109, align 4, !tbaa !5
  %13111 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13098, ptr noundef @.str.2, i32 noundef %13099, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 490, ptr noundef %13102, ptr noundef %13105, ptr noundef %13108, i32 noundef %13110) #11
  br label %13129

13112:                                            ; preds = %13090, %13083
  %13113 = load i32, ptr %286, align 4, !tbaa !5
  %13114 = call ptr @__errno_location() #12
  store i32 %13113, ptr %13114, align 4, !tbaa !5
  %13115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13116 = load i32, ptr @test_count, align 4, !tbaa !5
  %13117 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13118 = load i32, ptr %13117, align 4, !tbaa !5
  %13119 = call ptr @s2n_strerror(i32 noundef %13118, ptr noundef @.str.4)
  %13120 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13121 = load i32, ptr %13120, align 4, !tbaa !5
  %13122 = call ptr @s2n_strerror_debug(i32 noundef %13121, ptr noundef @.str.4)
  %13123 = call ptr @__errno_location() #12
  %13124 = load i32, ptr %13123, align 4, !tbaa !5
  %13125 = call ptr @strerror(i32 noundef %13124) #11
  %13126 = call ptr @__errno_location() #12
  %13127 = load i32, ptr %13126, align 4, !tbaa !5
  %13128 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13115, ptr noundef @.str.5, i32 noundef %13116, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 490, ptr noundef %13119, ptr noundef %13122, ptr noundef %13125, i32 noundef %13127) #11
  br label %13129

13129:                                            ; preds = %13112, %13095
  call void @llvm.lifetime.end.p0(i64 4, ptr %286) #11
  br label %13130

13130:                                            ; preds = %13129
  br label %13131

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

13132:                                            ; No predecessors!
  br label %13133

13133:                                            ; preds = %13132
  br label %13134

13134:                                            ; preds = %13133, %13071
  br label %13135

13135:                                            ; preds = %13134
  br label %13136

13136:                                            ; preds = %13135
  store i32 0, ptr %229, align 4
  br label %13137

13137:                                            ; preds = %13136, %13068
  call void @llvm.lifetime.end.p0(i64 8, ptr %242) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %241) #11
  call void @llvm.lifetime.end.p0(i64 20, ptr %240) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %239) #11
  %13138 = call i32 @s2n_io_pair_close(ptr noundef %236)
  call void @llvm.lifetime.end.p0(i64 8, ptr %236) #11
  %13139 = call i32 @s2n_connection_ptr_free(ptr noundef %233)
  %13140 = getelementptr inbounds %struct.s2n_result, ptr %287, i32 0, i32 0
  store i32 %13139, ptr %13140, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %233) #11
  %13141 = call i32 @s2n_connection_ptr_free(ptr noundef %230)
  %13142 = getelementptr inbounds %struct.s2n_result, ptr %288, i32 0, i32 0
  store i32 %13141, ptr %13142, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %230) #11
  %13143 = load i32, ptr %229, align 4
  switch i32 %13143, label %13616 [
    i32 0, label %13144
    i32 1026, label %13145
  ]

13144:                                            ; preds = %13137
  br label %13145

13145:                                            ; preds = %13144, %13137
  %13146 = load i64, ptr %228, align 8, !tbaa !15
  %13147 = add i64 %13146, 1
  store i64 %13147, ptr %228, align 8, !tbaa !15
  br label %10072, !llvm.loop !50

13148:                                            ; preds = %10075
  br label %13149

13149:                                            ; preds = %13148
  %13150 = load i32, ptr @test_count, align 4, !tbaa !5
  %13151 = add nsw i32 %13150, 1
  store i32 %13151, ptr @test_count, align 4, !tbaa !5
  %13152 = load i8, ptr %223, align 1, !tbaa !11, !range !13, !noundef !14
  %13153 = trunc i8 %13152 to i1
  br i1 %13153, label %13207, label %13154

13154:                                            ; preds = %13149
  br label %13155

13155:                                            ; preds = %13154
  br label %13156

13156:                                            ; preds = %13155
  call void @llvm.lifetime.start.p0(i64 4, ptr %289) #11
  %13157 = call ptr @__errno_location() #12
  %13158 = load i32, ptr %13157, align 4, !tbaa !5
  store i32 %13158, ptr %289, align 4, !tbaa !5
  %13159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13160 = call i32 @s2n_print_stacktrace(ptr noundef %13159)
  %13161 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13162 = trunc i8 %13161 to i1
  br i1 %13162, label %13163, label %13185

13163:                                            ; preds = %13156
  %13164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13165 = call i32 @fileno(ptr noundef %13164) #11
  %13166 = call i32 @isatty(i32 noundef %13165) #11
  %13167 = icmp ne i32 %13166, 0
  br i1 %13167, label %13168, label %13185

13168:                                            ; preds = %13163
  %13169 = load i32, ptr %289, align 4, !tbaa !5
  %13170 = call ptr @__errno_location() #12
  store i32 %13169, ptr %13170, align 4, !tbaa !5
  %13171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13172 = load i32, ptr @test_count, align 4, !tbaa !5
  %13173 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13174 = load i32, ptr %13173, align 4, !tbaa !5
  %13175 = call ptr @s2n_strerror(i32 noundef %13174, ptr noundef @.str.4)
  %13176 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13177 = load i32, ptr %13176, align 4, !tbaa !5
  %13178 = call ptr @s2n_strerror_debug(i32 noundef %13177, ptr noundef @.str.4)
  %13179 = call ptr @__errno_location() #12
  %13180 = load i32, ptr %13179, align 4, !tbaa !5
  %13181 = call ptr @strerror(i32 noundef %13180) #11
  %13182 = call ptr @__errno_location() #12
  %13183 = load i32, ptr %13182, align 4, !tbaa !5
  %13184 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13171, ptr noundef @.str.2, i32 noundef %13172, ptr noundef @.str.57, ptr noundef @.str.1, i32 noundef 493, ptr noundef %13175, ptr noundef %13178, ptr noundef %13181, i32 noundef %13183) #11
  br label %13202

13185:                                            ; preds = %13163, %13156
  %13186 = load i32, ptr %289, align 4, !tbaa !5
  %13187 = call ptr @__errno_location() #12
  store i32 %13186, ptr %13187, align 4, !tbaa !5
  %13188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13189 = load i32, ptr @test_count, align 4, !tbaa !5
  %13190 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13191 = load i32, ptr %13190, align 4, !tbaa !5
  %13192 = call ptr @s2n_strerror(i32 noundef %13191, ptr noundef @.str.4)
  %13193 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13194 = load i32, ptr %13193, align 4, !tbaa !5
  %13195 = call ptr @s2n_strerror_debug(i32 noundef %13194, ptr noundef @.str.4)
  %13196 = call ptr @__errno_location() #12
  %13197 = load i32, ptr %13196, align 4, !tbaa !5
  %13198 = call ptr @strerror(i32 noundef %13197) #11
  %13199 = call ptr @__errno_location() #12
  %13200 = load i32, ptr %13199, align 4, !tbaa !5
  %13201 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13188, ptr noundef @.str.5, i32 noundef %13189, ptr noundef @.str.57, ptr noundef @.str.1, i32 noundef 493, ptr noundef %13192, ptr noundef %13195, ptr noundef %13198, i32 noundef %13200) #11
  br label %13202

13202:                                            ; preds = %13185, %13168
  call void @llvm.lifetime.end.p0(i64 4, ptr %289) #11
  br label %13203

13203:                                            ; preds = %13202
  br label %13204

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

13205:                                            ; No predecessors!
  br label %13206

13206:                                            ; preds = %13205
  br label %13207

13207:                                            ; preds = %13206, %13149
  br label %13208

13208:                                            ; preds = %13207
  br label %13209

13209:                                            ; preds = %13208
  br label %13210

13210:                                            ; preds = %13209
  %13211 = load i32, ptr @test_count, align 4, !tbaa !5
  %13212 = add nsw i32 %13211, 1
  store i32 %13212, ptr @test_count, align 4, !tbaa !5
  %13213 = load i8, ptr %224, align 1, !tbaa !11, !range !13, !noundef !14
  %13214 = trunc i8 %13213 to i1
  br i1 %13214, label %13268, label %13215

13215:                                            ; preds = %13210
  br label %13216

13216:                                            ; preds = %13215
  br label %13217

13217:                                            ; preds = %13216
  call void @llvm.lifetime.start.p0(i64 4, ptr %290) #11
  %13218 = call ptr @__errno_location() #12
  %13219 = load i32, ptr %13218, align 4, !tbaa !5
  store i32 %13219, ptr %290, align 4, !tbaa !5
  %13220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13221 = call i32 @s2n_print_stacktrace(ptr noundef %13220)
  %13222 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13223 = trunc i8 %13222 to i1
  br i1 %13223, label %13224, label %13246

13224:                                            ; preds = %13217
  %13225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13226 = call i32 @fileno(ptr noundef %13225) #11
  %13227 = call i32 @isatty(i32 noundef %13226) #11
  %13228 = icmp ne i32 %13227, 0
  br i1 %13228, label %13229, label %13246

13229:                                            ; preds = %13224
  %13230 = load i32, ptr %290, align 4, !tbaa !5
  %13231 = call ptr @__errno_location() #12
  store i32 %13230, ptr %13231, align 4, !tbaa !5
  %13232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13233 = load i32, ptr @test_count, align 4, !tbaa !5
  %13234 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13235 = load i32, ptr %13234, align 4, !tbaa !5
  %13236 = call ptr @s2n_strerror(i32 noundef %13235, ptr noundef @.str.4)
  %13237 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13238 = load i32, ptr %13237, align 4, !tbaa !5
  %13239 = call ptr @s2n_strerror_debug(i32 noundef %13238, ptr noundef @.str.4)
  %13240 = call ptr @__errno_location() #12
  %13241 = load i32, ptr %13240, align 4, !tbaa !5
  %13242 = call ptr @strerror(i32 noundef %13241) #11
  %13243 = call ptr @__errno_location() #12
  %13244 = load i32, ptr %13243, align 4, !tbaa !5
  %13245 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13232, ptr noundef @.str.2, i32 noundef %13233, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 494, ptr noundef %13236, ptr noundef %13239, ptr noundef %13242, i32 noundef %13244) #11
  br label %13263

13246:                                            ; preds = %13224, %13217
  %13247 = load i32, ptr %290, align 4, !tbaa !5
  %13248 = call ptr @__errno_location() #12
  store i32 %13247, ptr %13248, align 4, !tbaa !5
  %13249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13250 = load i32, ptr @test_count, align 4, !tbaa !5
  %13251 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13252 = load i32, ptr %13251, align 4, !tbaa !5
  %13253 = call ptr @s2n_strerror(i32 noundef %13252, ptr noundef @.str.4)
  %13254 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13255 = load i32, ptr %13254, align 4, !tbaa !5
  %13256 = call ptr @s2n_strerror_debug(i32 noundef %13255, ptr noundef @.str.4)
  %13257 = call ptr @__errno_location() #12
  %13258 = load i32, ptr %13257, align 4, !tbaa !5
  %13259 = call ptr @strerror(i32 noundef %13258) #11
  %13260 = call ptr @__errno_location() #12
  %13261 = load i32, ptr %13260, align 4, !tbaa !5
  %13262 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13249, ptr noundef @.str.5, i32 noundef %13250, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 494, ptr noundef %13253, ptr noundef %13256, ptr noundef %13259, i32 noundef %13261) #11
  br label %13263

13263:                                            ; preds = %13246, %13229
  call void @llvm.lifetime.end.p0(i64 4, ptr %290) #11
  br label %13264

13264:                                            ; preds = %13263
  br label %13265

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

13266:                                            ; No predecessors!
  br label %13267

13267:                                            ; preds = %13266
  br label %13268

13268:                                            ; preds = %13267, %13210
  br label %13269

13269:                                            ; preds = %13268
  br label %13270

13270:                                            ; preds = %13269
  br label %13271

13271:                                            ; preds = %13270
  %13272 = load i32, ptr @test_count, align 4, !tbaa !5
  %13273 = add nsw i32 %13272, 1
  store i32 %13273, ptr @test_count, align 4, !tbaa !5
  %13274 = load i8, ptr %225, align 1, !tbaa !11, !range !13, !noundef !14
  %13275 = trunc i8 %13274 to i1
  br i1 %13275, label %13329, label %13276

13276:                                            ; preds = %13271
  br label %13277

13277:                                            ; preds = %13276
  br label %13278

13278:                                            ; preds = %13277
  call void @llvm.lifetime.start.p0(i64 4, ptr %291) #11
  %13279 = call ptr @__errno_location() #12
  %13280 = load i32, ptr %13279, align 4, !tbaa !5
  store i32 %13280, ptr %291, align 4, !tbaa !5
  %13281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13282 = call i32 @s2n_print_stacktrace(ptr noundef %13281)
  %13283 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13284 = trunc i8 %13283 to i1
  br i1 %13284, label %13285, label %13307

13285:                                            ; preds = %13278
  %13286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13287 = call i32 @fileno(ptr noundef %13286) #11
  %13288 = call i32 @isatty(i32 noundef %13287) #11
  %13289 = icmp ne i32 %13288, 0
  br i1 %13289, label %13290, label %13307

13290:                                            ; preds = %13285
  %13291 = load i32, ptr %291, align 4, !tbaa !5
  %13292 = call ptr @__errno_location() #12
  store i32 %13291, ptr %13292, align 4, !tbaa !5
  %13293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13294 = load i32, ptr @test_count, align 4, !tbaa !5
  %13295 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13296 = load i32, ptr %13295, align 4, !tbaa !5
  %13297 = call ptr @s2n_strerror(i32 noundef %13296, ptr noundef @.str.4)
  %13298 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13299 = load i32, ptr %13298, align 4, !tbaa !5
  %13300 = call ptr @s2n_strerror_debug(i32 noundef %13299, ptr noundef @.str.4)
  %13301 = call ptr @__errno_location() #12
  %13302 = load i32, ptr %13301, align 4, !tbaa !5
  %13303 = call ptr @strerror(i32 noundef %13302) #11
  %13304 = call ptr @__errno_location() #12
  %13305 = load i32, ptr %13304, align 4, !tbaa !5
  %13306 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13293, ptr noundef @.str.2, i32 noundef %13294, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 495, ptr noundef %13297, ptr noundef %13300, ptr noundef %13303, i32 noundef %13305) #11
  br label %13324

13307:                                            ; preds = %13285, %13278
  %13308 = load i32, ptr %291, align 4, !tbaa !5
  %13309 = call ptr @__errno_location() #12
  store i32 %13308, ptr %13309, align 4, !tbaa !5
  %13310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13311 = load i32, ptr @test_count, align 4, !tbaa !5
  %13312 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13313 = load i32, ptr %13312, align 4, !tbaa !5
  %13314 = call ptr @s2n_strerror(i32 noundef %13313, ptr noundef @.str.4)
  %13315 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13316 = load i32, ptr %13315, align 4, !tbaa !5
  %13317 = call ptr @s2n_strerror_debug(i32 noundef %13316, ptr noundef @.str.4)
  %13318 = call ptr @__errno_location() #12
  %13319 = load i32, ptr %13318, align 4, !tbaa !5
  %13320 = call ptr @strerror(i32 noundef %13319) #11
  %13321 = call ptr @__errno_location() #12
  %13322 = load i32, ptr %13321, align 4, !tbaa !5
  %13323 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13310, ptr noundef @.str.5, i32 noundef %13311, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 495, ptr noundef %13314, ptr noundef %13317, ptr noundef %13320, i32 noundef %13322) #11
  br label %13324

13324:                                            ; preds = %13307, %13290
  call void @llvm.lifetime.end.p0(i64 4, ptr %291) #11
  br label %13325

13325:                                            ; preds = %13324
  br label %13326

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

13327:                                            ; No predecessors!
  br label %13328

13328:                                            ; preds = %13327
  br label %13329

13329:                                            ; preds = %13328, %13271
  br label %13330

13330:                                            ; preds = %13329
  br label %13331

13331:                                            ; preds = %13330
  br label %13332

13332:                                            ; preds = %13331
  %13333 = load i32, ptr @test_count, align 4, !tbaa !5
  %13334 = add nsw i32 %13333, 1
  store i32 %13334, ptr @test_count, align 4, !tbaa !5
  %13335 = load i8, ptr %226, align 1, !tbaa !11, !range !13, !noundef !14
  %13336 = trunc i8 %13335 to i1
  br i1 %13336, label %13390, label %13337

13337:                                            ; preds = %13332
  br label %13338

13338:                                            ; preds = %13337
  br label %13339

13339:                                            ; preds = %13338
  call void @llvm.lifetime.start.p0(i64 4, ptr %292) #11
  %13340 = call ptr @__errno_location() #12
  %13341 = load i32, ptr %13340, align 4, !tbaa !5
  store i32 %13341, ptr %292, align 4, !tbaa !5
  %13342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13343 = call i32 @s2n_print_stacktrace(ptr noundef %13342)
  %13344 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13345 = trunc i8 %13344 to i1
  br i1 %13345, label %13346, label %13368

13346:                                            ; preds = %13339
  %13347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13348 = call i32 @fileno(ptr noundef %13347) #11
  %13349 = call i32 @isatty(i32 noundef %13348) #11
  %13350 = icmp ne i32 %13349, 0
  br i1 %13350, label %13351, label %13368

13351:                                            ; preds = %13346
  %13352 = load i32, ptr %292, align 4, !tbaa !5
  %13353 = call ptr @__errno_location() #12
  store i32 %13352, ptr %13353, align 4, !tbaa !5
  %13354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13355 = load i32, ptr @test_count, align 4, !tbaa !5
  %13356 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13357 = load i32, ptr %13356, align 4, !tbaa !5
  %13358 = call ptr @s2n_strerror(i32 noundef %13357, ptr noundef @.str.4)
  %13359 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13360 = load i32, ptr %13359, align 4, !tbaa !5
  %13361 = call ptr @s2n_strerror_debug(i32 noundef %13360, ptr noundef @.str.4)
  %13362 = call ptr @__errno_location() #12
  %13363 = load i32, ptr %13362, align 4, !tbaa !5
  %13364 = call ptr @strerror(i32 noundef %13363) #11
  %13365 = call ptr @__errno_location() #12
  %13366 = load i32, ptr %13365, align 4, !tbaa !5
  %13367 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13354, ptr noundef @.str.2, i32 noundef %13355, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 496, ptr noundef %13358, ptr noundef %13361, ptr noundef %13364, i32 noundef %13366) #11
  br label %13385

13368:                                            ; preds = %13346, %13339
  %13369 = load i32, ptr %292, align 4, !tbaa !5
  %13370 = call ptr @__errno_location() #12
  store i32 %13369, ptr %13370, align 4, !tbaa !5
  %13371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13372 = load i32, ptr @test_count, align 4, !tbaa !5
  %13373 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13374 = load i32, ptr %13373, align 4, !tbaa !5
  %13375 = call ptr @s2n_strerror(i32 noundef %13374, ptr noundef @.str.4)
  %13376 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13377 = load i32, ptr %13376, align 4, !tbaa !5
  %13378 = call ptr @s2n_strerror_debug(i32 noundef %13377, ptr noundef @.str.4)
  %13379 = call ptr @__errno_location() #12
  %13380 = load i32, ptr %13379, align 4, !tbaa !5
  %13381 = call ptr @strerror(i32 noundef %13380) #11
  %13382 = call ptr @__errno_location() #12
  %13383 = load i32, ptr %13382, align 4, !tbaa !5
  %13384 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13371, ptr noundef @.str.5, i32 noundef %13372, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 496, ptr noundef %13375, ptr noundef %13378, ptr noundef %13381, i32 noundef %13383) #11
  br label %13385

13385:                                            ; preds = %13368, %13351
  call void @llvm.lifetime.end.p0(i64 4, ptr %292) #11
  br label %13386

13386:                                            ; preds = %13385
  br label %13387

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

13388:                                            ; No predecessors!
  br label %13389

13389:                                            ; preds = %13388
  br label %13390

13390:                                            ; preds = %13389, %13332
  br label %13391

13391:                                            ; preds = %13390
  br label %13392

13392:                                            ; preds = %13391
  br label %13393

13393:                                            ; preds = %13392
  %13394 = load i32, ptr @test_count, align 4, !tbaa !5
  %13395 = add nsw i32 %13394, 1
  store i32 %13395, ptr @test_count, align 4, !tbaa !5
  %13396 = load i8, ptr %227, align 1, !tbaa !11, !range !13, !noundef !14
  %13397 = trunc i8 %13396 to i1
  br i1 %13397, label %13451, label %13398

13398:                                            ; preds = %13393
  br label %13399

13399:                                            ; preds = %13398
  br label %13400

13400:                                            ; preds = %13399
  call void @llvm.lifetime.start.p0(i64 4, ptr %293) #11
  %13401 = call ptr @__errno_location() #12
  %13402 = load i32, ptr %13401, align 4, !tbaa !5
  store i32 %13402, ptr %293, align 4, !tbaa !5
  %13403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13404 = call i32 @s2n_print_stacktrace(ptr noundef %13403)
  %13405 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13406 = trunc i8 %13405 to i1
  br i1 %13406, label %13407, label %13429

13407:                                            ; preds = %13400
  %13408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13409 = call i32 @fileno(ptr noundef %13408) #11
  %13410 = call i32 @isatty(i32 noundef %13409) #11
  %13411 = icmp ne i32 %13410, 0
  br i1 %13411, label %13412, label %13429

13412:                                            ; preds = %13407
  %13413 = load i32, ptr %293, align 4, !tbaa !5
  %13414 = call ptr @__errno_location() #12
  store i32 %13413, ptr %13414, align 4, !tbaa !5
  %13415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13416 = load i32, ptr @test_count, align 4, !tbaa !5
  %13417 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13418 = load i32, ptr %13417, align 4, !tbaa !5
  %13419 = call ptr @s2n_strerror(i32 noundef %13418, ptr noundef @.str.4)
  %13420 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13421 = load i32, ptr %13420, align 4, !tbaa !5
  %13422 = call ptr @s2n_strerror_debug(i32 noundef %13421, ptr noundef @.str.4)
  %13423 = call ptr @__errno_location() #12
  %13424 = load i32, ptr %13423, align 4, !tbaa !5
  %13425 = call ptr @strerror(i32 noundef %13424) #11
  %13426 = call ptr @__errno_location() #12
  %13427 = load i32, ptr %13426, align 4, !tbaa !5
  %13428 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13415, ptr noundef @.str.2, i32 noundef %13416, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 497, ptr noundef %13419, ptr noundef %13422, ptr noundef %13425, i32 noundef %13427) #11
  br label %13446

13429:                                            ; preds = %13407, %13400
  %13430 = load i32, ptr %293, align 4, !tbaa !5
  %13431 = call ptr @__errno_location() #12
  store i32 %13430, ptr %13431, align 4, !tbaa !5
  %13432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13433 = load i32, ptr @test_count, align 4, !tbaa !5
  %13434 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13435 = load i32, ptr %13434, align 4, !tbaa !5
  %13436 = call ptr @s2n_strerror(i32 noundef %13435, ptr noundef @.str.4)
  %13437 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13438 = load i32, ptr %13437, align 4, !tbaa !5
  %13439 = call ptr @s2n_strerror_debug(i32 noundef %13438, ptr noundef @.str.4)
  %13440 = call ptr @__errno_location() #12
  %13441 = load i32, ptr %13440, align 4, !tbaa !5
  %13442 = call ptr @strerror(i32 noundef %13441) #11
  %13443 = call ptr @__errno_location() #12
  %13444 = load i32, ptr %13443, align 4, !tbaa !5
  %13445 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13432, ptr noundef @.str.5, i32 noundef %13433, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 497, ptr noundef %13436, ptr noundef %13439, ptr noundef %13442, i32 noundef %13444) #11
  br label %13446

13446:                                            ; preds = %13429, %13412
  call void @llvm.lifetime.end.p0(i64 4, ptr %293) #11
  br label %13447

13447:                                            ; preds = %13446
  br label %13448

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

13449:                                            ; No predecessors!
  br label %13450

13450:                                            ; preds = %13449
  br label %13451

13451:                                            ; preds = %13450, %13393
  br label %13452

13452:                                            ; preds = %13451
  br label %13453

13453:                                            ; preds = %13452
  call void @llvm.lifetime.end.p0(i64 1, ptr %227) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %226) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %225) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %224) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %223) #11
  call void @llvm.lifetime.end.p0(i64 30, ptr %222) #11
  br label %13454

13454:                                            ; preds = %13453
  br label %13455

13455:                                            ; preds = %13454
  %13456 = call i32 @s2n_cleanup()
  %13457 = icmp eq i32 %13456, -1
  br i1 %13457, label %13458, label %13511

13458:                                            ; preds = %13455
  br label %13459

13459:                                            ; preds = %13458
  br label %13460

13460:                                            ; preds = %13459
  call void @llvm.lifetime.start.p0(i64 4, ptr %294) #11
  %13461 = call ptr @__errno_location() #12
  %13462 = load i32, ptr %13461, align 4, !tbaa !5
  store i32 %13462, ptr %294, align 4, !tbaa !5
  %13463 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13464 = call i32 @s2n_print_stacktrace(ptr noundef %13463)
  %13465 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13466 = trunc i8 %13465 to i1
  br i1 %13466, label %13467, label %13489

13467:                                            ; preds = %13460
  %13468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13469 = call i32 @fileno(ptr noundef %13468) #11
  %13470 = call i32 @isatty(i32 noundef %13469) #11
  %13471 = icmp ne i32 %13470, 0
  br i1 %13471, label %13472, label %13489

13472:                                            ; preds = %13467
  %13473 = load i32, ptr %294, align 4, !tbaa !5
  %13474 = call ptr @__errno_location() #12
  store i32 %13473, ptr %13474, align 4, !tbaa !5
  %13475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13476 = load i32, ptr @test_count, align 4, !tbaa !5
  %13477 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13478 = load i32, ptr %13477, align 4, !tbaa !5
  %13479 = call ptr @s2n_strerror(i32 noundef %13478, ptr noundef @.str.4)
  %13480 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13481 = load i32, ptr %13480, align 4, !tbaa !5
  %13482 = call ptr @s2n_strerror_debug(i32 noundef %13481, ptr noundef @.str.4)
  %13483 = call ptr @__errno_location() #12
  %13484 = load i32, ptr %13483, align 4, !tbaa !5
  %13485 = call ptr @strerror(i32 noundef %13484) #11
  %13486 = call ptr @__errno_location() #12
  %13487 = load i32, ptr %13486, align 4, !tbaa !5
  %13488 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13475, ptr noundef @.str.2, i32 noundef %13476, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 500, ptr noundef %13479, ptr noundef %13482, ptr noundef %13485, i32 noundef %13487) #11
  br label %13506

13489:                                            ; preds = %13467, %13460
  %13490 = load i32, ptr %294, align 4, !tbaa !5
  %13491 = call ptr @__errno_location() #12
  store i32 %13490, ptr %13491, align 4, !tbaa !5
  %13492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13493 = load i32, ptr @test_count, align 4, !tbaa !5
  %13494 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13495 = load i32, ptr %13494, align 4, !tbaa !5
  %13496 = call ptr @s2n_strerror(i32 noundef %13495, ptr noundef @.str.4)
  %13497 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13498 = load i32, ptr %13497, align 4, !tbaa !5
  %13499 = call ptr @s2n_strerror_debug(i32 noundef %13498, ptr noundef @.str.4)
  %13500 = call ptr @__errno_location() #12
  %13501 = load i32, ptr %13500, align 4, !tbaa !5
  %13502 = call ptr @strerror(i32 noundef %13501) #11
  %13503 = call ptr @__errno_location() #12
  %13504 = load i32, ptr %13503, align 4, !tbaa !5
  %13505 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13492, ptr noundef @.str.5, i32 noundef %13493, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 500, ptr noundef %13496, ptr noundef %13499, ptr noundef %13502, i32 noundef %13504) #11
  br label %13506

13506:                                            ; preds = %13489, %13472
  call void @llvm.lifetime.end.p0(i64 4, ptr %294) #11
  br label %13507

13507:                                            ; preds = %13506
  br label %13508

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

13509:                                            ; No predecessors!
  br label %13510

13510:                                            ; preds = %13509
  br label %13511

13511:                                            ; preds = %13510, %13455
  br label %13512

13512:                                            ; preds = %13511
  br label %13513

13513:                                            ; preds = %13512
  br label %13514

13514:                                            ; preds = %13513
  br label %13515

13515:                                            ; preds = %13514
  %13516 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false)
  %13517 = icmp eq i32 %13516, -1
  br i1 %13517, label %13518, label %13571

13518:                                            ; preds = %13515
  br label %13519

13519:                                            ; preds = %13518
  br label %13520

13520:                                            ; preds = %13519
  call void @llvm.lifetime.start.p0(i64 4, ptr %295) #11
  %13521 = call ptr @__errno_location() #12
  %13522 = load i32, ptr %13521, align 4, !tbaa !5
  store i32 %13522, ptr %295, align 4, !tbaa !5
  %13523 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13524 = call i32 @s2n_print_stacktrace(ptr noundef %13523)
  %13525 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13526 = trunc i8 %13525 to i1
  br i1 %13526, label %13527, label %13549

13527:                                            ; preds = %13520
  %13528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13529 = call i32 @fileno(ptr noundef %13528) #11
  %13530 = call i32 @isatty(i32 noundef %13529) #11
  %13531 = icmp ne i32 %13530, 0
  br i1 %13531, label %13532, label %13549

13532:                                            ; preds = %13527
  %13533 = load i32, ptr %295, align 4, !tbaa !5
  %13534 = call ptr @__errno_location() #12
  store i32 %13533, ptr %13534, align 4, !tbaa !5
  %13535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13536 = load i32, ptr @test_count, align 4, !tbaa !5
  %13537 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13538 = load i32, ptr %13537, align 4, !tbaa !5
  %13539 = call ptr @s2n_strerror(i32 noundef %13538, ptr noundef @.str.4)
  %13540 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13541 = load i32, ptr %13540, align 4, !tbaa !5
  %13542 = call ptr @s2n_strerror_debug(i32 noundef %13541, ptr noundef @.str.4)
  %13543 = call ptr @__errno_location() #12
  %13544 = load i32, ptr %13543, align 4, !tbaa !5
  %13545 = call ptr @strerror(i32 noundef %13544) #11
  %13546 = call ptr @__errno_location() #12
  %13547 = load i32, ptr %13546, align 4, !tbaa !5
  %13548 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13535, ptr noundef @.str.2, i32 noundef %13536, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 500, ptr noundef %13539, ptr noundef %13542, ptr noundef %13545, i32 noundef %13547) #11
  br label %13566

13549:                                            ; preds = %13527, %13520
  %13550 = load i32, ptr %295, align 4, !tbaa !5
  %13551 = call ptr @__errno_location() #12
  store i32 %13550, ptr %13551, align 4, !tbaa !5
  %13552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13553 = load i32, ptr @test_count, align 4, !tbaa !5
  %13554 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13555 = load i32, ptr %13554, align 4, !tbaa !5
  %13556 = call ptr @s2n_strerror(i32 noundef %13555, ptr noundef @.str.4)
  %13557 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13558 = load i32, ptr %13557, align 4, !tbaa !5
  %13559 = call ptr @s2n_strerror_debug(i32 noundef %13558, ptr noundef @.str.4)
  %13560 = call ptr @__errno_location() #12
  %13561 = load i32, ptr %13560, align 4, !tbaa !5
  %13562 = call ptr @strerror(i32 noundef %13561) #11
  %13563 = call ptr @__errno_location() #12
  %13564 = load i32, ptr %13563, align 4, !tbaa !5
  %13565 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13552, ptr noundef @.str.5, i32 noundef %13553, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 500, ptr noundef %13556, ptr noundef %13559, ptr noundef %13562, i32 noundef %13564) #11
  br label %13566

13566:                                            ; preds = %13549, %13532
  call void @llvm.lifetime.end.p0(i64 4, ptr %295) #11
  br label %13567

13567:                                            ; preds = %13566
  br label %13568

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

13569:                                            ; No predecessors!
  br label %13570

13570:                                            ; preds = %13569
  br label %13571

13571:                                            ; preds = %13570, %13515
  br label %13572

13572:                                            ; preds = %13571
  br label %13573

13573:                                            ; preds = %13572
  %13574 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13575 = trunc i8 %13574 to i1
  br i1 %13575, label %13576, label %13592

13576:                                            ; preds = %13573
  %13577 = load ptr, ptr @stdout, align 8, !tbaa !9
  %13578 = call i32 @fileno(ptr noundef %13577) #11
  %13579 = call i32 @isatty(i32 noundef %13578) #11
  %13580 = icmp ne i32 %13579, 0
  br i1 %13580, label %13581, label %13592

13581:                                            ; preds = %13576
  %13582 = load i32, ptr @test_count, align 4, !tbaa !5
  %13583 = icmp ne i32 %13582, 0
  br i1 %13583, label %13584, label %13588

13584:                                            ; preds = %13581
  %13585 = load ptr, ptr @stdout, align 8, !tbaa !9
  %13586 = load i32, ptr @test_count, align 4, !tbaa !5
  %13587 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13585, ptr noundef @.str.64, i32 noundef %13586) #11
  br label %13591

13588:                                            ; preds = %13581
  %13589 = load ptr, ptr @stdout, align 8, !tbaa !9
  %13590 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13589, ptr noundef @.str.65) #11
  br label %13591

13591:                                            ; preds = %13588, %13584
  br label %13603

13592:                                            ; preds = %13576, %13573
  %13593 = load i32, ptr @test_count, align 4, !tbaa !5
  %13594 = icmp ne i32 %13593, 0
  br i1 %13594, label %13595, label %13599

13595:                                            ; preds = %13592
  %13596 = load ptr, ptr @stdout, align 8, !tbaa !9
  %13597 = load i32, ptr @test_count, align 4, !tbaa !5
  %13598 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13596, ptr noundef @.str.66, i32 noundef %13597) #11
  br label %13602

13599:                                            ; preds = %13592
  %13600 = load ptr, ptr @stdout, align 8, !tbaa !9
  %13601 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13600, ptr noundef @.str.67) #11
  br label %13602

13602:                                            ; preds = %13599, %13595
  br label %13603

13603:                                            ; preds = %13602, %13591
  store i32 0, ptr %3, align 4
  store i32 1, ptr %229, align 4
  br label %13608

13604:                                            ; No predecessors!
  br label %13605

13605:                                            ; preds = %13604
  br label %13606

13606:                                            ; preds = %13605
  br label %13607

13607:                                            ; preds = %13606
  store i32 0, ptr %229, align 4
  br label %13608

13608:                                            ; preds = %13607, %13603
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #11
  call void @llvm.lifetime.end.p0(i64 22, ptr %16) #11
  %13609 = call i32 @s2n_config_ptr_free(ptr noundef %11)
  %13610 = getelementptr inbounds %struct.s2n_result, ptr %296, i32 0, i32 0
  store i32 %13609, ptr %13610, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #11
  %13611 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef %9)
  %13612 = getelementptr inbounds %struct.s2n_result, ptr %297, i32 0, i32 0
  store i32 %13611, ptr %13612, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %9) #11
  %13613 = load i32, ptr %229, align 4
  switch i32 %13613, label %13616 [
    i32 0, label %13614
    i32 1, label %13614
  ]

13614:                                            ; preds = %13608, %13608
  %13615 = load i32, ptr %3, align 4
  ret i32 %13615

13616:                                            ; preds = %13608, %13137
  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

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_set_unsafe_for_testing(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

; 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 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_pair_close(ptr noundef) #2

declare i32 @s2n_io_pair_init_non_blocking(ptr noundef) #2

declare i32 @s2n_connections_set_io_pair(ptr noundef, ptr noundef, ptr noundef) #2

declare i32 @s2n_negotiate_test_server_and_client(ptr noundef, ptr noundef) #2

declare i32 @s2n_renegotiate_wipe(ptr noundef) #2

; Function Attrs: inlinehint nounwind uwtable
declare hidden zeroext i1 @s2n_result_is_ok(i32) #9

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_renegotiate_test_server_and_client(ptr noundef, ptr noundef) #0

declare i64 @s2n_send(ptr noundef, ptr noundef, i64 noundef, ptr noundef) #2

declare i32 @s2n_renegotiate(ptr noundef, ptr noundef, i64 noundef, ptr noundef, ptr noundef) #2

declare void @s2n_debug_info_reset() #2

; Function Attrs: nounwind willreturn memory(read)
declare i32 @memcmp(ptr noundef, ptr noundef, i64 noundef) #10

declare i32 @s2n_conn_get_current_message_type(ptr noundef) #2

declare i32 @s2n_negotiate(ptr noundef, ptr noundef) #2

declare zeroext i1 @s2n_handshake_type_check_flag(ptr noundef, i32 noundef) #2

declare i32 @s2n_negotiate_until_message(ptr noundef, ptr noundef, i32 noundef) #2

declare i32 @s2n_stuffer_free(ptr noundef) #2

declare i32 @s2n_connection_set_send_io_stuffer(ptr noundef, ptr noundef) #2

declare i32 @s2n_stuffer_growable_alloc(ptr noundef, i32 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 = distinct !{!17, !18}
!18 = !{!"llvm.loop.mustprogress"}
!19 = distinct !{!19, !18}
!20 = distinct !{!20, !18}
!21 = !{!22, !6, i64 2172}
!22 = !{!"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, !23, 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, !24, i64 240, !10, i64 632, !10, i64 640, !25, i64 648, !31, i64 1144, !34, i64 1688, !10, i64 1752, !7, i64 1760, !6, i64 1764, !7, i64 1768, !37, i64 1776, !37, i64 1816, !37, i64 1856, !37, i64 1896, !6, i64 1936, !16, i64 1944, !7, i64 1952, !37, i64 1960, !7, i64 2000, !7, i64 2001, !7, i64 2002, !12, i64 2003, !38, i64 2004, !38, i64 2008, !39, i64 2016, !36, i64 2208, !6, i64 2212, !36, i64 2216, !16, i64 2224, !7, i64 2232, !16, i64 2240, !16, i64 2248, !16, i64 2256, !38, i64 2264, !38, i64 2268, !7, i64 2272, !7, i64 2528, !6, i64 2784, !30, i64 2792, !6, i64 2816, !30, i64 2824, !30, i64 2848, !30, i64 2872, !41, i64 2896, !43, i64 3704, !10, i64 3760, !10, i64 3768, !7, i64 3776, !6, i64 3780, !30, i64 3784, !6, i64 3808, !45, i64 3816, !7, i64 3848, !37, i64 3992, !30, i64 4032, !30, i64 4056, !12, i64 4080, !12, i64 4081, !12, i64 4082, !36, i64 4084, !36, i64 4086, !6, i64 4088, !6, i64 4092, !30, i64 4096, !6, i64 4120, !46, i64 4128, !38, i64 4176, !7, i64 4180, !7, i64 4181}
!23 = !{!"s2n_timer", !16, i64 0}
!24 = !{!"s2n_secrets", !7, i64 0, !6, i64 388}
!25 = !{!"s2n_kex_parameters", !26, i64 0, !27, i64 8, !7, i64 24, !27, i64 56, !28, i64 72, !28, i64 184, !7, i64 296, !29, i64 360, !30, i64 448, !30, i64 472}
!26 = !{!"s2n_dh_params", !10, i64 0}
!27 = !{!"s2n_ecc_evp_params", !10, i64 0, !10, i64 8}
!28 = !{!"s2n_kem_group_params", !10, i64 0, !29, i64 8, !27, i64 96}
!29 = !{!"s2n_kem_params", !10, i64 0, !30, i64 8, !30, i64 32, !30, i64 56, !12, i64 80}
!30 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!31 = !{!"s2n_handshake_parameters", !32, i64 0, !32, i64 48, !30, i64 96, !6, i64 120, !33, 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}
!32 = !{!"s2n_pkey", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40}
!33 = !{!"s2n_sig_scheme_list", !7, i64 0, !7, i64 256}
!34 = !{!"s2n_psk_parameters", !6, i64 0, !35, i64 8, !36, i64 40, !36, i64 42, !10, i64 48, !6, i64 56}
!35 = !{!"s2n_array", !30, i64 0, !6, i64 24, !6, i64 28}
!36 = !{!"short", !7, i64 0}
!37 = !{!"s2n_stuffer", !30, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!38 = !{!"", !6, i64 0}
!39 = !{!"s2n_handshake", !37, 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", !30, i64 0, !42, i64 24, !30, i64 728, !30, i64 752, !30, 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, !30, i64 672, !36, i64 696}
!43 = !{!"s2n_x509_validator", !10, i64 0, !10, i64 8, !7, i64 16, !7, i64 17, !36, 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", !30, i64 0, !6, i64 24}
!46 = !{!"s2n_post_handshake", !37, i64 0, !7, i64 40}
!47 = !{!22, !6, i64 2176}
!48 = distinct !{!48, !18}
!49 = distinct !{!49, !18}
!50 = distinct !{!50, !18}


; Optimized IR (opt -passes='default<O3>'):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

%struct.s2n_test_io_pair = type { i32, i32 }
%struct.s2n_stuffer = type { %struct.s2n_blob, i32, i32, i32, i8 }
%struct.s2n_blob = type { ptr, i32, i32, i8 }

@s2n_use_color_in_output = external dso_local local_unnamed_addr global i8, align 1
@test_count = external dso_local local_unnamed_addr global i32, align 4
@stdout = external local_unnamed_addr global ptr, align 8
@.str = external hidden unnamed_addr constant [19 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [82 x i8], align 1
@stderr = external local_unnamed_addr global ptr, align 8
@.str.2 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [52 x i8], align 1
@s2n_errno = external thread_local local_unnamed_addr global i32, align 4
@.str.4 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [200 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [82 x i8], align 1
@__const.main.app_data = external hidden unnamed_addr constant [22 x i8], align 16
@.str.16 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [114 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [70 x i8], align 1
@S2N_BLOCKED_ON_APPLICATION_DATA = external local_unnamed_addr constant i32, align 4
@.str.30 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [109 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [145 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [67 x i8], align 1
@__const.main.messages = external hidden unnamed_addr constant [3 x [10 x i8]], align 16
@.str.51 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [38 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [38 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.67 = 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 ptr, align 8
  %4 = alloca ptr, align 8
  %5 = alloca [22 x i8], align 16
  %6 = alloca i32, align 4
  %7 = alloca ptr, align 8
  %8 = alloca ptr, align 8
  %9 = alloca %struct.s2n_test_io_pair, align 8
  %10 = alloca ptr, align 8
  %11 = alloca ptr, align 8
  %12 = alloca %struct.s2n_test_io_pair, align 8
  %13 = alloca i64, align 8
  %14 = alloca [22 x i8], align 16
  %15 = alloca ptr, align 8
  %16 = alloca ptr, align 8
  %17 = alloca %struct.s2n_test_io_pair, align 8
  %18 = alloca i64, align 8
  %19 = alloca [22 x i8], align 16
  %20 = alloca ptr, align 8
  %21 = alloca ptr, align 8
  %22 = alloca %struct.s2n_test_io_pair, align 8
  %23 = alloca i64, align 8
  %24 = alloca [22 x i8], align 16
  %25 = alloca ptr, align 8
  %26 = alloca ptr, align 8
  %27 = alloca %struct.s2n_test_io_pair, align 8
  %28 = alloca i64, align 8
  %29 = alloca [22 x i8], align 16
  %30 = alloca ptr, align 8
  %31 = alloca ptr, align 8
  %32 = alloca %struct.s2n_test_io_pair, align 8
  %33 = alloca i64, align 8
  %34 = alloca [22 x i8], align 16
  %35 = alloca ptr, align 8
  %36 = alloca ptr, align 8
  %37 = alloca %struct.s2n_test_io_pair, align 8
  %38 = alloca [1 x i8], align 1
  %39 = alloca %struct.s2n_stuffer, align 8
  %40 = alloca i64, align 8
  %41 = alloca [3 x [10 x i8]], align 16
  %42 = alloca ptr, align 8
  %43 = alloca ptr, align 8
  %44 = alloca %struct.s2n_test_io_pair, align 8
  %45 = alloca i64, align 8
  %46 = alloca [20 x i8], align 16
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %47 = load ptr, ptr @stdout, align 8, !tbaa !9
  %48 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %47, ptr noundef nonnull @.str, ptr noundef nonnull @.str.1) #12
  %49 = load ptr, ptr @stdout, align 8, !tbaa !9
  %50 = tail call i32 @fflush(ptr noundef %49)
  %51 = tail call i32 @s2n_in_unit_test_set(i1 noundef zeroext true) #12
  %52 = icmp eq i32 %51, -1
  %.0491.sroa.gep714 = getelementptr inbounds i8, ptr %41, i64 10
  br i1 %52, label %53, label %77

53:                                               ; preds = %2
  %54 = tail call ptr @__errno_location() #13
  %55 = load i32, ptr %54, align 4, !tbaa !5
  %56 = load ptr, ptr @stderr, align 8, !tbaa !9
  %57 = tail call i32 @s2n_print_stacktrace(ptr noundef %56) #12
  %58 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %59 = trunc nuw i8 %58 to i1
  br i1 %59, label %60, label %64

60:                                               ; preds = %53
  %61 = load ptr, ptr @stderr, align 8, !tbaa !9
  %62 = tail call i32 @fileno(ptr noundef %61) #12
  %63 = tail call i32 @isatty(i32 noundef %62) #12
  %.not713 = icmp eq i32 %63, 0
  br i1 %.not713, label %64, label %65

64:                                               ; preds = %60, %53
  br label %65

65:                                               ; preds = %60, %64
  %.str.5.sink = phi ptr [ @.str.5, %64 ], [ @.str.2, %60 ]
  store i32 %55, ptr %54, align 4, !tbaa !5
  %66 = load ptr, ptr @stderr, align 8, !tbaa !9
  %67 = load i32, ptr @test_count, align 4, !tbaa !5
  %68 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %69 = load i32, ptr %68, align 4, !tbaa !5
  %70 = tail call ptr @s2n_strerror(i32 noundef %69, ptr noundef nonnull @.str.4) #12
  %71 = load i32, ptr %68, align 4, !tbaa !5
  %72 = tail call ptr @s2n_strerror_debug(i32 noundef %71, ptr noundef nonnull @.str.4) #12
  %73 = load i32, ptr %54, align 4, !tbaa !5
  %74 = tail call ptr @strerror(i32 noundef %73) #12
  %75 = load i32, ptr %54, align 4, !tbaa !5
  %76 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %66, ptr noundef nonnull %.str.5.sink, i32 noundef %67, ptr noundef nonnull @.str.3, ptr noundef nonnull @.str.1, i32 noundef 54, ptr noundef %70, ptr noundef %72, ptr noundef %74, i32 noundef %75) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

77:                                               ; preds = %2
  %78 = load i32, ptr @test_count, align 4, !tbaa !5
  %79 = add nsw i32 %78, 1
  store i32 %79, ptr @test_count, align 4, !tbaa !5
  %80 = tail call i32 @s2n_enable_atexit() #12
  %81 = icmp eq i32 %80, -1
  br i1 %81, label %82, label %106

82:                                               ; preds = %77
  %83 = tail call ptr @__errno_location() #13
  %84 = load i32, ptr %83, align 4, !tbaa !5
  %85 = load ptr, ptr @stderr, align 8, !tbaa !9
  %86 = tail call i32 @s2n_print_stacktrace(ptr noundef %85) #12
  %87 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %88 = trunc nuw i8 %87 to i1
  br i1 %88, label %89, label %93

89:                                               ; preds = %82
  %90 = load ptr, ptr @stderr, align 8, !tbaa !9
  %91 = tail call i32 @fileno(ptr noundef %90) #12
  %92 = tail call i32 @isatty(i32 noundef %91) #12
  %.not712 = icmp eq i32 %92, 0
  br i1 %.not712, label %93, label %94

93:                                               ; preds = %89, %82
  br label %94

94:                                               ; preds = %89, %93
  %.str.5.sink1121 = phi ptr [ @.str.5, %93 ], [ @.str.2, %89 ]
  store i32 %84, ptr %83, align 4, !tbaa !5
  %95 = load ptr, ptr @stderr, align 8, !tbaa !9
  %96 = load i32, ptr @test_count, align 4, !tbaa !5
  %97 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %98 = load i32, ptr %97, align 4, !tbaa !5
  %99 = tail call ptr @s2n_strerror(i32 noundef %98, ptr noundef nonnull @.str.4) #12
  %100 = load i32, ptr %97, align 4, !tbaa !5
  %101 = tail call ptr @s2n_strerror_debug(i32 noundef %100, ptr noundef nonnull @.str.4) #12
  %102 = load i32, ptr %83, align 4, !tbaa !5
  %103 = tail call ptr @strerror(i32 noundef %102) #12
  %104 = load i32, ptr %83, align 4, !tbaa !5
  %105 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %95, ptr noundef nonnull %.str.5.sink1121, i32 noundef %96, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.1, i32 noundef 54, ptr noundef %99, ptr noundef %101, ptr noundef %103, i32 noundef %104) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

106:                                              ; preds = %77
  %107 = tail call i32 @s2n_init() #12
  %108 = icmp eq i32 %107, -1
  br i1 %108, label %109, label %133

109:                                              ; preds = %106
  %110 = tail call ptr @__errno_location() #13
  %111 = load i32, ptr %110, align 4, !tbaa !5
  %112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %113 = tail call i32 @s2n_print_stacktrace(ptr noundef %112) #12
  %114 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %115 = trunc nuw i8 %114 to i1
  br i1 %115, label %116, label %120

116:                                              ; preds = %109
  %117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %118 = tail call i32 @fileno(ptr noundef %117) #12
  %119 = tail call i32 @isatty(i32 noundef %118) #12
  %.not711 = icmp eq i32 %119, 0
  br i1 %.not711, label %120, label %121

120:                                              ; preds = %116, %109
  br label %121

121:                                              ; preds = %116, %120
  %.str.5.sink1132 = phi ptr [ @.str.5, %120 ], [ @.str.2, %116 ]
  store i32 %111, ptr %110, align 4, !tbaa !5
  %122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %123 = load i32, ptr @test_count, align 4, !tbaa !5
  %124 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %125 = load i32, ptr %124, align 4, !tbaa !5
  %126 = tail call ptr @s2n_strerror(i32 noundef %125, ptr noundef nonnull @.str.4) #12
  %127 = load i32, ptr %124, align 4, !tbaa !5
  %128 = tail call ptr @s2n_strerror_debug(i32 noundef %127, ptr noundef nonnull @.str.4) #12
  %129 = load i32, ptr %110, align 4, !tbaa !5
  %130 = tail call ptr @strerror(i32 noundef %129) #12
  %131 = load i32, ptr %110, align 4, !tbaa !5
  %132 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %122, ptr noundef nonnull %.str.5.sink1132, i32 noundef %123, ptr noundef nonnull @.str.7, ptr noundef nonnull @.str.1, i32 noundef 54, ptr noundef %126, ptr noundef %128, ptr noundef %130, i32 noundef %131) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

133:                                              ; preds = %106
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3) #12
  store ptr null, ptr %3, align 8, !tbaa !9
  %134 = load i32, ptr @test_count, align 4, !tbaa !5
  %135 = add nsw i32 %134, 1
  store i32 %135, ptr @test_count, align 4, !tbaa !5
  %136 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef nonnull %3, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.9) #12
  %137 = icmp eq i32 %136, -1
  br i1 %137, label %138, label %162

138:                                              ; preds = %133
  %139 = tail call ptr @__errno_location() #13
  %140 = load i32, ptr %139, align 4, !tbaa !5
  %141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %142 = call i32 @s2n_print_stacktrace(ptr noundef %141) #12
  %143 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %144 = trunc nuw i8 %143 to i1
  br i1 %144, label %145, label %149

145:                                              ; preds = %138
  %146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %147 = call i32 @fileno(ptr noundef %146) #12
  %148 = call i32 @isatty(i32 noundef %147) #12
  %.not710 = icmp eq i32 %148, 0
  br i1 %.not710, label %149, label %150

149:                                              ; preds = %145, %138
  br label %150

150:                                              ; preds = %145, %149
  %.str.5.sink1143 = phi ptr [ @.str.5, %149 ], [ @.str.2, %145 ]
  store i32 %140, ptr %139, align 4, !tbaa !5
  %151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %152 = load i32, ptr @test_count, align 4, !tbaa !5
  %153 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %154 = load i32, ptr %153, align 4, !tbaa !5
  %155 = call ptr @s2n_strerror(i32 noundef %154, ptr noundef nonnull @.str.4) #12
  %156 = load i32, ptr %153, align 4, !tbaa !5
  %157 = call ptr @s2n_strerror_debug(i32 noundef %156, ptr noundef nonnull @.str.4) #12
  %158 = load i32, ptr %139, align 4, !tbaa !5
  %159 = call ptr @strerror(i32 noundef %158) #12
  %160 = load i32, ptr %139, align 4, !tbaa !5
  %161 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %151, ptr noundef nonnull %.str.5.sink1143, i32 noundef %152, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 58, ptr noundef %155, ptr noundef %157, ptr noundef %159, i32 noundef %160) #14
  call void @exit(i32 noundef 1) #15
  unreachable

162:                                              ; preds = %133
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %4) #12
  %163 = call ptr @s2n_config_new() #12
  store ptr %163, ptr %4, align 8, !tbaa !9
  %164 = load i32, ptr @test_count, align 4, !tbaa !5
  %165 = add nsw i32 %164, 1
  store i32 %165, ptr @test_count, align 4, !tbaa !5
  %166 = icmp eq ptr %163, null
  br i1 %166, label %167, label %191

167:                                              ; preds = %162
  %168 = tail call ptr @__errno_location() #13
  %169 = load i32, ptr %168, align 4, !tbaa !5
  %170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %171 = call i32 @s2n_print_stacktrace(ptr noundef %170) #12
  %172 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %173 = trunc nuw i8 %172 to i1
  br i1 %173, label %174, label %178

174:                                              ; preds = %167
  %175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %176 = call i32 @fileno(ptr noundef %175) #12
  %177 = call i32 @isatty(i32 noundef %176) #12
  %.not709 = icmp eq i32 %177, 0
  br i1 %.not709, label %178, label %179

178:                                              ; preds = %174, %167
  br label %179

179:                                              ; preds = %174, %178
  %.str.5.sink1154 = phi ptr [ @.str.5, %178 ], [ @.str.2, %174 ]
  store i32 %169, ptr %168, align 4, !tbaa !5
  %180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %181 = load i32, ptr @test_count, align 4, !tbaa !5
  %182 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %183 = load i32, ptr %182, align 4, !tbaa !5
  %184 = call ptr @s2n_strerror(i32 noundef %183, ptr noundef nonnull @.str.4) #12
  %185 = load i32, ptr %182, align 4, !tbaa !5
  %186 = call ptr @s2n_strerror_debug(i32 noundef %185, ptr noundef nonnull @.str.4) #12
  %187 = load i32, ptr %168, align 4, !tbaa !5
  %188 = call ptr @strerror(i32 noundef %187) #12
  %189 = load i32, ptr %168, align 4, !tbaa !5
  %190 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %180, ptr noundef nonnull %.str.5.sink1154, i32 noundef %181, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 61, ptr noundef %184, ptr noundef %186, ptr noundef %188, i32 noundef %189) #14
  call void @exit(i32 noundef 1) #15
  unreachable

191:                                              ; preds = %162
  %192 = add nsw i32 %164, 2
  store i32 %192, ptr @test_count, align 4, !tbaa !5
  %193 = call i32 @s2n_config_set_unsafe_for_testing(ptr noundef nonnull %163) #12
  %194 = icmp eq i32 %193, -1
  br i1 %194, label %195, label %219

195:                                              ; preds = %191
  %196 = tail call ptr @__errno_location() #13
  %197 = load i32, ptr %196, align 4, !tbaa !5
  %198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %199 = call i32 @s2n_print_stacktrace(ptr noundef %198) #12
  %200 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %201 = trunc nuw i8 %200 to i1
  br i1 %201, label %202, label %206

202:                                              ; preds = %195
  %203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %204 = call i32 @fileno(ptr noundef %203) #12
  %205 = call i32 @isatty(i32 noundef %204) #12
  %.not708 = icmp eq i32 %205, 0
  br i1 %.not708, label %206, label %207

206:                                              ; preds = %202, %195
  br label %207

207:                                              ; preds = %202, %206
  %.str.5.sink1165 = phi ptr [ @.str.5, %206 ], [ @.str.2, %202 ]
  store i32 %197, ptr %196, align 4, !tbaa !5
  %208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %209 = load i32, ptr @test_count, align 4, !tbaa !5
  %210 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %211 = load i32, ptr %210, align 4, !tbaa !5
  %212 = call ptr @s2n_strerror(i32 noundef %211, ptr noundef nonnull @.str.4) #12
  %213 = load i32, ptr %210, align 4, !tbaa !5
  %214 = call ptr @s2n_strerror_debug(i32 noundef %213, ptr noundef nonnull @.str.4) #12
  %215 = load i32, ptr %196, align 4, !tbaa !5
  %216 = call ptr @strerror(i32 noundef %215) #12
  %217 = load i32, ptr %196, align 4, !tbaa !5
  %218 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %208, ptr noundef nonnull %.str.5.sink1165, i32 noundef %209, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 62, ptr noundef %212, ptr noundef %214, ptr noundef %216, i32 noundef %217) #14
  call void @exit(i32 noundef 1) #15
  unreachable

219:                                              ; preds = %191
  %220 = load i32, ptr @test_count, align 4, !tbaa !5
  %221 = add nsw i32 %220, 1
  store i32 %221, ptr @test_count, align 4, !tbaa !5
  %222 = load ptr, ptr %3, align 8, !tbaa !9
  %223 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef nonnull %163, ptr noundef %222) #12
  %224 = icmp eq i32 %223, -1
  br i1 %224, label %225, label %249

225:                                              ; preds = %219
  %226 = tail call ptr @__errno_location() #13
  %227 = load i32, ptr %226, align 4, !tbaa !5
  %228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %229 = call i32 @s2n_print_stacktrace(ptr noundef %228) #12
  %230 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %231 = trunc nuw i8 %230 to i1
  br i1 %231, label %232, label %236

232:                                              ; preds = %225
  %233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %234 = call i32 @fileno(ptr noundef %233) #12
  %235 = call i32 @isatty(i32 noundef %234) #12
  %.not707 = icmp eq i32 %235, 0
  br i1 %.not707, label %236, label %237

236:                                              ; preds = %232, %225
  br label %237

237:                                              ; preds = %232, %236
  %.str.5.sink1176 = phi ptr [ @.str.5, %236 ], [ @.str.2, %232 ]
  store i32 %227, ptr %226, align 4, !tbaa !5
  %238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %239 = load i32, ptr @test_count, align 4, !tbaa !5
  %240 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %241 = load i32, ptr %240, align 4, !tbaa !5
  %242 = call ptr @s2n_strerror(i32 noundef %241, ptr noundef nonnull @.str.4) #12
  %243 = load i32, ptr %240, align 4, !tbaa !5
  %244 = call ptr @s2n_strerror_debug(i32 noundef %243, ptr noundef nonnull @.str.4) #12
  %245 = load i32, ptr %226, align 4, !tbaa !5
  %246 = call ptr @strerror(i32 noundef %245) #12
  %247 = load i32, ptr %226, align 4, !tbaa !5
  %248 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %238, ptr noundef nonnull %.str.5.sink1176, i32 noundef %239, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 63, ptr noundef %242, ptr noundef %244, ptr noundef %246, i32 noundef %247) #14
  call void @exit(i32 noundef 1) #15
  unreachable

249:                                              ; preds = %219
  %250 = load i32, ptr @test_count, align 4, !tbaa !5
  %251 = add nsw i32 %250, 1
  store i32 %251, ptr @test_count, align 4, !tbaa !5
  %252 = call i32 @s2n_config_set_cipher_preferences(ptr noundef nonnull %163, ptr noundef nonnull @.str.14) #12
  %253 = icmp eq i32 %252, -1
  br i1 %253, label %254, label %278

254:                                              ; preds = %249
  %255 = tail call ptr @__errno_location() #13
  %256 = load i32, ptr %255, align 4, !tbaa !5
  %257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %258 = call i32 @s2n_print_stacktrace(ptr noundef %257) #12
  %259 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %260 = trunc nuw i8 %259 to i1
  br i1 %260, label %261, label %265

261:                                              ; preds = %254
  %262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %263 = call i32 @fileno(ptr noundef %262) #12
  %264 = call i32 @isatty(i32 noundef %263) #12
  %.not706 = icmp eq i32 %264, 0
  br i1 %.not706, label %265, label %266

265:                                              ; preds = %261, %254
  br label %266

266:                                              ; preds = %261, %265
  %.str.5.sink1187 = phi ptr [ @.str.5, %265 ], [ @.str.2, %261 ]
  store i32 %256, ptr %255, align 4, !tbaa !5
  %267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %268 = load i32, ptr @test_count, align 4, !tbaa !5
  %269 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %270 = load i32, ptr %269, align 4, !tbaa !5
  %271 = call ptr @s2n_strerror(i32 noundef %270, ptr noundef nonnull @.str.4) #12
  %272 = load i32, ptr %269, align 4, !tbaa !5
  %273 = call ptr @s2n_strerror_debug(i32 noundef %272, ptr noundef nonnull @.str.4) #12
  %274 = load i32, ptr %255, align 4, !tbaa !5
  %275 = call ptr @strerror(i32 noundef %274) #12
  %276 = load i32, ptr %255, align 4, !tbaa !5
  %277 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %267, ptr noundef nonnull %.str.5.sink1187, i32 noundef %268, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 64, ptr noundef %271, ptr noundef %273, ptr noundef %275, i32 noundef %276) #14
  call void @exit(i32 noundef 1) #15
  unreachable

278:                                              ; preds = %249
  call void @llvm.lifetime.start.p0(i64 22, ptr nonnull %5) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(22) %5, ptr noundef nonnull align 16 dereferenceable(22) @__const.main.app_data, i64 22, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %6) #12
  store i32 0, ptr %6, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %7) #12
  %279 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %279, ptr %7, align 8, !tbaa !9
  %280 = load i32, ptr @test_count, align 4, !tbaa !5
  %281 = add nsw i32 %280, 1
  store i32 %281, ptr @test_count, align 4, !tbaa !5
  %282 = icmp eq ptr %279, null
  br i1 %282, label %283, label %307

283:                                              ; preds = %278
  %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
  %.not705 = icmp eq i32 %293, 0
  br i1 %.not705, label %294, label %295

294:                                              ; preds = %290, %283
  br label %295

295:                                              ; preds = %290, %294
  %.str.5.sink1198 = 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.sink1198, i32 noundef %297, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 73, ptr noundef %300, ptr noundef %302, ptr noundef %304, i32 noundef %305) #14
  call void @exit(i32 noundef 1) #15
  unreachable

307:                                              ; preds = %278
  %308 = add nsw i32 %280, 2
  store i32 %308, ptr @test_count, align 4, !tbaa !5
  %309 = call i32 @s2n_connection_set_config(ptr noundef nonnull %279, ptr noundef nonnull %163) #12
  %310 = icmp eq i32 %309, -1
  br i1 %310, label %311, label %335

311:                                              ; preds = %307
  %312 = tail call ptr @__errno_location() #13
  %313 = load i32, ptr %312, align 4, !tbaa !5
  %314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %315 = call i32 @s2n_print_stacktrace(ptr noundef %314) #12
  %316 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %317 = trunc nuw i8 %316 to i1
  br i1 %317, label %318, label %322

318:                                              ; preds = %311
  %319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %320 = call i32 @fileno(ptr noundef %319) #12
  %321 = call i32 @isatty(i32 noundef %320) #12
  %.not704 = icmp eq i32 %321, 0
  br i1 %.not704, label %322, label %323

322:                                              ; preds = %318, %311
  br label %323

323:                                              ; preds = %318, %322
  %.str.5.sink1209 = phi ptr [ @.str.5, %322 ], [ @.str.2, %318 ]
  store i32 %313, ptr %312, align 4, !tbaa !5
  %324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %325 = load i32, ptr @test_count, align 4, !tbaa !5
  %326 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %327 = load i32, ptr %326, align 4, !tbaa !5
  %328 = call ptr @s2n_strerror(i32 noundef %327, ptr noundef nonnull @.str.4) #12
  %329 = load i32, ptr %326, align 4, !tbaa !5
  %330 = call ptr @s2n_strerror_debug(i32 noundef %329, ptr noundef nonnull @.str.4) #12
  %331 = load i32, ptr %312, align 4, !tbaa !5
  %332 = call ptr @strerror(i32 noundef %331) #12
  %333 = load i32, ptr %312, align 4, !tbaa !5
  %334 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %324, ptr noundef nonnull %.str.5.sink1209, i32 noundef %325, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 74, ptr noundef %328, ptr noundef %330, ptr noundef %332, i32 noundef %333) #14
  call void @exit(i32 noundef 1) #15
  unreachable

335:                                              ; preds = %307
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %8) #12
  %336 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %336, ptr %8, align 8, !tbaa !9
  %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 = icmp eq ptr %336, null
  br i1 %339, label %340, label %364

340:                                              ; preds = %335
  %341 = tail call ptr @__errno_location() #13
  %342 = load i32, ptr %341, align 4, !tbaa !5
  %343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %344 = call i32 @s2n_print_stacktrace(ptr noundef %343) #12
  %345 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %346 = trunc nuw i8 %345 to i1
  br i1 %346, label %347, label %351

347:                                              ; preds = %340
  %348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %349 = call i32 @fileno(ptr noundef %348) #12
  %350 = call i32 @isatty(i32 noundef %349) #12
  %.not703 = icmp eq i32 %350, 0
  br i1 %.not703, label %351, label %352

351:                                              ; preds = %347, %340
  br label %352

352:                                              ; preds = %347, %351
  %.str.5.sink1220 = phi ptr [ @.str.5, %351 ], [ @.str.2, %347 ]
  store i32 %342, ptr %341, align 4, !tbaa !5
  %353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %354 = load i32, ptr @test_count, align 4, !tbaa !5
  %355 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %356 = load i32, ptr %355, align 4, !tbaa !5
  %357 = call ptr @s2n_strerror(i32 noundef %356, ptr noundef nonnull @.str.4) #12
  %358 = load i32, ptr %355, align 4, !tbaa !5
  %359 = call ptr @s2n_strerror_debug(i32 noundef %358, ptr noundef nonnull @.str.4) #12
  %360 = load i32, ptr %341, align 4, !tbaa !5
  %361 = call ptr @strerror(i32 noundef %360) #12
  %362 = load i32, ptr %341, align 4, !tbaa !5
  %363 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %353, ptr noundef nonnull %.str.5.sink1220, i32 noundef %354, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 77, ptr noundef %357, ptr noundef %359, ptr noundef %361, i32 noundef %362) #14
  call void @exit(i32 noundef 1) #15
  unreachable

364:                                              ; preds = %335
  %365 = add nsw i32 %337, 2
  store i32 %365, ptr @test_count, align 4, !tbaa !5
  %366 = call i32 @s2n_connection_set_config(ptr noundef nonnull %336, ptr noundef nonnull %163) #12
  %367 = icmp eq i32 %366, -1
  br i1 %367, label %368, label %392

368:                                              ; preds = %364
  %369 = tail call ptr @__errno_location() #13
  %370 = load i32, ptr %369, align 4, !tbaa !5
  %371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %372 = call i32 @s2n_print_stacktrace(ptr noundef %371) #12
  %373 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %374 = trunc nuw i8 %373 to i1
  br i1 %374, label %375, label %379

375:                                              ; preds = %368
  %376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %377 = call i32 @fileno(ptr noundef %376) #12
  %378 = call i32 @isatty(i32 noundef %377) #12
  %.not702 = icmp eq i32 %378, 0
  br i1 %.not702, label %379, label %380

379:                                              ; preds = %375, %368
  br label %380

380:                                              ; preds = %375, %379
  %.str.5.sink1231 = phi ptr [ @.str.5, %379 ], [ @.str.2, %375 ]
  store i32 %370, ptr %369, align 4, !tbaa !5
  %381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %382 = load i32, ptr @test_count, align 4, !tbaa !5
  %383 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %384 = load i32, ptr %383, align 4, !tbaa !5
  %385 = call ptr @s2n_strerror(i32 noundef %384, ptr noundef nonnull @.str.4) #12
  %386 = load i32, ptr %383, align 4, !tbaa !5
  %387 = call ptr @s2n_strerror_debug(i32 noundef %386, ptr noundef nonnull @.str.4) #12
  %388 = load i32, ptr %369, align 4, !tbaa !5
  %389 = call ptr @strerror(i32 noundef %388) #12
  %390 = load i32, ptr %369, align 4, !tbaa !5
  %391 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %381, ptr noundef nonnull %.str.5.sink1231, i32 noundef %382, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 78, ptr noundef %385, ptr noundef %387, ptr noundef %389, i32 noundef %390) #14
  call void @exit(i32 noundef 1) #15
  unreachable

392:                                              ; preds = %364
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %9) #12
  store i64 0, ptr %9, align 8
  %393 = load i32, ptr @test_count, align 4, !tbaa !5
  %394 = add nsw i32 %393, 1
  store i32 %394, ptr @test_count, align 4, !tbaa !5
  %395 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef nonnull %9) #12
  %396 = icmp eq i32 %395, -1
  br i1 %396, label %397, label %421

397:                                              ; preds = %392
  %398 = tail call ptr @__errno_location() #13
  %399 = load i32, ptr %398, align 4, !tbaa !5
  %400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %401 = call i32 @s2n_print_stacktrace(ptr noundef %400) #12
  %402 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %403 = trunc nuw i8 %402 to i1
  br i1 %403, label %404, label %408

404:                                              ; preds = %397
  %405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %406 = call i32 @fileno(ptr noundef %405) #12
  %407 = call i32 @isatty(i32 noundef %406) #12
  %.not701 = icmp eq i32 %407, 0
  br i1 %.not701, label %408, label %409

408:                                              ; preds = %404, %397
  br label %409

409:                                              ; preds = %404, %408
  %.str.5.sink1242 = phi ptr [ @.str.5, %408 ], [ @.str.2, %404 ]
  store i32 %399, ptr %398, align 4, !tbaa !5
  %410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %411 = load i32, ptr @test_count, align 4, !tbaa !5
  %412 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %413 = load i32, ptr %412, align 4, !tbaa !5
  %414 = call ptr @s2n_strerror(i32 noundef %413, ptr noundef nonnull @.str.4) #12
  %415 = load i32, ptr %412, align 4, !tbaa !5
  %416 = call ptr @s2n_strerror_debug(i32 noundef %415, ptr noundef nonnull @.str.4) #12
  %417 = load i32, ptr %398, align 4, !tbaa !5
  %418 = call ptr @strerror(i32 noundef %417) #12
  %419 = load i32, ptr %398, align 4, !tbaa !5
  %420 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %410, ptr noundef nonnull %.str.5.sink1242, i32 noundef %411, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 81, ptr noundef %414, ptr noundef %416, ptr noundef %418, i32 noundef %419) #14
  call void @exit(i32 noundef 1) #15
  unreachable

421:                                              ; preds = %392
  %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 = load ptr, ptr %8, align 8, !tbaa !9
  %425 = load ptr, ptr %7, align 8, !tbaa !9
  %426 = call i32 @s2n_connections_set_io_pair(ptr noundef %424, ptr noundef %425, ptr noundef nonnull %9) #12
  %427 = icmp eq i32 %426, -1
  br i1 %427, label %428, label %452

428:                                              ; preds = %421
  %429 = tail call ptr @__errno_location() #13
  %430 = load i32, ptr %429, align 4, !tbaa !5
  %431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %432 = call i32 @s2n_print_stacktrace(ptr noundef %431) #12
  %433 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %434 = trunc nuw i8 %433 to i1
  br i1 %434, label %435, label %439

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

439:                                              ; preds = %435, %428
  br label %440

440:                                              ; preds = %435, %439
  %.str.5.sink1253 = phi ptr [ @.str.5, %439 ], [ @.str.2, %435 ]
  store i32 %430, ptr %429, align 4, !tbaa !5
  %441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %442 = load i32, ptr @test_count, align 4, !tbaa !5
  %443 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %444 = load i32, ptr %443, align 4, !tbaa !5
  %445 = call ptr @s2n_strerror(i32 noundef %444, ptr noundef nonnull @.str.4) #12
  %446 = load i32, ptr %443, align 4, !tbaa !5
  %447 = call ptr @s2n_strerror_debug(i32 noundef %446, ptr noundef nonnull @.str.4) #12
  %448 = load i32, ptr %429, align 4, !tbaa !5
  %449 = call ptr @strerror(i32 noundef %448) #12
  %450 = load i32, ptr %429, align 4, !tbaa !5
  %451 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %441, ptr noundef nonnull %.str.5.sink1253, i32 noundef %442, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 82, ptr noundef %445, ptr noundef %447, ptr noundef %449, i32 noundef %450) #14
  call void @exit(i32 noundef 1) #15
  unreachable

452:                                              ; preds = %421
  %453 = load i32, ptr @test_count, align 4, !tbaa !5
  %454 = add nsw i32 %453, 1
  store i32 %454, ptr @test_count, align 4, !tbaa !5
  %455 = load ptr, ptr %7, align 8, !tbaa !9
  %456 = load ptr, ptr %8, align 8, !tbaa !9
  %457 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %455, ptr noundef %456) #12
  %458 = icmp eq i32 %457, -1
  br i1 %458, label %459, label %483

459:                                              ; preds = %452
  %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
  %.not699 = icmp eq i32 %469, 0
  br i1 %.not699, label %470, label %471

470:                                              ; preds = %466, %459
  br label %471

471:                                              ; preds = %466, %470
  %.str.5.sink1264 = 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.sink1264, i32 noundef %473, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 85, ptr noundef %476, ptr noundef %478, ptr noundef %480, i32 noundef %481) #14
  call void @exit(i32 noundef 1) #15
  unreachable

483:                                              ; preds = %452
  %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 %8, align 8, !tbaa !9
  %487 = call i32 @s2n_renegotiate_wipe(ptr noundef %486) #12
  %488 = icmp eq i32 %487, -1
  br i1 %488, label %489, label %513

489:                                              ; preds = %483
  %490 = tail call ptr @__errno_location() #13
  %491 = load i32, ptr %490, align 4, !tbaa !5
  %492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %493 = call i32 @s2n_print_stacktrace(ptr noundef %492) #12
  %494 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %495 = trunc nuw i8 %494 to i1
  br i1 %495, label %496, label %500

496:                                              ; preds = %489
  %497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %498 = call i32 @fileno(ptr noundef %497) #12
  %499 = call i32 @isatty(i32 noundef %498) #12
  %.not698 = icmp eq i32 %499, 0
  br i1 %.not698, label %500, label %501

500:                                              ; preds = %496, %489
  br label %501

501:                                              ; preds = %496, %500
  %.str.5.sink1275 = phi ptr [ @.str.5, %500 ], [ @.str.2, %496 ]
  store i32 %491, ptr %490, align 4, !tbaa !5
  %502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %503 = load i32, ptr @test_count, align 4, !tbaa !5
  %504 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %505 = load i32, ptr %504, align 4, !tbaa !5
  %506 = call ptr @s2n_strerror(i32 noundef %505, ptr noundef nonnull @.str.4) #12
  %507 = load i32, ptr %504, align 4, !tbaa !5
  %508 = call ptr @s2n_strerror_debug(i32 noundef %507, ptr noundef nonnull @.str.4) #12
  %509 = load i32, ptr %490, align 4, !tbaa !5
  %510 = call ptr @strerror(i32 noundef %509) #12
  %511 = load i32, ptr %490, align 4, !tbaa !5
  %512 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %502, ptr noundef nonnull %.str.5.sink1275, i32 noundef %503, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 86, ptr noundef %506, ptr noundef %508, ptr noundef %510, i32 noundef %511) #14
  call void @exit(i32 noundef 1) #15
  unreachable

513:                                              ; preds = %483
  %514 = load i32, ptr @test_count, align 4, !tbaa !5
  %515 = add nsw i32 %514, 1
  store i32 %515, ptr @test_count, align 4, !tbaa !5
  %516 = load ptr, ptr %7, align 8, !tbaa !9
  %517 = call i32 @s2n_renegotiate_wipe(ptr noundef %516) #12
  %518 = icmp eq i32 %517, -1
  br i1 %518, label %519, label %543

519:                                              ; preds = %513
  %520 = tail call ptr @__errno_location() #13
  %521 = load i32, ptr %520, align 4, !tbaa !5
  %522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %523 = call i32 @s2n_print_stacktrace(ptr noundef %522) #12
  %524 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %525 = trunc nuw i8 %524 to i1
  br i1 %525, label %526, label %530

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

530:                                              ; preds = %526, %519
  br label %531

531:                                              ; preds = %526, %530
  %.str.5.sink1286 = phi ptr [ @.str.5, %530 ], [ @.str.2, %526 ]
  store i32 %521, ptr %520, align 4, !tbaa !5
  %532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %533 = load i32, ptr @test_count, align 4, !tbaa !5
  %534 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %535 = load i32, ptr %534, align 4, !tbaa !5
  %536 = call ptr @s2n_strerror(i32 noundef %535, ptr noundef nonnull @.str.4) #12
  %537 = load i32, ptr %534, align 4, !tbaa !5
  %538 = call ptr @s2n_strerror_debug(i32 noundef %537, ptr noundef nonnull @.str.4) #12
  %539 = load i32, ptr %520, align 4, !tbaa !5
  %540 = call ptr @strerror(i32 noundef %539) #12
  %541 = load i32, ptr %520, align 4, !tbaa !5
  %542 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %532, ptr noundef nonnull %.str.5.sink1286, i32 noundef %533, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 87, ptr noundef %536, ptr noundef %538, ptr noundef %540, i32 noundef %541) #14
  call void @exit(i32 noundef 1) #15
  unreachable

543:                                              ; preds = %513
  %544 = load i32, ptr @test_count, align 4, !tbaa !5
  %545 = add nsw i32 %544, 1
  store i32 %545, ptr @test_count, align 4, !tbaa !5
  %546 = load ptr, ptr %7, align 8, !tbaa !9
  %547 = load ptr, ptr %8, align 8, !tbaa !9
  %548 = call i32 @s2n_renegotiate_test_server_and_client(ptr noundef %546, ptr noundef %547)
  %549 = call zeroext i1 @s2n_result_is_ok(i32 %548)
  br i1 %549, label %574, label %550

550:                                              ; preds = %543
  %551 = tail call ptr @__errno_location() #13
  %552 = load i32, ptr %551, align 4, !tbaa !5
  %553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %554 = call i32 @s2n_print_stacktrace(ptr noundef %553) #12
  %555 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %556 = trunc nuw i8 %555 to i1
  br i1 %556, label %557, label %561

557:                                              ; preds = %550
  %558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %559 = call i32 @fileno(ptr noundef %558) #12
  %560 = call i32 @isatty(i32 noundef %559) #12
  %.not = icmp eq i32 %560, 0
  br i1 %.not, label %561, label %562

561:                                              ; preds = %557, %550
  br label %562

562:                                              ; preds = %557, %561
  %.str.5.sink1297 = phi ptr [ @.str.5, %561 ], [ @.str.2, %557 ]
  store i32 %552, ptr %551, align 4, !tbaa !5
  %563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %564 = load i32, ptr @test_count, align 4, !tbaa !5
  %565 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %566 = load i32, ptr %565, align 4, !tbaa !5
  %567 = call ptr @s2n_strerror(i32 noundef %566, ptr noundef nonnull @.str.4) #12
  %568 = load i32, ptr %565, align 4, !tbaa !5
  %569 = call ptr @s2n_strerror_debug(i32 noundef %568, ptr noundef nonnull @.str.4) #12
  %570 = load i32, ptr %551, align 4, !tbaa !5
  %571 = call ptr @strerror(i32 noundef %570) #12
  %572 = load i32, ptr %551, align 4, !tbaa !5
  %573 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %563, ptr noundef nonnull %.str.5.sink1297, i32 noundef %564, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 90, ptr noundef %567, ptr noundef %569, ptr noundef %571, i32 noundef %572) #14
  call void @exit(i32 noundef 1) #15
  unreachable

574:                                              ; preds = %543
  %575 = call i32 @s2n_io_pair_close(ptr noundef nonnull %9) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %9) #12
  %576 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %8) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #12
  %577 = 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 %10) #12
  %578 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %578, ptr %10, align 8, !tbaa !9
  %579 = load i32, ptr @test_count, align 4, !tbaa !5
  %580 = add nsw i32 %579, 1
  store i32 %580, ptr @test_count, align 4, !tbaa !5
  %581 = icmp eq ptr %578, null
  br i1 %581, label %582, label %606

582:                                              ; preds = %574
  %583 = tail call ptr @__errno_location() #13
  %584 = load i32, ptr %583, align 4, !tbaa !5
  %585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %586 = call i32 @s2n_print_stacktrace(ptr noundef %585) #12
  %587 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %588 = trunc nuw i8 %587 to i1
  br i1 %588, label %589, label %593

589:                                              ; preds = %582
  %590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %591 = call i32 @fileno(ptr noundef %590) #12
  %592 = call i32 @isatty(i32 noundef %591) #12
  %.not696 = icmp eq i32 %592, 0
  br i1 %.not696, label %593, label %594

593:                                              ; preds = %589, %582
  br label %594

594:                                              ; preds = %589, %593
  %.str.5.sink1308 = phi ptr [ @.str.5, %593 ], [ @.str.2, %589 ]
  store i32 %584, ptr %583, align 4, !tbaa !5
  %595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %596 = load i32, ptr @test_count, align 4, !tbaa !5
  %597 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %598 = load i32, ptr %597, align 4, !tbaa !5
  %599 = call ptr @s2n_strerror(i32 noundef %598, ptr noundef nonnull @.str.4) #12
  %600 = load i32, ptr %597, align 4, !tbaa !5
  %601 = call ptr @s2n_strerror_debug(i32 noundef %600, ptr noundef nonnull @.str.4) #12
  %602 = load i32, ptr %583, align 4, !tbaa !5
  %603 = call ptr @strerror(i32 noundef %602) #12
  %604 = load i32, ptr %583, align 4, !tbaa !5
  %605 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %595, ptr noundef nonnull %.str.5.sink1308, i32 noundef %596, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 96, ptr noundef %599, ptr noundef %601, ptr noundef %603, i32 noundef %604) #14
  call void @exit(i32 noundef 1) #15
  unreachable

606:                                              ; preds = %574
  %607 = add nsw i32 %579, 2
  store i32 %607, ptr @test_count, align 4, !tbaa !5
  %608 = call i32 @s2n_connection_set_config(ptr noundef nonnull %578, ptr noundef nonnull %163) #12
  %609 = icmp eq i32 %608, -1
  br i1 %609, label %610, label %634

610:                                              ; preds = %606
  %611 = tail call ptr @__errno_location() #13
  %612 = load i32, ptr %611, align 4, !tbaa !5
  %613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %614 = call i32 @s2n_print_stacktrace(ptr noundef %613) #12
  %615 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %616 = trunc nuw i8 %615 to i1
  br i1 %616, label %617, label %621

617:                                              ; preds = %610
  %618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %619 = call i32 @fileno(ptr noundef %618) #12
  %620 = call i32 @isatty(i32 noundef %619) #12
  %.not695 = icmp eq i32 %620, 0
  br i1 %.not695, label %621, label %622

621:                                              ; preds = %617, %610
  br label %622

622:                                              ; preds = %617, %621
  %.str.5.sink1319 = phi ptr [ @.str.5, %621 ], [ @.str.2, %617 ]
  store i32 %612, ptr %611, 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 nonnull @.str.4) #12
  %628 = load i32, ptr %625, align 4, !tbaa !5
  %629 = call ptr @s2n_strerror_debug(i32 noundef %628, ptr noundef nonnull @.str.4) #12
  %630 = load i32, ptr %611, align 4, !tbaa !5
  %631 = call ptr @strerror(i32 noundef %630) #12
  %632 = load i32, ptr %611, align 4, !tbaa !5
  %633 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %623, ptr noundef nonnull %.str.5.sink1319, i32 noundef %624, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 97, ptr noundef %627, ptr noundef %629, ptr noundef %631, i32 noundef %632) #14
  call void @exit(i32 noundef 1) #15
  unreachable

634:                                              ; preds = %606
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %11) #12
  %635 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %635, ptr %11, align 8, !tbaa !9
  %636 = load i32, ptr @test_count, align 4, !tbaa !5
  %637 = add nsw i32 %636, 1
  store i32 %637, ptr @test_count, align 4, !tbaa !5
  %638 = icmp eq ptr %635, null
  br i1 %638, label %639, label %663

639:                                              ; preds = %634
  %640 = tail call ptr @__errno_location() #13
  %641 = load i32, ptr %640, align 4, !tbaa !5
  %642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %643 = call i32 @s2n_print_stacktrace(ptr noundef %642) #12
  %644 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %645 = trunc nuw i8 %644 to i1
  br i1 %645, label %646, label %650

646:                                              ; preds = %639
  %647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %648 = call i32 @fileno(ptr noundef %647) #12
  %649 = call i32 @isatty(i32 noundef %648) #12
  %.not694 = icmp eq i32 %649, 0
  br i1 %.not694, label %650, label %651

650:                                              ; preds = %646, %639
  br label %651

651:                                              ; preds = %646, %650
  %.str.5.sink1330 = phi ptr [ @.str.5, %650 ], [ @.str.2, %646 ]
  store i32 %641, ptr %640, align 4, !tbaa !5
  %652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %653 = load i32, ptr @test_count, align 4, !tbaa !5
  %654 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %655 = load i32, ptr %654, align 4, !tbaa !5
  %656 = call ptr @s2n_strerror(i32 noundef %655, ptr noundef nonnull @.str.4) #12
  %657 = load i32, ptr %654, align 4, !tbaa !5
  %658 = call ptr @s2n_strerror_debug(i32 noundef %657, ptr noundef nonnull @.str.4) #12
  %659 = load i32, ptr %640, align 4, !tbaa !5
  %660 = call ptr @strerror(i32 noundef %659) #12
  %661 = load i32, ptr %640, align 4, !tbaa !5
  %662 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %652, ptr noundef nonnull %.str.5.sink1330, i32 noundef %653, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 100, ptr noundef %656, ptr noundef %658, ptr noundef %660, i32 noundef %661) #14
  call void @exit(i32 noundef 1) #15
  unreachable

663:                                              ; preds = %634
  %664 = add nsw i32 %636, 2
  store i32 %664, ptr @test_count, align 4, !tbaa !5
  %665 = call i32 @s2n_connection_set_config(ptr noundef nonnull %635, ptr noundef nonnull %163) #12
  %666 = icmp eq i32 %665, -1
  br i1 %666, label %667, label %691

667:                                              ; preds = %663
  %668 = tail call ptr @__errno_location() #13
  %669 = load i32, ptr %668, align 4, !tbaa !5
  %670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %671 = call i32 @s2n_print_stacktrace(ptr noundef %670) #12
  %672 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %673 = trunc nuw i8 %672 to i1
  br i1 %673, label %674, label %678

674:                                              ; preds = %667
  %675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %676 = call i32 @fileno(ptr noundef %675) #12
  %677 = call i32 @isatty(i32 noundef %676) #12
  %.not693 = icmp eq i32 %677, 0
  br i1 %.not693, label %678, label %679

678:                                              ; preds = %674, %667
  br label %679

679:                                              ; preds = %674, %678
  %.str.5.sink1341 = phi ptr [ @.str.5, %678 ], [ @.str.2, %674 ]
  store i32 %669, ptr %668, align 4, !tbaa !5
  %680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %681 = load i32, ptr @test_count, align 4, !tbaa !5
  %682 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %683 = load i32, ptr %682, align 4, !tbaa !5
  %684 = call ptr @s2n_strerror(i32 noundef %683, ptr noundef nonnull @.str.4) #12
  %685 = load i32, ptr %682, align 4, !tbaa !5
  %686 = call ptr @s2n_strerror_debug(i32 noundef %685, ptr noundef nonnull @.str.4) #12
  %687 = load i32, ptr %668, align 4, !tbaa !5
  %688 = call ptr @strerror(i32 noundef %687) #12
  %689 = load i32, ptr %668, align 4, !tbaa !5
  %690 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %680, ptr noundef nonnull %.str.5.sink1341, i32 noundef %681, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 101, ptr noundef %684, ptr noundef %686, ptr noundef %688, i32 noundef %689) #14
  call void @exit(i32 noundef 1) #15
  unreachable

691:                                              ; preds = %663
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %12) #12
  store i64 0, ptr %12, align 8
  %692 = load i32, ptr @test_count, align 4, !tbaa !5
  %693 = add nsw i32 %692, 1
  store i32 %693, ptr @test_count, align 4, !tbaa !5
  %694 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef nonnull %12) #12
  %695 = icmp eq i32 %694, -1
  br i1 %695, label %696, label %720

696:                                              ; preds = %691
  %697 = tail call ptr @__errno_location() #13
  %698 = load i32, ptr %697, align 4, !tbaa !5
  %699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %700 = call i32 @s2n_print_stacktrace(ptr noundef %699) #12
  %701 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %702 = trunc nuw i8 %701 to i1
  br i1 %702, label %703, label %707

703:                                              ; preds = %696
  %704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %705 = call i32 @fileno(ptr noundef %704) #12
  %706 = call i32 @isatty(i32 noundef %705) #12
  %.not692 = icmp eq i32 %706, 0
  br i1 %.not692, label %707, label %708

707:                                              ; preds = %703, %696
  br label %708

708:                                              ; preds = %703, %707
  %.str.5.sink1352 = phi ptr [ @.str.5, %707 ], [ @.str.2, %703 ]
  store i32 %698, ptr %697, align 4, !tbaa !5
  %709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %710 = load i32, ptr @test_count, align 4, !tbaa !5
  %711 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %712 = load i32, ptr %711, align 4, !tbaa !5
  %713 = call ptr @s2n_strerror(i32 noundef %712, ptr noundef nonnull @.str.4) #12
  %714 = load i32, ptr %711, align 4, !tbaa !5
  %715 = call ptr @s2n_strerror_debug(i32 noundef %714, ptr noundef nonnull @.str.4) #12
  %716 = load i32, ptr %697, align 4, !tbaa !5
  %717 = call ptr @strerror(i32 noundef %716) #12
  %718 = load i32, ptr %697, align 4, !tbaa !5
  %719 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %709, ptr noundef nonnull %.str.5.sink1352, i32 noundef %710, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 104, ptr noundef %713, ptr noundef %715, ptr noundef %717, i32 noundef %718) #14
  call void @exit(i32 noundef 1) #15
  unreachable

720:                                              ; preds = %691
  %721 = load i32, ptr @test_count, align 4, !tbaa !5
  %722 = add nsw i32 %721, 1
  store i32 %722, ptr @test_count, align 4, !tbaa !5
  %723 = load ptr, ptr %11, align 8, !tbaa !9
  %724 = load ptr, ptr %10, align 8, !tbaa !9
  %725 = call i32 @s2n_connections_set_io_pair(ptr noundef %723, ptr noundef %724, ptr noundef nonnull %12) #12
  %726 = icmp eq i32 %725, -1
  br i1 %726, label %727, label %751

727:                                              ; preds = %720
  %728 = tail call ptr @__errno_location() #13
  %729 = load i32, ptr %728, align 4, !tbaa !5
  %730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %731 = call i32 @s2n_print_stacktrace(ptr noundef %730) #12
  %732 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %733 = trunc nuw i8 %732 to i1
  br i1 %733, label %734, label %738

734:                                              ; preds = %727
  %735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %736 = call i32 @fileno(ptr noundef %735) #12
  %737 = call i32 @isatty(i32 noundef %736) #12
  %.not691 = icmp eq i32 %737, 0
  br i1 %.not691, label %738, label %739

738:                                              ; preds = %734, %727
  br label %739

739:                                              ; preds = %734, %738
  %.str.5.sink1363 = phi ptr [ @.str.5, %738 ], [ @.str.2, %734 ]
  store i32 %729, ptr %728, align 4, !tbaa !5
  %740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %741 = load i32, ptr @test_count, align 4, !tbaa !5
  %742 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %743 = load i32, ptr %742, align 4, !tbaa !5
  %744 = call ptr @s2n_strerror(i32 noundef %743, ptr noundef nonnull @.str.4) #12
  %745 = load i32, ptr %742, align 4, !tbaa !5
  %746 = call ptr @s2n_strerror_debug(i32 noundef %745, ptr noundef nonnull @.str.4) #12
  %747 = load i32, ptr %728, align 4, !tbaa !5
  %748 = call ptr @strerror(i32 noundef %747) #12
  %749 = load i32, ptr %728, align 4, !tbaa !5
  %750 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %740, ptr noundef nonnull %.str.5.sink1363, i32 noundef %741, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 105, ptr noundef %744, ptr noundef %746, ptr noundef %748, i32 noundef %749) #14
  call void @exit(i32 noundef 1) #15
  unreachable

751:                                              ; preds = %720
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %13) #12
  store i64 0, ptr %13, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 22, ptr nonnull %14) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(22) %14, i8 0, i64 22, i1 false)
  %752 = load i32, ptr @test_count, align 4, !tbaa !5
  %753 = add nsw i32 %752, 1
  store i32 %753, ptr @test_count, align 4, !tbaa !5
  %754 = load ptr, ptr %10, align 8, !tbaa !9
  %755 = load ptr, ptr %11, align 8, !tbaa !9
  %756 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %754, ptr noundef %755) #12
  %757 = icmp eq i32 %756, -1
  br i1 %757, label %758, label %782

758:                                              ; preds = %751
  %759 = tail call ptr @__errno_location() #13
  %760 = load i32, ptr %759, align 4, !tbaa !5
  %761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %762 = call i32 @s2n_print_stacktrace(ptr noundef %761) #12
  %763 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %764 = trunc nuw i8 %763 to i1
  br i1 %764, label %765, label %769

765:                                              ; preds = %758
  %766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %767 = call i32 @fileno(ptr noundef %766) #12
  %768 = call i32 @isatty(i32 noundef %767) #12
  %.not690 = icmp eq i32 %768, 0
  br i1 %.not690, label %769, label %770

769:                                              ; preds = %765, %758
  br label %770

770:                                              ; preds = %765, %769
  %.str.5.sink1374 = phi ptr [ @.str.5, %769 ], [ @.str.2, %765 ]
  store i32 %760, ptr %759, align 4, !tbaa !5
  %771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %772 = load i32, ptr @test_count, align 4, !tbaa !5
  %773 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %774 = load i32, ptr %773, align 4, !tbaa !5
  %775 = call ptr @s2n_strerror(i32 noundef %774, ptr noundef nonnull @.str.4) #12
  %776 = load i32, ptr %773, align 4, !tbaa !5
  %777 = call ptr @s2n_strerror_debug(i32 noundef %776, ptr noundef nonnull @.str.4) #12
  %778 = load i32, ptr %759, align 4, !tbaa !5
  %779 = call ptr @strerror(i32 noundef %778) #12
  %780 = load i32, ptr %759, align 4, !tbaa !5
  %781 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %771, ptr noundef nonnull %.str.5.sink1374, i32 noundef %772, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 111, ptr noundef %775, ptr noundef %777, ptr noundef %779, i32 noundef %780) #14
  call void @exit(i32 noundef 1) #15
  unreachable

782:                                              ; preds = %751
  %783 = load i32, ptr @test_count, align 4, !tbaa !5
  %784 = add nsw i32 %783, 1
  store i32 %784, ptr @test_count, align 4, !tbaa !5
  %785 = load ptr, ptr %11, align 8, !tbaa !9
  %786 = call i32 @s2n_renegotiate_wipe(ptr noundef %785) #12
  %787 = icmp eq i32 %786, -1
  br i1 %787, label %788, label %812

788:                                              ; preds = %782
  %789 = tail call ptr @__errno_location() #13
  %790 = load i32, ptr %789, align 4, !tbaa !5
  %791 = load ptr, ptr @stderr, align 8, !tbaa !9
  %792 = call i32 @s2n_print_stacktrace(ptr noundef %791) #12
  %793 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %794 = trunc nuw i8 %793 to i1
  br i1 %794, label %795, label %799

795:                                              ; preds = %788
  %796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %797 = call i32 @fileno(ptr noundef %796) #12
  %798 = call i32 @isatty(i32 noundef %797) #12
  %.not689 = icmp eq i32 %798, 0
  br i1 %.not689, label %799, label %800

799:                                              ; preds = %795, %788
  br label %800

800:                                              ; preds = %795, %799
  %.str.5.sink1385 = phi ptr [ @.str.5, %799 ], [ @.str.2, %795 ]
  store i32 %790, ptr %789, align 4, !tbaa !5
  %801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %802 = load i32, ptr @test_count, align 4, !tbaa !5
  %803 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %804 = load i32, ptr %803, align 4, !tbaa !5
  %805 = call ptr @s2n_strerror(i32 noundef %804, ptr noundef nonnull @.str.4) #12
  %806 = load i32, ptr %803, align 4, !tbaa !5
  %807 = call ptr @s2n_strerror_debug(i32 noundef %806, ptr noundef nonnull @.str.4) #12
  %808 = load i32, ptr %789, align 4, !tbaa !5
  %809 = call ptr @strerror(i32 noundef %808) #12
  %810 = load i32, ptr %789, align 4, !tbaa !5
  %811 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %801, ptr noundef nonnull %.str.5.sink1385, i32 noundef %802, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 112, ptr noundef %805, ptr noundef %807, ptr noundef %809, i32 noundef %810) #14
  call void @exit(i32 noundef 1) #15
  unreachable

812:                                              ; preds = %782
  %813 = load i32, ptr @test_count, align 4, !tbaa !5
  %814 = add nsw i32 %813, 1
  store i32 %814, ptr @test_count, align 4, !tbaa !5
  %815 = load ptr, ptr %10, align 8, !tbaa !9
  %816 = call i32 @s2n_renegotiate_wipe(ptr noundef %815) #12
  %817 = icmp eq i32 %816, -1
  br i1 %817, label %818, label %842

818:                                              ; preds = %812
  %819 = tail call ptr @__errno_location() #13
  %820 = load i32, ptr %819, align 4, !tbaa !5
  %821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %822 = call i32 @s2n_print_stacktrace(ptr noundef %821) #12
  %823 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %824 = trunc nuw i8 %823 to i1
  br i1 %824, label %825, label %829

825:                                              ; preds = %818
  %826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %827 = call i32 @fileno(ptr noundef %826) #12
  %828 = call i32 @isatty(i32 noundef %827) #12
  %.not688 = icmp eq i32 %828, 0
  br i1 %.not688, label %829, label %830

829:                                              ; preds = %825, %818
  br label %830

830:                                              ; preds = %825, %829
  %.str.5.sink1396 = phi ptr [ @.str.5, %829 ], [ @.str.2, %825 ]
  store i32 %820, ptr %819, align 4, !tbaa !5
  %831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %832 = load i32, ptr @test_count, align 4, !tbaa !5
  %833 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %834 = load i32, ptr %833, align 4, !tbaa !5
  %835 = call ptr @s2n_strerror(i32 noundef %834, ptr noundef nonnull @.str.4) #12
  %836 = load i32, ptr %833, align 4, !tbaa !5
  %837 = call ptr @s2n_strerror_debug(i32 noundef %836, ptr noundef nonnull @.str.4) #12
  %838 = load i32, ptr %819, align 4, !tbaa !5
  %839 = call ptr @strerror(i32 noundef %838) #12
  %840 = load i32, ptr %819, align 4, !tbaa !5
  %841 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %831, ptr noundef nonnull %.str.5.sink1396, i32 noundef %832, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 113, ptr noundef %835, ptr noundef %837, ptr noundef %839, i32 noundef %840) #14
  call void @exit(i32 noundef 1) #15
  unreachable

842:                                              ; preds = %812
  %843 = load i32, ptr @test_count, align 4, !tbaa !5
  %844 = add nsw i32 %843, 1
  store i32 %844, ptr @test_count, align 4, !tbaa !5
  %845 = load ptr, ptr %10, align 8, !tbaa !9
  %846 = call i64 @s2n_send(ptr noundef %845, ptr noundef nonnull %5, i64 noundef 22, ptr noundef nonnull %6) #12
  %847 = icmp eq i64 %846, 22
  br i1 %847, label %872, label %848

848:                                              ; preds = %842
  %849 = tail call ptr @__errno_location() #13
  %850 = load i32, ptr %849, align 4, !tbaa !5
  %851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %852 = call i32 @s2n_print_stacktrace(ptr noundef %851) #12
  %853 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %854 = trunc nuw i8 %853 to i1
  br i1 %854, label %855, label %859

855:                                              ; preds = %848
  %856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %857 = call i32 @fileno(ptr noundef %856) #12
  %858 = call i32 @isatty(i32 noundef %857) #12
  %.not497 = icmp eq i32 %858, 0
  br i1 %.not497, label %859, label %860

859:                                              ; preds = %855, %848
  br label %860

860:                                              ; preds = %855, %859
  %.str.5.sink1407 = phi ptr [ @.str.5, %859 ], [ @.str.2, %855 ]
  store i32 %850, ptr %849, align 4, !tbaa !5
  %861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %862 = load i32, ptr @test_count, align 4, !tbaa !5
  %863 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %864 = load i32, ptr %863, align 4, !tbaa !5
  %865 = call ptr @s2n_strerror(i32 noundef %864, ptr noundef nonnull @.str.4) #12
  %866 = load i32, ptr %863, align 4, !tbaa !5
  %867 = call ptr @s2n_strerror_debug(i32 noundef %866, ptr noundef nonnull @.str.4) #12
  %868 = load i32, ptr %849, align 4, !tbaa !5
  %869 = call ptr @strerror(i32 noundef %868) #12
  %870 = load i32, ptr %849, align 4, !tbaa !5
  %871 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %861, ptr noundef nonnull %.str.5.sink1407, i32 noundef %862, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 116, ptr noundef %865, ptr noundef %867, ptr noundef %869, i32 noundef %870) #14
  call void @exit(i32 noundef 1) #15
  unreachable

872:                                              ; preds = %842
  %873 = load i32, ptr @test_count, align 4, !tbaa !5
  %874 = add nsw i32 %873, 1
  store i32 %874, ptr @test_count, align 4, !tbaa !5
  %875 = load ptr, ptr %11, align 8, !tbaa !9
  %876 = call i32 @s2n_renegotiate(ptr noundef %875, ptr noundef nonnull %14, i64 noundef 22, ptr noundef nonnull %13, ptr noundef nonnull %6) #12
  %877 = icmp eq i32 %876, -1
  br i1 %877, label %902, label %878

878:                                              ; preds = %872
  %879 = tail call ptr @__errno_location() #13
  %880 = load i32, ptr %879, align 4, !tbaa !5
  %881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %882 = call i32 @s2n_print_stacktrace(ptr noundef %881) #12
  %883 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %884 = trunc nuw i8 %883 to i1
  br i1 %884, label %885, label %889

885:                                              ; preds = %878
  %886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %887 = call i32 @fileno(ptr noundef %886) #12
  %888 = call i32 @isatty(i32 noundef %887) #12
  %.not498 = icmp eq i32 %888, 0
  br i1 %.not498, label %889, label %890

889:                                              ; preds = %885, %878
  br label %890

890:                                              ; preds = %885, %889
  %.str.5.sink1418 = phi ptr [ @.str.5, %889 ], [ @.str.2, %885 ]
  store i32 %880, ptr %879, align 4, !tbaa !5
  %891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %892 = load i32, ptr @test_count, align 4, !tbaa !5
  %893 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %894 = load i32, ptr %893, align 4, !tbaa !5
  %895 = call ptr @s2n_strerror(i32 noundef %894, ptr noundef nonnull @.str.4) #12
  %896 = load i32, ptr %893, align 4, !tbaa !5
  %897 = call ptr @s2n_strerror_debug(i32 noundef %896, ptr noundef nonnull @.str.4) #12
  %898 = load i32, ptr %879, align 4, !tbaa !5
  %899 = call ptr @strerror(i32 noundef %898) #12
  %900 = load i32, ptr %879, align 4, !tbaa !5
  %901 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %891, ptr noundef nonnull %.str.5.sink1418, i32 noundef %892, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 120, ptr noundef %895, ptr noundef %897, ptr noundef %899, i32 noundef %900) #14
  call void @exit(i32 noundef 1) #15
  unreachable

902:                                              ; preds = %872
  %903 = load i32, ptr @test_count, align 4, !tbaa !5
  %904 = add nsw i32 %903, 1
  store i32 %904, ptr @test_count, align 4, !tbaa !5
  %905 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %906 = load i32, ptr %905, align 4, !tbaa !5
  %907 = icmp eq i32 %906, 201326595
  br i1 %907, label %931, label %908

908:                                              ; preds = %902
  %909 = tail call ptr @__errno_location() #13
  %910 = load i32, ptr %909, align 4, !tbaa !5
  %911 = load ptr, ptr @stderr, align 8, !tbaa !9
  %912 = call i32 @s2n_print_stacktrace(ptr noundef %911) #12
  %913 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %914 = trunc nuw i8 %913 to i1
  br i1 %914, label %915, label %919

915:                                              ; preds = %908
  %916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %917 = call i32 @fileno(ptr noundef %916) #12
  %918 = call i32 @isatty(i32 noundef %917) #12
  %.not499 = icmp eq i32 %918, 0
  br i1 %.not499, label %919, label %920

919:                                              ; preds = %915, %908
  br label %920

920:                                              ; preds = %915, %919
  %.str.5.sink1429 = phi ptr [ @.str.5, %919 ], [ @.str.2, %915 ]
  store i32 %910, ptr %909, align 4, !tbaa !5
  %921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %922 = load i32, ptr @test_count, align 4, !tbaa !5
  %923 = load i32, ptr %905, align 4, !tbaa !5
  %924 = call ptr @s2n_strerror(i32 noundef %923, ptr noundef nonnull @.str.4) #12
  %925 = load i32, ptr %905, align 4, !tbaa !5
  %926 = call ptr @s2n_strerror_debug(i32 noundef %925, ptr noundef nonnull @.str.4) #12
  %927 = load i32, ptr %909, align 4, !tbaa !5
  %928 = call ptr @strerror(i32 noundef %927) #12
  %929 = load i32, ptr %909, align 4, !tbaa !5
  %930 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %921, ptr noundef nonnull %.str.5.sink1429, i32 noundef %922, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 120, ptr noundef %924, ptr noundef %926, ptr noundef %928, i32 noundef %929) #14
  call void @exit(i32 noundef 1) #15
  unreachable

931:                                              ; preds = %902
  %932 = add nsw i32 %903, 2
  store i32 %932, ptr @test_count, align 4, !tbaa !5
  %933 = call ptr @s2n_strerror_debug(i32 noundef 201326595, ptr noundef nonnull @.str.4) #12
  %934 = icmp eq ptr %933, null
  br i1 %934, label %935, label %958

935:                                              ; preds = %931
  %936 = tail call ptr @__errno_location() #13
  %937 = load i32, ptr %936, align 4, !tbaa !5
  %938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %939 = call i32 @s2n_print_stacktrace(ptr noundef %938) #12
  %940 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %941 = trunc nuw i8 %940 to i1
  br i1 %941, label %942, label %946

942:                                              ; preds = %935
  %943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %944 = call i32 @fileno(ptr noundef %943) #12
  %945 = call i32 @isatty(i32 noundef %944) #12
  %.not687 = icmp eq i32 %945, 0
  br i1 %.not687, label %946, label %947

946:                                              ; preds = %942, %935
  br label %947

947:                                              ; preds = %942, %946
  %.str.5.sink1438 = phi ptr [ @.str.5, %946 ], [ @.str.2, %942 ]
  store i32 %937, ptr %936, align 4, !tbaa !5
  %948 = load ptr, ptr @stderr, align 8, !tbaa !9
  %949 = load i32, ptr @test_count, align 4, !tbaa !5
  %950 = load i32, ptr %905, align 4, !tbaa !5
  %951 = call ptr @s2n_strerror(i32 noundef %950, ptr noundef nonnull @.str.4) #12
  %952 = load i32, ptr %905, align 4, !tbaa !5
  %953 = call ptr @s2n_strerror_debug(i32 noundef %952, ptr noundef nonnull @.str.4) #12
  %954 = load i32, ptr %936, align 4, !tbaa !5
  %955 = call ptr @strerror(i32 noundef %954) #12
  %956 = load i32, ptr %936, align 4, !tbaa !5
  %957 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %948, ptr noundef nonnull %.str.5.sink1438, i32 noundef %949, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 120, ptr noundef %951, ptr noundef %953, ptr noundef %955, i32 noundef %956) #14
  call void @exit(i32 noundef 1) #15
  unreachable

958:                                              ; preds = %931
  store i32 0, ptr %905, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  %959 = tail call ptr @__errno_location() #13
  store i32 0, ptr %959, align 4, !tbaa !5
  %960 = load i32, ptr @test_count, align 4, !tbaa !5
  %961 = add nsw i32 %960, 1
  store i32 %961, ptr @test_count, align 4, !tbaa !5
  %962 = load i32, ptr %6, align 4, !tbaa !5
  %963 = load i32, ptr @S2N_BLOCKED_ON_APPLICATION_DATA, align 4, !tbaa !5
  %964 = icmp eq i32 %962, %963
  br i1 %964, label %987, label %965

965:                                              ; preds = %958
  %966 = load i32, ptr %959, align 4, !tbaa !5
  %967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %968 = call i32 @s2n_print_stacktrace(ptr noundef %967) #12
  %969 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %970 = trunc nuw i8 %969 to i1
  br i1 %970, label %971, label %975

971:                                              ; preds = %965
  %972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %973 = call i32 @fileno(ptr noundef %972) #12
  %974 = call i32 @isatty(i32 noundef %973) #12
  %.not500 = icmp eq i32 %974, 0
  br i1 %.not500, label %975, label %976

975:                                              ; preds = %971, %965
  br label %976

976:                                              ; preds = %971, %975
  %.str.5.sink1447 = phi ptr [ @.str.5, %975 ], [ @.str.2, %971 ]
  store i32 %966, ptr %959, align 4, !tbaa !5
  %977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %978 = load i32, ptr @test_count, align 4, !tbaa !5
  %979 = load i32, ptr %905, align 4, !tbaa !5
  %980 = call ptr @s2n_strerror(i32 noundef %979, ptr noundef nonnull @.str.4) #12
  %981 = load i32, ptr %905, align 4, !tbaa !5
  %982 = call ptr @s2n_strerror_debug(i32 noundef %981, ptr noundef nonnull @.str.4) #12
  %983 = load i32, ptr %959, align 4, !tbaa !5
  %984 = call ptr @strerror(i32 noundef %983) #12
  %985 = load i32, ptr %959, align 4, !tbaa !5
  %986 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %977, ptr noundef nonnull %.str.5.sink1447, i32 noundef %978, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 121, ptr noundef %980, ptr noundef %982, ptr noundef %984, i32 noundef %985) #14
  call void @exit(i32 noundef 1) #15
  unreachable

987:                                              ; preds = %958
  %988 = add nsw i32 %960, 2
  store i32 %988, ptr @test_count, align 4, !tbaa !5
  %989 = load i64, ptr %13, align 8, !tbaa !15
  %990 = icmp eq i64 %989, 22
  br i1 %990, label %1013, label %991

991:                                              ; preds = %987
  %992 = load i32, ptr %959, align 4, !tbaa !5
  %993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %994 = call i32 @s2n_print_stacktrace(ptr noundef %993) #12
  %995 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %996 = trunc nuw i8 %995 to i1
  br i1 %996, label %997, label %1001

997:                                              ; preds = %991
  %998 = load ptr, ptr @stderr, align 8, !tbaa !9
  %999 = call i32 @fileno(ptr noundef %998) #12
  %1000 = call i32 @isatty(i32 noundef %999) #12
  %.not501 = icmp eq i32 %1000, 0
  br i1 %.not501, label %1001, label %1002

1001:                                             ; preds = %997, %991
  br label %1002

1002:                                             ; preds = %997, %1001
  %.str.5.sink1456 = phi ptr [ @.str.5, %1001 ], [ @.str.2, %997 ]
  store i32 %992, ptr %959, align 4, !tbaa !5
  %1003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1004 = load i32, ptr @test_count, align 4, !tbaa !5
  %1005 = load i32, ptr %905, align 4, !tbaa !5
  %1006 = call ptr @s2n_strerror(i32 noundef %1005, ptr noundef nonnull @.str.4) #12
  %1007 = load i32, ptr %905, align 4, !tbaa !5
  %1008 = call ptr @s2n_strerror_debug(i32 noundef %1007, ptr noundef nonnull @.str.4) #12
  %1009 = load i32, ptr %959, align 4, !tbaa !5
  %1010 = call ptr @strerror(i32 noundef %1009) #12
  %1011 = load i32, ptr %959, align 4, !tbaa !5
  %1012 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1003, ptr noundef nonnull %.str.5.sink1456, i32 noundef %1004, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 122, ptr noundef %1006, ptr noundef %1008, ptr noundef %1010, i32 noundef %1011) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1013:                                             ; preds = %987
  %1014 = add nsw i32 %960, 3
  store i32 %1014, ptr @test_count, align 4, !tbaa !5
  %bcmp = call i32 @bcmp(ptr noundef nonnull dereferenceable(22) %14, ptr noundef nonnull dereferenceable(22) %5, i64 22)
  %1015 = icmp eq i32 %bcmp, 0
  br i1 %1015, label %1038, label %1016

1016:                                             ; preds = %1013
  %1017 = load i32, ptr %959, align 4, !tbaa !5
  %1018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1019 = call i32 @s2n_print_stacktrace(ptr noundef %1018) #12
  %1020 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1021 = trunc nuw i8 %1020 to i1
  br i1 %1021, label %1022, label %1026

1022:                                             ; preds = %1016
  %1023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1024 = call i32 @fileno(ptr noundef %1023) #12
  %1025 = call i32 @isatty(i32 noundef %1024) #12
  %.not502 = icmp eq i32 %1025, 0
  br i1 %.not502, label %1026, label %1027

1026:                                             ; preds = %1022, %1016
  br label %1027

1027:                                             ; preds = %1022, %1026
  %.str.5.sink1465 = phi ptr [ @.str.5, %1026 ], [ @.str.2, %1022 ]
  store i32 %1017, ptr %959, align 4, !tbaa !5
  %1028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1029 = load i32, ptr @test_count, align 4, !tbaa !5
  %1030 = load i32, ptr %905, align 4, !tbaa !5
  %1031 = call ptr @s2n_strerror(i32 noundef %1030, ptr noundef nonnull @.str.4) #12
  %1032 = load i32, ptr %905, align 4, !tbaa !5
  %1033 = call ptr @s2n_strerror_debug(i32 noundef %1032, ptr noundef nonnull @.str.4) #12
  %1034 = load i32, ptr %959, align 4, !tbaa !5
  %1035 = call ptr @strerror(i32 noundef %1034) #12
  %1036 = load i32, ptr %959, align 4, !tbaa !5
  %1037 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1028, ptr noundef nonnull %.str.5.sink1465, i32 noundef %1029, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 123, ptr noundef %1031, ptr noundef %1033, ptr noundef %1035, i32 noundef %1036) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1038:                                             ; preds = %1013
  %1039 = add nsw i32 %960, 4
  store i32 %1039, ptr @test_count, align 4, !tbaa !5
  %1040 = load ptr, ptr %11, align 8, !tbaa !9
  %1041 = call i32 @s2n_conn_get_current_message_type(ptr noundef %1040) #12
  %1042 = icmp eq i32 %1041, 1
  br i1 %1042, label %1065, label %1043

1043:                                             ; preds = %1038
  %1044 = load i32, ptr %959, align 4, !tbaa !5
  %1045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1046 = call i32 @s2n_print_stacktrace(ptr noundef %1045) #12
  %1047 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1048 = trunc nuw i8 %1047 to i1
  br i1 %1048, label %1049, label %1053

1049:                                             ; preds = %1043
  %1050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1051 = call i32 @fileno(ptr noundef %1050) #12
  %1052 = call i32 @isatty(i32 noundef %1051) #12
  %.not503 = icmp eq i32 %1052, 0
  br i1 %.not503, label %1053, label %1054

1053:                                             ; preds = %1049, %1043
  br label %1054

1054:                                             ; preds = %1049, %1053
  %.str.5.sink1474 = phi ptr [ @.str.5, %1053 ], [ @.str.2, %1049 ]
  store i32 %1044, ptr %959, align 4, !tbaa !5
  %1055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1056 = load i32, ptr @test_count, align 4, !tbaa !5
  %1057 = load i32, ptr %905, align 4, !tbaa !5
  %1058 = call ptr @s2n_strerror(i32 noundef %1057, ptr noundef nonnull @.str.4) #12
  %1059 = load i32, ptr %905, align 4, !tbaa !5
  %1060 = call ptr @s2n_strerror_debug(i32 noundef %1059, ptr noundef nonnull @.str.4) #12
  %1061 = load i32, ptr %959, align 4, !tbaa !5
  %1062 = call ptr @strerror(i32 noundef %1061) #12
  %1063 = load i32, ptr %959, align 4, !tbaa !5
  %1064 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1055, ptr noundef nonnull %.str.5.sink1474, i32 noundef %1056, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 126, ptr noundef %1058, ptr noundef %1060, ptr noundef %1062, i32 noundef %1063) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1065:                                             ; preds = %1038
  %1066 = load i32, ptr @test_count, align 4, !tbaa !5
  %1067 = add nsw i32 %1066, 1
  store i32 %1067, ptr @test_count, align 4, !tbaa !5
  %1068 = load ptr, ptr %10, align 8, !tbaa !9
  %1069 = load ptr, ptr %11, align 8, !tbaa !9
  %1070 = call i32 @s2n_renegotiate_test_server_and_client(ptr noundef %1068, ptr noundef %1069)
  %1071 = call zeroext i1 @s2n_result_is_ok(i32 %1070)
  br i1 %1071, label %1094, label %1072

1072:                                             ; preds = %1065
  %1073 = load i32, ptr %959, align 4, !tbaa !5
  %1074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1075 = call i32 @s2n_print_stacktrace(ptr noundef %1074) #12
  %1076 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1077 = trunc nuw i8 %1076 to i1
  br i1 %1077, label %1078, label %1082

1078:                                             ; preds = %1072
  %1079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1080 = call i32 @fileno(ptr noundef %1079) #12
  %1081 = call i32 @isatty(i32 noundef %1080) #12
  %.not504 = icmp eq i32 %1081, 0
  br i1 %.not504, label %1082, label %1083

1082:                                             ; preds = %1078, %1072
  br label %1083

1083:                                             ; preds = %1078, %1082
  %.str.5.sink1483 = phi ptr [ @.str.5, %1082 ], [ @.str.2, %1078 ]
  store i32 %1073, ptr %959, align 4, !tbaa !5
  %1084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1085 = load i32, ptr @test_count, align 4, !tbaa !5
  %1086 = load i32, ptr %905, align 4, !tbaa !5
  %1087 = call ptr @s2n_strerror(i32 noundef %1086, ptr noundef nonnull @.str.4) #12
  %1088 = load i32, ptr %905, align 4, !tbaa !5
  %1089 = call ptr @s2n_strerror_debug(i32 noundef %1088, ptr noundef nonnull @.str.4) #12
  %1090 = load i32, ptr %959, align 4, !tbaa !5
  %1091 = call ptr @strerror(i32 noundef %1090) #12
  %1092 = load i32, ptr %959, align 4, !tbaa !5
  %1093 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1084, ptr noundef nonnull %.str.5.sink1483, i32 noundef %1085, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 129, ptr noundef %1087, ptr noundef %1089, ptr noundef %1091, i32 noundef %1092) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1094:                                             ; preds = %1065
  call void @llvm.lifetime.end.p0(i64 22, ptr nonnull %14) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #12
  %1095 = call i32 @s2n_io_pair_close(ptr noundef nonnull %12) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #12
  %1096 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %11) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #12
  %1097 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %10) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %15) #12
  %1098 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %1098, ptr %15, align 8, !tbaa !9
  %1099 = load i32, ptr @test_count, align 4, !tbaa !5
  %1100 = add nsw i32 %1099, 1
  store i32 %1100, ptr @test_count, align 4, !tbaa !5
  %1101 = icmp eq ptr %1098, null
  br i1 %1101, label %1102, label %1124

1102:                                             ; preds = %1094
  %1103 = load i32, ptr %959, align 4, !tbaa !5
  %1104 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1105 = call i32 @s2n_print_stacktrace(ptr noundef %1104) #12
  %1106 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1107 = trunc nuw i8 %1106 to i1
  br i1 %1107, label %1108, label %1112

1108:                                             ; preds = %1102
  %1109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1110 = call i32 @fileno(ptr noundef %1109) #12
  %1111 = call i32 @isatty(i32 noundef %1110) #12
  %.not686 = icmp eq i32 %1111, 0
  br i1 %.not686, label %1112, label %1113

1112:                                             ; preds = %1108, %1102
  br label %1113

1113:                                             ; preds = %1108, %1112
  %.str.5.sink1492 = phi ptr [ @.str.5, %1112 ], [ @.str.2, %1108 ]
  store i32 %1103, ptr %959, align 4, !tbaa !5
  %1114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1115 = load i32, ptr @test_count, align 4, !tbaa !5
  %1116 = load i32, ptr %905, align 4, !tbaa !5
  %1117 = call ptr @s2n_strerror(i32 noundef %1116, ptr noundef nonnull @.str.4) #12
  %1118 = load i32, ptr %905, align 4, !tbaa !5
  %1119 = call ptr @s2n_strerror_debug(i32 noundef %1118, ptr noundef nonnull @.str.4) #12
  %1120 = load i32, ptr %959, align 4, !tbaa !5
  %1121 = call ptr @strerror(i32 noundef %1120) #12
  %1122 = load i32, ptr %959, align 4, !tbaa !5
  %1123 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1114, ptr noundef nonnull %.str.5.sink1492, i32 noundef %1115, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 135, ptr noundef %1117, ptr noundef %1119, ptr noundef %1121, i32 noundef %1122) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1124:                                             ; preds = %1094
  %1125 = add nsw i32 %1099, 2
  store i32 %1125, ptr @test_count, align 4, !tbaa !5
  %1126 = call i32 @s2n_connection_set_config(ptr noundef nonnull %1098, ptr noundef nonnull %163) #12
  %1127 = icmp eq i32 %1126, -1
  br i1 %1127, label %1128, label %1150

1128:                                             ; preds = %1124
  %1129 = load i32, ptr %959, align 4, !tbaa !5
  %1130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1131 = call i32 @s2n_print_stacktrace(ptr noundef %1130) #12
  %1132 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1133 = trunc nuw i8 %1132 to i1
  br i1 %1133, label %1134, label %1138

1134:                                             ; preds = %1128
  %1135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1136 = call i32 @fileno(ptr noundef %1135) #12
  %1137 = call i32 @isatty(i32 noundef %1136) #12
  %.not685 = icmp eq i32 %1137, 0
  br i1 %.not685, label %1138, label %1139

1138:                                             ; preds = %1134, %1128
  br label %1139

1139:                                             ; preds = %1134, %1138
  %.str.5.sink1501 = phi ptr [ @.str.5, %1138 ], [ @.str.2, %1134 ]
  store i32 %1129, ptr %959, align 4, !tbaa !5
  %1140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1141 = load i32, ptr @test_count, align 4, !tbaa !5
  %1142 = load i32, ptr %905, align 4, !tbaa !5
  %1143 = call ptr @s2n_strerror(i32 noundef %1142, ptr noundef nonnull @.str.4) #12
  %1144 = load i32, ptr %905, align 4, !tbaa !5
  %1145 = call ptr @s2n_strerror_debug(i32 noundef %1144, ptr noundef nonnull @.str.4) #12
  %1146 = load i32, ptr %959, align 4, !tbaa !5
  %1147 = call ptr @strerror(i32 noundef %1146) #12
  %1148 = load i32, ptr %959, align 4, !tbaa !5
  %1149 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1140, ptr noundef nonnull %.str.5.sink1501, i32 noundef %1141, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 136, ptr noundef %1143, ptr noundef %1145, ptr noundef %1147, i32 noundef %1148) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1150:                                             ; preds = %1124
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %16) #12
  %1151 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %1151, ptr %16, align 8, !tbaa !9
  %1152 = load i32, ptr @test_count, align 4, !tbaa !5
  %1153 = add nsw i32 %1152, 1
  store i32 %1153, ptr @test_count, align 4, !tbaa !5
  %1154 = icmp eq ptr %1151, null
  br i1 %1154, label %1155, label %1177

1155:                                             ; preds = %1150
  %1156 = load i32, ptr %959, align 4, !tbaa !5
  %1157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1158 = call i32 @s2n_print_stacktrace(ptr noundef %1157) #12
  %1159 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1160 = trunc nuw i8 %1159 to i1
  br i1 %1160, label %1161, label %1165

1161:                                             ; preds = %1155
  %1162 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1163 = call i32 @fileno(ptr noundef %1162) #12
  %1164 = call i32 @isatty(i32 noundef %1163) #12
  %.not684 = icmp eq i32 %1164, 0
  br i1 %.not684, label %1165, label %1166

1165:                                             ; preds = %1161, %1155
  br label %1166

1166:                                             ; preds = %1161, %1165
  %.str.5.sink1510 = phi ptr [ @.str.5, %1165 ], [ @.str.2, %1161 ]
  store i32 %1156, ptr %959, align 4, !tbaa !5
  %1167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1168 = load i32, ptr @test_count, align 4, !tbaa !5
  %1169 = load i32, ptr %905, align 4, !tbaa !5
  %1170 = call ptr @s2n_strerror(i32 noundef %1169, ptr noundef nonnull @.str.4) #12
  %1171 = load i32, ptr %905, align 4, !tbaa !5
  %1172 = call ptr @s2n_strerror_debug(i32 noundef %1171, ptr noundef nonnull @.str.4) #12
  %1173 = load i32, ptr %959, align 4, !tbaa !5
  %1174 = call ptr @strerror(i32 noundef %1173) #12
  %1175 = load i32, ptr %959, align 4, !tbaa !5
  %1176 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1167, ptr noundef nonnull %.str.5.sink1510, i32 noundef %1168, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 139, ptr noundef %1170, ptr noundef %1172, ptr noundef %1174, i32 noundef %1175) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1177:                                             ; preds = %1150
  %1178 = add nsw i32 %1152, 2
  store i32 %1178, ptr @test_count, align 4, !tbaa !5
  %1179 = call i32 @s2n_connection_set_config(ptr noundef nonnull %1151, ptr noundef nonnull %163) #12
  %1180 = icmp eq i32 %1179, -1
  br i1 %1180, label %1181, label %1203

1181:                                             ; preds = %1177
  %1182 = load i32, ptr %959, align 4, !tbaa !5
  %1183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1184 = call i32 @s2n_print_stacktrace(ptr noundef %1183) #12
  %1185 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1186 = trunc nuw i8 %1185 to i1
  br i1 %1186, label %1187, label %1191

1187:                                             ; preds = %1181
  %1188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1189 = call i32 @fileno(ptr noundef %1188) #12
  %1190 = call i32 @isatty(i32 noundef %1189) #12
  %.not683 = icmp eq i32 %1190, 0
  br i1 %.not683, label %1191, label %1192

1191:                                             ; preds = %1187, %1181
  br label %1192

1192:                                             ; preds = %1187, %1191
  %.str.5.sink1519 = phi ptr [ @.str.5, %1191 ], [ @.str.2, %1187 ]
  store i32 %1182, ptr %959, align 4, !tbaa !5
  %1193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1194 = load i32, ptr @test_count, align 4, !tbaa !5
  %1195 = load i32, ptr %905, align 4, !tbaa !5
  %1196 = call ptr @s2n_strerror(i32 noundef %1195, ptr noundef nonnull @.str.4) #12
  %1197 = load i32, ptr %905, align 4, !tbaa !5
  %1198 = call ptr @s2n_strerror_debug(i32 noundef %1197, ptr noundef nonnull @.str.4) #12
  %1199 = load i32, ptr %959, align 4, !tbaa !5
  %1200 = call ptr @strerror(i32 noundef %1199) #12
  %1201 = load i32, ptr %959, align 4, !tbaa !5
  %1202 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1193, ptr noundef nonnull %.str.5.sink1519, i32 noundef %1194, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 140, ptr noundef %1196, ptr noundef %1198, ptr noundef %1200, i32 noundef %1201) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1203:                                             ; preds = %1177
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %17) #12
  store i64 0, ptr %17, align 8
  %1204 = load i32, ptr @test_count, align 4, !tbaa !5
  %1205 = add nsw i32 %1204, 1
  store i32 %1205, ptr @test_count, align 4, !tbaa !5
  %1206 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef nonnull %17) #12
  %1207 = icmp eq i32 %1206, -1
  br i1 %1207, label %1208, label %1230

1208:                                             ; preds = %1203
  %1209 = load i32, ptr %959, align 4, !tbaa !5
  %1210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1211 = call i32 @s2n_print_stacktrace(ptr noundef %1210) #12
  %1212 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1213 = trunc nuw i8 %1212 to i1
  br i1 %1213, label %1214, label %1218

1214:                                             ; preds = %1208
  %1215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1216 = call i32 @fileno(ptr noundef %1215) #12
  %1217 = call i32 @isatty(i32 noundef %1216) #12
  %.not682 = icmp eq i32 %1217, 0
  br i1 %.not682, label %1218, label %1219

1218:                                             ; preds = %1214, %1208
  br label %1219

1219:                                             ; preds = %1214, %1218
  %.str.5.sink1528 = phi ptr [ @.str.5, %1218 ], [ @.str.2, %1214 ]
  store i32 %1209, ptr %959, align 4, !tbaa !5
  %1220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1221 = load i32, ptr @test_count, align 4, !tbaa !5
  %1222 = load i32, ptr %905, align 4, !tbaa !5
  %1223 = call ptr @s2n_strerror(i32 noundef %1222, ptr noundef nonnull @.str.4) #12
  %1224 = load i32, ptr %905, align 4, !tbaa !5
  %1225 = call ptr @s2n_strerror_debug(i32 noundef %1224, ptr noundef nonnull @.str.4) #12
  %1226 = load i32, ptr %959, align 4, !tbaa !5
  %1227 = call ptr @strerror(i32 noundef %1226) #12
  %1228 = load i32, ptr %959, align 4, !tbaa !5
  %1229 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1220, ptr noundef nonnull %.str.5.sink1528, i32 noundef %1221, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 143, ptr noundef %1223, ptr noundef %1225, ptr noundef %1227, i32 noundef %1228) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1230:                                             ; preds = %1203
  %1231 = load i32, ptr @test_count, align 4, !tbaa !5
  %1232 = add nsw i32 %1231, 1
  store i32 %1232, ptr @test_count, align 4, !tbaa !5
  %1233 = load ptr, ptr %16, align 8, !tbaa !9
  %1234 = load ptr, ptr %15, align 8, !tbaa !9
  %1235 = call i32 @s2n_connections_set_io_pair(ptr noundef %1233, ptr noundef %1234, ptr noundef nonnull %17) #12
  %1236 = icmp eq i32 %1235, -1
  br i1 %1236, label %1237, label %1259

1237:                                             ; preds = %1230
  %1238 = load i32, ptr %959, align 4, !tbaa !5
  %1239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1240 = call i32 @s2n_print_stacktrace(ptr noundef %1239) #12
  %1241 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1242 = trunc nuw i8 %1241 to i1
  br i1 %1242, label %1243, label %1247

1243:                                             ; preds = %1237
  %1244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1245 = call i32 @fileno(ptr noundef %1244) #12
  %1246 = call i32 @isatty(i32 noundef %1245) #12
  %.not681 = icmp eq i32 %1246, 0
  br i1 %.not681, label %1247, label %1248

1247:                                             ; preds = %1243, %1237
  br label %1248

1248:                                             ; preds = %1243, %1247
  %.str.5.sink1537 = phi ptr [ @.str.5, %1247 ], [ @.str.2, %1243 ]
  store i32 %1238, ptr %959, align 4, !tbaa !5
  %1249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1250 = load i32, ptr @test_count, align 4, !tbaa !5
  %1251 = load i32, ptr %905, align 4, !tbaa !5
  %1252 = call ptr @s2n_strerror(i32 noundef %1251, ptr noundef nonnull @.str.4) #12
  %1253 = load i32, ptr %905, align 4, !tbaa !5
  %1254 = call ptr @s2n_strerror_debug(i32 noundef %1253, ptr noundef nonnull @.str.4) #12
  %1255 = load i32, ptr %959, align 4, !tbaa !5
  %1256 = call ptr @strerror(i32 noundef %1255) #12
  %1257 = load i32, ptr %959, align 4, !tbaa !5
  %1258 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1249, ptr noundef nonnull %.str.5.sink1537, i32 noundef %1250, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 144, ptr noundef %1252, ptr noundef %1254, ptr noundef %1256, i32 noundef %1257) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1259:                                             ; preds = %1230
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %18) #12
  store i64 0, ptr %18, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 22, ptr nonnull %19) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(22) %19, i8 0, i64 22, i1 false)
  %1260 = load i32, ptr @test_count, align 4, !tbaa !5
  %1261 = add nsw i32 %1260, 1
  store i32 %1261, ptr @test_count, align 4, !tbaa !5
  %1262 = load ptr, ptr %15, align 8, !tbaa !9
  %1263 = load ptr, ptr %16, align 8, !tbaa !9
  %1264 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %1262, ptr noundef %1263) #12
  %1265 = icmp eq i32 %1264, -1
  br i1 %1265, label %1266, label %1288

1266:                                             ; preds = %1259
  %1267 = load i32, ptr %959, align 4, !tbaa !5
  %1268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1269 = call i32 @s2n_print_stacktrace(ptr noundef %1268) #12
  %1270 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1271 = trunc nuw i8 %1270 to i1
  br i1 %1271, label %1272, label %1276

1272:                                             ; preds = %1266
  %1273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1274 = call i32 @fileno(ptr noundef %1273) #12
  %1275 = call i32 @isatty(i32 noundef %1274) #12
  %.not680 = icmp eq i32 %1275, 0
  br i1 %.not680, label %1276, label %1277

1276:                                             ; preds = %1272, %1266
  br label %1277

1277:                                             ; preds = %1272, %1276
  %.str.5.sink1546 = phi ptr [ @.str.5, %1276 ], [ @.str.2, %1272 ]
  store i32 %1267, ptr %959, align 4, !tbaa !5
  %1278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1279 = load i32, ptr @test_count, align 4, !tbaa !5
  %1280 = load i32, ptr %905, align 4, !tbaa !5
  %1281 = call ptr @s2n_strerror(i32 noundef %1280, ptr noundef nonnull @.str.4) #12
  %1282 = load i32, ptr %905, align 4, !tbaa !5
  %1283 = call ptr @s2n_strerror_debug(i32 noundef %1282, ptr noundef nonnull @.str.4) #12
  %1284 = load i32, ptr %959, align 4, !tbaa !5
  %1285 = call ptr @strerror(i32 noundef %1284) #12
  %1286 = load i32, ptr %959, align 4, !tbaa !5
  %1287 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1278, ptr noundef nonnull %.str.5.sink1546, i32 noundef %1279, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 150, ptr noundef %1281, ptr noundef %1283, ptr noundef %1285, i32 noundef %1286) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1288:                                             ; preds = %1259
  %1289 = load i32, ptr @test_count, align 4, !tbaa !5
  %1290 = add nsw i32 %1289, 1
  store i32 %1290, ptr @test_count, align 4, !tbaa !5
  %1291 = load ptr, ptr %16, align 8, !tbaa !9
  %1292 = call i32 @s2n_renegotiate_wipe(ptr noundef %1291) #12
  %1293 = icmp eq i32 %1292, -1
  br i1 %1293, label %1294, label %1316

1294:                                             ; preds = %1288
  %1295 = load i32, ptr %959, align 4, !tbaa !5
  %1296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1297 = call i32 @s2n_print_stacktrace(ptr noundef %1296) #12
  %1298 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1299 = trunc nuw i8 %1298 to i1
  br i1 %1299, label %1300, label %1304

1300:                                             ; preds = %1294
  %1301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1302 = call i32 @fileno(ptr noundef %1301) #12
  %1303 = call i32 @isatty(i32 noundef %1302) #12
  %.not679 = icmp eq i32 %1303, 0
  br i1 %.not679, label %1304, label %1305

1304:                                             ; preds = %1300, %1294
  br label %1305

1305:                                             ; preds = %1300, %1304
  %.str.5.sink1555 = phi ptr [ @.str.5, %1304 ], [ @.str.2, %1300 ]
  store i32 %1295, ptr %959, align 4, !tbaa !5
  %1306 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1307 = load i32, ptr @test_count, align 4, !tbaa !5
  %1308 = load i32, ptr %905, align 4, !tbaa !5
  %1309 = call ptr @s2n_strerror(i32 noundef %1308, ptr noundef nonnull @.str.4) #12
  %1310 = load i32, ptr %905, align 4, !tbaa !5
  %1311 = call ptr @s2n_strerror_debug(i32 noundef %1310, ptr noundef nonnull @.str.4) #12
  %1312 = load i32, ptr %959, align 4, !tbaa !5
  %1313 = call ptr @strerror(i32 noundef %1312) #12
  %1314 = load i32, ptr %959, align 4, !tbaa !5
  %1315 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1306, ptr noundef nonnull %.str.5.sink1555, i32 noundef %1307, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 151, ptr noundef %1309, ptr noundef %1311, ptr noundef %1313, i32 noundef %1314) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1316:                                             ; preds = %1288
  %1317 = load i32, ptr @test_count, align 4, !tbaa !5
  %1318 = add nsw i32 %1317, 1
  store i32 %1318, ptr @test_count, align 4, !tbaa !5
  %1319 = load ptr, ptr %15, align 8, !tbaa !9
  %1320 = call i32 @s2n_renegotiate_wipe(ptr noundef %1319) #12
  %1321 = icmp eq i32 %1320, -1
  br i1 %1321, label %1322, label %1344

1322:                                             ; preds = %1316
  %1323 = load i32, ptr %959, align 4, !tbaa !5
  %1324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1325 = call i32 @s2n_print_stacktrace(ptr noundef %1324) #12
  %1326 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1327 = trunc nuw i8 %1326 to i1
  br i1 %1327, label %1328, label %1332

1328:                                             ; preds = %1322
  %1329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1330 = call i32 @fileno(ptr noundef %1329) #12
  %1331 = call i32 @isatty(i32 noundef %1330) #12
  %.not678 = icmp eq i32 %1331, 0
  br i1 %.not678, label %1332, label %1333

1332:                                             ; preds = %1328, %1322
  br label %1333

1333:                                             ; preds = %1328, %1332
  %.str.5.sink1564 = phi ptr [ @.str.5, %1332 ], [ @.str.2, %1328 ]
  store i32 %1323, ptr %959, align 4, !tbaa !5
  %1334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1335 = load i32, ptr @test_count, align 4, !tbaa !5
  %1336 = load i32, ptr %905, align 4, !tbaa !5
  %1337 = call ptr @s2n_strerror(i32 noundef %1336, ptr noundef nonnull @.str.4) #12
  %1338 = load i32, ptr %905, align 4, !tbaa !5
  %1339 = call ptr @s2n_strerror_debug(i32 noundef %1338, ptr noundef nonnull @.str.4) #12
  %1340 = load i32, ptr %959, align 4, !tbaa !5
  %1341 = call ptr @strerror(i32 noundef %1340) #12
  %1342 = load i32, ptr %959, align 4, !tbaa !5
  %1343 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1334, ptr noundef nonnull %.str.5.sink1564, i32 noundef %1335, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 152, ptr noundef %1337, ptr noundef %1339, ptr noundef %1341, i32 noundef %1342) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1344:                                             ; preds = %1316
  %1345 = load i32, ptr @test_count, align 4, !tbaa !5
  %1346 = add nsw i32 %1345, 1
  store i32 %1346, ptr @test_count, align 4, !tbaa !5
  %1347 = load ptr, ptr %15, align 8, !tbaa !9
  %1348 = call i64 @s2n_send(ptr noundef %1347, ptr noundef nonnull %5, i64 noundef 22, ptr noundef nonnull %6) #12
  %1349 = icmp eq i64 %1348, 22
  br i1 %1349, label %1372, label %1350

1350:                                             ; preds = %1344
  %1351 = load i32, ptr %959, align 4, !tbaa !5
  %1352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1353 = call i32 @s2n_print_stacktrace(ptr noundef %1352) #12
  %1354 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1355 = trunc nuw i8 %1354 to i1
  br i1 %1355, label %1356, label %1360

1356:                                             ; preds = %1350
  %1357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1358 = call i32 @fileno(ptr noundef %1357) #12
  %1359 = call i32 @isatty(i32 noundef %1358) #12
  %.not505 = icmp eq i32 %1359, 0
  br i1 %.not505, label %1360, label %1361

1360:                                             ; preds = %1356, %1350
  br label %1361

1361:                                             ; preds = %1356, %1360
  %.str.5.sink1573 = phi ptr [ @.str.5, %1360 ], [ @.str.2, %1356 ]
  store i32 %1351, ptr %959, align 4, !tbaa !5
  %1362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1363 = load i32, ptr @test_count, align 4, !tbaa !5
  %1364 = load i32, ptr %905, align 4, !tbaa !5
  %1365 = call ptr @s2n_strerror(i32 noundef %1364, ptr noundef nonnull @.str.4) #12
  %1366 = load i32, ptr %905, align 4, !tbaa !5
  %1367 = call ptr @s2n_strerror_debug(i32 noundef %1366, ptr noundef nonnull @.str.4) #12
  %1368 = load i32, ptr %959, align 4, !tbaa !5
  %1369 = call ptr @strerror(i32 noundef %1368) #12
  %1370 = load i32, ptr %959, align 4, !tbaa !5
  %1371 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1362, ptr noundef nonnull %.str.5.sink1573, i32 noundef %1363, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 155, ptr noundef %1365, ptr noundef %1367, ptr noundef %1369, i32 noundef %1370) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1372:                                             ; preds = %1344
  %1373 = load i32, ptr @test_count, align 4, !tbaa !5
  %1374 = add nsw i32 %1373, 1
  store i32 %1374, ptr @test_count, align 4, !tbaa !5
  %1375 = load ptr, ptr %16, align 8, !tbaa !9
  %1376 = call i32 @s2n_renegotiate(ptr noundef %1375, ptr noundef nonnull %19, i64 noundef 2, ptr noundef nonnull %18, ptr noundef nonnull %6) #12
  %1377 = icmp eq i32 %1376, -1
  br i1 %1377, label %1400, label %1378

1378:                                             ; preds = %1372
  %1379 = load i32, ptr %959, align 4, !tbaa !5
  %1380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1381 = call i32 @s2n_print_stacktrace(ptr noundef %1380) #12
  %1382 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1383 = trunc nuw i8 %1382 to i1
  br i1 %1383, label %1384, label %1388

1384:                                             ; preds = %1378
  %1385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1386 = call i32 @fileno(ptr noundef %1385) #12
  %1387 = call i32 @isatty(i32 noundef %1386) #12
  %.not506 = icmp eq i32 %1387, 0
  br i1 %.not506, label %1388, label %1389

1388:                                             ; preds = %1384, %1378
  br label %1389

1389:                                             ; preds = %1384, %1388
  %.str.5.sink1582 = phi ptr [ @.str.5, %1388 ], [ @.str.2, %1384 ]
  store i32 %1379, ptr %959, align 4, !tbaa !5
  %1390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1391 = load i32, ptr @test_count, align 4, !tbaa !5
  %1392 = load i32, ptr %905, align 4, !tbaa !5
  %1393 = call ptr @s2n_strerror(i32 noundef %1392, ptr noundef nonnull @.str.4) #12
  %1394 = load i32, ptr %905, align 4, !tbaa !5
  %1395 = call ptr @s2n_strerror_debug(i32 noundef %1394, ptr noundef nonnull @.str.4) #12
  %1396 = load i32, ptr %959, align 4, !tbaa !5
  %1397 = call ptr @strerror(i32 noundef %1396) #12
  %1398 = load i32, ptr %959, align 4, !tbaa !5
  %1399 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1390, ptr noundef nonnull %.str.5.sink1582, i32 noundef %1391, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 160, ptr noundef %1393, ptr noundef %1395, ptr noundef %1397, i32 noundef %1398) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1400:                                             ; preds = %1372
  %1401 = load i32, ptr @test_count, align 4, !tbaa !5
  %1402 = add nsw i32 %1401, 1
  store i32 %1402, ptr @test_count, align 4, !tbaa !5
  %1403 = load i32, ptr %905, align 4, !tbaa !5
  %1404 = icmp eq i32 %1403, 201326595
  br i1 %1404, label %1427, label %1405

1405:                                             ; preds = %1400
  %1406 = load i32, ptr %959, align 4, !tbaa !5
  %1407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1408 = call i32 @s2n_print_stacktrace(ptr noundef %1407) #12
  %1409 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1410 = trunc nuw i8 %1409 to i1
  br i1 %1410, label %1411, label %1415

1411:                                             ; preds = %1405
  %1412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1413 = call i32 @fileno(ptr noundef %1412) #12
  %1414 = call i32 @isatty(i32 noundef %1413) #12
  %.not507 = icmp eq i32 %1414, 0
  br i1 %.not507, label %1415, label %1416

1415:                                             ; preds = %1411, %1405
  br label %1416

1416:                                             ; preds = %1411, %1415
  %.str.5.sink1591 = phi ptr [ @.str.5, %1415 ], [ @.str.2, %1411 ]
  store i32 %1406, ptr %959, align 4, !tbaa !5
  %1417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1418 = load i32, ptr @test_count, align 4, !tbaa !5
  %1419 = load i32, ptr %905, align 4, !tbaa !5
  %1420 = call ptr @s2n_strerror(i32 noundef %1419, ptr noundef nonnull @.str.4) #12
  %1421 = load i32, ptr %905, align 4, !tbaa !5
  %1422 = call ptr @s2n_strerror_debug(i32 noundef %1421, ptr noundef nonnull @.str.4) #12
  %1423 = load i32, ptr %959, align 4, !tbaa !5
  %1424 = call ptr @strerror(i32 noundef %1423) #12
  %1425 = load i32, ptr %959, align 4, !tbaa !5
  %1426 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1417, ptr noundef nonnull %.str.5.sink1591, i32 noundef %1418, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 160, ptr noundef %1420, ptr noundef %1422, ptr noundef %1424, i32 noundef %1425) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1427:                                             ; preds = %1400
  %1428 = add nsw i32 %1401, 2
  store i32 %1428, ptr @test_count, align 4, !tbaa !5
  %1429 = call ptr @s2n_strerror_debug(i32 noundef 201326595, ptr noundef nonnull @.str.4) #12
  %1430 = icmp eq ptr %1429, null
  br i1 %1430, label %1431, label %1453

1431:                                             ; preds = %1427
  %1432 = load i32, ptr %959, align 4, !tbaa !5
  %1433 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1434 = call i32 @s2n_print_stacktrace(ptr noundef %1433) #12
  %1435 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1436 = trunc nuw i8 %1435 to i1
  br i1 %1436, label %1437, label %1441

1437:                                             ; preds = %1431
  %1438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1439 = call i32 @fileno(ptr noundef %1438) #12
  %1440 = call i32 @isatty(i32 noundef %1439) #12
  %.not677 = icmp eq i32 %1440, 0
  br i1 %.not677, label %1441, label %1442

1441:                                             ; preds = %1437, %1431
  br label %1442

1442:                                             ; preds = %1437, %1441
  %.str.5.sink1600 = phi ptr [ @.str.5, %1441 ], [ @.str.2, %1437 ]
  store i32 %1432, ptr %959, align 4, !tbaa !5
  %1443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1444 = load i32, ptr @test_count, align 4, !tbaa !5
  %1445 = load i32, ptr %905, align 4, !tbaa !5
  %1446 = call ptr @s2n_strerror(i32 noundef %1445, ptr noundef nonnull @.str.4) #12
  %1447 = load i32, ptr %905, align 4, !tbaa !5
  %1448 = call ptr @s2n_strerror_debug(i32 noundef %1447, ptr noundef nonnull @.str.4) #12
  %1449 = load i32, ptr %959, align 4, !tbaa !5
  %1450 = call ptr @strerror(i32 noundef %1449) #12
  %1451 = load i32, ptr %959, align 4, !tbaa !5
  %1452 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1443, ptr noundef nonnull %.str.5.sink1600, i32 noundef %1444, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 160, ptr noundef %1446, ptr noundef %1448, ptr noundef %1450, i32 noundef %1451) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1453:                                             ; preds = %1427
  store i32 0, ptr %905, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %959, align 4, !tbaa !5
  %1454 = load i32, ptr @test_count, align 4, !tbaa !5
  %1455 = add nsw i32 %1454, 1
  store i32 %1455, ptr @test_count, align 4, !tbaa !5
  %1456 = load i32, ptr %6, align 4, !tbaa !5
  %1457 = icmp eq i32 %1456, %962
  br i1 %1457, label %1480, label %1458

1458:                                             ; preds = %1453
  %1459 = load i32, ptr %959, align 4, !tbaa !5
  %1460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1461 = call i32 @s2n_print_stacktrace(ptr noundef %1460) #12
  %1462 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1463 = trunc nuw i8 %1462 to i1
  br i1 %1463, label %1464, label %1468

1464:                                             ; preds = %1458
  %1465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1466 = call i32 @fileno(ptr noundef %1465) #12
  %1467 = call i32 @isatty(i32 noundef %1466) #12
  %.not508 = icmp eq i32 %1467, 0
  br i1 %.not508, label %1468, label %1469

1468:                                             ; preds = %1464, %1458
  br label %1469

1469:                                             ; preds = %1464, %1468
  %.str.5.sink1609 = phi ptr [ @.str.5, %1468 ], [ @.str.2, %1464 ]
  store i32 %1459, ptr %959, align 4, !tbaa !5
  %1470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1471 = load i32, ptr @test_count, align 4, !tbaa !5
  %1472 = load i32, ptr %905, align 4, !tbaa !5
  %1473 = call ptr @s2n_strerror(i32 noundef %1472, ptr noundef nonnull @.str.4) #12
  %1474 = load i32, ptr %905, align 4, !tbaa !5
  %1475 = call ptr @s2n_strerror_debug(i32 noundef %1474, ptr noundef nonnull @.str.4) #12
  %1476 = load i32, ptr %959, align 4, !tbaa !5
  %1477 = call ptr @strerror(i32 noundef %1476) #12
  %1478 = load i32, ptr %959, align 4, !tbaa !5
  %1479 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1470, ptr noundef nonnull %.str.5.sink1609, i32 noundef %1471, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 161, ptr noundef %1473, ptr noundef %1475, ptr noundef %1477, i32 noundef %1478) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1480:                                             ; preds = %1453
  %1481 = add nsw i32 %1454, 2
  store i32 %1481, ptr @test_count, align 4, !tbaa !5
  %1482 = load i64, ptr %18, align 8, !tbaa !15
  %1483 = icmp eq i64 %1482, 2
  br i1 %1483, label %1506, label %1484

1484:                                             ; preds = %1480
  %1485 = load i32, ptr %959, align 4, !tbaa !5
  %1486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1487 = call i32 @s2n_print_stacktrace(ptr noundef %1486) #12
  %1488 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1489 = trunc nuw i8 %1488 to i1
  br i1 %1489, label %1490, label %1494

1490:                                             ; preds = %1484
  %1491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1492 = call i32 @fileno(ptr noundef %1491) #12
  %1493 = call i32 @isatty(i32 noundef %1492) #12
  %.not509 = icmp eq i32 %1493, 0
  br i1 %.not509, label %1494, label %1495

1494:                                             ; preds = %1490, %1484
  br label %1495

1495:                                             ; preds = %1490, %1494
  %.str.5.sink1618 = phi ptr [ @.str.5, %1494 ], [ @.str.2, %1490 ]
  store i32 %1485, ptr %959, align 4, !tbaa !5
  %1496 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1497 = load i32, ptr @test_count, align 4, !tbaa !5
  %1498 = load i32, ptr %905, align 4, !tbaa !5
  %1499 = call ptr @s2n_strerror(i32 noundef %1498, ptr noundef nonnull @.str.4) #12
  %1500 = load i32, ptr %905, align 4, !tbaa !5
  %1501 = call ptr @s2n_strerror_debug(i32 noundef %1500, ptr noundef nonnull @.str.4) #12
  %1502 = load i32, ptr %959, align 4, !tbaa !5
  %1503 = call ptr @strerror(i32 noundef %1502) #12
  %1504 = load i32, ptr %959, align 4, !tbaa !5
  %1505 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1496, ptr noundef nonnull %.str.5.sink1618, i32 noundef %1497, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 162, ptr noundef %1499, ptr noundef %1501, ptr noundef %1503, i32 noundef %1504) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1506:                                             ; preds = %1480
  %1507 = add nsw i32 %1454, 3
  store i32 %1507, ptr @test_count, align 4, !tbaa !5
  %lhsv = load i16, ptr %19, align 16
  %rhsv = load i16, ptr %5, align 16
  %.not510 = icmp eq i16 %lhsv, %rhsv
  br i1 %.not510, label %1530, label %1508

1508:                                             ; preds = %1506
  %1509 = load i32, ptr %959, align 4, !tbaa !5
  %1510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1511 = call i32 @s2n_print_stacktrace(ptr noundef %1510) #12
  %1512 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1513 = trunc nuw i8 %1512 to i1
  br i1 %1513, label %1514, label %1518

1514:                                             ; preds = %1508
  %1515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1516 = call i32 @fileno(ptr noundef %1515) #12
  %1517 = call i32 @isatty(i32 noundef %1516) #12
  %.not511 = icmp eq i32 %1517, 0
  br i1 %.not511, label %1518, label %1519

1518:                                             ; preds = %1514, %1508
  br label %1519

1519:                                             ; preds = %1514, %1518
  %.str.5.sink1627 = phi ptr [ @.str.5, %1518 ], [ @.str.2, %1514 ]
  store i32 %1509, ptr %959, align 4, !tbaa !5
  %1520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1521 = load i32, ptr @test_count, align 4, !tbaa !5
  %1522 = load i32, ptr %905, align 4, !tbaa !5
  %1523 = call ptr @s2n_strerror(i32 noundef %1522, ptr noundef nonnull @.str.4) #12
  %1524 = load i32, ptr %905, align 4, !tbaa !5
  %1525 = call ptr @s2n_strerror_debug(i32 noundef %1524, ptr noundef nonnull @.str.4) #12
  %1526 = load i32, ptr %959, align 4, !tbaa !5
  %1527 = call ptr @strerror(i32 noundef %1526) #12
  %1528 = load i32, ptr %959, align 4, !tbaa !5
  %1529 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1520, ptr noundef nonnull %.str.5.sink1627, i32 noundef %1521, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 163, ptr noundef %1523, ptr noundef %1525, ptr noundef %1527, i32 noundef %1528) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1530:                                             ; preds = %1506
  %1531 = add nsw i32 %1454, 4
  store i32 %1531, ptr @test_count, align 4, !tbaa !5
  %1532 = load ptr, ptr %16, align 8, !tbaa !9
  %1533 = call i32 @s2n_conn_get_current_message_type(ptr noundef %1532) #12
  %1534 = icmp eq i32 %1533, 1
  br i1 %1534, label %1557, label %1535

1535:                                             ; preds = %1530
  %1536 = load i32, ptr %959, align 4, !tbaa !5
  %1537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1538 = call i32 @s2n_print_stacktrace(ptr noundef %1537) #12
  %1539 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1540 = trunc nuw i8 %1539 to i1
  br i1 %1540, label %1541, label %1545

1541:                                             ; preds = %1535
  %1542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1543 = call i32 @fileno(ptr noundef %1542) #12
  %1544 = call i32 @isatty(i32 noundef %1543) #12
  %.not512 = icmp eq i32 %1544, 0
  br i1 %.not512, label %1545, label %1546

1545:                                             ; preds = %1541, %1535
  br label %1546

1546:                                             ; preds = %1541, %1545
  %.str.5.sink1636 = phi ptr [ @.str.5, %1545 ], [ @.str.2, %1541 ]
  store i32 %1536, ptr %959, align 4, !tbaa !5
  %1547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1548 = load i32, ptr @test_count, align 4, !tbaa !5
  %1549 = load i32, ptr %905, align 4, !tbaa !5
  %1550 = call ptr @s2n_strerror(i32 noundef %1549, ptr noundef nonnull @.str.4) #12
  %1551 = load i32, ptr %905, align 4, !tbaa !5
  %1552 = call ptr @s2n_strerror_debug(i32 noundef %1551, ptr noundef nonnull @.str.4) #12
  %1553 = load i32, ptr %959, align 4, !tbaa !5
  %1554 = call ptr @strerror(i32 noundef %1553) #12
  %1555 = load i32, ptr %959, align 4, !tbaa !5
  %1556 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1547, ptr noundef nonnull %.str.5.sink1636, i32 noundef %1548, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 166, ptr noundef %1550, ptr noundef %1552, ptr noundef %1554, i32 noundef %1555) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1557:                                             ; preds = %1530
  %1558 = load i32, ptr @test_count, align 4, !tbaa !5
  %1559 = add nsw i32 %1558, 1
  store i32 %1559, ptr @test_count, align 4, !tbaa !5
  %1560 = load ptr, ptr %16, align 8, !tbaa !9
  %1561 = getelementptr inbounds i8, ptr %19, i64 2
  %1562 = call i32 @s2n_renegotiate(ptr noundef %1560, ptr noundef nonnull %1561, i64 noundef 20, ptr noundef nonnull %18, ptr noundef nonnull %6) #12
  %1563 = icmp eq i32 %1562, -1
  br i1 %1563, label %1586, label %1564

1564:                                             ; preds = %1557
  %1565 = load i32, ptr %959, align 4, !tbaa !5
  %1566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1567 = call i32 @s2n_print_stacktrace(ptr noundef %1566) #12
  %1568 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1569 = trunc nuw i8 %1568 to i1
  br i1 %1569, label %1570, label %1574

1570:                                             ; preds = %1564
  %1571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1572 = call i32 @fileno(ptr noundef %1571) #12
  %1573 = call i32 @isatty(i32 noundef %1572) #12
  %.not513 = icmp eq i32 %1573, 0
  br i1 %.not513, label %1574, label %1575

1574:                                             ; preds = %1570, %1564
  br label %1575

1575:                                             ; preds = %1570, %1574
  %.str.5.sink1645 = phi ptr [ @.str.5, %1574 ], [ @.str.2, %1570 ]
  store i32 %1565, ptr %959, align 4, !tbaa !5
  %1576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1577 = load i32, ptr @test_count, align 4, !tbaa !5
  %1578 = load i32, ptr %905, align 4, !tbaa !5
  %1579 = call ptr @s2n_strerror(i32 noundef %1578, ptr noundef nonnull @.str.4) #12
  %1580 = load i32, ptr %905, align 4, !tbaa !5
  %1581 = call ptr @s2n_strerror_debug(i32 noundef %1580, ptr noundef nonnull @.str.4) #12
  %1582 = load i32, ptr %959, align 4, !tbaa !5
  %1583 = call ptr @strerror(i32 noundef %1582) #12
  %1584 = load i32, ptr %959, align 4, !tbaa !5
  %1585 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1576, ptr noundef nonnull %.str.5.sink1645, i32 noundef %1577, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 171, ptr noundef %1579, ptr noundef %1581, ptr noundef %1583, i32 noundef %1584) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1586:                                             ; preds = %1557
  %1587 = load i32, ptr @test_count, align 4, !tbaa !5
  %1588 = add nsw i32 %1587, 1
  store i32 %1588, ptr @test_count, align 4, !tbaa !5
  %1589 = load i32, ptr %905, align 4, !tbaa !5
  %1590 = icmp eq i32 %1589, 201326595
  br i1 %1590, label %1613, label %1591

1591:                                             ; preds = %1586
  %1592 = load i32, ptr %959, align 4, !tbaa !5
  %1593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1594 = call i32 @s2n_print_stacktrace(ptr noundef %1593) #12
  %1595 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1596 = trunc nuw i8 %1595 to i1
  br i1 %1596, label %1597, label %1601

1597:                                             ; preds = %1591
  %1598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1599 = call i32 @fileno(ptr noundef %1598) #12
  %1600 = call i32 @isatty(i32 noundef %1599) #12
  %.not514 = icmp eq i32 %1600, 0
  br i1 %.not514, label %1601, label %1602

1601:                                             ; preds = %1597, %1591
  br label %1602

1602:                                             ; preds = %1597, %1601
  %.str.5.sink1654 = phi ptr [ @.str.5, %1601 ], [ @.str.2, %1597 ]
  store i32 %1592, ptr %959, align 4, !tbaa !5
  %1603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1604 = load i32, ptr @test_count, align 4, !tbaa !5
  %1605 = load i32, ptr %905, align 4, !tbaa !5
  %1606 = call ptr @s2n_strerror(i32 noundef %1605, ptr noundef nonnull @.str.4) #12
  %1607 = load i32, ptr %905, align 4, !tbaa !5
  %1608 = call ptr @s2n_strerror_debug(i32 noundef %1607, ptr noundef nonnull @.str.4) #12
  %1609 = load i32, ptr %959, align 4, !tbaa !5
  %1610 = call ptr @strerror(i32 noundef %1609) #12
  %1611 = load i32, ptr %959, align 4, !tbaa !5
  %1612 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1603, ptr noundef nonnull %.str.5.sink1654, i32 noundef %1604, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 171, ptr noundef %1606, ptr noundef %1608, ptr noundef %1610, i32 noundef %1611) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1613:                                             ; preds = %1586
  %1614 = add nsw i32 %1587, 2
  store i32 %1614, ptr @test_count, align 4, !tbaa !5
  %1615 = call ptr @s2n_strerror_debug(i32 noundef 201326595, ptr noundef nonnull @.str.4) #12
  %1616 = icmp eq ptr %1615, null
  br i1 %1616, label %1617, label %1639

1617:                                             ; preds = %1613
  %1618 = load i32, ptr %959, align 4, !tbaa !5
  %1619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1620 = call i32 @s2n_print_stacktrace(ptr noundef %1619) #12
  %1621 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1622 = trunc nuw i8 %1621 to i1
  br i1 %1622, label %1623, label %1627

1623:                                             ; preds = %1617
  %1624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1625 = call i32 @fileno(ptr noundef %1624) #12
  %1626 = call i32 @isatty(i32 noundef %1625) #12
  %.not676 = icmp eq i32 %1626, 0
  br i1 %.not676, label %1627, label %1628

1627:                                             ; preds = %1623, %1617
  br label %1628

1628:                                             ; preds = %1623, %1627
  %.str.5.sink1663 = phi ptr [ @.str.5, %1627 ], [ @.str.2, %1623 ]
  store i32 %1618, ptr %959, align 4, !tbaa !5
  %1629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1630 = load i32, ptr @test_count, align 4, !tbaa !5
  %1631 = load i32, ptr %905, align 4, !tbaa !5
  %1632 = call ptr @s2n_strerror(i32 noundef %1631, ptr noundef nonnull @.str.4) #12
  %1633 = load i32, ptr %905, align 4, !tbaa !5
  %1634 = call ptr @s2n_strerror_debug(i32 noundef %1633, ptr noundef nonnull @.str.4) #12
  %1635 = load i32, ptr %959, align 4, !tbaa !5
  %1636 = call ptr @strerror(i32 noundef %1635) #12
  %1637 = load i32, ptr %959, align 4, !tbaa !5
  %1638 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1629, ptr noundef nonnull %.str.5.sink1663, i32 noundef %1630, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 171, ptr noundef %1632, ptr noundef %1634, ptr noundef %1636, i32 noundef %1637) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1639:                                             ; preds = %1613
  store i32 0, ptr %905, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %959, align 4, !tbaa !5
  %1640 = load i32, ptr @test_count, align 4, !tbaa !5
  %1641 = add nsw i32 %1640, 1
  store i32 %1641, ptr @test_count, align 4, !tbaa !5
  %1642 = load i32, ptr %6, align 4, !tbaa !5
  %1643 = icmp eq i32 %1642, %962
  br i1 %1643, label %1666, label %1644

1644:                                             ; preds = %1639
  %1645 = load i32, ptr %959, align 4, !tbaa !5
  %1646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1647 = call i32 @s2n_print_stacktrace(ptr noundef %1646) #12
  %1648 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1649 = trunc nuw i8 %1648 to i1
  br i1 %1649, label %1650, label %1654

1650:                                             ; preds = %1644
  %1651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1652 = call i32 @fileno(ptr noundef %1651) #12
  %1653 = call i32 @isatty(i32 noundef %1652) #12
  %.not515 = icmp eq i32 %1653, 0
  br i1 %.not515, label %1654, label %1655

1654:                                             ; preds = %1650, %1644
  br label %1655

1655:                                             ; preds = %1650, %1654
  %.str.5.sink1672 = phi ptr [ @.str.5, %1654 ], [ @.str.2, %1650 ]
  store i32 %1645, ptr %959, align 4, !tbaa !5
  %1656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1657 = load i32, ptr @test_count, align 4, !tbaa !5
  %1658 = load i32, ptr %905, align 4, !tbaa !5
  %1659 = call ptr @s2n_strerror(i32 noundef %1658, ptr noundef nonnull @.str.4) #12
  %1660 = load i32, ptr %905, align 4, !tbaa !5
  %1661 = call ptr @s2n_strerror_debug(i32 noundef %1660, ptr noundef nonnull @.str.4) #12
  %1662 = load i32, ptr %959, align 4, !tbaa !5
  %1663 = call ptr @strerror(i32 noundef %1662) #12
  %1664 = load i32, ptr %959, align 4, !tbaa !5
  %1665 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1656, ptr noundef nonnull %.str.5.sink1672, i32 noundef %1657, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 172, ptr noundef %1659, ptr noundef %1661, ptr noundef %1663, i32 noundef %1664) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1666:                                             ; preds = %1639
  %1667 = add nsw i32 %1640, 2
  store i32 %1667, ptr @test_count, align 4, !tbaa !5
  %1668 = load i64, ptr %18, align 8, !tbaa !15
  %1669 = icmp eq i64 %1668, 20
  br i1 %1669, label %1692, label %1670

1670:                                             ; preds = %1666
  %1671 = load i32, ptr %959, align 4, !tbaa !5
  %1672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1673 = call i32 @s2n_print_stacktrace(ptr noundef %1672) #12
  %1674 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1675 = trunc nuw i8 %1674 to i1
  br i1 %1675, label %1676, label %1680

1676:                                             ; preds = %1670
  %1677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1678 = call i32 @fileno(ptr noundef %1677) #12
  %1679 = call i32 @isatty(i32 noundef %1678) #12
  %.not516 = icmp eq i32 %1679, 0
  br i1 %.not516, label %1680, label %1681

1680:                                             ; preds = %1676, %1670
  br label %1681

1681:                                             ; preds = %1676, %1680
  %.str.5.sink1681 = phi ptr [ @.str.5, %1680 ], [ @.str.2, %1676 ]
  store i32 %1671, ptr %959, align 4, !tbaa !5
  %1682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1683 = load i32, ptr @test_count, align 4, !tbaa !5
  %1684 = load i32, ptr %905, align 4, !tbaa !5
  %1685 = call ptr @s2n_strerror(i32 noundef %1684, ptr noundef nonnull @.str.4) #12
  %1686 = load i32, ptr %905, align 4, !tbaa !5
  %1687 = call ptr @s2n_strerror_debug(i32 noundef %1686, ptr noundef nonnull @.str.4) #12
  %1688 = load i32, ptr %959, align 4, !tbaa !5
  %1689 = call ptr @strerror(i32 noundef %1688) #12
  %1690 = load i32, ptr %959, align 4, !tbaa !5
  %1691 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1682, ptr noundef nonnull %.str.5.sink1681, i32 noundef %1683, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 173, ptr noundef %1685, ptr noundef %1687, ptr noundef %1689, i32 noundef %1690) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1692:                                             ; preds = %1666
  %1693 = add nsw i32 %1640, 3
  store i32 %1693, ptr @test_count, align 4, !tbaa !5
  %bcmp517 = call i32 @bcmp(ptr noundef nonnull dereferenceable(22) %19, ptr noundef nonnull dereferenceable(22) %5, i64 22)
  %1694 = icmp eq i32 %bcmp517, 0
  br i1 %1694, label %.preheader722, label %1695

1695:                                             ; preds = %1692
  %1696 = load i32, ptr %959, align 4, !tbaa !5
  %1697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1698 = call i32 @s2n_print_stacktrace(ptr noundef %1697) #12
  %1699 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1700 = trunc nuw i8 %1699 to i1
  br i1 %1700, label %1701, label %1705

1701:                                             ; preds = %1695
  %1702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1703 = call i32 @fileno(ptr noundef %1702) #12
  %1704 = call i32 @isatty(i32 noundef %1703) #12
  %.not518 = icmp eq i32 %1704, 0
  br i1 %.not518, label %1705, label %1706

1705:                                             ; preds = %1701, %1695
  br label %1706

1706:                                             ; preds = %1701, %1705
  %.str.5.sink1690 = phi ptr [ @.str.5, %1705 ], [ @.str.2, %1701 ]
  store i32 %1696, ptr %959, align 4, !tbaa !5
  %1707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1708 = load i32, ptr @test_count, align 4, !tbaa !5
  %1709 = load i32, ptr %905, align 4, !tbaa !5
  %1710 = call ptr @s2n_strerror(i32 noundef %1709, ptr noundef nonnull @.str.4) #12
  %1711 = load i32, ptr %905, align 4, !tbaa !5
  %1712 = call ptr @s2n_strerror_debug(i32 noundef %1711, ptr noundef nonnull @.str.4) #12
  %1713 = load i32, ptr %959, align 4, !tbaa !5
  %1714 = call ptr @strerror(i32 noundef %1713) #12
  %1715 = load i32, ptr %959, align 4, !tbaa !5
  %1716 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1707, ptr noundef nonnull %.str.5.sink1690, i32 noundef %1708, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 174, ptr noundef %1710, ptr noundef %1712, ptr noundef %1714, i32 noundef %1715) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1717:                                             ; preds = %1832
  %1718 = add nuw nsw i64 %.0965, 1
  %exitcond.not = icmp eq i64 %1718, 10
  br i1 %exitcond.not, label %1719, label %.preheader722, !llvm.loop !17

1719:                                             ; preds = %1717
  %1720 = add nsw i32 %1806, 3
  store i32 %1720, ptr @test_count, align 4, !tbaa !5
  %1721 = load ptr, ptr %15, align 8, !tbaa !9
  %1722 = load ptr, ptr %16, align 8, !tbaa !9
  %1723 = call i32 @s2n_renegotiate_test_server_and_client(ptr noundef %1721, ptr noundef %1722)
  %1724 = call zeroext i1 @s2n_result_is_ok(i32 %1723)
  br i1 %1724, label %1880, label %1858

.preheader722:                                    ; preds = %1692, %1717
  %1725 = phi i32 [ %1833, %1717 ], [ %1693, %1692 ]
  %.0965 = phi i64 [ %1718, %1717 ], [ 0, %1692 ]
  %1726 = add nsw i32 %1725, 1
  store i32 %1726, ptr @test_count, align 4, !tbaa !5
  %1727 = load ptr, ptr %16, align 8, !tbaa !9
  %1728 = call i32 @s2n_renegotiate(ptr noundef %1727, ptr noundef nonnull %19, i64 noundef 22, ptr noundef nonnull %18, ptr noundef nonnull %6) #12
  %1729 = icmp eq i32 %1728, -1
  br i1 %1729, label %1752, label %1730

1730:                                             ; preds = %.preheader722
  %1731 = load i32, ptr %959, align 4, !tbaa !5
  %1732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1733 = call i32 @s2n_print_stacktrace(ptr noundef %1732) #12
  %1734 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1735 = trunc nuw i8 %1734 to i1
  br i1 %1735, label %1736, label %1740

1736:                                             ; preds = %1730
  %1737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1738 = call i32 @fileno(ptr noundef %1737) #12
  %1739 = call i32 @isatty(i32 noundef %1738) #12
  %.not671 = icmp eq i32 %1739, 0
  br i1 %.not671, label %1740, label %1741

1740:                                             ; preds = %1736, %1730
  br label %1741

1741:                                             ; preds = %1736, %1740
  %.str.5.sink1699 = phi ptr [ @.str.5, %1740 ], [ @.str.2, %1736 ]
  store i32 %1731, ptr %959, align 4, !tbaa !5
  %1742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1743 = load i32, ptr @test_count, align 4, !tbaa !5
  %1744 = load i32, ptr %905, align 4, !tbaa !5
  %1745 = call ptr @s2n_strerror(i32 noundef %1744, ptr noundef nonnull @.str.4) #12
  %1746 = load i32, ptr %905, align 4, !tbaa !5
  %1747 = call ptr @s2n_strerror_debug(i32 noundef %1746, ptr noundef nonnull @.str.4) #12
  %1748 = load i32, ptr %959, align 4, !tbaa !5
  %1749 = call ptr @strerror(i32 noundef %1748) #12
  %1750 = load i32, ptr %959, align 4, !tbaa !5
  %1751 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1742, ptr noundef nonnull %.str.5.sink1699, i32 noundef %1743, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 180, ptr noundef %1745, ptr noundef %1747, ptr noundef %1749, i32 noundef %1750) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1752:                                             ; preds = %.preheader722
  %1753 = load i32, ptr @test_count, align 4, !tbaa !5
  %1754 = add nsw i32 %1753, 1
  store i32 %1754, ptr @test_count, align 4, !tbaa !5
  %1755 = load i32, ptr %905, align 4, !tbaa !5
  %1756 = icmp eq i32 %1755, 201326592
  br i1 %1756, label %1779, label %1757

1757:                                             ; preds = %1752
  %1758 = load i32, ptr %959, align 4, !tbaa !5
  %1759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1760 = call i32 @s2n_print_stacktrace(ptr noundef %1759) #12
  %1761 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1762 = trunc nuw i8 %1761 to i1
  br i1 %1762, label %1763, label %1767

1763:                                             ; preds = %1757
  %1764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1765 = call i32 @fileno(ptr noundef %1764) #12
  %1766 = call i32 @isatty(i32 noundef %1765) #12
  %.not672 = icmp eq i32 %1766, 0
  br i1 %.not672, label %1767, label %1768

1767:                                             ; preds = %1763, %1757
  br label %1768

1768:                                             ; preds = %1763, %1767
  %.str.5.sink1708 = phi ptr [ @.str.5, %1767 ], [ @.str.2, %1763 ]
  store i32 %1758, ptr %959, align 4, !tbaa !5
  %1769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1770 = load i32, ptr @test_count, align 4, !tbaa !5
  %1771 = load i32, ptr %905, align 4, !tbaa !5
  %1772 = call ptr @s2n_strerror(i32 noundef %1771, ptr noundef nonnull @.str.4) #12
  %1773 = load i32, ptr %905, align 4, !tbaa !5
  %1774 = call ptr @s2n_strerror_debug(i32 noundef %1773, ptr noundef nonnull @.str.4) #12
  %1775 = load i32, ptr %959, align 4, !tbaa !5
  %1776 = call ptr @strerror(i32 noundef %1775) #12
  %1777 = load i32, ptr %959, align 4, !tbaa !5
  %1778 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1769, ptr noundef nonnull %.str.5.sink1708, i32 noundef %1770, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 180, ptr noundef %1772, ptr noundef %1774, ptr noundef %1776, i32 noundef %1777) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1779:                                             ; preds = %1752
  %1780 = add nsw i32 %1753, 2
  store i32 %1780, ptr @test_count, align 4, !tbaa !5
  %1781 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #12
  %1782 = icmp eq ptr %1781, null
  br i1 %1782, label %1783, label %1805

1783:                                             ; preds = %1779
  %1784 = load i32, ptr %959, align 4, !tbaa !5
  %1785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1786 = call i32 @s2n_print_stacktrace(ptr noundef %1785) #12
  %1787 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1788 = trunc nuw i8 %1787 to i1
  br i1 %1788, label %1789, label %1793

1789:                                             ; preds = %1783
  %1790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1791 = call i32 @fileno(ptr noundef %1790) #12
  %1792 = call i32 @isatty(i32 noundef %1791) #12
  %.not675 = icmp eq i32 %1792, 0
  br i1 %.not675, label %1793, label %1794

1793:                                             ; preds = %1789, %1783
  br label %1794

1794:                                             ; preds = %1789, %1793
  %.str.5.sink1717 = phi ptr [ @.str.5, %1793 ], [ @.str.2, %1789 ]
  store i32 %1784, ptr %959, align 4, !tbaa !5
  %1795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1796 = load i32, ptr @test_count, align 4, !tbaa !5
  %1797 = load i32, ptr %905, align 4, !tbaa !5
  %1798 = call ptr @s2n_strerror(i32 noundef %1797, ptr noundef nonnull @.str.4) #12
  %1799 = load i32, ptr %905, align 4, !tbaa !5
  %1800 = call ptr @s2n_strerror_debug(i32 noundef %1799, ptr noundef nonnull @.str.4) #12
  %1801 = load i32, ptr %959, align 4, !tbaa !5
  %1802 = call ptr @strerror(i32 noundef %1801) #12
  %1803 = load i32, ptr %959, align 4, !tbaa !5
  %1804 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1795, ptr noundef nonnull %.str.5.sink1717, i32 noundef %1796, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 180, ptr noundef %1798, ptr noundef %1800, ptr noundef %1802, i32 noundef %1803) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1805:                                             ; preds = %1779
  store i32 0, ptr %905, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %959, align 4, !tbaa !5
  %1806 = load i32, ptr @test_count, align 4, !tbaa !5
  %1807 = add nsw i32 %1806, 1
  store i32 %1807, ptr @test_count, align 4, !tbaa !5
  %1808 = load i32, ptr %6, align 4, !tbaa !5
  %1809 = icmp eq i32 %1808, 1
  br i1 %1809, label %1832, label %1810

1810:                                             ; preds = %1805
  %1811 = load i32, ptr %959, align 4, !tbaa !5
  %1812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1813 = call i32 @s2n_print_stacktrace(ptr noundef %1812) #12
  %1814 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1815 = trunc nuw i8 %1814 to i1
  br i1 %1815, label %1816, label %1820

1816:                                             ; preds = %1810
  %1817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1818 = call i32 @fileno(ptr noundef %1817) #12
  %1819 = call i32 @isatty(i32 noundef %1818) #12
  %.not673 = icmp eq i32 %1819, 0
  br i1 %.not673, label %1820, label %1821

1820:                                             ; preds = %1816, %1810
  br label %1821

1821:                                             ; preds = %1816, %1820
  %.str.5.sink1726 = phi ptr [ @.str.5, %1820 ], [ @.str.2, %1816 ]
  store i32 %1811, ptr %959, align 4, !tbaa !5
  %1822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1823 = load i32, ptr @test_count, align 4, !tbaa !5
  %1824 = load i32, ptr %905, align 4, !tbaa !5
  %1825 = call ptr @s2n_strerror(i32 noundef %1824, ptr noundef nonnull @.str.4) #12
  %1826 = load i32, ptr %905, align 4, !tbaa !5
  %1827 = call ptr @s2n_strerror_debug(i32 noundef %1826, ptr noundef nonnull @.str.4) #12
  %1828 = load i32, ptr %959, align 4, !tbaa !5
  %1829 = call ptr @strerror(i32 noundef %1828) #12
  %1830 = load i32, ptr %959, align 4, !tbaa !5
  %1831 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1822, ptr noundef nonnull %.str.5.sink1726, i32 noundef %1823, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 181, ptr noundef %1825, ptr noundef %1827, ptr noundef %1829, i32 noundef %1830) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1832:                                             ; preds = %1805
  %1833 = add nsw i32 %1806, 2
  store i32 %1833, ptr @test_count, align 4, !tbaa !5
  %1834 = load i64, ptr %18, align 8, !tbaa !15
  %1835 = icmp eq i64 %1834, 0
  br i1 %1835, label %1717, label %1836

1836:                                             ; preds = %1832
  %1837 = load i32, ptr %959, align 4, !tbaa !5
  %1838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1839 = call i32 @s2n_print_stacktrace(ptr noundef %1838) #12
  %1840 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1841 = trunc nuw i8 %1840 to i1
  br i1 %1841, label %1842, label %1846

1842:                                             ; preds = %1836
  %1843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1844 = call i32 @fileno(ptr noundef %1843) #12
  %1845 = call i32 @isatty(i32 noundef %1844) #12
  %.not674 = icmp eq i32 %1845, 0
  br i1 %.not674, label %1846, label %1847

1846:                                             ; preds = %1842, %1836
  br label %1847

1847:                                             ; preds = %1842, %1846
  %.str.5.sink1735 = phi ptr [ @.str.5, %1846 ], [ @.str.2, %1842 ]
  store i32 %1837, ptr %959, align 4, !tbaa !5
  %1848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1849 = load i32, ptr @test_count, align 4, !tbaa !5
  %1850 = load i32, ptr %905, align 4, !tbaa !5
  %1851 = call ptr @s2n_strerror(i32 noundef %1850, ptr noundef nonnull @.str.4) #12
  %1852 = load i32, ptr %905, align 4, !tbaa !5
  %1853 = call ptr @s2n_strerror_debug(i32 noundef %1852, ptr noundef nonnull @.str.4) #12
  %1854 = load i32, ptr %959, align 4, !tbaa !5
  %1855 = call ptr @strerror(i32 noundef %1854) #12
  %1856 = load i32, ptr %959, align 4, !tbaa !5
  %1857 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1848, ptr noundef nonnull %.str.5.sink1735, i32 noundef %1849, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 182, ptr noundef %1851, ptr noundef %1853, ptr noundef %1855, i32 noundef %1856) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1858:                                             ; preds = %1719
  %1859 = load i32, ptr %959, align 4, !tbaa !5
  %1860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1861 = call i32 @s2n_print_stacktrace(ptr noundef %1860) #12
  %1862 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1863 = trunc nuw i8 %1862 to i1
  br i1 %1863, label %1864, label %1868

1864:                                             ; preds = %1858
  %1865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1866 = call i32 @fileno(ptr noundef %1865) #12
  %1867 = call i32 @isatty(i32 noundef %1866) #12
  %.not519 = icmp eq i32 %1867, 0
  br i1 %.not519, label %1868, label %1869

1868:                                             ; preds = %1864, %1858
  br label %1869

1869:                                             ; preds = %1864, %1868
  %.str.5.sink1744 = phi ptr [ @.str.5, %1868 ], [ @.str.2, %1864 ]
  store i32 %1859, ptr %959, align 4, !tbaa !5
  %1870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1871 = load i32, ptr @test_count, align 4, !tbaa !5
  %1872 = load i32, ptr %905, align 4, !tbaa !5
  %1873 = call ptr @s2n_strerror(i32 noundef %1872, ptr noundef nonnull @.str.4) #12
  %1874 = load i32, ptr %905, align 4, !tbaa !5
  %1875 = call ptr @s2n_strerror_debug(i32 noundef %1874, ptr noundef nonnull @.str.4) #12
  %1876 = load i32, ptr %959, align 4, !tbaa !5
  %1877 = call ptr @strerror(i32 noundef %1876) #12
  %1878 = load i32, ptr %959, align 4, !tbaa !5
  %1879 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1870, ptr noundef nonnull %.str.5.sink1744, i32 noundef %1871, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 186, ptr noundef %1873, ptr noundef %1875, ptr noundef %1877, i32 noundef %1878) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1880:                                             ; preds = %1719
  call void @llvm.lifetime.end.p0(i64 22, ptr nonnull %19) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #12
  %1881 = call i32 @s2n_io_pair_close(ptr noundef nonnull %17) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #12
  %1882 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %16) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #12
  %1883 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %15) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %20) #12
  %1884 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %1884, ptr %20, align 8, !tbaa !9
  %1885 = load i32, ptr @test_count, align 4, !tbaa !5
  %1886 = add nsw i32 %1885, 1
  store i32 %1886, ptr @test_count, align 4, !tbaa !5
  %1887 = icmp eq ptr %1884, null
  br i1 %1887, label %1888, label %1910

1888:                                             ; preds = %1880
  %1889 = load i32, ptr %959, align 4, !tbaa !5
  %1890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1891 = call i32 @s2n_print_stacktrace(ptr noundef %1890) #12
  %1892 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1893 = trunc nuw i8 %1892 to i1
  br i1 %1893, label %1894, label %1898

1894:                                             ; preds = %1888
  %1895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1896 = call i32 @fileno(ptr noundef %1895) #12
  %1897 = call i32 @isatty(i32 noundef %1896) #12
  %.not670 = icmp eq i32 %1897, 0
  br i1 %.not670, label %1898, label %1899

1898:                                             ; preds = %1894, %1888
  br label %1899

1899:                                             ; preds = %1894, %1898
  %.str.5.sink1753 = phi ptr [ @.str.5, %1898 ], [ @.str.2, %1894 ]
  store i32 %1889, ptr %959, align 4, !tbaa !5
  %1900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1901 = load i32, ptr @test_count, align 4, !tbaa !5
  %1902 = load i32, ptr %905, align 4, !tbaa !5
  %1903 = call ptr @s2n_strerror(i32 noundef %1902, ptr noundef nonnull @.str.4) #12
  %1904 = load i32, ptr %905, align 4, !tbaa !5
  %1905 = call ptr @s2n_strerror_debug(i32 noundef %1904, ptr noundef nonnull @.str.4) #12
  %1906 = load i32, ptr %959, align 4, !tbaa !5
  %1907 = call ptr @strerror(i32 noundef %1906) #12
  %1908 = load i32, ptr %959, align 4, !tbaa !5
  %1909 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1900, ptr noundef nonnull %.str.5.sink1753, i32 noundef %1901, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 194, ptr noundef %1903, ptr noundef %1905, ptr noundef %1907, i32 noundef %1908) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1910:                                             ; preds = %1880
  %1911 = add nsw i32 %1885, 2
  store i32 %1911, ptr @test_count, align 4, !tbaa !5
  %1912 = call i32 @s2n_connection_set_config(ptr noundef nonnull %1884, ptr noundef nonnull %163) #12
  %1913 = icmp eq i32 %1912, -1
  br i1 %1913, label %1914, label %1936

1914:                                             ; preds = %1910
  %1915 = load i32, ptr %959, align 4, !tbaa !5
  %1916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1917 = call i32 @s2n_print_stacktrace(ptr noundef %1916) #12
  %1918 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1919 = trunc nuw i8 %1918 to i1
  br i1 %1919, label %1920, label %1924

1920:                                             ; preds = %1914
  %1921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1922 = call i32 @fileno(ptr noundef %1921) #12
  %1923 = call i32 @isatty(i32 noundef %1922) #12
  %.not669 = icmp eq i32 %1923, 0
  br i1 %.not669, label %1924, label %1925

1924:                                             ; preds = %1920, %1914
  br label %1925

1925:                                             ; preds = %1920, %1924
  %.str.5.sink1762 = phi ptr [ @.str.5, %1924 ], [ @.str.2, %1920 ]
  store i32 %1915, ptr %959, align 4, !tbaa !5
  %1926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1927 = load i32, ptr @test_count, align 4, !tbaa !5
  %1928 = load i32, ptr %905, align 4, !tbaa !5
  %1929 = call ptr @s2n_strerror(i32 noundef %1928, ptr noundef nonnull @.str.4) #12
  %1930 = load i32, ptr %905, align 4, !tbaa !5
  %1931 = call ptr @s2n_strerror_debug(i32 noundef %1930, ptr noundef nonnull @.str.4) #12
  %1932 = load i32, ptr %959, align 4, !tbaa !5
  %1933 = call ptr @strerror(i32 noundef %1932) #12
  %1934 = load i32, ptr %959, align 4, !tbaa !5
  %1935 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1926, ptr noundef nonnull %.str.5.sink1762, i32 noundef %1927, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 195, ptr noundef %1929, ptr noundef %1931, ptr noundef %1933, i32 noundef %1934) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1936:                                             ; preds = %1910
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %21) #12
  %1937 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %1937, ptr %21, align 8, !tbaa !9
  %1938 = load i32, ptr @test_count, align 4, !tbaa !5
  %1939 = add nsw i32 %1938, 1
  store i32 %1939, ptr @test_count, align 4, !tbaa !5
  %1940 = icmp eq ptr %1937, null
  br i1 %1940, label %1941, label %1963

1941:                                             ; preds = %1936
  %1942 = load i32, ptr %959, align 4, !tbaa !5
  %1943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1944 = call i32 @s2n_print_stacktrace(ptr noundef %1943) #12
  %1945 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1946 = trunc nuw i8 %1945 to i1
  br i1 %1946, label %1947, label %1951

1947:                                             ; preds = %1941
  %1948 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1949 = call i32 @fileno(ptr noundef %1948) #12
  %1950 = call i32 @isatty(i32 noundef %1949) #12
  %.not668 = icmp eq i32 %1950, 0
  br i1 %.not668, label %1951, label %1952

1951:                                             ; preds = %1947, %1941
  br label %1952

1952:                                             ; preds = %1947, %1951
  %.str.5.sink1771 = phi ptr [ @.str.5, %1951 ], [ @.str.2, %1947 ]
  store i32 %1942, ptr %959, align 4, !tbaa !5
  %1953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1954 = load i32, ptr @test_count, align 4, !tbaa !5
  %1955 = load i32, ptr %905, align 4, !tbaa !5
  %1956 = call ptr @s2n_strerror(i32 noundef %1955, ptr noundef nonnull @.str.4) #12
  %1957 = load i32, ptr %905, align 4, !tbaa !5
  %1958 = call ptr @s2n_strerror_debug(i32 noundef %1957, ptr noundef nonnull @.str.4) #12
  %1959 = load i32, ptr %959, align 4, !tbaa !5
  %1960 = call ptr @strerror(i32 noundef %1959) #12
  %1961 = load i32, ptr %959, align 4, !tbaa !5
  %1962 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1953, ptr noundef nonnull %.str.5.sink1771, i32 noundef %1954, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 198, ptr noundef %1956, ptr noundef %1958, ptr noundef %1960, i32 noundef %1961) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1963:                                             ; preds = %1936
  %1964 = add nsw i32 %1938, 2
  store i32 %1964, ptr @test_count, align 4, !tbaa !5
  %1965 = call i32 @s2n_connection_set_config(ptr noundef nonnull %1937, ptr noundef nonnull %163) #12
  %1966 = icmp eq i32 %1965, -1
  br i1 %1966, label %1967, label %1989

1967:                                             ; preds = %1963
  %1968 = load i32, ptr %959, align 4, !tbaa !5
  %1969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1970 = call i32 @s2n_print_stacktrace(ptr noundef %1969) #12
  %1971 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1972 = trunc nuw i8 %1971 to i1
  br i1 %1972, label %1973, label %1977

1973:                                             ; preds = %1967
  %1974 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1975 = call i32 @fileno(ptr noundef %1974) #12
  %1976 = call i32 @isatty(i32 noundef %1975) #12
  %.not667 = icmp eq i32 %1976, 0
  br i1 %.not667, label %1977, label %1978

1977:                                             ; preds = %1973, %1967
  br label %1978

1978:                                             ; preds = %1973, %1977
  %.str.5.sink1780 = phi ptr [ @.str.5, %1977 ], [ @.str.2, %1973 ]
  store i32 %1968, ptr %959, align 4, !tbaa !5
  %1979 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1980 = load i32, ptr @test_count, align 4, !tbaa !5
  %1981 = load i32, ptr %905, align 4, !tbaa !5
  %1982 = call ptr @s2n_strerror(i32 noundef %1981, ptr noundef nonnull @.str.4) #12
  %1983 = load i32, ptr %905, align 4, !tbaa !5
  %1984 = call ptr @s2n_strerror_debug(i32 noundef %1983, ptr noundef nonnull @.str.4) #12
  %1985 = load i32, ptr %959, align 4, !tbaa !5
  %1986 = call ptr @strerror(i32 noundef %1985) #12
  %1987 = load i32, ptr %959, align 4, !tbaa !5
  %1988 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1979, ptr noundef nonnull %.str.5.sink1780, i32 noundef %1980, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 199, ptr noundef %1982, ptr noundef %1984, ptr noundef %1986, i32 noundef %1987) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1989:                                             ; preds = %1963
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %22) #12
  store i64 0, ptr %22, align 8
  %1990 = load i32, ptr @test_count, align 4, !tbaa !5
  %1991 = add nsw i32 %1990, 1
  store i32 %1991, ptr @test_count, align 4, !tbaa !5
  %1992 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef nonnull %22) #12
  %1993 = icmp eq i32 %1992, -1
  br i1 %1993, label %1994, label %2016

1994:                                             ; preds = %1989
  %1995 = load i32, ptr %959, align 4, !tbaa !5
  %1996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1997 = call i32 @s2n_print_stacktrace(ptr noundef %1996) #12
  %1998 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1999 = trunc nuw i8 %1998 to i1
  br i1 %1999, label %2000, label %2004

2000:                                             ; preds = %1994
  %2001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2002 = call i32 @fileno(ptr noundef %2001) #12
  %2003 = call i32 @isatty(i32 noundef %2002) #12
  %.not666 = icmp eq i32 %2003, 0
  br i1 %.not666, label %2004, label %2005

2004:                                             ; preds = %2000, %1994
  br label %2005

2005:                                             ; preds = %2000, %2004
  %.str.5.sink1789 = phi ptr [ @.str.5, %2004 ], [ @.str.2, %2000 ]
  store i32 %1995, ptr %959, align 4, !tbaa !5
  %2006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2007 = load i32, ptr @test_count, align 4, !tbaa !5
  %2008 = load i32, ptr %905, align 4, !tbaa !5
  %2009 = call ptr @s2n_strerror(i32 noundef %2008, ptr noundef nonnull @.str.4) #12
  %2010 = load i32, ptr %905, align 4, !tbaa !5
  %2011 = call ptr @s2n_strerror_debug(i32 noundef %2010, ptr noundef nonnull @.str.4) #12
  %2012 = load i32, ptr %959, align 4, !tbaa !5
  %2013 = call ptr @strerror(i32 noundef %2012) #12
  %2014 = load i32, ptr %959, align 4, !tbaa !5
  %2015 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2006, ptr noundef nonnull %.str.5.sink1789, i32 noundef %2007, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 202, ptr noundef %2009, ptr noundef %2011, ptr noundef %2013, i32 noundef %2014) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2016:                                             ; preds = %1989
  %2017 = load i32, ptr @test_count, align 4, !tbaa !5
  %2018 = add nsw i32 %2017, 1
  store i32 %2018, ptr @test_count, align 4, !tbaa !5
  %2019 = load ptr, ptr %21, align 8, !tbaa !9
  %2020 = load ptr, ptr %20, align 8, !tbaa !9
  %2021 = call i32 @s2n_connections_set_io_pair(ptr noundef %2019, ptr noundef %2020, ptr noundef nonnull %22) #12
  %2022 = icmp eq i32 %2021, -1
  br i1 %2022, label %2023, label %2045

2023:                                             ; preds = %2016
  %2024 = load i32, ptr %959, align 4, !tbaa !5
  %2025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2026 = call i32 @s2n_print_stacktrace(ptr noundef %2025) #12
  %2027 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2028 = trunc nuw i8 %2027 to i1
  br i1 %2028, label %2029, label %2033

2029:                                             ; preds = %2023
  %2030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2031 = call i32 @fileno(ptr noundef %2030) #12
  %2032 = call i32 @isatty(i32 noundef %2031) #12
  %.not665 = icmp eq i32 %2032, 0
  br i1 %.not665, label %2033, label %2034

2033:                                             ; preds = %2029, %2023
  br label %2034

2034:                                             ; preds = %2029, %2033
  %.str.5.sink1798 = phi ptr [ @.str.5, %2033 ], [ @.str.2, %2029 ]
  store i32 %2024, ptr %959, align 4, !tbaa !5
  %2035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2036 = load i32, ptr @test_count, align 4, !tbaa !5
  %2037 = load i32, ptr %905, align 4, !tbaa !5
  %2038 = call ptr @s2n_strerror(i32 noundef %2037, ptr noundef nonnull @.str.4) #12
  %2039 = load i32, ptr %905, align 4, !tbaa !5
  %2040 = call ptr @s2n_strerror_debug(i32 noundef %2039, ptr noundef nonnull @.str.4) #12
  %2041 = load i32, ptr %959, align 4, !tbaa !5
  %2042 = call ptr @strerror(i32 noundef %2041) #12
  %2043 = load i32, ptr %959, align 4, !tbaa !5
  %2044 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2035, ptr noundef nonnull %.str.5.sink1798, i32 noundef %2036, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 203, ptr noundef %2038, ptr noundef %2040, ptr noundef %2042, i32 noundef %2043) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2045:                                             ; preds = %2016
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %23) #12
  store i64 0, ptr %23, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 22, ptr nonnull %24) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(22) %24, i8 0, i64 22, i1 false)
  %2046 = load i32, ptr @test_count, align 4, !tbaa !5
  %2047 = add nsw i32 %2046, 1
  store i32 %2047, ptr @test_count, align 4, !tbaa !5
  %2048 = load ptr, ptr %20, align 8, !tbaa !9
  %2049 = load ptr, ptr %21, align 8, !tbaa !9
  %2050 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %2048, ptr noundef %2049) #12
  %2051 = icmp eq i32 %2050, -1
  br i1 %2051, label %2052, label %2074

2052:                                             ; preds = %2045
  %2053 = load i32, ptr %959, align 4, !tbaa !5
  %2054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2055 = call i32 @s2n_print_stacktrace(ptr noundef %2054) #12
  %2056 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2057 = trunc nuw i8 %2056 to i1
  br i1 %2057, label %2058, label %2062

2058:                                             ; preds = %2052
  %2059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2060 = call i32 @fileno(ptr noundef %2059) #12
  %2061 = call i32 @isatty(i32 noundef %2060) #12
  %.not664 = icmp eq i32 %2061, 0
  br i1 %.not664, label %2062, label %2063

2062:                                             ; preds = %2058, %2052
  br label %2063

2063:                                             ; preds = %2058, %2062
  %.str.5.sink1807 = phi ptr [ @.str.5, %2062 ], [ @.str.2, %2058 ]
  store i32 %2053, ptr %959, align 4, !tbaa !5
  %2064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2065 = load i32, ptr @test_count, align 4, !tbaa !5
  %2066 = load i32, ptr %905, align 4, !tbaa !5
  %2067 = call ptr @s2n_strerror(i32 noundef %2066, ptr noundef nonnull @.str.4) #12
  %2068 = load i32, ptr %905, align 4, !tbaa !5
  %2069 = call ptr @s2n_strerror_debug(i32 noundef %2068, ptr noundef nonnull @.str.4) #12
  %2070 = load i32, ptr %959, align 4, !tbaa !5
  %2071 = call ptr @strerror(i32 noundef %2070) #12
  %2072 = load i32, ptr %959, align 4, !tbaa !5
  %2073 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2064, ptr noundef nonnull %.str.5.sink1807, i32 noundef %2065, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 209, ptr noundef %2067, ptr noundef %2069, ptr noundef %2071, i32 noundef %2072) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2074:                                             ; preds = %2045
  %2075 = load i32, ptr @test_count, align 4, !tbaa !5
  %2076 = add nsw i32 %2075, 1
  store i32 %2076, ptr @test_count, align 4, !tbaa !5
  %2077 = load ptr, ptr %21, align 8, !tbaa !9
  %2078 = call i32 @s2n_renegotiate_wipe(ptr noundef %2077) #12
  %2079 = icmp eq i32 %2078, -1
  br i1 %2079, label %2080, label %2102

2080:                                             ; preds = %2074
  %2081 = load i32, ptr %959, align 4, !tbaa !5
  %2082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2083 = call i32 @s2n_print_stacktrace(ptr noundef %2082) #12
  %2084 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2085 = trunc nuw i8 %2084 to i1
  br i1 %2085, label %2086, label %2090

2086:                                             ; preds = %2080
  %2087 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2088 = call i32 @fileno(ptr noundef %2087) #12
  %2089 = call i32 @isatty(i32 noundef %2088) #12
  %.not663 = icmp eq i32 %2089, 0
  br i1 %.not663, label %2090, label %2091

2090:                                             ; preds = %2086, %2080
  br label %2091

2091:                                             ; preds = %2086, %2090
  %.str.5.sink1816 = phi ptr [ @.str.5, %2090 ], [ @.str.2, %2086 ]
  store i32 %2081, ptr %959, align 4, !tbaa !5
  %2092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2093 = load i32, ptr @test_count, align 4, !tbaa !5
  %2094 = load i32, ptr %905, align 4, !tbaa !5
  %2095 = call ptr @s2n_strerror(i32 noundef %2094, ptr noundef nonnull @.str.4) #12
  %2096 = load i32, ptr %905, align 4, !tbaa !5
  %2097 = call ptr @s2n_strerror_debug(i32 noundef %2096, ptr noundef nonnull @.str.4) #12
  %2098 = load i32, ptr %959, align 4, !tbaa !5
  %2099 = call ptr @strerror(i32 noundef %2098) #12
  %2100 = load i32, ptr %959, align 4, !tbaa !5
  %2101 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2092, ptr noundef nonnull %.str.5.sink1816, i32 noundef %2093, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 210, ptr noundef %2095, ptr noundef %2097, ptr noundef %2099, i32 noundef %2100) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2102:                                             ; preds = %2074
  %2103 = load i32, ptr @test_count, align 4, !tbaa !5
  %2104 = add nsw i32 %2103, 1
  store i32 %2104, ptr @test_count, align 4, !tbaa !5
  %2105 = load ptr, ptr %20, align 8, !tbaa !9
  %2106 = call i32 @s2n_renegotiate_wipe(ptr noundef %2105) #12
  %2107 = icmp eq i32 %2106, -1
  br i1 %2107, label %2113, label %.preheader721.preheader

.preheader721.preheader:                          ; preds = %2102
  %2108 = load i32, ptr @test_count, align 4, !tbaa !5
  %2109 = add nsw i32 %2108, 1
  store i32 %2109, ptr @test_count, align 4, !tbaa !5
  %2110 = load ptr, ptr %20, align 8, !tbaa !9
  %2111 = call i64 @s2n_send(ptr noundef %2110, ptr noundef nonnull %5, i64 noundef 22, ptr noundef nonnull %6) #12
  %2112 = icmp eq i64 %2111, 22
  br i1 %2112, label %.preheader721.1, label %2180

2113:                                             ; preds = %2102
  %2114 = load i32, ptr %959, align 4, !tbaa !5
  %2115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2116 = call i32 @s2n_print_stacktrace(ptr noundef %2115) #12
  %2117 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2118 = trunc nuw i8 %2117 to i1
  br i1 %2118, label %2119, label %2123

2119:                                             ; preds = %2113
  %2120 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2121 = call i32 @fileno(ptr noundef %2120) #12
  %2122 = call i32 @isatty(i32 noundef %2121) #12
  %.not662 = icmp eq i32 %2122, 0
  br i1 %.not662, label %2123, label %2124

2123:                                             ; preds = %2119, %2113
  br label %2124

2124:                                             ; preds = %2119, %2123
  %.str.5.sink1825 = phi ptr [ @.str.5, %2123 ], [ @.str.2, %2119 ]
  store i32 %2114, ptr %959, align 4, !tbaa !5
  %2125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2126 = load i32, ptr @test_count, align 4, !tbaa !5
  %2127 = load i32, ptr %905, align 4, !tbaa !5
  %2128 = call ptr @s2n_strerror(i32 noundef %2127, ptr noundef nonnull @.str.4) #12
  %2129 = load i32, ptr %905, align 4, !tbaa !5
  %2130 = call ptr @s2n_strerror_debug(i32 noundef %2129, ptr noundef nonnull @.str.4) #12
  %2131 = load i32, ptr %959, align 4, !tbaa !5
  %2132 = call ptr @strerror(i32 noundef %2131) #12
  %2133 = load i32, ptr %959, align 4, !tbaa !5
  %2134 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2125, ptr noundef nonnull %.str.5.sink1825, i32 noundef %2126, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 211, ptr noundef %2128, ptr noundef %2130, ptr noundef %2132, i32 noundef %2133) #14
  call void @exit(i32 noundef 1) #15
  unreachable

.preheader721.1:                                  ; preds = %.preheader721.preheader
  %2135 = load i32, ptr @test_count, align 4, !tbaa !5
  %2136 = add nsw i32 %2135, 1
  store i32 %2136, ptr @test_count, align 4, !tbaa !5
  %2137 = load ptr, ptr %20, align 8, !tbaa !9
  %2138 = call i64 @s2n_send(ptr noundef %2137, ptr noundef nonnull %5, i64 noundef 22, ptr noundef nonnull %6) #12
  %2139 = icmp eq i64 %2138, 22
  br i1 %2139, label %.preheader721.2, label %2180

.preheader721.2:                                  ; preds = %.preheader721.1
  %2140 = load i32, ptr @test_count, align 4, !tbaa !5
  %2141 = add nsw i32 %2140, 1
  store i32 %2141, ptr @test_count, align 4, !tbaa !5
  %2142 = load ptr, ptr %20, align 8, !tbaa !9
  %2143 = call i64 @s2n_send(ptr noundef %2142, ptr noundef nonnull %5, i64 noundef 22, ptr noundef nonnull %6) #12
  %2144 = icmp eq i64 %2143, 22
  br i1 %2144, label %.preheader721.3, label %2180

.preheader721.3:                                  ; preds = %.preheader721.2
  %2145 = load i32, ptr @test_count, align 4, !tbaa !5
  %2146 = add nsw i32 %2145, 1
  store i32 %2146, ptr @test_count, align 4, !tbaa !5
  %2147 = load ptr, ptr %20, align 8, !tbaa !9
  %2148 = call i64 @s2n_send(ptr noundef %2147, ptr noundef nonnull %5, i64 noundef 22, ptr noundef nonnull %6) #12
  %2149 = icmp eq i64 %2148, 22
  br i1 %2149, label %.preheader721.4, label %2180

.preheader721.4:                                  ; preds = %.preheader721.3
  %2150 = load i32, ptr @test_count, align 4, !tbaa !5
  %2151 = add nsw i32 %2150, 1
  store i32 %2151, ptr @test_count, align 4, !tbaa !5
  %2152 = load ptr, ptr %20, align 8, !tbaa !9
  %2153 = call i64 @s2n_send(ptr noundef %2152, ptr noundef nonnull %5, i64 noundef 22, ptr noundef nonnull %6) #12
  %2154 = icmp eq i64 %2153, 22
  br i1 %2154, label %.preheader721.5, label %2180

.preheader721.5:                                  ; preds = %.preheader721.4
  %2155 = load i32, ptr @test_count, align 4, !tbaa !5
  %2156 = add nsw i32 %2155, 1
  store i32 %2156, ptr @test_count, align 4, !tbaa !5
  %2157 = load ptr, ptr %20, align 8, !tbaa !9
  %2158 = call i64 @s2n_send(ptr noundef %2157, ptr noundef nonnull %5, i64 noundef 22, ptr noundef nonnull %6) #12
  %2159 = icmp eq i64 %2158, 22
  br i1 %2159, label %.preheader721.6, label %2180

.preheader721.6:                                  ; preds = %.preheader721.5
  %2160 = load i32, ptr @test_count, align 4, !tbaa !5
  %2161 = add nsw i32 %2160, 1
  store i32 %2161, ptr @test_count, align 4, !tbaa !5
  %2162 = load ptr, ptr %20, align 8, !tbaa !9
  %2163 = call i64 @s2n_send(ptr noundef %2162, ptr noundef nonnull %5, i64 noundef 22, ptr noundef nonnull %6) #12
  %2164 = icmp eq i64 %2163, 22
  br i1 %2164, label %.preheader721.7, label %2180

.preheader721.7:                                  ; preds = %.preheader721.6
  %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 = load ptr, ptr %20, align 8, !tbaa !9
  %2168 = call i64 @s2n_send(ptr noundef %2167, ptr noundef nonnull %5, i64 noundef 22, ptr noundef nonnull %6) #12
  %2169 = icmp eq i64 %2168, 22
  br i1 %2169, label %.preheader721.8, label %2180

.preheader721.8:                                  ; preds = %.preheader721.7
  %2170 = load i32, ptr @test_count, align 4, !tbaa !5
  %2171 = add nsw i32 %2170, 1
  store i32 %2171, ptr @test_count, align 4, !tbaa !5
  %2172 = load ptr, ptr %20, align 8, !tbaa !9
  %2173 = call i64 @s2n_send(ptr noundef %2172, ptr noundef nonnull %5, i64 noundef 22, ptr noundef nonnull %6) #12
  %2174 = icmp eq i64 %2173, 22
  br i1 %2174, label %.preheader721.9, label %2180

.preheader721.9:                                  ; preds = %.preheader721.8
  %2175 = load i32, ptr @test_count, align 4, !tbaa !5
  %2176 = add nsw i32 %2175, 1
  store i32 %2176, ptr @test_count, align 4, !tbaa !5
  %2177 = load ptr, ptr %20, align 8, !tbaa !9
  %2178 = call i64 @s2n_send(ptr noundef %2177, ptr noundef nonnull %5, i64 noundef 22, ptr noundef nonnull %6) #12
  %2179 = icmp eq i64 %2178, 22
  br i1 %2179, label %.preheader.preheader, label %2180

.preheader.preheader:                             ; preds = %.preheader721.9
  %.pre = load i32, ptr @test_count, align 4, !tbaa !5
  br label %.preheader

2180:                                             ; preds = %.preheader721.9, %.preheader721.8, %.preheader721.7, %.preheader721.6, %.preheader721.5, %.preheader721.4, %.preheader721.3, %.preheader721.2, %.preheader721.1, %.preheader721.preheader
  %2181 = load i32, ptr %959, align 4, !tbaa !5
  %2182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2183 = call i32 @s2n_print_stacktrace(ptr noundef %2182) #12
  %2184 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2185 = trunc nuw i8 %2184 to i1
  br i1 %2185, label %2186, label %2190

2186:                                             ; preds = %2180
  %2187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2188 = call i32 @fileno(ptr noundef %2187) #12
  %2189 = call i32 @isatty(i32 noundef %2188) #12
  %.not661 = icmp eq i32 %2189, 0
  br i1 %.not661, label %2190, label %2191

2190:                                             ; preds = %2186, %2180
  br label %2191

2191:                                             ; preds = %2186, %2190
  %.str.5.sink1834 = phi ptr [ @.str.5, %2190 ], [ @.str.2, %2186 ]
  store i32 %2181, ptr %959, align 4, !tbaa !5
  %2192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2193 = load i32, ptr @test_count, align 4, !tbaa !5
  %2194 = load i32, ptr %905, align 4, !tbaa !5
  %2195 = call ptr @s2n_strerror(i32 noundef %2194, ptr noundef nonnull @.str.4) #12
  %2196 = load i32, ptr %905, align 4, !tbaa !5
  %2197 = call ptr @s2n_strerror_debug(i32 noundef %2196, ptr noundef nonnull @.str.4) #12
  %2198 = load i32, ptr %959, align 4, !tbaa !5
  %2199 = call ptr @strerror(i32 noundef %2198) #12
  %2200 = load i32, ptr %959, align 4, !tbaa !5
  %2201 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2192, ptr noundef nonnull %.str.5.sink1834, i32 noundef %2193, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 215, ptr noundef %2195, ptr noundef %2197, ptr noundef %2199, i32 noundef %2200) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2202:                                             ; preds = %2365
  %2203 = add nsw i32 %2288, 4
  store i32 %2203, ptr @test_count, align 4, !tbaa !5
  %2204 = load ptr, ptr %21, align 8, !tbaa !9
  %2205 = call i32 @s2n_conn_get_current_message_type(ptr noundef %2204) #12
  %2206 = icmp eq i32 %2205, 1
  br i1 %2206, label %2389, label %2367

.preheader:                                       ; preds = %.preheader.preheader, %2365
  %2207 = phi i32 [ %2341, %2365 ], [ %.pre, %.preheader.preheader ]
  %.0478967 = phi i64 [ %2366, %2365 ], [ 0, %.preheader.preheader ]
  %2208 = add nsw i32 %2207, 1
  store i32 %2208, ptr @test_count, align 4, !tbaa !5
  %2209 = load ptr, ptr %21, align 8, !tbaa !9
  %2210 = call i32 @s2n_renegotiate(ptr noundef %2209, ptr noundef nonnull %24, i64 noundef 22, ptr noundef nonnull %23, ptr noundef nonnull %6) #12
  %2211 = icmp eq i32 %2210, -1
  br i1 %2211, label %2234, label %2212

2212:                                             ; preds = %.preheader
  %2213 = load i32, ptr %959, align 4, !tbaa !5
  %2214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2215 = call i32 @s2n_print_stacktrace(ptr noundef %2214) #12
  %2216 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2217 = trunc nuw i8 %2216 to i1
  br i1 %2217, label %2218, label %2222

2218:                                             ; preds = %2212
  %2219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2220 = call i32 @fileno(ptr noundef %2219) #12
  %2221 = call i32 @isatty(i32 noundef %2220) #12
  %.not654 = icmp eq i32 %2221, 0
  br i1 %.not654, label %2222, label %2223

2222:                                             ; preds = %2218, %2212
  br label %2223

2223:                                             ; preds = %2218, %2222
  %.str.5.sink1843 = phi ptr [ @.str.5, %2222 ], [ @.str.2, %2218 ]
  store i32 %2213, ptr %959, align 4, !tbaa !5
  %2224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2225 = load i32, ptr @test_count, align 4, !tbaa !5
  %2226 = load i32, ptr %905, align 4, !tbaa !5
  %2227 = call ptr @s2n_strerror(i32 noundef %2226, ptr noundef nonnull @.str.4) #12
  %2228 = load i32, ptr %905, align 4, !tbaa !5
  %2229 = call ptr @s2n_strerror_debug(i32 noundef %2228, ptr noundef nonnull @.str.4) #12
  %2230 = load i32, ptr %959, align 4, !tbaa !5
  %2231 = call ptr @strerror(i32 noundef %2230) #12
  %2232 = load i32, ptr %959, align 4, !tbaa !5
  %2233 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2224, ptr noundef nonnull %.str.5.sink1843, i32 noundef %2225, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 222, ptr noundef %2227, ptr noundef %2229, ptr noundef %2231, i32 noundef %2232) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2234:                                             ; preds = %.preheader
  %2235 = load i32, ptr @test_count, align 4, !tbaa !5
  %2236 = add nsw i32 %2235, 1
  store i32 %2236, ptr @test_count, align 4, !tbaa !5
  %2237 = load i32, ptr %905, align 4, !tbaa !5
  %2238 = icmp eq i32 %2237, 201326595
  br i1 %2238, label %2261, label %2239

2239:                                             ; preds = %2234
  %2240 = load i32, ptr %959, align 4, !tbaa !5
  %2241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2242 = call i32 @s2n_print_stacktrace(ptr noundef %2241) #12
  %2243 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2244 = trunc nuw i8 %2243 to i1
  br i1 %2244, label %2245, label %2249

2245:                                             ; preds = %2239
  %2246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2247 = call i32 @fileno(ptr noundef %2246) #12
  %2248 = call i32 @isatty(i32 noundef %2247) #12
  %.not655 = icmp eq i32 %2248, 0
  br i1 %.not655, label %2249, label %2250

2249:                                             ; preds = %2245, %2239
  br label %2250

2250:                                             ; preds = %2245, %2249
  %.str.5.sink1852 = phi ptr [ @.str.5, %2249 ], [ @.str.2, %2245 ]
  store i32 %2240, ptr %959, align 4, !tbaa !5
  %2251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2252 = load i32, ptr @test_count, align 4, !tbaa !5
  %2253 = load i32, ptr %905, align 4, !tbaa !5
  %2254 = call ptr @s2n_strerror(i32 noundef %2253, ptr noundef nonnull @.str.4) #12
  %2255 = load i32, ptr %905, align 4, !tbaa !5
  %2256 = call ptr @s2n_strerror_debug(i32 noundef %2255, ptr noundef nonnull @.str.4) #12
  %2257 = load i32, ptr %959, align 4, !tbaa !5
  %2258 = call ptr @strerror(i32 noundef %2257) #12
  %2259 = load i32, ptr %959, align 4, !tbaa !5
  %2260 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2251, ptr noundef nonnull %.str.5.sink1852, i32 noundef %2252, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 222, ptr noundef %2254, ptr noundef %2256, ptr noundef %2258, i32 noundef %2259) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2261:                                             ; preds = %2234
  %2262 = add nsw i32 %2235, 2
  store i32 %2262, ptr @test_count, align 4, !tbaa !5
  %2263 = call ptr @s2n_strerror_debug(i32 noundef 201326595, ptr noundef nonnull @.str.4) #12
  %2264 = icmp eq ptr %2263, null
  br i1 %2264, label %2265, label %2287

2265:                                             ; preds = %2261
  %2266 = load i32, ptr %959, align 4, !tbaa !5
  %2267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2268 = call i32 @s2n_print_stacktrace(ptr noundef %2267) #12
  %2269 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2270 = trunc nuw i8 %2269 to i1
  br i1 %2270, label %2271, label %2275

2271:                                             ; preds = %2265
  %2272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2273 = call i32 @fileno(ptr noundef %2272) #12
  %2274 = call i32 @isatty(i32 noundef %2273) #12
  %.not660 = icmp eq i32 %2274, 0
  br i1 %.not660, label %2275, label %2276

2275:                                             ; preds = %2271, %2265
  br label %2276

2276:                                             ; preds = %2271, %2275
  %.str.5.sink1861 = phi ptr [ @.str.5, %2275 ], [ @.str.2, %2271 ]
  store i32 %2266, ptr %959, align 4, !tbaa !5
  %2277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2278 = load i32, ptr @test_count, align 4, !tbaa !5
  %2279 = load i32, ptr %905, align 4, !tbaa !5
  %2280 = call ptr @s2n_strerror(i32 noundef %2279, ptr noundef nonnull @.str.4) #12
  %2281 = load i32, ptr %905, align 4, !tbaa !5
  %2282 = call ptr @s2n_strerror_debug(i32 noundef %2281, ptr noundef nonnull @.str.4) #12
  %2283 = load i32, ptr %959, align 4, !tbaa !5
  %2284 = call ptr @strerror(i32 noundef %2283) #12
  %2285 = load i32, ptr %959, align 4, !tbaa !5
  %2286 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2277, ptr noundef nonnull %.str.5.sink1861, i32 noundef %2278, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 222, ptr noundef %2280, ptr noundef %2282, ptr noundef %2284, i32 noundef %2285) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2287:                                             ; preds = %2261
  store i32 0, ptr %905, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %959, align 4, !tbaa !5
  %2288 = load i32, ptr @test_count, align 4, !tbaa !5
  %2289 = add nsw i32 %2288, 1
  store i32 %2289, ptr @test_count, align 4, !tbaa !5
  %2290 = load i32, ptr %6, align 4, !tbaa !5
  %2291 = icmp eq i32 %2290, %962
  br i1 %2291, label %2314, label %2292

2292:                                             ; preds = %2287
  %2293 = load i32, ptr %959, align 4, !tbaa !5
  %2294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2295 = call i32 @s2n_print_stacktrace(ptr noundef %2294) #12
  %2296 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2297 = trunc nuw i8 %2296 to i1
  br i1 %2297, label %2298, label %2302

2298:                                             ; preds = %2292
  %2299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2300 = call i32 @fileno(ptr noundef %2299) #12
  %2301 = call i32 @isatty(i32 noundef %2300) #12
  %.not656 = icmp eq i32 %2301, 0
  br i1 %.not656, label %2302, label %2303

2302:                                             ; preds = %2298, %2292
  br label %2303

2303:                                             ; preds = %2298, %2302
  %.str.5.sink1870 = phi ptr [ @.str.5, %2302 ], [ @.str.2, %2298 ]
  store i32 %2293, ptr %959, align 4, !tbaa !5
  %2304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2305 = load i32, ptr @test_count, align 4, !tbaa !5
  %2306 = load i32, ptr %905, align 4, !tbaa !5
  %2307 = call ptr @s2n_strerror(i32 noundef %2306, ptr noundef nonnull @.str.4) #12
  %2308 = load i32, ptr %905, align 4, !tbaa !5
  %2309 = call ptr @s2n_strerror_debug(i32 noundef %2308, ptr noundef nonnull @.str.4) #12
  %2310 = load i32, ptr %959, align 4, !tbaa !5
  %2311 = call ptr @strerror(i32 noundef %2310) #12
  %2312 = load i32, ptr %959, align 4, !tbaa !5
  %2313 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2304, ptr noundef nonnull %.str.5.sink1870, i32 noundef %2305, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 223, ptr noundef %2307, ptr noundef %2309, ptr noundef %2311, i32 noundef %2312) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2314:                                             ; preds = %2287
  %2315 = add nsw i32 %2288, 2
  store i32 %2315, ptr @test_count, align 4, !tbaa !5
  %2316 = load i64, ptr %23, align 8, !tbaa !15
  %2317 = icmp eq i64 %2316, 22
  br i1 %2317, label %2340, label %2318

2318:                                             ; preds = %2314
  %2319 = load i32, ptr %959, align 4, !tbaa !5
  %2320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2321 = call i32 @s2n_print_stacktrace(ptr noundef %2320) #12
  %2322 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2323 = trunc nuw i8 %2322 to i1
  br i1 %2323, label %2324, label %2328

2324:                                             ; preds = %2318
  %2325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2326 = call i32 @fileno(ptr noundef %2325) #12
  %2327 = call i32 @isatty(i32 noundef %2326) #12
  %.not657 = icmp eq i32 %2327, 0
  br i1 %.not657, label %2328, label %2329

2328:                                             ; preds = %2324, %2318
  br label %2329

2329:                                             ; preds = %2324, %2328
  %.str.5.sink1879 = phi ptr [ @.str.5, %2328 ], [ @.str.2, %2324 ]
  store i32 %2319, ptr %959, align 4, !tbaa !5
  %2330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2331 = load i32, ptr @test_count, align 4, !tbaa !5
  %2332 = load i32, ptr %905, align 4, !tbaa !5
  %2333 = call ptr @s2n_strerror(i32 noundef %2332, ptr noundef nonnull @.str.4) #12
  %2334 = load i32, ptr %905, align 4, !tbaa !5
  %2335 = call ptr @s2n_strerror_debug(i32 noundef %2334, ptr noundef nonnull @.str.4) #12
  %2336 = load i32, ptr %959, align 4, !tbaa !5
  %2337 = call ptr @strerror(i32 noundef %2336) #12
  %2338 = load i32, ptr %959, align 4, !tbaa !5
  %2339 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2330, ptr noundef nonnull %.str.5.sink1879, i32 noundef %2331, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 224, ptr noundef %2333, ptr noundef %2335, ptr noundef %2337, i32 noundef %2338) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2340:                                             ; preds = %2314
  %2341 = add nsw i32 %2288, 3
  store i32 %2341, ptr @test_count, align 4, !tbaa !5
  %bcmp658 = call i32 @bcmp(ptr noundef nonnull dereferenceable(22) %24, ptr noundef nonnull dereferenceable(22) %5, i64 22)
  %2342 = icmp eq i32 %bcmp658, 0
  br i1 %2342, label %2365, label %2343

2343:                                             ; preds = %2340
  %2344 = load i32, ptr %959, align 4, !tbaa !5
  %2345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2346 = call i32 @s2n_print_stacktrace(ptr noundef %2345) #12
  %2347 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2348 = trunc nuw i8 %2347 to i1
  br i1 %2348, label %2349, label %2353

2349:                                             ; preds = %2343
  %2350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2351 = call i32 @fileno(ptr noundef %2350) #12
  %2352 = call i32 @isatty(i32 noundef %2351) #12
  %.not659 = icmp eq i32 %2352, 0
  br i1 %.not659, label %2353, label %2354

2353:                                             ; preds = %2349, %2343
  br label %2354

2354:                                             ; preds = %2349, %2353
  %.str.5.sink1888 = phi ptr [ @.str.5, %2353 ], [ @.str.2, %2349 ]
  store i32 %2344, ptr %959, align 4, !tbaa !5
  %2355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2356 = load i32, ptr @test_count, align 4, !tbaa !5
  %2357 = load i32, ptr %905, align 4, !tbaa !5
  %2358 = call ptr @s2n_strerror(i32 noundef %2357, ptr noundef nonnull @.str.4) #12
  %2359 = load i32, ptr %905, align 4, !tbaa !5
  %2360 = call ptr @s2n_strerror_debug(i32 noundef %2359, ptr noundef nonnull @.str.4) #12
  %2361 = load i32, ptr %959, align 4, !tbaa !5
  %2362 = call ptr @strerror(i32 noundef %2361) #12
  %2363 = load i32, ptr %959, align 4, !tbaa !5
  %2364 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2355, ptr noundef nonnull %.str.5.sink1888, i32 noundef %2356, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 225, ptr noundef %2358, ptr noundef %2360, ptr noundef %2362, i32 noundef %2363) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2365:                                             ; preds = %2340
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(22) %24, i8 0, i64 22, i1 false)
  %2366 = add nuw nsw i64 %.0478967, 1
  %exitcond1037.not = icmp eq i64 %2366, 10
  br i1 %exitcond1037.not, label %2202, label %.preheader, !llvm.loop !19

2367:                                             ; preds = %2202
  %2368 = load i32, ptr %959, align 4, !tbaa !5
  %2369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2370 = call i32 @s2n_print_stacktrace(ptr noundef %2369) #12
  %2371 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2372 = trunc nuw i8 %2371 to i1
  br i1 %2372, label %2373, label %2377

2373:                                             ; preds = %2367
  %2374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2375 = call i32 @fileno(ptr noundef %2374) #12
  %2376 = call i32 @isatty(i32 noundef %2375) #12
  %.not520 = icmp eq i32 %2376, 0
  br i1 %.not520, label %2377, label %2378

2377:                                             ; preds = %2373, %2367
  br label %2378

2378:                                             ; preds = %2373, %2377
  %.str.5.sink1897 = phi ptr [ @.str.5, %2377 ], [ @.str.2, %2373 ]
  store i32 %2368, ptr %959, align 4, !tbaa !5
  %2379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2380 = load i32, ptr @test_count, align 4, !tbaa !5
  %2381 = load i32, ptr %905, align 4, !tbaa !5
  %2382 = call ptr @s2n_strerror(i32 noundef %2381, ptr noundef nonnull @.str.4) #12
  %2383 = load i32, ptr %905, align 4, !tbaa !5
  %2384 = call ptr @s2n_strerror_debug(i32 noundef %2383, ptr noundef nonnull @.str.4) #12
  %2385 = load i32, ptr %959, align 4, !tbaa !5
  %2386 = call ptr @strerror(i32 noundef %2385) #12
  %2387 = load i32, ptr %959, align 4, !tbaa !5
  %2388 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2379, ptr noundef nonnull %.str.5.sink1897, i32 noundef %2380, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 230, ptr noundef %2382, ptr noundef %2384, ptr noundef %2386, i32 noundef %2387) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2389:                                             ; preds = %2202
  %2390 = load i32, ptr @test_count, align 4, !tbaa !5
  %2391 = add nsw i32 %2390, 1
  store i32 %2391, ptr @test_count, align 4, !tbaa !5
  %2392 = load ptr, ptr %20, align 8, !tbaa !9
  %2393 = load ptr, ptr %21, align 8, !tbaa !9
  %2394 = call i32 @s2n_renegotiate_test_server_and_client(ptr noundef %2392, ptr noundef %2393)
  %2395 = call zeroext i1 @s2n_result_is_ok(i32 %2394)
  br i1 %2395, label %2418, label %2396

2396:                                             ; preds = %2389
  %2397 = load i32, ptr %959, align 4, !tbaa !5
  %2398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2399 = call i32 @s2n_print_stacktrace(ptr noundef %2398) #12
  %2400 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2401 = trunc nuw i8 %2400 to i1
  br i1 %2401, label %2402, label %2406

2402:                                             ; preds = %2396
  %2403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2404 = call i32 @fileno(ptr noundef %2403) #12
  %2405 = call i32 @isatty(i32 noundef %2404) #12
  %.not521 = icmp eq i32 %2405, 0
  br i1 %.not521, label %2406, label %2407

2406:                                             ; preds = %2402, %2396
  br label %2407

2407:                                             ; preds = %2402, %2406
  %.str.5.sink1906 = phi ptr [ @.str.5, %2406 ], [ @.str.2, %2402 ]
  store i32 %2397, ptr %959, align 4, !tbaa !5
  %2408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2409 = load i32, ptr @test_count, align 4, !tbaa !5
  %2410 = load i32, ptr %905, align 4, !tbaa !5
  %2411 = call ptr @s2n_strerror(i32 noundef %2410, ptr noundef nonnull @.str.4) #12
  %2412 = load i32, ptr %905, align 4, !tbaa !5
  %2413 = call ptr @s2n_strerror_debug(i32 noundef %2412, ptr noundef nonnull @.str.4) #12
  %2414 = load i32, ptr %959, align 4, !tbaa !5
  %2415 = call ptr @strerror(i32 noundef %2414) #12
  %2416 = load i32, ptr %959, align 4, !tbaa !5
  %2417 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2408, ptr noundef nonnull %.str.5.sink1906, i32 noundef %2409, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 233, ptr noundef %2411, ptr noundef %2413, ptr noundef %2415, i32 noundef %2416) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2418:                                             ; preds = %2389
  call void @llvm.lifetime.end.p0(i64 22, ptr nonnull %24) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #12
  %2419 = call i32 @s2n_io_pair_close(ptr noundef nonnull %22) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %22) #12
  %2420 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %21) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %21) #12
  %2421 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %20) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %20) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %25) #12
  %2422 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %2422, ptr %25, align 8, !tbaa !9
  %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 = icmp eq ptr %2422, null
  br i1 %2425, label %2426, label %2448

2426:                                             ; preds = %2418
  %2427 = load i32, ptr %959, align 4, !tbaa !5
  %2428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2429 = call i32 @s2n_print_stacktrace(ptr noundef %2428) #12
  %2430 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2431 = trunc nuw i8 %2430 to i1
  br i1 %2431, label %2432, label %2436

2432:                                             ; preds = %2426
  %2433 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2434 = call i32 @fileno(ptr noundef %2433) #12
  %2435 = call i32 @isatty(i32 noundef %2434) #12
  %.not653 = icmp eq i32 %2435, 0
  br i1 %.not653, label %2436, label %2437

2436:                                             ; preds = %2432, %2426
  br label %2437

2437:                                             ; preds = %2432, %2436
  %.str.5.sink1915 = phi ptr [ @.str.5, %2436 ], [ @.str.2, %2432 ]
  store i32 %2427, ptr %959, align 4, !tbaa !5
  %2438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2439 = load i32, ptr @test_count, align 4, !tbaa !5
  %2440 = load i32, ptr %905, align 4, !tbaa !5
  %2441 = call ptr @s2n_strerror(i32 noundef %2440, ptr noundef nonnull @.str.4) #12
  %2442 = load i32, ptr %905, align 4, !tbaa !5
  %2443 = call ptr @s2n_strerror_debug(i32 noundef %2442, ptr noundef nonnull @.str.4) #12
  %2444 = load i32, ptr %959, align 4, !tbaa !5
  %2445 = call ptr @strerror(i32 noundef %2444) #12
  %2446 = load i32, ptr %959, align 4, !tbaa !5
  %2447 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2438, ptr noundef nonnull %.str.5.sink1915, i32 noundef %2439, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 239, ptr noundef %2441, ptr noundef %2443, ptr noundef %2445, i32 noundef %2446) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2448:                                             ; preds = %2418
  %2449 = add nsw i32 %2423, 2
  store i32 %2449, ptr @test_count, align 4, !tbaa !5
  %2450 = call i32 @s2n_connection_set_config(ptr noundef nonnull %2422, ptr noundef nonnull %163) #12
  %2451 = icmp eq i32 %2450, -1
  br i1 %2451, label %2452, label %2474

2452:                                             ; preds = %2448
  %2453 = load i32, ptr %959, align 4, !tbaa !5
  %2454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2455 = call i32 @s2n_print_stacktrace(ptr noundef %2454) #12
  %2456 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2457 = trunc nuw i8 %2456 to i1
  br i1 %2457, label %2458, label %2462

2458:                                             ; preds = %2452
  %2459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2460 = call i32 @fileno(ptr noundef %2459) #12
  %2461 = call i32 @isatty(i32 noundef %2460) #12
  %.not652 = icmp eq i32 %2461, 0
  br i1 %.not652, label %2462, label %2463

2462:                                             ; preds = %2458, %2452
  br label %2463

2463:                                             ; preds = %2458, %2462
  %.str.5.sink1924 = phi ptr [ @.str.5, %2462 ], [ @.str.2, %2458 ]
  store i32 %2453, ptr %959, align 4, !tbaa !5
  %2464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2465 = load i32, ptr @test_count, align 4, !tbaa !5
  %2466 = load i32, ptr %905, align 4, !tbaa !5
  %2467 = call ptr @s2n_strerror(i32 noundef %2466, ptr noundef nonnull @.str.4) #12
  %2468 = load i32, ptr %905, align 4, !tbaa !5
  %2469 = call ptr @s2n_strerror_debug(i32 noundef %2468, ptr noundef nonnull @.str.4) #12
  %2470 = load i32, ptr %959, align 4, !tbaa !5
  %2471 = call ptr @strerror(i32 noundef %2470) #12
  %2472 = load i32, ptr %959, align 4, !tbaa !5
  %2473 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2464, ptr noundef nonnull %.str.5.sink1924, i32 noundef %2465, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 240, ptr noundef %2467, ptr noundef %2469, ptr noundef %2471, i32 noundef %2472) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2474:                                             ; preds = %2448
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %26) #12
  %2475 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %2475, ptr %26, align 8, !tbaa !9
  %2476 = load i32, ptr @test_count, align 4, !tbaa !5
  %2477 = add nsw i32 %2476, 1
  store i32 %2477, ptr @test_count, align 4, !tbaa !5
  %2478 = icmp eq ptr %2475, null
  br i1 %2478, label %2479, label %2501

2479:                                             ; preds = %2474
  %2480 = load i32, ptr %959, align 4, !tbaa !5
  %2481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2482 = call i32 @s2n_print_stacktrace(ptr noundef %2481) #12
  %2483 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2484 = trunc nuw i8 %2483 to i1
  br i1 %2484, label %2485, label %2489

2485:                                             ; preds = %2479
  %2486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2487 = call i32 @fileno(ptr noundef %2486) #12
  %2488 = call i32 @isatty(i32 noundef %2487) #12
  %.not651 = icmp eq i32 %2488, 0
  br i1 %.not651, label %2489, label %2490

2489:                                             ; preds = %2485, %2479
  br label %2490

2490:                                             ; preds = %2485, %2489
  %.str.5.sink1933 = phi ptr [ @.str.5, %2489 ], [ @.str.2, %2485 ]
  store i32 %2480, ptr %959, align 4, !tbaa !5
  %2491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2492 = load i32, ptr @test_count, align 4, !tbaa !5
  %2493 = load i32, ptr %905, align 4, !tbaa !5
  %2494 = call ptr @s2n_strerror(i32 noundef %2493, ptr noundef nonnull @.str.4) #12
  %2495 = load i32, ptr %905, align 4, !tbaa !5
  %2496 = call ptr @s2n_strerror_debug(i32 noundef %2495, ptr noundef nonnull @.str.4) #12
  %2497 = load i32, ptr %959, align 4, !tbaa !5
  %2498 = call ptr @strerror(i32 noundef %2497) #12
  %2499 = load i32, ptr %959, align 4, !tbaa !5
  %2500 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2491, ptr noundef nonnull %.str.5.sink1933, i32 noundef %2492, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 243, ptr noundef %2494, ptr noundef %2496, ptr noundef %2498, i32 noundef %2499) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2501:                                             ; preds = %2474
  %2502 = add nsw i32 %2476, 2
  store i32 %2502, ptr @test_count, align 4, !tbaa !5
  %2503 = call i32 @s2n_connection_set_config(ptr noundef nonnull %2475, ptr noundef nonnull %163) #12
  %2504 = icmp eq i32 %2503, -1
  br i1 %2504, label %2505, label %2527

2505:                                             ; preds = %2501
  %2506 = load i32, ptr %959, align 4, !tbaa !5
  %2507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2508 = call i32 @s2n_print_stacktrace(ptr noundef %2507) #12
  %2509 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2510 = trunc nuw i8 %2509 to i1
  br i1 %2510, label %2511, label %2515

2511:                                             ; preds = %2505
  %2512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2513 = call i32 @fileno(ptr noundef %2512) #12
  %2514 = call i32 @isatty(i32 noundef %2513) #12
  %.not650 = icmp eq i32 %2514, 0
  br i1 %.not650, label %2515, label %2516

2515:                                             ; preds = %2511, %2505
  br label %2516

2516:                                             ; preds = %2511, %2515
  %.str.5.sink1942 = phi ptr [ @.str.5, %2515 ], [ @.str.2, %2511 ]
  store i32 %2506, ptr %959, align 4, !tbaa !5
  %2517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2518 = load i32, ptr @test_count, align 4, !tbaa !5
  %2519 = load i32, ptr %905, align 4, !tbaa !5
  %2520 = call ptr @s2n_strerror(i32 noundef %2519, ptr noundef nonnull @.str.4) #12
  %2521 = load i32, ptr %905, align 4, !tbaa !5
  %2522 = call ptr @s2n_strerror_debug(i32 noundef %2521, ptr noundef nonnull @.str.4) #12
  %2523 = load i32, ptr %959, align 4, !tbaa !5
  %2524 = call ptr @strerror(i32 noundef %2523) #12
  %2525 = load i32, ptr %959, align 4, !tbaa !5
  %2526 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2517, ptr noundef nonnull %.str.5.sink1942, i32 noundef %2518, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 244, ptr noundef %2520, ptr noundef %2522, ptr noundef %2524, i32 noundef %2525) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2527:                                             ; preds = %2501
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %27) #12
  store i64 0, ptr %27, align 8
  %2528 = load i32, ptr @test_count, align 4, !tbaa !5
  %2529 = add nsw i32 %2528, 1
  store i32 %2529, ptr @test_count, align 4, !tbaa !5
  %2530 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef nonnull %27) #12
  %2531 = icmp eq i32 %2530, -1
  br i1 %2531, label %2532, label %2554

2532:                                             ; preds = %2527
  %2533 = load i32, ptr %959, align 4, !tbaa !5
  %2534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2535 = call i32 @s2n_print_stacktrace(ptr noundef %2534) #12
  %2536 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2537 = trunc nuw i8 %2536 to i1
  br i1 %2537, label %2538, label %2542

2538:                                             ; preds = %2532
  %2539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2540 = call i32 @fileno(ptr noundef %2539) #12
  %2541 = call i32 @isatty(i32 noundef %2540) #12
  %.not649 = icmp eq i32 %2541, 0
  br i1 %.not649, label %2542, label %2543

2542:                                             ; preds = %2538, %2532
  br label %2543

2543:                                             ; preds = %2538, %2542
  %.str.5.sink1951 = phi ptr [ @.str.5, %2542 ], [ @.str.2, %2538 ]
  store i32 %2533, ptr %959, align 4, !tbaa !5
  %2544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2545 = load i32, ptr @test_count, align 4, !tbaa !5
  %2546 = load i32, ptr %905, align 4, !tbaa !5
  %2547 = call ptr @s2n_strerror(i32 noundef %2546, ptr noundef nonnull @.str.4) #12
  %2548 = load i32, ptr %905, align 4, !tbaa !5
  %2549 = call ptr @s2n_strerror_debug(i32 noundef %2548, ptr noundef nonnull @.str.4) #12
  %2550 = load i32, ptr %959, align 4, !tbaa !5
  %2551 = call ptr @strerror(i32 noundef %2550) #12
  %2552 = load i32, ptr %959, align 4, !tbaa !5
  %2553 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2544, ptr noundef nonnull %.str.5.sink1951, i32 noundef %2545, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 247, ptr noundef %2547, ptr noundef %2549, ptr noundef %2551, i32 noundef %2552) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2554:                                             ; preds = %2527
  %2555 = load i32, ptr @test_count, align 4, !tbaa !5
  %2556 = add nsw i32 %2555, 1
  store i32 %2556, ptr @test_count, align 4, !tbaa !5
  %2557 = load ptr, ptr %26, align 8, !tbaa !9
  %2558 = load ptr, ptr %25, align 8, !tbaa !9
  %2559 = call i32 @s2n_connections_set_io_pair(ptr noundef %2557, ptr noundef %2558, ptr noundef nonnull %27) #12
  %2560 = icmp eq i32 %2559, -1
  br i1 %2560, label %2561, label %2583

2561:                                             ; preds = %2554
  %2562 = load i32, ptr %959, align 4, !tbaa !5
  %2563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2564 = call i32 @s2n_print_stacktrace(ptr noundef %2563) #12
  %2565 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2566 = trunc nuw i8 %2565 to i1
  br i1 %2566, label %2567, label %2571

2567:                                             ; preds = %2561
  %2568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2569 = call i32 @fileno(ptr noundef %2568) #12
  %2570 = call i32 @isatty(i32 noundef %2569) #12
  %.not648 = icmp eq i32 %2570, 0
  br i1 %.not648, label %2571, label %2572

2571:                                             ; preds = %2567, %2561
  br label %2572

2572:                                             ; preds = %2567, %2571
  %.str.5.sink1960 = phi ptr [ @.str.5, %2571 ], [ @.str.2, %2567 ]
  store i32 %2562, ptr %959, align 4, !tbaa !5
  %2573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2574 = load i32, ptr @test_count, align 4, !tbaa !5
  %2575 = load i32, ptr %905, align 4, !tbaa !5
  %2576 = call ptr @s2n_strerror(i32 noundef %2575, ptr noundef nonnull @.str.4) #12
  %2577 = load i32, ptr %905, align 4, !tbaa !5
  %2578 = call ptr @s2n_strerror_debug(i32 noundef %2577, ptr noundef nonnull @.str.4) #12
  %2579 = load i32, ptr %959, align 4, !tbaa !5
  %2580 = call ptr @strerror(i32 noundef %2579) #12
  %2581 = load i32, ptr %959, align 4, !tbaa !5
  %2582 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2573, ptr noundef nonnull %.str.5.sink1960, i32 noundef %2574, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 248, ptr noundef %2576, ptr noundef %2578, ptr noundef %2580, i32 noundef %2581) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2583:                                             ; preds = %2554
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %28) #12
  store i64 0, ptr %28, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 22, ptr nonnull %29) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(22) %29, i8 0, i64 22, i1 false)
  %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 %25, align 8, !tbaa !9
  %2587 = load ptr, ptr %26, align 8, !tbaa !9
  %2588 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %2586, ptr noundef %2587) #12
  %2589 = icmp eq i32 %2588, -1
  br i1 %2589, label %2590, label %2612

2590:                                             ; preds = %2583
  %2591 = load i32, ptr %959, align 4, !tbaa !5
  %2592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2593 = call i32 @s2n_print_stacktrace(ptr noundef %2592) #12
  %2594 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2595 = trunc nuw i8 %2594 to i1
  br i1 %2595, label %2596, label %2600

2596:                                             ; preds = %2590
  %2597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2598 = call i32 @fileno(ptr noundef %2597) #12
  %2599 = call i32 @isatty(i32 noundef %2598) #12
  %.not647 = icmp eq i32 %2599, 0
  br i1 %.not647, label %2600, label %2601

2600:                                             ; preds = %2596, %2590
  br label %2601

2601:                                             ; preds = %2596, %2600
  %.str.5.sink1969 = phi ptr [ @.str.5, %2600 ], [ @.str.2, %2596 ]
  store i32 %2591, ptr %959, align 4, !tbaa !5
  %2602 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2603 = load i32, ptr @test_count, align 4, !tbaa !5
  %2604 = load i32, ptr %905, align 4, !tbaa !5
  %2605 = call ptr @s2n_strerror(i32 noundef %2604, ptr noundef nonnull @.str.4) #12
  %2606 = load i32, ptr %905, align 4, !tbaa !5
  %2607 = call ptr @s2n_strerror_debug(i32 noundef %2606, ptr noundef nonnull @.str.4) #12
  %2608 = load i32, ptr %959, align 4, !tbaa !5
  %2609 = call ptr @strerror(i32 noundef %2608) #12
  %2610 = load i32, ptr %959, align 4, !tbaa !5
  %2611 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2602, ptr noundef nonnull %.str.5.sink1969, i32 noundef %2603, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 254, ptr noundef %2605, ptr noundef %2607, ptr noundef %2609, i32 noundef %2610) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2612:                                             ; preds = %2583
  %2613 = load i32, ptr @test_count, align 4, !tbaa !5
  %2614 = add nsw i32 %2613, 1
  store i32 %2614, ptr @test_count, align 4, !tbaa !5
  %2615 = load ptr, ptr %26, align 8, !tbaa !9
  %2616 = call i32 @s2n_renegotiate_wipe(ptr noundef %2615) #12
  %2617 = icmp eq i32 %2616, -1
  br i1 %2617, label %2618, label %2640

2618:                                             ; preds = %2612
  %2619 = load i32, ptr %959, align 4, !tbaa !5
  %2620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2621 = call i32 @s2n_print_stacktrace(ptr noundef %2620) #12
  %2622 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2623 = trunc nuw i8 %2622 to i1
  br i1 %2623, label %2624, label %2628

2624:                                             ; preds = %2618
  %2625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2626 = call i32 @fileno(ptr noundef %2625) #12
  %2627 = call i32 @isatty(i32 noundef %2626) #12
  %.not646 = icmp eq i32 %2627, 0
  br i1 %.not646, label %2628, label %2629

2628:                                             ; preds = %2624, %2618
  br label %2629

2629:                                             ; preds = %2624, %2628
  %.str.5.sink1978 = phi ptr [ @.str.5, %2628 ], [ @.str.2, %2624 ]
  store i32 %2619, ptr %959, align 4, !tbaa !5
  %2630 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2631 = load i32, ptr @test_count, align 4, !tbaa !5
  %2632 = load i32, ptr %905, align 4, !tbaa !5
  %2633 = call ptr @s2n_strerror(i32 noundef %2632, ptr noundef nonnull @.str.4) #12
  %2634 = load i32, ptr %905, align 4, !tbaa !5
  %2635 = call ptr @s2n_strerror_debug(i32 noundef %2634, ptr noundef nonnull @.str.4) #12
  %2636 = load i32, ptr %959, align 4, !tbaa !5
  %2637 = call ptr @strerror(i32 noundef %2636) #12
  %2638 = load i32, ptr %959, align 4, !tbaa !5
  %2639 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2630, ptr noundef nonnull %.str.5.sink1978, i32 noundef %2631, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 255, ptr noundef %2633, ptr noundef %2635, ptr noundef %2637, i32 noundef %2638) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2640:                                             ; preds = %2612
  %2641 = load i32, ptr @test_count, align 4, !tbaa !5
  %2642 = add nsw i32 %2641, 1
  store i32 %2642, ptr @test_count, align 4, !tbaa !5
  %2643 = load ptr, ptr %25, align 8, !tbaa !9
  %2644 = call i32 @s2n_renegotiate_wipe(ptr noundef %2643) #12
  %2645 = icmp eq i32 %2644, -1
  br i1 %2645, label %2646, label %2668

2646:                                             ; preds = %2640
  %2647 = load i32, ptr %959, align 4, !tbaa !5
  %2648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2649 = call i32 @s2n_print_stacktrace(ptr noundef %2648) #12
  %2650 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2651 = trunc nuw i8 %2650 to i1
  br i1 %2651, label %2652, label %2656

2652:                                             ; preds = %2646
  %2653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2654 = call i32 @fileno(ptr noundef %2653) #12
  %2655 = call i32 @isatty(i32 noundef %2654) #12
  %.not645 = icmp eq i32 %2655, 0
  br i1 %.not645, label %2656, label %2657

2656:                                             ; preds = %2652, %2646
  br label %2657

2657:                                             ; preds = %2652, %2656
  %.str.5.sink1987 = phi ptr [ @.str.5, %2656 ], [ @.str.2, %2652 ]
  store i32 %2647, ptr %959, align 4, !tbaa !5
  %2658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2659 = load i32, ptr @test_count, align 4, !tbaa !5
  %2660 = load i32, ptr %905, align 4, !tbaa !5
  %2661 = call ptr @s2n_strerror(i32 noundef %2660, ptr noundef nonnull @.str.4) #12
  %2662 = load i32, ptr %905, align 4, !tbaa !5
  %2663 = call ptr @s2n_strerror_debug(i32 noundef %2662, ptr noundef nonnull @.str.4) #12
  %2664 = load i32, ptr %959, align 4, !tbaa !5
  %2665 = call ptr @strerror(i32 noundef %2664) #12
  %2666 = load i32, ptr %959, align 4, !tbaa !5
  %2667 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2658, ptr noundef nonnull %.str.5.sink1987, i32 noundef %2659, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 256, ptr noundef %2661, ptr noundef %2663, ptr noundef %2665, i32 noundef %2666) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2668:                                             ; preds = %2640
  %2669 = load i32, ptr @test_count, align 4, !tbaa !5
  %2670 = add nsw i32 %2669, 1
  store i32 %2670, ptr @test_count, align 4, !tbaa !5
  %2671 = load ptr, ptr %26, align 8, !tbaa !9
  %2672 = call i32 @s2n_renegotiate(ptr noundef %2671, ptr noundef nonnull %29, i64 noundef 22, ptr noundef nonnull %28, ptr noundef nonnull %6) #12
  %2673 = icmp eq i32 %2672, -1
  br i1 %2673, label %2696, label %2674

2674:                                             ; preds = %2668
  %2675 = load i32, ptr %959, align 4, !tbaa !5
  %2676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2677 = call i32 @s2n_print_stacktrace(ptr noundef %2676) #12
  %2678 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2679 = trunc nuw i8 %2678 to i1
  br i1 %2679, label %2680, label %2684

2680:                                             ; preds = %2674
  %2681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2682 = call i32 @fileno(ptr noundef %2681) #12
  %2683 = call i32 @isatty(i32 noundef %2682) #12
  %.not522 = icmp eq i32 %2683, 0
  br i1 %.not522, label %2684, label %2685

2684:                                             ; preds = %2680, %2674
  br label %2685

2685:                                             ; preds = %2680, %2684
  %.str.5.sink1996 = phi ptr [ @.str.5, %2684 ], [ @.str.2, %2680 ]
  store i32 %2675, ptr %959, align 4, !tbaa !5
  %2686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2687 = load i32, ptr @test_count, align 4, !tbaa !5
  %2688 = load i32, ptr %905, align 4, !tbaa !5
  %2689 = call ptr @s2n_strerror(i32 noundef %2688, ptr noundef nonnull @.str.4) #12
  %2690 = load i32, ptr %905, align 4, !tbaa !5
  %2691 = call ptr @s2n_strerror_debug(i32 noundef %2690, ptr noundef nonnull @.str.4) #12
  %2692 = load i32, ptr %959, align 4, !tbaa !5
  %2693 = call ptr @strerror(i32 noundef %2692) #12
  %2694 = load i32, ptr %959, align 4, !tbaa !5
  %2695 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2686, ptr noundef nonnull %.str.5.sink1996, i32 noundef %2687, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 260, ptr noundef %2689, ptr noundef %2691, ptr noundef %2693, i32 noundef %2694) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2696:                                             ; preds = %2668
  %2697 = load i32, ptr @test_count, align 4, !tbaa !5
  %2698 = add nsw i32 %2697, 1
  store i32 %2698, ptr @test_count, align 4, !tbaa !5
  %2699 = load i32, ptr %905, align 4, !tbaa !5
  %2700 = icmp eq i32 %2699, 201326592
  br i1 %2700, label %2723, label %2701

2701:                                             ; preds = %2696
  %2702 = load i32, ptr %959, align 4, !tbaa !5
  %2703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2704 = call i32 @s2n_print_stacktrace(ptr noundef %2703) #12
  %2705 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2706 = trunc nuw i8 %2705 to i1
  br i1 %2706, label %2707, label %2711

2707:                                             ; preds = %2701
  %2708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2709 = call i32 @fileno(ptr noundef %2708) #12
  %2710 = call i32 @isatty(i32 noundef %2709) #12
  %.not523 = icmp eq i32 %2710, 0
  br i1 %.not523, label %2711, label %2712

2711:                                             ; preds = %2707, %2701
  br label %2712

2712:                                             ; preds = %2707, %2711
  %.str.5.sink2005 = phi ptr [ @.str.5, %2711 ], [ @.str.2, %2707 ]
  store i32 %2702, ptr %959, align 4, !tbaa !5
  %2713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2714 = load i32, ptr @test_count, align 4, !tbaa !5
  %2715 = load i32, ptr %905, align 4, !tbaa !5
  %2716 = call ptr @s2n_strerror(i32 noundef %2715, ptr noundef nonnull @.str.4) #12
  %2717 = load i32, ptr %905, align 4, !tbaa !5
  %2718 = call ptr @s2n_strerror_debug(i32 noundef %2717, ptr noundef nonnull @.str.4) #12
  %2719 = load i32, ptr %959, align 4, !tbaa !5
  %2720 = call ptr @strerror(i32 noundef %2719) #12
  %2721 = load i32, ptr %959, align 4, !tbaa !5
  %2722 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2713, ptr noundef nonnull %.str.5.sink2005, i32 noundef %2714, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 260, ptr noundef %2716, ptr noundef %2718, ptr noundef %2720, i32 noundef %2721) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2723:                                             ; preds = %2696
  %2724 = add nsw i32 %2697, 2
  store i32 %2724, ptr @test_count, align 4, !tbaa !5
  %2725 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #12
  %2726 = icmp eq ptr %2725, null
  br i1 %2726, label %2727, label %2749

2727:                                             ; preds = %2723
  %2728 = load i32, ptr %959, align 4, !tbaa !5
  %2729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2730 = call i32 @s2n_print_stacktrace(ptr noundef %2729) #12
  %2731 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2732 = trunc nuw i8 %2731 to i1
  br i1 %2732, label %2733, label %2737

2733:                                             ; preds = %2727
  %2734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2735 = call i32 @fileno(ptr noundef %2734) #12
  %2736 = call i32 @isatty(i32 noundef %2735) #12
  %.not644 = icmp eq i32 %2736, 0
  br i1 %.not644, label %2737, label %2738

2737:                                             ; preds = %2733, %2727
  br label %2738

2738:                                             ; preds = %2733, %2737
  %.str.5.sink2014 = phi ptr [ @.str.5, %2737 ], [ @.str.2, %2733 ]
  store i32 %2728, ptr %959, align 4, !tbaa !5
  %2739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2740 = load i32, ptr @test_count, align 4, !tbaa !5
  %2741 = load i32, ptr %905, align 4, !tbaa !5
  %2742 = call ptr @s2n_strerror(i32 noundef %2741, ptr noundef nonnull @.str.4) #12
  %2743 = load i32, ptr %905, align 4, !tbaa !5
  %2744 = call ptr @s2n_strerror_debug(i32 noundef %2743, ptr noundef nonnull @.str.4) #12
  %2745 = load i32, ptr %959, align 4, !tbaa !5
  %2746 = call ptr @strerror(i32 noundef %2745) #12
  %2747 = load i32, ptr %959, align 4, !tbaa !5
  %2748 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2739, ptr noundef nonnull %.str.5.sink2014, i32 noundef %2740, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 260, ptr noundef %2742, ptr noundef %2744, ptr noundef %2746, i32 noundef %2747) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2749:                                             ; preds = %2723
  store i32 0, ptr %905, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %959, align 4, !tbaa !5
  %2750 = load i32, ptr @test_count, align 4, !tbaa !5
  %2751 = add nsw i32 %2750, 1
  store i32 %2751, ptr @test_count, align 4, !tbaa !5
  %2752 = load ptr, ptr %26, align 8, !tbaa !9
  %2753 = call i32 @s2n_conn_get_current_message_type(ptr noundef %2752) #12
  %2754 = icmp eq i32 %2753, 1
  br i1 %2754, label %2777, label %2755

2755:                                             ; preds = %2749
  %2756 = load i32, ptr %959, align 4, !tbaa !5
  %2757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2758 = call i32 @s2n_print_stacktrace(ptr noundef %2757) #12
  %2759 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2760 = trunc nuw i8 %2759 to i1
  br i1 %2760, label %2761, label %2765

2761:                                             ; preds = %2755
  %2762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2763 = call i32 @fileno(ptr noundef %2762) #12
  %2764 = call i32 @isatty(i32 noundef %2763) #12
  %.not524 = icmp eq i32 %2764, 0
  br i1 %.not524, label %2765, label %2766

2765:                                             ; preds = %2761, %2755
  br label %2766

2766:                                             ; preds = %2761, %2765
  %.str.5.sink2023 = phi ptr [ @.str.5, %2765 ], [ @.str.2, %2761 ]
  store i32 %2756, ptr %959, align 4, !tbaa !5
  %2767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2768 = load i32, ptr @test_count, align 4, !tbaa !5
  %2769 = load i32, ptr %905, align 4, !tbaa !5
  %2770 = call ptr @s2n_strerror(i32 noundef %2769, ptr noundef nonnull @.str.4) #12
  %2771 = load i32, ptr %905, align 4, !tbaa !5
  %2772 = call ptr @s2n_strerror_debug(i32 noundef %2771, ptr noundef nonnull @.str.4) #12
  %2773 = load i32, ptr %959, align 4, !tbaa !5
  %2774 = call ptr @strerror(i32 noundef %2773) #12
  %2775 = load i32, ptr %959, align 4, !tbaa !5
  %2776 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2767, ptr noundef nonnull %.str.5.sink2023, i32 noundef %2768, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 261, ptr noundef %2770, ptr noundef %2772, ptr noundef %2774, i32 noundef %2775) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2777:                                             ; preds = %2749
  %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 = load i32, ptr %6, align 4, !tbaa !5
  %2781 = icmp eq i32 %2780, 1
  br i1 %2781, label %2804, label %2782

2782:                                             ; preds = %2777
  %2783 = load i32, ptr %959, align 4, !tbaa !5
  %2784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2785 = call i32 @s2n_print_stacktrace(ptr noundef %2784) #12
  %2786 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2787 = trunc nuw i8 %2786 to i1
  br i1 %2787, label %2788, label %2792

2788:                                             ; preds = %2782
  %2789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2790 = call i32 @fileno(ptr noundef %2789) #12
  %2791 = call i32 @isatty(i32 noundef %2790) #12
  %.not525 = icmp eq i32 %2791, 0
  br i1 %.not525, label %2792, label %2793

2792:                                             ; preds = %2788, %2782
  br label %2793

2793:                                             ; preds = %2788, %2792
  %.str.5.sink2032 = phi ptr [ @.str.5, %2792 ], [ @.str.2, %2788 ]
  store i32 %2783, ptr %959, align 4, !tbaa !5
  %2794 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2795 = load i32, ptr @test_count, align 4, !tbaa !5
  %2796 = load i32, ptr %905, align 4, !tbaa !5
  %2797 = call ptr @s2n_strerror(i32 noundef %2796, ptr noundef nonnull @.str.4) #12
  %2798 = load i32, ptr %905, align 4, !tbaa !5
  %2799 = call ptr @s2n_strerror_debug(i32 noundef %2798, ptr noundef nonnull @.str.4) #12
  %2800 = load i32, ptr %959, align 4, !tbaa !5
  %2801 = call ptr @strerror(i32 noundef %2800) #12
  %2802 = load i32, ptr %959, align 4, !tbaa !5
  %2803 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2794, ptr noundef nonnull %.str.5.sink2032, i32 noundef %2795, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 262, ptr noundef %2797, ptr noundef %2799, ptr noundef %2801, i32 noundef %2802) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2804:                                             ; preds = %2777
  %2805 = add nsw i32 %2778, 2
  store i32 %2805, ptr @test_count, align 4, !tbaa !5
  %2806 = load ptr, ptr %25, align 8, !tbaa !9
  %2807 = call i32 @s2n_negotiate(ptr noundef %2806, ptr noundef nonnull %6) #12
  %2808 = icmp eq i32 %2807, -1
  br i1 %2808, label %2831, label %2809

2809:                                             ; preds = %2804
  %2810 = load i32, ptr %959, align 4, !tbaa !5
  %2811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2812 = call i32 @s2n_print_stacktrace(ptr noundef %2811) #12
  %2813 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2814 = trunc nuw i8 %2813 to i1
  br i1 %2814, label %2815, label %2819

2815:                                             ; preds = %2809
  %2816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2817 = call i32 @fileno(ptr noundef %2816) #12
  %2818 = call i32 @isatty(i32 noundef %2817) #12
  %.not526 = icmp eq i32 %2818, 0
  br i1 %.not526, label %2819, label %2820

2819:                                             ; preds = %2815, %2809
  br label %2820

2820:                                             ; preds = %2815, %2819
  %.str.5.sink2041 = phi ptr [ @.str.5, %2819 ], [ @.str.2, %2815 ]
  store i32 %2810, ptr %959, align 4, !tbaa !5
  %2821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2822 = load i32, ptr @test_count, align 4, !tbaa !5
  %2823 = load i32, ptr %905, align 4, !tbaa !5
  %2824 = call ptr @s2n_strerror(i32 noundef %2823, ptr noundef nonnull @.str.4) #12
  %2825 = load i32, ptr %905, align 4, !tbaa !5
  %2826 = call ptr @s2n_strerror_debug(i32 noundef %2825, ptr noundef nonnull @.str.4) #12
  %2827 = load i32, ptr %959, align 4, !tbaa !5
  %2828 = call ptr @strerror(i32 noundef %2827) #12
  %2829 = load i32, ptr %959, align 4, !tbaa !5
  %2830 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2821, ptr noundef nonnull %.str.5.sink2041, i32 noundef %2822, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 265, ptr noundef %2824, ptr noundef %2826, ptr noundef %2828, i32 noundef %2829) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2831:                                             ; preds = %2804
  %2832 = load i32, ptr @test_count, align 4, !tbaa !5
  %2833 = add nsw i32 %2832, 1
  store i32 %2833, ptr @test_count, align 4, !tbaa !5
  %2834 = load i32, ptr %905, align 4, !tbaa !5
  %2835 = icmp eq i32 %2834, 201326592
  br i1 %2835, label %2858, label %2836

2836:                                             ; preds = %2831
  %2837 = load i32, ptr %959, align 4, !tbaa !5
  %2838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2839 = call i32 @s2n_print_stacktrace(ptr noundef %2838) #12
  %2840 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2841 = trunc nuw i8 %2840 to i1
  br i1 %2841, label %2842, label %2846

2842:                                             ; preds = %2836
  %2843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2844 = call i32 @fileno(ptr noundef %2843) #12
  %2845 = call i32 @isatty(i32 noundef %2844) #12
  %.not527 = icmp eq i32 %2845, 0
  br i1 %.not527, label %2846, label %2847

2846:                                             ; preds = %2842, %2836
  br label %2847

2847:                                             ; preds = %2842, %2846
  %.str.5.sink2050 = phi ptr [ @.str.5, %2846 ], [ @.str.2, %2842 ]
  store i32 %2837, ptr %959, align 4, !tbaa !5
  %2848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2849 = load i32, ptr @test_count, align 4, !tbaa !5
  %2850 = load i32, ptr %905, align 4, !tbaa !5
  %2851 = call ptr @s2n_strerror(i32 noundef %2850, ptr noundef nonnull @.str.4) #12
  %2852 = load i32, ptr %905, align 4, !tbaa !5
  %2853 = call ptr @s2n_strerror_debug(i32 noundef %2852, ptr noundef nonnull @.str.4) #12
  %2854 = load i32, ptr %959, align 4, !tbaa !5
  %2855 = call ptr @strerror(i32 noundef %2854) #12
  %2856 = load i32, ptr %959, align 4, !tbaa !5
  %2857 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2848, ptr noundef nonnull %.str.5.sink2050, i32 noundef %2849, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 265, ptr noundef %2851, ptr noundef %2853, ptr noundef %2855, i32 noundef %2856) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2858:                                             ; preds = %2831
  %2859 = add nsw i32 %2832, 2
  store i32 %2859, ptr @test_count, align 4, !tbaa !5
  %2860 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #12
  %2861 = icmp eq ptr %2860, null
  br i1 %2861, label %2862, label %2884

2862:                                             ; preds = %2858
  %2863 = load i32, ptr %959, align 4, !tbaa !5
  %2864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2865 = call i32 @s2n_print_stacktrace(ptr noundef %2864) #12
  %2866 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2867 = trunc nuw i8 %2866 to i1
  br i1 %2867, label %2868, label %2872

2868:                                             ; preds = %2862
  %2869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2870 = call i32 @fileno(ptr noundef %2869) #12
  %2871 = call i32 @isatty(i32 noundef %2870) #12
  %.not643 = icmp eq i32 %2871, 0
  br i1 %.not643, label %2872, label %2873

2872:                                             ; preds = %2868, %2862
  br label %2873

2873:                                             ; preds = %2868, %2872
  %.str.5.sink2059 = phi ptr [ @.str.5, %2872 ], [ @.str.2, %2868 ]
  store i32 %2863, ptr %959, align 4, !tbaa !5
  %2874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2875 = load i32, ptr @test_count, align 4, !tbaa !5
  %2876 = load i32, ptr %905, align 4, !tbaa !5
  %2877 = call ptr @s2n_strerror(i32 noundef %2876, ptr noundef nonnull @.str.4) #12
  %2878 = load i32, ptr %905, align 4, !tbaa !5
  %2879 = call ptr @s2n_strerror_debug(i32 noundef %2878, ptr noundef nonnull @.str.4) #12
  %2880 = load i32, ptr %959, align 4, !tbaa !5
  %2881 = call ptr @strerror(i32 noundef %2880) #12
  %2882 = load i32, ptr %959, align 4, !tbaa !5
  %2883 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2874, ptr noundef nonnull %.str.5.sink2059, i32 noundef %2875, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 265, ptr noundef %2877, ptr noundef %2879, ptr noundef %2881, i32 noundef %2882) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2884:                                             ; preds = %2858
  store i32 0, ptr %905, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %959, align 4, !tbaa !5
  %2885 = load i32, ptr @test_count, align 4, !tbaa !5
  %2886 = add nsw i32 %2885, 1
  store i32 %2886, ptr @test_count, align 4, !tbaa !5
  %2887 = load ptr, ptr %25, align 8, !tbaa !9
  %2888 = call i32 @s2n_conn_get_current_message_type(ptr noundef %2887) #12
  %2889 = icmp eq i32 %2888, 1
  br i1 %2889, label %2890, label %2912

2890:                                             ; preds = %2884
  %2891 = load i32, ptr %959, align 4, !tbaa !5
  %2892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2893 = call i32 @s2n_print_stacktrace(ptr noundef %2892) #12
  %2894 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2895 = trunc nuw i8 %2894 to i1
  br i1 %2895, label %2896, label %2900

2896:                                             ; preds = %2890
  %2897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2898 = call i32 @fileno(ptr noundef %2897) #12
  %2899 = call i32 @isatty(i32 noundef %2898) #12
  %.not642 = icmp eq i32 %2899, 0
  br i1 %.not642, label %2900, label %2901

2900:                                             ; preds = %2896, %2890
  br label %2901

2901:                                             ; preds = %2896, %2900
  %.str.5.sink2068 = phi ptr [ @.str.5, %2900 ], [ @.str.2, %2896 ]
  store i32 %2891, ptr %959, align 4, !tbaa !5
  %2902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2903 = load i32, ptr @test_count, align 4, !tbaa !5
  %2904 = load i32, ptr %905, align 4, !tbaa !5
  %2905 = call ptr @s2n_strerror(i32 noundef %2904, ptr noundef nonnull @.str.4) #12
  %2906 = load i32, ptr %905, align 4, !tbaa !5
  %2907 = call ptr @s2n_strerror_debug(i32 noundef %2906, ptr noundef nonnull @.str.4) #12
  %2908 = load i32, ptr %959, align 4, !tbaa !5
  %2909 = call ptr @strerror(i32 noundef %2908) #12
  %2910 = load i32, ptr %959, align 4, !tbaa !5
  %2911 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2902, ptr noundef nonnull %.str.5.sink2068, i32 noundef %2903, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 266, ptr noundef %2905, ptr noundef %2907, ptr noundef %2909, i32 noundef %2910) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2912:                                             ; preds = %2884
  %2913 = load i32, ptr @test_count, align 4, !tbaa !5
  %2914 = add nsw i32 %2913, 1
  store i32 %2914, ptr @test_count, align 4, !tbaa !5
  %2915 = load ptr, ptr %25, align 8, !tbaa !9
  %2916 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %2915, i32 noundef 1) #12
  br i1 %2916, label %2939, label %2917

2917:                                             ; preds = %2912
  %2918 = load i32, ptr %959, align 4, !tbaa !5
  %2919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2920 = call i32 @s2n_print_stacktrace(ptr noundef %2919) #12
  %2921 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2922 = trunc nuw i8 %2921 to i1
  br i1 %2922, label %2923, label %2927

2923:                                             ; preds = %2917
  %2924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2925 = call i32 @fileno(ptr noundef %2924) #12
  %2926 = call i32 @isatty(i32 noundef %2925) #12
  %.not528 = icmp eq i32 %2926, 0
  br i1 %.not528, label %2927, label %2928

2927:                                             ; preds = %2923, %2917
  br label %2928

2928:                                             ; preds = %2923, %2927
  %.str.5.sink2077 = phi ptr [ @.str.5, %2927 ], [ @.str.2, %2923 ]
  store i32 %2918, ptr %959, align 4, !tbaa !5
  %2929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2930 = load i32, ptr @test_count, align 4, !tbaa !5
  %2931 = load i32, ptr %905, align 4, !tbaa !5
  %2932 = call ptr @s2n_strerror(i32 noundef %2931, ptr noundef nonnull @.str.4) #12
  %2933 = load i32, ptr %905, align 4, !tbaa !5
  %2934 = call ptr @s2n_strerror_debug(i32 noundef %2933, ptr noundef nonnull @.str.4) #12
  %2935 = load i32, ptr %959, align 4, !tbaa !5
  %2936 = call ptr @strerror(i32 noundef %2935) #12
  %2937 = load i32, ptr %959, align 4, !tbaa !5
  %2938 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2929, ptr noundef nonnull %.str.5.sink2077, i32 noundef %2930, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 267, ptr noundef %2932, ptr noundef %2934, ptr noundef %2936, i32 noundef %2937) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2939:                                             ; preds = %2912
  %2940 = load i32, ptr @test_count, align 4, !tbaa !5
  %2941 = add nsw i32 %2940, 1
  store i32 %2941, ptr @test_count, align 4, !tbaa !5
  %2942 = load i32, ptr %6, align 4, !tbaa !5
  %2943 = icmp eq i32 %2942, 1
  br i1 %2943, label %2966, label %2944

2944:                                             ; preds = %2939
  %2945 = load i32, ptr %959, align 4, !tbaa !5
  %2946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2947 = call i32 @s2n_print_stacktrace(ptr noundef %2946) #12
  %2948 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2949 = trunc nuw i8 %2948 to i1
  br i1 %2949, label %2950, label %2954

2950:                                             ; preds = %2944
  %2951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2952 = call i32 @fileno(ptr noundef %2951) #12
  %2953 = call i32 @isatty(i32 noundef %2952) #12
  %.not529 = icmp eq i32 %2953, 0
  br i1 %.not529, label %2954, label %2955

2954:                                             ; preds = %2950, %2944
  br label %2955

2955:                                             ; preds = %2950, %2954
  %.str.5.sink2086 = phi ptr [ @.str.5, %2954 ], [ @.str.2, %2950 ]
  store i32 %2945, ptr %959, align 4, !tbaa !5
  %2956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2957 = load i32, ptr @test_count, align 4, !tbaa !5
  %2958 = load i32, ptr %905, align 4, !tbaa !5
  %2959 = call ptr @s2n_strerror(i32 noundef %2958, ptr noundef nonnull @.str.4) #12
  %2960 = load i32, ptr %905, align 4, !tbaa !5
  %2961 = call ptr @s2n_strerror_debug(i32 noundef %2960, ptr noundef nonnull @.str.4) #12
  %2962 = load i32, ptr %959, align 4, !tbaa !5
  %2963 = call ptr @strerror(i32 noundef %2962) #12
  %2964 = load i32, ptr %959, align 4, !tbaa !5
  %2965 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2956, ptr noundef nonnull %.str.5.sink2086, i32 noundef %2957, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 268, ptr noundef %2959, ptr noundef %2961, ptr noundef %2963, i32 noundef %2964) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2966:                                             ; preds = %2939
  %2967 = add nsw i32 %2940, 2
  store i32 %2967, ptr @test_count, align 4, !tbaa !5
  %2968 = load ptr, ptr %25, align 8, !tbaa !9
  %2969 = call i64 @s2n_send(ptr noundef %2968, ptr noundef nonnull %5, i64 noundef 22, ptr noundef nonnull %6) #12
  %2970 = icmp eq i64 %2969, 22
  br i1 %2970, label %2993, label %2971

2971:                                             ; preds = %2966
  %2972 = load i32, ptr %959, align 4, !tbaa !5
  %2973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2974 = call i32 @s2n_print_stacktrace(ptr noundef %2973) #12
  %2975 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2976 = trunc nuw i8 %2975 to i1
  br i1 %2976, label %2977, label %2981

2977:                                             ; preds = %2971
  %2978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2979 = call i32 @fileno(ptr noundef %2978) #12
  %2980 = call i32 @isatty(i32 noundef %2979) #12
  %.not530 = icmp eq i32 %2980, 0
  br i1 %.not530, label %2981, label %2982

2981:                                             ; preds = %2977, %2971
  br label %2982

2982:                                             ; preds = %2977, %2981
  %.str.5.sink2095 = phi ptr [ @.str.5, %2981 ], [ @.str.2, %2977 ]
  store i32 %2972, ptr %959, align 4, !tbaa !5
  %2983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2984 = load i32, ptr @test_count, align 4, !tbaa !5
  %2985 = load i32, ptr %905, align 4, !tbaa !5
  %2986 = call ptr @s2n_strerror(i32 noundef %2985, ptr noundef nonnull @.str.4) #12
  %2987 = load i32, ptr %905, align 4, !tbaa !5
  %2988 = call ptr @s2n_strerror_debug(i32 noundef %2987, ptr noundef nonnull @.str.4) #12
  %2989 = load i32, ptr %959, align 4, !tbaa !5
  %2990 = call ptr @strerror(i32 noundef %2989) #12
  %2991 = load i32, ptr %959, align 4, !tbaa !5
  %2992 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2983, ptr noundef nonnull %.str.5.sink2095, i32 noundef %2984, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 271, ptr noundef %2986, ptr noundef %2988, ptr noundef %2990, i32 noundef %2991) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2993:                                             ; preds = %2966
  %2994 = load i32, ptr @test_count, align 4, !tbaa !5
  %2995 = add nsw i32 %2994, 1
  store i32 %2995, ptr @test_count, align 4, !tbaa !5
  %2996 = load ptr, ptr %26, align 8, !tbaa !9
  %2997 = call i32 @s2n_renegotiate(ptr noundef %2996, ptr noundef nonnull %29, i64 noundef 22, ptr noundef nonnull %28, ptr noundef nonnull %6) #12
  %2998 = icmp eq i32 %2997, -1
  br i1 %2998, label %3021, label %2999

2999:                                             ; preds = %2993
  %3000 = load i32, ptr %959, align 4, !tbaa !5
  %3001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3002 = call i32 @s2n_print_stacktrace(ptr noundef %3001) #12
  %3003 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3004 = trunc nuw i8 %3003 to i1
  br i1 %3004, label %3005, label %3009

3005:                                             ; preds = %2999
  %3006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3007 = call i32 @fileno(ptr noundef %3006) #12
  %3008 = call i32 @isatty(i32 noundef %3007) #12
  %.not531 = icmp eq i32 %3008, 0
  br i1 %.not531, label %3009, label %3010

3009:                                             ; preds = %3005, %2999
  br label %3010

3010:                                             ; preds = %3005, %3009
  %.str.5.sink2104 = phi ptr [ @.str.5, %3009 ], [ @.str.2, %3005 ]
  store i32 %3000, ptr %959, align 4, !tbaa !5
  %3011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3012 = load i32, ptr @test_count, align 4, !tbaa !5
  %3013 = load i32, ptr %905, align 4, !tbaa !5
  %3014 = call ptr @s2n_strerror(i32 noundef %3013, ptr noundef nonnull @.str.4) #12
  %3015 = load i32, ptr %905, align 4, !tbaa !5
  %3016 = call ptr @s2n_strerror_debug(i32 noundef %3015, ptr noundef nonnull @.str.4) #12
  %3017 = load i32, ptr %959, align 4, !tbaa !5
  %3018 = call ptr @strerror(i32 noundef %3017) #12
  %3019 = load i32, ptr %959, align 4, !tbaa !5
  %3020 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3011, ptr noundef nonnull %.str.5.sink2104, i32 noundef %3012, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 275, ptr noundef %3014, ptr noundef %3016, ptr noundef %3018, i32 noundef %3019) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3021:                                             ; preds = %2993
  %3022 = load i32, ptr @test_count, align 4, !tbaa !5
  %3023 = add nsw i32 %3022, 1
  store i32 %3023, ptr @test_count, align 4, !tbaa !5
  %3024 = load i32, ptr %905, align 4, !tbaa !5
  %3025 = icmp eq i32 %3024, 335544322
  br i1 %3025, label %3048, label %3026

3026:                                             ; preds = %3021
  %3027 = load i32, ptr %959, align 4, !tbaa !5
  %3028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3029 = call i32 @s2n_print_stacktrace(ptr noundef %3028) #12
  %3030 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3031 = trunc nuw i8 %3030 to i1
  br i1 %3031, label %3032, label %3036

3032:                                             ; preds = %3026
  %3033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3034 = call i32 @fileno(ptr noundef %3033) #12
  %3035 = call i32 @isatty(i32 noundef %3034) #12
  %.not532 = icmp eq i32 %3035, 0
  br i1 %.not532, label %3036, label %3037

3036:                                             ; preds = %3032, %3026
  br label %3037

3037:                                             ; preds = %3032, %3036
  %.str.5.sink2113 = phi ptr [ @.str.5, %3036 ], [ @.str.2, %3032 ]
  store i32 %3027, ptr %959, align 4, !tbaa !5
  %3038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3039 = load i32, ptr @test_count, align 4, !tbaa !5
  %3040 = load i32, ptr %905, align 4, !tbaa !5
  %3041 = call ptr @s2n_strerror(i32 noundef %3040, ptr noundef nonnull @.str.4) #12
  %3042 = load i32, ptr %905, align 4, !tbaa !5
  %3043 = call ptr @s2n_strerror_debug(i32 noundef %3042, ptr noundef nonnull @.str.4) #12
  %3044 = load i32, ptr %959, align 4, !tbaa !5
  %3045 = call ptr @strerror(i32 noundef %3044) #12
  %3046 = load i32, ptr %959, align 4, !tbaa !5
  %3047 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3038, ptr noundef nonnull %.str.5.sink2113, i32 noundef %3039, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.1, i32 noundef 275, ptr noundef %3041, ptr noundef %3043, ptr noundef %3045, i32 noundef %3046) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3048:                                             ; preds = %3021
  %3049 = add nsw i32 %3022, 2
  store i32 %3049, ptr @test_count, align 4, !tbaa !5
  %3050 = call ptr @s2n_strerror_debug(i32 noundef 335544322, ptr noundef nonnull @.str.4) #12
  %3051 = icmp eq ptr %3050, null
  br i1 %3051, label %3052, label %3074

3052:                                             ; preds = %3048
  %3053 = load i32, ptr %959, align 4, !tbaa !5
  %3054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3055 = call i32 @s2n_print_stacktrace(ptr noundef %3054) #12
  %3056 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3057 = trunc nuw i8 %3056 to i1
  br i1 %3057, label %3058, label %3062

3058:                                             ; preds = %3052
  %3059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3060 = call i32 @fileno(ptr noundef %3059) #12
  %3061 = call i32 @isatty(i32 noundef %3060) #12
  %.not641 = icmp eq i32 %3061, 0
  br i1 %.not641, label %3062, label %3063

3062:                                             ; preds = %3058, %3052
  br label %3063

3063:                                             ; preds = %3058, %3062
  %.str.5.sink2122 = phi ptr [ @.str.5, %3062 ], [ @.str.2, %3058 ]
  store i32 %3053, ptr %959, align 4, !tbaa !5
  %3064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3065 = load i32, ptr @test_count, align 4, !tbaa !5
  %3066 = load i32, ptr %905, align 4, !tbaa !5
  %3067 = call ptr @s2n_strerror(i32 noundef %3066, ptr noundef nonnull @.str.4) #12
  %3068 = load i32, ptr %905, align 4, !tbaa !5
  %3069 = call ptr @s2n_strerror_debug(i32 noundef %3068, ptr noundef nonnull @.str.4) #12
  %3070 = load i32, ptr %959, align 4, !tbaa !5
  %3071 = call ptr @strerror(i32 noundef %3070) #12
  %3072 = load i32, ptr %959, align 4, !tbaa !5
  %3073 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3064, ptr noundef nonnull %.str.5.sink2122, i32 noundef %3065, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 275, ptr noundef %3067, ptr noundef %3069, ptr noundef %3071, i32 noundef %3072) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3074:                                             ; preds = %3048
  store i32 0, ptr %905, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %959, align 4, !tbaa !5
  %3075 = load i32, ptr @test_count, align 4, !tbaa !5
  %3076 = add nsw i32 %3075, 1
  store i32 %3076, ptr @test_count, align 4, !tbaa !5
  %3077 = load ptr, ptr %25, align 8, !tbaa !9
  %3078 = call i32 @s2n_conn_get_current_message_type(ptr noundef %3077) #12
  %3079 = icmp eq i32 %3078, 1
  br i1 %3079, label %3080, label %3102

3080:                                             ; preds = %3074
  %3081 = load i32, ptr %959, align 4, !tbaa !5
  %3082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3083 = call i32 @s2n_print_stacktrace(ptr noundef %3082) #12
  %3084 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3085 = trunc nuw i8 %3084 to i1
  br i1 %3085, label %3086, label %3090

3086:                                             ; preds = %3080
  %3087 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3088 = call i32 @fileno(ptr noundef %3087) #12
  %3089 = call i32 @isatty(i32 noundef %3088) #12
  %.not640 = icmp eq i32 %3089, 0
  br i1 %.not640, label %3090, label %3091

3090:                                             ; preds = %3086, %3080
  br label %3091

3091:                                             ; preds = %3086, %3090
  %.str.5.sink2131 = phi ptr [ @.str.5, %3090 ], [ @.str.2, %3086 ]
  store i32 %3081, ptr %959, align 4, !tbaa !5
  %3092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3093 = load i32, ptr @test_count, align 4, !tbaa !5
  %3094 = load i32, ptr %905, align 4, !tbaa !5
  %3095 = call ptr @s2n_strerror(i32 noundef %3094, ptr noundef nonnull @.str.4) #12
  %3096 = load i32, ptr %905, align 4, !tbaa !5
  %3097 = call ptr @s2n_strerror_debug(i32 noundef %3096, ptr noundef nonnull @.str.4) #12
  %3098 = load i32, ptr %959, align 4, !tbaa !5
  %3099 = call ptr @strerror(i32 noundef %3098) #12
  %3100 = load i32, ptr %959, align 4, !tbaa !5
  %3101 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3092, ptr noundef nonnull %.str.5.sink2131, i32 noundef %3093, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 276, ptr noundef %3095, ptr noundef %3097, ptr noundef %3099, i32 noundef %3100) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3102:                                             ; preds = %3074
  %3103 = load i32, ptr @test_count, align 4, !tbaa !5
  %3104 = add nsw i32 %3103, 1
  store i32 %3104, ptr @test_count, align 4, !tbaa !5
  %3105 = load ptr, ptr %25, align 8, !tbaa !9
  %3106 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %3105, i32 noundef 1) #12
  br i1 %3106, label %3129, label %3107

3107:                                             ; preds = %3102
  %3108 = load i32, ptr %959, align 4, !tbaa !5
  %3109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3110 = call i32 @s2n_print_stacktrace(ptr noundef %3109) #12
  %3111 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3112 = trunc nuw i8 %3111 to i1
  br i1 %3112, label %3113, label %3117

3113:                                             ; preds = %3107
  %3114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3115 = call i32 @fileno(ptr noundef %3114) #12
  %3116 = call i32 @isatty(i32 noundef %3115) #12
  %.not533 = icmp eq i32 %3116, 0
  br i1 %.not533, label %3117, label %3118

3117:                                             ; preds = %3113, %3107
  br label %3118

3118:                                             ; preds = %3113, %3117
  %.str.5.sink2140 = phi ptr [ @.str.5, %3117 ], [ @.str.2, %3113 ]
  store i32 %3108, ptr %959, align 4, !tbaa !5
  %3119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3120 = load i32, ptr @test_count, align 4, !tbaa !5
  %3121 = load i32, ptr %905, align 4, !tbaa !5
  %3122 = call ptr @s2n_strerror(i32 noundef %3121, ptr noundef nonnull @.str.4) #12
  %3123 = load i32, ptr %905, align 4, !tbaa !5
  %3124 = call ptr @s2n_strerror_debug(i32 noundef %3123, ptr noundef nonnull @.str.4) #12
  %3125 = load i32, ptr %959, align 4, !tbaa !5
  %3126 = call ptr @strerror(i32 noundef %3125) #12
  %3127 = load i32, ptr %959, align 4, !tbaa !5
  %3128 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3119, ptr noundef nonnull %.str.5.sink2140, i32 noundef %3120, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 277, ptr noundef %3122, ptr noundef %3124, ptr noundef %3126, i32 noundef %3127) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3129:                                             ; preds = %3102
  call void @llvm.lifetime.end.p0(i64 22, ptr nonnull %29) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %28) #12
  %3130 = call i32 @s2n_io_pair_close(ptr noundef nonnull %27) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27) #12
  %3131 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %26) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %26) #12
  %3132 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %25) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %30) #12
  %3133 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %3133, ptr %30, align 8, !tbaa !9
  %3134 = load i32, ptr @test_count, align 4, !tbaa !5
  %3135 = add nsw i32 %3134, 1
  store i32 %3135, ptr @test_count, align 4, !tbaa !5
  %3136 = icmp eq ptr %3133, null
  br i1 %3136, label %3137, label %3159

3137:                                             ; preds = %3129
  %3138 = load i32, ptr %959, align 4, !tbaa !5
  %3139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3140 = call i32 @s2n_print_stacktrace(ptr noundef %3139) #12
  %3141 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3142 = trunc nuw i8 %3141 to i1
  br i1 %3142, label %3143, label %3147

3143:                                             ; preds = %3137
  %3144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3145 = call i32 @fileno(ptr noundef %3144) #12
  %3146 = call i32 @isatty(i32 noundef %3145) #12
  %.not639 = icmp eq i32 %3146, 0
  br i1 %.not639, label %3147, label %3148

3147:                                             ; preds = %3143, %3137
  br label %3148

3148:                                             ; preds = %3143, %3147
  %.str.5.sink2149 = phi ptr [ @.str.5, %3147 ], [ @.str.2, %3143 ]
  store i32 %3138, ptr %959, align 4, !tbaa !5
  %3149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3150 = load i32, ptr @test_count, align 4, !tbaa !5
  %3151 = load i32, ptr %905, align 4, !tbaa !5
  %3152 = call ptr @s2n_strerror(i32 noundef %3151, ptr noundef nonnull @.str.4) #12
  %3153 = load i32, ptr %905, align 4, !tbaa !5
  %3154 = call ptr @s2n_strerror_debug(i32 noundef %3153, ptr noundef nonnull @.str.4) #12
  %3155 = load i32, ptr %959, align 4, !tbaa !5
  %3156 = call ptr @strerror(i32 noundef %3155) #12
  %3157 = load i32, ptr %959, align 4, !tbaa !5
  %3158 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3149, ptr noundef nonnull %.str.5.sink2149, i32 noundef %3150, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 283, ptr noundef %3152, ptr noundef %3154, ptr noundef %3156, i32 noundef %3157) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3159:                                             ; preds = %3129
  %3160 = add nsw i32 %3134, 2
  store i32 %3160, ptr @test_count, align 4, !tbaa !5
  %3161 = call i32 @s2n_connection_set_config(ptr noundef nonnull %3133, ptr noundef nonnull %163) #12
  %3162 = icmp eq i32 %3161, -1
  br i1 %3162, label %3163, label %3185

3163:                                             ; preds = %3159
  %3164 = load i32, ptr %959, align 4, !tbaa !5
  %3165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3166 = call i32 @s2n_print_stacktrace(ptr noundef %3165) #12
  %3167 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3168 = trunc nuw i8 %3167 to i1
  br i1 %3168, label %3169, label %3173

3169:                                             ; preds = %3163
  %3170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3171 = call i32 @fileno(ptr noundef %3170) #12
  %3172 = call i32 @isatty(i32 noundef %3171) #12
  %.not638 = icmp eq i32 %3172, 0
  br i1 %.not638, label %3173, label %3174

3173:                                             ; preds = %3169, %3163
  br label %3174

3174:                                             ; preds = %3169, %3173
  %.str.5.sink2158 = phi ptr [ @.str.5, %3173 ], [ @.str.2, %3169 ]
  store i32 %3164, ptr %959, align 4, !tbaa !5
  %3175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3176 = load i32, ptr @test_count, align 4, !tbaa !5
  %3177 = load i32, ptr %905, align 4, !tbaa !5
  %3178 = call ptr @s2n_strerror(i32 noundef %3177, ptr noundef nonnull @.str.4) #12
  %3179 = load i32, ptr %905, align 4, !tbaa !5
  %3180 = call ptr @s2n_strerror_debug(i32 noundef %3179, ptr noundef nonnull @.str.4) #12
  %3181 = load i32, ptr %959, align 4, !tbaa !5
  %3182 = call ptr @strerror(i32 noundef %3181) #12
  %3183 = load i32, ptr %959, align 4, !tbaa !5
  %3184 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3175, ptr noundef nonnull %.str.5.sink2158, i32 noundef %3176, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 284, ptr noundef %3178, ptr noundef %3180, ptr noundef %3182, i32 noundef %3183) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3185:                                             ; preds = %3159
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %31) #12
  %3186 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %3186, ptr %31, align 8, !tbaa !9
  %3187 = load i32, ptr @test_count, align 4, !tbaa !5
  %3188 = add nsw i32 %3187, 1
  store i32 %3188, ptr @test_count, align 4, !tbaa !5
  %3189 = icmp eq ptr %3186, null
  br i1 %3189, label %3190, label %3212

3190:                                             ; preds = %3185
  %3191 = load i32, ptr %959, align 4, !tbaa !5
  %3192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3193 = call i32 @s2n_print_stacktrace(ptr noundef %3192) #12
  %3194 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3195 = trunc nuw i8 %3194 to i1
  br i1 %3195, label %3196, label %3200

3196:                                             ; preds = %3190
  %3197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3198 = call i32 @fileno(ptr noundef %3197) #12
  %3199 = call i32 @isatty(i32 noundef %3198) #12
  %.not637 = icmp eq i32 %3199, 0
  br i1 %.not637, label %3200, label %3201

3200:                                             ; preds = %3196, %3190
  br label %3201

3201:                                             ; preds = %3196, %3200
  %.str.5.sink2167 = phi ptr [ @.str.5, %3200 ], [ @.str.2, %3196 ]
  store i32 %3191, ptr %959, align 4, !tbaa !5
  %3202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3203 = load i32, ptr @test_count, align 4, !tbaa !5
  %3204 = load i32, ptr %905, align 4, !tbaa !5
  %3205 = call ptr @s2n_strerror(i32 noundef %3204, ptr noundef nonnull @.str.4) #12
  %3206 = load i32, ptr %905, align 4, !tbaa !5
  %3207 = call ptr @s2n_strerror_debug(i32 noundef %3206, ptr noundef nonnull @.str.4) #12
  %3208 = load i32, ptr %959, align 4, !tbaa !5
  %3209 = call ptr @strerror(i32 noundef %3208) #12
  %3210 = load i32, ptr %959, align 4, !tbaa !5
  %3211 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3202, ptr noundef nonnull %.str.5.sink2167, i32 noundef %3203, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 287, ptr noundef %3205, ptr noundef %3207, ptr noundef %3209, i32 noundef %3210) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3212:                                             ; preds = %3185
  %3213 = add nsw i32 %3187, 2
  store i32 %3213, ptr @test_count, align 4, !tbaa !5
  %3214 = call i32 @s2n_connection_set_config(ptr noundef nonnull %3186, ptr noundef nonnull %163) #12
  %3215 = icmp eq i32 %3214, -1
  br i1 %3215, label %3216, label %3238

3216:                                             ; preds = %3212
  %3217 = load i32, ptr %959, align 4, !tbaa !5
  %3218 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3219 = call i32 @s2n_print_stacktrace(ptr noundef %3218) #12
  %3220 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3221 = trunc nuw i8 %3220 to i1
  br i1 %3221, label %3222, label %3226

3222:                                             ; preds = %3216
  %3223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3224 = call i32 @fileno(ptr noundef %3223) #12
  %3225 = call i32 @isatty(i32 noundef %3224) #12
  %.not636 = icmp eq i32 %3225, 0
  br i1 %.not636, label %3226, label %3227

3226:                                             ; preds = %3222, %3216
  br label %3227

3227:                                             ; preds = %3222, %3226
  %.str.5.sink2176 = phi ptr [ @.str.5, %3226 ], [ @.str.2, %3222 ]
  store i32 %3217, ptr %959, align 4, !tbaa !5
  %3228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3229 = load i32, ptr @test_count, align 4, !tbaa !5
  %3230 = load i32, ptr %905, align 4, !tbaa !5
  %3231 = call ptr @s2n_strerror(i32 noundef %3230, ptr noundef nonnull @.str.4) #12
  %3232 = load i32, ptr %905, align 4, !tbaa !5
  %3233 = call ptr @s2n_strerror_debug(i32 noundef %3232, ptr noundef nonnull @.str.4) #12
  %3234 = load i32, ptr %959, align 4, !tbaa !5
  %3235 = call ptr @strerror(i32 noundef %3234) #12
  %3236 = load i32, ptr %959, align 4, !tbaa !5
  %3237 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3228, ptr noundef nonnull %.str.5.sink2176, i32 noundef %3229, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 288, ptr noundef %3231, ptr noundef %3233, ptr noundef %3235, i32 noundef %3236) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3238:                                             ; preds = %3212
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %32) #12
  store i64 0, ptr %32, align 8
  %3239 = load i32, ptr @test_count, align 4, !tbaa !5
  %3240 = add nsw i32 %3239, 1
  store i32 %3240, ptr @test_count, align 4, !tbaa !5
  %3241 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef nonnull %32) #12
  %3242 = icmp eq i32 %3241, -1
  br i1 %3242, label %3243, label %3265

3243:                                             ; preds = %3238
  %3244 = load i32, ptr %959, align 4, !tbaa !5
  %3245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3246 = call i32 @s2n_print_stacktrace(ptr noundef %3245) #12
  %3247 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3248 = trunc nuw i8 %3247 to i1
  br i1 %3248, label %3249, label %3253

3249:                                             ; preds = %3243
  %3250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3251 = call i32 @fileno(ptr noundef %3250) #12
  %3252 = call i32 @isatty(i32 noundef %3251) #12
  %.not635 = icmp eq i32 %3252, 0
  br i1 %.not635, label %3253, label %3254

3253:                                             ; preds = %3249, %3243
  br label %3254

3254:                                             ; preds = %3249, %3253
  %.str.5.sink2185 = phi ptr [ @.str.5, %3253 ], [ @.str.2, %3249 ]
  store i32 %3244, ptr %959, align 4, !tbaa !5
  %3255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3256 = load i32, ptr @test_count, align 4, !tbaa !5
  %3257 = load i32, ptr %905, align 4, !tbaa !5
  %3258 = call ptr @s2n_strerror(i32 noundef %3257, ptr noundef nonnull @.str.4) #12
  %3259 = load i32, ptr %905, align 4, !tbaa !5
  %3260 = call ptr @s2n_strerror_debug(i32 noundef %3259, ptr noundef nonnull @.str.4) #12
  %3261 = load i32, ptr %959, align 4, !tbaa !5
  %3262 = call ptr @strerror(i32 noundef %3261) #12
  %3263 = load i32, ptr %959, align 4, !tbaa !5
  %3264 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3255, ptr noundef nonnull %.str.5.sink2185, i32 noundef %3256, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 291, ptr noundef %3258, ptr noundef %3260, ptr noundef %3262, i32 noundef %3263) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3265:                                             ; preds = %3238
  %3266 = load i32, ptr @test_count, align 4, !tbaa !5
  %3267 = add nsw i32 %3266, 1
  store i32 %3267, ptr @test_count, align 4, !tbaa !5
  %3268 = load ptr, ptr %31, align 8, !tbaa !9
  %3269 = load ptr, ptr %30, align 8, !tbaa !9
  %3270 = call i32 @s2n_connections_set_io_pair(ptr noundef %3268, ptr noundef %3269, ptr noundef nonnull %32) #12
  %3271 = icmp eq i32 %3270, -1
  br i1 %3271, label %3272, label %3294

3272:                                             ; preds = %3265
  %3273 = load i32, ptr %959, align 4, !tbaa !5
  %3274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3275 = call i32 @s2n_print_stacktrace(ptr noundef %3274) #12
  %3276 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3277 = trunc nuw i8 %3276 to i1
  br i1 %3277, label %3278, label %3282

3278:                                             ; preds = %3272
  %3279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3280 = call i32 @fileno(ptr noundef %3279) #12
  %3281 = call i32 @isatty(i32 noundef %3280) #12
  %.not634 = icmp eq i32 %3281, 0
  br i1 %.not634, label %3282, label %3283

3282:                                             ; preds = %3278, %3272
  br label %3283

3283:                                             ; preds = %3278, %3282
  %.str.5.sink2194 = phi ptr [ @.str.5, %3282 ], [ @.str.2, %3278 ]
  store i32 %3273, ptr %959, align 4, !tbaa !5
  %3284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3285 = load i32, ptr @test_count, align 4, !tbaa !5
  %3286 = load i32, ptr %905, align 4, !tbaa !5
  %3287 = call ptr @s2n_strerror(i32 noundef %3286, ptr noundef nonnull @.str.4) #12
  %3288 = load i32, ptr %905, align 4, !tbaa !5
  %3289 = call ptr @s2n_strerror_debug(i32 noundef %3288, ptr noundef nonnull @.str.4) #12
  %3290 = load i32, ptr %959, align 4, !tbaa !5
  %3291 = call ptr @strerror(i32 noundef %3290) #12
  %3292 = load i32, ptr %959, align 4, !tbaa !5
  %3293 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3284, ptr noundef nonnull %.str.5.sink2194, i32 noundef %3285, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 292, ptr noundef %3287, ptr noundef %3289, ptr noundef %3291, i32 noundef %3292) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3294:                                             ; preds = %3265
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %33) #12
  store i64 0, ptr %33, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 22, ptr nonnull %34) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(22) %34, i8 0, i64 22, i1 false)
  %3295 = load i32, ptr @test_count, align 4, !tbaa !5
  %3296 = add nsw i32 %3295, 1
  store i32 %3296, ptr @test_count, align 4, !tbaa !5
  %3297 = load ptr, ptr %30, align 8, !tbaa !9
  %3298 = load ptr, ptr %31, align 8, !tbaa !9
  %3299 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %3297, ptr noundef %3298) #12
  %3300 = icmp eq i32 %3299, -1
  br i1 %3300, label %3301, label %3323

3301:                                             ; preds = %3294
  %3302 = load i32, ptr %959, 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
  %.not633 = icmp eq i32 %3310, 0
  br i1 %.not633, label %3311, label %3312

3311:                                             ; preds = %3307, %3301
  br label %3312

3312:                                             ; preds = %3307, %3311
  %.str.5.sink2203 = phi ptr [ @.str.5, %3311 ], [ @.str.2, %3307 ]
  store i32 %3302, ptr %959, 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 %905, align 4, !tbaa !5
  %3316 = call ptr @s2n_strerror(i32 noundef %3315, ptr noundef nonnull @.str.4) #12
  %3317 = load i32, ptr %905, align 4, !tbaa !5
  %3318 = call ptr @s2n_strerror_debug(i32 noundef %3317, ptr noundef nonnull @.str.4) #12
  %3319 = load i32, ptr %959, align 4, !tbaa !5
  %3320 = call ptr @strerror(i32 noundef %3319) #12
  %3321 = load i32, ptr %959, align 4, !tbaa !5
  %3322 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3313, ptr noundef nonnull %.str.5.sink2203, i32 noundef %3314, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 298, ptr noundef %3316, ptr noundef %3318, ptr noundef %3320, i32 noundef %3321) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3323:                                             ; preds = %3294
  %3324 = load i32, ptr @test_count, align 4, !tbaa !5
  %3325 = add nsw i32 %3324, 1
  store i32 %3325, ptr @test_count, align 4, !tbaa !5
  %3326 = load ptr, ptr %31, align 8, !tbaa !9
  %3327 = call i32 @s2n_renegotiate_wipe(ptr noundef %3326) #12
  %3328 = icmp eq i32 %3327, -1
  br i1 %3328, label %3329, label %3351

3329:                                             ; preds = %3323
  %3330 = load i32, ptr %959, align 4, !tbaa !5
  %3331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3332 = call i32 @s2n_print_stacktrace(ptr noundef %3331) #12
  %3333 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3334 = trunc nuw i8 %3333 to i1
  br i1 %3334, label %3335, label %3339

3335:                                             ; preds = %3329
  %3336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3337 = call i32 @fileno(ptr noundef %3336) #12
  %3338 = call i32 @isatty(i32 noundef %3337) #12
  %.not632 = icmp eq i32 %3338, 0
  br i1 %.not632, label %3339, label %3340

3339:                                             ; preds = %3335, %3329
  br label %3340

3340:                                             ; preds = %3335, %3339
  %.str.5.sink2212 = phi ptr [ @.str.5, %3339 ], [ @.str.2, %3335 ]
  store i32 %3330, ptr %959, align 4, !tbaa !5
  %3341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3342 = load i32, ptr @test_count, align 4, !tbaa !5
  %3343 = load i32, ptr %905, align 4, !tbaa !5
  %3344 = call ptr @s2n_strerror(i32 noundef %3343, ptr noundef nonnull @.str.4) #12
  %3345 = load i32, ptr %905, align 4, !tbaa !5
  %3346 = call ptr @s2n_strerror_debug(i32 noundef %3345, ptr noundef nonnull @.str.4) #12
  %3347 = load i32, ptr %959, align 4, !tbaa !5
  %3348 = call ptr @strerror(i32 noundef %3347) #12
  %3349 = load i32, ptr %959, align 4, !tbaa !5
  %3350 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3341, ptr noundef nonnull %.str.5.sink2212, i32 noundef %3342, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 299, ptr noundef %3344, ptr noundef %3346, ptr noundef %3348, i32 noundef %3349) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3351:                                             ; preds = %3323
  %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 = load ptr, ptr %30, align 8, !tbaa !9
  %3355 = call i32 @s2n_renegotiate_wipe(ptr noundef %3354) #12
  %3356 = icmp eq i32 %3355, -1
  br i1 %3356, label %3357, label %3379

3357:                                             ; preds = %3351
  %3358 = load i32, ptr %959, align 4, !tbaa !5
  %3359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3360 = call i32 @s2n_print_stacktrace(ptr noundef %3359) #12
  %3361 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3362 = trunc nuw i8 %3361 to i1
  br i1 %3362, label %3363, label %3367

3363:                                             ; preds = %3357
  %3364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3365 = call i32 @fileno(ptr noundef %3364) #12
  %3366 = call i32 @isatty(i32 noundef %3365) #12
  %.not631 = icmp eq i32 %3366, 0
  br i1 %.not631, label %3367, label %3368

3367:                                             ; preds = %3363, %3357
  br label %3368

3368:                                             ; preds = %3363, %3367
  %.str.5.sink2221 = phi ptr [ @.str.5, %3367 ], [ @.str.2, %3363 ]
  store i32 %3358, ptr %959, align 4, !tbaa !5
  %3369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3370 = load i32, ptr @test_count, align 4, !tbaa !5
  %3371 = load i32, ptr %905, align 4, !tbaa !5
  %3372 = call ptr @s2n_strerror(i32 noundef %3371, ptr noundef nonnull @.str.4) #12
  %3373 = load i32, ptr %905, align 4, !tbaa !5
  %3374 = call ptr @s2n_strerror_debug(i32 noundef %3373, ptr noundef nonnull @.str.4) #12
  %3375 = load i32, ptr %959, align 4, !tbaa !5
  %3376 = call ptr @strerror(i32 noundef %3375) #12
  %3377 = load i32, ptr %959, align 4, !tbaa !5
  %3378 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3369, ptr noundef nonnull %.str.5.sink2221, i32 noundef %3370, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 300, ptr noundef %3372, ptr noundef %3374, ptr noundef %3376, i32 noundef %3377) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3379:                                             ; preds = %3351
  %3380 = load i32, ptr @test_count, align 4, !tbaa !5
  %3381 = add nsw i32 %3380, 1
  store i32 %3381, ptr @test_count, align 4, !tbaa !5
  %3382 = load ptr, ptr %31, align 8, !tbaa !9
  %3383 = call i32 @s2n_renegotiate(ptr noundef %3382, ptr noundef nonnull %34, i64 noundef 22, ptr noundef nonnull %33, ptr noundef nonnull %6) #12
  %3384 = icmp eq i32 %3383, -1
  br i1 %3384, label %3407, label %3385

3385:                                             ; preds = %3379
  %3386 = load i32, ptr %959, align 4, !tbaa !5
  %3387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3388 = call i32 @s2n_print_stacktrace(ptr noundef %3387) #12
  %3389 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3390 = trunc nuw i8 %3389 to i1
  br i1 %3390, label %3391, label %3395

3391:                                             ; preds = %3385
  %3392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3393 = call i32 @fileno(ptr noundef %3392) #12
  %3394 = call i32 @isatty(i32 noundef %3393) #12
  %.not534 = icmp eq i32 %3394, 0
  br i1 %.not534, label %3395, label %3396

3395:                                             ; preds = %3391, %3385
  br label %3396

3396:                                             ; preds = %3391, %3395
  %.str.5.sink2230 = phi ptr [ @.str.5, %3395 ], [ @.str.2, %3391 ]
  store i32 %3386, ptr %959, align 4, !tbaa !5
  %3397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3398 = load i32, ptr @test_count, align 4, !tbaa !5
  %3399 = load i32, ptr %905, align 4, !tbaa !5
  %3400 = call ptr @s2n_strerror(i32 noundef %3399, ptr noundef nonnull @.str.4) #12
  %3401 = load i32, ptr %905, align 4, !tbaa !5
  %3402 = call ptr @s2n_strerror_debug(i32 noundef %3401, ptr noundef nonnull @.str.4) #12
  %3403 = load i32, ptr %959, align 4, !tbaa !5
  %3404 = call ptr @strerror(i32 noundef %3403) #12
  %3405 = load i32, ptr %959, align 4, !tbaa !5
  %3406 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3397, ptr noundef nonnull %.str.5.sink2230, i32 noundef %3398, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 304, ptr noundef %3400, ptr noundef %3402, ptr noundef %3404, i32 noundef %3405) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3407:                                             ; preds = %3379
  %3408 = load i32, ptr @test_count, align 4, !tbaa !5
  %3409 = add nsw i32 %3408, 1
  store i32 %3409, ptr @test_count, align 4, !tbaa !5
  %3410 = load i32, ptr %905, align 4, !tbaa !5
  %3411 = icmp eq i32 %3410, 201326592
  br i1 %3411, label %3434, label %3412

3412:                                             ; preds = %3407
  %3413 = load i32, ptr %959, 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
  %.not535 = icmp eq i32 %3421, 0
  br i1 %.not535, label %3422, label %3423

3422:                                             ; preds = %3418, %3412
  br label %3423

3423:                                             ; preds = %3418, %3422
  %.str.5.sink2239 = phi ptr [ @.str.5, %3422 ], [ @.str.2, %3418 ]
  store i32 %3413, ptr %959, 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 %905, align 4, !tbaa !5
  %3427 = call ptr @s2n_strerror(i32 noundef %3426, ptr noundef nonnull @.str.4) #12
  %3428 = load i32, ptr %905, align 4, !tbaa !5
  %3429 = call ptr @s2n_strerror_debug(i32 noundef %3428, ptr noundef nonnull @.str.4) #12
  %3430 = load i32, ptr %959, align 4, !tbaa !5
  %3431 = call ptr @strerror(i32 noundef %3430) #12
  %3432 = load i32, ptr %959, align 4, !tbaa !5
  %3433 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3424, ptr noundef nonnull %.str.5.sink2239, i32 noundef %3425, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 304, ptr noundef %3427, ptr noundef %3429, ptr noundef %3431, i32 noundef %3432) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3434:                                             ; preds = %3407
  %3435 = add nsw i32 %3408, 2
  store i32 %3435, ptr @test_count, align 4, !tbaa !5
  %3436 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #12
  %3437 = icmp eq ptr %3436, null
  br i1 %3437, label %3438, label %3460

3438:                                             ; preds = %3434
  %3439 = load i32, ptr %959, align 4, !tbaa !5
  %3440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3441 = call i32 @s2n_print_stacktrace(ptr noundef %3440) #12
  %3442 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3443 = trunc nuw i8 %3442 to i1
  br i1 %3443, label %3444, label %3448

3444:                                             ; preds = %3438
  %3445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3446 = call i32 @fileno(ptr noundef %3445) #12
  %3447 = call i32 @isatty(i32 noundef %3446) #12
  %.not630 = icmp eq i32 %3447, 0
  br i1 %.not630, label %3448, label %3449

3448:                                             ; preds = %3444, %3438
  br label %3449

3449:                                             ; preds = %3444, %3448
  %.str.5.sink2248 = phi ptr [ @.str.5, %3448 ], [ @.str.2, %3444 ]
  store i32 %3439, ptr %959, align 4, !tbaa !5
  %3450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3451 = load i32, ptr @test_count, align 4, !tbaa !5
  %3452 = load i32, ptr %905, align 4, !tbaa !5
  %3453 = call ptr @s2n_strerror(i32 noundef %3452, ptr noundef nonnull @.str.4) #12
  %3454 = load i32, ptr %905, align 4, !tbaa !5
  %3455 = call ptr @s2n_strerror_debug(i32 noundef %3454, ptr noundef nonnull @.str.4) #12
  %3456 = load i32, ptr %959, align 4, !tbaa !5
  %3457 = call ptr @strerror(i32 noundef %3456) #12
  %3458 = load i32, ptr %959, align 4, !tbaa !5
  %3459 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3450, ptr noundef nonnull %.str.5.sink2248, i32 noundef %3451, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 304, ptr noundef %3453, ptr noundef %3455, ptr noundef %3457, i32 noundef %3458) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3460:                                             ; preds = %3434
  store i32 0, ptr %905, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %959, align 4, !tbaa !5
  %3461 = load i32, ptr @test_count, align 4, !tbaa !5
  %3462 = add nsw i32 %3461, 1
  store i32 %3462, ptr @test_count, align 4, !tbaa !5
  %3463 = load ptr, ptr %31, align 8, !tbaa !9
  %3464 = call i32 @s2n_conn_get_current_message_type(ptr noundef %3463) #12
  %3465 = icmp eq i32 %3464, 1
  br i1 %3465, label %3488, label %3466

3466:                                             ; preds = %3460
  %3467 = load i32, ptr %959, align 4, !tbaa !5
  %3468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3469 = call i32 @s2n_print_stacktrace(ptr noundef %3468) #12
  %3470 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3471 = trunc nuw i8 %3470 to i1
  br i1 %3471, label %3472, label %3476

3472:                                             ; preds = %3466
  %3473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3474 = call i32 @fileno(ptr noundef %3473) #12
  %3475 = call i32 @isatty(i32 noundef %3474) #12
  %.not536 = icmp eq i32 %3475, 0
  br i1 %.not536, label %3476, label %3477

3476:                                             ; preds = %3472, %3466
  br label %3477

3477:                                             ; preds = %3472, %3476
  %.str.5.sink2257 = phi ptr [ @.str.5, %3476 ], [ @.str.2, %3472 ]
  store i32 %3467, ptr %959, align 4, !tbaa !5
  %3478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3479 = load i32, ptr @test_count, align 4, !tbaa !5
  %3480 = load i32, ptr %905, align 4, !tbaa !5
  %3481 = call ptr @s2n_strerror(i32 noundef %3480, ptr noundef nonnull @.str.4) #12
  %3482 = load i32, ptr %905, align 4, !tbaa !5
  %3483 = call ptr @s2n_strerror_debug(i32 noundef %3482, ptr noundef nonnull @.str.4) #12
  %3484 = load i32, ptr %959, align 4, !tbaa !5
  %3485 = call ptr @strerror(i32 noundef %3484) #12
  %3486 = load i32, ptr %959, align 4, !tbaa !5
  %3487 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3478, ptr noundef nonnull %.str.5.sink2257, i32 noundef %3479, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 305, ptr noundef %3481, ptr noundef %3483, ptr noundef %3485, i32 noundef %3486) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3488:                                             ; preds = %3460
  %3489 = load i32, ptr @test_count, align 4, !tbaa !5
  %3490 = add nsw i32 %3489, 1
  store i32 %3490, ptr @test_count, align 4, !tbaa !5
  %3491 = load i32, ptr %6, align 4, !tbaa !5
  %3492 = icmp eq i32 %3491, 1
  br i1 %3492, label %3515, label %3493

3493:                                             ; preds = %3488
  %3494 = load i32, ptr %959, align 4, !tbaa !5
  %3495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3496 = call i32 @s2n_print_stacktrace(ptr noundef %3495) #12
  %3497 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3498 = trunc nuw i8 %3497 to i1
  br i1 %3498, label %3499, label %3503

3499:                                             ; preds = %3493
  %3500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3501 = call i32 @fileno(ptr noundef %3500) #12
  %3502 = call i32 @isatty(i32 noundef %3501) #12
  %.not537 = icmp eq i32 %3502, 0
  br i1 %.not537, label %3503, label %3504

3503:                                             ; preds = %3499, %3493
  br label %3504

3504:                                             ; preds = %3499, %3503
  %.str.5.sink2266 = phi ptr [ @.str.5, %3503 ], [ @.str.2, %3499 ]
  store i32 %3494, ptr %959, align 4, !tbaa !5
  %3505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3506 = load i32, ptr @test_count, align 4, !tbaa !5
  %3507 = load i32, ptr %905, align 4, !tbaa !5
  %3508 = call ptr @s2n_strerror(i32 noundef %3507, ptr noundef nonnull @.str.4) #12
  %3509 = load i32, ptr %905, align 4, !tbaa !5
  %3510 = call ptr @s2n_strerror_debug(i32 noundef %3509, ptr noundef nonnull @.str.4) #12
  %3511 = load i32, ptr %959, align 4, !tbaa !5
  %3512 = call ptr @strerror(i32 noundef %3511) #12
  %3513 = load i32, ptr %959, align 4, !tbaa !5
  %3514 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3505, ptr noundef nonnull %.str.5.sink2266, i32 noundef %3506, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 306, ptr noundef %3508, ptr noundef %3510, ptr noundef %3512, i32 noundef %3513) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3515:                                             ; preds = %3488
  %3516 = add nsw i32 %3489, 2
  store i32 %3516, ptr @test_count, align 4, !tbaa !5
  %3517 = load ptr, ptr %30, align 8, !tbaa !9
  %3518 = call i32 @s2n_negotiate_until_message(ptr noundef %3517, ptr noundef nonnull %6, i32 noundef 1) #12
  %3519 = call zeroext i1 @s2n_result_is_ok(i32 %3518)
  br i1 %3519, label %3542, label %3520

3520:                                             ; preds = %3515
  %3521 = load i32, ptr %959, align 4, !tbaa !5
  %3522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3523 = call i32 @s2n_print_stacktrace(ptr noundef %3522) #12
  %3524 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3525 = trunc nuw i8 %3524 to i1
  br i1 %3525, label %3526, label %3530

3526:                                             ; preds = %3520
  %3527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3528 = call i32 @fileno(ptr noundef %3527) #12
  %3529 = call i32 @isatty(i32 noundef %3528) #12
  %.not538 = icmp eq i32 %3529, 0
  br i1 %.not538, label %3530, label %3531

3530:                                             ; preds = %3526, %3520
  br label %3531

3531:                                             ; preds = %3526, %3530
  %.str.5.sink2275 = phi ptr [ @.str.5, %3530 ], [ @.str.2, %3526 ]
  store i32 %3521, ptr %959, align 4, !tbaa !5
  %3532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3533 = load i32, ptr @test_count, align 4, !tbaa !5
  %3534 = load i32, ptr %905, align 4, !tbaa !5
  %3535 = call ptr @s2n_strerror(i32 noundef %3534, ptr noundef nonnull @.str.4) #12
  %3536 = load i32, ptr %905, align 4, !tbaa !5
  %3537 = call ptr @s2n_strerror_debug(i32 noundef %3536, ptr noundef nonnull @.str.4) #12
  %3538 = load i32, ptr %959, align 4, !tbaa !5
  %3539 = call ptr @strerror(i32 noundef %3538) #12
  %3540 = load i32, ptr %959, align 4, !tbaa !5
  %3541 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3532, ptr noundef nonnull %.str.5.sink2275, i32 noundef %3533, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.1, i32 noundef 309, ptr noundef %3535, ptr noundef %3537, ptr noundef %3539, i32 noundef %3540) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3542:                                             ; preds = %3515
  %3543 = load ptr, ptr %30, align 8, !tbaa !9
  %3544 = getelementptr inbounds i8, ptr %3543, i64 2172
  store i32 3, ptr %3544, align 4, !tbaa !20
  %3545 = getelementptr inbounds i8, ptr %3543, i64 2176
  store i32 3, ptr %3545, align 8, !tbaa !46
  %3546 = load i32, ptr @test_count, align 4, !tbaa !5
  %3547 = add nsw i32 %3546, 1
  store i32 %3547, ptr @test_count, align 4, !tbaa !5
  %3548 = call i32 @s2n_conn_get_current_message_type(ptr noundef %3543) #12
  %3549 = icmp eq i32 %3548, 7
  br i1 %3549, label %3572, label %3550

3550:                                             ; preds = %3542
  %3551 = load i32, ptr %959, align 4, !tbaa !5
  %3552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3553 = call i32 @s2n_print_stacktrace(ptr noundef %3552) #12
  %3554 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3555 = trunc nuw i8 %3554 to i1
  br i1 %3555, label %3556, label %3560

3556:                                             ; preds = %3550
  %3557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3558 = call i32 @fileno(ptr noundef %3557) #12
  %3559 = call i32 @isatty(i32 noundef %3558) #12
  %.not539 = icmp eq i32 %3559, 0
  br i1 %.not539, label %3560, label %3561

3560:                                             ; preds = %3556, %3550
  br label %3561

3561:                                             ; preds = %3556, %3560
  %.str.5.sink2284 = phi ptr [ @.str.5, %3560 ], [ @.str.2, %3556 ]
  store i32 %3551, ptr %959, align 4, !tbaa !5
  %3562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3563 = load i32, ptr @test_count, align 4, !tbaa !5
  %3564 = load i32, ptr %905, align 4, !tbaa !5
  %3565 = call ptr @s2n_strerror(i32 noundef %3564, ptr noundef nonnull @.str.4) #12
  %3566 = load i32, ptr %905, align 4, !tbaa !5
  %3567 = call ptr @s2n_strerror_debug(i32 noundef %3566, ptr noundef nonnull @.str.4) #12
  %3568 = load i32, ptr %959, align 4, !tbaa !5
  %3569 = call ptr @strerror(i32 noundef %3568) #12
  %3570 = load i32, ptr %959, align 4, !tbaa !5
  %3571 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3562, ptr noundef nonnull %.str.5.sink2284, i32 noundef %3563, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.1, i32 noundef 316, ptr noundef %3565, ptr noundef %3567, ptr noundef %3569, i32 noundef %3570) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3572:                                             ; preds = %3542
  %3573 = load i32, ptr @test_count, align 4, !tbaa !5
  %3574 = add nsw i32 %3573, 1
  store i32 %3574, ptr @test_count, align 4, !tbaa !5
  %3575 = load ptr, ptr %30, align 8, !tbaa !9
  %3576 = call i32 @s2n_negotiate(ptr noundef %3575, ptr noundef nonnull %6) #12
  %3577 = icmp eq i32 %3576, -1
  br i1 %3577, label %3600, label %3578

3578:                                             ; preds = %3572
  %3579 = load i32, ptr %959, align 4, !tbaa !5
  %3580 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3581 = call i32 @s2n_print_stacktrace(ptr noundef %3580) #12
  %3582 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3583 = trunc nuw i8 %3582 to i1
  br i1 %3583, label %3584, label %3588

3584:                                             ; preds = %3578
  %3585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3586 = call i32 @fileno(ptr noundef %3585) #12
  %3587 = call i32 @isatty(i32 noundef %3586) #12
  %.not540 = icmp eq i32 %3587, 0
  br i1 %.not540, label %3588, label %3589

3588:                                             ; preds = %3584, %3578
  br label %3589

3589:                                             ; preds = %3584, %3588
  %.str.5.sink2293 = phi ptr [ @.str.5, %3588 ], [ @.str.2, %3584 ]
  store i32 %3579, ptr %959, align 4, !tbaa !5
  %3590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3591 = load i32, ptr @test_count, align 4, !tbaa !5
  %3592 = load i32, ptr %905, align 4, !tbaa !5
  %3593 = call ptr @s2n_strerror(i32 noundef %3592, ptr noundef nonnull @.str.4) #12
  %3594 = load i32, ptr %905, align 4, !tbaa !5
  %3595 = call ptr @s2n_strerror_debug(i32 noundef %3594, ptr noundef nonnull @.str.4) #12
  %3596 = load i32, ptr %959, align 4, !tbaa !5
  %3597 = call ptr @strerror(i32 noundef %3596) #12
  %3598 = load i32, ptr %959, align 4, !tbaa !5
  %3599 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3590, ptr noundef nonnull %.str.5.sink2293, i32 noundef %3591, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 317, ptr noundef %3593, ptr noundef %3595, ptr noundef %3597, i32 noundef %3598) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3600:                                             ; preds = %3572
  %3601 = load i32, ptr @test_count, align 4, !tbaa !5
  %3602 = add nsw i32 %3601, 1
  store i32 %3602, ptr @test_count, align 4, !tbaa !5
  %3603 = load i32, ptr %905, align 4, !tbaa !5
  %3604 = icmp eq i32 %3603, 201326592
  br i1 %3604, label %3627, label %3605

3605:                                             ; preds = %3600
  %3606 = load i32, ptr %959, align 4, !tbaa !5
  %3607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3608 = call i32 @s2n_print_stacktrace(ptr noundef %3607) #12
  %3609 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3610 = trunc nuw i8 %3609 to i1
  br i1 %3610, label %3611, label %3615

3611:                                             ; preds = %3605
  %3612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3613 = call i32 @fileno(ptr noundef %3612) #12
  %3614 = call i32 @isatty(i32 noundef %3613) #12
  %.not541 = icmp eq i32 %3614, 0
  br i1 %.not541, label %3615, label %3616

3615:                                             ; preds = %3611, %3605
  br label %3616

3616:                                             ; preds = %3611, %3615
  %.str.5.sink2302 = phi ptr [ @.str.5, %3615 ], [ @.str.2, %3611 ]
  store i32 %3606, ptr %959, align 4, !tbaa !5
  %3617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3618 = load i32, ptr @test_count, align 4, !tbaa !5
  %3619 = load i32, ptr %905, align 4, !tbaa !5
  %3620 = call ptr @s2n_strerror(i32 noundef %3619, ptr noundef nonnull @.str.4) #12
  %3621 = load i32, ptr %905, align 4, !tbaa !5
  %3622 = call ptr @s2n_strerror_debug(i32 noundef %3621, ptr noundef nonnull @.str.4) #12
  %3623 = load i32, ptr %959, align 4, !tbaa !5
  %3624 = call ptr @strerror(i32 noundef %3623) #12
  %3625 = load i32, ptr %959, align 4, !tbaa !5
  %3626 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3617, ptr noundef nonnull %.str.5.sink2302, i32 noundef %3618, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 317, ptr noundef %3620, ptr noundef %3622, ptr noundef %3624, i32 noundef %3625) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3627:                                             ; preds = %3600
  %3628 = add nsw i32 %3601, 2
  store i32 %3628, ptr @test_count, align 4, !tbaa !5
  %3629 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #12
  %3630 = icmp eq ptr %3629, null
  br i1 %3630, label %3631, label %3653

3631:                                             ; preds = %3627
  %3632 = load i32, ptr %959, align 4, !tbaa !5
  %3633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3634 = call i32 @s2n_print_stacktrace(ptr noundef %3633) #12
  %3635 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3636 = trunc nuw i8 %3635 to i1
  br i1 %3636, label %3637, label %3641

3637:                                             ; preds = %3631
  %3638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3639 = call i32 @fileno(ptr noundef %3638) #12
  %3640 = call i32 @isatty(i32 noundef %3639) #12
  %.not629 = icmp eq i32 %3640, 0
  br i1 %.not629, label %3641, label %3642

3641:                                             ; preds = %3637, %3631
  br label %3642

3642:                                             ; preds = %3637, %3641
  %.str.5.sink2311 = phi ptr [ @.str.5, %3641 ], [ @.str.2, %3637 ]
  store i32 %3632, ptr %959, align 4, !tbaa !5
  %3643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3644 = load i32, ptr @test_count, align 4, !tbaa !5
  %3645 = load i32, ptr %905, align 4, !tbaa !5
  %3646 = call ptr @s2n_strerror(i32 noundef %3645, ptr noundef nonnull @.str.4) #12
  %3647 = load i32, ptr %905, align 4, !tbaa !5
  %3648 = call ptr @s2n_strerror_debug(i32 noundef %3647, ptr noundef nonnull @.str.4) #12
  %3649 = load i32, ptr %959, align 4, !tbaa !5
  %3650 = call ptr @strerror(i32 noundef %3649) #12
  %3651 = load i32, ptr %959, align 4, !tbaa !5
  %3652 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3643, ptr noundef nonnull %.str.5.sink2311, i32 noundef %3644, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 317, ptr noundef %3646, ptr noundef %3648, ptr noundef %3650, i32 noundef %3651) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3653:                                             ; preds = %3627
  store i32 0, ptr %905, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %959, align 4, !tbaa !5
  %3654 = load i32, ptr @test_count, align 4, !tbaa !5
  %3655 = add nsw i32 %3654, 1
  store i32 %3655, ptr @test_count, align 4, !tbaa !5
  %3656 = load ptr, ptr %31, align 8, !tbaa !9
  %3657 = call i32 @s2n_renegotiate(ptr noundef %3656, ptr noundef nonnull %34, i64 noundef 22, ptr noundef nonnull %33, ptr noundef nonnull %6) #12
  %3658 = icmp eq i32 %3657, -1
  br i1 %3658, label %3681, label %3659

3659:                                             ; preds = %3653
  %3660 = load i32, ptr %959, align 4, !tbaa !5
  %3661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3662 = call i32 @s2n_print_stacktrace(ptr noundef %3661) #12
  %3663 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3664 = trunc nuw i8 %3663 to i1
  br i1 %3664, label %3665, label %3669

3665:                                             ; preds = %3659
  %3666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3667 = call i32 @fileno(ptr noundef %3666) #12
  %3668 = call i32 @isatty(i32 noundef %3667) #12
  %.not542 = icmp eq i32 %3668, 0
  br i1 %.not542, label %3669, label %3670

3669:                                             ; preds = %3665, %3659
  br label %3670

3670:                                             ; preds = %3665, %3669
  %.str.5.sink2320 = phi ptr [ @.str.5, %3669 ], [ @.str.2, %3665 ]
  store i32 %3660, ptr %959, align 4, !tbaa !5
  %3671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3672 = load i32, ptr @test_count, align 4, !tbaa !5
  %3673 = load i32, ptr %905, align 4, !tbaa !5
  %3674 = call ptr @s2n_strerror(i32 noundef %3673, ptr noundef nonnull @.str.4) #12
  %3675 = load i32, ptr %905, align 4, !tbaa !5
  %3676 = call ptr @s2n_strerror_debug(i32 noundef %3675, ptr noundef nonnull @.str.4) #12
  %3677 = load i32, ptr %959, align 4, !tbaa !5
  %3678 = call ptr @strerror(i32 noundef %3677) #12
  %3679 = load i32, ptr %959, align 4, !tbaa !5
  %3680 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3671, ptr noundef nonnull %.str.5.sink2320, i32 noundef %3672, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 321, ptr noundef %3674, ptr noundef %3676, ptr noundef %3678, i32 noundef %3679) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3681:                                             ; preds = %3653
  %3682 = load i32, ptr @test_count, align 4, !tbaa !5
  %3683 = add nsw i32 %3682, 1
  store i32 %3683, ptr @test_count, align 4, !tbaa !5
  %3684 = load i32, ptr %905, align 4, !tbaa !5
  %3685 = icmp eq i32 %3684, 335544322
  br i1 %3685, label %3708, label %3686

3686:                                             ; preds = %3681
  %3687 = load i32, ptr %959, align 4, !tbaa !5
  %3688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3689 = call i32 @s2n_print_stacktrace(ptr noundef %3688) #12
  %3690 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3691 = trunc nuw i8 %3690 to i1
  br i1 %3691, label %3692, label %3696

3692:                                             ; preds = %3686
  %3693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3694 = call i32 @fileno(ptr noundef %3693) #12
  %3695 = call i32 @isatty(i32 noundef %3694) #12
  %.not543 = icmp eq i32 %3695, 0
  br i1 %.not543, label %3696, label %3697

3696:                                             ; preds = %3692, %3686
  br label %3697

3697:                                             ; preds = %3692, %3696
  %.str.5.sink2329 = phi ptr [ @.str.5, %3696 ], [ @.str.2, %3692 ]
  store i32 %3687, ptr %959, align 4, !tbaa !5
  %3698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3699 = load i32, ptr @test_count, align 4, !tbaa !5
  %3700 = load i32, ptr %905, align 4, !tbaa !5
  %3701 = call ptr @s2n_strerror(i32 noundef %3700, ptr noundef nonnull @.str.4) #12
  %3702 = load i32, ptr %905, align 4, !tbaa !5
  %3703 = call ptr @s2n_strerror_debug(i32 noundef %3702, ptr noundef nonnull @.str.4) #12
  %3704 = load i32, ptr %959, align 4, !tbaa !5
  %3705 = call ptr @strerror(i32 noundef %3704) #12
  %3706 = load i32, ptr %959, align 4, !tbaa !5
  %3707 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3698, ptr noundef nonnull %.str.5.sink2329, i32 noundef %3699, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.1, i32 noundef 321, ptr noundef %3701, ptr noundef %3703, ptr noundef %3705, i32 noundef %3706) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3708:                                             ; preds = %3681
  %3709 = add nsw i32 %3682, 2
  store i32 %3709, ptr @test_count, align 4, !tbaa !5
  %3710 = call ptr @s2n_strerror_debug(i32 noundef 335544322, ptr noundef nonnull @.str.4) #12
  %3711 = icmp eq ptr %3710, null
  br i1 %3711, label %3712, label %3734

3712:                                             ; preds = %3708
  %3713 = load i32, ptr %959, align 4, !tbaa !5
  %3714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3715 = call i32 @s2n_print_stacktrace(ptr noundef %3714) #12
  %3716 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3717 = trunc nuw i8 %3716 to i1
  br i1 %3717, label %3718, label %3722

3718:                                             ; preds = %3712
  %3719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3720 = call i32 @fileno(ptr noundef %3719) #12
  %3721 = call i32 @isatty(i32 noundef %3720) #12
  %.not628 = icmp eq i32 %3721, 0
  br i1 %.not628, label %3722, label %3723

3722:                                             ; preds = %3718, %3712
  br label %3723

3723:                                             ; preds = %3718, %3722
  %.str.5.sink2338 = phi ptr [ @.str.5, %3722 ], [ @.str.2, %3718 ]
  store i32 %3713, ptr %959, align 4, !tbaa !5
  %3724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3725 = load i32, ptr @test_count, align 4, !tbaa !5
  %3726 = load i32, ptr %905, align 4, !tbaa !5
  %3727 = call ptr @s2n_strerror(i32 noundef %3726, ptr noundef nonnull @.str.4) #12
  %3728 = load i32, ptr %905, align 4, !tbaa !5
  %3729 = call ptr @s2n_strerror_debug(i32 noundef %3728, ptr noundef nonnull @.str.4) #12
  %3730 = load i32, ptr %959, align 4, !tbaa !5
  %3731 = call ptr @strerror(i32 noundef %3730) #12
  %3732 = load i32, ptr %959, align 4, !tbaa !5
  %3733 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3724, ptr noundef nonnull %.str.5.sink2338, i32 noundef %3725, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 321, ptr noundef %3727, ptr noundef %3729, ptr noundef %3731, i32 noundef %3732) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3734:                                             ; preds = %3708
  store i32 0, ptr %905, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %959, align 4, !tbaa !5
  %3735 = load i32, ptr @test_count, align 4, !tbaa !5
  %3736 = add nsw i32 %3735, 1
  store i32 %3736, ptr @test_count, align 4, !tbaa !5
  %3737 = load ptr, ptr %31, align 8, !tbaa !9
  %3738 = call i32 @s2n_conn_get_current_message_type(ptr noundef %3737) #12
  %3739 = icmp eq i32 %3738, 1
  br i1 %3739, label %3762, label %3740

3740:                                             ; preds = %3734
  %3741 = load i32, ptr %959, align 4, !tbaa !5
  %3742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3743 = call i32 @s2n_print_stacktrace(ptr noundef %3742) #12
  %3744 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3745 = trunc nuw i8 %3744 to i1
  br i1 %3745, label %3746, label %3750

3746:                                             ; preds = %3740
  %3747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3748 = call i32 @fileno(ptr noundef %3747) #12
  %3749 = call i32 @isatty(i32 noundef %3748) #12
  %.not544 = icmp eq i32 %3749, 0
  br i1 %.not544, label %3750, label %3751

3750:                                             ; preds = %3746, %3740
  br label %3751

3751:                                             ; preds = %3746, %3750
  %.str.5.sink2347 = phi ptr [ @.str.5, %3750 ], [ @.str.2, %3746 ]
  store i32 %3741, ptr %959, align 4, !tbaa !5
  %3752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3753 = load i32, ptr @test_count, align 4, !tbaa !5
  %3754 = load i32, ptr %905, align 4, !tbaa !5
  %3755 = call ptr @s2n_strerror(i32 noundef %3754, ptr noundef nonnull @.str.4) #12
  %3756 = load i32, ptr %905, align 4, !tbaa !5
  %3757 = call ptr @s2n_strerror_debug(i32 noundef %3756, ptr noundef nonnull @.str.4) #12
  %3758 = load i32, ptr %959, align 4, !tbaa !5
  %3759 = call ptr @strerror(i32 noundef %3758) #12
  %3760 = load i32, ptr %959, align 4, !tbaa !5
  %3761 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3752, ptr noundef nonnull %.str.5.sink2347, i32 noundef %3753, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 322, ptr noundef %3755, ptr noundef %3757, ptr noundef %3759, i32 noundef %3760) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3762:                                             ; preds = %3734
  call void @llvm.lifetime.end.p0(i64 22, ptr nonnull %34) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %33) #12
  %3763 = call i32 @s2n_io_pair_close(ptr noundef nonnull %32) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %32) #12
  %3764 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %31) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %31) #12
  %3765 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %30) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %35) #12
  %3766 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %3766, ptr %35, align 8, !tbaa !9
  %3767 = load i32, ptr @test_count, align 4, !tbaa !5
  %3768 = add nsw i32 %3767, 1
  store i32 %3768, ptr @test_count, align 4, !tbaa !5
  %3769 = icmp eq ptr %3766, null
  br i1 %3769, label %3770, label %3792

3770:                                             ; preds = %3762
  %3771 = load i32, ptr %959, align 4, !tbaa !5
  %3772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3773 = call i32 @s2n_print_stacktrace(ptr noundef %3772) #12
  %3774 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3775 = trunc nuw i8 %3774 to i1
  br i1 %3775, label %3776, label %3780

3776:                                             ; preds = %3770
  %3777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3778 = call i32 @fileno(ptr noundef %3777) #12
  %3779 = call i32 @isatty(i32 noundef %3778) #12
  %.not627 = icmp eq i32 %3779, 0
  br i1 %.not627, label %3780, label %3781

3780:                                             ; preds = %3776, %3770
  br label %3781

3781:                                             ; preds = %3776, %3780
  %.str.5.sink2356 = phi ptr [ @.str.5, %3780 ], [ @.str.2, %3776 ]
  store i32 %3771, ptr %959, align 4, !tbaa !5
  %3782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3783 = load i32, ptr @test_count, align 4, !tbaa !5
  %3784 = load i32, ptr %905, align 4, !tbaa !5
  %3785 = call ptr @s2n_strerror(i32 noundef %3784, ptr noundef nonnull @.str.4) #12
  %3786 = load i32, ptr %905, align 4, !tbaa !5
  %3787 = call ptr @s2n_strerror_debug(i32 noundef %3786, ptr noundef nonnull @.str.4) #12
  %3788 = load i32, ptr %959, align 4, !tbaa !5
  %3789 = call ptr @strerror(i32 noundef %3788) #12
  %3790 = load i32, ptr %959, align 4, !tbaa !5
  %3791 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3782, ptr noundef nonnull %.str.5.sink2356, i32 noundef %3783, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 328, ptr noundef %3785, ptr noundef %3787, ptr noundef %3789, i32 noundef %3790) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3792:                                             ; preds = %3762
  %3793 = add nsw i32 %3767, 2
  store i32 %3793, ptr @test_count, align 4, !tbaa !5
  %3794 = call i32 @s2n_connection_set_config(ptr noundef nonnull %3766, ptr noundef nonnull %163) #12
  %3795 = icmp eq i32 %3794, -1
  br i1 %3795, label %3796, label %3818

3796:                                             ; preds = %3792
  %3797 = load i32, ptr %959, align 4, !tbaa !5
  %3798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3799 = call i32 @s2n_print_stacktrace(ptr noundef %3798) #12
  %3800 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3801 = trunc nuw i8 %3800 to i1
  br i1 %3801, label %3802, label %3806

3802:                                             ; preds = %3796
  %3803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3804 = call i32 @fileno(ptr noundef %3803) #12
  %3805 = call i32 @isatty(i32 noundef %3804) #12
  %.not626 = icmp eq i32 %3805, 0
  br i1 %.not626, label %3806, label %3807

3806:                                             ; preds = %3802, %3796
  br label %3807

3807:                                             ; preds = %3802, %3806
  %.str.5.sink2365 = phi ptr [ @.str.5, %3806 ], [ @.str.2, %3802 ]
  store i32 %3797, ptr %959, align 4, !tbaa !5
  %3808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3809 = load i32, ptr @test_count, align 4, !tbaa !5
  %3810 = load i32, ptr %905, align 4, !tbaa !5
  %3811 = call ptr @s2n_strerror(i32 noundef %3810, ptr noundef nonnull @.str.4) #12
  %3812 = load i32, ptr %905, align 4, !tbaa !5
  %3813 = call ptr @s2n_strerror_debug(i32 noundef %3812, ptr noundef nonnull @.str.4) #12
  %3814 = load i32, ptr %959, align 4, !tbaa !5
  %3815 = call ptr @strerror(i32 noundef %3814) #12
  %3816 = load i32, ptr %959, align 4, !tbaa !5
  %3817 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3808, ptr noundef nonnull %.str.5.sink2365, i32 noundef %3809, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 329, ptr noundef %3811, ptr noundef %3813, ptr noundef %3815, i32 noundef %3816) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3818:                                             ; preds = %3792
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %36) #12
  %3819 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %3819, ptr %36, align 8, !tbaa !9
  %3820 = load i32, ptr @test_count, align 4, !tbaa !5
  %3821 = add nsw i32 %3820, 1
  store i32 %3821, ptr @test_count, align 4, !tbaa !5
  %3822 = icmp eq ptr %3819, null
  br i1 %3822, label %3823, label %3845

3823:                                             ; preds = %3818
  %3824 = load i32, ptr %959, align 4, !tbaa !5
  %3825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3826 = call i32 @s2n_print_stacktrace(ptr noundef %3825) #12
  %3827 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3828 = trunc nuw i8 %3827 to i1
  br i1 %3828, label %3829, label %3833

3829:                                             ; preds = %3823
  %3830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3831 = call i32 @fileno(ptr noundef %3830) #12
  %3832 = call i32 @isatty(i32 noundef %3831) #12
  %.not625 = icmp eq i32 %3832, 0
  br i1 %.not625, label %3833, label %3834

3833:                                             ; preds = %3829, %3823
  br label %3834

3834:                                             ; preds = %3829, %3833
  %.str.5.sink2374 = phi ptr [ @.str.5, %3833 ], [ @.str.2, %3829 ]
  store i32 %3824, ptr %959, align 4, !tbaa !5
  %3835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3836 = load i32, ptr @test_count, align 4, !tbaa !5
  %3837 = load i32, ptr %905, align 4, !tbaa !5
  %3838 = call ptr @s2n_strerror(i32 noundef %3837, ptr noundef nonnull @.str.4) #12
  %3839 = load i32, ptr %905, align 4, !tbaa !5
  %3840 = call ptr @s2n_strerror_debug(i32 noundef %3839, ptr noundef nonnull @.str.4) #12
  %3841 = load i32, ptr %959, align 4, !tbaa !5
  %3842 = call ptr @strerror(i32 noundef %3841) #12
  %3843 = load i32, ptr %959, align 4, !tbaa !5
  %3844 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3835, ptr noundef nonnull %.str.5.sink2374, i32 noundef %3836, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 332, ptr noundef %3838, ptr noundef %3840, ptr noundef %3842, i32 noundef %3843) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3845:                                             ; preds = %3818
  %3846 = add nsw i32 %3820, 2
  store i32 %3846, ptr @test_count, align 4, !tbaa !5
  %3847 = call i32 @s2n_connection_set_config(ptr noundef nonnull %3819, ptr noundef nonnull %163) #12
  %3848 = icmp eq i32 %3847, -1
  br i1 %3848, label %3849, label %3871

3849:                                             ; preds = %3845
  %3850 = load i32, ptr %959, align 4, !tbaa !5
  %3851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3852 = call i32 @s2n_print_stacktrace(ptr noundef %3851) #12
  %3853 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3854 = trunc nuw i8 %3853 to i1
  br i1 %3854, label %3855, label %3859

3855:                                             ; preds = %3849
  %3856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3857 = call i32 @fileno(ptr noundef %3856) #12
  %3858 = call i32 @isatty(i32 noundef %3857) #12
  %.not624 = icmp eq i32 %3858, 0
  br i1 %.not624, label %3859, label %3860

3859:                                             ; preds = %3855, %3849
  br label %3860

3860:                                             ; preds = %3855, %3859
  %.str.5.sink2383 = phi ptr [ @.str.5, %3859 ], [ @.str.2, %3855 ]
  store i32 %3850, ptr %959, align 4, !tbaa !5
  %3861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3862 = load i32, ptr @test_count, align 4, !tbaa !5
  %3863 = load i32, ptr %905, align 4, !tbaa !5
  %3864 = call ptr @s2n_strerror(i32 noundef %3863, ptr noundef nonnull @.str.4) #12
  %3865 = load i32, ptr %905, align 4, !tbaa !5
  %3866 = call ptr @s2n_strerror_debug(i32 noundef %3865, ptr noundef nonnull @.str.4) #12
  %3867 = load i32, ptr %959, align 4, !tbaa !5
  %3868 = call ptr @strerror(i32 noundef %3867) #12
  %3869 = load i32, ptr %959, align 4, !tbaa !5
  %3870 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3861, ptr noundef nonnull %.str.5.sink2383, i32 noundef %3862, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 333, ptr noundef %3864, ptr noundef %3866, ptr noundef %3868, i32 noundef %3869) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3871:                                             ; preds = %3845
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %37) #12
  store i64 0, ptr %37, align 8
  %3872 = load i32, ptr @test_count, align 4, !tbaa !5
  %3873 = add nsw i32 %3872, 1
  store i32 %3873, ptr @test_count, align 4, !tbaa !5
  %3874 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef nonnull %37) #12
  %3875 = icmp eq i32 %3874, -1
  br i1 %3875, label %3876, label %3898

3876:                                             ; preds = %3871
  %3877 = load i32, ptr %959, align 4, !tbaa !5
  %3878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3879 = call i32 @s2n_print_stacktrace(ptr noundef %3878) #12
  %3880 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3881 = trunc nuw i8 %3880 to i1
  br i1 %3881, label %3882, label %3886

3882:                                             ; preds = %3876
  %3883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3884 = call i32 @fileno(ptr noundef %3883) #12
  %3885 = call i32 @isatty(i32 noundef %3884) #12
  %.not623 = icmp eq i32 %3885, 0
  br i1 %.not623, label %3886, label %3887

3886:                                             ; preds = %3882, %3876
  br label %3887

3887:                                             ; preds = %3882, %3886
  %.str.5.sink2392 = phi ptr [ @.str.5, %3886 ], [ @.str.2, %3882 ]
  store i32 %3877, ptr %959, align 4, !tbaa !5
  %3888 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3889 = load i32, ptr @test_count, align 4, !tbaa !5
  %3890 = load i32, ptr %905, align 4, !tbaa !5
  %3891 = call ptr @s2n_strerror(i32 noundef %3890, ptr noundef nonnull @.str.4) #12
  %3892 = load i32, ptr %905, align 4, !tbaa !5
  %3893 = call ptr @s2n_strerror_debug(i32 noundef %3892, ptr noundef nonnull @.str.4) #12
  %3894 = load i32, ptr %959, align 4, !tbaa !5
  %3895 = call ptr @strerror(i32 noundef %3894) #12
  %3896 = load i32, ptr %959, align 4, !tbaa !5
  %3897 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3888, ptr noundef nonnull %.str.5.sink2392, i32 noundef %3889, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 336, ptr noundef %3891, ptr noundef %3893, ptr noundef %3895, i32 noundef %3896) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3898:                                             ; preds = %3871
  %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 %36, align 8, !tbaa !9
  %3902 = load ptr, ptr %35, align 8, !tbaa !9
  %3903 = call i32 @s2n_connections_set_io_pair(ptr noundef %3901, ptr noundef %3902, ptr noundef nonnull %37) #12
  %3904 = icmp eq i32 %3903, -1
  br i1 %3904, label %3905, label %3927

3905:                                             ; preds = %3898
  %3906 = load i32, ptr %959, align 4, !tbaa !5
  %3907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3908 = call i32 @s2n_print_stacktrace(ptr noundef %3907) #12
  %3909 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3910 = trunc nuw i8 %3909 to i1
  br i1 %3910, label %3911, label %3915

3911:                                             ; preds = %3905
  %3912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3913 = call i32 @fileno(ptr noundef %3912) #12
  %3914 = call i32 @isatty(i32 noundef %3913) #12
  %.not622 = icmp eq i32 %3914, 0
  br i1 %.not622, label %3915, label %3916

3915:                                             ; preds = %3911, %3905
  br label %3916

3916:                                             ; preds = %3911, %3915
  %.str.5.sink2401 = phi ptr [ @.str.5, %3915 ], [ @.str.2, %3911 ]
  store i32 %3906, ptr %959, align 4, !tbaa !5
  %3917 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3918 = load i32, ptr @test_count, align 4, !tbaa !5
  %3919 = load i32, ptr %905, align 4, !tbaa !5
  %3920 = call ptr @s2n_strerror(i32 noundef %3919, ptr noundef nonnull @.str.4) #12
  %3921 = load i32, ptr %905, align 4, !tbaa !5
  %3922 = call ptr @s2n_strerror_debug(i32 noundef %3921, ptr noundef nonnull @.str.4) #12
  %3923 = load i32, ptr %959, align 4, !tbaa !5
  %3924 = call ptr @strerror(i32 noundef %3923) #12
  %3925 = load i32, ptr %959, align 4, !tbaa !5
  %3926 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3917, ptr noundef nonnull %.str.5.sink2401, i32 noundef %3918, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 337, ptr noundef %3920, ptr noundef %3922, ptr noundef %3924, i32 noundef %3925) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3927:                                             ; preds = %3898
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %38) #12
  store i8 0, ptr %38, align 1
  %3928 = load i32, ptr @test_count, align 4, !tbaa !5
  %3929 = add nsw i32 %3928, 1
  store i32 %3929, ptr @test_count, align 4, !tbaa !5
  %3930 = load ptr, ptr %35, align 8, !tbaa !9
  %3931 = load ptr, ptr %36, align 8, !tbaa !9
  %3932 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %3930, ptr noundef %3931) #12
  %3933 = icmp eq i32 %3932, -1
  br i1 %3933, label %3934, label %3956

3934:                                             ; preds = %3927
  %3935 = load i32, ptr %959, align 4, !tbaa !5
  %3936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3937 = call i32 @s2n_print_stacktrace(ptr noundef %3936) #12
  %3938 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3939 = trunc nuw i8 %3938 to i1
  br i1 %3939, label %3940, label %3944

3940:                                             ; preds = %3934
  %3941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3942 = call i32 @fileno(ptr noundef %3941) #12
  %3943 = call i32 @isatty(i32 noundef %3942) #12
  %.not621 = icmp eq i32 %3943, 0
  br i1 %.not621, label %3944, label %3945

3944:                                             ; preds = %3940, %3934
  br label %3945

3945:                                             ; preds = %3940, %3944
  %.str.5.sink2410 = phi ptr [ @.str.5, %3944 ], [ @.str.2, %3940 ]
  store i32 %3935, ptr %959, align 4, !tbaa !5
  %3946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3947 = load i32, ptr @test_count, align 4, !tbaa !5
  %3948 = load i32, ptr %905, align 4, !tbaa !5
  %3949 = call ptr @s2n_strerror(i32 noundef %3948, ptr noundef nonnull @.str.4) #12
  %3950 = load i32, ptr %905, align 4, !tbaa !5
  %3951 = call ptr @s2n_strerror_debug(i32 noundef %3950, ptr noundef nonnull @.str.4) #12
  %3952 = load i32, ptr %959, align 4, !tbaa !5
  %3953 = call ptr @strerror(i32 noundef %3952) #12
  %3954 = load i32, ptr %959, align 4, !tbaa !5
  %3955 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3946, ptr noundef nonnull %.str.5.sink2410, i32 noundef %3947, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 342, ptr noundef %3949, ptr noundef %3951, ptr noundef %3953, i32 noundef %3954) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3956:                                             ; preds = %3927
  %3957 = load i32, ptr @test_count, align 4, !tbaa !5
  %3958 = add nsw i32 %3957, 1
  store i32 %3958, ptr @test_count, align 4, !tbaa !5
  %3959 = load ptr, ptr %36, align 8, !tbaa !9
  %3960 = call i32 @s2n_renegotiate_wipe(ptr noundef %3959) #12
  %3961 = icmp eq i32 %3960, -1
  br i1 %3961, label %3962, label %3984

3962:                                             ; preds = %3956
  %3963 = load i32, ptr %959, align 4, !tbaa !5
  %3964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3965 = call i32 @s2n_print_stacktrace(ptr noundef %3964) #12
  %3966 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3967 = trunc nuw i8 %3966 to i1
  br i1 %3967, label %3968, label %3972

3968:                                             ; preds = %3962
  %3969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3970 = call i32 @fileno(ptr noundef %3969) #12
  %3971 = call i32 @isatty(i32 noundef %3970) #12
  %.not620 = icmp eq i32 %3971, 0
  br i1 %.not620, label %3972, label %3973

3972:                                             ; preds = %3968, %3962
  br label %3973

3973:                                             ; preds = %3968, %3972
  %.str.5.sink2419 = phi ptr [ @.str.5, %3972 ], [ @.str.2, %3968 ]
  store i32 %3963, ptr %959, align 4, !tbaa !5
  %3974 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3975 = load i32, ptr @test_count, align 4, !tbaa !5
  %3976 = load i32, ptr %905, align 4, !tbaa !5
  %3977 = call ptr @s2n_strerror(i32 noundef %3976, ptr noundef nonnull @.str.4) #12
  %3978 = load i32, ptr %905, align 4, !tbaa !5
  %3979 = call ptr @s2n_strerror_debug(i32 noundef %3978, ptr noundef nonnull @.str.4) #12
  %3980 = load i32, ptr %959, align 4, !tbaa !5
  %3981 = call ptr @strerror(i32 noundef %3980) #12
  %3982 = load i32, ptr %959, align 4, !tbaa !5
  %3983 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3974, ptr noundef nonnull %.str.5.sink2419, i32 noundef %3975, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 343, ptr noundef %3977, ptr noundef %3979, ptr noundef %3981, i32 noundef %3982) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3984:                                             ; preds = %3956
  %3985 = load i32, ptr @test_count, align 4, !tbaa !5
  %3986 = add nsw i32 %3985, 1
  store i32 %3986, ptr @test_count, align 4, !tbaa !5
  %3987 = load ptr, ptr %35, align 8, !tbaa !9
  %3988 = call i32 @s2n_renegotiate_wipe(ptr noundef %3987) #12
  %3989 = icmp eq i32 %3988, -1
  br i1 %3989, label %3990, label %4012

3990:                                             ; preds = %3984
  %3991 = load i32, ptr %959, align 4, !tbaa !5
  %3992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3993 = call i32 @s2n_print_stacktrace(ptr noundef %3992) #12
  %3994 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3995 = trunc nuw i8 %3994 to i1
  br i1 %3995, label %3996, label %4000

3996:                                             ; preds = %3990
  %3997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3998 = call i32 @fileno(ptr noundef %3997) #12
  %3999 = call i32 @isatty(i32 noundef %3998) #12
  %.not619 = icmp eq i32 %3999, 0
  br i1 %.not619, label %4000, label %4001

4000:                                             ; preds = %3996, %3990
  br label %4001

4001:                                             ; preds = %3996, %4000
  %.str.5.sink2428 = phi ptr [ @.str.5, %4000 ], [ @.str.2, %3996 ]
  store i32 %3991, ptr %959, align 4, !tbaa !5
  %4002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4003 = load i32, ptr @test_count, align 4, !tbaa !5
  %4004 = load i32, ptr %905, align 4, !tbaa !5
  %4005 = call ptr @s2n_strerror(i32 noundef %4004, ptr noundef nonnull @.str.4) #12
  %4006 = load i32, ptr %905, align 4, !tbaa !5
  %4007 = call ptr @s2n_strerror_debug(i32 noundef %4006, ptr noundef nonnull @.str.4) #12
  %4008 = load i32, ptr %959, align 4, !tbaa !5
  %4009 = call ptr @strerror(i32 noundef %4008) #12
  %4010 = load i32, ptr %959, align 4, !tbaa !5
  %4011 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4002, ptr noundef nonnull %.str.5.sink2428, i32 noundef %4003, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 344, ptr noundef %4005, ptr noundef %4007, ptr noundef %4009, i32 noundef %4010) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4012:                                             ; preds = %3984
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %39) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %39, i8 0, i64 40, i1 false)
  %4013 = load i32, ptr @test_count, align 4, !tbaa !5
  %4014 = add nsw i32 %4013, 1
  store i32 %4014, ptr @test_count, align 4, !tbaa !5
  %4015 = load ptr, ptr %36, align 8, !tbaa !9
  %4016 = call i32 @s2n_connection_set_send_io_stuffer(ptr noundef nonnull %39, ptr noundef %4015) #12
  %4017 = icmp eq i32 %4016, -1
  br i1 %4017, label %4018, label %4040

4018:                                             ; preds = %4012
  %4019 = load i32, ptr %959, align 4, !tbaa !5
  %4020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4021 = call i32 @s2n_print_stacktrace(ptr noundef %4020) #12
  %4022 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4023 = trunc nuw i8 %4022 to i1
  br i1 %4023, label %4024, label %4028

4024:                                             ; preds = %4018
  %4025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4026 = call i32 @fileno(ptr noundef %4025) #12
  %4027 = call i32 @isatty(i32 noundef %4026) #12
  %.not618 = icmp eq i32 %4027, 0
  br i1 %.not618, label %4028, label %4029

4028:                                             ; preds = %4024, %4018
  br label %4029

4029:                                             ; preds = %4024, %4028
  %.str.5.sink2437 = phi ptr [ @.str.5, %4028 ], [ @.str.2, %4024 ]
  store i32 %4019, ptr %959, align 4, !tbaa !5
  %4030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4031 = load i32, ptr @test_count, align 4, !tbaa !5
  %4032 = load i32, ptr %905, align 4, !tbaa !5
  %4033 = call ptr @s2n_strerror(i32 noundef %4032, ptr noundef nonnull @.str.4) #12
  %4034 = load i32, ptr %905, align 4, !tbaa !5
  %4035 = call ptr @s2n_strerror_debug(i32 noundef %4034, ptr noundef nonnull @.str.4) #12
  %4036 = load i32, ptr %959, align 4, !tbaa !5
  %4037 = call ptr @strerror(i32 noundef %4036) #12
  %4038 = load i32, ptr %959, align 4, !tbaa !5
  %4039 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4030, ptr noundef nonnull %.str.5.sink2437, i32 noundef %4031, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 348, ptr noundef %4033, ptr noundef %4035, ptr noundef %4037, i32 noundef %4038) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4040:                                             ; preds = %4012
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %40) #12
  store i64 0, ptr %40, align 8, !tbaa !15
  %.pre1041 = load i32, ptr @test_count, align 4, !tbaa !5
  br label %4047

4041:                                             ; preds = %4155
  %4042 = add nuw nsw i64 %.0479968, 1
  %exitcond1038.not = icmp eq i64 %4042, 10
  br i1 %exitcond1038.not, label %4043, label %4047, !llvm.loop !47

4043:                                             ; preds = %4041
  %4044 = add nsw i32 %4129, 3
  store i32 %4044, ptr @test_count, align 4, !tbaa !5
  %4045 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %39, i32 noundef 0) #12
  %4046 = icmp eq i32 %4045, -1
  br i1 %4046, label %4181, label %4203

4047:                                             ; preds = %4040, %4041
  %4048 = phi i32 [ %.pre1041, %4040 ], [ %4156, %4041 ]
  %.0479968 = phi i64 [ 0, %4040 ], [ %4042, %4041 ]
  %4049 = add nsw i32 %4048, 1
  store i32 %4049, ptr @test_count, align 4, !tbaa !5
  %4050 = load ptr, ptr %36, align 8, !tbaa !9
  %4051 = call i32 @s2n_renegotiate(ptr noundef %4050, ptr noundef nonnull %38, i64 noundef 1, ptr noundef nonnull %40, ptr noundef nonnull %6) #12
  %4052 = icmp eq i32 %4051, -1
  br i1 %4052, label %4075, label %4053

4053:                                             ; preds = %4047
  %4054 = load i32, ptr %959, align 4, !tbaa !5
  %4055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4056 = call i32 @s2n_print_stacktrace(ptr noundef %4055) #12
  %4057 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4058 = trunc nuw i8 %4057 to i1
  br i1 %4058, label %4059, label %4063

4059:                                             ; preds = %4053
  %4060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4061 = call i32 @fileno(ptr noundef %4060) #12
  %4062 = call i32 @isatty(i32 noundef %4061) #12
  %.not613 = icmp eq i32 %4062, 0
  br i1 %.not613, label %4063, label %4064

4063:                                             ; preds = %4059, %4053
  br label %4064

4064:                                             ; preds = %4059, %4063
  %.str.5.sink2446 = phi ptr [ @.str.5, %4063 ], [ @.str.2, %4059 ]
  store i32 %4054, ptr %959, align 4, !tbaa !5
  %4065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4066 = load i32, ptr @test_count, align 4, !tbaa !5
  %4067 = load i32, ptr %905, align 4, !tbaa !5
  %4068 = call ptr @s2n_strerror(i32 noundef %4067, ptr noundef nonnull @.str.4) #12
  %4069 = load i32, ptr %905, align 4, !tbaa !5
  %4070 = call ptr @s2n_strerror_debug(i32 noundef %4069, ptr noundef nonnull @.str.4) #12
  %4071 = load i32, ptr %959, align 4, !tbaa !5
  %4072 = call ptr @strerror(i32 noundef %4071) #12
  %4073 = load i32, ptr %959, align 4, !tbaa !5
  %4074 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4065, ptr noundef nonnull %.str.5.sink2446, i32 noundef %4066, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 354, ptr noundef %4068, ptr noundef %4070, ptr noundef %4072, i32 noundef %4073) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4075:                                             ; preds = %4047
  %4076 = load i32, ptr @test_count, align 4, !tbaa !5
  %4077 = add nsw i32 %4076, 1
  store i32 %4077, ptr @test_count, align 4, !tbaa !5
  %4078 = load i32, ptr %905, align 4, !tbaa !5
  %4079 = icmp eq i32 %4078, 201326592
  br i1 %4079, label %4102, label %4080

4080:                                             ; preds = %4075
  %4081 = load i32, ptr %959, align 4, !tbaa !5
  %4082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4083 = call i32 @s2n_print_stacktrace(ptr noundef %4082) #12
  %4084 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4085 = trunc nuw i8 %4084 to i1
  br i1 %4085, label %4086, label %4090

4086:                                             ; preds = %4080
  %4087 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4088 = call i32 @fileno(ptr noundef %4087) #12
  %4089 = call i32 @isatty(i32 noundef %4088) #12
  %.not614 = icmp eq i32 %4089, 0
  br i1 %.not614, label %4090, label %4091

4090:                                             ; preds = %4086, %4080
  br label %4091

4091:                                             ; preds = %4086, %4090
  %.str.5.sink2455 = phi ptr [ @.str.5, %4090 ], [ @.str.2, %4086 ]
  store i32 %4081, ptr %959, align 4, !tbaa !5
  %4092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4093 = load i32, ptr @test_count, align 4, !tbaa !5
  %4094 = load i32, ptr %905, align 4, !tbaa !5
  %4095 = call ptr @s2n_strerror(i32 noundef %4094, ptr noundef nonnull @.str.4) #12
  %4096 = load i32, ptr %905, align 4, !tbaa !5
  %4097 = call ptr @s2n_strerror_debug(i32 noundef %4096, ptr noundef nonnull @.str.4) #12
  %4098 = load i32, ptr %959, align 4, !tbaa !5
  %4099 = call ptr @strerror(i32 noundef %4098) #12
  %4100 = load i32, ptr %959, align 4, !tbaa !5
  %4101 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4092, ptr noundef nonnull %.str.5.sink2455, i32 noundef %4093, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 354, ptr noundef %4095, ptr noundef %4097, ptr noundef %4099, i32 noundef %4100) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4102:                                             ; preds = %4075
  %4103 = add nsw i32 %4076, 2
  store i32 %4103, ptr @test_count, align 4, !tbaa !5
  %4104 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #12
  %4105 = icmp eq ptr %4104, null
  br i1 %4105, label %4106, label %4128

4106:                                             ; preds = %4102
  %4107 = load i32, ptr %959, align 4, !tbaa !5
  %4108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4109 = call i32 @s2n_print_stacktrace(ptr noundef %4108) #12
  %4110 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4111 = trunc nuw i8 %4110 to i1
  br i1 %4111, label %4112, label %4116

4112:                                             ; preds = %4106
  %4113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4114 = call i32 @fileno(ptr noundef %4113) #12
  %4115 = call i32 @isatty(i32 noundef %4114) #12
  %.not617 = icmp eq i32 %4115, 0
  br i1 %.not617, label %4116, label %4117

4116:                                             ; preds = %4112, %4106
  br label %4117

4117:                                             ; preds = %4112, %4116
  %.str.5.sink2464 = phi ptr [ @.str.5, %4116 ], [ @.str.2, %4112 ]
  store i32 %4107, ptr %959, align 4, !tbaa !5
  %4118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4119 = load i32, ptr @test_count, align 4, !tbaa !5
  %4120 = load i32, ptr %905, align 4, !tbaa !5
  %4121 = call ptr @s2n_strerror(i32 noundef %4120, ptr noundef nonnull @.str.4) #12
  %4122 = load i32, ptr %905, align 4, !tbaa !5
  %4123 = call ptr @s2n_strerror_debug(i32 noundef %4122, ptr noundef nonnull @.str.4) #12
  %4124 = load i32, ptr %959, align 4, !tbaa !5
  %4125 = call ptr @strerror(i32 noundef %4124) #12
  %4126 = load i32, ptr %959, align 4, !tbaa !5
  %4127 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4118, ptr noundef nonnull %.str.5.sink2464, i32 noundef %4119, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 354, ptr noundef %4121, ptr noundef %4123, ptr noundef %4125, i32 noundef %4126) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4128:                                             ; preds = %4102
  store i32 0, ptr %905, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %959, align 4, !tbaa !5
  %4129 = load i32, ptr @test_count, align 4, !tbaa !5
  %4130 = add nsw i32 %4129, 1
  store i32 %4130, ptr @test_count, align 4, !tbaa !5
  %4131 = load i32, ptr %6, align 4, !tbaa !5
  %4132 = icmp eq i32 %4131, 2
  br i1 %4132, label %4155, label %4133

4133:                                             ; preds = %4128
  %4134 = load i32, ptr %959, align 4, !tbaa !5
  %4135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4136 = call i32 @s2n_print_stacktrace(ptr noundef %4135) #12
  %4137 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4138 = trunc nuw i8 %4137 to i1
  br i1 %4138, label %4139, label %4143

4139:                                             ; preds = %4133
  %4140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4141 = call i32 @fileno(ptr noundef %4140) #12
  %4142 = call i32 @isatty(i32 noundef %4141) #12
  %.not615 = icmp eq i32 %4142, 0
  br i1 %.not615, label %4143, label %4144

4143:                                             ; preds = %4139, %4133
  br label %4144

4144:                                             ; preds = %4139, %4143
  %.str.5.sink2473 = phi ptr [ @.str.5, %4143 ], [ @.str.2, %4139 ]
  store i32 %4134, ptr %959, align 4, !tbaa !5
  %4145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4146 = load i32, ptr @test_count, align 4, !tbaa !5
  %4147 = load i32, ptr %905, align 4, !tbaa !5
  %4148 = call ptr @s2n_strerror(i32 noundef %4147, ptr noundef nonnull @.str.4) #12
  %4149 = load i32, ptr %905, align 4, !tbaa !5
  %4150 = call ptr @s2n_strerror_debug(i32 noundef %4149, ptr noundef nonnull @.str.4) #12
  %4151 = load i32, ptr %959, align 4, !tbaa !5
  %4152 = call ptr @strerror(i32 noundef %4151) #12
  %4153 = load i32, ptr %959, align 4, !tbaa !5
  %4154 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4145, ptr noundef nonnull %.str.5.sink2473, i32 noundef %4146, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.1, i32 noundef 355, ptr noundef %4148, ptr noundef %4150, ptr noundef %4152, i32 noundef %4153) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4155:                                             ; preds = %4128
  %4156 = add nsw i32 %4129, 2
  store i32 %4156, ptr @test_count, align 4, !tbaa !5
  %4157 = load i64, ptr %40, align 8, !tbaa !15
  %4158 = icmp eq i64 %4157, 0
  br i1 %4158, label %4041, label %4159

4159:                                             ; preds = %4155
  %4160 = load i32, ptr %959, align 4, !tbaa !5
  %4161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4162 = call i32 @s2n_print_stacktrace(ptr noundef %4161) #12
  %4163 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4164 = trunc nuw i8 %4163 to i1
  br i1 %4164, label %4165, label %4169

4165:                                             ; preds = %4159
  %4166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4167 = call i32 @fileno(ptr noundef %4166) #12
  %4168 = call i32 @isatty(i32 noundef %4167) #12
  %.not616 = icmp eq i32 %4168, 0
  br i1 %.not616, label %4169, label %4170

4169:                                             ; preds = %4165, %4159
  br label %4170

4170:                                             ; preds = %4165, %4169
  %.str.5.sink2482 = phi ptr [ @.str.5, %4169 ], [ @.str.2, %4165 ]
  store i32 %4160, ptr %959, align 4, !tbaa !5
  %4171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4172 = load i32, ptr @test_count, align 4, !tbaa !5
  %4173 = load i32, ptr %905, align 4, !tbaa !5
  %4174 = call ptr @s2n_strerror(i32 noundef %4173, ptr noundef nonnull @.str.4) #12
  %4175 = load i32, ptr %905, align 4, !tbaa !5
  %4176 = call ptr @s2n_strerror_debug(i32 noundef %4175, ptr noundef nonnull @.str.4) #12
  %4177 = load i32, ptr %959, align 4, !tbaa !5
  %4178 = call ptr @strerror(i32 noundef %4177) #12
  %4179 = load i32, ptr %959, align 4, !tbaa !5
  %4180 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4171, ptr noundef nonnull %.str.5.sink2482, i32 noundef %4172, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 356, ptr noundef %4174, ptr noundef %4176, ptr noundef %4178, i32 noundef %4179) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4181:                                             ; preds = %4043
  %4182 = load i32, ptr %959, align 4, !tbaa !5
  %4183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4184 = call i32 @s2n_print_stacktrace(ptr noundef %4183) #12
  %4185 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4186 = trunc nuw i8 %4185 to i1
  br i1 %4186, label %4187, label %4191

4187:                                             ; preds = %4181
  %4188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4189 = call i32 @fileno(ptr noundef %4188) #12
  %4190 = call i32 @isatty(i32 noundef %4189) #12
  %.not612 = icmp eq i32 %4190, 0
  br i1 %.not612, label %4191, label %4192

4191:                                             ; preds = %4187, %4181
  br label %4192

4192:                                             ; preds = %4187, %4191
  %.str.5.sink2491 = phi ptr [ @.str.5, %4191 ], [ @.str.2, %4187 ]
  store i32 %4182, ptr %959, align 4, !tbaa !5
  %4193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4194 = load i32, ptr @test_count, align 4, !tbaa !5
  %4195 = load i32, ptr %905, align 4, !tbaa !5
  %4196 = call ptr @s2n_strerror(i32 noundef %4195, ptr noundef nonnull @.str.4) #12
  %4197 = load i32, ptr %905, align 4, !tbaa !5
  %4198 = call ptr @s2n_strerror_debug(i32 noundef %4197, ptr noundef nonnull @.str.4) #12
  %4199 = load i32, ptr %959, align 4, !tbaa !5
  %4200 = call ptr @strerror(i32 noundef %4199) #12
  %4201 = load i32, ptr %959, align 4, !tbaa !5
  %4202 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4193, ptr noundef nonnull %.str.5.sink2491, i32 noundef %4194, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 360, ptr noundef %4196, ptr noundef %4198, ptr noundef %4200, i32 noundef %4201) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4203:                                             ; preds = %4043
  %4204 = load i32, ptr @test_count, align 4, !tbaa !5
  %4205 = add nsw i32 %4204, 1
  store i32 %4205, ptr @test_count, align 4, !tbaa !5
  %4206 = load ptr, ptr %36, align 8, !tbaa !9
  %4207 = call i32 @s2n_renegotiate(ptr noundef %4206, ptr noundef nonnull %38, i64 noundef 1, ptr noundef nonnull %40, ptr noundef nonnull %6) #12
  %4208 = icmp eq i32 %4207, -1
  br i1 %4208, label %4231, label %4209

4209:                                             ; preds = %4203
  %4210 = load i32, ptr %959, align 4, !tbaa !5
  %4211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4212 = call i32 @s2n_print_stacktrace(ptr noundef %4211) #12
  %4213 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4214 = trunc nuw i8 %4213 to i1
  br i1 %4214, label %4215, label %4219

4215:                                             ; preds = %4209
  %4216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4217 = call i32 @fileno(ptr noundef %4216) #12
  %4218 = call i32 @isatty(i32 noundef %4217) #12
  %.not545 = icmp eq i32 %4218, 0
  br i1 %.not545, label %4219, label %4220

4219:                                             ; preds = %4215, %4209
  br label %4220

4220:                                             ; preds = %4215, %4219
  %.str.5.sink2500 = phi ptr [ @.str.5, %4219 ], [ @.str.2, %4215 ]
  store i32 %4210, ptr %959, align 4, !tbaa !5
  %4221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4222 = load i32, ptr @test_count, align 4, !tbaa !5
  %4223 = load i32, ptr %905, align 4, !tbaa !5
  %4224 = call ptr @s2n_strerror(i32 noundef %4223, ptr noundef nonnull @.str.4) #12
  %4225 = load i32, ptr %905, align 4, !tbaa !5
  %4226 = call ptr @s2n_strerror_debug(i32 noundef %4225, ptr noundef nonnull @.str.4) #12
  %4227 = load i32, ptr %959, align 4, !tbaa !5
  %4228 = call ptr @strerror(i32 noundef %4227) #12
  %4229 = load i32, ptr %959, align 4, !tbaa !5
  %4230 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4221, ptr noundef nonnull %.str.5.sink2500, i32 noundef %4222, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 364, ptr noundef %4224, ptr noundef %4226, ptr noundef %4228, i32 noundef %4229) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4231:                                             ; preds = %4203
  %4232 = load i32, ptr @test_count, align 4, !tbaa !5
  %4233 = add nsw i32 %4232, 1
  store i32 %4233, ptr @test_count, align 4, !tbaa !5
  %4234 = load i32, ptr %905, align 4, !tbaa !5
  %4235 = icmp eq i32 %4234, 201326592
  br i1 %4235, label %4258, label %4236

4236:                                             ; preds = %4231
  %4237 = load i32, ptr %959, align 4, !tbaa !5
  %4238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4239 = call i32 @s2n_print_stacktrace(ptr noundef %4238) #12
  %4240 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4241 = trunc nuw i8 %4240 to i1
  br i1 %4241, label %4242, label %4246

4242:                                             ; preds = %4236
  %4243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4244 = call i32 @fileno(ptr noundef %4243) #12
  %4245 = call i32 @isatty(i32 noundef %4244) #12
  %.not546 = icmp eq i32 %4245, 0
  br i1 %.not546, label %4246, label %4247

4246:                                             ; preds = %4242, %4236
  br label %4247

4247:                                             ; preds = %4242, %4246
  %.str.5.sink2509 = phi ptr [ @.str.5, %4246 ], [ @.str.2, %4242 ]
  store i32 %4237, ptr %959, align 4, !tbaa !5
  %4248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4249 = load i32, ptr @test_count, align 4, !tbaa !5
  %4250 = load i32, ptr %905, align 4, !tbaa !5
  %4251 = call ptr @s2n_strerror(i32 noundef %4250, ptr noundef nonnull @.str.4) #12
  %4252 = load i32, ptr %905, align 4, !tbaa !5
  %4253 = call ptr @s2n_strerror_debug(i32 noundef %4252, ptr noundef nonnull @.str.4) #12
  %4254 = load i32, ptr %959, align 4, !tbaa !5
  %4255 = call ptr @strerror(i32 noundef %4254) #12
  %4256 = load i32, ptr %959, align 4, !tbaa !5
  %4257 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4248, ptr noundef nonnull %.str.5.sink2509, i32 noundef %4249, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 364, ptr noundef %4251, ptr noundef %4253, ptr noundef %4255, i32 noundef %4256) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4258:                                             ; preds = %4231
  %4259 = add nsw i32 %4232, 2
  store i32 %4259, ptr @test_count, align 4, !tbaa !5
  %4260 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #12
  %4261 = icmp eq ptr %4260, null
  br i1 %4261, label %4262, label %4284

4262:                                             ; preds = %4258
  %4263 = load i32, ptr %959, align 4, !tbaa !5
  %4264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4265 = call i32 @s2n_print_stacktrace(ptr noundef %4264) #12
  %4266 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4267 = trunc nuw i8 %4266 to i1
  br i1 %4267, label %4268, label %4272

4268:                                             ; preds = %4262
  %4269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4270 = call i32 @fileno(ptr noundef %4269) #12
  %4271 = call i32 @isatty(i32 noundef %4270) #12
  %.not611 = icmp eq i32 %4271, 0
  br i1 %.not611, label %4272, label %4273

4272:                                             ; preds = %4268, %4262
  br label %4273

4273:                                             ; preds = %4268, %4272
  %.str.5.sink2518 = phi ptr [ @.str.5, %4272 ], [ @.str.2, %4268 ]
  store i32 %4263, ptr %959, align 4, !tbaa !5
  %4274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4275 = load i32, ptr @test_count, align 4, !tbaa !5
  %4276 = load i32, ptr %905, align 4, !tbaa !5
  %4277 = call ptr @s2n_strerror(i32 noundef %4276, ptr noundef nonnull @.str.4) #12
  %4278 = load i32, ptr %905, align 4, !tbaa !5
  %4279 = call ptr @s2n_strerror_debug(i32 noundef %4278, ptr noundef nonnull @.str.4) #12
  %4280 = load i32, ptr %959, align 4, !tbaa !5
  %4281 = call ptr @strerror(i32 noundef %4280) #12
  %4282 = load i32, ptr %959, align 4, !tbaa !5
  %4283 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4274, ptr noundef nonnull %.str.5.sink2518, i32 noundef %4275, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 364, ptr noundef %4277, ptr noundef %4279, ptr noundef %4281, i32 noundef %4282) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4284:                                             ; preds = %4258
  store i32 0, ptr %905, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %959, align 4, !tbaa !5
  %4285 = load i32, ptr @test_count, align 4, !tbaa !5
  %4286 = add nsw i32 %4285, 1
  store i32 %4286, ptr @test_count, align 4, !tbaa !5
  %4287 = load i32, ptr %6, align 4, !tbaa !5
  %4288 = icmp eq i32 %4287, 1
  br i1 %4288, label %4311, label %4289

4289:                                             ; preds = %4284
  %4290 = load i32, ptr %959, align 4, !tbaa !5
  %4291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4292 = call i32 @s2n_print_stacktrace(ptr noundef %4291) #12
  %4293 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4294 = trunc nuw i8 %4293 to i1
  br i1 %4294, label %4295, label %4299

4295:                                             ; preds = %4289
  %4296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4297 = call i32 @fileno(ptr noundef %4296) #12
  %4298 = call i32 @isatty(i32 noundef %4297) #12
  %.not547 = icmp eq i32 %4298, 0
  br i1 %.not547, label %4299, label %4300

4299:                                             ; preds = %4295, %4289
  br label %4300

4300:                                             ; preds = %4295, %4299
  %.str.5.sink2527 = phi ptr [ @.str.5, %4299 ], [ @.str.2, %4295 ]
  store i32 %4290, ptr %959, align 4, !tbaa !5
  %4301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4302 = load i32, ptr @test_count, align 4, !tbaa !5
  %4303 = load i32, ptr %905, align 4, !tbaa !5
  %4304 = call ptr @s2n_strerror(i32 noundef %4303, ptr noundef nonnull @.str.4) #12
  %4305 = load i32, ptr %905, align 4, !tbaa !5
  %4306 = call ptr @s2n_strerror_debug(i32 noundef %4305, ptr noundef nonnull @.str.4) #12
  %4307 = load i32, ptr %959, align 4, !tbaa !5
  %4308 = call ptr @strerror(i32 noundef %4307) #12
  %4309 = load i32, ptr %959, align 4, !tbaa !5
  %4310 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4301, ptr noundef nonnull %.str.5.sink2527, i32 noundef %4302, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 365, ptr noundef %4304, ptr noundef %4306, ptr noundef %4308, i32 noundef %4309) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4311:                                             ; preds = %4284
  %4312 = add nsw i32 %4285, 2
  store i32 %4312, ptr @test_count, align 4, !tbaa !5
  %4313 = load i64, ptr %40, align 8, !tbaa !15
  %4314 = icmp eq i64 %4313, 0
  br i1 %4314, label %4337, label %4315

4315:                                             ; preds = %4311
  %4316 = load i32, ptr %959, align 4, !tbaa !5
  %4317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4318 = call i32 @s2n_print_stacktrace(ptr noundef %4317) #12
  %4319 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4320 = trunc nuw i8 %4319 to i1
  br i1 %4320, label %4321, label %4325

4321:                                             ; preds = %4315
  %4322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4323 = call i32 @fileno(ptr noundef %4322) #12
  %4324 = call i32 @isatty(i32 noundef %4323) #12
  %.not548 = icmp eq i32 %4324, 0
  br i1 %.not548, label %4325, label %4326

4325:                                             ; preds = %4321, %4315
  br label %4326

4326:                                             ; preds = %4321, %4325
  %.str.5.sink2536 = phi ptr [ @.str.5, %4325 ], [ @.str.2, %4321 ]
  store i32 %4316, ptr %959, align 4, !tbaa !5
  %4327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4328 = load i32, ptr @test_count, align 4, !tbaa !5
  %4329 = load i32, ptr %905, align 4, !tbaa !5
  %4330 = call ptr @s2n_strerror(i32 noundef %4329, ptr noundef nonnull @.str.4) #12
  %4331 = load i32, ptr %905, align 4, !tbaa !5
  %4332 = call ptr @s2n_strerror_debug(i32 noundef %4331, ptr noundef nonnull @.str.4) #12
  %4333 = load i32, ptr %959, align 4, !tbaa !5
  %4334 = call ptr @strerror(i32 noundef %4333) #12
  %4335 = load i32, ptr %959, align 4, !tbaa !5
  %4336 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4327, ptr noundef nonnull %.str.5.sink2536, i32 noundef %4328, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 366, ptr noundef %4330, ptr noundef %4332, ptr noundef %4334, i32 noundef %4335) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4337:                                             ; preds = %4311
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %40) #12
  %4338 = call i32 @s2n_stuffer_free(ptr noundef nonnull %39) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %39) #12
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %38) #12
  %4339 = call i32 @s2n_io_pair_close(ptr noundef nonnull %37) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %37) #12
  %4340 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %36) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %36) #12
  %4341 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %35) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %35) #12
  call void @llvm.lifetime.start.p0(i64 30, ptr nonnull %41) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(30) %41, ptr noundef nonnull align 16 dereferenceable(30) @__const.main.messages, i64 30, i1 false)
  %4342 = load i32, ptr @test_count, align 4, !tbaa !5
  %4343 = add nsw i32 %4342, 1
  store i32 %4343, ptr @test_count, align 4, !tbaa !5
  br label %4347

4344:                                             ; preds = %5621
  %4345 = load i32, ptr @test_count, align 4, !tbaa !5
  %4346 = add nsw i32 %4345, 1
  store i32 %4346, ptr @test_count, align 4, !tbaa !5
  br i1 %.1, label %5648, label %5626

4347:                                             ; preds = %4337, %5621
  %.0480975 = phi i1 [ false, %4337 ], [ %.1, %5621 ]
  %.0481974 = phi i1 [ false, %4337 ], [ %.1482, %5621 ]
  %.0483973 = phi i1 [ false, %4337 ], [ %.1484.lcssa, %5621 ]
  %.0485972 = phi i1 [ false, %4337 ], [ %.1486719, %5621 ]
  %.0487971 = phi i1 [ false, %4337 ], [ %.1488717, %5621 ]
  %.0489970 = phi i64 [ 0, %4337 ], [ %5625, %5621 ]
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %42) #12
  %4348 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %4348, ptr %42, align 8, !tbaa !9
  %4349 = load i32, ptr @test_count, align 4, !tbaa !5
  %4350 = add nsw i32 %4349, 1
  store i32 %4350, ptr @test_count, align 4, !tbaa !5
  %4351 = icmp eq ptr %4348, null
  br i1 %4351, label %4352, label %4374

4352:                                             ; preds = %4347
  %4353 = load i32, ptr %959, align 4, !tbaa !5
  %4354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4355 = call i32 @s2n_print_stacktrace(ptr noundef %4354) #12
  %4356 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4357 = trunc nuw i8 %4356 to i1
  br i1 %4357, label %4358, label %4362

4358:                                             ; preds = %4352
  %4359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4360 = call i32 @fileno(ptr noundef %4359) #12
  %4361 = call i32 @isatty(i32 noundef %4360) #12
  %.not610 = icmp eq i32 %4361, 0
  br i1 %.not610, label %4362, label %4363

4362:                                             ; preds = %4358, %4352
  br label %4363

4363:                                             ; preds = %4358, %4362
  %.str.5.sink2545 = phi ptr [ @.str.5, %4362 ], [ @.str.2, %4358 ]
  store i32 %4353, ptr %959, align 4, !tbaa !5
  %4364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4365 = load i32, ptr @test_count, align 4, !tbaa !5
  %4366 = load i32, ptr %905, align 4, !tbaa !5
  %4367 = call ptr @s2n_strerror(i32 noundef %4366, ptr noundef nonnull @.str.4) #12
  %4368 = load i32, ptr %905, align 4, !tbaa !5
  %4369 = call ptr @s2n_strerror_debug(i32 noundef %4368, ptr noundef nonnull @.str.4) #12
  %4370 = load i32, ptr %959, align 4, !tbaa !5
  %4371 = call ptr @strerror(i32 noundef %4370) #12
  %4372 = load i32, ptr %959, align 4, !tbaa !5
  %4373 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4364, ptr noundef nonnull %.str.5.sink2545, i32 noundef %4365, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 390, ptr noundef %4367, ptr noundef %4369, ptr noundef %4371, i32 noundef %4372) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4374:                                             ; preds = %4347
  %4375 = add nsw i32 %4349, 2
  store i32 %4375, ptr @test_count, align 4, !tbaa !5
  %4376 = load ptr, ptr %4, align 8, !tbaa !9
  %4377 = call i32 @s2n_connection_set_config(ptr noundef nonnull %4348, ptr noundef %4376) #12
  %4378 = icmp eq i32 %4377, -1
  br i1 %4378, label %4379, label %4401

4379:                                             ; preds = %4374
  %4380 = load i32, ptr %959, align 4, !tbaa !5
  %4381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4382 = call i32 @s2n_print_stacktrace(ptr noundef %4381) #12
  %4383 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4384 = trunc nuw i8 %4383 to i1
  br i1 %4384, label %4385, label %4389

4385:                                             ; preds = %4379
  %4386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4387 = call i32 @fileno(ptr noundef %4386) #12
  %4388 = call i32 @isatty(i32 noundef %4387) #12
  %.not609 = icmp eq i32 %4388, 0
  br i1 %.not609, label %4389, label %4390

4389:                                             ; preds = %4385, %4379
  br label %4390

4390:                                             ; preds = %4385, %4389
  %.str.5.sink2554 = phi ptr [ @.str.5, %4389 ], [ @.str.2, %4385 ]
  store i32 %4380, ptr %959, align 4, !tbaa !5
  %4391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4392 = load i32, ptr @test_count, align 4, !tbaa !5
  %4393 = load i32, ptr %905, align 4, !tbaa !5
  %4394 = call ptr @s2n_strerror(i32 noundef %4393, ptr noundef nonnull @.str.4) #12
  %4395 = load i32, ptr %905, align 4, !tbaa !5
  %4396 = call ptr @s2n_strerror_debug(i32 noundef %4395, ptr noundef nonnull @.str.4) #12
  %4397 = load i32, ptr %959, align 4, !tbaa !5
  %4398 = call ptr @strerror(i32 noundef %4397) #12
  %4399 = load i32, ptr %959, align 4, !tbaa !5
  %4400 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4391, ptr noundef nonnull %.str.5.sink2554, i32 noundef %4392, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 391, ptr noundef %4394, ptr noundef %4396, ptr noundef %4398, i32 noundef %4399) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4401:                                             ; preds = %4374
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %43) #12
  %4402 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %4402, ptr %43, align 8, !tbaa !9
  %4403 = load i32, ptr @test_count, align 4, !tbaa !5
  %4404 = add nsw i32 %4403, 1
  store i32 %4404, ptr @test_count, align 4, !tbaa !5
  %4405 = icmp eq ptr %4402, null
  br i1 %4405, label %4406, label %4428

4406:                                             ; preds = %4401
  %4407 = load i32, ptr %959, align 4, !tbaa !5
  %4408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4409 = call i32 @s2n_print_stacktrace(ptr noundef %4408) #12
  %4410 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4411 = trunc nuw i8 %4410 to i1
  br i1 %4411, label %4412, label %4416

4412:                                             ; preds = %4406
  %4413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4414 = call i32 @fileno(ptr noundef %4413) #12
  %4415 = call i32 @isatty(i32 noundef %4414) #12
  %.not608 = icmp eq i32 %4415, 0
  br i1 %.not608, label %4416, label %4417

4416:                                             ; preds = %4412, %4406
  br label %4417

4417:                                             ; preds = %4412, %4416
  %.str.5.sink2563 = phi ptr [ @.str.5, %4416 ], [ @.str.2, %4412 ]
  store i32 %4407, ptr %959, align 4, !tbaa !5
  %4418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4419 = load i32, ptr @test_count, align 4, !tbaa !5
  %4420 = load i32, ptr %905, align 4, !tbaa !5
  %4421 = call ptr @s2n_strerror(i32 noundef %4420, ptr noundef nonnull @.str.4) #12
  %4422 = load i32, ptr %905, align 4, !tbaa !5
  %4423 = call ptr @s2n_strerror_debug(i32 noundef %4422, ptr noundef nonnull @.str.4) #12
  %4424 = load i32, ptr %959, align 4, !tbaa !5
  %4425 = call ptr @strerror(i32 noundef %4424) #12
  %4426 = load i32, ptr %959, align 4, !tbaa !5
  %4427 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4418, ptr noundef nonnull %.str.5.sink2563, i32 noundef %4419, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 394, ptr noundef %4421, ptr noundef %4423, ptr noundef %4425, i32 noundef %4426) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4428:                                             ; preds = %4401
  %4429 = add nsw i32 %4403, 2
  store i32 %4429, ptr @test_count, align 4, !tbaa !5
  %4430 = call i32 @s2n_connection_set_config(ptr noundef nonnull %4402, ptr noundef %4376) #12
  %4431 = icmp eq i32 %4430, -1
  br i1 %4431, label %4432, label %4454

4432:                                             ; preds = %4428
  %4433 = load i32, ptr %959, align 4, !tbaa !5
  %4434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4435 = call i32 @s2n_print_stacktrace(ptr noundef %4434) #12
  %4436 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4437 = trunc nuw i8 %4436 to i1
  br i1 %4437, label %4438, label %4442

4438:                                             ; preds = %4432
  %4439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4440 = call i32 @fileno(ptr noundef %4439) #12
  %4441 = call i32 @isatty(i32 noundef %4440) #12
  %.not607 = icmp eq i32 %4441, 0
  br i1 %.not607, label %4442, label %4443

4442:                                             ; preds = %4438, %4432
  br label %4443

4443:                                             ; preds = %4438, %4442
  %.str.5.sink2572 = phi ptr [ @.str.5, %4442 ], [ @.str.2, %4438 ]
  store i32 %4433, ptr %959, align 4, !tbaa !5
  %4444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4445 = load i32, ptr @test_count, align 4, !tbaa !5
  %4446 = load i32, ptr %905, align 4, !tbaa !5
  %4447 = call ptr @s2n_strerror(i32 noundef %4446, ptr noundef nonnull @.str.4) #12
  %4448 = load i32, ptr %905, align 4, !tbaa !5
  %4449 = call ptr @s2n_strerror_debug(i32 noundef %4448, ptr noundef nonnull @.str.4) #12
  %4450 = load i32, ptr %959, align 4, !tbaa !5
  %4451 = call ptr @strerror(i32 noundef %4450) #12
  %4452 = load i32, ptr %959, align 4, !tbaa !5
  %4453 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4444, ptr noundef nonnull %.str.5.sink2572, i32 noundef %4445, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 395, ptr noundef %4447, ptr noundef %4449, ptr noundef %4451, i32 noundef %4452) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4454:                                             ; preds = %4428
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %44) #12
  store i64 0, ptr %44, align 8
  %4455 = load i32, ptr @test_count, align 4, !tbaa !5
  %4456 = add nsw i32 %4455, 1
  store i32 %4456, ptr @test_count, align 4, !tbaa !5
  %4457 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef nonnull %44) #12
  %4458 = icmp eq i32 %4457, -1
  br i1 %4458, label %4459, label %4481

4459:                                             ; preds = %4454
  %4460 = load i32, ptr %959, align 4, !tbaa !5
  %4461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4462 = call i32 @s2n_print_stacktrace(ptr noundef %4461) #12
  %4463 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4464 = trunc nuw i8 %4463 to i1
  br i1 %4464, label %4465, label %4469

4465:                                             ; preds = %4459
  %4466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4467 = call i32 @fileno(ptr noundef %4466) #12
  %4468 = call i32 @isatty(i32 noundef %4467) #12
  %.not606 = icmp eq i32 %4468, 0
  br i1 %.not606, label %4469, label %4470

4469:                                             ; preds = %4465, %4459
  br label %4470

4470:                                             ; preds = %4465, %4469
  %.str.5.sink2581 = phi ptr [ @.str.5, %4469 ], [ @.str.2, %4465 ]
  store i32 %4460, ptr %959, align 4, !tbaa !5
  %4471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4472 = load i32, ptr @test_count, align 4, !tbaa !5
  %4473 = load i32, ptr %905, align 4, !tbaa !5
  %4474 = call ptr @s2n_strerror(i32 noundef %4473, ptr noundef nonnull @.str.4) #12
  %4475 = load i32, ptr %905, align 4, !tbaa !5
  %4476 = call ptr @s2n_strerror_debug(i32 noundef %4475, ptr noundef nonnull @.str.4) #12
  %4477 = load i32, ptr %959, align 4, !tbaa !5
  %4478 = call ptr @strerror(i32 noundef %4477) #12
  %4479 = load i32, ptr %959, align 4, !tbaa !5
  %4480 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4471, ptr noundef nonnull %.str.5.sink2581, i32 noundef %4472, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 398, ptr noundef %4474, ptr noundef %4476, ptr noundef %4478, i32 noundef %4479) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4481:                                             ; preds = %4454
  %4482 = load i32, ptr @test_count, align 4, !tbaa !5
  %4483 = add nsw i32 %4482, 1
  store i32 %4483, ptr @test_count, align 4, !tbaa !5
  %4484 = load ptr, ptr %43, align 8, !tbaa !9
  %4485 = load ptr, ptr %42, align 8, !tbaa !9
  %4486 = call i32 @s2n_connections_set_io_pair(ptr noundef %4484, ptr noundef %4485, ptr noundef nonnull %44) #12
  %4487 = icmp eq i32 %4486, -1
  br i1 %4487, label %4488, label %4510

4488:                                             ; preds = %4481
  %4489 = load i32, ptr %959, align 4, !tbaa !5
  %4490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4491 = call i32 @s2n_print_stacktrace(ptr noundef %4490) #12
  %4492 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4493 = trunc nuw i8 %4492 to i1
  br i1 %4493, label %4494, label %4498

4494:                                             ; preds = %4488
  %4495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4496 = call i32 @fileno(ptr noundef %4495) #12
  %4497 = call i32 @isatty(i32 noundef %4496) #12
  %.not605 = icmp eq i32 %4497, 0
  br i1 %.not605, label %4498, label %4499

4498:                                             ; preds = %4494, %4488
  br label %4499

4499:                                             ; preds = %4494, %4498
  %.str.5.sink2590 = phi ptr [ @.str.5, %4498 ], [ @.str.2, %4494 ]
  store i32 %4489, ptr %959, align 4, !tbaa !5
  %4500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4501 = load i32, ptr @test_count, align 4, !tbaa !5
  %4502 = load i32, ptr %905, align 4, !tbaa !5
  %4503 = call ptr @s2n_strerror(i32 noundef %4502, ptr noundef nonnull @.str.4) #12
  %4504 = load i32, ptr %905, align 4, !tbaa !5
  %4505 = call ptr @s2n_strerror_debug(i32 noundef %4504, ptr noundef nonnull @.str.4) #12
  %4506 = load i32, ptr %959, align 4, !tbaa !5
  %4507 = call ptr @strerror(i32 noundef %4506) #12
  %4508 = load i32, ptr %959, align 4, !tbaa !5
  %4509 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4500, ptr noundef nonnull %.str.5.sink2590, i32 noundef %4501, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 399, ptr noundef %4503, ptr noundef %4505, ptr noundef %4507, i32 noundef %4508) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4510:                                             ; preds = %4481
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %45) #12
  store i64 0, ptr %45, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %46) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(20) %46, i8 0, i64 20, i1 false)
  %4511 = load i32, ptr @test_count, align 4, !tbaa !5
  %4512 = add nsw i32 %4511, 1
  store i32 %4512, ptr @test_count, align 4, !tbaa !5
  %4513 = load ptr, ptr %42, align 8, !tbaa !9
  %4514 = load ptr, ptr %43, align 8, !tbaa !9
  %4515 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %4513, ptr noundef %4514) #12
  %4516 = icmp eq i32 %4515, -1
  br i1 %4516, label %4517, label %4539

4517:                                             ; preds = %4510
  %4518 = load i32, ptr %959, align 4, !tbaa !5
  %4519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4520 = call i32 @s2n_print_stacktrace(ptr noundef %4519) #12
  %4521 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4522 = trunc nuw i8 %4521 to i1
  br i1 %4522, label %4523, label %4527

4523:                                             ; preds = %4517
  %4524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4525 = call i32 @fileno(ptr noundef %4524) #12
  %4526 = call i32 @isatty(i32 noundef %4525) #12
  %.not604 = icmp eq i32 %4526, 0
  br i1 %.not604, label %4527, label %4528

4527:                                             ; preds = %4523, %4517
  br label %4528

4528:                                             ; preds = %4523, %4527
  %.str.5.sink2599 = phi ptr [ @.str.5, %4527 ], [ @.str.2, %4523 ]
  store i32 %4518, ptr %959, align 4, !tbaa !5
  %4529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4530 = load i32, ptr @test_count, align 4, !tbaa !5
  %4531 = load i32, ptr %905, align 4, !tbaa !5
  %4532 = call ptr @s2n_strerror(i32 noundef %4531, ptr noundef nonnull @.str.4) #12
  %4533 = load i32, ptr %905, align 4, !tbaa !5
  %4534 = call ptr @s2n_strerror_debug(i32 noundef %4533, ptr noundef nonnull @.str.4) #12
  %4535 = load i32, ptr %959, align 4, !tbaa !5
  %4536 = call ptr @strerror(i32 noundef %4535) #12
  %4537 = load i32, ptr %959, align 4, !tbaa !5
  %4538 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4529, ptr noundef nonnull %.str.5.sink2599, i32 noundef %4530, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 406, ptr noundef %4532, ptr noundef %4534, ptr noundef %4536, i32 noundef %4537) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4539:                                             ; preds = %4510
  %4540 = and i64 %.0489970, 1
  %.not559.not = icmp eq i64 %4540, 0
  br i1 %.not559.not, label %4569, label %4541

4541:                                             ; preds = %4539
  %4542 = load i32, ptr @test_count, align 4, !tbaa !5
  %4543 = add nsw i32 %4542, 1
  store i32 %4543, ptr @test_count, align 4, !tbaa !5
  %4544 = load ptr, ptr %42, align 8, !tbaa !9
  %4545 = call i64 @s2n_send(ptr noundef %4544, ptr noundef nonnull %41, i64 noundef 10, ptr noundef nonnull %6) #12
  %4546 = icmp eq i64 %4545, 10
  br i1 %4546, label %4569, label %4547

4547:                                             ; preds = %4541
  %4548 = load i32, ptr %959, align 4, !tbaa !5
  %4549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4550 = call i32 @s2n_print_stacktrace(ptr noundef %4549) #12
  %4551 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4552 = trunc nuw i8 %4551 to i1
  br i1 %4552, label %4553, label %4557

4553:                                             ; preds = %4547
  %4554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4555 = call i32 @fileno(ptr noundef %4554) #12
  %4556 = call i32 @isatty(i32 noundef %4555) #12
  %.not560 = icmp eq i32 %4556, 0
  br i1 %.not560, label %4557, label %4558

4557:                                             ; preds = %4553, %4547
  br label %4558

4558:                                             ; preds = %4553, %4557
  %.str.5.sink2608 = phi ptr [ @.str.5, %4557 ], [ @.str.2, %4553 ]
  store i32 %4548, ptr %959, align 4, !tbaa !5
  %4559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4560 = load i32, ptr @test_count, align 4, !tbaa !5
  %4561 = load i32, ptr %905, align 4, !tbaa !5
  %4562 = call ptr @s2n_strerror(i32 noundef %4561, ptr noundef nonnull @.str.4) #12
  %4563 = load i32, ptr %905, align 4, !tbaa !5
  %4564 = call ptr @s2n_strerror_debug(i32 noundef %4563, ptr noundef nonnull @.str.4) #12
  %4565 = load i32, ptr %959, align 4, !tbaa !5
  %4566 = call ptr @strerror(i32 noundef %4565) #12
  %4567 = load i32, ptr %959, align 4, !tbaa !5
  %4568 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4559, ptr noundef nonnull %.str.5.sink2608, i32 noundef %4560, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.1, i32 noundef 411, ptr noundef %4562, ptr noundef %4564, ptr noundef %4566, i32 noundef %4567) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4569:                                             ; preds = %4541, %4539
  %.0491.sroa.phi = phi ptr [ %41, %4539 ], [ %.0491.sroa.gep714, %4541 ]
  %.0491 = phi i64 [ 0, %4539 ], [ 1, %4541 ]
  %4570 = load i32, ptr @test_count, align 4, !tbaa !5
  %4571 = add nsw i32 %4570, 1
  store i32 %4571, ptr @test_count, align 4, !tbaa !5
  %4572 = load ptr, ptr %42, align 8, !tbaa !9
  %4573 = call i32 @s2n_renegotiate_wipe(ptr noundef %4572) #12
  %4574 = icmp eq i32 %4573, -1
  br i1 %4574, label %4575, label %4597

4575:                                             ; preds = %4569
  %4576 = load i32, ptr %959, align 4, !tbaa !5
  %4577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4578 = call i32 @s2n_print_stacktrace(ptr noundef %4577) #12
  %4579 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4580 = trunc nuw i8 %4579 to i1
  br i1 %4580, label %4581, label %4585

4581:                                             ; preds = %4575
  %4582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4583 = call i32 @fileno(ptr noundef %4582) #12
  %4584 = call i32 @isatty(i32 noundef %4583) #12
  %.not603 = icmp eq i32 %4584, 0
  br i1 %.not603, label %4585, label %4586

4585:                                             ; preds = %4581, %4575
  br label %4586

4586:                                             ; preds = %4581, %4585
  %.str.5.sink2617 = phi ptr [ @.str.5, %4585 ], [ @.str.2, %4581 ]
  store i32 %4576, ptr %959, align 4, !tbaa !5
  %4587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4588 = load i32, ptr @test_count, align 4, !tbaa !5
  %4589 = load i32, ptr %905, align 4, !tbaa !5
  %4590 = call ptr @s2n_strerror(i32 noundef %4589, ptr noundef nonnull @.str.4) #12
  %4591 = load i32, ptr %905, align 4, !tbaa !5
  %4592 = call ptr @s2n_strerror_debug(i32 noundef %4591, ptr noundef nonnull @.str.4) #12
  %4593 = load i32, ptr %959, align 4, !tbaa !5
  %4594 = call ptr @strerror(i32 noundef %4593) #12
  %4595 = load i32, ptr %959, align 4, !tbaa !5
  %4596 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4587, ptr noundef nonnull %.str.5.sink2617, i32 noundef %4588, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 415, ptr noundef %4590, ptr noundef %4592, ptr noundef %4594, i32 noundef %4595) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4597:                                             ; preds = %4569
  %4598 = load i32, ptr @test_count, align 4, !tbaa !5
  %4599 = add nsw i32 %4598, 1
  store i32 %4599, ptr @test_count, align 4, !tbaa !5
  %4600 = load ptr, ptr %43, align 8, !tbaa !9
  %4601 = call i32 @s2n_renegotiate_wipe(ptr noundef %4600) #12
  %4602 = icmp eq i32 %4601, -1
  br i1 %4602, label %4603, label %4625

4603:                                             ; preds = %4597
  %4604 = load i32, ptr %959, align 4, !tbaa !5
  %4605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4606 = call i32 @s2n_print_stacktrace(ptr noundef %4605) #12
  %4607 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4608 = trunc nuw i8 %4607 to i1
  br i1 %4608, label %4609, label %4613

4609:                                             ; preds = %4603
  %4610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4611 = call i32 @fileno(ptr noundef %4610) #12
  %4612 = call i32 @isatty(i32 noundef %4611) #12
  %.not602 = icmp eq i32 %4612, 0
  br i1 %.not602, label %4613, label %4614

4613:                                             ; preds = %4609, %4603
  br label %4614

4614:                                             ; preds = %4609, %4613
  %.str.5.sink2626 = phi ptr [ @.str.5, %4613 ], [ @.str.2, %4609 ]
  store i32 %4604, ptr %959, align 4, !tbaa !5
  %4615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4616 = load i32, ptr @test_count, align 4, !tbaa !5
  %4617 = load i32, ptr %905, align 4, !tbaa !5
  %4618 = call ptr @s2n_strerror(i32 noundef %4617, ptr noundef nonnull @.str.4) #12
  %4619 = load i32, ptr %905, align 4, !tbaa !5
  %4620 = call ptr @s2n_strerror_debug(i32 noundef %4619, ptr noundef nonnull @.str.4) #12
  %4621 = load i32, ptr %959, align 4, !tbaa !5
  %4622 = call ptr @strerror(i32 noundef %4621) #12
  %4623 = load i32, ptr %959, align 4, !tbaa !5
  %4624 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4615, ptr noundef nonnull %.str.5.sink2626, i32 noundef %4616, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 416, ptr noundef %4618, ptr noundef %4620, ptr noundef %4622, i32 noundef %4623) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4625:                                             ; preds = %4597
  %4626 = load ptr, ptr %43, align 8, !tbaa !9
  %4627 = call i32 @s2n_renegotiate(ptr noundef %4626, ptr noundef nonnull %46, i64 noundef 20, ptr noundef nonnull %45, ptr noundef nonnull %6) #12
  %4628 = load i32, ptr @test_count, align 4, !tbaa !5
  %4629 = add nsw i32 %4628, 1
  store i32 %4629, ptr @test_count, align 4, !tbaa !5
  %4630 = load ptr, ptr %43, align 8, !tbaa !9
  %4631 = call i32 @s2n_conn_get_current_message_type(ptr noundef %4630) #12
  %4632 = icmp eq i32 %4631, 1
  br i1 %4632, label %4655, label %4633

4633:                                             ; preds = %4625
  %4634 = load i32, ptr %959, align 4, !tbaa !5
  %4635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4636 = call i32 @s2n_print_stacktrace(ptr noundef %4635) #12
  %4637 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4638 = trunc nuw i8 %4637 to i1
  br i1 %4638, label %4639, label %4643

4639:                                             ; preds = %4633
  %4640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4641 = call i32 @fileno(ptr noundef %4640) #12
  %4642 = call i32 @isatty(i32 noundef %4641) #12
  %.not561 = icmp eq i32 %4642, 0
  br i1 %.not561, label %4643, label %4644

4643:                                             ; preds = %4639, %4633
  br label %4644

4644:                                             ; preds = %4639, %4643
  %.str.5.sink2635 = phi ptr [ @.str.5, %4643 ], [ @.str.2, %4639 ]
  store i32 %4634, ptr %959, align 4, !tbaa !5
  %4645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4646 = load i32, ptr @test_count, align 4, !tbaa !5
  %4647 = load i32, ptr %905, align 4, !tbaa !5
  %4648 = call ptr @s2n_strerror(i32 noundef %4647, ptr noundef nonnull @.str.4) #12
  %4649 = load i32, ptr %905, align 4, !tbaa !5
  %4650 = call ptr @s2n_strerror_debug(i32 noundef %4649, ptr noundef nonnull @.str.4) #12
  %4651 = load i32, ptr %959, align 4, !tbaa !5
  %4652 = call ptr @strerror(i32 noundef %4651) #12
  %4653 = load i32, ptr %959, align 4, !tbaa !5
  %4654 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4645, ptr noundef nonnull %.str.5.sink2635, i32 noundef %4646, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 422, ptr noundef %4648, ptr noundef %4650, ptr noundef %4652, i32 noundef %4653) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4655:                                             ; preds = %4625
  %4656 = load i32, ptr @test_count, align 4, !tbaa !5
  %4657 = add nsw i32 %4656, 1
  store i32 %4657, ptr @test_count, align 4, !tbaa !5
  %4658 = icmp eq i32 %4627, -1
  br i1 %.not559.not, label %4812, label %4659

4659:                                             ; preds = %4655
  br i1 %4658, label %4682, label %4660

4660:                                             ; preds = %4659
  %4661 = load i32, ptr %959, align 4, !tbaa !5
  %4662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4663 = call i32 @s2n_print_stacktrace(ptr noundef %4662) #12
  %4664 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4665 = trunc nuw i8 %4664 to i1
  br i1 %4665, label %4666, label %4670

4666:                                             ; preds = %4660
  %4667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4668 = call i32 @fileno(ptr noundef %4667) #12
  %4669 = call i32 @isatty(i32 noundef %4668) #12
  %.not567 = icmp eq i32 %4669, 0
  br i1 %.not567, label %4670, label %4671

4670:                                             ; preds = %4666, %4660
  br label %4671

4671:                                             ; preds = %4666, %4670
  %.str.5.sink2644 = phi ptr [ @.str.5, %4670 ], [ @.str.2, %4666 ]
  store i32 %4661, ptr %959, align 4, !tbaa !5
  %4672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4673 = load i32, ptr @test_count, align 4, !tbaa !5
  %4674 = load i32, ptr %905, align 4, !tbaa !5
  %4675 = call ptr @s2n_strerror(i32 noundef %4674, ptr noundef nonnull @.str.4) #12
  %4676 = load i32, ptr %905, align 4, !tbaa !5
  %4677 = call ptr @s2n_strerror_debug(i32 noundef %4676, ptr noundef nonnull @.str.4) #12
  %4678 = load i32, ptr %959, align 4, !tbaa !5
  %4679 = call ptr @strerror(i32 noundef %4678) #12
  %4680 = load i32, ptr %959, align 4, !tbaa !5
  %4681 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4672, ptr noundef nonnull %.str.5.sink2644, i32 noundef %4673, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.1, i32 noundef 425, ptr noundef %4675, ptr noundef %4677, ptr noundef %4679, i32 noundef %4680) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4682:                                             ; preds = %4659
  %4683 = add nsw i32 %4656, 2
  store i32 %4683, ptr @test_count, align 4, !tbaa !5
  %4684 = load i32, ptr %905, align 4, !tbaa !5
  %4685 = icmp eq i32 %4684, 201326595
  br i1 %4685, label %4708, label %4686

4686:                                             ; preds = %4682
  %4687 = load i32, ptr %959, align 4, !tbaa !5
  %4688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4689 = call i32 @s2n_print_stacktrace(ptr noundef %4688) #12
  %4690 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4691 = trunc nuw i8 %4690 to i1
  br i1 %4691, label %4692, label %4696

4692:                                             ; preds = %4686
  %4693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4694 = call i32 @fileno(ptr noundef %4693) #12
  %4695 = call i32 @isatty(i32 noundef %4694) #12
  %.not568 = icmp eq i32 %4695, 0
  br i1 %.not568, label %4696, label %4697

4696:                                             ; preds = %4692, %4686
  br label %4697

4697:                                             ; preds = %4692, %4696
  %.str.5.sink2653 = phi ptr [ @.str.5, %4696 ], [ @.str.2, %4692 ]
  store i32 %4687, ptr %959, align 4, !tbaa !5
  %4698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4699 = load i32, ptr @test_count, align 4, !tbaa !5
  %4700 = load i32, ptr %905, align 4, !tbaa !5
  %4701 = call ptr @s2n_strerror(i32 noundef %4700, ptr noundef nonnull @.str.4) #12
  %4702 = load i32, ptr %905, align 4, !tbaa !5
  %4703 = call ptr @s2n_strerror_debug(i32 noundef %4702, ptr noundef nonnull @.str.4) #12
  %4704 = load i32, ptr %959, align 4, !tbaa !5
  %4705 = call ptr @strerror(i32 noundef %4704) #12
  %4706 = load i32, ptr %959, align 4, !tbaa !5
  %4707 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4698, ptr noundef nonnull %.str.5.sink2653, i32 noundef %4699, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 425, ptr noundef %4701, ptr noundef %4703, ptr noundef %4705, i32 noundef %4706) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4708:                                             ; preds = %4682
  %4709 = add nsw i32 %4656, 3
  store i32 %4709, ptr @test_count, align 4, !tbaa !5
  %4710 = call ptr @s2n_strerror_debug(i32 noundef 201326595, ptr noundef nonnull @.str.4) #12
  %4711 = icmp eq ptr %4710, null
  br i1 %4711, label %4712, label %4734

4712:                                             ; preds = %4708
  %4713 = load i32, ptr %959, align 4, !tbaa !5
  %4714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4715 = call i32 @s2n_print_stacktrace(ptr noundef %4714) #12
  %4716 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4717 = trunc nuw i8 %4716 to i1
  br i1 %4717, label %4718, label %4722

4718:                                             ; preds = %4712
  %4719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4720 = call i32 @fileno(ptr noundef %4719) #12
  %4721 = call i32 @isatty(i32 noundef %4720) #12
  %.not601 = icmp eq i32 %4721, 0
  br i1 %.not601, label %4722, label %4723

4722:                                             ; preds = %4718, %4712
  br label %4723

4723:                                             ; preds = %4718, %4722
  %.str.5.sink2662 = phi ptr [ @.str.5, %4722 ], [ @.str.2, %4718 ]
  store i32 %4713, ptr %959, align 4, !tbaa !5
  %4724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4725 = load i32, ptr @test_count, align 4, !tbaa !5
  %4726 = load i32, ptr %905, align 4, !tbaa !5
  %4727 = call ptr @s2n_strerror(i32 noundef %4726, ptr noundef nonnull @.str.4) #12
  %4728 = load i32, ptr %905, align 4, !tbaa !5
  %4729 = call ptr @s2n_strerror_debug(i32 noundef %4728, ptr noundef nonnull @.str.4) #12
  %4730 = load i32, ptr %959, align 4, !tbaa !5
  %4731 = call ptr @strerror(i32 noundef %4730) #12
  %4732 = load i32, ptr %959, align 4, !tbaa !5
  %4733 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4724, ptr noundef nonnull %.str.5.sink2662, i32 noundef %4725, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 425, ptr noundef %4727, ptr noundef %4729, ptr noundef %4731, i32 noundef %4732) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4734:                                             ; preds = %4708
  store i32 0, ptr %905, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %959, align 4, !tbaa !5
  %4735 = load i32, ptr @test_count, align 4, !tbaa !5
  %4736 = add nsw i32 %4735, 1
  store i32 %4736, ptr @test_count, align 4, !tbaa !5
  %4737 = load i32, ptr %6, align 4, !tbaa !5
  %4738 = icmp eq i32 %4737, %962
  br i1 %4738, label %4761, label %4739

4739:                                             ; preds = %4734
  %4740 = load i32, ptr %959, align 4, !tbaa !5
  %4741 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4742 = call i32 @s2n_print_stacktrace(ptr noundef %4741) #12
  %4743 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4744 = trunc nuw i8 %4743 to i1
  br i1 %4744, label %4745, label %4749

4745:                                             ; preds = %4739
  %4746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4747 = call i32 @fileno(ptr noundef %4746) #12
  %4748 = call i32 @isatty(i32 noundef %4747) #12
  %.not569 = icmp eq i32 %4748, 0
  br i1 %.not569, label %4749, label %4750

4749:                                             ; preds = %4745, %4739
  br label %4750

4750:                                             ; preds = %4745, %4749
  %.str.5.sink2671 = phi ptr [ @.str.5, %4749 ], [ @.str.2, %4745 ]
  store i32 %4740, ptr %959, align 4, !tbaa !5
  %4751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4752 = load i32, ptr @test_count, align 4, !tbaa !5
  %4753 = load i32, ptr %905, align 4, !tbaa !5
  %4754 = call ptr @s2n_strerror(i32 noundef %4753, ptr noundef nonnull @.str.4) #12
  %4755 = load i32, ptr %905, align 4, !tbaa !5
  %4756 = call ptr @s2n_strerror_debug(i32 noundef %4755, ptr noundef nonnull @.str.4) #12
  %4757 = load i32, ptr %959, align 4, !tbaa !5
  %4758 = call ptr @strerror(i32 noundef %4757) #12
  %4759 = load i32, ptr %959, align 4, !tbaa !5
  %4760 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4751, ptr noundef nonnull %.str.5.sink2671, i32 noundef %4752, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 426, ptr noundef %4754, ptr noundef %4756, ptr noundef %4758, i32 noundef %4759) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4761:                                             ; preds = %4734
  %4762 = add nsw i32 %4735, 2
  store i32 %4762, ptr @test_count, align 4, !tbaa !5
  %4763 = load i64, ptr %45, align 8, !tbaa !15
  %4764 = icmp eq i64 %4763, 10
  br i1 %4764, label %4787, label %4765

4765:                                             ; preds = %4761
  %4766 = load i32, ptr %959, align 4, !tbaa !5
  %4767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4768 = call i32 @s2n_print_stacktrace(ptr noundef %4767) #12
  %4769 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4770 = trunc nuw i8 %4769 to i1
  br i1 %4770, label %4771, label %4775

4771:                                             ; preds = %4765
  %4772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4773 = call i32 @fileno(ptr noundef %4772) #12
  %4774 = call i32 @isatty(i32 noundef %4773) #12
  %.not570 = icmp eq i32 %4774, 0
  br i1 %.not570, label %4775, label %4776

4775:                                             ; preds = %4771, %4765
  br label %4776

4776:                                             ; preds = %4771, %4775
  %.str.5.sink2680 = phi ptr [ @.str.5, %4775 ], [ @.str.2, %4771 ]
  store i32 %4766, ptr %959, align 4, !tbaa !5
  %4777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4778 = load i32, ptr @test_count, align 4, !tbaa !5
  %4779 = load i32, ptr %905, align 4, !tbaa !5
  %4780 = call ptr @s2n_strerror(i32 noundef %4779, ptr noundef nonnull @.str.4) #12
  %4781 = load i32, ptr %905, align 4, !tbaa !5
  %4782 = call ptr @s2n_strerror_debug(i32 noundef %4781, ptr noundef nonnull @.str.4) #12
  %4783 = load i32, ptr %959, align 4, !tbaa !5
  %4784 = call ptr @strerror(i32 noundef %4783) #12
  %4785 = load i32, ptr %959, align 4, !tbaa !5
  %4786 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4777, ptr noundef nonnull %.str.5.sink2680, i32 noundef %4778, ptr noundef nonnull @.str.53, ptr noundef nonnull @.str.1, i32 noundef 427, ptr noundef %4780, ptr noundef %4782, ptr noundef %4784, i32 noundef %4785) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4787:                                             ; preds = %4761
  %4788 = add nsw i32 %4735, 3
  store i32 %4788, ptr @test_count, align 4, !tbaa !5
  %bcmp571 = call i32 @bcmp(ptr noundef nonnull dereferenceable(10) %46, ptr noundef nonnull dereferenceable(10) %41, i64 10)
  %4789 = icmp eq i32 %bcmp571, 0
  br i1 %4789, label %4940, label %4790

4790:                                             ; preds = %4787
  %4791 = load i32, ptr %959, align 4, !tbaa !5
  %4792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4793 = call i32 @s2n_print_stacktrace(ptr noundef %4792) #12
  %4794 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4795 = trunc nuw i8 %4794 to i1
  br i1 %4795, label %4796, label %4800

4796:                                             ; preds = %4790
  %4797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4798 = call i32 @fileno(ptr noundef %4797) #12
  %4799 = call i32 @isatty(i32 noundef %4798) #12
  %.not572 = icmp eq i32 %4799, 0
  br i1 %.not572, label %4800, label %4801

4800:                                             ; preds = %4796, %4790
  br label %4801

4801:                                             ; preds = %4796, %4800
  %.str.5.sink2689 = phi ptr [ @.str.5, %4800 ], [ @.str.2, %4796 ]
  store i32 %4791, ptr %959, align 4, !tbaa !5
  %4802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4803 = load i32, ptr @test_count, align 4, !tbaa !5
  %4804 = load i32, ptr %905, align 4, !tbaa !5
  %4805 = call ptr @s2n_strerror(i32 noundef %4804, ptr noundef nonnull @.str.4) #12
  %4806 = load i32, ptr %905, align 4, !tbaa !5
  %4807 = call ptr @s2n_strerror_debug(i32 noundef %4806, ptr noundef nonnull @.str.4) #12
  %4808 = load i32, ptr %959, align 4, !tbaa !5
  %4809 = call ptr @strerror(i32 noundef %4808) #12
  %4810 = load i32, ptr %959, align 4, !tbaa !5
  %4811 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4802, ptr noundef nonnull %.str.5.sink2689, i32 noundef %4803, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.1, i32 noundef 428, ptr noundef %4805, ptr noundef %4807, ptr noundef %4809, i32 noundef %4810) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4812:                                             ; preds = %4655
  br i1 %4658, label %4835, label %4813

4813:                                             ; preds = %4812
  %4814 = load i32, ptr %959, align 4, !tbaa !5
  %4815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4816 = call i32 @s2n_print_stacktrace(ptr noundef %4815) #12
  %4817 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4818 = trunc nuw i8 %4817 to i1
  br i1 %4818, label %4819, label %4823

4819:                                             ; preds = %4813
  %4820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4821 = call i32 @fileno(ptr noundef %4820) #12
  %4822 = call i32 @isatty(i32 noundef %4821) #12
  %.not562 = icmp eq i32 %4822, 0
  br i1 %.not562, label %4823, label %4824

4823:                                             ; preds = %4819, %4813
  br label %4824

4824:                                             ; preds = %4819, %4823
  %.str.5.sink2698 = phi ptr [ @.str.5, %4823 ], [ @.str.2, %4819 ]
  store i32 %4814, ptr %959, align 4, !tbaa !5
  %4825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4826 = load i32, ptr @test_count, align 4, !tbaa !5
  %4827 = load i32, ptr %905, align 4, !tbaa !5
  %4828 = call ptr @s2n_strerror(i32 noundef %4827, ptr noundef nonnull @.str.4) #12
  %4829 = load i32, ptr %905, align 4, !tbaa !5
  %4830 = call ptr @s2n_strerror_debug(i32 noundef %4829, ptr noundef nonnull @.str.4) #12
  %4831 = load i32, ptr %959, align 4, !tbaa !5
  %4832 = call ptr @strerror(i32 noundef %4831) #12
  %4833 = load i32, ptr %959, align 4, !tbaa !5
  %4834 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4825, ptr noundef nonnull %.str.5.sink2698, i32 noundef %4826, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.1, i32 noundef 432, ptr noundef %4828, ptr noundef %4830, ptr noundef %4832, i32 noundef %4833) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4835:                                             ; preds = %4812
  %4836 = add nsw i32 %4656, 2
  store i32 %4836, ptr @test_count, align 4, !tbaa !5
  %4837 = load i32, ptr %905, align 4, !tbaa !5
  %4838 = icmp eq i32 %4837, 201326592
  br i1 %4838, label %4861, label %4839

4839:                                             ; preds = %4835
  %4840 = load i32, ptr %959, align 4, !tbaa !5
  %4841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4842 = call i32 @s2n_print_stacktrace(ptr noundef %4841) #12
  %4843 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4844 = trunc nuw i8 %4843 to i1
  br i1 %4844, label %4845, label %4849

4845:                                             ; preds = %4839
  %4846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4847 = call i32 @fileno(ptr noundef %4846) #12
  %4848 = call i32 @isatty(i32 noundef %4847) #12
  %.not563 = icmp eq i32 %4848, 0
  br i1 %.not563, label %4849, label %4850

4849:                                             ; preds = %4845, %4839
  br label %4850

4850:                                             ; preds = %4845, %4849
  %.str.5.sink2707 = phi ptr [ @.str.5, %4849 ], [ @.str.2, %4845 ]
  store i32 %4840, ptr %959, align 4, !tbaa !5
  %4851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4852 = load i32, ptr @test_count, align 4, !tbaa !5
  %4853 = load i32, ptr %905, align 4, !tbaa !5
  %4854 = call ptr @s2n_strerror(i32 noundef %4853, ptr noundef nonnull @.str.4) #12
  %4855 = load i32, ptr %905, align 4, !tbaa !5
  %4856 = call ptr @s2n_strerror_debug(i32 noundef %4855, ptr noundef nonnull @.str.4) #12
  %4857 = load i32, ptr %959, align 4, !tbaa !5
  %4858 = call ptr @strerror(i32 noundef %4857) #12
  %4859 = load i32, ptr %959, align 4, !tbaa !5
  %4860 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4851, ptr noundef nonnull %.str.5.sink2707, i32 noundef %4852, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 432, ptr noundef %4854, ptr noundef %4856, ptr noundef %4858, i32 noundef %4859) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4861:                                             ; preds = %4835
  %4862 = add nsw i32 %4656, 3
  store i32 %4862, ptr @test_count, align 4, !tbaa !5
  %4863 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #12
  %4864 = icmp eq ptr %4863, null
  br i1 %4864, label %4865, label %4887

4865:                                             ; preds = %4861
  %4866 = load i32, ptr %959, align 4, !tbaa !5
  %4867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4868 = call i32 @s2n_print_stacktrace(ptr noundef %4867) #12
  %4869 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4870 = trunc nuw i8 %4869 to i1
  br i1 %4870, label %4871, label %4875

4871:                                             ; preds = %4865
  %4872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4873 = call i32 @fileno(ptr noundef %4872) #12
  %4874 = call i32 @isatty(i32 noundef %4873) #12
  %.not566 = icmp eq i32 %4874, 0
  br i1 %.not566, label %4875, label %4876

4875:                                             ; preds = %4871, %4865
  br label %4876

4876:                                             ; preds = %4871, %4875
  %.str.5.sink2716 = phi ptr [ @.str.5, %4875 ], [ @.str.2, %4871 ]
  store i32 %4866, ptr %959, align 4, !tbaa !5
  %4877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4878 = load i32, ptr @test_count, align 4, !tbaa !5
  %4879 = load i32, ptr %905, align 4, !tbaa !5
  %4880 = call ptr @s2n_strerror(i32 noundef %4879, ptr noundef nonnull @.str.4) #12
  %4881 = load i32, ptr %905, align 4, !tbaa !5
  %4882 = call ptr @s2n_strerror_debug(i32 noundef %4881, ptr noundef nonnull @.str.4) #12
  %4883 = load i32, ptr %959, align 4, !tbaa !5
  %4884 = call ptr @strerror(i32 noundef %4883) #12
  %4885 = load i32, ptr %959, align 4, !tbaa !5
  %4886 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4877, ptr noundef nonnull %.str.5.sink2716, i32 noundef %4878, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 432, ptr noundef %4880, ptr noundef %4882, ptr noundef %4884, i32 noundef %4885) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4887:                                             ; preds = %4861
  store i32 0, ptr %905, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %959, align 4, !tbaa !5
  %4888 = load i32, ptr @test_count, align 4, !tbaa !5
  %4889 = add nsw i32 %4888, 1
  store i32 %4889, ptr @test_count, align 4, !tbaa !5
  %4890 = load i32, ptr %6, align 4, !tbaa !5
  %4891 = icmp eq i32 %4890, 1
  br i1 %4891, label %4914, label %4892

4892:                                             ; preds = %4887
  %4893 = load i32, ptr %959, align 4, !tbaa !5
  %4894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4895 = call i32 @s2n_print_stacktrace(ptr noundef %4894) #12
  %4896 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4897 = trunc nuw i8 %4896 to i1
  br i1 %4897, label %4898, label %4902

4898:                                             ; preds = %4892
  %4899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4900 = call i32 @fileno(ptr noundef %4899) #12
  %4901 = call i32 @isatty(i32 noundef %4900) #12
  %.not564 = icmp eq i32 %4901, 0
  br i1 %.not564, label %4902, label %4903

4902:                                             ; preds = %4898, %4892
  br label %4903

4903:                                             ; preds = %4898, %4902
  %.str.5.sink2725 = phi ptr [ @.str.5, %4902 ], [ @.str.2, %4898 ]
  store i32 %4893, ptr %959, align 4, !tbaa !5
  %4904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4905 = load i32, ptr @test_count, align 4, !tbaa !5
  %4906 = load i32, ptr %905, align 4, !tbaa !5
  %4907 = call ptr @s2n_strerror(i32 noundef %4906, ptr noundef nonnull @.str.4) #12
  %4908 = load i32, ptr %905, align 4, !tbaa !5
  %4909 = call ptr @s2n_strerror_debug(i32 noundef %4908, ptr noundef nonnull @.str.4) #12
  %4910 = load i32, ptr %959, align 4, !tbaa !5
  %4911 = call ptr @strerror(i32 noundef %4910) #12
  %4912 = load i32, ptr %959, align 4, !tbaa !5
  %4913 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4904, ptr noundef nonnull %.str.5.sink2725, i32 noundef %4905, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 433, ptr noundef %4907, ptr noundef %4909, ptr noundef %4911, i32 noundef %4912) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4914:                                             ; preds = %4887
  %4915 = add nsw i32 %4888, 2
  store i32 %4915, ptr @test_count, align 4, !tbaa !5
  %4916 = load i64, ptr %45, align 8, !tbaa !15
  %4917 = icmp eq i64 %4916, 0
  br i1 %4917, label %4940, label %4918

4918:                                             ; preds = %4914
  %4919 = load i32, ptr %959, align 4, !tbaa !5
  %4920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4921 = call i32 @s2n_print_stacktrace(ptr noundef %4920) #12
  %4922 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4923 = trunc nuw i8 %4922 to i1
  br i1 %4923, label %4924, label %4928

4924:                                             ; preds = %4918
  %4925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4926 = call i32 @fileno(ptr noundef %4925) #12
  %4927 = call i32 @isatty(i32 noundef %4926) #12
  %.not565 = icmp eq i32 %4927, 0
  br i1 %.not565, label %4928, label %4929

4928:                                             ; preds = %4924, %4918
  br label %4929

4929:                                             ; preds = %4924, %4928
  %.str.5.sink2734 = phi ptr [ @.str.5, %4928 ], [ @.str.2, %4924 ]
  store i32 %4919, ptr %959, align 4, !tbaa !5
  %4930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4931 = load i32, ptr @test_count, align 4, !tbaa !5
  %4932 = load i32, ptr %905, align 4, !tbaa !5
  %4933 = call ptr @s2n_strerror(i32 noundef %4932, ptr noundef nonnull @.str.4) #12
  %4934 = load i32, ptr %905, align 4, !tbaa !5
  %4935 = call ptr @s2n_strerror_debug(i32 noundef %4934, ptr noundef nonnull @.str.4) #12
  %4936 = load i32, ptr %959, align 4, !tbaa !5
  %4937 = call ptr @strerror(i32 noundef %4936) #12
  %4938 = load i32, ptr %959, align 4, !tbaa !5
  %4939 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4930, ptr noundef nonnull %.str.5.sink2734, i32 noundef %4931, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 434, ptr noundef %4933, ptr noundef %4935, ptr noundef %4937, i32 noundef %4938) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4940:                                             ; preds = %4914, %4787
  %4941 = phi i32 [ %4788, %4787 ], [ %4915, %4914 ]
  %.0493 = phi i64 [ 1, %4787 ], [ 0, %4914 ]
  %.1482 = phi i1 [ %.0481974, %4787 ], [ true, %4914 ]
  %.1 = phi i1 [ true, %4787 ], [ %.0480975, %4914 ]
  %4942 = and i64 %.0489970, 2
  %.not573 = icmp eq i64 %4942, 0
  br i1 %.not573, label %4972, label %4943

4943:                                             ; preds = %4940
  %4944 = add nsw i32 %4941, 1
  store i32 %4944, ptr @test_count, align 4, !tbaa !5
  %4945 = load ptr, ptr %42, align 8, !tbaa !9
  %4946 = call i64 @s2n_send(ptr noundef %4945, ptr noundef nonnull %.0491.sroa.phi, i64 noundef 10, ptr noundef nonnull %6) #12
  %4947 = icmp eq i64 %4946, 10
  br i1 %4947, label %4970, label %4948

4948:                                             ; preds = %4943
  %4949 = load i32, ptr %959, align 4, !tbaa !5
  %4950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4951 = call i32 @s2n_print_stacktrace(ptr noundef %4950) #12
  %4952 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4953 = trunc nuw i8 %4952 to i1
  br i1 %4953, label %4954, label %4958

4954:                                             ; preds = %4948
  %4955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4956 = call i32 @fileno(ptr noundef %4955) #12
  %4957 = call i32 @isatty(i32 noundef %4956) #12
  %.not574 = icmp eq i32 %4957, 0
  br i1 %.not574, label %4958, label %4959

4958:                                             ; preds = %4954, %4948
  br label %4959

4959:                                             ; preds = %4954, %4958
  %.str.5.sink2743 = phi ptr [ @.str.5, %4958 ], [ @.str.2, %4954 ]
  store i32 %4949, ptr %959, align 4, !tbaa !5
  %4960 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4961 = load i32, ptr @test_count, align 4, !tbaa !5
  %4962 = load i32, ptr %905, align 4, !tbaa !5
  %4963 = call ptr @s2n_strerror(i32 noundef %4962, ptr noundef nonnull @.str.4) #12
  %4964 = load i32, ptr %905, align 4, !tbaa !5
  %4965 = call ptr @s2n_strerror_debug(i32 noundef %4964, ptr noundef nonnull @.str.4) #12
  %4966 = load i32, ptr %959, align 4, !tbaa !5
  %4967 = call ptr @strerror(i32 noundef %4966) #12
  %4968 = load i32, ptr %959, align 4, !tbaa !5
  %4969 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4960, ptr noundef nonnull %.str.5.sink2743, i32 noundef %4961, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.1, i32 noundef 442, ptr noundef %4963, ptr noundef %4965, ptr noundef %4967, i32 noundef %4968) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4970:                                             ; preds = %4943
  %4971 = add nuw nsw i64 %.0491, 1
  %.pre1042 = load i32, ptr @test_count, align 4, !tbaa !5
  br label %4972

4972:                                             ; preds = %4940, %4970
  %4973 = phi i32 [ %.pre1042, %4970 ], [ %4941, %4940 ]
  %.1492 = phi i64 [ %4971, %4970 ], [ %.0491, %4940 ]
  %4974 = add nsw i32 %4973, 1
  store i32 %4974, ptr @test_count, align 4, !tbaa !5
  %4975 = load ptr, ptr %42, align 8, !tbaa !9
  %4976 = call i32 @s2n_negotiate(ptr noundef %4975, ptr noundef nonnull %6) #12
  %4977 = icmp eq i32 %4976, -1
  br i1 %4977, label %5000, label %4978

4978:                                             ; preds = %4972
  %4979 = load i32, ptr %959, align 4, !tbaa !5
  %4980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4981 = call i32 @s2n_print_stacktrace(ptr noundef %4980) #12
  %4982 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4983 = trunc nuw i8 %4982 to i1
  br i1 %4983, label %4984, label %4988

4984:                                             ; preds = %4978
  %4985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4986 = call i32 @fileno(ptr noundef %4985) #12
  %4987 = call i32 @isatty(i32 noundef %4986) #12
  %.not575 = icmp eq i32 %4987, 0
  br i1 %.not575, label %4988, label %4989

4988:                                             ; preds = %4984, %4978
  br label %4989

4989:                                             ; preds = %4984, %4988
  %.str.5.sink2752 = phi ptr [ @.str.5, %4988 ], [ @.str.2, %4984 ]
  store i32 %4979, ptr %959, align 4, !tbaa !5
  %4990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4991 = load i32, ptr @test_count, align 4, !tbaa !5
  %4992 = load i32, ptr %905, align 4, !tbaa !5
  %4993 = call ptr @s2n_strerror(i32 noundef %4992, ptr noundef nonnull @.str.4) #12
  %4994 = load i32, ptr %905, align 4, !tbaa !5
  %4995 = call ptr @s2n_strerror_debug(i32 noundef %4994, ptr noundef nonnull @.str.4) #12
  %4996 = load i32, ptr %959, align 4, !tbaa !5
  %4997 = call ptr @strerror(i32 noundef %4996) #12
  %4998 = load i32, ptr %959, align 4, !tbaa !5
  %4999 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4990, ptr noundef nonnull %.str.5.sink2752, i32 noundef %4991, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 446, ptr noundef %4993, ptr noundef %4995, ptr noundef %4997, i32 noundef %4998) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5000:                                             ; preds = %4972
  %5001 = load i32, ptr @test_count, align 4, !tbaa !5
  %5002 = add nsw i32 %5001, 1
  store i32 %5002, ptr @test_count, align 4, !tbaa !5
  %5003 = load i32, ptr %905, align 4, !tbaa !5
  %5004 = icmp eq i32 %5003, 201326592
  br i1 %5004, label %5027, label %5005

5005:                                             ; preds = %5000
  %5006 = load i32, ptr %959, align 4, !tbaa !5
  %5007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5008 = call i32 @s2n_print_stacktrace(ptr noundef %5007) #12
  %5009 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5010 = trunc nuw i8 %5009 to i1
  br i1 %5010, label %5011, label %5015

5011:                                             ; preds = %5005
  %5012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5013 = call i32 @fileno(ptr noundef %5012) #12
  %5014 = call i32 @isatty(i32 noundef %5013) #12
  %.not576 = icmp eq i32 %5014, 0
  br i1 %.not576, label %5015, label %5016

5015:                                             ; preds = %5011, %5005
  br label %5016

5016:                                             ; preds = %5011, %5015
  %.str.5.sink2761 = phi ptr [ @.str.5, %5015 ], [ @.str.2, %5011 ]
  store i32 %5006, ptr %959, align 4, !tbaa !5
  %5017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5018 = load i32, ptr @test_count, align 4, !tbaa !5
  %5019 = load i32, ptr %905, align 4, !tbaa !5
  %5020 = call ptr @s2n_strerror(i32 noundef %5019, ptr noundef nonnull @.str.4) #12
  %5021 = load i32, ptr %905, align 4, !tbaa !5
  %5022 = call ptr @s2n_strerror_debug(i32 noundef %5021, ptr noundef nonnull @.str.4) #12
  %5023 = load i32, ptr %959, align 4, !tbaa !5
  %5024 = call ptr @strerror(i32 noundef %5023) #12
  %5025 = load i32, ptr %959, align 4, !tbaa !5
  %5026 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5017, ptr noundef nonnull %.str.5.sink2761, i32 noundef %5018, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 446, ptr noundef %5020, ptr noundef %5022, ptr noundef %5024, i32 noundef %5025) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5027:                                             ; preds = %5000
  %5028 = add nsw i32 %5001, 2
  store i32 %5028, ptr @test_count, align 4, !tbaa !5
  %5029 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #12
  %5030 = icmp eq ptr %5029, null
  br i1 %5030, label %5031, label %5053

5031:                                             ; preds = %5027
  %5032 = load i32, ptr %959, align 4, !tbaa !5
  %5033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5034 = call i32 @s2n_print_stacktrace(ptr noundef %5033) #12
  %5035 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5036 = trunc nuw i8 %5035 to i1
  br i1 %5036, label %5037, label %5041

5037:                                             ; preds = %5031
  %5038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5039 = call i32 @fileno(ptr noundef %5038) #12
  %5040 = call i32 @isatty(i32 noundef %5039) #12
  %.not600 = icmp eq i32 %5040, 0
  br i1 %.not600, label %5041, label %5042

5041:                                             ; preds = %5037, %5031
  br label %5042

5042:                                             ; preds = %5037, %5041
  %.str.5.sink2770 = phi ptr [ @.str.5, %5041 ], [ @.str.2, %5037 ]
  store i32 %5032, ptr %959, align 4, !tbaa !5
  %5043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5044 = load i32, ptr @test_count, align 4, !tbaa !5
  %5045 = load i32, ptr %905, align 4, !tbaa !5
  %5046 = call ptr @s2n_strerror(i32 noundef %5045, ptr noundef nonnull @.str.4) #12
  %5047 = load i32, ptr %905, align 4, !tbaa !5
  %5048 = call ptr @s2n_strerror_debug(i32 noundef %5047, ptr noundef nonnull @.str.4) #12
  %5049 = load i32, ptr %959, align 4, !tbaa !5
  %5050 = call ptr @strerror(i32 noundef %5049) #12
  %5051 = load i32, ptr %959, align 4, !tbaa !5
  %5052 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5043, ptr noundef nonnull %.str.5.sink2770, i32 noundef %5044, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 446, ptr noundef %5046, ptr noundef %5048, ptr noundef %5050, i32 noundef %5051) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5053:                                             ; preds = %5027
  store i32 0, ptr %905, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %959, align 4, !tbaa !5
  %5054 = load i32, ptr @test_count, align 4, !tbaa !5
  %5055 = add nsw i32 %5054, 1
  store i32 %5055, ptr @test_count, align 4, !tbaa !5
  %5056 = load i32, ptr %6, align 4, !tbaa !5
  %5057 = icmp eq i32 %5056, 1
  br i1 %5057, label %5080, label %5058

5058:                                             ; preds = %5053
  %5059 = load i32, ptr %959, align 4, !tbaa !5
  %5060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5061 = call i32 @s2n_print_stacktrace(ptr noundef %5060) #12
  %5062 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5063 = trunc nuw i8 %5062 to i1
  br i1 %5063, label %5064, label %5068

5064:                                             ; preds = %5058
  %5065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5066 = call i32 @fileno(ptr noundef %5065) #12
  %5067 = call i32 @isatty(i32 noundef %5066) #12
  %.not577 = icmp eq i32 %5067, 0
  br i1 %.not577, label %5068, label %5069

5068:                                             ; preds = %5064, %5058
  br label %5069

5069:                                             ; preds = %5064, %5068
  %.str.5.sink2779 = phi ptr [ @.str.5, %5068 ], [ @.str.2, %5064 ]
  store i32 %5059, ptr %959, align 4, !tbaa !5
  %5070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5071 = load i32, ptr @test_count, align 4, !tbaa !5
  %5072 = load i32, ptr %905, align 4, !tbaa !5
  %5073 = call ptr @s2n_strerror(i32 noundef %5072, ptr noundef nonnull @.str.4) #12
  %5074 = load i32, ptr %905, align 4, !tbaa !5
  %5075 = call ptr @s2n_strerror_debug(i32 noundef %5074, ptr noundef nonnull @.str.4) #12
  %5076 = load i32, ptr %959, align 4, !tbaa !5
  %5077 = call ptr @strerror(i32 noundef %5076) #12
  %5078 = load i32, ptr %959, align 4, !tbaa !5
  %5079 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5070, ptr noundef nonnull %.str.5.sink2779, i32 noundef %5071, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 447, ptr noundef %5073, ptr noundef %5075, ptr noundef %5077, i32 noundef %5078) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5080:                                             ; preds = %5053
  %5081 = add nsw i32 %5054, 2
  store i32 %5081, ptr @test_count, align 4, !tbaa !5
  %5082 = load ptr, ptr %42, align 8, !tbaa !9
  %5083 = call i32 @s2n_conn_get_current_message_type(ptr noundef %5082) #12
  %5084 = icmp eq i32 %5083, 1
  br i1 %5084, label %5085, label %5107

5085:                                             ; preds = %5080
  %5086 = load i32, ptr %959, align 4, !tbaa !5
  %5087 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5088 = call i32 @s2n_print_stacktrace(ptr noundef %5087) #12
  %5089 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5090 = trunc nuw i8 %5089 to i1
  br i1 %5090, label %5091, label %5095

5091:                                             ; preds = %5085
  %5092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5093 = call i32 @fileno(ptr noundef %5092) #12
  %5094 = call i32 @isatty(i32 noundef %5093) #12
  %.not599 = icmp eq i32 %5094, 0
  br i1 %.not599, label %5095, label %5096

5095:                                             ; preds = %5091, %5085
  br label %5096

5096:                                             ; preds = %5091, %5095
  %.str.5.sink2788 = phi ptr [ @.str.5, %5095 ], [ @.str.2, %5091 ]
  store i32 %5086, ptr %959, align 4, !tbaa !5
  %5097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5098 = load i32, ptr @test_count, align 4, !tbaa !5
  %5099 = load i32, ptr %905, align 4, !tbaa !5
  %5100 = call ptr @s2n_strerror(i32 noundef %5099, ptr noundef nonnull @.str.4) #12
  %5101 = load i32, ptr %905, align 4, !tbaa !5
  %5102 = call ptr @s2n_strerror_debug(i32 noundef %5101, ptr noundef nonnull @.str.4) #12
  %5103 = load i32, ptr %959, align 4, !tbaa !5
  %5104 = call ptr @strerror(i32 noundef %5103) #12
  %5105 = load i32, ptr %959, align 4, !tbaa !5
  %5106 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5097, ptr noundef nonnull %.str.5.sink2788, i32 noundef %5098, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 448, ptr noundef %5100, ptr noundef %5102, ptr noundef %5104, i32 noundef %5105) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5107:                                             ; preds = %5080
  %5108 = load i32, ptr @test_count, align 4, !tbaa !5
  %5109 = add nsw i32 %5108, 1
  store i32 %5109, ptr @test_count, align 4, !tbaa !5
  %5110 = load ptr, ptr %42, align 8, !tbaa !9
  %5111 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %5110, i32 noundef 1) #12
  br i1 %5111, label %5134, label %5112

5112:                                             ; preds = %5107
  %5113 = load i32, ptr %959, align 4, !tbaa !5
  %5114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5115 = call i32 @s2n_print_stacktrace(ptr noundef %5114) #12
  %5116 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5117 = trunc nuw i8 %5116 to i1
  br i1 %5117, label %5118, label %5122

5118:                                             ; preds = %5112
  %5119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5120 = call i32 @fileno(ptr noundef %5119) #12
  %5121 = call i32 @isatty(i32 noundef %5120) #12
  %.not578 = icmp eq i32 %5121, 0
  br i1 %.not578, label %5122, label %5123

5122:                                             ; preds = %5118, %5112
  br label %5123

5123:                                             ; preds = %5118, %5122
  %.str.5.sink2797 = phi ptr [ @.str.5, %5122 ], [ @.str.2, %5118 ]
  store i32 %5113, ptr %959, align 4, !tbaa !5
  %5124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5125 = load i32, ptr @test_count, align 4, !tbaa !5
  %5126 = load i32, ptr %905, align 4, !tbaa !5
  %5127 = call ptr @s2n_strerror(i32 noundef %5126, ptr noundef nonnull @.str.4) #12
  %5128 = load i32, ptr %905, align 4, !tbaa !5
  %5129 = call ptr @s2n_strerror_debug(i32 noundef %5128, ptr noundef nonnull @.str.4) #12
  %5130 = load i32, ptr %959, align 4, !tbaa !5
  %5131 = call ptr @strerror(i32 noundef %5130) #12
  %5132 = load i32, ptr %959, align 4, !tbaa !5
  %5133 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5124, ptr noundef nonnull %.str.5.sink2797, i32 noundef %5125, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 449, ptr noundef %5127, ptr noundef %5129, ptr noundef %5131, i32 noundef %5132) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5134:                                             ; preds = %5107
  %.not579 = icmp ult i64 %.0489970, 4
  br i1 %.not579, label %5164, label %5135

5135:                                             ; preds = %5134
  %5136 = load i32, ptr @test_count, align 4, !tbaa !5
  %5137 = add nsw i32 %5136, 1
  store i32 %5137, ptr @test_count, align 4, !tbaa !5
  %5138 = load ptr, ptr %42, align 8, !tbaa !9
  %5139 = getelementptr inbounds [3 x [10 x i8]], ptr %41, i64 0, i64 %.1492
  %5140 = call i64 @s2n_send(ptr noundef %5138, ptr noundef nonnull %5139, i64 noundef 10, ptr noundef nonnull %6) #12
  %5141 = icmp eq i64 %5140, 10
  br i1 %5141, label %5164, label %5142

5142:                                             ; preds = %5135
  %5143 = load i32, ptr %959, align 4, !tbaa !5
  %5144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5145 = call i32 @s2n_print_stacktrace(ptr noundef %5144) #12
  %5146 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5147 = trunc nuw i8 %5146 to i1
  br i1 %5147, label %5148, label %5152

5148:                                             ; preds = %5142
  %5149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5150 = call i32 @fileno(ptr noundef %5149) #12
  %5151 = call i32 @isatty(i32 noundef %5150) #12
  %.not580 = icmp eq i32 %5151, 0
  br i1 %.not580, label %5152, label %5153

5152:                                             ; preds = %5148, %5142
  br label %5153

5153:                                             ; preds = %5148, %5152
  %.str.5.sink2806 = phi ptr [ @.str.5, %5152 ], [ @.str.2, %5148 ]
  store i32 %5143, ptr %959, align 4, !tbaa !5
  %5154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5155 = load i32, ptr @test_count, align 4, !tbaa !5
  %5156 = load i32, ptr %905, align 4, !tbaa !5
  %5157 = call ptr @s2n_strerror(i32 noundef %5156, ptr noundef nonnull @.str.4) #12
  %5158 = load i32, ptr %905, align 4, !tbaa !5
  %5159 = call ptr @s2n_strerror_debug(i32 noundef %5158, ptr noundef nonnull @.str.4) #12
  %5160 = load i32, ptr %959, align 4, !tbaa !5
  %5161 = call ptr @strerror(i32 noundef %5160) #12
  %5162 = load i32, ptr %959, align 4, !tbaa !5
  %5163 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5154, ptr noundef nonnull %.str.5.sink2806, i32 noundef %5155, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.1, i32 noundef 455, ptr noundef %5157, ptr noundef %5159, ptr noundef %5161, i32 noundef %5162) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5164:                                             ; preds = %5135, %5134
  %5165 = icmp ult i64 %.0493, %.1492
  br i1 %5165, label %.lr.ph.preheader, label %._crit_edge

.lr.ph.preheader:                                 ; preds = %5164
  %.pre1043 = load i32, ptr @test_count, align 4, !tbaa !5
  br label %.lr.ph

5166:                                             ; preds = %5329
  %5167 = add nuw nsw i64 %.1494969, 1
  %exitcond1039.not = icmp eq i64 %5167, %.1492
  br i1 %exitcond1039.not, label %._crit_edge, label %.lr.ph, !llvm.loop !48

.lr.ph:                                           ; preds = %.lr.ph.preheader, %5166
  %5168 = phi i32 [ %5330, %5166 ], [ %.pre1043, %.lr.ph.preheader ]
  %.1494969 = phi i64 [ %5167, %5166 ], [ %.0493, %.lr.ph.preheader ]
  %5169 = add nsw i32 %5168, 1
  store i32 %5169, ptr @test_count, align 4, !tbaa !5
  %5170 = load ptr, ptr %43, align 8, !tbaa !9
  %5171 = call i32 @s2n_renegotiate(ptr noundef %5170, ptr noundef nonnull %46, i64 noundef 20, ptr noundef nonnull %45, ptr noundef nonnull %6) #12
  %5172 = icmp eq i32 %5171, -1
  br i1 %5172, label %5195, label %5173

5173:                                             ; preds = %.lr.ph
  %5174 = load i32, ptr %959, align 4, !tbaa !5
  %5175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5176 = call i32 @s2n_print_stacktrace(ptr noundef %5175) #12
  %5177 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5178 = trunc nuw i8 %5177 to i1
  br i1 %5178, label %5179, label %5183

5179:                                             ; preds = %5173
  %5180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5181 = call i32 @fileno(ptr noundef %5180) #12
  %5182 = call i32 @isatty(i32 noundef %5181) #12
  %.not591 = icmp eq i32 %5182, 0
  br i1 %.not591, label %5183, label %5184

5183:                                             ; preds = %5179, %5173
  br label %5184

5184:                                             ; preds = %5179, %5183
  %.str.5.sink2815 = phi ptr [ @.str.5, %5183 ], [ @.str.2, %5179 ]
  store i32 %5174, ptr %959, align 4, !tbaa !5
  %5185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5186 = load i32, ptr @test_count, align 4, !tbaa !5
  %5187 = load i32, ptr %905, align 4, !tbaa !5
  %5188 = call ptr @s2n_strerror(i32 noundef %5187, ptr noundef nonnull @.str.4) #12
  %5189 = load i32, ptr %905, align 4, !tbaa !5
  %5190 = call ptr @s2n_strerror_debug(i32 noundef %5189, ptr noundef nonnull @.str.4) #12
  %5191 = load i32, ptr %959, align 4, !tbaa !5
  %5192 = call ptr @strerror(i32 noundef %5191) #12
  %5193 = load i32, ptr %959, align 4, !tbaa !5
  %5194 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5185, ptr noundef nonnull %.str.5.sink2815, i32 noundef %5186, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 462, ptr noundef %5188, ptr noundef %5190, ptr noundef %5192, i32 noundef %5193) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5195:                                             ; preds = %.lr.ph
  %5196 = load i32, ptr @test_count, align 4, !tbaa !5
  %5197 = add nsw i32 %5196, 1
  store i32 %5197, ptr @test_count, align 4, !tbaa !5
  %5198 = load i32, ptr %905, align 4, !tbaa !5
  %5199 = icmp eq i32 %5198, 201326595
  br i1 %5199, label %5222, label %5200

5200:                                             ; preds = %5195
  %5201 = load i32, ptr %959, align 4, !tbaa !5
  %5202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5203 = call i32 @s2n_print_stacktrace(ptr noundef %5202) #12
  %5204 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5205 = trunc nuw i8 %5204 to i1
  br i1 %5205, label %5206, label %5210

5206:                                             ; preds = %5200
  %5207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5208 = call i32 @fileno(ptr noundef %5207) #12
  %5209 = call i32 @isatty(i32 noundef %5208) #12
  %.not592 = icmp eq i32 %5209, 0
  br i1 %.not592, label %5210, label %5211

5210:                                             ; preds = %5206, %5200
  br label %5211

5211:                                             ; preds = %5206, %5210
  %.str.5.sink2824 = phi ptr [ @.str.5, %5210 ], [ @.str.2, %5206 ]
  store i32 %5201, ptr %959, align 4, !tbaa !5
  %5212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5213 = load i32, ptr @test_count, align 4, !tbaa !5
  %5214 = load i32, ptr %905, align 4, !tbaa !5
  %5215 = call ptr @s2n_strerror(i32 noundef %5214, ptr noundef nonnull @.str.4) #12
  %5216 = load i32, ptr %905, align 4, !tbaa !5
  %5217 = call ptr @s2n_strerror_debug(i32 noundef %5216, ptr noundef nonnull @.str.4) #12
  %5218 = load i32, ptr %959, align 4, !tbaa !5
  %5219 = call ptr @strerror(i32 noundef %5218) #12
  %5220 = load i32, ptr %959, align 4, !tbaa !5
  %5221 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5212, ptr noundef nonnull %.str.5.sink2824, i32 noundef %5213, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 462, ptr noundef %5215, ptr noundef %5217, ptr noundef %5219, i32 noundef %5220) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5222:                                             ; preds = %5195
  %5223 = add nsw i32 %5196, 2
  store i32 %5223, ptr @test_count, align 4, !tbaa !5
  %5224 = call ptr @s2n_strerror_debug(i32 noundef 201326595, ptr noundef nonnull @.str.4) #12
  %5225 = icmp eq ptr %5224, null
  br i1 %5225, label %5226, label %5248

5226:                                             ; preds = %5222
  %5227 = load i32, ptr %959, align 4, !tbaa !5
  %5228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5229 = call i32 @s2n_print_stacktrace(ptr noundef %5228) #12
  %5230 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5231 = trunc nuw i8 %5230 to i1
  br i1 %5231, label %5232, label %5236

5232:                                             ; preds = %5226
  %5233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5234 = call i32 @fileno(ptr noundef %5233) #12
  %5235 = call i32 @isatty(i32 noundef %5234) #12
  %.not598 = icmp eq i32 %5235, 0
  br i1 %.not598, label %5236, label %5237

5236:                                             ; preds = %5232, %5226
  br label %5237

5237:                                             ; preds = %5232, %5236
  %.str.5.sink2833 = phi ptr [ @.str.5, %5236 ], [ @.str.2, %5232 ]
  store i32 %5227, ptr %959, align 4, !tbaa !5
  %5238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5239 = load i32, ptr @test_count, align 4, !tbaa !5
  %5240 = load i32, ptr %905, align 4, !tbaa !5
  %5241 = call ptr @s2n_strerror(i32 noundef %5240, ptr noundef nonnull @.str.4) #12
  %5242 = load i32, ptr %905, align 4, !tbaa !5
  %5243 = call ptr @s2n_strerror_debug(i32 noundef %5242, ptr noundef nonnull @.str.4) #12
  %5244 = load i32, ptr %959, align 4, !tbaa !5
  %5245 = call ptr @strerror(i32 noundef %5244) #12
  %5246 = load i32, ptr %959, align 4, !tbaa !5
  %5247 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5238, ptr noundef nonnull %.str.5.sink2833, i32 noundef %5239, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 462, ptr noundef %5241, ptr noundef %5243, ptr noundef %5245, i32 noundef %5246) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5248:                                             ; preds = %5222
  store i32 0, ptr %905, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %959, align 4, !tbaa !5
  %5249 = load i32, ptr @test_count, align 4, !tbaa !5
  %5250 = add nsw i32 %5249, 1
  store i32 %5250, ptr @test_count, align 4, !tbaa !5
  %5251 = load i32, ptr %6, align 4, !tbaa !5
  %5252 = icmp eq i32 %5251, %962
  br i1 %5252, label %5275, label %5253

5253:                                             ; preds = %5248
  %5254 = load i32, ptr %959, align 4, !tbaa !5
  %5255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5256 = call i32 @s2n_print_stacktrace(ptr noundef %5255) #12
  %5257 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5258 = trunc nuw i8 %5257 to i1
  br i1 %5258, label %5259, label %5263

5259:                                             ; preds = %5253
  %5260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5261 = call i32 @fileno(ptr noundef %5260) #12
  %5262 = call i32 @isatty(i32 noundef %5261) #12
  %.not593 = icmp eq i32 %5262, 0
  br i1 %.not593, label %5263, label %5264

5263:                                             ; preds = %5259, %5253
  br label %5264

5264:                                             ; preds = %5259, %5263
  %.str.5.sink2842 = phi ptr [ @.str.5, %5263 ], [ @.str.2, %5259 ]
  store i32 %5254, ptr %959, align 4, !tbaa !5
  %5265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5266 = load i32, ptr @test_count, align 4, !tbaa !5
  %5267 = load i32, ptr %905, align 4, !tbaa !5
  %5268 = call ptr @s2n_strerror(i32 noundef %5267, ptr noundef nonnull @.str.4) #12
  %5269 = load i32, ptr %905, align 4, !tbaa !5
  %5270 = call ptr @s2n_strerror_debug(i32 noundef %5269, ptr noundef nonnull @.str.4) #12
  %5271 = load i32, ptr %959, align 4, !tbaa !5
  %5272 = call ptr @strerror(i32 noundef %5271) #12
  %5273 = load i32, ptr %959, align 4, !tbaa !5
  %5274 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5265, ptr noundef nonnull %.str.5.sink2842, i32 noundef %5266, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 463, ptr noundef %5268, ptr noundef %5270, ptr noundef %5272, i32 noundef %5273) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5275:                                             ; preds = %5248
  %5276 = add nsw i32 %5249, 2
  store i32 %5276, ptr @test_count, align 4, !tbaa !5
  %5277 = load ptr, ptr %43, align 8, !tbaa !9
  %5278 = call i32 @s2n_conn_get_current_message_type(ptr noundef %5277) #12
  %5279 = icmp eq i32 %5278, 1
  br i1 %5279, label %5302, label %5280

5280:                                             ; preds = %5275
  %5281 = load i32, ptr %959, align 4, !tbaa !5
  %5282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5283 = call i32 @s2n_print_stacktrace(ptr noundef %5282) #12
  %5284 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5285 = trunc nuw i8 %5284 to i1
  br i1 %5285, label %5286, label %5290

5286:                                             ; preds = %5280
  %5287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5288 = call i32 @fileno(ptr noundef %5287) #12
  %5289 = call i32 @isatty(i32 noundef %5288) #12
  %.not594 = icmp eq i32 %5289, 0
  br i1 %.not594, label %5290, label %5291

5290:                                             ; preds = %5286, %5280
  br label %5291

5291:                                             ; preds = %5286, %5290
  %.str.5.sink2851 = phi ptr [ @.str.5, %5290 ], [ @.str.2, %5286 ]
  store i32 %5281, ptr %959, align 4, !tbaa !5
  %5292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5293 = load i32, ptr @test_count, align 4, !tbaa !5
  %5294 = load i32, ptr %905, align 4, !tbaa !5
  %5295 = call ptr @s2n_strerror(i32 noundef %5294, ptr noundef nonnull @.str.4) #12
  %5296 = load i32, ptr %905, align 4, !tbaa !5
  %5297 = call ptr @s2n_strerror_debug(i32 noundef %5296, ptr noundef nonnull @.str.4) #12
  %5298 = load i32, ptr %959, align 4, !tbaa !5
  %5299 = call ptr @strerror(i32 noundef %5298) #12
  %5300 = load i32, ptr %959, align 4, !tbaa !5
  %5301 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5292, ptr noundef nonnull %.str.5.sink2851, i32 noundef %5293, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 464, ptr noundef %5295, ptr noundef %5297, ptr noundef %5299, i32 noundef %5300) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5302:                                             ; preds = %5275
  %5303 = load i32, ptr @test_count, align 4, !tbaa !5
  %5304 = add nsw i32 %5303, 1
  store i32 %5304, ptr @test_count, align 4, !tbaa !5
  %5305 = load i64, ptr %45, align 8, !tbaa !15
  %5306 = icmp eq i64 %5305, 10
  br i1 %5306, label %5329, label %5307

5307:                                             ; preds = %5302
  %5308 = load i32, ptr %959, align 4, !tbaa !5
  %5309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5310 = call i32 @s2n_print_stacktrace(ptr noundef %5309) #12
  %5311 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5312 = trunc nuw i8 %5311 to i1
  br i1 %5312, label %5313, label %5317

5313:                                             ; preds = %5307
  %5314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5315 = call i32 @fileno(ptr noundef %5314) #12
  %5316 = call i32 @isatty(i32 noundef %5315) #12
  %.not595 = icmp eq i32 %5316, 0
  br i1 %.not595, label %5317, label %5318

5317:                                             ; preds = %5313, %5307
  br label %5318

5318:                                             ; preds = %5313, %5317
  %.str.5.sink2860 = phi ptr [ @.str.5, %5317 ], [ @.str.2, %5313 ]
  store i32 %5308, ptr %959, align 4, !tbaa !5
  %5319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5320 = load i32, ptr @test_count, align 4, !tbaa !5
  %5321 = load i32, ptr %905, align 4, !tbaa !5
  %5322 = call ptr @s2n_strerror(i32 noundef %5321, ptr noundef nonnull @.str.4) #12
  %5323 = load i32, ptr %905, align 4, !tbaa !5
  %5324 = call ptr @s2n_strerror_debug(i32 noundef %5323, ptr noundef nonnull @.str.4) #12
  %5325 = load i32, ptr %959, align 4, !tbaa !5
  %5326 = call ptr @strerror(i32 noundef %5325) #12
  %5327 = load i32, ptr %959, align 4, !tbaa !5
  %5328 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5319, ptr noundef nonnull %.str.5.sink2860, i32 noundef %5320, ptr noundef nonnull @.str.53, ptr noundef nonnull @.str.1, i32 noundef 465, ptr noundef %5322, ptr noundef %5324, ptr noundef %5326, i32 noundef %5327) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5329:                                             ; preds = %5302
  %5330 = add nsw i32 %5303, 2
  store i32 %5330, ptr @test_count, align 4, !tbaa !5
  %5331 = getelementptr inbounds [3 x [10 x i8]], ptr %41, i64 0, i64 %.1494969
  %bcmp596 = call i32 @bcmp(ptr noundef nonnull dereferenceable(10) %46, ptr noundef nonnull dereferenceable(10) %5331, i64 10)
  %5332 = icmp eq i32 %bcmp596, 0
  br i1 %5332, label %5166, label %5333

5333:                                             ; preds = %5329
  %5334 = load i32, ptr %959, align 4, !tbaa !5
  %5335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5336 = call i32 @s2n_print_stacktrace(ptr noundef %5335) #12
  %5337 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5338 = trunc nuw i8 %5337 to i1
  br i1 %5338, label %5339, label %5343

5339:                                             ; preds = %5333
  %5340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5341 = call i32 @fileno(ptr noundef %5340) #12
  %5342 = call i32 @isatty(i32 noundef %5341) #12
  %.not597 = icmp eq i32 %5342, 0
  br i1 %.not597, label %5343, label %5344

5343:                                             ; preds = %5339, %5333
  br label %5344

5344:                                             ; preds = %5339, %5343
  %.str.5.sink2869 = phi ptr [ @.str.5, %5343 ], [ @.str.2, %5339 ]
  store i32 %5334, ptr %959, align 4, !tbaa !5
  %5345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5346 = load i32, ptr @test_count, align 4, !tbaa !5
  %5347 = load i32, ptr %905, align 4, !tbaa !5
  %5348 = call ptr @s2n_strerror(i32 noundef %5347, ptr noundef nonnull @.str.4) #12
  %5349 = load i32, ptr %905, align 4, !tbaa !5
  %5350 = call ptr @s2n_strerror_debug(i32 noundef %5349, ptr noundef nonnull @.str.4) #12
  %5351 = load i32, ptr %959, align 4, !tbaa !5
  %5352 = call ptr @strerror(i32 noundef %5351) #12
  %5353 = load i32, ptr %959, align 4, !tbaa !5
  %5354 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5345, ptr noundef nonnull %.str.5.sink2869, i32 noundef %5346, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.1, i32 noundef 466, ptr noundef %5348, ptr noundef %5350, ptr noundef %5352, i32 noundef %5353) #14
  call void @exit(i32 noundef 1) #15
  unreachable

._crit_edge:                                      ; preds = %5166, %5164
  %.1484.lcssa = phi i1 [ %.0483973, %5164 ], [ true, %5166 ]
  %5355 = load ptr, ptr %43, align 8, !tbaa !9
  %5356 = call i32 @s2n_renegotiate(ptr noundef %5355, ptr noundef nonnull %46, i64 noundef 20, ptr noundef nonnull %45, ptr noundef nonnull %6) #12
  %5357 = load i32, ptr @test_count, align 4, !tbaa !5
  %5358 = add nsw i32 %5357, 1
  store i32 %5358, ptr @test_count, align 4, !tbaa !5
  %5359 = icmp eq i32 %5356, -1
  br i1 %.not579, label %5435, label %5360

5360:                                             ; preds = %._crit_edge
  br i1 %5359, label %5383, label %5361

5361:                                             ; preds = %5360
  %5362 = load i32, ptr %959, align 4, !tbaa !5
  %5363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5364 = call i32 @s2n_print_stacktrace(ptr noundef %5363) #12
  %5365 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5366 = trunc nuw i8 %5365 to i1
  br i1 %5366, label %5367, label %5371

5367:                                             ; preds = %5361
  %5368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5369 = call i32 @fileno(ptr noundef %5368) #12
  %5370 = call i32 @isatty(i32 noundef %5369) #12
  %.not587 = icmp eq i32 %5370, 0
  br i1 %.not587, label %5371, label %5372

5371:                                             ; preds = %5367, %5361
  br label %5372

5372:                                             ; preds = %5367, %5371
  %.str.5.sink2878 = phi ptr [ @.str.5, %5371 ], [ @.str.2, %5367 ]
  store i32 %5362, ptr %959, align 4, !tbaa !5
  %5373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5374 = load i32, ptr @test_count, align 4, !tbaa !5
  %5375 = load i32, ptr %905, align 4, !tbaa !5
  %5376 = call ptr @s2n_strerror(i32 noundef %5375, ptr noundef nonnull @.str.4) #12
  %5377 = load i32, ptr %905, align 4, !tbaa !5
  %5378 = call ptr @s2n_strerror_debug(i32 noundef %5377, ptr noundef nonnull @.str.4) #12
  %5379 = load i32, ptr %959, align 4, !tbaa !5
  %5380 = call ptr @strerror(i32 noundef %5379) #12
  %5381 = load i32, ptr %959, align 4, !tbaa !5
  %5382 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5373, ptr noundef nonnull %.str.5.sink2878, i32 noundef %5374, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.1, i32 noundef 477, ptr noundef %5376, ptr noundef %5378, ptr noundef %5380, i32 noundef %5381) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5383:                                             ; preds = %5360
  %5384 = add nsw i32 %5357, 2
  store i32 %5384, ptr @test_count, align 4, !tbaa !5
  %5385 = load i32, ptr %905, align 4, !tbaa !5
  %5386 = icmp eq i32 %5385, 335544322
  br i1 %5386, label %5409, label %5387

5387:                                             ; preds = %5383
  %5388 = load i32, ptr %959, align 4, !tbaa !5
  %5389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5390 = call i32 @s2n_print_stacktrace(ptr noundef %5389) #12
  %5391 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5392 = trunc nuw i8 %5391 to i1
  br i1 %5392, label %5393, label %5397

5393:                                             ; preds = %5387
  %5394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5395 = call i32 @fileno(ptr noundef %5394) #12
  %5396 = call i32 @isatty(i32 noundef %5395) #12
  %.not588 = icmp eq i32 %5396, 0
  br i1 %.not588, label %5397, label %5398

5397:                                             ; preds = %5393, %5387
  br label %5398

5398:                                             ; preds = %5393, %5397
  %.str.5.sink2887 = phi ptr [ @.str.5, %5397 ], [ @.str.2, %5393 ]
  store i32 %5388, ptr %959, align 4, !tbaa !5
  %5399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5400 = load i32, ptr @test_count, align 4, !tbaa !5
  %5401 = load i32, ptr %905, align 4, !tbaa !5
  %5402 = call ptr @s2n_strerror(i32 noundef %5401, ptr noundef nonnull @.str.4) #12
  %5403 = load i32, ptr %905, align 4, !tbaa !5
  %5404 = call ptr @s2n_strerror_debug(i32 noundef %5403, ptr noundef nonnull @.str.4) #12
  %5405 = load i32, ptr %959, align 4, !tbaa !5
  %5406 = call ptr @strerror(i32 noundef %5405) #12
  %5407 = load i32, ptr %959, align 4, !tbaa !5
  %5408 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5399, ptr noundef nonnull %.str.5.sink2887, i32 noundef %5400, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.1, i32 noundef 477, ptr noundef %5402, ptr noundef %5404, ptr noundef %5406, i32 noundef %5407) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5409:                                             ; preds = %5383
  %5410 = add nsw i32 %5357, 3
  store i32 %5410, ptr @test_count, align 4, !tbaa !5
  %5411 = call ptr @s2n_strerror_debug(i32 noundef 335544322, ptr noundef nonnull @.str.4) #12
  %5412 = icmp eq ptr %5411, null
  br i1 %5412, label %5413, label %5591

5413:                                             ; preds = %5409
  %5414 = load i32, ptr %959, align 4, !tbaa !5
  %5415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5416 = call i32 @s2n_print_stacktrace(ptr noundef %5415) #12
  %5417 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5418 = trunc nuw i8 %5417 to i1
  br i1 %5418, label %5419, label %5423

5419:                                             ; preds = %5413
  %5420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5421 = call i32 @fileno(ptr noundef %5420) #12
  %5422 = call i32 @isatty(i32 noundef %5421) #12
  %.not590 = icmp eq i32 %5422, 0
  br i1 %.not590, label %5423, label %5424

5423:                                             ; preds = %5419, %5413
  br label %5424

5424:                                             ; preds = %5419, %5423
  %.str.5.sink2896 = phi ptr [ @.str.5, %5423 ], [ @.str.2, %5419 ]
  store i32 %5414, ptr %959, align 4, !tbaa !5
  %5425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5426 = load i32, ptr @test_count, align 4, !tbaa !5
  %5427 = load i32, ptr %905, align 4, !tbaa !5
  %5428 = call ptr @s2n_strerror(i32 noundef %5427, ptr noundef nonnull @.str.4) #12
  %5429 = load i32, ptr %905, align 4, !tbaa !5
  %5430 = call ptr @s2n_strerror_debug(i32 noundef %5429, ptr noundef nonnull @.str.4) #12
  %5431 = load i32, ptr %959, align 4, !tbaa !5
  %5432 = call ptr @strerror(i32 noundef %5431) #12
  %5433 = load i32, ptr %959, align 4, !tbaa !5
  %5434 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5425, ptr noundef nonnull %.str.5.sink2896, i32 noundef %5426, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 477, ptr noundef %5428, ptr noundef %5430, ptr noundef %5432, i32 noundef %5433) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5435:                                             ; preds = %._crit_edge
  br i1 %5359, label %5458, label %5436

5436:                                             ; preds = %5435
  %5437 = load i32, ptr %959, align 4, !tbaa !5
  %5438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5439 = call i32 @s2n_print_stacktrace(ptr noundef %5438) #12
  %5440 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5441 = trunc nuw i8 %5440 to i1
  br i1 %5441, label %5442, label %5446

5442:                                             ; preds = %5436
  %5443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5444 = call i32 @fileno(ptr noundef %5443) #12
  %5445 = call i32 @isatty(i32 noundef %5444) #12
  %.not581 = icmp eq i32 %5445, 0
  br i1 %.not581, label %5446, label %5447

5446:                                             ; preds = %5442, %5436
  br label %5447

5447:                                             ; preds = %5442, %5446
  %.str.5.sink2905 = phi ptr [ @.str.5, %5446 ], [ @.str.2, %5442 ]
  store i32 %5437, ptr %959, align 4, !tbaa !5
  %5448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5449 = load i32, ptr @test_count, align 4, !tbaa !5
  %5450 = load i32, ptr %905, align 4, !tbaa !5
  %5451 = call ptr @s2n_strerror(i32 noundef %5450, ptr noundef nonnull @.str.4) #12
  %5452 = load i32, ptr %905, align 4, !tbaa !5
  %5453 = call ptr @s2n_strerror_debug(i32 noundef %5452, ptr noundef nonnull @.str.4) #12
  %5454 = load i32, ptr %959, align 4, !tbaa !5
  %5455 = call ptr @strerror(i32 noundef %5454) #12
  %5456 = load i32, ptr %959, align 4, !tbaa !5
  %5457 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5448, ptr noundef nonnull %.str.5.sink2905, i32 noundef %5449, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.1, i32 noundef 482, ptr noundef %5451, ptr noundef %5453, ptr noundef %5455, i32 noundef %5456) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5458:                                             ; preds = %5435
  %5459 = add nsw i32 %5357, 2
  store i32 %5459, ptr @test_count, align 4, !tbaa !5
  %5460 = load i32, ptr %905, align 4, !tbaa !5
  %5461 = icmp eq i32 %5460, 201326592
  br i1 %5461, label %5484, label %5462

5462:                                             ; preds = %5458
  %5463 = load i32, ptr %959, align 4, !tbaa !5
  %5464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5465 = call i32 @s2n_print_stacktrace(ptr noundef %5464) #12
  %5466 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5467 = trunc nuw i8 %5466 to i1
  br i1 %5467, label %5468, label %5472

5468:                                             ; preds = %5462
  %5469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5470 = call i32 @fileno(ptr noundef %5469) #12
  %5471 = call i32 @isatty(i32 noundef %5470) #12
  %.not582 = icmp eq i32 %5471, 0
  br i1 %.not582, label %5472, label %5473

5472:                                             ; preds = %5468, %5462
  br label %5473

5473:                                             ; preds = %5468, %5472
  %.str.5.sink2914 = phi ptr [ @.str.5, %5472 ], [ @.str.2, %5468 ]
  store i32 %5463, ptr %959, align 4, !tbaa !5
  %5474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5475 = load i32, ptr @test_count, align 4, !tbaa !5
  %5476 = load i32, ptr %905, align 4, !tbaa !5
  %5477 = call ptr @s2n_strerror(i32 noundef %5476, ptr noundef nonnull @.str.4) #12
  %5478 = load i32, ptr %905, align 4, !tbaa !5
  %5479 = call ptr @s2n_strerror_debug(i32 noundef %5478, ptr noundef nonnull @.str.4) #12
  %5480 = load i32, ptr %959, align 4, !tbaa !5
  %5481 = call ptr @strerror(i32 noundef %5480) #12
  %5482 = load i32, ptr %959, align 4, !tbaa !5
  %5483 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5474, ptr noundef nonnull %.str.5.sink2914, i32 noundef %5475, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 482, ptr noundef %5477, ptr noundef %5479, ptr noundef %5481, i32 noundef %5482) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5484:                                             ; preds = %5458
  %5485 = add nsw i32 %5357, 3
  store i32 %5485, ptr @test_count, align 4, !tbaa !5
  %5486 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #12
  %5487 = icmp eq ptr %5486, null
  br i1 %5487, label %5488, label %5510

5488:                                             ; preds = %5484
  %5489 = load i32, ptr %959, align 4, !tbaa !5
  %5490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5491 = call i32 @s2n_print_stacktrace(ptr noundef %5490) #12
  %5492 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5493 = trunc nuw i8 %5492 to i1
  br i1 %5493, label %5494, label %5498

5494:                                             ; preds = %5488
  %5495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5496 = call i32 @fileno(ptr noundef %5495) #12
  %5497 = call i32 @isatty(i32 noundef %5496) #12
  %.not586 = icmp eq i32 %5497, 0
  br i1 %.not586, label %5498, label %5499

5498:                                             ; preds = %5494, %5488
  br label %5499

5499:                                             ; preds = %5494, %5498
  %.str.5.sink2923 = phi ptr [ @.str.5, %5498 ], [ @.str.2, %5494 ]
  store i32 %5489, ptr %959, align 4, !tbaa !5
  %5500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5501 = load i32, ptr @test_count, align 4, !tbaa !5
  %5502 = load i32, ptr %905, align 4, !tbaa !5
  %5503 = call ptr @s2n_strerror(i32 noundef %5502, ptr noundef nonnull @.str.4) #12
  %5504 = load i32, ptr %905, align 4, !tbaa !5
  %5505 = call ptr @s2n_strerror_debug(i32 noundef %5504, ptr noundef nonnull @.str.4) #12
  %5506 = load i32, ptr %959, align 4, !tbaa !5
  %5507 = call ptr @strerror(i32 noundef %5506) #12
  %5508 = load i32, ptr %959, align 4, !tbaa !5
  %5509 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5500, ptr noundef nonnull %.str.5.sink2923, i32 noundef %5501, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 482, ptr noundef %5503, ptr noundef %5505, ptr noundef %5507, i32 noundef %5508) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5510:                                             ; preds = %5484
  store i32 0, ptr %905, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %959, align 4, !tbaa !5
  %5511 = load i32, ptr @test_count, align 4, !tbaa !5
  %5512 = add nsw i32 %5511, 1
  store i32 %5512, ptr @test_count, align 4, !tbaa !5
  %5513 = load i32, ptr %6, align 4, !tbaa !5
  %5514 = icmp eq i32 %5513, 1
  br i1 %5514, label %5537, label %5515

5515:                                             ; preds = %5510
  %5516 = load i32, ptr %959, align 4, !tbaa !5
  %5517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5518 = call i32 @s2n_print_stacktrace(ptr noundef %5517) #12
  %5519 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5520 = trunc nuw i8 %5519 to i1
  br i1 %5520, label %5521, label %5525

5521:                                             ; preds = %5515
  %5522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5523 = call i32 @fileno(ptr noundef %5522) #12
  %5524 = call i32 @isatty(i32 noundef %5523) #12
  %.not583 = icmp eq i32 %5524, 0
  br i1 %.not583, label %5525, label %5526

5525:                                             ; preds = %5521, %5515
  br label %5526

5526:                                             ; preds = %5521, %5525
  %.str.5.sink2932 = phi ptr [ @.str.5, %5525 ], [ @.str.2, %5521 ]
  store i32 %5516, ptr %959, align 4, !tbaa !5
  %5527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5528 = load i32, ptr @test_count, align 4, !tbaa !5
  %5529 = load i32, ptr %905, align 4, !tbaa !5
  %5530 = call ptr @s2n_strerror(i32 noundef %5529, ptr noundef nonnull @.str.4) #12
  %5531 = load i32, ptr %905, align 4, !tbaa !5
  %5532 = call ptr @s2n_strerror_debug(i32 noundef %5531, ptr noundef nonnull @.str.4) #12
  %5533 = load i32, ptr %959, align 4, !tbaa !5
  %5534 = call ptr @strerror(i32 noundef %5533) #12
  %5535 = load i32, ptr %959, align 4, !tbaa !5
  %5536 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5527, ptr noundef nonnull %.str.5.sink2932, i32 noundef %5528, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 483, ptr noundef %5530, ptr noundef %5532, ptr noundef %5534, i32 noundef %5535) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5537:                                             ; preds = %5510
  %5538 = add nsw i32 %5511, 2
  store i32 %5538, ptr @test_count, align 4, !tbaa !5
  %5539 = load ptr, ptr %43, align 8, !tbaa !9
  %5540 = call i32 @s2n_conn_get_current_message_type(ptr noundef %5539) #12
  %5541 = icmp eq i32 %5540, 1
  br i1 %5541, label %5542, label %5564

5542:                                             ; preds = %5537
  %5543 = load i32, ptr %959, align 4, !tbaa !5
  %5544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5545 = call i32 @s2n_print_stacktrace(ptr noundef %5544) #12
  %5546 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5547 = trunc nuw i8 %5546 to i1
  br i1 %5547, label %5548, label %5552

5548:                                             ; preds = %5542
  %5549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5550 = call i32 @fileno(ptr noundef %5549) #12
  %5551 = call i32 @isatty(i32 noundef %5550) #12
  %.not585 = icmp eq i32 %5551, 0
  br i1 %.not585, label %5552, label %5553

5552:                                             ; preds = %5548, %5542
  br label %5553

5553:                                             ; preds = %5548, %5552
  %.str.5.sink2941 = phi ptr [ @.str.5, %5552 ], [ @.str.2, %5548 ]
  store i32 %5543, ptr %959, align 4, !tbaa !5
  %5554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5555 = load i32, ptr @test_count, align 4, !tbaa !5
  %5556 = load i32, ptr %905, align 4, !tbaa !5
  %5557 = call ptr @s2n_strerror(i32 noundef %5556, ptr noundef nonnull @.str.4) #12
  %5558 = load i32, ptr %905, align 4, !tbaa !5
  %5559 = call ptr @s2n_strerror_debug(i32 noundef %5558, ptr noundef nonnull @.str.4) #12
  %5560 = load i32, ptr %959, align 4, !tbaa !5
  %5561 = call ptr @strerror(i32 noundef %5560) #12
  %5562 = load i32, ptr %959, align 4, !tbaa !5
  %5563 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5554, ptr noundef nonnull %.str.5.sink2941, i32 noundef %5555, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 484, ptr noundef %5557, ptr noundef %5559, ptr noundef %5561, i32 noundef %5562) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5564:                                             ; preds = %5537
  %5565 = load i32, ptr @test_count, align 4, !tbaa !5
  %5566 = add nsw i32 %5565, 1
  store i32 %5566, ptr @test_count, align 4, !tbaa !5
  %5567 = load ptr, ptr %43, align 8, !tbaa !9
  %5568 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %5567, i32 noundef 1) #12
  br i1 %5568, label %5592, label %5569

5569:                                             ; preds = %5564
  %5570 = load i32, ptr %959, align 4, !tbaa !5
  %5571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5572 = call i32 @s2n_print_stacktrace(ptr noundef %5571) #12
  %5573 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5574 = trunc nuw i8 %5573 to i1
  br i1 %5574, label %5575, label %5579

5575:                                             ; preds = %5569
  %5576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5577 = call i32 @fileno(ptr noundef %5576) #12
  %5578 = call i32 @isatty(i32 noundef %5577) #12
  %.not584 = icmp eq i32 %5578, 0
  br i1 %.not584, label %5579, label %5580

5579:                                             ; preds = %5575, %5569
  br label %5580

5580:                                             ; preds = %5575, %5579
  %.str.5.sink2950 = phi ptr [ @.str.5, %5579 ], [ @.str.2, %5575 ]
  store i32 %5570, ptr %959, align 4, !tbaa !5
  %5581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5582 = load i32, ptr @test_count, align 4, !tbaa !5
  %5583 = load i32, ptr %905, align 4, !tbaa !5
  %5584 = call ptr @s2n_strerror(i32 noundef %5583, ptr noundef nonnull @.str.4) #12
  %5585 = load i32, ptr %905, align 4, !tbaa !5
  %5586 = call ptr @s2n_strerror_debug(i32 noundef %5585, ptr noundef nonnull @.str.4) #12
  %5587 = load i32, ptr %959, align 4, !tbaa !5
  %5588 = call ptr @strerror(i32 noundef %5587) #12
  %5589 = load i32, ptr %959, align 4, !tbaa !5
  %5590 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5581, ptr noundef nonnull %.str.5.sink2950, i32 noundef %5582, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.1, i32 noundef 485, ptr noundef %5584, ptr noundef %5586, ptr noundef %5588, i32 noundef %5589) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5591:                                             ; preds = %5409
  store i32 0, ptr %905, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %959, align 4, !tbaa !5
  br label %5621

5592:                                             ; preds = %5564
  %5593 = load i32, ptr @test_count, align 4, !tbaa !5
  %5594 = add nsw i32 %5593, 1
  store i32 %5594, ptr @test_count, align 4, !tbaa !5
  %5595 = load ptr, ptr %42, align 8, !tbaa !9
  %5596 = load ptr, ptr %43, align 8, !tbaa !9
  %5597 = call i32 @s2n_renegotiate_test_server_and_client(ptr noundef %5595, ptr noundef %5596)
  %5598 = call zeroext i1 @s2n_result_is_ok(i32 %5597)
  br i1 %5598, label %5621, label %5599

5599:                                             ; preds = %5592
  %5600 = load i32, ptr %959, align 4, !tbaa !5
  %5601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5602 = call i32 @s2n_print_stacktrace(ptr noundef %5601) #12
  %5603 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5604 = trunc nuw i8 %5603 to i1
  br i1 %5604, label %5605, label %5609

5605:                                             ; preds = %5599
  %5606 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5607 = call i32 @fileno(ptr noundef %5606) #12
  %5608 = call i32 @isatty(i32 noundef %5607) #12
  %.not589 = icmp eq i32 %5608, 0
  br i1 %.not589, label %5609, label %5610

5609:                                             ; preds = %5605, %5599
  br label %5610

5610:                                             ; preds = %5605, %5609
  %.str.5.sink2959 = phi ptr [ @.str.5, %5609 ], [ @.str.2, %5605 ]
  store i32 %5600, ptr %959, align 4, !tbaa !5
  %5611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5612 = load i32, ptr @test_count, align 4, !tbaa !5
  %5613 = load i32, ptr %905, align 4, !tbaa !5
  %5614 = call ptr @s2n_strerror(i32 noundef %5613, ptr noundef nonnull @.str.4) #12
  %5615 = load i32, ptr %905, align 4, !tbaa !5
  %5616 = call ptr @s2n_strerror_debug(i32 noundef %5615, ptr noundef nonnull @.str.4) #12
  %5617 = load i32, ptr %959, align 4, !tbaa !5
  %5618 = call ptr @strerror(i32 noundef %5617) #12
  %5619 = load i32, ptr %959, align 4, !tbaa !5
  %5620 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5611, ptr noundef nonnull %.str.5.sink2959, i32 noundef %5612, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 490, ptr noundef %5614, ptr noundef %5616, ptr noundef %5618, i32 noundef %5619) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5621:                                             ; preds = %5591, %5592
  %.1486719 = phi i1 [ %.0485972, %5592 ], [ true, %5591 ]
  %.1488717 = phi i1 [ true, %5592 ], [ %.0487971, %5591 ]
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %46) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %45) #12
  %5622 = call i32 @s2n_io_pair_close(ptr noundef nonnull %44) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %44) #12
  %5623 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %43) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %43) #12
  %5624 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %42) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %42) #12
  %5625 = add nuw nsw i64 %.0489970, 1
  %exitcond1040.not = icmp eq i64 %5625, 8
  br i1 %exitcond1040.not, label %4344, label %4347, !llvm.loop !49

5626:                                             ; preds = %4344
  %5627 = load i32, ptr %959, align 4, !tbaa !5
  %5628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5629 = call i32 @s2n_print_stacktrace(ptr noundef %5628) #12
  %5630 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5631 = trunc nuw i8 %5630 to i1
  br i1 %5631, label %5632, label %5636

5632:                                             ; preds = %5626
  %5633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5634 = call i32 @fileno(ptr noundef %5633) #12
  %5635 = call i32 @isatty(i32 noundef %5634) #12
  %.not549 = icmp eq i32 %5635, 0
  br i1 %.not549, label %5636, label %5637

5636:                                             ; preds = %5632, %5626
  br label %5637

5637:                                             ; preds = %5632, %5636
  %.str.5.sink2968 = phi ptr [ @.str.5, %5636 ], [ @.str.2, %5632 ]
  store i32 %5627, ptr %959, align 4, !tbaa !5
  %5638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5639 = load i32, ptr @test_count, align 4, !tbaa !5
  %5640 = load i32, ptr %905, align 4, !tbaa !5
  %5641 = call ptr @s2n_strerror(i32 noundef %5640, ptr noundef nonnull @.str.4) #12
  %5642 = load i32, ptr %905, align 4, !tbaa !5
  %5643 = call ptr @s2n_strerror_debug(i32 noundef %5642, ptr noundef nonnull @.str.4) #12
  %5644 = load i32, ptr %959, align 4, !tbaa !5
  %5645 = call ptr @strerror(i32 noundef %5644) #12
  %5646 = load i32, ptr %959, align 4, !tbaa !5
  %5647 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5638, ptr noundef nonnull %.str.5.sink2968, i32 noundef %5639, ptr noundef nonnull @.str.57, ptr noundef nonnull @.str.1, i32 noundef 493, ptr noundef %5641, ptr noundef %5643, ptr noundef %5645, i32 noundef %5646) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5648:                                             ; preds = %4344
  %5649 = add nsw i32 %4345, 2
  store i32 %5649, ptr @test_count, align 4, !tbaa !5
  br i1 %.1482, label %5672, label %5650

5650:                                             ; preds = %5648
  %5651 = load i32, ptr %959, align 4, !tbaa !5
  %5652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5653 = call i32 @s2n_print_stacktrace(ptr noundef %5652) #12
  %5654 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5655 = trunc nuw i8 %5654 to i1
  br i1 %5655, label %5656, label %5660

5656:                                             ; preds = %5650
  %5657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5658 = call i32 @fileno(ptr noundef %5657) #12
  %5659 = call i32 @isatty(i32 noundef %5658) #12
  %.not550 = icmp eq i32 %5659, 0
  br i1 %.not550, label %5660, label %5661

5660:                                             ; preds = %5656, %5650
  br label %5661

5661:                                             ; preds = %5656, %5660
  %.str.5.sink2977 = phi ptr [ @.str.5, %5660 ], [ @.str.2, %5656 ]
  store i32 %5651, ptr %959, align 4, !tbaa !5
  %5662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5663 = load i32, ptr @test_count, align 4, !tbaa !5
  %5664 = load i32, ptr %905, align 4, !tbaa !5
  %5665 = call ptr @s2n_strerror(i32 noundef %5664, ptr noundef nonnull @.str.4) #12
  %5666 = load i32, ptr %905, align 4, !tbaa !5
  %5667 = call ptr @s2n_strerror_debug(i32 noundef %5666, ptr noundef nonnull @.str.4) #12
  %5668 = load i32, ptr %959, align 4, !tbaa !5
  %5669 = call ptr @strerror(i32 noundef %5668) #12
  %5670 = load i32, ptr %959, align 4, !tbaa !5
  %5671 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5662, ptr noundef nonnull %.str.5.sink2977, i32 noundef %5663, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.1, i32 noundef 494, ptr noundef %5665, ptr noundef %5667, ptr noundef %5669, i32 noundef %5670) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5672:                                             ; preds = %5648
  %5673 = add nsw i32 %4345, 3
  store i32 %5673, ptr @test_count, align 4, !tbaa !5
  br i1 %.1484.lcssa, label %5696, label %5674

5674:                                             ; preds = %5672
  %5675 = load i32, ptr %959, align 4, !tbaa !5
  %5676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5677 = call i32 @s2n_print_stacktrace(ptr noundef %5676) #12
  %5678 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5679 = trunc nuw i8 %5678 to i1
  br i1 %5679, label %5680, label %5684

5680:                                             ; preds = %5674
  %5681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5682 = call i32 @fileno(ptr noundef %5681) #12
  %5683 = call i32 @isatty(i32 noundef %5682) #12
  %.not551 = icmp eq i32 %5683, 0
  br i1 %.not551, label %5684, label %5685

5684:                                             ; preds = %5680, %5674
  br label %5685

5685:                                             ; preds = %5680, %5684
  %.str.5.sink2986 = phi ptr [ @.str.5, %5684 ], [ @.str.2, %5680 ]
  store i32 %5675, ptr %959, align 4, !tbaa !5
  %5686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5687 = load i32, ptr @test_count, align 4, !tbaa !5
  %5688 = load i32, ptr %905, align 4, !tbaa !5
  %5689 = call ptr @s2n_strerror(i32 noundef %5688, ptr noundef nonnull @.str.4) #12
  %5690 = load i32, ptr %905, align 4, !tbaa !5
  %5691 = call ptr @s2n_strerror_debug(i32 noundef %5690, ptr noundef nonnull @.str.4) #12
  %5692 = load i32, ptr %959, align 4, !tbaa !5
  %5693 = call ptr @strerror(i32 noundef %5692) #12
  %5694 = load i32, ptr %959, align 4, !tbaa !5
  %5695 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5686, ptr noundef nonnull %.str.5.sink2986, i32 noundef %5687, ptr noundef nonnull @.str.59, ptr noundef nonnull @.str.1, i32 noundef 495, ptr noundef %5689, ptr noundef %5691, ptr noundef %5693, i32 noundef %5694) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5696:                                             ; preds = %5672
  %5697 = add nsw i32 %4345, 4
  store i32 %5697, ptr @test_count, align 4, !tbaa !5
  br i1 %.1486719, label %5720, label %5698

5698:                                             ; preds = %5696
  %5699 = load i32, ptr %959, align 4, !tbaa !5
  %5700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5701 = call i32 @s2n_print_stacktrace(ptr noundef %5700) #12
  %5702 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5703 = trunc nuw i8 %5702 to i1
  br i1 %5703, label %5704, label %5708

5704:                                             ; preds = %5698
  %5705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5706 = call i32 @fileno(ptr noundef %5705) #12
  %5707 = call i32 @isatty(i32 noundef %5706) #12
  %.not552 = icmp eq i32 %5707, 0
  br i1 %.not552, label %5708, label %5709

5708:                                             ; preds = %5704, %5698
  br label %5709

5709:                                             ; preds = %5704, %5708
  %.str.5.sink2995 = phi ptr [ @.str.5, %5708 ], [ @.str.2, %5704 ]
  store i32 %5699, ptr %959, align 4, !tbaa !5
  %5710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5711 = load i32, ptr @test_count, align 4, !tbaa !5
  %5712 = load i32, ptr %905, align 4, !tbaa !5
  %5713 = call ptr @s2n_strerror(i32 noundef %5712, ptr noundef nonnull @.str.4) #12
  %5714 = load i32, ptr %905, align 4, !tbaa !5
  %5715 = call ptr @s2n_strerror_debug(i32 noundef %5714, ptr noundef nonnull @.str.4) #12
  %5716 = load i32, ptr %959, align 4, !tbaa !5
  %5717 = call ptr @strerror(i32 noundef %5716) #12
  %5718 = load i32, ptr %959, align 4, !tbaa !5
  %5719 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5710, ptr noundef nonnull %.str.5.sink2995, i32 noundef %5711, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.1, i32 noundef 496, ptr noundef %5713, ptr noundef %5715, ptr noundef %5717, i32 noundef %5718) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5720:                                             ; preds = %5696
  %5721 = add nsw i32 %4345, 5
  store i32 %5721, ptr @test_count, align 4, !tbaa !5
  br i1 %.1488717, label %5744, label %5722

5722:                                             ; preds = %5720
  %5723 = load i32, ptr %959, 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
  %.not553 = icmp eq i32 %5731, 0
  br i1 %.not553, label %5732, label %5733

5732:                                             ; preds = %5728, %5722
  br label %5733

5733:                                             ; preds = %5728, %5732
  %.str.5.sink3004 = phi ptr [ @.str.5, %5732 ], [ @.str.2, %5728 ]
  store i32 %5723, ptr %959, 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 %905, align 4, !tbaa !5
  %5737 = call ptr @s2n_strerror(i32 noundef %5736, ptr noundef nonnull @.str.4) #12
  %5738 = load i32, ptr %905, align 4, !tbaa !5
  %5739 = call ptr @s2n_strerror_debug(i32 noundef %5738, ptr noundef nonnull @.str.4) #12
  %5740 = load i32, ptr %959, align 4, !tbaa !5
  %5741 = call ptr @strerror(i32 noundef %5740) #12
  %5742 = load i32, ptr %959, align 4, !tbaa !5
  %5743 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5734, ptr noundef nonnull %.str.5.sink3004, i32 noundef %5735, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.1, i32 noundef 497, ptr noundef %5737, ptr noundef %5739, ptr noundef %5741, i32 noundef %5742) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5744:                                             ; preds = %5720
  call void @llvm.lifetime.end.p0(i64 30, ptr nonnull %41) #12
  %5745 = call i32 @s2n_cleanup() #12
  %5746 = icmp eq i32 %5745, -1
  br i1 %5746, label %5747, label %5769

5747:                                             ; preds = %5744
  %5748 = load i32, ptr %959, align 4, !tbaa !5
  %5749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5750 = call i32 @s2n_print_stacktrace(ptr noundef %5749) #12
  %5751 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5752 = trunc nuw i8 %5751 to i1
  br i1 %5752, label %5753, label %5757

5753:                                             ; preds = %5747
  %5754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5755 = call i32 @fileno(ptr noundef %5754) #12
  %5756 = call i32 @isatty(i32 noundef %5755) #12
  %.not558 = icmp eq i32 %5756, 0
  br i1 %.not558, label %5757, label %5758

5757:                                             ; preds = %5753, %5747
  br label %5758

5758:                                             ; preds = %5753, %5757
  %.str.5.sink3013 = phi ptr [ @.str.5, %5757 ], [ @.str.2, %5753 ]
  store i32 %5748, ptr %959, align 4, !tbaa !5
  %5759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5760 = load i32, ptr @test_count, align 4, !tbaa !5
  %5761 = load i32, ptr %905, align 4, !tbaa !5
  %5762 = call ptr @s2n_strerror(i32 noundef %5761, ptr noundef nonnull @.str.4) #12
  %5763 = load i32, ptr %905, align 4, !tbaa !5
  %5764 = call ptr @s2n_strerror_debug(i32 noundef %5763, ptr noundef nonnull @.str.4) #12
  %5765 = load i32, ptr %959, align 4, !tbaa !5
  %5766 = call ptr @strerror(i32 noundef %5765) #12
  %5767 = load i32, ptr %959, align 4, !tbaa !5
  %5768 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5759, ptr noundef nonnull %.str.5.sink3013, i32 noundef %5760, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.1, i32 noundef 500, ptr noundef %5762, ptr noundef %5764, ptr noundef %5766, i32 noundef %5767) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5769:                                             ; preds = %5744
  %5770 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false) #12
  %5771 = icmp eq i32 %5770, -1
  br i1 %5771, label %5772, label %5794

5772:                                             ; preds = %5769
  %5773 = load i32, ptr %959, align 4, !tbaa !5
  %5774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5775 = call i32 @s2n_print_stacktrace(ptr noundef %5774) #12
  %5776 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5777 = trunc nuw i8 %5776 to i1
  br i1 %5777, label %5778, label %5782

5778:                                             ; preds = %5772
  %5779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5780 = call i32 @fileno(ptr noundef %5779) #12
  %5781 = call i32 @isatty(i32 noundef %5780) #12
  %.not557 = icmp eq i32 %5781, 0
  br i1 %.not557, label %5782, label %5783

5782:                                             ; preds = %5778, %5772
  br label %5783

5783:                                             ; preds = %5778, %5782
  %.str.5.sink3022 = phi ptr [ @.str.5, %5782 ], [ @.str.2, %5778 ]
  store i32 %5773, ptr %959, align 4, !tbaa !5
  %5784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5785 = load i32, ptr @test_count, align 4, !tbaa !5
  %5786 = load i32, ptr %905, align 4, !tbaa !5
  %5787 = call ptr @s2n_strerror(i32 noundef %5786, ptr noundef nonnull @.str.4) #12
  %5788 = load i32, ptr %905, align 4, !tbaa !5
  %5789 = call ptr @s2n_strerror_debug(i32 noundef %5788, ptr noundef nonnull @.str.4) #12
  %5790 = load i32, ptr %959, align 4, !tbaa !5
  %5791 = call ptr @strerror(i32 noundef %5790) #12
  %5792 = load i32, ptr %959, align 4, !tbaa !5
  %5793 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5784, ptr noundef nonnull %.str.5.sink3022, i32 noundef %5785, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.1, i32 noundef 500, ptr noundef %5787, ptr noundef %5789, ptr noundef %5791, i32 noundef %5792) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5794:                                             ; preds = %5769
  %5795 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5796 = trunc nuw i8 %5795 to i1
  br i1 %5796, label %5797, label %5808

5797:                                             ; preds = %5794
  %5798 = load ptr, ptr @stdout, align 8, !tbaa !9
  %5799 = call i32 @fileno(ptr noundef %5798) #12
  %5800 = call i32 @isatty(i32 noundef %5799) #12
  %.not554 = icmp eq i32 %5800, 0
  br i1 %.not554, label %5808, label %5801

5801:                                             ; preds = %5797
  %5802 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not556 = icmp eq i32 %5802, 0
  %5803 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not556, label %5806, label %5804

5804:                                             ; preds = %5801
  %5805 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5803, ptr noundef nonnull @.str.64, i32 noundef %5802) #12
  br label %5815

5806:                                             ; preds = %5801
  %5807 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5803, ptr noundef nonnull @.str.65) #12
  br label %5815

5808:                                             ; preds = %5797, %5794
  %5809 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not555 = icmp eq i32 %5809, 0
  %5810 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not555, label %5813, label %5811

5811:                                             ; preds = %5808
  %5812 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5810, ptr noundef nonnull @.str.66, i32 noundef %5809) #12
  br label %5815

5813:                                             ; preds = %5808
  %5814 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5810, ptr noundef nonnull @.str.67) #12
  br label %5815

5815:                                             ; preds = %5811, %5813, %5804, %5806
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %6) #12
  call void @llvm.lifetime.end.p0(i64 22, ptr nonnull %5) #12
  %5816 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %4) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %4) #12
  %5817 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef nonnull %3) #12
  call void @llvm.lifetime.end.p0(i64 8, 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

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_set_unsafe_for_testing(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

; 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 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_pair_close(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_io_pair_init_non_blocking(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connections_set_io_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

declare i32 @s2n_renegotiate_wipe(ptr noundef) local_unnamed_addr #2

; Function Attrs: inlinehint nounwind uwtable
declare hidden zeroext i1 @s2n_result_is_ok(i32) local_unnamed_addr #10

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_renegotiate_test_server_and_client(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_renegotiate(ptr noundef, ptr noundef, i64 noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

declare void @s2n_debug_info_reset() local_unnamed_addr #2

declare i32 @s2n_conn_get_current_message_type(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_negotiate(ptr noundef, ptr noundef) local_unnamed_addr #2

declare zeroext i1 @s2n_handshake_type_check_flag(ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_negotiate_until_message(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_stuffer_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_set_send_io_stuffer(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_stuffer_growable_alloc(ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_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, !16, i64 0}
!16 = !{!"long", !7, i64 0}
!17 = distinct !{!17, !18}
!18 = !{!"llvm.loop.mustprogress"}
!19 = distinct !{!19, !18}
!20 = !{!21, !6, i64 2172}
!21 = !{!"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, !22, 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, !23, i64 240, !10, i64 632, !10, i64 640, !24, i64 648, !30, i64 1144, !33, i64 1688, !10, i64 1752, !7, i64 1760, !6, i64 1764, !7, i64 1768, !36, i64 1776, !36, i64 1816, !36, i64 1856, !36, i64 1896, !6, i64 1936, !16, i64 1944, !7, i64 1952, !36, i64 1960, !7, i64 2000, !7, i64 2001, !7, i64 2002, !12, i64 2003, !37, i64 2004, !37, i64 2008, !38, i64 2016, !35, i64 2208, !6, i64 2212, !35, i64 2216, !16, i64 2224, !7, i64 2232, !16, i64 2240, !16, i64 2248, !16, i64 2256, !37, i64 2264, !37, i64 2268, !7, i64 2272, !7, i64 2528, !6, i64 2784, !29, i64 2792, !6, i64 2816, !29, i64 2824, !29, i64 2848, !29, i64 2872, !40, i64 2896, !42, i64 3704, !10, i64 3760, !10, i64 3768, !7, i64 3776, !6, i64 3780, !29, i64 3784, !6, i64 3808, !44, i64 3816, !7, i64 3848, !36, i64 3992, !29, i64 4032, !29, i64 4056, !12, i64 4080, !12, i64 4081, !12, i64 4082, !35, i64 4084, !35, i64 4086, !6, i64 4088, !6, i64 4092, !29, i64 4096, !6, i64 4120, !45, i64 4128, !37, i64 4176, !7, i64 4180, !7, i64 4181}
!22 = !{!"s2n_timer", !16, i64 0}
!23 = !{!"s2n_secrets", !7, i64 0, !6, i64 388}
!24 = !{!"s2n_kex_parameters", !25, i64 0, !26, i64 8, !7, i64 24, !26, i64 56, !27, i64 72, !27, i64 184, !7, i64 296, !28, i64 360, !29, i64 448, !29, i64 472}
!25 = !{!"s2n_dh_params", !10, i64 0}
!26 = !{!"s2n_ecc_evp_params", !10, i64 0, !10, i64 8}
!27 = !{!"s2n_kem_group_params", !10, i64 0, !28, i64 8, !26, i64 96}
!28 = !{!"s2n_kem_params", !10, i64 0, !29, i64 8, !29, i64 32, !29, i64 56, !12, i64 80}
!29 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!30 = !{!"s2n_handshake_parameters", !31, i64 0, !31, i64 48, !29, i64 96, !6, i64 120, !32, 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}
!31 = !{!"s2n_pkey", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40}
!32 = !{!"s2n_sig_scheme_list", !7, i64 0, !7, i64 256}
!33 = !{!"s2n_psk_parameters", !6, i64 0, !34, i64 8, !35, i64 40, !35, i64 42, !10, i64 48, !6, i64 56}
!34 = !{!"s2n_array", !29, i64 0, !6, i64 24, !6, i64 28}
!35 = !{!"short", !7, i64 0}
!36 = !{!"s2n_stuffer", !29, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!37 = !{!"", !6, i64 0}
!38 = !{!"s2n_handshake", !36, 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, !39, i64 176, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 188}
!39 = !{!"s2n_offered_early_data", !10, i64 0}
!40 = !{!"s2n_client_hello", !29, i64 0, !41, i64 24, !29, i64 728, !29, i64 752, !29, 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}
!41 = !{!"", !7, i64 0, !29, i64 672, !35, i64 696}
!42 = !{!"s2n_x509_validator", !10, i64 0, !10, i64 8, !7, i64 16, !7, i64 17, !35, i64 18, !10, i64 24, !6, i64 32, !10, i64 40, !43, i64 48, !12, i64 52}
!43 = !{!"s2n_cert_validation_info", !6, i64 0, !6, i64 0}
!44 = !{!"s2n_ticket_fields", !29, i64 0, !6, i64 24}
!45 = !{!"s2n_post_handshake", !36, i64 0, !7, i64 40}
!46 = !{!21, !6, i64 2176}
!47 = distinct !{!47, !18}
!48 = distinct !{!48, !18}
!49 = distinct !{!49, !18}


; Effective O3 passes: AggressiveInstCombinePass,CorrelatedValuePropagationPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferAlignmentPass,InferFunctionAttrsPass,InstCombinePass,InstSimplifyPass,JumpThreadingPass,LCSSAPass,LICMPass,LoopInstSimplifyPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,PostOrderFunctionAttrsPass,SROAPass,SimplifyCFGPass,TailCallElimPass