; LLVM IR from aws/s2n-tls :: tests/unit (s2n_safety_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"

@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 [74 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 [56 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [38 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [38 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [81 x i8], align 1
@__const.main.a = external hidden unnamed_addr constant [4 x i8], align 1
@__const.main.b = external hidden unnamed_addr constant [4 x i8], align 1
@__const.main.c = external hidden unnamed_addr constant [4 x i8], align 1
@__const.main.d = external hidden unnamed_addr constant [4 x i8], align 1
@__const.main.e = external hidden unnamed_addr constant [4 x i8], align 1
@__const.main.f = external hidden unnamed_addr constant [4 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.83 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.85 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.86 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.87 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.88 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.89 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.90 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.91 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.92 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.93 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.94 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.95 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.96 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.97 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.98 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.99 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.100 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.101 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.102 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.103 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.104 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.105 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.106 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.107 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.108 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.109 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.110 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.111 = external hidden unnamed_addr constant [38 x i8], align 1
@.str.112 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.113 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.114 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.115 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.116 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.117 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.118 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.119 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.120 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.121 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.122 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.123 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.124 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.125 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.126 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.127 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.128 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.129 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.130 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.131 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.132 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.133 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.134 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.135 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.136 = external hidden unnamed_addr constant [80 x i8], align 1
@__const.main.success_test_values = external hidden unnamed_addr constant [11 x [3 x i64]], align 16
@.str.137 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.138 = external hidden unnamed_addr constant [51 x i8], align 1
@__const.main.failure_test_values = external hidden unnamed_addr constant [15 x [3 x i64]], align 16
@.str.139 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.140 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.141 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.142 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.143 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.144 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.145 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.146 = 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 i32, align 4
  %10 = alloca i32, align 4
  %11 = alloca i32, align 4
  %12 = alloca i32, align 4
  %13 = alloca i32, align 4
  %14 = alloca i32, align 4
  %15 = alloca i32, align 4
  %16 = alloca i32, align 4
  %17 = alloca i32, align 4
  %18 = alloca i32, align 4
  %19 = alloca i32, align 4
  %20 = alloca i32, align 4
  %21 = alloca i32, align 4
  %22 = alloca i32, align 4
  %23 = alloca i32, align 4
  %24 = alloca i32, 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 i32, align 4
  %31 = alloca i32, align 4
  %32 = alloca i32, align 4
  %33 = alloca i32, align 4
  %34 = alloca i32, align 4
  %35 = alloca i32, align 4
  %36 = alloca i32, align 4
  %37 = alloca i32, align 4
  %38 = alloca i32, align 4
  %39 = alloca i32, align 4
  %40 = alloca i32, align 4
  %41 = alloca i32, align 4
  %42 = alloca i32, align 4
  %43 = alloca i32, align 4
  %44 = alloca i32, align 4
  %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 [4 x i8], align 1
  %57 = alloca i32, align 4
  %58 = alloca i32, align 4
  %59 = alloca [4 x i8], align 1
  %60 = alloca [4 x i8], align 1
  %61 = alloca [4 x i8], align 1
  %62 = alloca [4 x i8], align 1
  %63 = alloca [4 x i8], align 1
  %64 = alloca [4 x i8], align 1
  %65 = alloca i32, align 4
  %66 = alloca i32, align 4
  %67 = alloca i32, align 4
  %68 = alloca i32, align 4
  %69 = alloca i32, align 4
  %70 = alloca i32, align 4
  %71 = alloca i32, align 4
  %72 = alloca i32, align 4
  %73 = alloca i32, align 4
  %74 = alloca i32, align 4
  %75 = alloca i32, align 4
  %76 = alloca i32, align 4
  %77 = alloca i32, align 4
  %78 = alloca i32, align 4
  %79 = alloca i32, align 4
  %80 = alloca [1 x i8], align 1
  %81 = alloca [1 x i8], align 1
  %82 = alloca i32, align 4
  %83 = alloca i32, align 4
  %84 = alloca i32, align 4
  %85 = alloca i32, align 4
  %86 = alloca i32, align 4
  %87 = alloca i32, align 4
  %88 = alloca i32, align 4
  %89 = alloca i32, align 4
  %90 = alloca i32, align 4
  %91 = alloca i32, align 4
  %92 = alloca i32, align 4
  %93 = alloca i32, align 4
  %94 = alloca i32, align 4
  %95 = alloca i32, align 4
  %96 = alloca i32, align 4
  %97 = alloca i32, align 4
  %98 = alloca i32, align 4
  %99 = alloca i32, align 4
  %100 = alloca i32, align 4
  %101 = alloca i32, align 4
  %102 = alloca i32, align 4
  %103 = alloca i32, align 4
  %104 = alloca i32, align 4
  %105 = alloca i32, align 4
  %106 = alloca i32, align 4
  %107 = alloca i32, align 4
  %108 = alloca i32, align 4
  %109 = alloca i32, align 4
  %110 = alloca i32, align 4
  %111 = alloca i32, align 4
  %112 = alloca i32, align 4
  %113 = alloca i32, align 4
  %114 = alloca i32, align 4
  %115 = alloca i32, align 4
  %116 = alloca i32, align 4
  %117 = alloca i32, align 4
  %118 = alloca i32, align 4
  %119 = alloca i32, align 4
  %120 = alloca i32, align 4
  %121 = alloca i32, align 4
  %122 = alloca i32, align 4
  %123 = alloca i32, align 4
  %124 = alloca i32, align 4
  %125 = alloca i32, align 4
  %126 = alloca i32, align 4
  %127 = alloca i32, align 4
  %128 = alloca i32, align 4
  %129 = alloca i32, align 4
  %130 = alloca i32, align 4
  %131 = alloca i32, align 4
  %132 = alloca i32, align 4
  %133 = alloca i32, align 4
  %134 = alloca i32, align 4
  %135 = alloca i32, align 4
  %136 = alloca i32, align 4
  %137 = alloca i32, align 4
  %138 = alloca i32, align 4
  %139 = alloca i32, align 4
  %140 = alloca i32, align 4
  %141 = alloca i32, align 4
  %142 = alloca i32, align 4
  %143 = alloca i32, align 4
  %144 = alloca i32, align 4
  %145 = alloca 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 i32, align 4
  %160 = alloca i32, align 4
  %161 = alloca i32, align 4
  %162 = alloca i32, align 4
  %163 = alloca i32, align 4
  %164 = alloca i32, align 4
  %165 = alloca i32, align 4
  %166 = alloca i32, align 4
  %167 = alloca i32, align 4
  %168 = alloca i32, align 4
  %169 = alloca i32, align 4
  %170 = alloca i32, align 4
  %171 = alloca i32, align 4
  %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 i32, 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 i32, align 4
  %191 = alloca i32, align 4
  %192 = alloca i32, align 4
  %193 = alloca i32, align 4
  %194 = alloca i32, align 4
  %195 = alloca i32, align 4
  %196 = alloca i32, align 4
  %197 = alloca i32, align 4
  %198 = alloca i32, align 4
  %199 = alloca i32, align 4
  %200 = alloca i32, align 4
  %201 = alloca i32, align 4
  %202 = alloca i32, align 4
  %203 = alloca i32, align 4
  %204 = alloca i32, align 4
  %205 = alloca i32, align 4
  %206 = alloca i32, align 4
  %207 = alloca i32, align 4
  %208 = alloca i32, align 4
  %209 = alloca i32, align 4
  %210 = alloca i32, align 4
  %211 = alloca i32, align 4
  %212 = alloca 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 i32, align 4
  %221 = alloca i32, align 4
  %222 = alloca i32, align 4
  %223 = alloca i32, align 4
  %224 = alloca i32, align 4
  %225 = alloca i32, align 4
  %226 = alloca i32, align 4
  %227 = alloca i32, align 4
  %228 = alloca i32, align 4
  %229 = alloca i32, align 4
  %230 = alloca i32, align 4
  %231 = alloca i32, align 4
  %232 = alloca i32, align 4
  %233 = alloca i32, align 4
  %234 = alloca i32, align 4
  %235 = alloca i32, align 4
  %236 = alloca i32, align 4
  %237 = alloca i32, align 4
  %238 = alloca i32, align 4
  %239 = alloca i32, align 4
  %240 = alloca i32, align 4
  %241 = alloca i32, align 4
  %242 = alloca i32, align 4
  %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 i32, align 4
  %286 = alloca i32, align 4
  %287 = alloca i32, align 4
  %288 = alloca i32, align 4
  %289 = alloca i32, align 4
  %290 = alloca 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 i32, align 4
  %297 = alloca i32, align 4
  %298 = alloca i32, align 4
  %299 = alloca i32, align 4
  %300 = alloca i32, align 4
  %301 = alloca i32, align 4
  %302 = alloca i32, align 4
  %303 = alloca i32, align 4
  %304 = alloca i32, align 4
  %305 = alloca i32, align 4
  %306 = alloca i32, align 4
  %307 = alloca i32, align 4
  %308 = alloca i32, align 4
  %309 = alloca i32, align 4
  %310 = alloca i32, align 4
  %311 = alloca i32, align 4
  %312 = alloca i32, align 4
  %313 = alloca i32, align 4
  %314 = alloca i32, align 4
  %315 = alloca i32, align 4
  %316 = alloca i32, align 4
  %317 = alloca i32, align 4
  %318 = alloca i32, align 4
  %319 = alloca i32, align 4
  %320 = alloca i32, align 4
  %321 = alloca i32, align 4
  %322 = alloca i32, align 4
  %323 = alloca i32, align 4
  %324 = alloca i32, align 4
  %325 = alloca i32, align 4
  %326 = alloca i64, align 8
  %327 = alloca [11 x [3 x i64]], align 16
  %328 = alloca i64, align 8
  %329 = alloca i64, align 8
  %330 = alloca i64, align 8
  %331 = alloca i64, align 8
  %332 = alloca i32, align 4
  %333 = alloca i32, align 4
  %334 = alloca [15 x [3 x i64]], align 16
  %335 = alloca i64, align 8
  %336 = alloca i64, align 8
  %337 = alloca i64, align 8
  %338 = alloca i64, align 8
  %339 = alloca i32, align 4
  %340 = alloca i32, align 4
  %341 = alloca [10 x i16], align 16
  %342 = alloca [10 x i16], align 16
  %343 = alloca i32, align 4
  %344 = alloca i32, align 4
  store i32 0, ptr %3, align 4
  store i32 %0, ptr %4, align 4, !tbaa !5
  store ptr %1, ptr %5, align 8, !tbaa !9
  br label %345

345:                                              ; preds = %2
  br label %346

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

351:                                              ; preds = %346
  %352 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext true)
  %353 = icmp eq i32 %352, -1
  br i1 %353, label %354, label %405

354:                                              ; preds = %351
  br label %355

355:                                              ; preds = %354
  br label %356

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

363:                                              ; preds = %356
  %364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %365 = call i32 @fileno(ptr noundef %364) #9
  %366 = call i32 @isatty(i32 noundef %365) #9
  %367 = icmp ne i32 %366, 0
  br i1 %367, label %368, label %385

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

385:                                              ; preds = %363, %356
  %386 = load i32, ptr %6, align 4, !tbaa !5
  %387 = call ptr @__errno_location() #10
  store i32 %386, ptr %387, align 4, !tbaa !5
  %388 = load ptr, ptr @stderr, align 8, !tbaa !9
  %389 = load i32, ptr @test_count, align 4, !tbaa !5
  %390 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %391 = load i32, ptr %390, align 4, !tbaa !5
  %392 = call ptr @s2n_strerror(i32 noundef %391, ptr noundef @.str.4)
  %393 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %394 = load i32, ptr %393, align 4, !tbaa !5
  %395 = call ptr @s2n_strerror_debug(i32 noundef %394, ptr noundef @.str.4)
  %396 = call ptr @__errno_location() #10
  %397 = load i32, ptr %396, align 4, !tbaa !5
  %398 = call ptr @strerror(i32 noundef %397) #9
  %399 = call ptr @__errno_location() #10
  %400 = load i32, ptr %399, align 4, !tbaa !5
  %401 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %388, ptr noundef @.str.5, i32 noundef %389, ptr noundef @.str.3, ptr noundef @.str.1, i32 noundef 255, ptr noundef %392, ptr noundef %395, ptr noundef %398, i32 noundef %400) #9
  br label %402

402:                                              ; preds = %385, %368
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #9
  br label %403

403:                                              ; preds = %402
  call void @exit(i32 noundef 1) #11
  unreachable

404:                                              ; No predecessors!
  br label %405

405:                                              ; preds = %404, %351
  br label %406

406:                                              ; preds = %405
  br label %407

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

412:                                              ; preds = %407
  br label %413

413:                                              ; preds = %412
  br label %414

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

421:                                              ; preds = %414
  %422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %423 = call i32 @fileno(ptr noundef %422) #9
  %424 = call i32 @isatty(i32 noundef %423) #9
  %425 = icmp ne i32 %424, 0
  br i1 %425, label %426, label %443

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

443:                                              ; preds = %421, %414
  %444 = load i32, ptr %7, align 4, !tbaa !5
  %445 = call ptr @__errno_location() #10
  store i32 %444, ptr %445, align 4, !tbaa !5
  %446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %447 = load i32, ptr @test_count, align 4, !tbaa !5
  %448 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %449 = load i32, ptr %448, align 4, !tbaa !5
  %450 = call ptr @s2n_strerror(i32 noundef %449, ptr noundef @.str.4)
  %451 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %452 = load i32, ptr %451, align 4, !tbaa !5
  %453 = call ptr @s2n_strerror_debug(i32 noundef %452, ptr noundef @.str.4)
  %454 = call ptr @__errno_location() #10
  %455 = load i32, ptr %454, align 4, !tbaa !5
  %456 = call ptr @strerror(i32 noundef %455) #9
  %457 = call ptr @__errno_location() #10
  %458 = load i32, ptr %457, align 4, !tbaa !5
  %459 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %446, ptr noundef @.str.5, i32 noundef %447, ptr noundef @.str.6, ptr noundef @.str.1, i32 noundef 255, ptr noundef %450, ptr noundef %453, ptr noundef %456, i32 noundef %458) #9
  br label %460

460:                                              ; preds = %443, %426
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #9
  br label %461

461:                                              ; preds = %460
  call void @exit(i32 noundef 1) #11
  unreachable

462:                                              ; No predecessors!
  br label %463

463:                                              ; preds = %462, %407
  br label %464

464:                                              ; preds = %463
  br label %465

465:                                              ; preds = %464
  br label %466

466:                                              ; preds = %465
  %467 = call i32 @s2n_init()
  %468 = icmp eq i32 %467, -1
  br i1 %468, label %469, label %520

469:                                              ; preds = %466
  br label %470

470:                                              ; preds = %469
  br label %471

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

478:                                              ; preds = %471
  %479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %480 = call i32 @fileno(ptr noundef %479) #9
  %481 = call i32 @isatty(i32 noundef %480) #9
  %482 = icmp ne i32 %481, 0
  br i1 %482, label %483, label %500

483:                                              ; preds = %478
  %484 = load i32, ptr %8, align 4, !tbaa !5
  %485 = call ptr @__errno_location() #10
  store i32 %484, ptr %485, align 4, !tbaa !5
  %486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %487 = load i32, ptr @test_count, align 4, !tbaa !5
  %488 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %489 = load i32, ptr %488, align 4, !tbaa !5
  %490 = call ptr @s2n_strerror(i32 noundef %489, ptr noundef @.str.4)
  %491 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %492 = load i32, ptr %491, align 4, !tbaa !5
  %493 = call ptr @s2n_strerror_debug(i32 noundef %492, ptr noundef @.str.4)
  %494 = call ptr @__errno_location() #10
  %495 = load i32, ptr %494, align 4, !tbaa !5
  %496 = call ptr @strerror(i32 noundef %495) #9
  %497 = call ptr @__errno_location() #10
  %498 = load i32, ptr %497, align 4, !tbaa !5
  %499 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %486, ptr noundef @.str.2, i32 noundef %487, ptr noundef @.str.7, ptr noundef @.str.1, i32 noundef 255, ptr noundef %490, ptr noundef %493, ptr noundef %496, i32 noundef %498) #9
  br label %517

500:                                              ; preds = %478, %471
  %501 = load i32, ptr %8, align 4, !tbaa !5
  %502 = call ptr @__errno_location() #10
  store i32 %501, ptr %502, align 4, !tbaa !5
  %503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %504 = load i32, ptr @test_count, align 4, !tbaa !5
  %505 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %506 = load i32, ptr %505, align 4, !tbaa !5
  %507 = call ptr @s2n_strerror(i32 noundef %506, ptr noundef @.str.4)
  %508 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %509 = load i32, ptr %508, align 4, !tbaa !5
  %510 = call ptr @s2n_strerror_debug(i32 noundef %509, ptr noundef @.str.4)
  %511 = call ptr @__errno_location() #10
  %512 = load i32, ptr %511, align 4, !tbaa !5
  %513 = call ptr @strerror(i32 noundef %512) #9
  %514 = call ptr @__errno_location() #10
  %515 = load i32, ptr %514, align 4, !tbaa !5
  %516 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %503, ptr noundef @.str.5, i32 noundef %504, ptr noundef @.str.7, ptr noundef @.str.1, i32 noundef 255, ptr noundef %507, ptr noundef %510, ptr noundef %513, i32 noundef %515) #9
  br label %517

517:                                              ; preds = %500, %483
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #9
  br label %518

518:                                              ; preds = %517
  call void @exit(i32 noundef 1) #11
  unreachable

519:                                              ; No predecessors!
  br label %520

520:                                              ; preds = %519, %466
  br label %521

521:                                              ; preds = %520
  br label %522

522:                                              ; preds = %521
  br label %523

523:                                              ; preds = %522
  %524 = load i32, ptr @test_count, align 4, !tbaa !5
  %525 = add nsw i32 %524, 1
  store i32 %525, ptr @test_count, align 4, !tbaa !5
  %526 = call i32 (...) @s2n_disable_tls13_in_test()
  %527 = icmp eq i32 %526, -1
  br i1 %527, label %528, label %579

528:                                              ; preds = %523
  br label %529

529:                                              ; preds = %528
  br label %530

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

537:                                              ; preds = %530
  %538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %539 = call i32 @fileno(ptr noundef %538) #9
  %540 = call i32 @isatty(i32 noundef %539) #9
  %541 = icmp ne i32 %540, 0
  br i1 %541, label %542, label %559

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

559:                                              ; preds = %537, %530
  %560 = load i32, ptr %9, align 4, !tbaa !5
  %561 = call ptr @__errno_location() #10
  store i32 %560, ptr %561, align 4, !tbaa !5
  %562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %563 = load i32, ptr @test_count, align 4, !tbaa !5
  %564 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %565 = load i32, ptr %564, align 4, !tbaa !5
  %566 = call ptr @s2n_strerror(i32 noundef %565, ptr noundef @.str.4)
  %567 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %568 = load i32, ptr %567, align 4, !tbaa !5
  %569 = call ptr @s2n_strerror_debug(i32 noundef %568, ptr noundef @.str.4)
  %570 = call ptr @__errno_location() #10
  %571 = load i32, ptr %570, align 4, !tbaa !5
  %572 = call ptr @strerror(i32 noundef %571) #9
  %573 = call ptr @__errno_location() #10
  %574 = load i32, ptr %573, align 4, !tbaa !5
  %575 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %562, ptr noundef @.str.5, i32 noundef %563, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 256, ptr noundef %566, ptr noundef %569, ptr noundef %572, i32 noundef %574) #9
  br label %576

576:                                              ; preds = %559, %542
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #9
  br label %577

577:                                              ; preds = %576
  call void @exit(i32 noundef 1) #11
  unreachable

578:                                              ; No predecessors!
  br label %579

579:                                              ; preds = %578, %523
  br label %580

580:                                              ; preds = %579
  br label %581

581:                                              ; preds = %580
  br label %582

582:                                              ; preds = %581
  %583 = load i32, ptr @test_count, align 4, !tbaa !5
  %584 = add nsw i32 %583, 1
  store i32 %584, ptr @test_count, align 4, !tbaa !5
  %585 = call i32 @failure_gte()
  %586 = icmp eq i32 %585, -1
  br i1 %586, label %638, label %587

587:                                              ; preds = %582
  br label %588

588:                                              ; preds = %587
  br label %589

589:                                              ; preds = %588
  call void @llvm.lifetime.start.p0(i64 4, ptr %10) #9
  %590 = call ptr @__errno_location() #10
  %591 = load i32, ptr %590, align 4, !tbaa !5
  store i32 %591, ptr %10, align 4, !tbaa !5
  %592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %593 = call i32 @s2n_print_stacktrace(ptr noundef %592)
  %594 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %595 = trunc i8 %594 to i1
  br i1 %595, label %596, label %618

596:                                              ; preds = %589
  %597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %598 = call i32 @fileno(ptr noundef %597) #9
  %599 = call i32 @isatty(i32 noundef %598) #9
  %600 = icmp ne i32 %599, 0
  br i1 %600, label %601, label %618

601:                                              ; preds = %596
  %602 = load i32, ptr %10, align 4, !tbaa !5
  %603 = call ptr @__errno_location() #10
  store i32 %602, ptr %603, align 4, !tbaa !5
  %604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %605 = load i32, ptr @test_count, align 4, !tbaa !5
  %606 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %607 = load i32, ptr %606, align 4, !tbaa !5
  %608 = call ptr @s2n_strerror(i32 noundef %607, ptr noundef @.str.4)
  %609 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %610 = load i32, ptr %609, align 4, !tbaa !5
  %611 = call ptr @s2n_strerror_debug(i32 noundef %610, ptr noundef @.str.4)
  %612 = call ptr @__errno_location() #10
  %613 = load i32, ptr %612, align 4, !tbaa !5
  %614 = call ptr @strerror(i32 noundef %613) #9
  %615 = call ptr @__errno_location() #10
  %616 = load i32, ptr %615, align 4, !tbaa !5
  %617 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %604, ptr noundef @.str.2, i32 noundef %605, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 258, ptr noundef %608, ptr noundef %611, ptr noundef %614, i32 noundef %616) #9
  br label %635

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

635:                                              ; preds = %618, %601
  call void @llvm.lifetime.end.p0(i64 4, ptr %10) #9
  br label %636

636:                                              ; preds = %635
  call void @exit(i32 noundef 1) #11
  unreachable

637:                                              ; No predecessors!
  br label %638

638:                                              ; preds = %637, %582
  br label %639

639:                                              ; preds = %638
  br label %640

640:                                              ; preds = %639
  %641 = load i32, ptr @test_count, align 4, !tbaa !5
  %642 = add nsw i32 %641, 1
  store i32 %642, ptr @test_count, align 4, !tbaa !5
  %643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %644 = load i32, ptr %643, align 4, !tbaa !5
  %645 = icmp eq i32 %644, 0
  br i1 %645, label %646, label %697

646:                                              ; preds = %640
  br label %647

647:                                              ; preds = %646
  br label %648

648:                                              ; preds = %647
  call void @llvm.lifetime.start.p0(i64 4, ptr %11) #9
  %649 = call ptr @__errno_location() #10
  %650 = load i32, ptr %649, align 4, !tbaa !5
  store i32 %650, ptr %11, align 4, !tbaa !5
  %651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %652 = call i32 @s2n_print_stacktrace(ptr noundef %651)
  %653 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %654 = trunc i8 %653 to i1
  br i1 %654, label %655, label %677

655:                                              ; preds = %648
  %656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %657 = call i32 @fileno(ptr noundef %656) #9
  %658 = call i32 @isatty(i32 noundef %657) #9
  %659 = icmp ne i32 %658, 0
  br i1 %659, label %660, label %677

660:                                              ; preds = %655
  %661 = load i32, ptr %11, align 4, !tbaa !5
  %662 = call ptr @__errno_location() #10
  store i32 %661, ptr %662, align 4, !tbaa !5
  %663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %664 = load i32, ptr @test_count, align 4, !tbaa !5
  %665 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %666 = load i32, ptr %665, align 4, !tbaa !5
  %667 = call ptr @s2n_strerror(i32 noundef %666, ptr noundef @.str.4)
  %668 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %669 = load i32, ptr %668, align 4, !tbaa !5
  %670 = call ptr @s2n_strerror_debug(i32 noundef %669, ptr noundef @.str.4)
  %671 = call ptr @__errno_location() #10
  %672 = load i32, ptr %671, align 4, !tbaa !5
  %673 = call ptr @strerror(i32 noundef %672) #9
  %674 = call ptr @__errno_location() #10
  %675 = load i32, ptr %674, align 4, !tbaa !5
  %676 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %663, ptr noundef @.str.2, i32 noundef %664, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 258, ptr noundef %667, ptr noundef %670, ptr noundef %673, i32 noundef %675) #9
  br label %694

677:                                              ; preds = %655, %648
  %678 = load i32, ptr %11, align 4, !tbaa !5
  %679 = call ptr @__errno_location() #10
  store i32 %678, ptr %679, 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 @.str.4)
  %685 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %686 = load i32, ptr %685, align 4, !tbaa !5
  %687 = call ptr @s2n_strerror_debug(i32 noundef %686, ptr noundef @.str.4)
  %688 = call ptr @__errno_location() #10
  %689 = load i32, ptr %688, align 4, !tbaa !5
  %690 = call ptr @strerror(i32 noundef %689) #9
  %691 = call ptr @__errno_location() #10
  %692 = load i32, ptr %691, align 4, !tbaa !5
  %693 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %680, ptr noundef @.str.5, i32 noundef %681, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 258, ptr noundef %684, ptr noundef %687, ptr noundef %690, i32 noundef %692) #9
  br label %694

694:                                              ; preds = %677, %660
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #9
  br label %695

695:                                              ; preds = %694
  call void @exit(i32 noundef 1) #11
  unreachable

696:                                              ; No predecessors!
  br label %697

697:                                              ; preds = %696, %640
  br label %698

698:                                              ; preds = %697
  br label %699

699:                                              ; preds = %698
  %700 = load i32, ptr @test_count, align 4, !tbaa !5
  %701 = add nsw i32 %700, 1
  store i32 %701, ptr @test_count, align 4, !tbaa !5
  %702 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %703 = load i32, ptr %702, align 4, !tbaa !5
  %704 = call ptr @s2n_strerror_debug(i32 noundef %703, ptr noundef @.str.4)
  %705 = icmp eq ptr %704, null
  br i1 %705, label %706, label %757

706:                                              ; preds = %699
  br label %707

707:                                              ; preds = %706
  br label %708

708:                                              ; preds = %707
  call void @llvm.lifetime.start.p0(i64 4, ptr %12) #9
  %709 = call ptr @__errno_location() #10
  %710 = load i32, ptr %709, align 4, !tbaa !5
  store i32 %710, ptr %12, align 4, !tbaa !5
  %711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %712 = call i32 @s2n_print_stacktrace(ptr noundef %711)
  %713 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %714 = trunc i8 %713 to i1
  br i1 %714, label %715, label %737

715:                                              ; preds = %708
  %716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %717 = call i32 @fileno(ptr noundef %716) #9
  %718 = call i32 @isatty(i32 noundef %717) #9
  %719 = icmp ne i32 %718, 0
  br i1 %719, label %720, label %737

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

737:                                              ; preds = %715, %708
  %738 = load i32, ptr %12, align 4, !tbaa !5
  %739 = call ptr @__errno_location() #10
  store i32 %738, ptr %739, 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 @.str.4)
  %745 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %746 = load i32, ptr %745, align 4, !tbaa !5
  %747 = call ptr @s2n_strerror_debug(i32 noundef %746, ptr noundef @.str.4)
  %748 = call ptr @__errno_location() #10
  %749 = load i32, ptr %748, align 4, !tbaa !5
  %750 = call ptr @strerror(i32 noundef %749) #9
  %751 = call ptr @__errno_location() #10
  %752 = load i32, ptr %751, align 4, !tbaa !5
  %753 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %740, ptr noundef @.str.5, i32 noundef %741, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 258, ptr noundef %744, ptr noundef %747, ptr noundef %750, i32 noundef %752) #9
  br label %754

754:                                              ; preds = %737, %720
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #9
  br label %755

755:                                              ; preds = %754
  call void @exit(i32 noundef 1) #11
  unreachable

756:                                              ; No predecessors!
  br label %757

757:                                              ; preds = %756, %699
  br label %758

758:                                              ; preds = %757
  br label %759

759:                                              ; preds = %758
  %760 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %760, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %761 = call ptr @__errno_location() #10
  store i32 0, ptr %761, align 4, !tbaa !5
  br label %762

762:                                              ; preds = %759
  br label %763

763:                                              ; preds = %762
  br label %764

764:                                              ; preds = %763
  br label %765

765:                                              ; preds = %764
  %766 = load i32, ptr @test_count, align 4, !tbaa !5
  %767 = add nsw i32 %766, 1
  store i32 %767, ptr @test_count, align 4, !tbaa !5
  %768 = call i32 @failure_lte()
  %769 = icmp eq i32 %768, -1
  br i1 %769, label %821, label %770

770:                                              ; preds = %765
  br label %771

771:                                              ; preds = %770
  br label %772

772:                                              ; preds = %771
  call void @llvm.lifetime.start.p0(i64 4, ptr %13) #9
  %773 = call ptr @__errno_location() #10
  %774 = load i32, ptr %773, align 4, !tbaa !5
  store i32 %774, ptr %13, align 4, !tbaa !5
  %775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %776 = call i32 @s2n_print_stacktrace(ptr noundef %775)
  %777 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %778 = trunc i8 %777 to i1
  br i1 %778, label %779, label %801

779:                                              ; preds = %772
  %780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %781 = call i32 @fileno(ptr noundef %780) #9
  %782 = call i32 @isatty(i32 noundef %781) #9
  %783 = icmp ne i32 %782, 0
  br i1 %783, label %784, label %801

784:                                              ; preds = %779
  %785 = load i32, ptr %13, align 4, !tbaa !5
  %786 = call ptr @__errno_location() #10
  store i32 %785, ptr %786, align 4, !tbaa !5
  %787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %788 = load i32, ptr @test_count, align 4, !tbaa !5
  %789 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %790 = load i32, ptr %789, align 4, !tbaa !5
  %791 = call ptr @s2n_strerror(i32 noundef %790, ptr noundef @.str.4)
  %792 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %793 = load i32, ptr %792, align 4, !tbaa !5
  %794 = call ptr @s2n_strerror_debug(i32 noundef %793, ptr noundef @.str.4)
  %795 = call ptr @__errno_location() #10
  %796 = load i32, ptr %795, align 4, !tbaa !5
  %797 = call ptr @strerror(i32 noundef %796) #9
  %798 = call ptr @__errno_location() #10
  %799 = load i32, ptr %798, align 4, !tbaa !5
  %800 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %787, ptr noundef @.str.2, i32 noundef %788, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 259, ptr noundef %791, ptr noundef %794, ptr noundef %797, i32 noundef %799) #9
  br label %818

801:                                              ; preds = %779, %772
  %802 = load i32, ptr %13, align 4, !tbaa !5
  %803 = call ptr @__errno_location() #10
  store i32 %802, ptr %803, align 4, !tbaa !5
  %804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %805 = load i32, ptr @test_count, align 4, !tbaa !5
  %806 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %807 = load i32, ptr %806, align 4, !tbaa !5
  %808 = call ptr @s2n_strerror(i32 noundef %807, ptr noundef @.str.4)
  %809 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %810 = load i32, ptr %809, align 4, !tbaa !5
  %811 = call ptr @s2n_strerror_debug(i32 noundef %810, ptr noundef @.str.4)
  %812 = call ptr @__errno_location() #10
  %813 = load i32, ptr %812, align 4, !tbaa !5
  %814 = call ptr @strerror(i32 noundef %813) #9
  %815 = call ptr @__errno_location() #10
  %816 = load i32, ptr %815, align 4, !tbaa !5
  %817 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %804, ptr noundef @.str.5, i32 noundef %805, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 259, ptr noundef %808, ptr noundef %811, ptr noundef %814, i32 noundef %816) #9
  br label %818

818:                                              ; preds = %801, %784
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #9
  br label %819

819:                                              ; preds = %818
  call void @exit(i32 noundef 1) #11
  unreachable

820:                                              ; No predecessors!
  br label %821

821:                                              ; preds = %820, %765
  br label %822

822:                                              ; preds = %821
  br label %823

823:                                              ; preds = %822
  %824 = load i32, ptr @test_count, align 4, !tbaa !5
  %825 = add nsw i32 %824, 1
  store i32 %825, ptr @test_count, align 4, !tbaa !5
  %826 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %827 = load i32, ptr %826, align 4, !tbaa !5
  %828 = icmp eq i32 %827, 0
  br i1 %828, label %829, label %880

829:                                              ; preds = %823
  br label %830

830:                                              ; preds = %829
  br label %831

831:                                              ; preds = %830
  call void @llvm.lifetime.start.p0(i64 4, ptr %14) #9
  %832 = call ptr @__errno_location() #10
  %833 = load i32, ptr %832, align 4, !tbaa !5
  store i32 %833, ptr %14, align 4, !tbaa !5
  %834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %835 = call i32 @s2n_print_stacktrace(ptr noundef %834)
  %836 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %837 = trunc i8 %836 to i1
  br i1 %837, label %838, label %860

838:                                              ; preds = %831
  %839 = load ptr, ptr @stderr, align 8, !tbaa !9
  %840 = call i32 @fileno(ptr noundef %839) #9
  %841 = call i32 @isatty(i32 noundef %840) #9
  %842 = icmp ne i32 %841, 0
  br i1 %842, label %843, label %860

843:                                              ; preds = %838
  %844 = load i32, ptr %14, align 4, !tbaa !5
  %845 = call ptr @__errno_location() #10
  store i32 %844, ptr %845, align 4, !tbaa !5
  %846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %847 = load i32, ptr @test_count, align 4, !tbaa !5
  %848 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %849 = load i32, ptr %848, align 4, !tbaa !5
  %850 = call ptr @s2n_strerror(i32 noundef %849, ptr noundef @.str.4)
  %851 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %852 = load i32, ptr %851, align 4, !tbaa !5
  %853 = call ptr @s2n_strerror_debug(i32 noundef %852, ptr noundef @.str.4)
  %854 = call ptr @__errno_location() #10
  %855 = load i32, ptr %854, align 4, !tbaa !5
  %856 = call ptr @strerror(i32 noundef %855) #9
  %857 = call ptr @__errno_location() #10
  %858 = load i32, ptr %857, align 4, !tbaa !5
  %859 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %846, ptr noundef @.str.2, i32 noundef %847, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 259, ptr noundef %850, ptr noundef %853, ptr noundef %856, i32 noundef %858) #9
  br label %877

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

877:                                              ; preds = %860, %843
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #9
  br label %878

878:                                              ; preds = %877
  call void @exit(i32 noundef 1) #11
  unreachable

879:                                              ; No predecessors!
  br label %880

880:                                              ; preds = %879, %823
  br label %881

881:                                              ; preds = %880
  br label %882

882:                                              ; preds = %881
  %883 = load i32, ptr @test_count, align 4, !tbaa !5
  %884 = add nsw i32 %883, 1
  store i32 %884, ptr @test_count, align 4, !tbaa !5
  %885 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %886 = load i32, ptr %885, align 4, !tbaa !5
  %887 = call ptr @s2n_strerror_debug(i32 noundef %886, ptr noundef @.str.4)
  %888 = icmp eq ptr %887, null
  br i1 %888, label %889, label %940

889:                                              ; preds = %882
  br label %890

890:                                              ; preds = %889
  br label %891

891:                                              ; preds = %890
  call void @llvm.lifetime.start.p0(i64 4, ptr %15) #9
  %892 = call ptr @__errno_location() #10
  %893 = load i32, ptr %892, align 4, !tbaa !5
  store i32 %893, ptr %15, align 4, !tbaa !5
  %894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %895 = call i32 @s2n_print_stacktrace(ptr noundef %894)
  %896 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %897 = trunc i8 %896 to i1
  br i1 %897, label %898, label %920

898:                                              ; preds = %891
  %899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %900 = call i32 @fileno(ptr noundef %899) #9
  %901 = call i32 @isatty(i32 noundef %900) #9
  %902 = icmp ne i32 %901, 0
  br i1 %902, label %903, label %920

903:                                              ; preds = %898
  %904 = load i32, ptr %15, align 4, !tbaa !5
  %905 = call ptr @__errno_location() #10
  store i32 %904, ptr %905, align 4, !tbaa !5
  %906 = load ptr, ptr @stderr, align 8, !tbaa !9
  %907 = load i32, ptr @test_count, align 4, !tbaa !5
  %908 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %909 = load i32, ptr %908, align 4, !tbaa !5
  %910 = call ptr @s2n_strerror(i32 noundef %909, ptr noundef @.str.4)
  %911 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %912 = load i32, ptr %911, align 4, !tbaa !5
  %913 = call ptr @s2n_strerror_debug(i32 noundef %912, ptr noundef @.str.4)
  %914 = call ptr @__errno_location() #10
  %915 = load i32, ptr %914, align 4, !tbaa !5
  %916 = call ptr @strerror(i32 noundef %915) #9
  %917 = call ptr @__errno_location() #10
  %918 = load i32, ptr %917, align 4, !tbaa !5
  %919 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %906, ptr noundef @.str.2, i32 noundef %907, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 259, ptr noundef %910, ptr noundef %913, ptr noundef %916, i32 noundef %918) #9
  br label %937

920:                                              ; preds = %898, %891
  %921 = load i32, ptr %15, align 4, !tbaa !5
  %922 = call ptr @__errno_location() #10
  store i32 %921, ptr %922, align 4, !tbaa !5
  %923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %924 = load i32, ptr @test_count, align 4, !tbaa !5
  %925 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %926 = load i32, ptr %925, align 4, !tbaa !5
  %927 = call ptr @s2n_strerror(i32 noundef %926, ptr noundef @.str.4)
  %928 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %929 = load i32, ptr %928, align 4, !tbaa !5
  %930 = call ptr @s2n_strerror_debug(i32 noundef %929, ptr noundef @.str.4)
  %931 = call ptr @__errno_location() #10
  %932 = load i32, ptr %931, align 4, !tbaa !5
  %933 = call ptr @strerror(i32 noundef %932) #9
  %934 = call ptr @__errno_location() #10
  %935 = load i32, ptr %934, align 4, !tbaa !5
  %936 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %923, ptr noundef @.str.5, i32 noundef %924, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 259, ptr noundef %927, ptr noundef %930, ptr noundef %933, i32 noundef %935) #9
  br label %937

937:                                              ; preds = %920, %903
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #9
  br label %938

938:                                              ; preds = %937
  call void @exit(i32 noundef 1) #11
  unreachable

939:                                              ; No predecessors!
  br label %940

940:                                              ; preds = %939, %882
  br label %941

941:                                              ; preds = %940
  br label %942

942:                                              ; preds = %941
  %943 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %943, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %944 = call ptr @__errno_location() #10
  store i32 0, ptr %944, align 4, !tbaa !5
  br label %945

945:                                              ; preds = %942
  br label %946

946:                                              ; preds = %945
  br label %947

947:                                              ; preds = %946
  br label %948

948:                                              ; preds = %947
  %949 = load i32, ptr @test_count, align 4, !tbaa !5
  %950 = add nsw i32 %949, 1
  store i32 %950, ptr @test_count, align 4, !tbaa !5
  %951 = call i32 @failure_gt()
  %952 = icmp eq i32 %951, -1
  br i1 %952, label %1004, label %953

953:                                              ; preds = %948
  br label %954

954:                                              ; preds = %953
  br label %955

955:                                              ; preds = %954
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #9
  %956 = call ptr @__errno_location() #10
  %957 = load i32, ptr %956, align 4, !tbaa !5
  store i32 %957, ptr %16, align 4, !tbaa !5
  %958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %959 = call i32 @s2n_print_stacktrace(ptr noundef %958)
  %960 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %961 = trunc i8 %960 to i1
  br i1 %961, label %962, label %984

962:                                              ; preds = %955
  %963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %964 = call i32 @fileno(ptr noundef %963) #9
  %965 = call i32 @isatty(i32 noundef %964) #9
  %966 = icmp ne i32 %965, 0
  br i1 %966, label %967, label %984

967:                                              ; preds = %962
  %968 = load i32, ptr %16, align 4, !tbaa !5
  %969 = call ptr @__errno_location() #10
  store i32 %968, ptr %969, align 4, !tbaa !5
  %970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %971 = load i32, ptr @test_count, align 4, !tbaa !5
  %972 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %973 = load i32, ptr %972, align 4, !tbaa !5
  %974 = call ptr @s2n_strerror(i32 noundef %973, ptr noundef @.str.4)
  %975 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %976 = load i32, ptr %975, align 4, !tbaa !5
  %977 = call ptr @s2n_strerror_debug(i32 noundef %976, ptr noundef @.str.4)
  %978 = call ptr @__errno_location() #10
  %979 = load i32, ptr %978, align 4, !tbaa !5
  %980 = call ptr @strerror(i32 noundef %979) #9
  %981 = call ptr @__errno_location() #10
  %982 = load i32, ptr %981, align 4, !tbaa !5
  %983 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %970, ptr noundef @.str.2, i32 noundef %971, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 260, ptr noundef %974, ptr noundef %977, ptr noundef %980, i32 noundef %982) #9
  br label %1001

984:                                              ; preds = %962, %955
  %985 = load i32, ptr %16, align 4, !tbaa !5
  %986 = call ptr @__errno_location() #10
  store i32 %985, ptr %986, align 4, !tbaa !5
  %987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %988 = load i32, ptr @test_count, align 4, !tbaa !5
  %989 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %990 = load i32, ptr %989, align 4, !tbaa !5
  %991 = call ptr @s2n_strerror(i32 noundef %990, ptr noundef @.str.4)
  %992 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %993 = load i32, ptr %992, align 4, !tbaa !5
  %994 = call ptr @s2n_strerror_debug(i32 noundef %993, ptr noundef @.str.4)
  %995 = call ptr @__errno_location() #10
  %996 = load i32, ptr %995, align 4, !tbaa !5
  %997 = call ptr @strerror(i32 noundef %996) #9
  %998 = call ptr @__errno_location() #10
  %999 = load i32, ptr %998, align 4, !tbaa !5
  %1000 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %987, ptr noundef @.str.5, i32 noundef %988, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 260, ptr noundef %991, ptr noundef %994, ptr noundef %997, i32 noundef %999) #9
  br label %1001

1001:                                             ; preds = %984, %967
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #9
  br label %1002

1002:                                             ; preds = %1001
  call void @exit(i32 noundef 1) #11
  unreachable

1003:                                             ; No predecessors!
  br label %1004

1004:                                             ; preds = %1003, %948
  br label %1005

1005:                                             ; preds = %1004
  br label %1006

1006:                                             ; preds = %1005
  %1007 = load i32, ptr @test_count, align 4, !tbaa !5
  %1008 = add nsw i32 %1007, 1
  store i32 %1008, ptr @test_count, align 4, !tbaa !5
  %1009 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1010 = load i32, ptr %1009, align 4, !tbaa !5
  %1011 = icmp eq i32 %1010, 0
  br i1 %1011, label %1012, label %1063

1012:                                             ; preds = %1006
  br label %1013

1013:                                             ; preds = %1012
  br label %1014

1014:                                             ; preds = %1013
  call void @llvm.lifetime.start.p0(i64 4, ptr %17) #9
  %1015 = call ptr @__errno_location() #10
  %1016 = load i32, ptr %1015, align 4, !tbaa !5
  store i32 %1016, ptr %17, align 4, !tbaa !5
  %1017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1018 = call i32 @s2n_print_stacktrace(ptr noundef %1017)
  %1019 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1020 = trunc i8 %1019 to i1
  br i1 %1020, label %1021, label %1043

1021:                                             ; preds = %1014
  %1022 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1023 = call i32 @fileno(ptr noundef %1022) #9
  %1024 = call i32 @isatty(i32 noundef %1023) #9
  %1025 = icmp ne i32 %1024, 0
  br i1 %1025, label %1026, label %1043

1026:                                             ; preds = %1021
  %1027 = load i32, ptr %17, align 4, !tbaa !5
  %1028 = call ptr @__errno_location() #10
  store i32 %1027, ptr %1028, align 4, !tbaa !5
  %1029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1030 = load i32, ptr @test_count, align 4, !tbaa !5
  %1031 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1032 = load i32, ptr %1031, align 4, !tbaa !5
  %1033 = call ptr @s2n_strerror(i32 noundef %1032, ptr noundef @.str.4)
  %1034 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1035 = load i32, ptr %1034, align 4, !tbaa !5
  %1036 = call ptr @s2n_strerror_debug(i32 noundef %1035, ptr noundef @.str.4)
  %1037 = call ptr @__errno_location() #10
  %1038 = load i32, ptr %1037, align 4, !tbaa !5
  %1039 = call ptr @strerror(i32 noundef %1038) #9
  %1040 = call ptr @__errno_location() #10
  %1041 = load i32, ptr %1040, align 4, !tbaa !5
  %1042 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1029, ptr noundef @.str.2, i32 noundef %1030, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 260, ptr noundef %1033, ptr noundef %1036, ptr noundef %1039, i32 noundef %1041) #9
  br label %1060

1043:                                             ; preds = %1021, %1014
  %1044 = load i32, ptr %17, align 4, !tbaa !5
  %1045 = call ptr @__errno_location() #10
  store i32 %1044, ptr %1045, align 4, !tbaa !5
  %1046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1047 = load i32, ptr @test_count, align 4, !tbaa !5
  %1048 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1049 = load i32, ptr %1048, align 4, !tbaa !5
  %1050 = call ptr @s2n_strerror(i32 noundef %1049, ptr noundef @.str.4)
  %1051 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1052 = load i32, ptr %1051, align 4, !tbaa !5
  %1053 = call ptr @s2n_strerror_debug(i32 noundef %1052, ptr noundef @.str.4)
  %1054 = call ptr @__errno_location() #10
  %1055 = load i32, ptr %1054, align 4, !tbaa !5
  %1056 = call ptr @strerror(i32 noundef %1055) #9
  %1057 = call ptr @__errno_location() #10
  %1058 = load i32, ptr %1057, align 4, !tbaa !5
  %1059 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1046, ptr noundef @.str.5, i32 noundef %1047, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 260, ptr noundef %1050, ptr noundef %1053, ptr noundef %1056, i32 noundef %1058) #9
  br label %1060

1060:                                             ; preds = %1043, %1026
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #9
  br label %1061

1061:                                             ; preds = %1060
  call void @exit(i32 noundef 1) #11
  unreachable

1062:                                             ; No predecessors!
  br label %1063

1063:                                             ; preds = %1062, %1006
  br label %1064

1064:                                             ; preds = %1063
  br label %1065

1065:                                             ; preds = %1064
  %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 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1069 = load i32, ptr %1068, align 4, !tbaa !5
  %1070 = call ptr @s2n_strerror_debug(i32 noundef %1069, ptr noundef @.str.4)
  %1071 = icmp eq ptr %1070, null
  br i1 %1071, label %1072, label %1123

1072:                                             ; preds = %1065
  br label %1073

1073:                                             ; preds = %1072
  br label %1074

1074:                                             ; preds = %1073
  call void @llvm.lifetime.start.p0(i64 4, ptr %18) #9
  %1075 = call ptr @__errno_location() #10
  %1076 = load i32, ptr %1075, align 4, !tbaa !5
  store i32 %1076, ptr %18, align 4, !tbaa !5
  %1077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1078 = call i32 @s2n_print_stacktrace(ptr noundef %1077)
  %1079 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1080 = trunc i8 %1079 to i1
  br i1 %1080, label %1081, label %1103

1081:                                             ; preds = %1074
  %1082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1083 = call i32 @fileno(ptr noundef %1082) #9
  %1084 = call i32 @isatty(i32 noundef %1083) #9
  %1085 = icmp ne i32 %1084, 0
  br i1 %1085, label %1086, label %1103

1086:                                             ; preds = %1081
  %1087 = load i32, ptr %18, align 4, !tbaa !5
  %1088 = call ptr @__errno_location() #10
  store i32 %1087, ptr %1088, align 4, !tbaa !5
  %1089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1090 = load i32, ptr @test_count, align 4, !tbaa !5
  %1091 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1092 = load i32, ptr %1091, align 4, !tbaa !5
  %1093 = call ptr @s2n_strerror(i32 noundef %1092, ptr noundef @.str.4)
  %1094 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1095 = load i32, ptr %1094, align 4, !tbaa !5
  %1096 = call ptr @s2n_strerror_debug(i32 noundef %1095, ptr noundef @.str.4)
  %1097 = call ptr @__errno_location() #10
  %1098 = load i32, ptr %1097, align 4, !tbaa !5
  %1099 = call ptr @strerror(i32 noundef %1098) #9
  %1100 = call ptr @__errno_location() #10
  %1101 = load i32, ptr %1100, align 4, !tbaa !5
  %1102 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1089, ptr noundef @.str.2, i32 noundef %1090, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 260, ptr noundef %1093, ptr noundef %1096, ptr noundef %1099, i32 noundef %1101) #9
  br label %1120

1103:                                             ; preds = %1081, %1074
  %1104 = load i32, ptr %18, align 4, !tbaa !5
  %1105 = call ptr @__errno_location() #10
  store i32 %1104, ptr %1105, align 4, !tbaa !5
  %1106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1107 = load i32, ptr @test_count, align 4, !tbaa !5
  %1108 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1109 = load i32, ptr %1108, align 4, !tbaa !5
  %1110 = call ptr @s2n_strerror(i32 noundef %1109, ptr noundef @.str.4)
  %1111 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1112 = load i32, ptr %1111, align 4, !tbaa !5
  %1113 = call ptr @s2n_strerror_debug(i32 noundef %1112, ptr noundef @.str.4)
  %1114 = call ptr @__errno_location() #10
  %1115 = load i32, ptr %1114, align 4, !tbaa !5
  %1116 = call ptr @strerror(i32 noundef %1115) #9
  %1117 = call ptr @__errno_location() #10
  %1118 = load i32, ptr %1117, align 4, !tbaa !5
  %1119 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1106, ptr noundef @.str.5, i32 noundef %1107, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 260, ptr noundef %1110, ptr noundef %1113, ptr noundef %1116, i32 noundef %1118) #9
  br label %1120

1120:                                             ; preds = %1103, %1086
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #9
  br label %1121

1121:                                             ; preds = %1120
  call void @exit(i32 noundef 1) #11
  unreachable

1122:                                             ; No predecessors!
  br label %1123

1123:                                             ; preds = %1122, %1065
  br label %1124

1124:                                             ; preds = %1123
  br label %1125

1125:                                             ; preds = %1124
  %1126 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %1126, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %1127 = call ptr @__errno_location() #10
  store i32 0, ptr %1127, align 4, !tbaa !5
  br label %1128

1128:                                             ; preds = %1125
  br label %1129

1129:                                             ; preds = %1128
  br label %1130

1130:                                             ; preds = %1129
  br label %1131

1131:                                             ; preds = %1130
  %1132 = load i32, ptr @test_count, align 4, !tbaa !5
  %1133 = add nsw i32 %1132, 1
  store i32 %1133, ptr @test_count, align 4, !tbaa !5
  %1134 = call i32 @failure_lt()
  %1135 = icmp eq i32 %1134, -1
  br i1 %1135, label %1187, label %1136

1136:                                             ; preds = %1131
  br label %1137

1137:                                             ; preds = %1136
  br label %1138

1138:                                             ; preds = %1137
  call void @llvm.lifetime.start.p0(i64 4, ptr %19) #9
  %1139 = call ptr @__errno_location() #10
  %1140 = load i32, ptr %1139, align 4, !tbaa !5
  store i32 %1140, ptr %19, align 4, !tbaa !5
  %1141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1142 = call i32 @s2n_print_stacktrace(ptr noundef %1141)
  %1143 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1144 = trunc i8 %1143 to i1
  br i1 %1144, label %1145, label %1167

1145:                                             ; preds = %1138
  %1146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1147 = call i32 @fileno(ptr noundef %1146) #9
  %1148 = call i32 @isatty(i32 noundef %1147) #9
  %1149 = icmp ne i32 %1148, 0
  br i1 %1149, label %1150, label %1167

1150:                                             ; preds = %1145
  %1151 = load i32, ptr %19, align 4, !tbaa !5
  %1152 = call ptr @__errno_location() #10
  store i32 %1151, ptr %1152, align 4, !tbaa !5
  %1153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1154 = load i32, ptr @test_count, align 4, !tbaa !5
  %1155 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1156 = load i32, ptr %1155, align 4, !tbaa !5
  %1157 = call ptr @s2n_strerror(i32 noundef %1156, ptr noundef @.str.4)
  %1158 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1159 = load i32, ptr %1158, align 4, !tbaa !5
  %1160 = call ptr @s2n_strerror_debug(i32 noundef %1159, ptr noundef @.str.4)
  %1161 = call ptr @__errno_location() #10
  %1162 = load i32, ptr %1161, align 4, !tbaa !5
  %1163 = call ptr @strerror(i32 noundef %1162) #9
  %1164 = call ptr @__errno_location() #10
  %1165 = load i32, ptr %1164, align 4, !tbaa !5
  %1166 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1153, ptr noundef @.str.2, i32 noundef %1154, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 261, ptr noundef %1157, ptr noundef %1160, ptr noundef %1163, i32 noundef %1165) #9
  br label %1184

1167:                                             ; preds = %1145, %1138
  %1168 = load i32, ptr %19, align 4, !tbaa !5
  %1169 = call ptr @__errno_location() #10
  store i32 %1168, ptr %1169, align 4, !tbaa !5
  %1170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1171 = load i32, ptr @test_count, align 4, !tbaa !5
  %1172 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1173 = load i32, ptr %1172, align 4, !tbaa !5
  %1174 = call ptr @s2n_strerror(i32 noundef %1173, ptr noundef @.str.4)
  %1175 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1176 = load i32, ptr %1175, align 4, !tbaa !5
  %1177 = call ptr @s2n_strerror_debug(i32 noundef %1176, ptr noundef @.str.4)
  %1178 = call ptr @__errno_location() #10
  %1179 = load i32, ptr %1178, align 4, !tbaa !5
  %1180 = call ptr @strerror(i32 noundef %1179) #9
  %1181 = call ptr @__errno_location() #10
  %1182 = load i32, ptr %1181, align 4, !tbaa !5
  %1183 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1170, ptr noundef @.str.5, i32 noundef %1171, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 261, ptr noundef %1174, ptr noundef %1177, ptr noundef %1180, i32 noundef %1182) #9
  br label %1184

1184:                                             ; preds = %1167, %1150
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #9
  br label %1185

1185:                                             ; preds = %1184
  call void @exit(i32 noundef 1) #11
  unreachable

1186:                                             ; No predecessors!
  br label %1187

1187:                                             ; preds = %1186, %1131
  br label %1188

1188:                                             ; preds = %1187
  br label %1189

1189:                                             ; preds = %1188
  %1190 = load i32, ptr @test_count, align 4, !tbaa !5
  %1191 = add nsw i32 %1190, 1
  store i32 %1191, ptr @test_count, align 4, !tbaa !5
  %1192 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1193 = load i32, ptr %1192, align 4, !tbaa !5
  %1194 = icmp eq i32 %1193, 0
  br i1 %1194, label %1195, label %1246

1195:                                             ; preds = %1189
  br label %1196

1196:                                             ; preds = %1195
  br label %1197

1197:                                             ; preds = %1196
  call void @llvm.lifetime.start.p0(i64 4, ptr %20) #9
  %1198 = call ptr @__errno_location() #10
  %1199 = load i32, ptr %1198, align 4, !tbaa !5
  store i32 %1199, ptr %20, align 4, !tbaa !5
  %1200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1201 = call i32 @s2n_print_stacktrace(ptr noundef %1200)
  %1202 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1203 = trunc i8 %1202 to i1
  br i1 %1203, label %1204, label %1226

1204:                                             ; preds = %1197
  %1205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1206 = call i32 @fileno(ptr noundef %1205) #9
  %1207 = call i32 @isatty(i32 noundef %1206) #9
  %1208 = icmp ne i32 %1207, 0
  br i1 %1208, label %1209, label %1226

1209:                                             ; preds = %1204
  %1210 = load i32, ptr %20, align 4, !tbaa !5
  %1211 = call ptr @__errno_location() #10
  store i32 %1210, ptr %1211, align 4, !tbaa !5
  %1212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1213 = load i32, ptr @test_count, align 4, !tbaa !5
  %1214 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1215 = load i32, ptr %1214, align 4, !tbaa !5
  %1216 = call ptr @s2n_strerror(i32 noundef %1215, ptr noundef @.str.4)
  %1217 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1218 = load i32, ptr %1217, align 4, !tbaa !5
  %1219 = call ptr @s2n_strerror_debug(i32 noundef %1218, ptr noundef @.str.4)
  %1220 = call ptr @__errno_location() #10
  %1221 = load i32, ptr %1220, align 4, !tbaa !5
  %1222 = call ptr @strerror(i32 noundef %1221) #9
  %1223 = call ptr @__errno_location() #10
  %1224 = load i32, ptr %1223, align 4, !tbaa !5
  %1225 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1212, ptr noundef @.str.2, i32 noundef %1213, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 261, ptr noundef %1216, ptr noundef %1219, ptr noundef %1222, i32 noundef %1224) #9
  br label %1243

1226:                                             ; preds = %1204, %1197
  %1227 = load i32, ptr %20, align 4, !tbaa !5
  %1228 = call ptr @__errno_location() #10
  store i32 %1227, ptr %1228, align 4, !tbaa !5
  %1229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1230 = load i32, ptr @test_count, align 4, !tbaa !5
  %1231 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1232 = load i32, ptr %1231, align 4, !tbaa !5
  %1233 = call ptr @s2n_strerror(i32 noundef %1232, ptr noundef @.str.4)
  %1234 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1235 = load i32, ptr %1234, align 4, !tbaa !5
  %1236 = call ptr @s2n_strerror_debug(i32 noundef %1235, ptr noundef @.str.4)
  %1237 = call ptr @__errno_location() #10
  %1238 = load i32, ptr %1237, align 4, !tbaa !5
  %1239 = call ptr @strerror(i32 noundef %1238) #9
  %1240 = call ptr @__errno_location() #10
  %1241 = load i32, ptr %1240, align 4, !tbaa !5
  %1242 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1229, ptr noundef @.str.5, i32 noundef %1230, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 261, ptr noundef %1233, ptr noundef %1236, ptr noundef %1239, i32 noundef %1241) #9
  br label %1243

1243:                                             ; preds = %1226, %1209
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #9
  br label %1244

1244:                                             ; preds = %1243
  call void @exit(i32 noundef 1) #11
  unreachable

1245:                                             ; No predecessors!
  br label %1246

1246:                                             ; preds = %1245, %1189
  br label %1247

1247:                                             ; preds = %1246
  br label %1248

1248:                                             ; preds = %1247
  %1249 = load i32, ptr @test_count, align 4, !tbaa !5
  %1250 = add nsw i32 %1249, 1
  store i32 %1250, ptr @test_count, align 4, !tbaa !5
  %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 = icmp eq ptr %1253, null
  br i1 %1254, label %1255, label %1306

1255:                                             ; preds = %1248
  br label %1256

1256:                                             ; preds = %1255
  br label %1257

1257:                                             ; preds = %1256
  call void @llvm.lifetime.start.p0(i64 4, ptr %21) #9
  %1258 = call ptr @__errno_location() #10
  %1259 = load i32, ptr %1258, align 4, !tbaa !5
  store i32 %1259, ptr %21, align 4, !tbaa !5
  %1260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1261 = call i32 @s2n_print_stacktrace(ptr noundef %1260)
  %1262 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1263 = trunc i8 %1262 to i1
  br i1 %1263, label %1264, label %1286

1264:                                             ; preds = %1257
  %1265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1266 = call i32 @fileno(ptr noundef %1265) #9
  %1267 = call i32 @isatty(i32 noundef %1266) #9
  %1268 = icmp ne i32 %1267, 0
  br i1 %1268, label %1269, label %1286

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

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

1303:                                             ; preds = %1286, %1269
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #9
  br label %1304

1304:                                             ; preds = %1303
  call void @exit(i32 noundef 1) #11
  unreachable

1305:                                             ; No predecessors!
  br label %1306

1306:                                             ; preds = %1305, %1248
  br label %1307

1307:                                             ; preds = %1306
  br label %1308

1308:                                             ; preds = %1307
  %1309 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %1309, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %1310 = call ptr @__errno_location() #10
  store i32 0, ptr %1310, align 4, !tbaa !5
  br label %1311

1311:                                             ; preds = %1308
  br label %1312

1312:                                             ; preds = %1311
  br label %1313

1313:                                             ; preds = %1312
  br label %1314

1314:                                             ; preds = %1313
  %1315 = load i32, ptr @test_count, align 4, !tbaa !5
  %1316 = add nsw i32 %1315, 1
  store i32 %1316, ptr @test_count, align 4, !tbaa !5
  %1317 = call i32 @failure_notnull()
  %1318 = icmp eq i32 %1317, -1
  br i1 %1318, label %1370, label %1319

1319:                                             ; preds = %1314
  br label %1320

1320:                                             ; preds = %1319
  br label %1321

1321:                                             ; preds = %1320
  call void @llvm.lifetime.start.p0(i64 4, ptr %22) #9
  %1322 = call ptr @__errno_location() #10
  %1323 = load i32, ptr %1322, align 4, !tbaa !5
  store i32 %1323, ptr %22, align 4, !tbaa !5
  %1324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1325 = call i32 @s2n_print_stacktrace(ptr noundef %1324)
  %1326 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1327 = trunc i8 %1326 to i1
  br i1 %1327, label %1328, label %1350

1328:                                             ; preds = %1321
  %1329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1330 = call i32 @fileno(ptr noundef %1329) #9
  %1331 = call i32 @isatty(i32 noundef %1330) #9
  %1332 = icmp ne i32 %1331, 0
  br i1 %1332, label %1333, label %1350

1333:                                             ; preds = %1328
  %1334 = load i32, ptr %22, align 4, !tbaa !5
  %1335 = call ptr @__errno_location() #10
  store i32 %1334, ptr %1335, align 4, !tbaa !5
  %1336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1337 = load i32, ptr @test_count, align 4, !tbaa !5
  %1338 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1339 = load i32, ptr %1338, align 4, !tbaa !5
  %1340 = call ptr @s2n_strerror(i32 noundef %1339, ptr noundef @.str.4)
  %1341 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1342 = load i32, ptr %1341, align 4, !tbaa !5
  %1343 = call ptr @s2n_strerror_debug(i32 noundef %1342, ptr noundef @.str.4)
  %1344 = call ptr @__errno_location() #10
  %1345 = load i32, ptr %1344, align 4, !tbaa !5
  %1346 = call ptr @strerror(i32 noundef %1345) #9
  %1347 = call ptr @__errno_location() #10
  %1348 = load i32, ptr %1347, align 4, !tbaa !5
  %1349 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1336, ptr noundef @.str.2, i32 noundef %1337, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 262, ptr noundef %1340, ptr noundef %1343, ptr noundef %1346, i32 noundef %1348) #9
  br label %1367

1350:                                             ; preds = %1328, %1321
  %1351 = load i32, ptr %22, align 4, !tbaa !5
  %1352 = call ptr @__errno_location() #10
  store i32 %1351, ptr %1352, align 4, !tbaa !5
  %1353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1354 = load i32, ptr @test_count, align 4, !tbaa !5
  %1355 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1356 = load i32, ptr %1355, align 4, !tbaa !5
  %1357 = call ptr @s2n_strerror(i32 noundef %1356, ptr noundef @.str.4)
  %1358 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1359 = load i32, ptr %1358, align 4, !tbaa !5
  %1360 = call ptr @s2n_strerror_debug(i32 noundef %1359, ptr noundef @.str.4)
  %1361 = call ptr @__errno_location() #10
  %1362 = load i32, ptr %1361, align 4, !tbaa !5
  %1363 = call ptr @strerror(i32 noundef %1362) #9
  %1364 = call ptr @__errno_location() #10
  %1365 = load i32, ptr %1364, align 4, !tbaa !5
  %1366 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1353, ptr noundef @.str.5, i32 noundef %1354, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 262, ptr noundef %1357, ptr noundef %1360, ptr noundef %1363, i32 noundef %1365) #9
  br label %1367

1367:                                             ; preds = %1350, %1333
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #9
  br label %1368

1368:                                             ; preds = %1367
  call void @exit(i32 noundef 1) #11
  unreachable

1369:                                             ; No predecessors!
  br label %1370

1370:                                             ; preds = %1369, %1314
  br label %1371

1371:                                             ; preds = %1370
  br label %1372

1372:                                             ; preds = %1371
  %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 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1376 = load i32, ptr %1375, align 4, !tbaa !5
  %1377 = icmp eq i32 %1376, 0
  br i1 %1377, label %1378, label %1429

1378:                                             ; preds = %1372
  br label %1379

1379:                                             ; preds = %1378
  br label %1380

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

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

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

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

1426:                                             ; preds = %1409, %1392
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #9
  br label %1427

1427:                                             ; preds = %1426
  call void @exit(i32 noundef 1) #11
  unreachable

1428:                                             ; No predecessors!
  br label %1429

1429:                                             ; preds = %1428, %1372
  br label %1430

1430:                                             ; preds = %1429
  br label %1431

1431:                                             ; preds = %1430
  %1432 = load i32, ptr @test_count, align 4, !tbaa !5
  %1433 = add nsw i32 %1432, 1
  store i32 %1433, ptr @test_count, align 4, !tbaa !5
  %1434 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1435 = load i32, ptr %1434, align 4, !tbaa !5
  %1436 = call ptr @s2n_strerror_debug(i32 noundef %1435, ptr noundef @.str.4)
  %1437 = icmp eq ptr %1436, null
  br i1 %1437, label %1438, label %1489

1438:                                             ; preds = %1431
  br label %1439

1439:                                             ; preds = %1438
  br label %1440

1440:                                             ; preds = %1439
  call void @llvm.lifetime.start.p0(i64 4, ptr %24) #9
  %1441 = call ptr @__errno_location() #10
  %1442 = load i32, ptr %1441, align 4, !tbaa !5
  store i32 %1442, ptr %24, align 4, !tbaa !5
  %1443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1444 = call i32 @s2n_print_stacktrace(ptr noundef %1443)
  %1445 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1446 = trunc i8 %1445 to i1
  br i1 %1446, label %1447, label %1469

1447:                                             ; preds = %1440
  %1448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1449 = call i32 @fileno(ptr noundef %1448) #9
  %1450 = call i32 @isatty(i32 noundef %1449) #9
  %1451 = icmp ne i32 %1450, 0
  br i1 %1451, label %1452, label %1469

1452:                                             ; preds = %1447
  %1453 = load i32, ptr %24, align 4, !tbaa !5
  %1454 = call ptr @__errno_location() #10
  store i32 %1453, ptr %1454, align 4, !tbaa !5
  %1455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1456 = load i32, ptr @test_count, align 4, !tbaa !5
  %1457 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1458 = load i32, ptr %1457, align 4, !tbaa !5
  %1459 = call ptr @s2n_strerror(i32 noundef %1458, ptr noundef @.str.4)
  %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_debug(i32 noundef %1461, ptr noundef @.str.4)
  %1463 = call ptr @__errno_location() #10
  %1464 = load i32, ptr %1463, align 4, !tbaa !5
  %1465 = call ptr @strerror(i32 noundef %1464) #9
  %1466 = call ptr @__errno_location() #10
  %1467 = load i32, ptr %1466, align 4, !tbaa !5
  %1468 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1455, ptr noundef @.str.2, i32 noundef %1456, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 262, ptr noundef %1459, ptr noundef %1462, ptr noundef %1465, i32 noundef %1467) #9
  br label %1486

1469:                                             ; preds = %1447, %1440
  %1470 = load i32, ptr %24, align 4, !tbaa !5
  %1471 = call ptr @__errno_location() #10
  store i32 %1470, ptr %1471, align 4, !tbaa !5
  %1472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1473 = load i32, ptr @test_count, align 4, !tbaa !5
  %1474 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1475 = load i32, ptr %1474, align 4, !tbaa !5
  %1476 = call ptr @s2n_strerror(i32 noundef %1475, ptr noundef @.str.4)
  %1477 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1478 = load i32, ptr %1477, align 4, !tbaa !5
  %1479 = call ptr @s2n_strerror_debug(i32 noundef %1478, ptr noundef @.str.4)
  %1480 = call ptr @__errno_location() #10
  %1481 = load i32, ptr %1480, align 4, !tbaa !5
  %1482 = call ptr @strerror(i32 noundef %1481) #9
  %1483 = call ptr @__errno_location() #10
  %1484 = load i32, ptr %1483, align 4, !tbaa !5
  %1485 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1472, ptr noundef @.str.5, i32 noundef %1473, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 262, ptr noundef %1476, ptr noundef %1479, ptr noundef %1482, i32 noundef %1484) #9
  br label %1486

1486:                                             ; preds = %1469, %1452
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #9
  br label %1487

1487:                                             ; preds = %1486
  call void @exit(i32 noundef 1) #11
  unreachable

1488:                                             ; No predecessors!
  br label %1489

1489:                                             ; preds = %1488, %1431
  br label %1490

1490:                                             ; preds = %1489
  br label %1491

1491:                                             ; preds = %1490
  %1492 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %1492, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %1493 = call ptr @__errno_location() #10
  store i32 0, ptr %1493, align 4, !tbaa !5
  br label %1494

1494:                                             ; preds = %1491
  br label %1495

1495:                                             ; preds = %1494
  br label %1496

1496:                                             ; preds = %1495
  br label %1497

1497:                                             ; preds = %1496
  %1498 = load i32, ptr @test_count, align 4, !tbaa !5
  %1499 = add nsw i32 %1498, 1
  store i32 %1499, ptr @test_count, align 4, !tbaa !5
  %1500 = call i32 @failure_memcpy()
  %1501 = icmp eq i32 %1500, -1
  br i1 %1501, label %1553, label %1502

1502:                                             ; preds = %1497
  br label %1503

1503:                                             ; preds = %1502
  br label %1504

1504:                                             ; preds = %1503
  call void @llvm.lifetime.start.p0(i64 4, ptr %25) #9
  %1505 = call ptr @__errno_location() #10
  %1506 = load i32, ptr %1505, align 4, !tbaa !5
  store i32 %1506, ptr %25, align 4, !tbaa !5
  %1507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1508 = call i32 @s2n_print_stacktrace(ptr noundef %1507)
  %1509 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1510 = trunc i8 %1509 to i1
  br i1 %1510, label %1511, label %1533

1511:                                             ; preds = %1504
  %1512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1513 = call i32 @fileno(ptr noundef %1512) #9
  %1514 = call i32 @isatty(i32 noundef %1513) #9
  %1515 = icmp ne i32 %1514, 0
  br i1 %1515, label %1516, label %1533

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

1533:                                             ; preds = %1511, %1504
  %1534 = load i32, ptr %25, align 4, !tbaa !5
  %1535 = call ptr @__errno_location() #10
  store i32 %1534, ptr %1535, align 4, !tbaa !5
  %1536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1537 = load i32, ptr @test_count, align 4, !tbaa !5
  %1538 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1539 = load i32, ptr %1538, align 4, !tbaa !5
  %1540 = call ptr @s2n_strerror(i32 noundef %1539, ptr noundef @.str.4)
  %1541 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1542 = load i32, ptr %1541, align 4, !tbaa !5
  %1543 = call ptr @s2n_strerror_debug(i32 noundef %1542, ptr noundef @.str.4)
  %1544 = call ptr @__errno_location() #10
  %1545 = load i32, ptr %1544, align 4, !tbaa !5
  %1546 = call ptr @strerror(i32 noundef %1545) #9
  %1547 = call ptr @__errno_location() #10
  %1548 = load i32, ptr %1547, align 4, !tbaa !5
  %1549 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1536, ptr noundef @.str.5, i32 noundef %1537, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 263, ptr noundef %1540, ptr noundef %1543, ptr noundef %1546, i32 noundef %1548) #9
  br label %1550

1550:                                             ; preds = %1533, %1516
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #9
  br label %1551

1551:                                             ; preds = %1550
  call void @exit(i32 noundef 1) #11
  unreachable

1552:                                             ; No predecessors!
  br label %1553

1553:                                             ; preds = %1552, %1497
  br label %1554

1554:                                             ; preds = %1553
  br label %1555

1555:                                             ; preds = %1554
  %1556 = load i32, ptr @test_count, align 4, !tbaa !5
  %1557 = add nsw i32 %1556, 1
  store i32 %1557, ptr @test_count, align 4, !tbaa !5
  %1558 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1559 = load i32, ptr %1558, align 4, !tbaa !5
  %1560 = icmp eq i32 %1559, 0
  br i1 %1560, label %1561, label %1612

1561:                                             ; preds = %1555
  br label %1562

1562:                                             ; preds = %1561
  br label %1563

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

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

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

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

1609:                                             ; preds = %1592, %1575
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #9
  br label %1610

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

1611:                                             ; No predecessors!
  br label %1612

1612:                                             ; preds = %1611, %1555
  br label %1613

1613:                                             ; preds = %1612
  br label %1614

1614:                                             ; preds = %1613
  %1615 = load i32, ptr @test_count, align 4, !tbaa !5
  %1616 = add nsw i32 %1615, 1
  store i32 %1616, ptr @test_count, align 4, !tbaa !5
  %1617 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1618 = load i32, ptr %1617, align 4, !tbaa !5
  %1619 = call ptr @s2n_strerror_debug(i32 noundef %1618, ptr noundef @.str.4)
  %1620 = icmp eq ptr %1619, null
  br i1 %1620, label %1621, label %1672

1621:                                             ; preds = %1614
  br label %1622

1622:                                             ; preds = %1621
  br label %1623

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

1630:                                             ; preds = %1623
  %1631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1632 = call i32 @fileno(ptr noundef %1631) #9
  %1633 = call i32 @isatty(i32 noundef %1632) #9
  %1634 = icmp ne i32 %1633, 0
  br i1 %1634, label %1635, label %1652

1635:                                             ; preds = %1630
  %1636 = load i32, ptr %27, align 4, !tbaa !5
  %1637 = call ptr @__errno_location() #10
  store i32 %1636, ptr %1637, align 4, !tbaa !5
  %1638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1639 = load i32, ptr @test_count, align 4, !tbaa !5
  %1640 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1641 = load i32, ptr %1640, align 4, !tbaa !5
  %1642 = call ptr @s2n_strerror(i32 noundef %1641, ptr noundef @.str.4)
  %1643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1644 = load i32, ptr %1643, align 4, !tbaa !5
  %1645 = call ptr @s2n_strerror_debug(i32 noundef %1644, ptr noundef @.str.4)
  %1646 = call ptr @__errno_location() #10
  %1647 = load i32, ptr %1646, align 4, !tbaa !5
  %1648 = call ptr @strerror(i32 noundef %1647) #9
  %1649 = call ptr @__errno_location() #10
  %1650 = load i32, ptr %1649, align 4, !tbaa !5
  %1651 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1638, ptr noundef @.str.2, i32 noundef %1639, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 263, ptr noundef %1642, ptr noundef %1645, ptr noundef %1648, i32 noundef %1650) #9
  br label %1669

1652:                                             ; preds = %1630, %1623
  %1653 = load i32, ptr %27, align 4, !tbaa !5
  %1654 = call ptr @__errno_location() #10
  store i32 %1653, ptr %1654, align 4, !tbaa !5
  %1655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1656 = load i32, ptr @test_count, align 4, !tbaa !5
  %1657 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1658 = load i32, ptr %1657, align 4, !tbaa !5
  %1659 = call ptr @s2n_strerror(i32 noundef %1658, ptr noundef @.str.4)
  %1660 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1661 = load i32, ptr %1660, align 4, !tbaa !5
  %1662 = call ptr @s2n_strerror_debug(i32 noundef %1661, ptr noundef @.str.4)
  %1663 = call ptr @__errno_location() #10
  %1664 = load i32, ptr %1663, align 4, !tbaa !5
  %1665 = call ptr @strerror(i32 noundef %1664) #9
  %1666 = call ptr @__errno_location() #10
  %1667 = load i32, ptr %1666, align 4, !tbaa !5
  %1668 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1655, ptr noundef @.str.5, i32 noundef %1656, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 263, ptr noundef %1659, ptr noundef %1662, ptr noundef %1665, i32 noundef %1667) #9
  br label %1669

1669:                                             ; preds = %1652, %1635
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #9
  br label %1670

1670:                                             ; preds = %1669
  call void @exit(i32 noundef 1) #11
  unreachable

1671:                                             ; No predecessors!
  br label %1672

1672:                                             ; preds = %1671, %1614
  br label %1673

1673:                                             ; preds = %1672
  br label %1674

1674:                                             ; preds = %1673
  %1675 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %1675, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %1676 = call ptr @__errno_location() #10
  store i32 0, ptr %1676, align 4, !tbaa !5
  br label %1677

1677:                                             ; preds = %1674
  br label %1678

1678:                                             ; preds = %1677
  br label %1679

1679:                                             ; preds = %1678
  br label %1680

1680:                                             ; preds = %1679
  %1681 = load i32, ptr @test_count, align 4, !tbaa !5
  %1682 = add nsw i32 %1681, 1
  store i32 %1682, ptr @test_count, align 4, !tbaa !5
  %1683 = call i32 @failure_inclusive_range_too_high()
  %1684 = icmp eq i32 %1683, -1
  br i1 %1684, label %1736, label %1685

1685:                                             ; preds = %1680
  br label %1686

1686:                                             ; preds = %1685
  br label %1687

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

1694:                                             ; preds = %1687
  %1695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1696 = call i32 @fileno(ptr noundef %1695) #9
  %1697 = call i32 @isatty(i32 noundef %1696) #9
  %1698 = icmp ne i32 %1697, 0
  br i1 %1698, label %1699, label %1716

1699:                                             ; preds = %1694
  %1700 = load i32, ptr %28, align 4, !tbaa !5
  %1701 = call ptr @__errno_location() #10
  store i32 %1700, ptr %1701, align 4, !tbaa !5
  %1702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1703 = load i32, ptr @test_count, align 4, !tbaa !5
  %1704 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1705 = load i32, ptr %1704, align 4, !tbaa !5
  %1706 = call ptr @s2n_strerror(i32 noundef %1705, ptr noundef @.str.4)
  %1707 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1708 = load i32, ptr %1707, align 4, !tbaa !5
  %1709 = call ptr @s2n_strerror_debug(i32 noundef %1708, ptr noundef @.str.4)
  %1710 = call ptr @__errno_location() #10
  %1711 = load i32, ptr %1710, align 4, !tbaa !5
  %1712 = call ptr @strerror(i32 noundef %1711) #9
  %1713 = call ptr @__errno_location() #10
  %1714 = load i32, ptr %1713, align 4, !tbaa !5
  %1715 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1702, ptr noundef @.str.2, i32 noundef %1703, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 264, ptr noundef %1706, ptr noundef %1709, ptr noundef %1712, i32 noundef %1714) #9
  br label %1733

1716:                                             ; preds = %1694, %1687
  %1717 = load i32, ptr %28, align 4, !tbaa !5
  %1718 = call ptr @__errno_location() #10
  store i32 %1717, ptr %1718, align 4, !tbaa !5
  %1719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1720 = load i32, ptr @test_count, align 4, !tbaa !5
  %1721 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1722 = load i32, ptr %1721, align 4, !tbaa !5
  %1723 = call ptr @s2n_strerror(i32 noundef %1722, ptr noundef @.str.4)
  %1724 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1725 = load i32, ptr %1724, align 4, !tbaa !5
  %1726 = call ptr @s2n_strerror_debug(i32 noundef %1725, ptr noundef @.str.4)
  %1727 = call ptr @__errno_location() #10
  %1728 = load i32, ptr %1727, align 4, !tbaa !5
  %1729 = call ptr @strerror(i32 noundef %1728) #9
  %1730 = call ptr @__errno_location() #10
  %1731 = load i32, ptr %1730, align 4, !tbaa !5
  %1732 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1719, ptr noundef @.str.5, i32 noundef %1720, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 264, ptr noundef %1723, ptr noundef %1726, ptr noundef %1729, i32 noundef %1731) #9
  br label %1733

1733:                                             ; preds = %1716, %1699
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #9
  br label %1734

1734:                                             ; preds = %1733
  call void @exit(i32 noundef 1) #11
  unreachable

1735:                                             ; No predecessors!
  br label %1736

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

1737:                                             ; preds = %1736
  br label %1738

1738:                                             ; preds = %1737
  %1739 = load i32, ptr @test_count, align 4, !tbaa !5
  %1740 = add nsw i32 %1739, 1
  store i32 %1740, ptr @test_count, align 4, !tbaa !5
  %1741 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1742 = load i32, ptr %1741, align 4, !tbaa !5
  %1743 = icmp eq i32 %1742, 0
  br i1 %1743, label %1744, label %1795

1744:                                             ; preds = %1738
  br label %1745

1745:                                             ; preds = %1744
  br label %1746

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

1753:                                             ; preds = %1746
  %1754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1755 = call i32 @fileno(ptr noundef %1754) #9
  %1756 = call i32 @isatty(i32 noundef %1755) #9
  %1757 = icmp ne i32 %1756, 0
  br i1 %1757, label %1758, label %1775

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

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

1792:                                             ; preds = %1775, %1758
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #9
  br label %1793

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

1794:                                             ; No predecessors!
  br label %1795

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

1796:                                             ; preds = %1795
  br label %1797

1797:                                             ; preds = %1796
  %1798 = load i32, ptr @test_count, align 4, !tbaa !5
  %1799 = add nsw i32 %1798, 1
  store i32 %1799, ptr @test_count, align 4, !tbaa !5
  %1800 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1801 = load i32, ptr %1800, align 4, !tbaa !5
  %1802 = call ptr @s2n_strerror_debug(i32 noundef %1801, ptr noundef @.str.4)
  %1803 = icmp eq ptr %1802, null
  br i1 %1803, label %1804, label %1855

1804:                                             ; preds = %1797
  br label %1805

1805:                                             ; preds = %1804
  br label %1806

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

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

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

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

1852:                                             ; preds = %1835, %1818
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #9
  br label %1853

1853:                                             ; preds = %1852
  call void @exit(i32 noundef 1) #11
  unreachable

1854:                                             ; No predecessors!
  br label %1855

1855:                                             ; preds = %1854, %1797
  br label %1856

1856:                                             ; preds = %1855
  br label %1857

1857:                                             ; preds = %1856
  %1858 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %1858, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %1859 = call ptr @__errno_location() #10
  store i32 0, ptr %1859, align 4, !tbaa !5
  br label %1860

1860:                                             ; preds = %1857
  br label %1861

1861:                                             ; preds = %1860
  br label %1862

1862:                                             ; preds = %1861
  br label %1863

1863:                                             ; preds = %1862
  %1864 = load i32, ptr @test_count, align 4, !tbaa !5
  %1865 = add nsw i32 %1864, 1
  store i32 %1865, ptr @test_count, align 4, !tbaa !5
  %1866 = call i32 @failure_inclusive_range_too_low()
  %1867 = icmp eq i32 %1866, -1
  br i1 %1867, label %1919, label %1868

1868:                                             ; preds = %1863
  br label %1869

1869:                                             ; preds = %1868
  br label %1870

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

1877:                                             ; preds = %1870
  %1878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1879 = call i32 @fileno(ptr noundef %1878) #9
  %1880 = call i32 @isatty(i32 noundef %1879) #9
  %1881 = icmp ne i32 %1880, 0
  br i1 %1881, label %1882, label %1899

1882:                                             ; preds = %1877
  %1883 = load i32, ptr %31, align 4, !tbaa !5
  %1884 = call ptr @__errno_location() #10
  store i32 %1883, ptr %1884, align 4, !tbaa !5
  %1885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1886 = load i32, ptr @test_count, align 4, !tbaa !5
  %1887 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1888 = load i32, ptr %1887, align 4, !tbaa !5
  %1889 = call ptr @s2n_strerror(i32 noundef %1888, ptr noundef @.str.4)
  %1890 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1891 = load i32, ptr %1890, align 4, !tbaa !5
  %1892 = call ptr @s2n_strerror_debug(i32 noundef %1891, ptr noundef @.str.4)
  %1893 = call ptr @__errno_location() #10
  %1894 = load i32, ptr %1893, align 4, !tbaa !5
  %1895 = call ptr @strerror(i32 noundef %1894) #9
  %1896 = call ptr @__errno_location() #10
  %1897 = load i32, ptr %1896, align 4, !tbaa !5
  %1898 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1885, ptr noundef @.str.2, i32 noundef %1886, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 265, ptr noundef %1889, ptr noundef %1892, ptr noundef %1895, i32 noundef %1897) #9
  br label %1916

1899:                                             ; preds = %1877, %1870
  %1900 = load i32, ptr %31, align 4, !tbaa !5
  %1901 = call ptr @__errno_location() #10
  store i32 %1900, ptr %1901, align 4, !tbaa !5
  %1902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1903 = load i32, ptr @test_count, align 4, !tbaa !5
  %1904 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1905 = load i32, ptr %1904, align 4, !tbaa !5
  %1906 = call ptr @s2n_strerror(i32 noundef %1905, ptr noundef @.str.4)
  %1907 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1908 = load i32, ptr %1907, align 4, !tbaa !5
  %1909 = call ptr @s2n_strerror_debug(i32 noundef %1908, ptr noundef @.str.4)
  %1910 = call ptr @__errno_location() #10
  %1911 = load i32, ptr %1910, align 4, !tbaa !5
  %1912 = call ptr @strerror(i32 noundef %1911) #9
  %1913 = call ptr @__errno_location() #10
  %1914 = load i32, ptr %1913, align 4, !tbaa !5
  %1915 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1902, ptr noundef @.str.5, i32 noundef %1903, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 265, ptr noundef %1906, ptr noundef %1909, ptr noundef %1912, i32 noundef %1914) #9
  br label %1916

1916:                                             ; preds = %1899, %1882
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #9
  br label %1917

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

1918:                                             ; No predecessors!
  br label %1919

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

1920:                                             ; preds = %1919
  br label %1921

1921:                                             ; preds = %1920
  %1922 = load i32, ptr @test_count, align 4, !tbaa !5
  %1923 = add nsw i32 %1922, 1
  store i32 %1923, ptr @test_count, align 4, !tbaa !5
  %1924 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1925 = load i32, ptr %1924, align 4, !tbaa !5
  %1926 = icmp eq i32 %1925, 0
  br i1 %1926, label %1927, label %1978

1927:                                             ; preds = %1921
  br label %1928

1928:                                             ; preds = %1927
  br label %1929

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

1936:                                             ; preds = %1929
  %1937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1938 = call i32 @fileno(ptr noundef %1937) #9
  %1939 = call i32 @isatty(i32 noundef %1938) #9
  %1940 = icmp ne i32 %1939, 0
  br i1 %1940, label %1941, label %1958

1941:                                             ; preds = %1936
  %1942 = load i32, ptr %32, align 4, !tbaa !5
  %1943 = call ptr @__errno_location() #10
  store i32 %1942, ptr %1943, align 4, !tbaa !5
  %1944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1945 = load i32, ptr @test_count, align 4, !tbaa !5
  %1946 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1947 = load i32, ptr %1946, align 4, !tbaa !5
  %1948 = call ptr @s2n_strerror(i32 noundef %1947, ptr noundef @.str.4)
  %1949 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1950 = load i32, ptr %1949, align 4, !tbaa !5
  %1951 = call ptr @s2n_strerror_debug(i32 noundef %1950, ptr noundef @.str.4)
  %1952 = call ptr @__errno_location() #10
  %1953 = load i32, ptr %1952, align 4, !tbaa !5
  %1954 = call ptr @strerror(i32 noundef %1953) #9
  %1955 = call ptr @__errno_location() #10
  %1956 = load i32, ptr %1955, align 4, !tbaa !5
  %1957 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1944, ptr noundef @.str.2, i32 noundef %1945, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 265, ptr noundef %1948, ptr noundef %1951, ptr noundef %1954, i32 noundef %1956) #9
  br label %1975

1958:                                             ; preds = %1936, %1929
  %1959 = load i32, ptr %32, align 4, !tbaa !5
  %1960 = call ptr @__errno_location() #10
  store i32 %1959, ptr %1960, align 4, !tbaa !5
  %1961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1962 = load i32, ptr @test_count, align 4, !tbaa !5
  %1963 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1964 = load i32, ptr %1963, align 4, !tbaa !5
  %1965 = call ptr @s2n_strerror(i32 noundef %1964, ptr noundef @.str.4)
  %1966 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1967 = load i32, ptr %1966, align 4, !tbaa !5
  %1968 = call ptr @s2n_strerror_debug(i32 noundef %1967, ptr noundef @.str.4)
  %1969 = call ptr @__errno_location() #10
  %1970 = load i32, ptr %1969, align 4, !tbaa !5
  %1971 = call ptr @strerror(i32 noundef %1970) #9
  %1972 = call ptr @__errno_location() #10
  %1973 = load i32, ptr %1972, align 4, !tbaa !5
  %1974 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1961, ptr noundef @.str.5, i32 noundef %1962, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 265, ptr noundef %1965, ptr noundef %1968, ptr noundef %1971, i32 noundef %1973) #9
  br label %1975

1975:                                             ; preds = %1958, %1941
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #9
  br label %1976

1976:                                             ; preds = %1975
  call void @exit(i32 noundef 1) #11
  unreachable

1977:                                             ; No predecessors!
  br label %1978

1978:                                             ; preds = %1977, %1921
  br label %1979

1979:                                             ; preds = %1978
  br label %1980

1980:                                             ; preds = %1979
  %1981 = load i32, ptr @test_count, align 4, !tbaa !5
  %1982 = add nsw i32 %1981, 1
  store i32 %1982, ptr @test_count, align 4, !tbaa !5
  %1983 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1984 = load i32, ptr %1983, align 4, !tbaa !5
  %1985 = call ptr @s2n_strerror_debug(i32 noundef %1984, ptr noundef @.str.4)
  %1986 = icmp eq ptr %1985, null
  br i1 %1986, label %1987, label %2038

1987:                                             ; preds = %1980
  br label %1988

1988:                                             ; preds = %1987
  br label %1989

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

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

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

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

2035:                                             ; preds = %2018, %2001
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #9
  br label %2036

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

2037:                                             ; No predecessors!
  br label %2038

2038:                                             ; preds = %2037, %1980
  br label %2039

2039:                                             ; preds = %2038
  br label %2040

2040:                                             ; preds = %2039
  %2041 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %2041, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %2042 = call ptr @__errno_location() #10
  store i32 0, ptr %2042, align 4, !tbaa !5
  br label %2043

2043:                                             ; preds = %2040
  br label %2044

2044:                                             ; preds = %2043
  br label %2045

2045:                                             ; preds = %2044
  br label %2046

2046:                                             ; preds = %2045
  %2047 = load i32, ptr @test_count, align 4, !tbaa !5
  %2048 = add nsw i32 %2047, 1
  store i32 %2048, ptr @test_count, align 4, !tbaa !5
  %2049 = call i32 @failure_exclusive_range_too_high()
  %2050 = icmp eq i32 %2049, -1
  br i1 %2050, label %2102, label %2051

2051:                                             ; preds = %2046
  br label %2052

2052:                                             ; preds = %2051
  br label %2053

2053:                                             ; preds = %2052
  call void @llvm.lifetime.start.p0(i64 4, ptr %34) #9
  %2054 = call ptr @__errno_location() #10
  %2055 = load i32, ptr %2054, align 4, !tbaa !5
  store i32 %2055, ptr %34, 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) #9
  %2063 = call i32 @isatty(i32 noundef %2062) #9
  %2064 = icmp ne i32 %2063, 0
  br i1 %2064, label %2065, label %2082

2065:                                             ; preds = %2060
  %2066 = load i32, ptr %34, align 4, !tbaa !5
  %2067 = call ptr @__errno_location() #10
  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() #10
  %2077 = load i32, ptr %2076, align 4, !tbaa !5
  %2078 = call ptr @strerror(i32 noundef %2077) #9
  %2079 = call ptr @__errno_location() #10
  %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.19, ptr noundef @.str.1, i32 noundef 266, ptr noundef %2072, ptr noundef %2075, ptr noundef %2078, i32 noundef %2080) #9
  br label %2099

2082:                                             ; preds = %2060, %2053
  %2083 = load i32, ptr %34, align 4, !tbaa !5
  %2084 = call ptr @__errno_location() #10
  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() #10
  %2094 = load i32, ptr %2093, align 4, !tbaa !5
  %2095 = call ptr @strerror(i32 noundef %2094) #9
  %2096 = call ptr @__errno_location() #10
  %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.19, ptr noundef @.str.1, i32 noundef 266, ptr noundef %2089, ptr noundef %2092, ptr noundef %2095, i32 noundef %2097) #9
  br label %2099

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

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

2101:                                             ; No predecessors!
  br label %2102

2102:                                             ; preds = %2101, %2046
  br label %2103

2103:                                             ; preds = %2102
  br label %2104

2104:                                             ; preds = %2103
  %2105 = load i32, ptr @test_count, align 4, !tbaa !5
  %2106 = add nsw i32 %2105, 1
  store i32 %2106, ptr @test_count, align 4, !tbaa !5
  %2107 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2108 = load i32, ptr %2107, align 4, !tbaa !5
  %2109 = icmp eq i32 %2108, 0
  br i1 %2109, label %2110, label %2161

2110:                                             ; preds = %2104
  br label %2111

2111:                                             ; preds = %2110
  br label %2112

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

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

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

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

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

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

2160:                                             ; No predecessors!
  br label %2161

2161:                                             ; preds = %2160, %2104
  br label %2162

2162:                                             ; preds = %2161
  br label %2163

2163:                                             ; preds = %2162
  %2164 = load i32, ptr @test_count, align 4, !tbaa !5
  %2165 = add nsw i32 %2164, 1
  store i32 %2165, ptr @test_count, align 4, !tbaa !5
  %2166 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2167 = load i32, ptr %2166, align 4, !tbaa !5
  %2168 = call ptr @s2n_strerror_debug(i32 noundef %2167, ptr noundef @.str.4)
  %2169 = icmp eq ptr %2168, null
  br i1 %2169, label %2170, label %2221

2170:                                             ; preds = %2163
  br label %2171

2171:                                             ; preds = %2170
  br label %2172

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

2179:                                             ; preds = %2172
  %2180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2181 = call i32 @fileno(ptr noundef %2180) #9
  %2182 = call i32 @isatty(i32 noundef %2181) #9
  %2183 = icmp ne i32 %2182, 0
  br i1 %2183, label %2184, label %2201

2184:                                             ; preds = %2179
  %2185 = load i32, ptr %36, align 4, !tbaa !5
  %2186 = call ptr @__errno_location() #10
  store i32 %2185, ptr %2186, align 4, !tbaa !5
  %2187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2188 = load i32, ptr @test_count, align 4, !tbaa !5
  %2189 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2190 = load i32, ptr %2189, align 4, !tbaa !5
  %2191 = call ptr @s2n_strerror(i32 noundef %2190, ptr noundef @.str.4)
  %2192 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2193 = load i32, ptr %2192, align 4, !tbaa !5
  %2194 = call ptr @s2n_strerror_debug(i32 noundef %2193, ptr noundef @.str.4)
  %2195 = call ptr @__errno_location() #10
  %2196 = load i32, ptr %2195, align 4, !tbaa !5
  %2197 = call ptr @strerror(i32 noundef %2196) #9
  %2198 = call ptr @__errno_location() #10
  %2199 = load i32, ptr %2198, align 4, !tbaa !5
  %2200 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2187, ptr noundef @.str.2, i32 noundef %2188, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 266, ptr noundef %2191, ptr noundef %2194, ptr noundef %2197, i32 noundef %2199) #9
  br label %2218

2201:                                             ; preds = %2179, %2172
  %2202 = load i32, ptr %36, align 4, !tbaa !5
  %2203 = call ptr @__errno_location() #10
  store i32 %2202, ptr %2203, align 4, !tbaa !5
  %2204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2205 = load i32, ptr @test_count, align 4, !tbaa !5
  %2206 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2207 = load i32, ptr %2206, align 4, !tbaa !5
  %2208 = call ptr @s2n_strerror(i32 noundef %2207, ptr noundef @.str.4)
  %2209 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2210 = load i32, ptr %2209, align 4, !tbaa !5
  %2211 = call ptr @s2n_strerror_debug(i32 noundef %2210, ptr noundef @.str.4)
  %2212 = call ptr @__errno_location() #10
  %2213 = load i32, ptr %2212, align 4, !tbaa !5
  %2214 = call ptr @strerror(i32 noundef %2213) #9
  %2215 = call ptr @__errno_location() #10
  %2216 = load i32, ptr %2215, align 4, !tbaa !5
  %2217 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2204, ptr noundef @.str.5, i32 noundef %2205, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 266, ptr noundef %2208, ptr noundef %2211, ptr noundef %2214, i32 noundef %2216) #9
  br label %2218

2218:                                             ; preds = %2201, %2184
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #9
  br label %2219

2219:                                             ; preds = %2218
  call void @exit(i32 noundef 1) #11
  unreachable

2220:                                             ; No predecessors!
  br label %2221

2221:                                             ; preds = %2220, %2163
  br label %2222

2222:                                             ; preds = %2221
  br label %2223

2223:                                             ; preds = %2222
  %2224 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %2224, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %2225 = call ptr @__errno_location() #10
  store i32 0, ptr %2225, align 4, !tbaa !5
  br label %2226

2226:                                             ; preds = %2223
  br label %2227

2227:                                             ; preds = %2226
  br label %2228

2228:                                             ; preds = %2227
  br label %2229

2229:                                             ; preds = %2228
  %2230 = load i32, ptr @test_count, align 4, !tbaa !5
  %2231 = add nsw i32 %2230, 1
  store i32 %2231, ptr @test_count, align 4, !tbaa !5
  %2232 = call i32 @failure_exclusive_range_too_low()
  %2233 = icmp eq i32 %2232, -1
  br i1 %2233, label %2285, label %2234

2234:                                             ; preds = %2229
  br label %2235

2235:                                             ; preds = %2234
  br label %2236

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

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

2248:                                             ; preds = %2243
  %2249 = load i32, ptr %37, align 4, !tbaa !5
  %2250 = call ptr @__errno_location() #10
  store i32 %2249, ptr %2250, align 4, !tbaa !5
  %2251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2252 = load i32, ptr @test_count, align 4, !tbaa !5
  %2253 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2254 = load i32, ptr %2253, align 4, !tbaa !5
  %2255 = call ptr @s2n_strerror(i32 noundef %2254, ptr noundef @.str.4)
  %2256 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2257 = load i32, ptr %2256, align 4, !tbaa !5
  %2258 = call ptr @s2n_strerror_debug(i32 noundef %2257, ptr noundef @.str.4)
  %2259 = call ptr @__errno_location() #10
  %2260 = load i32, ptr %2259, align 4, !tbaa !5
  %2261 = call ptr @strerror(i32 noundef %2260) #9
  %2262 = call ptr @__errno_location() #10
  %2263 = load i32, ptr %2262, align 4, !tbaa !5
  %2264 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2251, ptr noundef @.str.2, i32 noundef %2252, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 267, ptr noundef %2255, ptr noundef %2258, ptr noundef %2261, i32 noundef %2263) #9
  br label %2282

2265:                                             ; preds = %2243, %2236
  %2266 = load i32, ptr %37, align 4, !tbaa !5
  %2267 = call ptr @__errno_location() #10
  store i32 %2266, ptr %2267, align 4, !tbaa !5
  %2268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2269 = load i32, ptr @test_count, align 4, !tbaa !5
  %2270 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2271 = load i32, ptr %2270, align 4, !tbaa !5
  %2272 = call ptr @s2n_strerror(i32 noundef %2271, ptr noundef @.str.4)
  %2273 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2274 = load i32, ptr %2273, align 4, !tbaa !5
  %2275 = call ptr @s2n_strerror_debug(i32 noundef %2274, ptr noundef @.str.4)
  %2276 = call ptr @__errno_location() #10
  %2277 = load i32, ptr %2276, align 4, !tbaa !5
  %2278 = call ptr @strerror(i32 noundef %2277) #9
  %2279 = call ptr @__errno_location() #10
  %2280 = load i32, ptr %2279, align 4, !tbaa !5
  %2281 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2268, ptr noundef @.str.5, i32 noundef %2269, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 267, ptr noundef %2272, ptr noundef %2275, ptr noundef %2278, i32 noundef %2280) #9
  br label %2282

2282:                                             ; preds = %2265, %2248
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #9
  br label %2283

2283:                                             ; preds = %2282
  call void @exit(i32 noundef 1) #11
  unreachable

2284:                                             ; No predecessors!
  br label %2285

2285:                                             ; preds = %2284, %2229
  br label %2286

2286:                                             ; preds = %2285
  br label %2287

2287:                                             ; preds = %2286
  %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 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2291 = load i32, ptr %2290, align 4, !tbaa !5
  %2292 = icmp eq i32 %2291, 0
  br i1 %2292, label %2293, label %2344

2293:                                             ; preds = %2287
  br label %2294

2294:                                             ; preds = %2293
  br label %2295

2295:                                             ; preds = %2294
  call void @llvm.lifetime.start.p0(i64 4, ptr %38) #9
  %2296 = call ptr @__errno_location() #10
  %2297 = load i32, ptr %2296, align 4, !tbaa !5
  store i32 %2297, ptr %38, align 4, !tbaa !5
  %2298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2299 = call i32 @s2n_print_stacktrace(ptr noundef %2298)
  %2300 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2301 = trunc i8 %2300 to i1
  br i1 %2301, label %2302, label %2324

2302:                                             ; preds = %2295
  %2303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2304 = call i32 @fileno(ptr noundef %2303) #9
  %2305 = call i32 @isatty(i32 noundef %2304) #9
  %2306 = icmp ne i32 %2305, 0
  br i1 %2306, label %2307, label %2324

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

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

2341:                                             ; preds = %2324, %2307
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #9
  br label %2342

2342:                                             ; preds = %2341
  call void @exit(i32 noundef 1) #11
  unreachable

2343:                                             ; No predecessors!
  br label %2344

2344:                                             ; preds = %2343, %2287
  br label %2345

2345:                                             ; preds = %2344
  br label %2346

2346:                                             ; preds = %2345
  %2347 = load i32, ptr @test_count, align 4, !tbaa !5
  %2348 = add nsw i32 %2347, 1
  store i32 %2348, ptr @test_count, align 4, !tbaa !5
  %2349 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2350 = load i32, ptr %2349, align 4, !tbaa !5
  %2351 = call ptr @s2n_strerror_debug(i32 noundef %2350, ptr noundef @.str.4)
  %2352 = icmp eq ptr %2351, null
  br i1 %2352, label %2353, label %2404

2353:                                             ; preds = %2346
  br label %2354

2354:                                             ; preds = %2353
  br label %2355

2355:                                             ; preds = %2354
  call void @llvm.lifetime.start.p0(i64 4, ptr %39) #9
  %2356 = call ptr @__errno_location() #10
  %2357 = load i32, ptr %2356, align 4, !tbaa !5
  store i32 %2357, ptr %39, align 4, !tbaa !5
  %2358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2359 = call i32 @s2n_print_stacktrace(ptr noundef %2358)
  %2360 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2361 = trunc i8 %2360 to i1
  br i1 %2361, label %2362, label %2384

2362:                                             ; preds = %2355
  %2363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2364 = call i32 @fileno(ptr noundef %2363) #9
  %2365 = call i32 @isatty(i32 noundef %2364) #9
  %2366 = icmp ne i32 %2365, 0
  br i1 %2366, label %2367, label %2384

2367:                                             ; preds = %2362
  %2368 = load i32, ptr %39, align 4, !tbaa !5
  %2369 = call ptr @__errno_location() #10
  store i32 %2368, ptr %2369, align 4, !tbaa !5
  %2370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2371 = load i32, ptr @test_count, align 4, !tbaa !5
  %2372 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2373 = load i32, ptr %2372, align 4, !tbaa !5
  %2374 = call ptr @s2n_strerror(i32 noundef %2373, ptr noundef @.str.4)
  %2375 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2376 = load i32, ptr %2375, align 4, !tbaa !5
  %2377 = call ptr @s2n_strerror_debug(i32 noundef %2376, ptr noundef @.str.4)
  %2378 = call ptr @__errno_location() #10
  %2379 = load i32, ptr %2378, align 4, !tbaa !5
  %2380 = call ptr @strerror(i32 noundef %2379) #9
  %2381 = call ptr @__errno_location() #10
  %2382 = load i32, ptr %2381, align 4, !tbaa !5
  %2383 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2370, ptr noundef @.str.2, i32 noundef %2371, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 267, ptr noundef %2374, ptr noundef %2377, ptr noundef %2380, i32 noundef %2382) #9
  br label %2401

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

2401:                                             ; preds = %2384, %2367
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #9
  br label %2402

2402:                                             ; preds = %2401
  call void @exit(i32 noundef 1) #11
  unreachable

2403:                                             ; No predecessors!
  br label %2404

2404:                                             ; preds = %2403, %2346
  br label %2405

2405:                                             ; preds = %2404
  br label %2406

2406:                                             ; preds = %2405
  %2407 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %2407, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %2408 = call ptr @__errno_location() #10
  store i32 0, ptr %2408, align 4, !tbaa !5
  br label %2409

2409:                                             ; preds = %2406
  br label %2410

2410:                                             ; preds = %2409
  br label %2411

2411:                                             ; preds = %2410
  br label %2412

2412:                                             ; preds = %2411
  %2413 = load i32, ptr @test_count, align 4, !tbaa !5
  %2414 = add nsw i32 %2413, 1
  store i32 %2414, ptr @test_count, align 4, !tbaa !5
  %2415 = call i32 @failure_exclusive_range_eq_high()
  %2416 = icmp eq i32 %2415, -1
  br i1 %2416, label %2468, label %2417

2417:                                             ; preds = %2412
  br label %2418

2418:                                             ; preds = %2417
  br label %2419

2419:                                             ; preds = %2418
  call void @llvm.lifetime.start.p0(i64 4, ptr %40) #9
  %2420 = call ptr @__errno_location() #10
  %2421 = load i32, ptr %2420, align 4, !tbaa !5
  store i32 %2421, ptr %40, align 4, !tbaa !5
  %2422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2423 = call i32 @s2n_print_stacktrace(ptr noundef %2422)
  %2424 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2425 = trunc i8 %2424 to i1
  br i1 %2425, label %2426, label %2448

2426:                                             ; preds = %2419
  %2427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2428 = call i32 @fileno(ptr noundef %2427) #9
  %2429 = call i32 @isatty(i32 noundef %2428) #9
  %2430 = icmp ne i32 %2429, 0
  br i1 %2430, label %2431, label %2448

2431:                                             ; preds = %2426
  %2432 = load i32, ptr %40, align 4, !tbaa !5
  %2433 = call ptr @__errno_location() #10
  store i32 %2432, ptr %2433, align 4, !tbaa !5
  %2434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2435 = load i32, ptr @test_count, align 4, !tbaa !5
  %2436 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2437 = load i32, ptr %2436, align 4, !tbaa !5
  %2438 = call ptr @s2n_strerror(i32 noundef %2437, ptr noundef @.str.4)
  %2439 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2440 = load i32, ptr %2439, align 4, !tbaa !5
  %2441 = call ptr @s2n_strerror_debug(i32 noundef %2440, ptr noundef @.str.4)
  %2442 = call ptr @__errno_location() #10
  %2443 = load i32, ptr %2442, align 4, !tbaa !5
  %2444 = call ptr @strerror(i32 noundef %2443) #9
  %2445 = call ptr @__errno_location() #10
  %2446 = load i32, ptr %2445, align 4, !tbaa !5
  %2447 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2434, ptr noundef @.str.2, i32 noundef %2435, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 268, ptr noundef %2438, ptr noundef %2441, ptr noundef %2444, i32 noundef %2446) #9
  br label %2465

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

2465:                                             ; preds = %2448, %2431
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #9
  br label %2466

2466:                                             ; preds = %2465
  call void @exit(i32 noundef 1) #11
  unreachable

2467:                                             ; No predecessors!
  br label %2468

2468:                                             ; preds = %2467, %2412
  br label %2469

2469:                                             ; preds = %2468
  br label %2470

2470:                                             ; preds = %2469
  %2471 = load i32, ptr @test_count, align 4, !tbaa !5
  %2472 = add nsw i32 %2471, 1
  store i32 %2472, ptr @test_count, align 4, !tbaa !5
  %2473 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2474 = load i32, ptr %2473, align 4, !tbaa !5
  %2475 = icmp eq i32 %2474, 0
  br i1 %2475, label %2476, label %2527

2476:                                             ; preds = %2470
  br label %2477

2477:                                             ; preds = %2476
  br label %2478

2478:                                             ; preds = %2477
  call void @llvm.lifetime.start.p0(i64 4, ptr %41) #9
  %2479 = call ptr @__errno_location() #10
  %2480 = load i32, ptr %2479, align 4, !tbaa !5
  store i32 %2480, ptr %41, align 4, !tbaa !5
  %2481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2482 = call i32 @s2n_print_stacktrace(ptr noundef %2481)
  %2483 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2484 = trunc i8 %2483 to i1
  br i1 %2484, label %2485, label %2507

2485:                                             ; preds = %2478
  %2486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2487 = call i32 @fileno(ptr noundef %2486) #9
  %2488 = call i32 @isatty(i32 noundef %2487) #9
  %2489 = icmp ne i32 %2488, 0
  br i1 %2489, label %2490, label %2507

2490:                                             ; preds = %2485
  %2491 = load i32, ptr %41, align 4, !tbaa !5
  %2492 = call ptr @__errno_location() #10
  store i32 %2491, ptr %2492, align 4, !tbaa !5
  %2493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2494 = load i32, ptr @test_count, align 4, !tbaa !5
  %2495 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2496 = load i32, ptr %2495, align 4, !tbaa !5
  %2497 = call ptr @s2n_strerror(i32 noundef %2496, ptr noundef @.str.4)
  %2498 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2499 = load i32, ptr %2498, align 4, !tbaa !5
  %2500 = call ptr @s2n_strerror_debug(i32 noundef %2499, ptr noundef @.str.4)
  %2501 = call ptr @__errno_location() #10
  %2502 = load i32, ptr %2501, align 4, !tbaa !5
  %2503 = call ptr @strerror(i32 noundef %2502) #9
  %2504 = call ptr @__errno_location() #10
  %2505 = load i32, ptr %2504, align 4, !tbaa !5
  %2506 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2493, ptr noundef @.str.2, i32 noundef %2494, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 268, ptr noundef %2497, ptr noundef %2500, ptr noundef %2503, i32 noundef %2505) #9
  br label %2524

2507:                                             ; preds = %2485, %2478
  %2508 = load i32, ptr %41, align 4, !tbaa !5
  %2509 = call ptr @__errno_location() #10
  store i32 %2508, ptr %2509, align 4, !tbaa !5
  %2510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2511 = load i32, ptr @test_count, align 4, !tbaa !5
  %2512 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2513 = load i32, ptr %2512, align 4, !tbaa !5
  %2514 = call ptr @s2n_strerror(i32 noundef %2513, ptr noundef @.str.4)
  %2515 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2516 = load i32, ptr %2515, align 4, !tbaa !5
  %2517 = call ptr @s2n_strerror_debug(i32 noundef %2516, ptr noundef @.str.4)
  %2518 = call ptr @__errno_location() #10
  %2519 = load i32, ptr %2518, align 4, !tbaa !5
  %2520 = call ptr @strerror(i32 noundef %2519) #9
  %2521 = call ptr @__errno_location() #10
  %2522 = load i32, ptr %2521, align 4, !tbaa !5
  %2523 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2510, ptr noundef @.str.5, i32 noundef %2511, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 268, ptr noundef %2514, ptr noundef %2517, ptr noundef %2520, i32 noundef %2522) #9
  br label %2524

2524:                                             ; preds = %2507, %2490
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #9
  br label %2525

2525:                                             ; preds = %2524
  call void @exit(i32 noundef 1) #11
  unreachable

2526:                                             ; No predecessors!
  br label %2527

2527:                                             ; preds = %2526, %2470
  br label %2528

2528:                                             ; preds = %2527
  br label %2529

2529:                                             ; preds = %2528
  %2530 = load i32, ptr @test_count, align 4, !tbaa !5
  %2531 = add nsw i32 %2530, 1
  store i32 %2531, ptr @test_count, align 4, !tbaa !5
  %2532 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2533 = load i32, ptr %2532, align 4, !tbaa !5
  %2534 = call ptr @s2n_strerror_debug(i32 noundef %2533, ptr noundef @.str.4)
  %2535 = icmp eq ptr %2534, null
  br i1 %2535, label %2536, label %2587

2536:                                             ; preds = %2529
  br label %2537

2537:                                             ; preds = %2536
  br label %2538

2538:                                             ; preds = %2537
  call void @llvm.lifetime.start.p0(i64 4, ptr %42) #9
  %2539 = call ptr @__errno_location() #10
  %2540 = load i32, ptr %2539, align 4, !tbaa !5
  store i32 %2540, ptr %42, align 4, !tbaa !5
  %2541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2542 = call i32 @s2n_print_stacktrace(ptr noundef %2541)
  %2543 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2544 = trunc i8 %2543 to i1
  br i1 %2544, label %2545, label %2567

2545:                                             ; preds = %2538
  %2546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2547 = call i32 @fileno(ptr noundef %2546) #9
  %2548 = call i32 @isatty(i32 noundef %2547) #9
  %2549 = icmp ne i32 %2548, 0
  br i1 %2549, label %2550, label %2567

2550:                                             ; preds = %2545
  %2551 = load i32, ptr %42, align 4, !tbaa !5
  %2552 = call ptr @__errno_location() #10
  store i32 %2551, ptr %2552, align 4, !tbaa !5
  %2553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2554 = load i32, ptr @test_count, align 4, !tbaa !5
  %2555 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2556 = load i32, ptr %2555, align 4, !tbaa !5
  %2557 = call ptr @s2n_strerror(i32 noundef %2556, ptr noundef @.str.4)
  %2558 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2559 = load i32, ptr %2558, align 4, !tbaa !5
  %2560 = call ptr @s2n_strerror_debug(i32 noundef %2559, ptr noundef @.str.4)
  %2561 = call ptr @__errno_location() #10
  %2562 = load i32, ptr %2561, align 4, !tbaa !5
  %2563 = call ptr @strerror(i32 noundef %2562) #9
  %2564 = call ptr @__errno_location() #10
  %2565 = load i32, ptr %2564, align 4, !tbaa !5
  %2566 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2553, ptr noundef @.str.2, i32 noundef %2554, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 268, ptr noundef %2557, ptr noundef %2560, ptr noundef %2563, i32 noundef %2565) #9
  br label %2584

2567:                                             ; preds = %2545, %2538
  %2568 = load i32, ptr %42, align 4, !tbaa !5
  %2569 = call ptr @__errno_location() #10
  store i32 %2568, ptr %2569, align 4, !tbaa !5
  %2570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2571 = load i32, ptr @test_count, align 4, !tbaa !5
  %2572 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2573 = load i32, ptr %2572, align 4, !tbaa !5
  %2574 = call ptr @s2n_strerror(i32 noundef %2573, ptr noundef @.str.4)
  %2575 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2576 = load i32, ptr %2575, align 4, !tbaa !5
  %2577 = call ptr @s2n_strerror_debug(i32 noundef %2576, ptr noundef @.str.4)
  %2578 = call ptr @__errno_location() #10
  %2579 = load i32, ptr %2578, align 4, !tbaa !5
  %2580 = call ptr @strerror(i32 noundef %2579) #9
  %2581 = call ptr @__errno_location() #10
  %2582 = load i32, ptr %2581, align 4, !tbaa !5
  %2583 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2570, ptr noundef @.str.5, i32 noundef %2571, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 268, ptr noundef %2574, ptr noundef %2577, ptr noundef %2580, i32 noundef %2582) #9
  br label %2584

2584:                                             ; preds = %2567, %2550
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #9
  br label %2585

2585:                                             ; preds = %2584
  call void @exit(i32 noundef 1) #11
  unreachable

2586:                                             ; No predecessors!
  br label %2587

2587:                                             ; preds = %2586, %2529
  br label %2588

2588:                                             ; preds = %2587
  br label %2589

2589:                                             ; preds = %2588
  %2590 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %2590, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %2591 = call ptr @__errno_location() #10
  store i32 0, ptr %2591, align 4, !tbaa !5
  br label %2592

2592:                                             ; preds = %2589
  br label %2593

2593:                                             ; preds = %2592
  br label %2594

2594:                                             ; preds = %2593
  br label %2595

2595:                                             ; preds = %2594
  %2596 = load i32, ptr @test_count, align 4, !tbaa !5
  %2597 = add nsw i32 %2596, 1
  store i32 %2597, ptr @test_count, align 4, !tbaa !5
  %2598 = call i32 @failure_exclusive_range_eq_low()
  %2599 = icmp eq i32 %2598, -1
  br i1 %2599, label %2651, label %2600

2600:                                             ; preds = %2595
  br label %2601

2601:                                             ; preds = %2600
  br label %2602

2602:                                             ; preds = %2601
  call void @llvm.lifetime.start.p0(i64 4, ptr %43) #9
  %2603 = call ptr @__errno_location() #10
  %2604 = load i32, ptr %2603, align 4, !tbaa !5
  store i32 %2604, ptr %43, align 4, !tbaa !5
  %2605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2606 = call i32 @s2n_print_stacktrace(ptr noundef %2605)
  %2607 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2608 = trunc i8 %2607 to i1
  br i1 %2608, label %2609, label %2631

2609:                                             ; preds = %2602
  %2610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2611 = call i32 @fileno(ptr noundef %2610) #9
  %2612 = call i32 @isatty(i32 noundef %2611) #9
  %2613 = icmp ne i32 %2612, 0
  br i1 %2613, label %2614, label %2631

2614:                                             ; preds = %2609
  %2615 = load i32, ptr %43, align 4, !tbaa !5
  %2616 = call ptr @__errno_location() #10
  store i32 %2615, ptr %2616, align 4, !tbaa !5
  %2617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2618 = load i32, ptr @test_count, align 4, !tbaa !5
  %2619 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2620 = load i32, ptr %2619, align 4, !tbaa !5
  %2621 = call ptr @s2n_strerror(i32 noundef %2620, ptr noundef @.str.4)
  %2622 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2623 = load i32, ptr %2622, align 4, !tbaa !5
  %2624 = call ptr @s2n_strerror_debug(i32 noundef %2623, ptr noundef @.str.4)
  %2625 = call ptr @__errno_location() #10
  %2626 = load i32, ptr %2625, align 4, !tbaa !5
  %2627 = call ptr @strerror(i32 noundef %2626) #9
  %2628 = call ptr @__errno_location() #10
  %2629 = load i32, ptr %2628, align 4, !tbaa !5
  %2630 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2617, ptr noundef @.str.2, i32 noundef %2618, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 269, ptr noundef %2621, ptr noundef %2624, ptr noundef %2627, i32 noundef %2629) #9
  br label %2648

2631:                                             ; preds = %2609, %2602
  %2632 = load i32, ptr %43, align 4, !tbaa !5
  %2633 = call ptr @__errno_location() #10
  store i32 %2632, ptr %2633, align 4, !tbaa !5
  %2634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2635 = load i32, ptr @test_count, align 4, !tbaa !5
  %2636 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2637 = load i32, ptr %2636, align 4, !tbaa !5
  %2638 = call ptr @s2n_strerror(i32 noundef %2637, ptr noundef @.str.4)
  %2639 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2640 = load i32, ptr %2639, align 4, !tbaa !5
  %2641 = call ptr @s2n_strerror_debug(i32 noundef %2640, ptr noundef @.str.4)
  %2642 = call ptr @__errno_location() #10
  %2643 = load i32, ptr %2642, align 4, !tbaa !5
  %2644 = call ptr @strerror(i32 noundef %2643) #9
  %2645 = call ptr @__errno_location() #10
  %2646 = load i32, ptr %2645, align 4, !tbaa !5
  %2647 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2634, ptr noundef @.str.5, i32 noundef %2635, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 269, ptr noundef %2638, ptr noundef %2641, ptr noundef %2644, i32 noundef %2646) #9
  br label %2648

2648:                                             ; preds = %2631, %2614
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #9
  br label %2649

2649:                                             ; preds = %2648
  call void @exit(i32 noundef 1) #11
  unreachable

2650:                                             ; No predecessors!
  br label %2651

2651:                                             ; preds = %2650, %2595
  br label %2652

2652:                                             ; preds = %2651
  br label %2653

2653:                                             ; preds = %2652
  %2654 = load i32, ptr @test_count, align 4, !tbaa !5
  %2655 = add nsw i32 %2654, 1
  store i32 %2655, ptr @test_count, align 4, !tbaa !5
  %2656 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2657 = load i32, ptr %2656, align 4, !tbaa !5
  %2658 = icmp eq i32 %2657, 0
  br i1 %2658, label %2659, label %2710

2659:                                             ; preds = %2653
  br label %2660

2660:                                             ; preds = %2659
  br label %2661

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

2668:                                             ; preds = %2661
  %2669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2670 = call i32 @fileno(ptr noundef %2669) #9
  %2671 = call i32 @isatty(i32 noundef %2670) #9
  %2672 = icmp ne i32 %2671, 0
  br i1 %2672, label %2673, label %2690

2673:                                             ; preds = %2668
  %2674 = load i32, ptr %44, align 4, !tbaa !5
  %2675 = call ptr @__errno_location() #10
  store i32 %2674, ptr %2675, align 4, !tbaa !5
  %2676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2677 = load i32, ptr @test_count, align 4, !tbaa !5
  %2678 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2679 = load i32, ptr %2678, align 4, !tbaa !5
  %2680 = call ptr @s2n_strerror(i32 noundef %2679, ptr noundef @.str.4)
  %2681 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2682 = load i32, ptr %2681, align 4, !tbaa !5
  %2683 = call ptr @s2n_strerror_debug(i32 noundef %2682, ptr noundef @.str.4)
  %2684 = call ptr @__errno_location() #10
  %2685 = load i32, ptr %2684, align 4, !tbaa !5
  %2686 = call ptr @strerror(i32 noundef %2685) #9
  %2687 = call ptr @__errno_location() #10
  %2688 = load i32, ptr %2687, align 4, !tbaa !5
  %2689 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2676, ptr noundef @.str.2, i32 noundef %2677, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 269, ptr noundef %2680, ptr noundef %2683, ptr noundef %2686, i32 noundef %2688) #9
  br label %2707

2690:                                             ; preds = %2668, %2661
  %2691 = load i32, ptr %44, align 4, !tbaa !5
  %2692 = call ptr @__errno_location() #10
  store i32 %2691, ptr %2692, align 4, !tbaa !5
  %2693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2694 = load i32, ptr @test_count, align 4, !tbaa !5
  %2695 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2696 = load i32, ptr %2695, align 4, !tbaa !5
  %2697 = call ptr @s2n_strerror(i32 noundef %2696, ptr noundef @.str.4)
  %2698 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2699 = load i32, ptr %2698, align 4, !tbaa !5
  %2700 = call ptr @s2n_strerror_debug(i32 noundef %2699, ptr noundef @.str.4)
  %2701 = call ptr @__errno_location() #10
  %2702 = load i32, ptr %2701, align 4, !tbaa !5
  %2703 = call ptr @strerror(i32 noundef %2702) #9
  %2704 = call ptr @__errno_location() #10
  %2705 = load i32, ptr %2704, align 4, !tbaa !5
  %2706 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2693, ptr noundef @.str.5, i32 noundef %2694, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 269, ptr noundef %2697, ptr noundef %2700, ptr noundef %2703, i32 noundef %2705) #9
  br label %2707

2707:                                             ; preds = %2690, %2673
  call void @llvm.lifetime.end.p0(i64 4, ptr %44) #9
  br label %2708

2708:                                             ; preds = %2707
  call void @exit(i32 noundef 1) #11
  unreachable

2709:                                             ; No predecessors!
  br label %2710

2710:                                             ; preds = %2709, %2653
  br label %2711

2711:                                             ; preds = %2710
  br label %2712

2712:                                             ; preds = %2711
  %2713 = load i32, ptr @test_count, align 4, !tbaa !5
  %2714 = add nsw i32 %2713, 1
  store i32 %2714, ptr @test_count, align 4, !tbaa !5
  %2715 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2716 = load i32, ptr %2715, align 4, !tbaa !5
  %2717 = call ptr @s2n_strerror_debug(i32 noundef %2716, ptr noundef @.str.4)
  %2718 = icmp eq ptr %2717, null
  br i1 %2718, label %2719, label %2770

2719:                                             ; preds = %2712
  br label %2720

2720:                                             ; preds = %2719
  br label %2721

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

2728:                                             ; preds = %2721
  %2729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2730 = call i32 @fileno(ptr noundef %2729) #9
  %2731 = call i32 @isatty(i32 noundef %2730) #9
  %2732 = icmp ne i32 %2731, 0
  br i1 %2732, label %2733, label %2750

2733:                                             ; preds = %2728
  %2734 = load i32, ptr %45, align 4, !tbaa !5
  %2735 = call ptr @__errno_location() #10
  store i32 %2734, ptr %2735, align 4, !tbaa !5
  %2736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2737 = load i32, ptr @test_count, align 4, !tbaa !5
  %2738 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2739 = load i32, ptr %2738, align 4, !tbaa !5
  %2740 = call ptr @s2n_strerror(i32 noundef %2739, ptr noundef @.str.4)
  %2741 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2742 = load i32, ptr %2741, align 4, !tbaa !5
  %2743 = call ptr @s2n_strerror_debug(i32 noundef %2742, ptr noundef @.str.4)
  %2744 = call ptr @__errno_location() #10
  %2745 = load i32, ptr %2744, align 4, !tbaa !5
  %2746 = call ptr @strerror(i32 noundef %2745) #9
  %2747 = call ptr @__errno_location() #10
  %2748 = load i32, ptr %2747, align 4, !tbaa !5
  %2749 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2736, ptr noundef @.str.2, i32 noundef %2737, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 269, ptr noundef %2740, ptr noundef %2743, ptr noundef %2746, i32 noundef %2748) #9
  br label %2767

2750:                                             ; preds = %2728, %2721
  %2751 = load i32, ptr %45, align 4, !tbaa !5
  %2752 = call ptr @__errno_location() #10
  store i32 %2751, ptr %2752, align 4, !tbaa !5
  %2753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2754 = load i32, ptr @test_count, align 4, !tbaa !5
  %2755 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2756 = load i32, ptr %2755, align 4, !tbaa !5
  %2757 = call ptr @s2n_strerror(i32 noundef %2756, ptr noundef @.str.4)
  %2758 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2759 = load i32, ptr %2758, align 4, !tbaa !5
  %2760 = call ptr @s2n_strerror_debug(i32 noundef %2759, ptr noundef @.str.4)
  %2761 = call ptr @__errno_location() #10
  %2762 = load i32, ptr %2761, align 4, !tbaa !5
  %2763 = call ptr @strerror(i32 noundef %2762) #9
  %2764 = call ptr @__errno_location() #10
  %2765 = load i32, ptr %2764, align 4, !tbaa !5
  %2766 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2753, ptr noundef @.str.5, i32 noundef %2754, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 269, ptr noundef %2757, ptr noundef %2760, ptr noundef %2763, i32 noundef %2765) #9
  br label %2767

2767:                                             ; preds = %2750, %2733
  call void @llvm.lifetime.end.p0(i64 4, ptr %45) #9
  br label %2768

2768:                                             ; preds = %2767
  call void @exit(i32 noundef 1) #11
  unreachable

2769:                                             ; No predecessors!
  br label %2770

2770:                                             ; preds = %2769, %2712
  br label %2771

2771:                                             ; preds = %2770
  br label %2772

2772:                                             ; preds = %2771
  %2773 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %2773, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %2774 = call ptr @__errno_location() #10
  store i32 0, ptr %2774, align 4, !tbaa !5
  br label %2775

2775:                                             ; preds = %2772
  br label %2776

2776:                                             ; preds = %2775
  br label %2777

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

2782:                                             ; preds = %2777
  br label %2783

2783:                                             ; preds = %2782
  br label %2784

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

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

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

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

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

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

2832:                                             ; No predecessors!
  br label %2833

2833:                                             ; preds = %2832, %2777
  br label %2834

2834:                                             ; preds = %2833
  br label %2835

2835:                                             ; preds = %2834
  %2836 = load i32, ptr @test_count, align 4, !tbaa !5
  %2837 = add nsw i32 %2836, 1
  store i32 %2837, ptr @test_count, align 4, !tbaa !5
  %2838 = call i32 @success_lte()
  %2839 = icmp eq i32 %2838, -1
  br i1 %2839, label %2840, label %2891

2840:                                             ; preds = %2835
  br label %2841

2841:                                             ; preds = %2840
  br label %2842

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

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

2854:                                             ; preds = %2849
  %2855 = load i32, ptr %47, align 4, !tbaa !5
  %2856 = call ptr @__errno_location() #10
  store i32 %2855, ptr %2856, align 4, !tbaa !5
  %2857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2858 = load i32, ptr @test_count, align 4, !tbaa !5
  %2859 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2860 = load i32, ptr %2859, align 4, !tbaa !5
  %2861 = call ptr @s2n_strerror(i32 noundef %2860, ptr noundef @.str.4)
  %2862 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2863 = load i32, ptr %2862, align 4, !tbaa !5
  %2864 = call ptr @s2n_strerror_debug(i32 noundef %2863, ptr noundef @.str.4)
  %2865 = call ptr @__errno_location() #10
  %2866 = load i32, ptr %2865, align 4, !tbaa !5
  %2867 = call ptr @strerror(i32 noundef %2866) #9
  %2868 = call ptr @__errno_location() #10
  %2869 = load i32, ptr %2868, align 4, !tbaa !5
  %2870 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2857, ptr noundef @.str.2, i32 noundef %2858, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 272, ptr noundef %2861, ptr noundef %2864, ptr noundef %2867, i32 noundef %2869) #9
  br label %2888

2871:                                             ; preds = %2849, %2842
  %2872 = load i32, ptr %47, align 4, !tbaa !5
  %2873 = call ptr @__errno_location() #10
  store i32 %2872, ptr %2873, align 4, !tbaa !5
  %2874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2875 = load i32, ptr @test_count, align 4, !tbaa !5
  %2876 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2877 = load i32, ptr %2876, align 4, !tbaa !5
  %2878 = call ptr @s2n_strerror(i32 noundef %2877, ptr noundef @.str.4)
  %2879 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2880 = load i32, ptr %2879, align 4, !tbaa !5
  %2881 = call ptr @s2n_strerror_debug(i32 noundef %2880, ptr noundef @.str.4)
  %2882 = call ptr @__errno_location() #10
  %2883 = load i32, ptr %2882, align 4, !tbaa !5
  %2884 = call ptr @strerror(i32 noundef %2883) #9
  %2885 = call ptr @__errno_location() #10
  %2886 = load i32, ptr %2885, align 4, !tbaa !5
  %2887 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2874, ptr noundef @.str.5, i32 noundef %2875, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 272, ptr noundef %2878, ptr noundef %2881, ptr noundef %2884, i32 noundef %2886) #9
  br label %2888

2888:                                             ; preds = %2871, %2854
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #9
  br label %2889

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

2890:                                             ; No predecessors!
  br label %2891

2891:                                             ; preds = %2890, %2835
  br label %2892

2892:                                             ; preds = %2891
  br label %2893

2893:                                             ; preds = %2892
  %2894 = load i32, ptr @test_count, align 4, !tbaa !5
  %2895 = add nsw i32 %2894, 1
  store i32 %2895, ptr @test_count, align 4, !tbaa !5
  %2896 = call i32 @success_gt()
  %2897 = icmp eq i32 %2896, -1
  br i1 %2897, label %2898, label %2949

2898:                                             ; preds = %2893
  br label %2899

2899:                                             ; preds = %2898
  br label %2900

2900:                                             ; preds = %2899
  call void @llvm.lifetime.start.p0(i64 4, ptr %48) #9
  %2901 = call ptr @__errno_location() #10
  %2902 = load i32, ptr %2901, align 4, !tbaa !5
  store i32 %2902, ptr %48, align 4, !tbaa !5
  %2903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2904 = call i32 @s2n_print_stacktrace(ptr noundef %2903)
  %2905 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2906 = trunc i8 %2905 to i1
  br i1 %2906, label %2907, label %2929

2907:                                             ; preds = %2900
  %2908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2909 = call i32 @fileno(ptr noundef %2908) #9
  %2910 = call i32 @isatty(i32 noundef %2909) #9
  %2911 = icmp ne i32 %2910, 0
  br i1 %2911, label %2912, label %2929

2912:                                             ; preds = %2907
  %2913 = load i32, ptr %48, align 4, !tbaa !5
  %2914 = call ptr @__errno_location() #10
  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() #10
  %2924 = load i32, ptr %2923, align 4, !tbaa !5
  %2925 = call ptr @strerror(i32 noundef %2924) #9
  %2926 = call ptr @__errno_location() #10
  %2927 = load i32, ptr %2926, align 4, !tbaa !5
  %2928 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2915, ptr noundef @.str.2, i32 noundef %2916, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 273, ptr noundef %2919, ptr noundef %2922, ptr noundef %2925, i32 noundef %2927) #9
  br label %2946

2929:                                             ; preds = %2907, %2900
  %2930 = load i32, ptr %48, align 4, !tbaa !5
  %2931 = call ptr @__errno_location() #10
  store i32 %2930, ptr %2931, align 4, !tbaa !5
  %2932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2933 = load i32, ptr @test_count, align 4, !tbaa !5
  %2934 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2935 = load i32, ptr %2934, align 4, !tbaa !5
  %2936 = call ptr @s2n_strerror(i32 noundef %2935, ptr noundef @.str.4)
  %2937 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2938 = load i32, ptr %2937, align 4, !tbaa !5
  %2939 = call ptr @s2n_strerror_debug(i32 noundef %2938, ptr noundef @.str.4)
  %2940 = call ptr @__errno_location() #10
  %2941 = load i32, ptr %2940, align 4, !tbaa !5
  %2942 = call ptr @strerror(i32 noundef %2941) #9
  %2943 = call ptr @__errno_location() #10
  %2944 = load i32, ptr %2943, align 4, !tbaa !5
  %2945 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2932, ptr noundef @.str.5, i32 noundef %2933, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 273, ptr noundef %2936, ptr noundef %2939, ptr noundef %2942, i32 noundef %2944) #9
  br label %2946

2946:                                             ; preds = %2929, %2912
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #9
  br label %2947

2947:                                             ; preds = %2946
  call void @exit(i32 noundef 1) #11
  unreachable

2948:                                             ; No predecessors!
  br label %2949

2949:                                             ; preds = %2948, %2893
  br label %2950

2950:                                             ; preds = %2949
  br label %2951

2951:                                             ; preds = %2950
  %2952 = load i32, ptr @test_count, align 4, !tbaa !5
  %2953 = add nsw i32 %2952, 1
  store i32 %2953, ptr @test_count, align 4, !tbaa !5
  %2954 = call i32 @success_lt()
  %2955 = icmp eq i32 %2954, -1
  br i1 %2955, label %2956, label %3007

2956:                                             ; preds = %2951
  br label %2957

2957:                                             ; preds = %2956
  br label %2958

2958:                                             ; preds = %2957
  call void @llvm.lifetime.start.p0(i64 4, ptr %49) #9
  %2959 = call ptr @__errno_location() #10
  %2960 = load i32, ptr %2959, align 4, !tbaa !5
  store i32 %2960, ptr %49, align 4, !tbaa !5
  %2961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2962 = call i32 @s2n_print_stacktrace(ptr noundef %2961)
  %2963 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2964 = trunc i8 %2963 to i1
  br i1 %2964, label %2965, label %2987

2965:                                             ; preds = %2958
  %2966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2967 = call i32 @fileno(ptr noundef %2966) #9
  %2968 = call i32 @isatty(i32 noundef %2967) #9
  %2969 = icmp ne i32 %2968, 0
  br i1 %2969, label %2970, label %2987

2970:                                             ; preds = %2965
  %2971 = load i32, ptr %49, align 4, !tbaa !5
  %2972 = call ptr @__errno_location() #10
  store i32 %2971, ptr %2972, align 4, !tbaa !5
  %2973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2974 = load i32, ptr @test_count, align 4, !tbaa !5
  %2975 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2976 = load i32, ptr %2975, align 4, !tbaa !5
  %2977 = call ptr @s2n_strerror(i32 noundef %2976, ptr noundef @.str.4)
  %2978 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2979 = load i32, ptr %2978, align 4, !tbaa !5
  %2980 = call ptr @s2n_strerror_debug(i32 noundef %2979, ptr noundef @.str.4)
  %2981 = call ptr @__errno_location() #10
  %2982 = load i32, ptr %2981, align 4, !tbaa !5
  %2983 = call ptr @strerror(i32 noundef %2982) #9
  %2984 = call ptr @__errno_location() #10
  %2985 = load i32, ptr %2984, align 4, !tbaa !5
  %2986 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2973, ptr noundef @.str.2, i32 noundef %2974, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 274, ptr noundef %2977, ptr noundef %2980, ptr noundef %2983, i32 noundef %2985) #9
  br label %3004

2987:                                             ; preds = %2965, %2958
  %2988 = load i32, ptr %49, align 4, !tbaa !5
  %2989 = call ptr @__errno_location() #10
  store i32 %2988, ptr %2989, align 4, !tbaa !5
  %2990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2991 = load i32, ptr @test_count, align 4, !tbaa !5
  %2992 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2993 = load i32, ptr %2992, align 4, !tbaa !5
  %2994 = call ptr @s2n_strerror(i32 noundef %2993, ptr noundef @.str.4)
  %2995 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2996 = load i32, ptr %2995, align 4, !tbaa !5
  %2997 = call ptr @s2n_strerror_debug(i32 noundef %2996, ptr noundef @.str.4)
  %2998 = call ptr @__errno_location() #10
  %2999 = load i32, ptr %2998, align 4, !tbaa !5
  %3000 = call ptr @strerror(i32 noundef %2999) #9
  %3001 = call ptr @__errno_location() #10
  %3002 = load i32, ptr %3001, align 4, !tbaa !5
  %3003 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2990, ptr noundef @.str.5, i32 noundef %2991, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 274, ptr noundef %2994, ptr noundef %2997, ptr noundef %3000, i32 noundef %3002) #9
  br label %3004

3004:                                             ; preds = %2987, %2970
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #9
  br label %3005

3005:                                             ; preds = %3004
  call void @exit(i32 noundef 1) #11
  unreachable

3006:                                             ; No predecessors!
  br label %3007

3007:                                             ; preds = %3006, %2951
  br label %3008

3008:                                             ; preds = %3007
  br label %3009

3009:                                             ; preds = %3008
  %3010 = load i32, ptr @test_count, align 4, !tbaa !5
  %3011 = add nsw i32 %3010, 1
  store i32 %3011, ptr @test_count, align 4, !tbaa !5
  %3012 = call i32 @success_notnull()
  %3013 = icmp eq i32 %3012, -1
  br i1 %3013, label %3014, label %3065

3014:                                             ; preds = %3009
  br label %3015

3015:                                             ; preds = %3014
  br label %3016

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

3023:                                             ; preds = %3016
  %3024 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3025 = call i32 @fileno(ptr noundef %3024) #9
  %3026 = call i32 @isatty(i32 noundef %3025) #9
  %3027 = icmp ne i32 %3026, 0
  br i1 %3027, label %3028, label %3045

3028:                                             ; preds = %3023
  %3029 = load i32, ptr %50, align 4, !tbaa !5
  %3030 = call ptr @__errno_location() #10
  store i32 %3029, ptr %3030, align 4, !tbaa !5
  %3031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3032 = load i32, ptr @test_count, align 4, !tbaa !5
  %3033 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3034 = load i32, ptr %3033, align 4, !tbaa !5
  %3035 = call ptr @s2n_strerror(i32 noundef %3034, ptr noundef @.str.4)
  %3036 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3037 = load i32, ptr %3036, align 4, !tbaa !5
  %3038 = call ptr @s2n_strerror_debug(i32 noundef %3037, ptr noundef @.str.4)
  %3039 = call ptr @__errno_location() #10
  %3040 = load i32, ptr %3039, align 4, !tbaa !5
  %3041 = call ptr @strerror(i32 noundef %3040) #9
  %3042 = call ptr @__errno_location() #10
  %3043 = load i32, ptr %3042, align 4, !tbaa !5
  %3044 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3031, ptr noundef @.str.2, i32 noundef %3032, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 275, ptr noundef %3035, ptr noundef %3038, ptr noundef %3041, i32 noundef %3043) #9
  br label %3062

3045:                                             ; preds = %3023, %3016
  %3046 = load i32, ptr %50, align 4, !tbaa !5
  %3047 = call ptr @__errno_location() #10
  store i32 %3046, ptr %3047, align 4, !tbaa !5
  %3048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3049 = load i32, ptr @test_count, align 4, !tbaa !5
  %3050 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3051 = load i32, ptr %3050, align 4, !tbaa !5
  %3052 = call ptr @s2n_strerror(i32 noundef %3051, ptr noundef @.str.4)
  %3053 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3054 = load i32, ptr %3053, align 4, !tbaa !5
  %3055 = call ptr @s2n_strerror_debug(i32 noundef %3054, ptr noundef @.str.4)
  %3056 = call ptr @__errno_location() #10
  %3057 = load i32, ptr %3056, align 4, !tbaa !5
  %3058 = call ptr @strerror(i32 noundef %3057) #9
  %3059 = call ptr @__errno_location() #10
  %3060 = load i32, ptr %3059, align 4, !tbaa !5
  %3061 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3048, ptr noundef @.str.5, i32 noundef %3049, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 275, ptr noundef %3052, ptr noundef %3055, ptr noundef %3058, i32 noundef %3060) #9
  br label %3062

3062:                                             ; preds = %3045, %3028
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #9
  br label %3063

3063:                                             ; preds = %3062
  call void @exit(i32 noundef 1) #11
  unreachable

3064:                                             ; No predecessors!
  br label %3065

3065:                                             ; preds = %3064, %3009
  br label %3066

3066:                                             ; preds = %3065
  br label %3067

3067:                                             ; preds = %3066
  %3068 = load i32, ptr @test_count, align 4, !tbaa !5
  %3069 = add nsw i32 %3068, 1
  store i32 %3069, ptr @test_count, align 4, !tbaa !5
  %3070 = call i32 @success_memcpy()
  %3071 = icmp eq i32 %3070, -1
  br i1 %3071, label %3072, label %3123

3072:                                             ; preds = %3067
  br label %3073

3073:                                             ; preds = %3072
  br label %3074

3074:                                             ; preds = %3073
  call void @llvm.lifetime.start.p0(i64 4, ptr %51) #9
  %3075 = call ptr @__errno_location() #10
  %3076 = load i32, ptr %3075, align 4, !tbaa !5
  store i32 %3076, ptr %51, align 4, !tbaa !5
  %3077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3078 = call i32 @s2n_print_stacktrace(ptr noundef %3077)
  %3079 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3080 = trunc i8 %3079 to i1
  br i1 %3080, label %3081, label %3103

3081:                                             ; preds = %3074
  %3082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3083 = call i32 @fileno(ptr noundef %3082) #9
  %3084 = call i32 @isatty(i32 noundef %3083) #9
  %3085 = icmp ne i32 %3084, 0
  br i1 %3085, label %3086, label %3103

3086:                                             ; preds = %3081
  %3087 = load i32, ptr %51, align 4, !tbaa !5
  %3088 = call ptr @__errno_location() #10
  store i32 %3087, ptr %3088, align 4, !tbaa !5
  %3089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3090 = load i32, ptr @test_count, align 4, !tbaa !5
  %3091 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3092 = load i32, ptr %3091, align 4, !tbaa !5
  %3093 = call ptr @s2n_strerror(i32 noundef %3092, ptr noundef @.str.4)
  %3094 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3095 = load i32, ptr %3094, align 4, !tbaa !5
  %3096 = call ptr @s2n_strerror_debug(i32 noundef %3095, ptr noundef @.str.4)
  %3097 = call ptr @__errno_location() #10
  %3098 = load i32, ptr %3097, align 4, !tbaa !5
  %3099 = call ptr @strerror(i32 noundef %3098) #9
  %3100 = call ptr @__errno_location() #10
  %3101 = load i32, ptr %3100, align 4, !tbaa !5
  %3102 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3089, ptr noundef @.str.2, i32 noundef %3090, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 276, ptr noundef %3093, ptr noundef %3096, ptr noundef %3099, i32 noundef %3101) #9
  br label %3120

3103:                                             ; preds = %3081, %3074
  %3104 = load i32, ptr %51, align 4, !tbaa !5
  %3105 = call ptr @__errno_location() #10
  store i32 %3104, ptr %3105, align 4, !tbaa !5
  %3106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3107 = load i32, ptr @test_count, align 4, !tbaa !5
  %3108 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3109 = load i32, ptr %3108, align 4, !tbaa !5
  %3110 = call ptr @s2n_strerror(i32 noundef %3109, ptr noundef @.str.4)
  %3111 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3112 = load i32, ptr %3111, align 4, !tbaa !5
  %3113 = call ptr @s2n_strerror_debug(i32 noundef %3112, ptr noundef @.str.4)
  %3114 = call ptr @__errno_location() #10
  %3115 = load i32, ptr %3114, align 4, !tbaa !5
  %3116 = call ptr @strerror(i32 noundef %3115) #9
  %3117 = call ptr @__errno_location() #10
  %3118 = load i32, ptr %3117, align 4, !tbaa !5
  %3119 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3106, ptr noundef @.str.5, i32 noundef %3107, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 276, ptr noundef %3110, ptr noundef %3113, ptr noundef %3116, i32 noundef %3118) #9
  br label %3120

3120:                                             ; preds = %3103, %3086
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #9
  br label %3121

3121:                                             ; preds = %3120
  call void @exit(i32 noundef 1) #11
  unreachable

3122:                                             ; No predecessors!
  br label %3123

3123:                                             ; preds = %3122, %3067
  br label %3124

3124:                                             ; preds = %3123
  br label %3125

3125:                                             ; preds = %3124
  %3126 = load i32, ptr @test_count, align 4, !tbaa !5
  %3127 = add nsw i32 %3126, 1
  store i32 %3127, ptr @test_count, align 4, !tbaa !5
  %3128 = call i32 @success_inclusive_range()
  %3129 = icmp eq i32 %3128, -1
  br i1 %3129, label %3130, label %3181

3130:                                             ; preds = %3125
  br label %3131

3131:                                             ; preds = %3130
  br label %3132

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

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

3144:                                             ; preds = %3139
  %3145 = load i32, ptr %52, align 4, !tbaa !5
  %3146 = call ptr @__errno_location() #10
  store i32 %3145, ptr %3146, align 4, !tbaa !5
  %3147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3148 = load i32, ptr @test_count, align 4, !tbaa !5
  %3149 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3150 = load i32, ptr %3149, align 4, !tbaa !5
  %3151 = call ptr @s2n_strerror(i32 noundef %3150, ptr noundef @.str.4)
  %3152 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3153 = load i32, ptr %3152, align 4, !tbaa !5
  %3154 = call ptr @s2n_strerror_debug(i32 noundef %3153, ptr noundef @.str.4)
  %3155 = call ptr @__errno_location() #10
  %3156 = load i32, ptr %3155, align 4, !tbaa !5
  %3157 = call ptr @strerror(i32 noundef %3156) #9
  %3158 = call ptr @__errno_location() #10
  %3159 = load i32, ptr %3158, align 4, !tbaa !5
  %3160 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3147, ptr noundef @.str.2, i32 noundef %3148, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 277, ptr noundef %3151, ptr noundef %3154, ptr noundef %3157, i32 noundef %3159) #9
  br label %3178

3161:                                             ; preds = %3139, %3132
  %3162 = load i32, ptr %52, align 4, !tbaa !5
  %3163 = call ptr @__errno_location() #10
  store i32 %3162, ptr %3163, align 4, !tbaa !5
  %3164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3165 = load i32, ptr @test_count, align 4, !tbaa !5
  %3166 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3167 = load i32, ptr %3166, align 4, !tbaa !5
  %3168 = call ptr @s2n_strerror(i32 noundef %3167, ptr noundef @.str.4)
  %3169 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3170 = load i32, ptr %3169, align 4, !tbaa !5
  %3171 = call ptr @s2n_strerror_debug(i32 noundef %3170, ptr noundef @.str.4)
  %3172 = call ptr @__errno_location() #10
  %3173 = load i32, ptr %3172, align 4, !tbaa !5
  %3174 = call ptr @strerror(i32 noundef %3173) #9
  %3175 = call ptr @__errno_location() #10
  %3176 = load i32, ptr %3175, align 4, !tbaa !5
  %3177 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3164, ptr noundef @.str.5, i32 noundef %3165, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 277, ptr noundef %3168, ptr noundef %3171, ptr noundef %3174, i32 noundef %3176) #9
  br label %3178

3178:                                             ; preds = %3161, %3144
  call void @llvm.lifetime.end.p0(i64 4, ptr %52) #9
  br label %3179

3179:                                             ; preds = %3178
  call void @exit(i32 noundef 1) #11
  unreachable

3180:                                             ; No predecessors!
  br label %3181

3181:                                             ; preds = %3180, %3125
  br label %3182

3182:                                             ; preds = %3181
  br label %3183

3183:                                             ; preds = %3182
  %3184 = load i32, ptr @test_count, align 4, !tbaa !5
  %3185 = add nsw i32 %3184, 1
  store i32 %3185, ptr @test_count, align 4, !tbaa !5
  %3186 = call i32 @success_exclusive_range()
  %3187 = icmp eq i32 %3186, -1
  br i1 %3187, label %3188, label %3239

3188:                                             ; preds = %3183
  br label %3189

3189:                                             ; preds = %3188
  br label %3190

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

3197:                                             ; preds = %3190
  %3198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3199 = call i32 @fileno(ptr noundef %3198) #9
  %3200 = call i32 @isatty(i32 noundef %3199) #9
  %3201 = icmp ne i32 %3200, 0
  br i1 %3201, label %3202, label %3219

3202:                                             ; preds = %3197
  %3203 = load i32, ptr %53, align 4, !tbaa !5
  %3204 = call ptr @__errno_location() #10
  store i32 %3203, ptr %3204, align 4, !tbaa !5
  %3205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3206 = load i32, ptr @test_count, align 4, !tbaa !5
  %3207 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3208 = load i32, ptr %3207, align 4, !tbaa !5
  %3209 = call ptr @s2n_strerror(i32 noundef %3208, ptr noundef @.str.4)
  %3210 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3211 = load i32, ptr %3210, align 4, !tbaa !5
  %3212 = call ptr @s2n_strerror_debug(i32 noundef %3211, ptr noundef @.str.4)
  %3213 = call ptr @__errno_location() #10
  %3214 = load i32, ptr %3213, align 4, !tbaa !5
  %3215 = call ptr @strerror(i32 noundef %3214) #9
  %3216 = call ptr @__errno_location() #10
  %3217 = load i32, ptr %3216, align 4, !tbaa !5
  %3218 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3205, ptr noundef @.str.2, i32 noundef %3206, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 278, ptr noundef %3209, ptr noundef %3212, ptr noundef %3215, i32 noundef %3217) #9
  br label %3236

3219:                                             ; preds = %3197, %3190
  %3220 = load i32, ptr %53, align 4, !tbaa !5
  %3221 = call ptr @__errno_location() #10
  store i32 %3220, ptr %3221, align 4, !tbaa !5
  %3222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3223 = load i32, ptr @test_count, align 4, !tbaa !5
  %3224 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3225 = load i32, ptr %3224, align 4, !tbaa !5
  %3226 = call ptr @s2n_strerror(i32 noundef %3225, ptr noundef @.str.4)
  %3227 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3228 = load i32, ptr %3227, align 4, !tbaa !5
  %3229 = call ptr @s2n_strerror_debug(i32 noundef %3228, ptr noundef @.str.4)
  %3230 = call ptr @__errno_location() #10
  %3231 = load i32, ptr %3230, align 4, !tbaa !5
  %3232 = call ptr @strerror(i32 noundef %3231) #9
  %3233 = call ptr @__errno_location() #10
  %3234 = load i32, ptr %3233, align 4, !tbaa !5
  %3235 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3222, ptr noundef @.str.5, i32 noundef %3223, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 278, ptr noundef %3226, ptr noundef %3229, ptr noundef %3232, i32 noundef %3234) #9
  br label %3236

3236:                                             ; preds = %3219, %3202
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #9
  br label %3237

3237:                                             ; preds = %3236
  call void @exit(i32 noundef 1) #11
  unreachable

3238:                                             ; No predecessors!
  br label %3239

3239:                                             ; preds = %3238, %3183
  br label %3240

3240:                                             ; preds = %3239
  br label %3241

3241:                                             ; preds = %3240
  %3242 = load i32, ptr @test_count, align 4, !tbaa !5
  %3243 = add nsw i32 %3242, 1
  store i32 %3243, ptr @test_count, align 4, !tbaa !5
  %3244 = call i32 @success_ct_pkcs1()
  %3245 = icmp eq i32 %3244, -1
  br i1 %3245, label %3246, label %3297

3246:                                             ; preds = %3241
  br label %3247

3247:                                             ; preds = %3246
  br label %3248

3248:                                             ; preds = %3247
  call void @llvm.lifetime.start.p0(i64 4, ptr %54) #9
  %3249 = call ptr @__errno_location() #10
  %3250 = load i32, ptr %3249, align 4, !tbaa !5
  store i32 %3250, ptr %54, align 4, !tbaa !5
  %3251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3252 = call i32 @s2n_print_stacktrace(ptr noundef %3251)
  %3253 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3254 = trunc i8 %3253 to i1
  br i1 %3254, label %3255, label %3277

3255:                                             ; preds = %3248
  %3256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3257 = call i32 @fileno(ptr noundef %3256) #9
  %3258 = call i32 @isatty(i32 noundef %3257) #9
  %3259 = icmp ne i32 %3258, 0
  br i1 %3259, label %3260, label %3277

3260:                                             ; preds = %3255
  %3261 = load i32, ptr %54, align 4, !tbaa !5
  %3262 = call ptr @__errno_location() #10
  store i32 %3261, ptr %3262, align 4, !tbaa !5
  %3263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3264 = load i32, ptr @test_count, align 4, !tbaa !5
  %3265 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3266 = load i32, ptr %3265, align 4, !tbaa !5
  %3267 = call ptr @s2n_strerror(i32 noundef %3266, ptr noundef @.str.4)
  %3268 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3269 = load i32, ptr %3268, align 4, !tbaa !5
  %3270 = call ptr @s2n_strerror_debug(i32 noundef %3269, ptr noundef @.str.4)
  %3271 = call ptr @__errno_location() #10
  %3272 = load i32, ptr %3271, align 4, !tbaa !5
  %3273 = call ptr @strerror(i32 noundef %3272) #9
  %3274 = call ptr @__errno_location() #10
  %3275 = load i32, ptr %3274, align 4, !tbaa !5
  %3276 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3263, ptr noundef @.str.2, i32 noundef %3264, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 279, ptr noundef %3267, ptr noundef %3270, ptr noundef %3273, i32 noundef %3275) #9
  br label %3294

3277:                                             ; preds = %3255, %3248
  %3278 = load i32, ptr %54, align 4, !tbaa !5
  %3279 = call ptr @__errno_location() #10
  store i32 %3278, ptr %3279, align 4, !tbaa !5
  %3280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3281 = load i32, ptr @test_count, align 4, !tbaa !5
  %3282 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3283 = load i32, ptr %3282, align 4, !tbaa !5
  %3284 = call ptr @s2n_strerror(i32 noundef %3283, ptr noundef @.str.4)
  %3285 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3286 = load i32, ptr %3285, align 4, !tbaa !5
  %3287 = call ptr @s2n_strerror_debug(i32 noundef %3286, ptr noundef @.str.4)
  %3288 = call ptr @__errno_location() #10
  %3289 = load i32, ptr %3288, align 4, !tbaa !5
  %3290 = call ptr @strerror(i32 noundef %3289) #9
  %3291 = call ptr @__errno_location() #10
  %3292 = load i32, ptr %3291, align 4, !tbaa !5
  %3293 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3280, ptr noundef @.str.5, i32 noundef %3281, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 279, ptr noundef %3284, ptr noundef %3287, ptr noundef %3290, i32 noundef %3292) #9
  br label %3294

3294:                                             ; preds = %3277, %3260
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #9
  br label %3295

3295:                                             ; preds = %3294
  call void @exit(i32 noundef 1) #11
  unreachable

3296:                                             ; No predecessors!
  br label %3297

3297:                                             ; preds = %3296, %3241
  br label %3298

3298:                                             ; preds = %3297
  br label %3299

3299:                                             ; preds = %3298
  %3300 = load i32, ptr @test_count, align 4, !tbaa !5
  %3301 = add nsw i32 %3300, 1
  store i32 %3301, ptr @test_count, align 4, !tbaa !5
  %3302 = call i32 @success_ct_pkcs1_negative()
  %3303 = icmp eq i32 %3302, -1
  br i1 %3303, label %3304, label %3355

3304:                                             ; preds = %3299
  br label %3305

3305:                                             ; preds = %3304
  br label %3306

3306:                                             ; preds = %3305
  call void @llvm.lifetime.start.p0(i64 4, ptr %55) #9
  %3307 = call ptr @__errno_location() #10
  %3308 = load i32, ptr %3307, align 4, !tbaa !5
  store i32 %3308, ptr %55, align 4, !tbaa !5
  %3309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3310 = call i32 @s2n_print_stacktrace(ptr noundef %3309)
  %3311 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3312 = trunc i8 %3311 to i1
  br i1 %3312, label %3313, label %3335

3313:                                             ; preds = %3306
  %3314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3315 = call i32 @fileno(ptr noundef %3314) #9
  %3316 = call i32 @isatty(i32 noundef %3315) #9
  %3317 = icmp ne i32 %3316, 0
  br i1 %3317, label %3318, label %3335

3318:                                             ; preds = %3313
  %3319 = load i32, ptr %55, align 4, !tbaa !5
  %3320 = call ptr @__errno_location() #10
  store i32 %3319, ptr %3320, align 4, !tbaa !5
  %3321 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3322 = load i32, ptr @test_count, align 4, !tbaa !5
  %3323 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3324 = load i32, ptr %3323, align 4, !tbaa !5
  %3325 = call ptr @s2n_strerror(i32 noundef %3324, ptr noundef @.str.4)
  %3326 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3327 = load i32, ptr %3326, align 4, !tbaa !5
  %3328 = call ptr @s2n_strerror_debug(i32 noundef %3327, ptr noundef @.str.4)
  %3329 = call ptr @__errno_location() #10
  %3330 = load i32, ptr %3329, align 4, !tbaa !5
  %3331 = call ptr @strerror(i32 noundef %3330) #9
  %3332 = call ptr @__errno_location() #10
  %3333 = load i32, ptr %3332, align 4, !tbaa !5
  %3334 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3321, ptr noundef @.str.2, i32 noundef %3322, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 280, ptr noundef %3325, ptr noundef %3328, ptr noundef %3331, i32 noundef %3333) #9
  br label %3352

3335:                                             ; preds = %3313, %3306
  %3336 = load i32, ptr %55, align 4, !tbaa !5
  %3337 = call ptr @__errno_location() #10
  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() #10
  %3347 = load i32, ptr %3346, align 4, !tbaa !5
  %3348 = call ptr @strerror(i32 noundef %3347) #9
  %3349 = call ptr @__errno_location() #10
  %3350 = load i32, ptr %3349, align 4, !tbaa !5
  %3351 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3338, ptr noundef @.str.5, i32 noundef %3339, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 280, ptr noundef %3342, ptr noundef %3345, ptr noundef %3348, i32 noundef %3350) #9
  br label %3352

3352:                                             ; preds = %3335, %3318
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #9
  br label %3353

3353:                                             ; preds = %3352
  call void @exit(i32 noundef 1) #11
  unreachable

3354:                                             ; No predecessors!
  br label %3355

3355:                                             ; preds = %3354, %3299
  br label %3356

3356:                                             ; preds = %3355
  call void @llvm.lifetime.start.p0(i64 4, ptr %56) #9
  call void @llvm.memset.p0.i64(ptr align 1 %56, i8 0, i64 4, i1 false)
  br label %3357

3357:                                             ; preds = %3356
  %3358 = load i32, ptr @test_count, align 4, !tbaa !5
  %3359 = add nsw i32 %3358, 1
  store i32 %3359, ptr @test_count, align 4, !tbaa !5
  %3360 = getelementptr inbounds [4 x i8], ptr %56, i64 0, i64 0
  %3361 = call zeroext i1 @s2n_constant_time_equals(ptr noundef %3360, ptr noundef null, i32 noundef 4)
  br i1 %3361, label %3362, label %3415

3362:                                             ; preds = %3357
  br label %3363

3363:                                             ; preds = %3362
  br label %3364

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

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

3376:                                             ; preds = %3371
  %3377 = load i32, ptr %57, align 4, !tbaa !5
  %3378 = call ptr @__errno_location() #10
  store i32 %3377, ptr %3378, align 4, !tbaa !5
  %3379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3380 = load i32, ptr @test_count, align 4, !tbaa !5
  %3381 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3382 = load i32, ptr %3381, align 4, !tbaa !5
  %3383 = call ptr @s2n_strerror(i32 noundef %3382, ptr noundef @.str.4)
  %3384 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3385 = load i32, ptr %3384, align 4, !tbaa !5
  %3386 = call ptr @s2n_strerror_debug(i32 noundef %3385, ptr noundef @.str.4)
  %3387 = call ptr @__errno_location() #10
  %3388 = load i32, ptr %3387, align 4, !tbaa !5
  %3389 = call ptr @strerror(i32 noundef %3388) #9
  %3390 = call ptr @__errno_location() #10
  %3391 = load i32, ptr %3390, align 4, !tbaa !5
  %3392 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3379, ptr noundef @.str.2, i32 noundef %3380, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 286, ptr noundef %3383, ptr noundef %3386, ptr noundef %3389, i32 noundef %3391) #9
  br label %3410

3393:                                             ; preds = %3371, %3364
  %3394 = load i32, ptr %57, align 4, !tbaa !5
  %3395 = call ptr @__errno_location() #10
  store i32 %3394, ptr %3395, align 4, !tbaa !5
  %3396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3397 = load i32, ptr @test_count, align 4, !tbaa !5
  %3398 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3399 = load i32, ptr %3398, align 4, !tbaa !5
  %3400 = call ptr @s2n_strerror(i32 noundef %3399, ptr noundef @.str.4)
  %3401 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3402 = load i32, ptr %3401, align 4, !tbaa !5
  %3403 = call ptr @s2n_strerror_debug(i32 noundef %3402, ptr noundef @.str.4)
  %3404 = call ptr @__errno_location() #10
  %3405 = load i32, ptr %3404, align 4, !tbaa !5
  %3406 = call ptr @strerror(i32 noundef %3405) #9
  %3407 = call ptr @__errno_location() #10
  %3408 = load i32, ptr %3407, align 4, !tbaa !5
  %3409 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3396, ptr noundef @.str.5, i32 noundef %3397, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 286, ptr noundef %3400, ptr noundef %3403, ptr noundef %3406, i32 noundef %3408) #9
  br label %3410

3410:                                             ; preds = %3393, %3376
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #9
  br label %3411

3411:                                             ; preds = %3410
  br label %3412

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

3413:                                             ; No predecessors!
  br label %3414

3414:                                             ; preds = %3413
  br label %3415

3415:                                             ; preds = %3414, %3357
  br label %3416

3416:                                             ; preds = %3415
  br label %3417

3417:                                             ; preds = %3416
  br label %3418

3418:                                             ; preds = %3417
  %3419 = load i32, ptr @test_count, align 4, !tbaa !5
  %3420 = add nsw i32 %3419, 1
  store i32 %3420, ptr @test_count, align 4, !tbaa !5
  %3421 = getelementptr inbounds [4 x i8], ptr %56, i64 0, i64 0
  %3422 = call zeroext i1 @s2n_constant_time_equals(ptr noundef null, ptr noundef %3421, i32 noundef 4)
  br i1 %3422, label %3423, label %3476

3423:                                             ; preds = %3418
  br label %3424

3424:                                             ; preds = %3423
  br label %3425

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

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

3437:                                             ; preds = %3432
  %3438 = load i32, ptr %58, align 4, !tbaa !5
  %3439 = call ptr @__errno_location() #10
  store i32 %3438, ptr %3439, align 4, !tbaa !5
  %3440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3441 = load i32, ptr @test_count, align 4, !tbaa !5
  %3442 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3443 = load i32, ptr %3442, align 4, !tbaa !5
  %3444 = call ptr @s2n_strerror(i32 noundef %3443, ptr noundef @.str.4)
  %3445 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3446 = load i32, ptr %3445, align 4, !tbaa !5
  %3447 = call ptr @s2n_strerror_debug(i32 noundef %3446, ptr noundef @.str.4)
  %3448 = call ptr @__errno_location() #10
  %3449 = load i32, ptr %3448, align 4, !tbaa !5
  %3450 = call ptr @strerror(i32 noundef %3449) #9
  %3451 = call ptr @__errno_location() #10
  %3452 = load i32, ptr %3451, align 4, !tbaa !5
  %3453 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3440, ptr noundef @.str.2, i32 noundef %3441, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 287, ptr noundef %3444, ptr noundef %3447, ptr noundef %3450, i32 noundef %3452) #9
  br label %3471

3454:                                             ; preds = %3432, %3425
  %3455 = load i32, ptr %58, align 4, !tbaa !5
  %3456 = call ptr @__errno_location() #10
  store i32 %3455, ptr %3456, align 4, !tbaa !5
  %3457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3458 = load i32, ptr @test_count, align 4, !tbaa !5
  %3459 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3460 = load i32, ptr %3459, align 4, !tbaa !5
  %3461 = call ptr @s2n_strerror(i32 noundef %3460, ptr noundef @.str.4)
  %3462 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3463 = load i32, ptr %3462, align 4, !tbaa !5
  %3464 = call ptr @s2n_strerror_debug(i32 noundef %3463, ptr noundef @.str.4)
  %3465 = call ptr @__errno_location() #10
  %3466 = load i32, ptr %3465, align 4, !tbaa !5
  %3467 = call ptr @strerror(i32 noundef %3466) #9
  %3468 = call ptr @__errno_location() #10
  %3469 = load i32, ptr %3468, align 4, !tbaa !5
  %3470 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3457, ptr noundef @.str.5, i32 noundef %3458, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 287, ptr noundef %3461, ptr noundef %3464, ptr noundef %3467, i32 noundef %3469) #9
  br label %3471

3471:                                             ; preds = %3454, %3437
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #9
  br label %3472

3472:                                             ; preds = %3471
  br label %3473

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

3474:                                             ; No predecessors!
  br label %3475

3475:                                             ; preds = %3474
  br label %3476

3476:                                             ; preds = %3475, %3418
  br label %3477

3477:                                             ; preds = %3476
  br label %3478

3478:                                             ; preds = %3477
  call void @llvm.lifetime.start.p0(i64 4, ptr %59) #9
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %59, ptr align 1 @__const.main.a, i64 4, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %60) #9
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %60, ptr align 1 @__const.main.b, i64 4, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %61) #9
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %61, ptr align 1 @__const.main.c, i64 4, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %62) #9
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %62, ptr align 1 @__const.main.d, i64 4, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %63) #9
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %63, ptr align 1 @__const.main.e, i64 4, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %64) #9
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %64, ptr align 1 @__const.main.f, i64 4, i1 false)
  br label %3479

3479:                                             ; preds = %3478
  %3480 = load i32, ptr @test_count, align 4, !tbaa !5
  %3481 = add nsw i32 %3480, 1
  store i32 %3481, ptr @test_count, align 4, !tbaa !5
  %3482 = getelementptr inbounds [4 x i8], ptr %59, i64 0, i64 0
  %3483 = getelementptr inbounds [4 x i8], ptr %60, i64 0, i64 0
  %3484 = call zeroext i1 @s2n_constant_time_equals(ptr noundef %3482, ptr noundef %3483, i32 noundef 4)
  br i1 %3484, label %3538, label %3485

3485:                                             ; preds = %3479
  br label %3486

3486:                                             ; preds = %3485
  br label %3487

3487:                                             ; preds = %3486
  call void @llvm.lifetime.start.p0(i64 4, ptr %65) #9
  %3488 = call ptr @__errno_location() #10
  %3489 = load i32, ptr %3488, align 4, !tbaa !5
  store i32 %3489, ptr %65, align 4, !tbaa !5
  %3490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3491 = call i32 @s2n_print_stacktrace(ptr noundef %3490)
  %3492 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3493 = trunc i8 %3492 to i1
  br i1 %3493, label %3494, label %3516

3494:                                             ; preds = %3487
  %3495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3496 = call i32 @fileno(ptr noundef %3495) #9
  %3497 = call i32 @isatty(i32 noundef %3496) #9
  %3498 = icmp ne i32 %3497, 0
  br i1 %3498, label %3499, label %3516

3499:                                             ; preds = %3494
  %3500 = load i32, ptr %65, align 4, !tbaa !5
  %3501 = call ptr @__errno_location() #10
  store i32 %3500, ptr %3501, align 4, !tbaa !5
  %3502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3503 = load i32, ptr @test_count, align 4, !tbaa !5
  %3504 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3505 = load i32, ptr %3504, align 4, !tbaa !5
  %3506 = call ptr @s2n_strerror(i32 noundef %3505, ptr noundef @.str.4)
  %3507 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3508 = load i32, ptr %3507, align 4, !tbaa !5
  %3509 = call ptr @s2n_strerror_debug(i32 noundef %3508, ptr noundef @.str.4)
  %3510 = call ptr @__errno_location() #10
  %3511 = load i32, ptr %3510, align 4, !tbaa !5
  %3512 = call ptr @strerror(i32 noundef %3511) #9
  %3513 = call ptr @__errno_location() #10
  %3514 = load i32, ptr %3513, align 4, !tbaa !5
  %3515 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3502, ptr noundef @.str.2, i32 noundef %3503, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 296, ptr noundef %3506, ptr noundef %3509, ptr noundef %3512, i32 noundef %3514) #9
  br label %3533

3516:                                             ; preds = %3494, %3487
  %3517 = load i32, ptr %65, align 4, !tbaa !5
  %3518 = call ptr @__errno_location() #10
  store i32 %3517, ptr %3518, align 4, !tbaa !5
  %3519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3520 = load i32, ptr @test_count, align 4, !tbaa !5
  %3521 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3522 = load i32, ptr %3521, align 4, !tbaa !5
  %3523 = call ptr @s2n_strerror(i32 noundef %3522, ptr noundef @.str.4)
  %3524 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3525 = load i32, ptr %3524, align 4, !tbaa !5
  %3526 = call ptr @s2n_strerror_debug(i32 noundef %3525, ptr noundef @.str.4)
  %3527 = call ptr @__errno_location() #10
  %3528 = load i32, ptr %3527, align 4, !tbaa !5
  %3529 = call ptr @strerror(i32 noundef %3528) #9
  %3530 = call ptr @__errno_location() #10
  %3531 = load i32, ptr %3530, align 4, !tbaa !5
  %3532 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3519, ptr noundef @.str.5, i32 noundef %3520, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 296, ptr noundef %3523, ptr noundef %3526, ptr noundef %3529, i32 noundef %3531) #9
  br label %3533

3533:                                             ; preds = %3516, %3499
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #9
  br label %3534

3534:                                             ; preds = %3533
  br label %3535

3535:                                             ; preds = %3534
  call void @exit(i32 noundef 1) #11
  unreachable

3536:                                             ; No predecessors!
  br label %3537

3537:                                             ; preds = %3536
  br label %3538

3538:                                             ; preds = %3537, %3479
  br label %3539

3539:                                             ; preds = %3538
  br label %3540

3540:                                             ; preds = %3539
  br label %3541

3541:                                             ; preds = %3540
  %3542 = load i32, ptr @test_count, align 4, !tbaa !5
  %3543 = add nsw i32 %3542, 1
  store i32 %3543, ptr @test_count, align 4, !tbaa !5
  %3544 = getelementptr inbounds [4 x i8], ptr %59, i64 0, i64 0
  %3545 = getelementptr inbounds [4 x i8], ptr %61, i64 0, i64 0
  %3546 = call zeroext i1 @s2n_constant_time_equals(ptr noundef %3544, ptr noundef %3545, i32 noundef 4)
  br i1 %3546, label %3547, label %3600

3547:                                             ; preds = %3541
  br label %3548

3548:                                             ; preds = %3547
  br label %3549

3549:                                             ; preds = %3548
  call void @llvm.lifetime.start.p0(i64 4, ptr %66) #9
  %3550 = call ptr @__errno_location() #10
  %3551 = load i32, ptr %3550, align 4, !tbaa !5
  store i32 %3551, ptr %66, align 4, !tbaa !5
  %3552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3553 = call i32 @s2n_print_stacktrace(ptr noundef %3552)
  %3554 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3555 = trunc i8 %3554 to i1
  br i1 %3555, label %3556, label %3578

3556:                                             ; preds = %3549
  %3557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3558 = call i32 @fileno(ptr noundef %3557) #9
  %3559 = call i32 @isatty(i32 noundef %3558) #9
  %3560 = icmp ne i32 %3559, 0
  br i1 %3560, label %3561, label %3578

3561:                                             ; preds = %3556
  %3562 = load i32, ptr %66, align 4, !tbaa !5
  %3563 = call ptr @__errno_location() #10
  store i32 %3562, ptr %3563, align 4, !tbaa !5
  %3564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3565 = load i32, ptr @test_count, align 4, !tbaa !5
  %3566 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3567 = load i32, ptr %3566, align 4, !tbaa !5
  %3568 = call ptr @s2n_strerror(i32 noundef %3567, ptr noundef @.str.4)
  %3569 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3570 = load i32, ptr %3569, align 4, !tbaa !5
  %3571 = call ptr @s2n_strerror_debug(i32 noundef %3570, ptr noundef @.str.4)
  %3572 = call ptr @__errno_location() #10
  %3573 = load i32, ptr %3572, align 4, !tbaa !5
  %3574 = call ptr @strerror(i32 noundef %3573) #9
  %3575 = call ptr @__errno_location() #10
  %3576 = load i32, ptr %3575, align 4, !tbaa !5
  %3577 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3564, ptr noundef @.str.2, i32 noundef %3565, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 297, ptr noundef %3568, ptr noundef %3571, ptr noundef %3574, i32 noundef %3576) #9
  br label %3595

3578:                                             ; preds = %3556, %3549
  %3579 = load i32, ptr %66, align 4, !tbaa !5
  %3580 = call ptr @__errno_location() #10
  store i32 %3579, ptr %3580, align 4, !tbaa !5
  %3581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3582 = load i32, ptr @test_count, align 4, !tbaa !5
  %3583 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3584 = load i32, ptr %3583, align 4, !tbaa !5
  %3585 = call ptr @s2n_strerror(i32 noundef %3584, ptr noundef @.str.4)
  %3586 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3587 = load i32, ptr %3586, align 4, !tbaa !5
  %3588 = call ptr @s2n_strerror_debug(i32 noundef %3587, ptr noundef @.str.4)
  %3589 = call ptr @__errno_location() #10
  %3590 = load i32, ptr %3589, align 4, !tbaa !5
  %3591 = call ptr @strerror(i32 noundef %3590) #9
  %3592 = call ptr @__errno_location() #10
  %3593 = load i32, ptr %3592, align 4, !tbaa !5
  %3594 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3581, ptr noundef @.str.5, i32 noundef %3582, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 297, ptr noundef %3585, ptr noundef %3588, ptr noundef %3591, i32 noundef %3593) #9
  br label %3595

3595:                                             ; preds = %3578, %3561
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #9
  br label %3596

3596:                                             ; preds = %3595
  br label %3597

3597:                                             ; preds = %3596
  call void @exit(i32 noundef 1) #11
  unreachable

3598:                                             ; No predecessors!
  br label %3599

3599:                                             ; preds = %3598
  br label %3600

3600:                                             ; preds = %3599, %3541
  br label %3601

3601:                                             ; preds = %3600
  br label %3602

3602:                                             ; preds = %3601
  br label %3603

3603:                                             ; preds = %3602
  %3604 = load i32, ptr @test_count, align 4, !tbaa !5
  %3605 = add nsw i32 %3604, 1
  store i32 %3605, ptr @test_count, align 4, !tbaa !5
  %3606 = getelementptr inbounds [4 x i8], ptr %59, i64 0, i64 0
  %3607 = call zeroext i1 @s2n_constant_time_equals(ptr noundef %3606, ptr noundef null, i32 noundef 4)
  br i1 %3607, label %3608, label %3661

3608:                                             ; preds = %3603
  br label %3609

3609:                                             ; preds = %3608
  br label %3610

3610:                                             ; preds = %3609
  call void @llvm.lifetime.start.p0(i64 4, ptr %67) #9
  %3611 = call ptr @__errno_location() #10
  %3612 = load i32, ptr %3611, align 4, !tbaa !5
  store i32 %3612, ptr %67, align 4, !tbaa !5
  %3613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3614 = call i32 @s2n_print_stacktrace(ptr noundef %3613)
  %3615 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3616 = trunc i8 %3615 to i1
  br i1 %3616, label %3617, label %3639

3617:                                             ; preds = %3610
  %3618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3619 = call i32 @fileno(ptr noundef %3618) #9
  %3620 = call i32 @isatty(i32 noundef %3619) #9
  %3621 = icmp ne i32 %3620, 0
  br i1 %3621, label %3622, label %3639

3622:                                             ; preds = %3617
  %3623 = load i32, ptr %67, align 4, !tbaa !5
  %3624 = call ptr @__errno_location() #10
  store i32 %3623, ptr %3624, align 4, !tbaa !5
  %3625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3626 = load i32, ptr @test_count, align 4, !tbaa !5
  %3627 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3628 = load i32, ptr %3627, align 4, !tbaa !5
  %3629 = call ptr @s2n_strerror(i32 noundef %3628, ptr noundef @.str.4)
  %3630 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3631 = load i32, ptr %3630, align 4, !tbaa !5
  %3632 = call ptr @s2n_strerror_debug(i32 noundef %3631, ptr noundef @.str.4)
  %3633 = call ptr @__errno_location() #10
  %3634 = load i32, ptr %3633, align 4, !tbaa !5
  %3635 = call ptr @strerror(i32 noundef %3634) #9
  %3636 = call ptr @__errno_location() #10
  %3637 = load i32, ptr %3636, align 4, !tbaa !5
  %3638 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3625, ptr noundef @.str.2, i32 noundef %3626, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 298, ptr noundef %3629, ptr noundef %3632, ptr noundef %3635, i32 noundef %3637) #9
  br label %3656

3639:                                             ; preds = %3617, %3610
  %3640 = load i32, ptr %67, align 4, !tbaa !5
  %3641 = call ptr @__errno_location() #10
  store i32 %3640, ptr %3641, align 4, !tbaa !5
  %3642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3643 = load i32, ptr @test_count, align 4, !tbaa !5
  %3644 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3645 = load i32, ptr %3644, align 4, !tbaa !5
  %3646 = call ptr @s2n_strerror(i32 noundef %3645, ptr noundef @.str.4)
  %3647 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3648 = load i32, ptr %3647, align 4, !tbaa !5
  %3649 = call ptr @s2n_strerror_debug(i32 noundef %3648, ptr noundef @.str.4)
  %3650 = call ptr @__errno_location() #10
  %3651 = load i32, ptr %3650, align 4, !tbaa !5
  %3652 = call ptr @strerror(i32 noundef %3651) #9
  %3653 = call ptr @__errno_location() #10
  %3654 = load i32, ptr %3653, align 4, !tbaa !5
  %3655 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3642, ptr noundef @.str.5, i32 noundef %3643, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 298, ptr noundef %3646, ptr noundef %3649, ptr noundef %3652, i32 noundef %3654) #9
  br label %3656

3656:                                             ; preds = %3639, %3622
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #9
  br label %3657

3657:                                             ; preds = %3656
  br label %3658

3658:                                             ; preds = %3657
  call void @exit(i32 noundef 1) #11
  unreachable

3659:                                             ; No predecessors!
  br label %3660

3660:                                             ; preds = %3659
  br label %3661

3661:                                             ; preds = %3660, %3603
  br label %3662

3662:                                             ; preds = %3661
  br label %3663

3663:                                             ; preds = %3662
  br label %3664

3664:                                             ; preds = %3663
  %3665 = load i32, ptr @test_count, align 4, !tbaa !5
  %3666 = add nsw i32 %3665, 1
  store i32 %3666, ptr @test_count, align 4, !tbaa !5
  %3667 = getelementptr inbounds [4 x i8], ptr %60, i64 0, i64 0
  %3668 = call zeroext i1 @s2n_constant_time_equals(ptr noundef null, ptr noundef %3667, i32 noundef 4)
  br i1 %3668, label %3669, label %3722

3669:                                             ; preds = %3664
  br label %3670

3670:                                             ; preds = %3669
  br label %3671

3671:                                             ; preds = %3670
  call void @llvm.lifetime.start.p0(i64 4, ptr %68) #9
  %3672 = call ptr @__errno_location() #10
  %3673 = load i32, ptr %3672, align 4, !tbaa !5
  store i32 %3673, ptr %68, align 4, !tbaa !5
  %3674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3675 = call i32 @s2n_print_stacktrace(ptr noundef %3674)
  %3676 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3677 = trunc i8 %3676 to i1
  br i1 %3677, label %3678, label %3700

3678:                                             ; preds = %3671
  %3679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3680 = call i32 @fileno(ptr noundef %3679) #9
  %3681 = call i32 @isatty(i32 noundef %3680) #9
  %3682 = icmp ne i32 %3681, 0
  br i1 %3682, label %3683, label %3700

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

3700:                                             ; preds = %3678, %3671
  %3701 = load i32, ptr %68, align 4, !tbaa !5
  %3702 = call ptr @__errno_location() #10
  store i32 %3701, ptr %3702, align 4, !tbaa !5
  %3703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3704 = load i32, ptr @test_count, align 4, !tbaa !5
  %3705 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3706 = load i32, ptr %3705, align 4, !tbaa !5
  %3707 = call ptr @s2n_strerror(i32 noundef %3706, ptr noundef @.str.4)
  %3708 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3709 = load i32, ptr %3708, align 4, !tbaa !5
  %3710 = call ptr @s2n_strerror_debug(i32 noundef %3709, ptr noundef @.str.4)
  %3711 = call ptr @__errno_location() #10
  %3712 = load i32, ptr %3711, align 4, !tbaa !5
  %3713 = call ptr @strerror(i32 noundef %3712) #9
  %3714 = call ptr @__errno_location() #10
  %3715 = load i32, ptr %3714, align 4, !tbaa !5
  %3716 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3703, ptr noundef @.str.5, i32 noundef %3704, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 299, ptr noundef %3707, ptr noundef %3710, ptr noundef %3713, i32 noundef %3715) #9
  br label %3717

3717:                                             ; preds = %3700, %3683
  call void @llvm.lifetime.end.p0(i64 4, ptr %68) #9
  br label %3718

3718:                                             ; preds = %3717
  br label %3719

3719:                                             ; preds = %3718
  call void @exit(i32 noundef 1) #11
  unreachable

3720:                                             ; No predecessors!
  br label %3721

3721:                                             ; preds = %3720
  br label %3722

3722:                                             ; preds = %3721, %3664
  br label %3723

3723:                                             ; preds = %3722
  br label %3724

3724:                                             ; preds = %3723
  br label %3725

3725:                                             ; preds = %3724
  %3726 = load i32, ptr @test_count, align 4, !tbaa !5
  %3727 = add nsw i32 %3726, 1
  store i32 %3727, ptr @test_count, align 4, !tbaa !5
  %3728 = call zeroext i1 @s2n_constant_time_equals(ptr noundef null, ptr noundef null, i32 noundef 0)
  br i1 %3728, label %3782, label %3729

3729:                                             ; preds = %3725
  br label %3730

3730:                                             ; preds = %3729
  br label %3731

3731:                                             ; preds = %3730
  call void @llvm.lifetime.start.p0(i64 4, ptr %69) #9
  %3732 = call ptr @__errno_location() #10
  %3733 = load i32, ptr %3732, align 4, !tbaa !5
  store i32 %3733, ptr %69, align 4, !tbaa !5
  %3734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3735 = call i32 @s2n_print_stacktrace(ptr noundef %3734)
  %3736 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3737 = trunc i8 %3736 to i1
  br i1 %3737, label %3738, label %3760

3738:                                             ; preds = %3731
  %3739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3740 = call i32 @fileno(ptr noundef %3739) #9
  %3741 = call i32 @isatty(i32 noundef %3740) #9
  %3742 = icmp ne i32 %3741, 0
  br i1 %3742, label %3743, label %3760

3743:                                             ; preds = %3738
  %3744 = load i32, ptr %69, align 4, !tbaa !5
  %3745 = call ptr @__errno_location() #10
  store i32 %3744, ptr %3745, align 4, !tbaa !5
  %3746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3747 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %3749, ptr noundef @.str.4)
  %3751 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3752 = load i32, ptr %3751, align 4, !tbaa !5
  %3753 = call ptr @s2n_strerror_debug(i32 noundef %3752, ptr noundef @.str.4)
  %3754 = call ptr @__errno_location() #10
  %3755 = load i32, ptr %3754, align 4, !tbaa !5
  %3756 = call ptr @strerror(i32 noundef %3755) #9
  %3757 = call ptr @__errno_location() #10
  %3758 = load i32, ptr %3757, align 4, !tbaa !5
  %3759 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3746, ptr noundef @.str.2, i32 noundef %3747, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 300, ptr noundef %3750, ptr noundef %3753, ptr noundef %3756, i32 noundef %3758) #9
  br label %3777

3760:                                             ; preds = %3738, %3731
  %3761 = load i32, ptr %69, align 4, !tbaa !5
  %3762 = call ptr @__errno_location() #10
  store i32 %3761, ptr %3762, align 4, !tbaa !5
  %3763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3764 = load i32, ptr @test_count, align 4, !tbaa !5
  %3765 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3766 = load i32, ptr %3765, align 4, !tbaa !5
  %3767 = call ptr @s2n_strerror(i32 noundef %3766, ptr noundef @.str.4)
  %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 = call ptr @__errno_location() #10
  %3772 = load i32, ptr %3771, align 4, !tbaa !5
  %3773 = call ptr @strerror(i32 noundef %3772) #9
  %3774 = call ptr @__errno_location() #10
  %3775 = load i32, ptr %3774, align 4, !tbaa !5
  %3776 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3763, ptr noundef @.str.5, i32 noundef %3764, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 300, ptr noundef %3767, ptr noundef %3770, ptr noundef %3773, i32 noundef %3775) #9
  br label %3777

3777:                                             ; preds = %3760, %3743
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #9
  br label %3778

3778:                                             ; preds = %3777
  br label %3779

3779:                                             ; preds = %3778
  call void @exit(i32 noundef 1) #11
  unreachable

3780:                                             ; No predecessors!
  br label %3781

3781:                                             ; preds = %3780
  br label %3782

3782:                                             ; preds = %3781, %3725
  br label %3783

3783:                                             ; preds = %3782
  br label %3784

3784:                                             ; preds = %3783
  br label %3785

3785:                                             ; preds = %3784
  %3786 = load i32, ptr @test_count, align 4, !tbaa !5
  %3787 = add nsw i32 %3786, 1
  store i32 %3787, ptr @test_count, align 4, !tbaa !5
  %3788 = call zeroext i1 @s2n_constant_time_equals(ptr noundef null, ptr noundef null, i32 noundef 4)
  br i1 %3788, label %3789, label %3842

3789:                                             ; preds = %3785
  br label %3790

3790:                                             ; preds = %3789
  br label %3791

3791:                                             ; preds = %3790
  call void @llvm.lifetime.start.p0(i64 4, ptr %70) #9
  %3792 = call ptr @__errno_location() #10
  %3793 = load i32, ptr %3792, align 4, !tbaa !5
  store i32 %3793, ptr %70, align 4, !tbaa !5
  %3794 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3795 = call i32 @s2n_print_stacktrace(ptr noundef %3794)
  %3796 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3797 = trunc i8 %3796 to i1
  br i1 %3797, label %3798, label %3820

3798:                                             ; preds = %3791
  %3799 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3800 = call i32 @fileno(ptr noundef %3799) #9
  %3801 = call i32 @isatty(i32 noundef %3800) #9
  %3802 = icmp ne i32 %3801, 0
  br i1 %3802, label %3803, label %3820

3803:                                             ; preds = %3798
  %3804 = load i32, ptr %70, align 4, !tbaa !5
  %3805 = call ptr @__errno_location() #10
  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() #10
  %3815 = load i32, ptr %3814, align 4, !tbaa !5
  %3816 = call ptr @strerror(i32 noundef %3815) #9
  %3817 = call ptr @__errno_location() #10
  %3818 = load i32, ptr %3817, align 4, !tbaa !5
  %3819 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3806, ptr noundef @.str.2, i32 noundef %3807, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 301, ptr noundef %3810, ptr noundef %3813, ptr noundef %3816, i32 noundef %3818) #9
  br label %3837

3820:                                             ; preds = %3798, %3791
  %3821 = load i32, ptr %70, align 4, !tbaa !5
  %3822 = call ptr @__errno_location() #10
  store i32 %3821, ptr %3822, align 4, !tbaa !5
  %3823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3824 = load i32, ptr @test_count, align 4, !tbaa !5
  %3825 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3826 = load i32, ptr %3825, align 4, !tbaa !5
  %3827 = call ptr @s2n_strerror(i32 noundef %3826, ptr noundef @.str.4)
  %3828 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3829 = load i32, ptr %3828, align 4, !tbaa !5
  %3830 = call ptr @s2n_strerror_debug(i32 noundef %3829, ptr noundef @.str.4)
  %3831 = call ptr @__errno_location() #10
  %3832 = load i32, ptr %3831, align 4, !tbaa !5
  %3833 = call ptr @strerror(i32 noundef %3832) #9
  %3834 = call ptr @__errno_location() #10
  %3835 = load i32, ptr %3834, align 4, !tbaa !5
  %3836 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3823, ptr noundef @.str.5, i32 noundef %3824, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 301, ptr noundef %3827, ptr noundef %3830, ptr noundef %3833, i32 noundef %3835) #9
  br label %3837

3837:                                             ; preds = %3820, %3803
  call void @llvm.lifetime.end.p0(i64 4, ptr %70) #9
  br label %3838

3838:                                             ; preds = %3837
  br label %3839

3839:                                             ; preds = %3838
  call void @exit(i32 noundef 1) #11
  unreachable

3840:                                             ; No predecessors!
  br label %3841

3841:                                             ; preds = %3840
  br label %3842

3842:                                             ; preds = %3841, %3785
  br label %3843

3843:                                             ; preds = %3842
  br label %3844

3844:                                             ; preds = %3843
  br label %3845

3845:                                             ; preds = %3844
  %3846 = load i32, ptr @test_count, align 4, !tbaa !5
  %3847 = add nsw i32 %3846, 1
  store i32 %3847, ptr @test_count, align 4, !tbaa !5
  %3848 = getelementptr inbounds [4 x i8], ptr %59, i64 0, i64 0
  %3849 = getelementptr inbounds [4 x i8], ptr %61, i64 0, i64 0
  %3850 = call zeroext i1 @s2n_constant_time_equals(ptr noundef %3848, ptr noundef %3849, i32 noundef 0)
  br i1 %3850, label %3904, label %3851

3851:                                             ; preds = %3845
  br label %3852

3852:                                             ; preds = %3851
  br label %3853

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

3860:                                             ; preds = %3853
  %3861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3862 = call i32 @fileno(ptr noundef %3861) #9
  %3863 = call i32 @isatty(i32 noundef %3862) #9
  %3864 = icmp ne i32 %3863, 0
  br i1 %3864, label %3865, label %3882

3865:                                             ; preds = %3860
  %3866 = load i32, ptr %71, align 4, !tbaa !5
  %3867 = call ptr @__errno_location() #10
  store i32 %3866, ptr %3867, align 4, !tbaa !5
  %3868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3869 = load i32, ptr @test_count, align 4, !tbaa !5
  %3870 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3871 = load i32, ptr %3870, align 4, !tbaa !5
  %3872 = call ptr @s2n_strerror(i32 noundef %3871, ptr noundef @.str.4)
  %3873 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3874 = load i32, ptr %3873, align 4, !tbaa !5
  %3875 = call ptr @s2n_strerror_debug(i32 noundef %3874, ptr noundef @.str.4)
  %3876 = call ptr @__errno_location() #10
  %3877 = load i32, ptr %3876, align 4, !tbaa !5
  %3878 = call ptr @strerror(i32 noundef %3877) #9
  %3879 = call ptr @__errno_location() #10
  %3880 = load i32, ptr %3879, align 4, !tbaa !5
  %3881 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3868, ptr noundef @.str.2, i32 noundef %3869, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 302, ptr noundef %3872, ptr noundef %3875, ptr noundef %3878, i32 noundef %3880) #9
  br label %3899

3882:                                             ; preds = %3860, %3853
  %3883 = load i32, ptr %71, align 4, !tbaa !5
  %3884 = call ptr @__errno_location() #10
  store i32 %3883, ptr %3884, align 4, !tbaa !5
  %3885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3886 = load i32, ptr @test_count, align 4, !tbaa !5
  %3887 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3888 = load i32, ptr %3887, align 4, !tbaa !5
  %3889 = call ptr @s2n_strerror(i32 noundef %3888, ptr noundef @.str.4)
  %3890 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3891 = load i32, ptr %3890, align 4, !tbaa !5
  %3892 = call ptr @s2n_strerror_debug(i32 noundef %3891, ptr noundef @.str.4)
  %3893 = call ptr @__errno_location() #10
  %3894 = load i32, ptr %3893, align 4, !tbaa !5
  %3895 = call ptr @strerror(i32 noundef %3894) #9
  %3896 = call ptr @__errno_location() #10
  %3897 = load i32, ptr %3896, align 4, !tbaa !5
  %3898 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3885, ptr noundef @.str.5, i32 noundef %3886, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 302, ptr noundef %3889, ptr noundef %3892, ptr noundef %3895, i32 noundef %3897) #9
  br label %3899

3899:                                             ; preds = %3882, %3865
  call void @llvm.lifetime.end.p0(i64 4, ptr %71) #9
  br label %3900

3900:                                             ; preds = %3899
  br label %3901

3901:                                             ; preds = %3900
  call void @exit(i32 noundef 1) #11
  unreachable

3902:                                             ; No predecessors!
  br label %3903

3903:                                             ; preds = %3902
  br label %3904

3904:                                             ; preds = %3903, %3845
  br label %3905

3905:                                             ; preds = %3904
  br label %3906

3906:                                             ; preds = %3905
  br label %3907

3907:                                             ; preds = %3906
  %3908 = load i32, ptr @test_count, align 4, !tbaa !5
  %3909 = add nsw i32 %3908, 1
  store i32 %3909, ptr @test_count, align 4, !tbaa !5
  %3910 = getelementptr inbounds [4 x i8], ptr %59, i64 0, i64 0
  %3911 = getelementptr inbounds [4 x i8], ptr %64, i64 0, i64 0
  %3912 = call zeroext i1 @s2n_constant_time_equals(ptr noundef %3910, ptr noundef %3911, i32 noundef 3)
  br i1 %3912, label %3966, label %3913

3913:                                             ; preds = %3907
  br label %3914

3914:                                             ; preds = %3913
  br label %3915

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

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

3927:                                             ; preds = %3922
  %3928 = load i32, ptr %72, align 4, !tbaa !5
  %3929 = call ptr @__errno_location() #10
  store i32 %3928, ptr %3929, align 4, !tbaa !5
  %3930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3931 = load i32, ptr @test_count, align 4, !tbaa !5
  %3932 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3933 = load i32, ptr %3932, align 4, !tbaa !5
  %3934 = call ptr @s2n_strerror(i32 noundef %3933, ptr noundef @.str.4)
  %3935 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3936 = load i32, ptr %3935, align 4, !tbaa !5
  %3937 = call ptr @s2n_strerror_debug(i32 noundef %3936, ptr noundef @.str.4)
  %3938 = call ptr @__errno_location() #10
  %3939 = load i32, ptr %3938, align 4, !tbaa !5
  %3940 = call ptr @strerror(i32 noundef %3939) #9
  %3941 = call ptr @__errno_location() #10
  %3942 = load i32, ptr %3941, align 4, !tbaa !5
  %3943 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3930, ptr noundef @.str.2, i32 noundef %3931, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 304, ptr noundef %3934, ptr noundef %3937, ptr noundef %3940, i32 noundef %3942) #9
  br label %3961

3944:                                             ; preds = %3922, %3915
  %3945 = load i32, ptr %72, align 4, !tbaa !5
  %3946 = call ptr @__errno_location() #10
  store i32 %3945, ptr %3946, align 4, !tbaa !5
  %3947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3948 = load i32, ptr @test_count, align 4, !tbaa !5
  %3949 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3950 = load i32, ptr %3949, align 4, !tbaa !5
  %3951 = call ptr @s2n_strerror(i32 noundef %3950, ptr noundef @.str.4)
  %3952 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3953 = load i32, ptr %3952, align 4, !tbaa !5
  %3954 = call ptr @s2n_strerror_debug(i32 noundef %3953, ptr noundef @.str.4)
  %3955 = call ptr @__errno_location() #10
  %3956 = load i32, ptr %3955, align 4, !tbaa !5
  %3957 = call ptr @strerror(i32 noundef %3956) #9
  %3958 = call ptr @__errno_location() #10
  %3959 = load i32, ptr %3958, align 4, !tbaa !5
  %3960 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3947, ptr noundef @.str.5, i32 noundef %3948, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 304, ptr noundef %3951, ptr noundef %3954, ptr noundef %3957, i32 noundef %3959) #9
  br label %3961

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

3962:                                             ; preds = %3961
  br label %3963

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

3964:                                             ; No predecessors!
  br label %3965

3965:                                             ; preds = %3964
  br label %3966

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

3967:                                             ; preds = %3966
  br label %3968

3968:                                             ; preds = %3967
  br label %3969

3969:                                             ; preds = %3968
  %3970 = load i32, ptr @test_count, align 4, !tbaa !5
  %3971 = add nsw i32 %3970, 1
  store i32 %3971, ptr @test_count, align 4, !tbaa !5
  %3972 = getelementptr inbounds [4 x i8], ptr %59, i64 0, i64 0
  %3973 = getelementptr inbounds [4 x i8], ptr %64, i64 0, i64 0
  %3974 = call zeroext i1 @s2n_constant_time_equals(ptr noundef %3972, ptr noundef %3973, i32 noundef 4)
  br i1 %3974, label %3975, label %4028

3975:                                             ; preds = %3969
  br label %3976

3976:                                             ; preds = %3975
  br label %3977

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

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

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

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

4023:                                             ; preds = %4006, %3989
  call void @llvm.lifetime.end.p0(i64 4, ptr %73) #9
  br label %4024

4024:                                             ; preds = %4023
  br label %4025

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

4026:                                             ; No predecessors!
  br label %4027

4027:                                             ; preds = %4026
  br label %4028

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

4029:                                             ; preds = %4028
  br label %4030

4030:                                             ; preds = %4029
  br label %4031

4031:                                             ; preds = %4030
  %4032 = load i32, ptr @test_count, align 4, !tbaa !5
  %4033 = add nsw i32 %4032, 1
  store i32 %4033, ptr @test_count, align 4, !tbaa !5
  %4034 = getelementptr inbounds [4 x i8], ptr %59, i64 0, i64 0
  %4035 = getelementptr inbounds [4 x i8], ptr %61, i64 0, i64 0
  %4036 = call i32 @s2n_constant_time_copy_or_dont(ptr noundef %4034, ptr noundef %4035, i32 noundef 4, i8 noundef zeroext 0)
  %4037 = icmp eq i32 %4036, -1
  br i1 %4037, label %4038, label %4091

4038:                                             ; preds = %4031
  br label %4039

4039:                                             ; preds = %4038
  br label %4040

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

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

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

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

4086:                                             ; preds = %4069, %4052
  call void @llvm.lifetime.end.p0(i64 4, ptr %74) #9
  br label %4087

4087:                                             ; preds = %4086
  br label %4088

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

4089:                                             ; No predecessors!
  br label %4090

4090:                                             ; preds = %4089
  br label %4091

4091:                                             ; preds = %4090, %4031
  br label %4092

4092:                                             ; preds = %4091
  br label %4093

4093:                                             ; preds = %4092
  br label %4094

4094:                                             ; preds = %4093
  %4095 = load i32, ptr @test_count, align 4, !tbaa !5
  %4096 = add nsw i32 %4095, 1
  store i32 %4096, ptr @test_count, align 4, !tbaa !5
  %4097 = getelementptr inbounds [4 x i8], ptr %59, i64 0, i64 0
  %4098 = getelementptr inbounds [4 x i8], ptr %61, i64 0, i64 0
  %4099 = call zeroext i1 @s2n_constant_time_equals(ptr noundef %4097, ptr noundef %4098, i32 noundef 4)
  %4100 = zext i1 %4099 to i32
  %4101 = icmp eq i32 %4100, 1
  br i1 %4101, label %4155, label %4102

4102:                                             ; preds = %4094
  br label %4103

4103:                                             ; preds = %4102
  br label %4104

4104:                                             ; preds = %4103
  call void @llvm.lifetime.start.p0(i64 4, ptr %75) #9
  %4105 = call ptr @__errno_location() #10
  %4106 = load i32, ptr %4105, align 4, !tbaa !5
  store i32 %4106, ptr %75, 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) #9
  %4114 = call i32 @isatty(i32 noundef %4113) #9
  %4115 = icmp ne i32 %4114, 0
  br i1 %4115, label %4116, label %4133

4116:                                             ; preds = %4111
  %4117 = load i32, ptr %75, align 4, !tbaa !5
  %4118 = call ptr @__errno_location() #10
  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() #10
  %4128 = load i32, ptr %4127, align 4, !tbaa !5
  %4129 = call ptr @strerror(i32 noundef %4128) #9
  %4130 = call ptr @__errno_location() #10
  %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.45, ptr noundef @.str.1, i32 noundef 308, ptr noundef %4123, ptr noundef %4126, ptr noundef %4129, i32 noundef %4131) #9
  br label %4150

4133:                                             ; preds = %4111, %4104
  %4134 = load i32, ptr %75, align 4, !tbaa !5
  %4135 = call ptr @__errno_location() #10
  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() #10
  %4145 = load i32, ptr %4144, align 4, !tbaa !5
  %4146 = call ptr @strerror(i32 noundef %4145) #9
  %4147 = call ptr @__errno_location() #10
  %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.45, ptr noundef @.str.1, i32 noundef 308, ptr noundef %4140, ptr noundef %4143, ptr noundef %4146, i32 noundef %4148) #9
  br label %4150

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

4151:                                             ; preds = %4150
  br label %4152

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

4153:                                             ; No predecessors!
  br label %4154

4154:                                             ; preds = %4153
  br label %4155

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

4156:                                             ; preds = %4155
  br label %4157

4157:                                             ; preds = %4156
  call void @llvm.lifetime.start.p0(i64 4, ptr %76) #9
  store i32 1, ptr %76, align 4, !tbaa !5
  br label %4158

4158:                                             ; preds = %4356, %4157
  %4159 = load i32, ptr %76, align 4, !tbaa !5
  %4160 = icmp slt i32 %4159, 256
  br i1 %4160, label %4162, label %4161

4161:                                             ; preds = %4158
  call void @llvm.lifetime.end.p0(i64 4, ptr %76) #9
  br label %4359

4162:                                             ; preds = %4158
  br label %4163

4163:                                             ; preds = %4162
  %4164 = load i32, ptr @test_count, align 4, !tbaa !5
  %4165 = add nsw i32 %4164, 1
  store i32 %4165, ptr @test_count, align 4, !tbaa !5
  %4166 = getelementptr inbounds [4 x i8], ptr %60, i64 0, i64 0
  %4167 = getelementptr inbounds [4 x i8], ptr %62, i64 0, i64 0
  %4168 = load i32, ptr %76, align 4, !tbaa !5
  %4169 = trunc i32 %4168 to i8
  %4170 = call i32 @s2n_constant_time_copy_or_dont(ptr noundef %4166, ptr noundef %4167, i32 noundef 4, i8 noundef zeroext %4169)
  %4171 = icmp eq i32 %4170, -1
  br i1 %4171, label %4172, label %4225

4172:                                             ; preds = %4163
  br label %4173

4173:                                             ; preds = %4172
  br label %4174

4174:                                             ; preds = %4173
  call void @llvm.lifetime.start.p0(i64 4, ptr %77) #9
  %4175 = call ptr @__errno_location() #10
  %4176 = load i32, ptr %4175, align 4, !tbaa !5
  store i32 %4176, ptr %77, align 4, !tbaa !5
  %4177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4178 = call i32 @s2n_print_stacktrace(ptr noundef %4177)
  %4179 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4180 = trunc i8 %4179 to i1
  br i1 %4180, label %4181, label %4203

4181:                                             ; preds = %4174
  %4182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4183 = call i32 @fileno(ptr noundef %4182) #9
  %4184 = call i32 @isatty(i32 noundef %4183) #9
  %4185 = icmp ne i32 %4184, 0
  br i1 %4185, label %4186, label %4203

4186:                                             ; preds = %4181
  %4187 = load i32, ptr %77, align 4, !tbaa !5
  %4188 = call ptr @__errno_location() #10
  store i32 %4187, ptr %4188, align 4, !tbaa !5
  %4189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4190 = load i32, ptr @test_count, align 4, !tbaa !5
  %4191 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4192 = load i32, ptr %4191, align 4, !tbaa !5
  %4193 = call ptr @s2n_strerror(i32 noundef %4192, ptr noundef @.str.4)
  %4194 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4195 = load i32, ptr %4194, align 4, !tbaa !5
  %4196 = call ptr @s2n_strerror_debug(i32 noundef %4195, ptr noundef @.str.4)
  %4197 = call ptr @__errno_location() #10
  %4198 = load i32, ptr %4197, align 4, !tbaa !5
  %4199 = call ptr @strerror(i32 noundef %4198) #9
  %4200 = call ptr @__errno_location() #10
  %4201 = load i32, ptr %4200, align 4, !tbaa !5
  %4202 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4189, ptr noundef @.str.2, i32 noundef %4190, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 311, ptr noundef %4193, ptr noundef %4196, ptr noundef %4199, i32 noundef %4201) #9
  br label %4220

4203:                                             ; preds = %4181, %4174
  %4204 = load i32, ptr %77, align 4, !tbaa !5
  %4205 = call ptr @__errno_location() #10
  store i32 %4204, ptr %4205, align 4, !tbaa !5
  %4206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4207 = load i32, ptr @test_count, align 4, !tbaa !5
  %4208 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4209 = load i32, ptr %4208, align 4, !tbaa !5
  %4210 = call ptr @s2n_strerror(i32 noundef %4209, ptr noundef @.str.4)
  %4211 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4212 = load i32, ptr %4211, align 4, !tbaa !5
  %4213 = call ptr @s2n_strerror_debug(i32 noundef %4212, ptr noundef @.str.4)
  %4214 = call ptr @__errno_location() #10
  %4215 = load i32, ptr %4214, align 4, !tbaa !5
  %4216 = call ptr @strerror(i32 noundef %4215) #9
  %4217 = call ptr @__errno_location() #10
  %4218 = load i32, ptr %4217, align 4, !tbaa !5
  %4219 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4206, ptr noundef @.str.5, i32 noundef %4207, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 311, ptr noundef %4210, ptr noundef %4213, ptr noundef %4216, i32 noundef %4218) #9
  br label %4220

4220:                                             ; preds = %4203, %4186
  call void @llvm.lifetime.end.p0(i64 4, ptr %77) #9
  br label %4221

4221:                                             ; preds = %4220
  br label %4222

4222:                                             ; preds = %4221
  call void @exit(i32 noundef 1) #11
  unreachable

4223:                                             ; No predecessors!
  br label %4224

4224:                                             ; preds = %4223
  br label %4225

4225:                                             ; preds = %4224, %4163
  br label %4226

4226:                                             ; preds = %4225
  br label %4227

4227:                                             ; preds = %4226
  br label %4228

4228:                                             ; preds = %4227
  %4229 = load i32, ptr @test_count, align 4, !tbaa !5
  %4230 = add nsw i32 %4229, 1
  store i32 %4230, ptr @test_count, align 4, !tbaa !5
  %4231 = getelementptr inbounds [4 x i8], ptr %60, i64 0, i64 0
  %4232 = getelementptr inbounds [4 x i8], ptr %62, i64 0, i64 0
  %4233 = call zeroext i1 @s2n_constant_time_equals(ptr noundef %4231, ptr noundef %4232, i32 noundef 4)
  %4234 = zext i1 %4233 to i32
  %4235 = icmp eq i32 %4234, 0
  br i1 %4235, label %4289, label %4236

4236:                                             ; preds = %4228
  br label %4237

4237:                                             ; preds = %4236
  br label %4238

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

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

4250:                                             ; preds = %4245
  %4251 = load i32, ptr %78, align 4, !tbaa !5
  %4252 = call ptr @__errno_location() #10
  store i32 %4251, ptr %4252, align 4, !tbaa !5
  %4253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4254 = load i32, ptr @test_count, align 4, !tbaa !5
  %4255 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4256 = load i32, ptr %4255, align 4, !tbaa !5
  %4257 = call ptr @s2n_strerror(i32 noundef %4256, ptr noundef @.str.4)
  %4258 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4259 = load i32, ptr %4258, align 4, !tbaa !5
  %4260 = call ptr @s2n_strerror_debug(i32 noundef %4259, ptr noundef @.str.4)
  %4261 = call ptr @__errno_location() #10
  %4262 = load i32, ptr %4261, align 4, !tbaa !5
  %4263 = call ptr @strerror(i32 noundef %4262) #9
  %4264 = call ptr @__errno_location() #10
  %4265 = load i32, ptr %4264, align 4, !tbaa !5
  %4266 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4253, ptr noundef @.str.2, i32 noundef %4254, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 312, ptr noundef %4257, ptr noundef %4260, ptr noundef %4263, i32 noundef %4265) #9
  br label %4284

4267:                                             ; preds = %4245, %4238
  %4268 = load i32, ptr %78, align 4, !tbaa !5
  %4269 = call ptr @__errno_location() #10
  store i32 %4268, ptr %4269, align 4, !tbaa !5
  %4270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4271 = load i32, ptr @test_count, align 4, !tbaa !5
  %4272 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4273 = load i32, ptr %4272, align 4, !tbaa !5
  %4274 = call ptr @s2n_strerror(i32 noundef %4273, ptr noundef @.str.4)
  %4275 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4276 = load i32, ptr %4275, align 4, !tbaa !5
  %4277 = call ptr @s2n_strerror_debug(i32 noundef %4276, ptr noundef @.str.4)
  %4278 = call ptr @__errno_location() #10
  %4279 = load i32, ptr %4278, align 4, !tbaa !5
  %4280 = call ptr @strerror(i32 noundef %4279) #9
  %4281 = call ptr @__errno_location() #10
  %4282 = load i32, ptr %4281, align 4, !tbaa !5
  %4283 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4270, ptr noundef @.str.5, i32 noundef %4271, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 312, ptr noundef %4274, ptr noundef %4277, ptr noundef %4280, i32 noundef %4282) #9
  br label %4284

4284:                                             ; preds = %4267, %4250
  call void @llvm.lifetime.end.p0(i64 4, ptr %78) #9
  br label %4285

4285:                                             ; preds = %4284
  br label %4286

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

4287:                                             ; No predecessors!
  br label %4288

4288:                                             ; preds = %4287
  br label %4289

4289:                                             ; preds = %4288, %4228
  br label %4290

4290:                                             ; preds = %4289
  br label %4291

4291:                                             ; preds = %4290
  br label %4292

4292:                                             ; preds = %4291
  %4293 = load i32, ptr @test_count, align 4, !tbaa !5
  %4294 = add nsw i32 %4293, 1
  store i32 %4294, ptr @test_count, align 4, !tbaa !5
  %4295 = getelementptr inbounds [4 x i8], ptr %60, i64 0, i64 0
  %4296 = getelementptr inbounds [4 x i8], ptr %63, i64 0, i64 0
  %4297 = call zeroext i1 @s2n_constant_time_equals(ptr noundef %4295, ptr noundef %4296, i32 noundef 4)
  %4298 = zext i1 %4297 to i32
  %4299 = icmp eq i32 %4298, 1
  br i1 %4299, label %4353, label %4300

4300:                                             ; preds = %4292
  br label %4301

4301:                                             ; preds = %4300
  br label %4302

4302:                                             ; preds = %4301
  call void @llvm.lifetime.start.p0(i64 4, ptr %79) #9
  %4303 = call ptr @__errno_location() #10
  %4304 = load i32, ptr %4303, align 4, !tbaa !5
  store i32 %4304, ptr %79, align 4, !tbaa !5
  %4305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4306 = call i32 @s2n_print_stacktrace(ptr noundef %4305)
  %4307 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4308 = trunc i8 %4307 to i1
  br i1 %4308, label %4309, label %4331

4309:                                             ; preds = %4302
  %4310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4311 = call i32 @fileno(ptr noundef %4310) #9
  %4312 = call i32 @isatty(i32 noundef %4311) #9
  %4313 = icmp ne i32 %4312, 0
  br i1 %4313, label %4314, label %4331

4314:                                             ; preds = %4309
  %4315 = load i32, ptr %79, align 4, !tbaa !5
  %4316 = call ptr @__errno_location() #10
  store i32 %4315, ptr %4316, align 4, !tbaa !5
  %4317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4318 = load i32, ptr @test_count, align 4, !tbaa !5
  %4319 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4320 = load i32, ptr %4319, align 4, !tbaa !5
  %4321 = call ptr @s2n_strerror(i32 noundef %4320, ptr noundef @.str.4)
  %4322 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4323 = load i32, ptr %4322, align 4, !tbaa !5
  %4324 = call ptr @s2n_strerror_debug(i32 noundef %4323, ptr noundef @.str.4)
  %4325 = call ptr @__errno_location() #10
  %4326 = load i32, ptr %4325, align 4, !tbaa !5
  %4327 = call ptr @strerror(i32 noundef %4326) #9
  %4328 = call ptr @__errno_location() #10
  %4329 = load i32, ptr %4328, align 4, !tbaa !5
  %4330 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4317, ptr noundef @.str.2, i32 noundef %4318, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 313, ptr noundef %4321, ptr noundef %4324, ptr noundef %4327, i32 noundef %4329) #9
  br label %4348

4331:                                             ; preds = %4309, %4302
  %4332 = load i32, ptr %79, align 4, !tbaa !5
  %4333 = call ptr @__errno_location() #10
  store i32 %4332, ptr %4333, align 4, !tbaa !5
  %4334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4335 = load i32, ptr @test_count, align 4, !tbaa !5
  %4336 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4337 = load i32, ptr %4336, align 4, !tbaa !5
  %4338 = call ptr @s2n_strerror(i32 noundef %4337, ptr noundef @.str.4)
  %4339 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4340 = load i32, ptr %4339, align 4, !tbaa !5
  %4341 = call ptr @s2n_strerror_debug(i32 noundef %4340, ptr noundef @.str.4)
  %4342 = call ptr @__errno_location() #10
  %4343 = load i32, ptr %4342, align 4, !tbaa !5
  %4344 = call ptr @strerror(i32 noundef %4343) #9
  %4345 = call ptr @__errno_location() #10
  %4346 = load i32, ptr %4345, align 4, !tbaa !5
  %4347 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4334, ptr noundef @.str.5, i32 noundef %4335, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 313, ptr noundef %4338, ptr noundef %4341, ptr noundef %4344, i32 noundef %4346) #9
  br label %4348

4348:                                             ; preds = %4331, %4314
  call void @llvm.lifetime.end.p0(i64 4, ptr %79) #9
  br label %4349

4349:                                             ; preds = %4348
  br label %4350

4350:                                             ; preds = %4349
  call void @exit(i32 noundef 1) #11
  unreachable

4351:                                             ; No predecessors!
  br label %4352

4352:                                             ; preds = %4351
  br label %4353

4353:                                             ; preds = %4352, %4292
  br label %4354

4354:                                             ; preds = %4353
  br label %4355

4355:                                             ; preds = %4354
  br label %4356

4356:                                             ; preds = %4355
  %4357 = load i32, ptr %76, align 4, !tbaa !5
  %4358 = add nsw i32 %4357, 1
  store i32 %4358, ptr %76, align 4, !tbaa !5
  br label %4158, !llvm.loop !15

4359:                                             ; preds = %4161
  call void @llvm.lifetime.start.p0(i64 1, ptr %80) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr %81) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %82) #9
  store i32 0, ptr %82, align 4, !tbaa !5
  br label %4360

4360:                                             ; preds = %4450, %4359
  %4361 = load i32, ptr %82, align 4, !tbaa !5
  %4362 = icmp slt i32 %4361, 256
  br i1 %4362, label %4364, label %4363

4363:                                             ; preds = %4360
  store i32 453, ptr %83, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #9
  br label %4453

4364:                                             ; preds = %4360
  call void @llvm.lifetime.start.p0(i64 4, ptr %84) #9
  store i32 0, ptr %84, align 4, !tbaa !5
  br label %4365

4365:                                             ; preds = %4446, %4364
  %4366 = load i32, ptr %84, align 4, !tbaa !5
  %4367 = icmp slt i32 %4366, 256
  br i1 %4367, label %4369, label %4368

4368:                                             ; preds = %4365
  store i32 456, ptr %83, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #9
  br label %4449

4369:                                             ; preds = %4365
  %4370 = load i32, ptr %82, align 4, !tbaa !5
  %4371 = trunc i32 %4370 to i8
  %4372 = getelementptr inbounds [1 x i8], ptr %80, i64 0, i64 0
  store i8 %4371, ptr %4372, align 1, !tbaa !17
  %4373 = load i32, ptr %84, align 4, !tbaa !5
  %4374 = trunc i32 %4373 to i8
  %4375 = getelementptr inbounds [1 x i8], ptr %81, i64 0, i64 0
  store i8 %4374, ptr %4375, align 1, !tbaa !17
  call void @llvm.lifetime.start.p0(i64 4, ptr %85) #9
  store i32 0, ptr %85, align 4, !tbaa !5
  %4376 = load i32, ptr %82, align 4, !tbaa !5
  %4377 = load i32, ptr %84, align 4, !tbaa !5
  %4378 = icmp eq i32 %4376, %4377
  br i1 %4378, label %4379, label %4380

4379:                                             ; preds = %4369
  store i32 1, ptr %85, align 4, !tbaa !5
  br label %4380

4380:                                             ; preds = %4379, %4369
  br label %4381

4381:                                             ; preds = %4380
  %4382 = load i32, ptr @test_count, align 4, !tbaa !5
  %4383 = add nsw i32 %4382, 1
  store i32 %4383, ptr @test_count, align 4, !tbaa !5
  %4384 = getelementptr inbounds [1 x i8], ptr %80, i64 0, i64 0
  %4385 = getelementptr inbounds [1 x i8], ptr %81, i64 0, i64 0
  %4386 = call zeroext i1 @s2n_constant_time_equals(ptr noundef %4384, ptr noundef %4385, i32 noundef 1)
  %4387 = zext i1 %4386 to i32
  %4388 = load i32, ptr %85, align 4, !tbaa !5
  %4389 = icmp eq i32 %4387, %4388
  br i1 %4389, label %4443, label %4390

4390:                                             ; preds = %4381
  br label %4391

4391:                                             ; preds = %4390
  br label %4392

4392:                                             ; preds = %4391
  call void @llvm.lifetime.start.p0(i64 4, ptr %86) #9
  %4393 = call ptr @__errno_location() #10
  %4394 = load i32, ptr %4393, align 4, !tbaa !5
  store i32 %4394, ptr %86, align 4, !tbaa !5
  %4395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4396 = call i32 @s2n_print_stacktrace(ptr noundef %4395)
  %4397 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4398 = trunc i8 %4397 to i1
  br i1 %4398, label %4399, label %4421

4399:                                             ; preds = %4392
  %4400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4401 = call i32 @fileno(ptr noundef %4400) #9
  %4402 = call i32 @isatty(i32 noundef %4401) #9
  %4403 = icmp ne i32 %4402, 0
  br i1 %4403, label %4404, label %4421

4404:                                             ; preds = %4399
  %4405 = load i32, ptr %86, align 4, !tbaa !5
  %4406 = call ptr @__errno_location() #10
  store i32 %4405, ptr %4406, align 4, !tbaa !5
  %4407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4408 = load i32, ptr @test_count, align 4, !tbaa !5
  %4409 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4410 = load i32, ptr %4409, align 4, !tbaa !5
  %4411 = call ptr @s2n_strerror(i32 noundef %4410, ptr noundef @.str.4)
  %4412 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4413 = load i32, ptr %4412, align 4, !tbaa !5
  %4414 = call ptr @s2n_strerror_debug(i32 noundef %4413, ptr noundef @.str.4)
  %4415 = call ptr @__errno_location() #10
  %4416 = load i32, ptr %4415, align 4, !tbaa !5
  %4417 = call ptr @strerror(i32 noundef %4416) #9
  %4418 = call ptr @__errno_location() #10
  %4419 = load i32, ptr %4418, align 4, !tbaa !5
  %4420 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4407, ptr noundef @.str.2, i32 noundef %4408, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 330, ptr noundef %4411, ptr noundef %4414, ptr noundef %4417, i32 noundef %4419) #9
  br label %4438

4421:                                             ; preds = %4399, %4392
  %4422 = load i32, ptr %86, align 4, !tbaa !5
  %4423 = call ptr @__errno_location() #10
  store i32 %4422, ptr %4423, align 4, !tbaa !5
  %4424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4425 = load i32, ptr @test_count, align 4, !tbaa !5
  %4426 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4427 = load i32, ptr %4426, align 4, !tbaa !5
  %4428 = call ptr @s2n_strerror(i32 noundef %4427, ptr noundef @.str.4)
  %4429 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4430 = load i32, ptr %4429, align 4, !tbaa !5
  %4431 = call ptr @s2n_strerror_debug(i32 noundef %4430, ptr noundef @.str.4)
  %4432 = call ptr @__errno_location() #10
  %4433 = load i32, ptr %4432, align 4, !tbaa !5
  %4434 = call ptr @strerror(i32 noundef %4433) #9
  %4435 = call ptr @__errno_location() #10
  %4436 = load i32, ptr %4435, align 4, !tbaa !5
  %4437 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4424, ptr noundef @.str.5, i32 noundef %4425, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 330, ptr noundef %4428, ptr noundef %4431, ptr noundef %4434, i32 noundef %4436) #9
  br label %4438

4438:                                             ; preds = %4421, %4404
  call void @llvm.lifetime.end.p0(i64 4, ptr %86) #9
  br label %4439

4439:                                             ; preds = %4438
  br label %4440

4440:                                             ; preds = %4439
  call void @exit(i32 noundef 1) #11
  unreachable

4441:                                             ; No predecessors!
  br label %4442

4442:                                             ; preds = %4441
  br label %4443

4443:                                             ; preds = %4442, %4381
  br label %4444

4444:                                             ; preds = %4443
  br label %4445

4445:                                             ; preds = %4444
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #9
  br label %4446

4446:                                             ; preds = %4445
  %4447 = load i32, ptr %84, align 4, !tbaa !5
  %4448 = add nsw i32 %4447, 1
  store i32 %4448, ptr %84, align 4, !tbaa !5
  br label %4365, !llvm.loop !18

4449:                                             ; preds = %4368
  br label %4450

4450:                                             ; preds = %4449
  %4451 = load i32, ptr %82, align 4, !tbaa !5
  %4452 = add nsw i32 %4451, 1
  store i32 %4452, ptr %82, align 4, !tbaa !5
  br label %4360, !llvm.loop !19

4453:                                             ; preds = %4363
  br label %4454

4454:                                             ; preds = %4453
  br label %4455

4455:                                             ; preds = %4454
  call void @llvm.lifetime.start.p0(i64 4, ptr %87) #9
  br label %4456

4456:                                             ; preds = %4455
  %4457 = load i32, ptr @test_count, align 4, !tbaa !5
  %4458 = add nsw i32 %4457, 1
  store i32 %4458, ptr @test_count, align 4, !tbaa !5
  %4459 = call i32 @s2n_mul_overflow(i32 noundef 0, i32 noundef 0, ptr noundef %87)
  %4460 = icmp eq i32 %4459, -1
  br i1 %4460, label %4461, label %4514

4461:                                             ; preds = %4456
  br label %4462

4462:                                             ; preds = %4461
  br label %4463

4463:                                             ; preds = %4462
  call void @llvm.lifetime.start.p0(i64 4, ptr %88) #9
  %4464 = call ptr @__errno_location() #10
  %4465 = load i32, ptr %4464, align 4, !tbaa !5
  store i32 %4465, ptr %88, align 4, !tbaa !5
  %4466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4467 = call i32 @s2n_print_stacktrace(ptr noundef %4466)
  %4468 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4469 = trunc i8 %4468 to i1
  br i1 %4469, label %4470, label %4492

4470:                                             ; preds = %4463
  %4471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4472 = call i32 @fileno(ptr noundef %4471) #9
  %4473 = call i32 @isatty(i32 noundef %4472) #9
  %4474 = icmp ne i32 %4473, 0
  br i1 %4474, label %4475, label %4492

4475:                                             ; preds = %4470
  %4476 = load i32, ptr %88, align 4, !tbaa !5
  %4477 = call ptr @__errno_location() #10
  store i32 %4476, ptr %4477, align 4, !tbaa !5
  %4478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4479 = load i32, ptr @test_count, align 4, !tbaa !5
  %4480 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4481 = load i32, ptr %4480, align 4, !tbaa !5
  %4482 = call ptr @s2n_strerror(i32 noundef %4481, ptr noundef @.str.4)
  %4483 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4484 = load i32, ptr %4483, align 4, !tbaa !5
  %4485 = call ptr @s2n_strerror_debug(i32 noundef %4484, ptr noundef @.str.4)
  %4486 = call ptr @__errno_location() #10
  %4487 = load i32, ptr %4486, align 4, !tbaa !5
  %4488 = call ptr @strerror(i32 noundef %4487) #9
  %4489 = call ptr @__errno_location() #10
  %4490 = load i32, ptr %4489, align 4, !tbaa !5
  %4491 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4478, ptr noundef @.str.2, i32 noundef %4479, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 334, ptr noundef %4482, ptr noundef %4485, ptr noundef %4488, i32 noundef %4490) #9
  br label %4509

4492:                                             ; preds = %4470, %4463
  %4493 = load i32, ptr %88, align 4, !tbaa !5
  %4494 = call ptr @__errno_location() #10
  store i32 %4493, ptr %4494, align 4, !tbaa !5
  %4495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4496 = load i32, ptr @test_count, align 4, !tbaa !5
  %4497 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4498 = load i32, ptr %4497, align 4, !tbaa !5
  %4499 = call ptr @s2n_strerror(i32 noundef %4498, ptr noundef @.str.4)
  %4500 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4501 = load i32, ptr %4500, align 4, !tbaa !5
  %4502 = call ptr @s2n_strerror_debug(i32 noundef %4501, ptr noundef @.str.4)
  %4503 = call ptr @__errno_location() #10
  %4504 = load i32, ptr %4503, align 4, !tbaa !5
  %4505 = call ptr @strerror(i32 noundef %4504) #9
  %4506 = call ptr @__errno_location() #10
  %4507 = load i32, ptr %4506, align 4, !tbaa !5
  %4508 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4495, ptr noundef @.str.5, i32 noundef %4496, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 334, ptr noundef %4499, ptr noundef %4502, ptr noundef %4505, i32 noundef %4507) #9
  br label %4509

4509:                                             ; preds = %4492, %4475
  call void @llvm.lifetime.end.p0(i64 4, ptr %88) #9
  br label %4510

4510:                                             ; preds = %4509
  br label %4511

4511:                                             ; preds = %4510
  call void @exit(i32 noundef 1) #11
  unreachable

4512:                                             ; No predecessors!
  br label %4513

4513:                                             ; preds = %4512
  br label %4514

4514:                                             ; preds = %4513, %4456
  br label %4515

4515:                                             ; preds = %4514
  br label %4516

4516:                                             ; preds = %4515
  br label %4517

4517:                                             ; preds = %4516
  %4518 = load i32, ptr @test_count, align 4, !tbaa !5
  %4519 = add nsw i32 %4518, 1
  store i32 %4519, ptr @test_count, align 4, !tbaa !5
  %4520 = load i32, ptr %87, align 4, !tbaa !5
  %4521 = icmp eq i32 %4520, 0
  br i1 %4521, label %4575, label %4522

4522:                                             ; preds = %4517
  br label %4523

4523:                                             ; preds = %4522
  br label %4524

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

4531:                                             ; preds = %4524
  %4532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4533 = call i32 @fileno(ptr noundef %4532) #9
  %4534 = call i32 @isatty(i32 noundef %4533) #9
  %4535 = icmp ne i32 %4534, 0
  br i1 %4535, label %4536, label %4553

4536:                                             ; preds = %4531
  %4537 = load i32, ptr %89, align 4, !tbaa !5
  %4538 = call ptr @__errno_location() #10
  store i32 %4537, ptr %4538, align 4, !tbaa !5
  %4539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4540 = load i32, ptr @test_count, align 4, !tbaa !5
  %4541 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4542 = load i32, ptr %4541, align 4, !tbaa !5
  %4543 = call ptr @s2n_strerror(i32 noundef %4542, ptr noundef @.str.4)
  %4544 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4545 = load i32, ptr %4544, align 4, !tbaa !5
  %4546 = call ptr @s2n_strerror_debug(i32 noundef %4545, ptr noundef @.str.4)
  %4547 = call ptr @__errno_location() #10
  %4548 = load i32, ptr %4547, align 4, !tbaa !5
  %4549 = call ptr @strerror(i32 noundef %4548) #9
  %4550 = call ptr @__errno_location() #10
  %4551 = load i32, ptr %4550, align 4, !tbaa !5
  %4552 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4539, ptr noundef @.str.2, i32 noundef %4540, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 334, ptr noundef %4543, ptr noundef %4546, ptr noundef %4549, i32 noundef %4551) #9
  br label %4570

4553:                                             ; preds = %4531, %4524
  %4554 = load i32, ptr %89, align 4, !tbaa !5
  %4555 = call ptr @__errno_location() #10
  store i32 %4554, ptr %4555, align 4, !tbaa !5
  %4556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4557 = load i32, ptr @test_count, align 4, !tbaa !5
  %4558 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4559 = load i32, ptr %4558, align 4, !tbaa !5
  %4560 = call ptr @s2n_strerror(i32 noundef %4559, ptr noundef @.str.4)
  %4561 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4562 = load i32, ptr %4561, align 4, !tbaa !5
  %4563 = call ptr @s2n_strerror_debug(i32 noundef %4562, ptr noundef @.str.4)
  %4564 = call ptr @__errno_location() #10
  %4565 = load i32, ptr %4564, align 4, !tbaa !5
  %4566 = call ptr @strerror(i32 noundef %4565) #9
  %4567 = call ptr @__errno_location() #10
  %4568 = load i32, ptr %4567, align 4, !tbaa !5
  %4569 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4556, ptr noundef @.str.5, i32 noundef %4557, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 334, ptr noundef %4560, ptr noundef %4563, ptr noundef %4566, i32 noundef %4568) #9
  br label %4570

4570:                                             ; preds = %4553, %4536
  call void @llvm.lifetime.end.p0(i64 4, ptr %89) #9
  br label %4571

4571:                                             ; preds = %4570
  br label %4572

4572:                                             ; preds = %4571
  call void @exit(i32 noundef 1) #11
  unreachable

4573:                                             ; No predecessors!
  br label %4574

4574:                                             ; preds = %4573
  br label %4575

4575:                                             ; preds = %4574, %4517
  br label %4576

4576:                                             ; preds = %4575
  br label %4577

4577:                                             ; preds = %4576
  call void @llvm.lifetime.end.p0(i64 4, ptr %87) #9
  br label %4578

4578:                                             ; preds = %4577
  br label %4579

4579:                                             ; preds = %4578
  br label %4580

4580:                                             ; preds = %4579
  call void @llvm.lifetime.start.p0(i64 4, ptr %90) #9
  br label %4581

4581:                                             ; preds = %4580
  %4582 = load i32, ptr @test_count, align 4, !tbaa !5
  %4583 = add nsw i32 %4582, 1
  store i32 %4583, ptr @test_count, align 4, !tbaa !5
  %4584 = call i32 @s2n_mul_overflow(i32 noundef 0, i32 noundef 0, ptr noundef %90)
  %4585 = icmp eq i32 %4584, -1
  br i1 %4585, label %4586, label %4639

4586:                                             ; preds = %4581
  br label %4587

4587:                                             ; preds = %4586
  br label %4588

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

4595:                                             ; preds = %4588
  %4596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4597 = call i32 @fileno(ptr noundef %4596) #9
  %4598 = call i32 @isatty(i32 noundef %4597) #9
  %4599 = icmp ne i32 %4598, 0
  br i1 %4599, label %4600, label %4617

4600:                                             ; preds = %4595
  %4601 = load i32, ptr %91, align 4, !tbaa !5
  %4602 = call ptr @__errno_location() #10
  store i32 %4601, ptr %4602, align 4, !tbaa !5
  %4603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4604 = load i32, ptr @test_count, align 4, !tbaa !5
  %4605 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4606 = load i32, ptr %4605, align 4, !tbaa !5
  %4607 = call ptr @s2n_strerror(i32 noundef %4606, ptr noundef @.str.4)
  %4608 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4609 = load i32, ptr %4608, align 4, !tbaa !5
  %4610 = call ptr @s2n_strerror_debug(i32 noundef %4609, ptr noundef @.str.4)
  %4611 = call ptr @__errno_location() #10
  %4612 = load i32, ptr %4611, align 4, !tbaa !5
  %4613 = call ptr @strerror(i32 noundef %4612) #9
  %4614 = call ptr @__errno_location() #10
  %4615 = load i32, ptr %4614, align 4, !tbaa !5
  %4616 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4603, ptr noundef @.str.2, i32 noundef %4604, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 334, ptr noundef %4607, ptr noundef %4610, ptr noundef %4613, i32 noundef %4615) #9
  br label %4634

4617:                                             ; preds = %4595, %4588
  %4618 = load i32, ptr %91, align 4, !tbaa !5
  %4619 = call ptr @__errno_location() #10
  store i32 %4618, ptr %4619, align 4, !tbaa !5
  %4620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4621 = load i32, ptr @test_count, align 4, !tbaa !5
  %4622 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4623 = load i32, ptr %4622, align 4, !tbaa !5
  %4624 = call ptr @s2n_strerror(i32 noundef %4623, ptr noundef @.str.4)
  %4625 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4626 = load i32, ptr %4625, align 4, !tbaa !5
  %4627 = call ptr @s2n_strerror_debug(i32 noundef %4626, ptr noundef @.str.4)
  %4628 = call ptr @__errno_location() #10
  %4629 = load i32, ptr %4628, align 4, !tbaa !5
  %4630 = call ptr @strerror(i32 noundef %4629) #9
  %4631 = call ptr @__errno_location() #10
  %4632 = load i32, ptr %4631, align 4, !tbaa !5
  %4633 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4620, ptr noundef @.str.5, i32 noundef %4621, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 334, ptr noundef %4624, ptr noundef %4627, ptr noundef %4630, i32 noundef %4632) #9
  br label %4634

4634:                                             ; preds = %4617, %4600
  call void @llvm.lifetime.end.p0(i64 4, ptr %91) #9
  br label %4635

4635:                                             ; preds = %4634
  br label %4636

4636:                                             ; preds = %4635
  call void @exit(i32 noundef 1) #11
  unreachable

4637:                                             ; No predecessors!
  br label %4638

4638:                                             ; preds = %4637
  br label %4639

4639:                                             ; preds = %4638, %4581
  br label %4640

4640:                                             ; preds = %4639
  br label %4641

4641:                                             ; preds = %4640
  br label %4642

4642:                                             ; preds = %4641
  %4643 = load i32, ptr @test_count, align 4, !tbaa !5
  %4644 = add nsw i32 %4643, 1
  store i32 %4644, ptr @test_count, align 4, !tbaa !5
  %4645 = load i32, ptr %90, align 4, !tbaa !5
  %4646 = icmp eq i32 %4645, 0
  br i1 %4646, label %4700, label %4647

4647:                                             ; preds = %4642
  br label %4648

4648:                                             ; preds = %4647
  br label %4649

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

4656:                                             ; preds = %4649
  %4657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4658 = call i32 @fileno(ptr noundef %4657) #9
  %4659 = call i32 @isatty(i32 noundef %4658) #9
  %4660 = icmp ne i32 %4659, 0
  br i1 %4660, label %4661, label %4678

4661:                                             ; preds = %4656
  %4662 = load i32, ptr %92, align 4, !tbaa !5
  %4663 = call ptr @__errno_location() #10
  store i32 %4662, ptr %4663, align 4, !tbaa !5
  %4664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4665 = load i32, ptr @test_count, align 4, !tbaa !5
  %4666 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4667 = load i32, ptr %4666, align 4, !tbaa !5
  %4668 = call ptr @s2n_strerror(i32 noundef %4667, ptr noundef @.str.4)
  %4669 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4670 = load i32, ptr %4669, align 4, !tbaa !5
  %4671 = call ptr @s2n_strerror_debug(i32 noundef %4670, ptr noundef @.str.4)
  %4672 = call ptr @__errno_location() #10
  %4673 = load i32, ptr %4672, align 4, !tbaa !5
  %4674 = call ptr @strerror(i32 noundef %4673) #9
  %4675 = call ptr @__errno_location() #10
  %4676 = load i32, ptr %4675, align 4, !tbaa !5
  %4677 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4664, ptr noundef @.str.2, i32 noundef %4665, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 334, ptr noundef %4668, ptr noundef %4671, ptr noundef %4674, i32 noundef %4676) #9
  br label %4695

4678:                                             ; preds = %4656, %4649
  %4679 = load i32, ptr %92, align 4, !tbaa !5
  %4680 = call ptr @__errno_location() #10
  store i32 %4679, ptr %4680, align 4, !tbaa !5
  %4681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4682 = load i32, ptr @test_count, align 4, !tbaa !5
  %4683 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4684 = load i32, ptr %4683, align 4, !tbaa !5
  %4685 = call ptr @s2n_strerror(i32 noundef %4684, ptr noundef @.str.4)
  %4686 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4687 = load i32, ptr %4686, align 4, !tbaa !5
  %4688 = call ptr @s2n_strerror_debug(i32 noundef %4687, ptr noundef @.str.4)
  %4689 = call ptr @__errno_location() #10
  %4690 = load i32, ptr %4689, align 4, !tbaa !5
  %4691 = call ptr @strerror(i32 noundef %4690) #9
  %4692 = call ptr @__errno_location() #10
  %4693 = load i32, ptr %4692, align 4, !tbaa !5
  %4694 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4681, ptr noundef @.str.5, i32 noundef %4682, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 334, ptr noundef %4685, ptr noundef %4688, ptr noundef %4691, i32 noundef %4693) #9
  br label %4695

4695:                                             ; preds = %4678, %4661
  call void @llvm.lifetime.end.p0(i64 4, ptr %92) #9
  br label %4696

4696:                                             ; preds = %4695
  br label %4697

4697:                                             ; preds = %4696
  call void @exit(i32 noundef 1) #11
  unreachable

4698:                                             ; No predecessors!
  br label %4699

4699:                                             ; preds = %4698
  br label %4700

4700:                                             ; preds = %4699, %4642
  br label %4701

4701:                                             ; preds = %4700
  br label %4702

4702:                                             ; preds = %4701
  call void @llvm.lifetime.end.p0(i64 4, ptr %90) #9
  br label %4703

4703:                                             ; preds = %4702
  br label %4704

4704:                                             ; preds = %4703
  br label %4705

4705:                                             ; preds = %4704
  br label %4706

4706:                                             ; preds = %4705
  br label %4707

4707:                                             ; preds = %4706
  br label %4708

4708:                                             ; preds = %4707
  call void @llvm.lifetime.start.p0(i64 4, ptr %93) #9
  br label %4709

4709:                                             ; preds = %4708
  %4710 = load i32, ptr @test_count, align 4, !tbaa !5
  %4711 = add nsw i32 %4710, 1
  store i32 %4711, ptr @test_count, align 4, !tbaa !5
  %4712 = call i32 @s2n_mul_overflow(i32 noundef 0, i32 noundef 1, ptr noundef %93)
  %4713 = icmp eq i32 %4712, -1
  br i1 %4713, label %4714, label %4767

4714:                                             ; preds = %4709
  br label %4715

4715:                                             ; preds = %4714
  br label %4716

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

4723:                                             ; preds = %4716
  %4724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4725 = call i32 @fileno(ptr noundef %4724) #9
  %4726 = call i32 @isatty(i32 noundef %4725) #9
  %4727 = icmp ne i32 %4726, 0
  br i1 %4727, label %4728, label %4745

4728:                                             ; preds = %4723
  %4729 = load i32, ptr %94, align 4, !tbaa !5
  %4730 = call ptr @__errno_location() #10
  store i32 %4729, ptr %4730, align 4, !tbaa !5
  %4731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4732 = load i32, ptr @test_count, align 4, !tbaa !5
  %4733 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4734 = load i32, ptr %4733, align 4, !tbaa !5
  %4735 = call ptr @s2n_strerror(i32 noundef %4734, ptr noundef @.str.4)
  %4736 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4737 = load i32, ptr %4736, align 4, !tbaa !5
  %4738 = call ptr @s2n_strerror_debug(i32 noundef %4737, ptr noundef @.str.4)
  %4739 = call ptr @__errno_location() #10
  %4740 = load i32, ptr %4739, align 4, !tbaa !5
  %4741 = call ptr @strerror(i32 noundef %4740) #9
  %4742 = call ptr @__errno_location() #10
  %4743 = load i32, ptr %4742, align 4, !tbaa !5
  %4744 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4731, ptr noundef @.str.2, i32 noundef %4732, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 335, ptr noundef %4735, ptr noundef %4738, ptr noundef %4741, i32 noundef %4743) #9
  br label %4762

4745:                                             ; preds = %4723, %4716
  %4746 = load i32, ptr %94, align 4, !tbaa !5
  %4747 = call ptr @__errno_location() #10
  store i32 %4746, ptr %4747, align 4, !tbaa !5
  %4748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4749 = load i32, ptr @test_count, align 4, !tbaa !5
  %4750 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4751 = load i32, ptr %4750, align 4, !tbaa !5
  %4752 = call ptr @s2n_strerror(i32 noundef %4751, ptr noundef @.str.4)
  %4753 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4754 = load i32, ptr %4753, align 4, !tbaa !5
  %4755 = call ptr @s2n_strerror_debug(i32 noundef %4754, ptr noundef @.str.4)
  %4756 = call ptr @__errno_location() #10
  %4757 = load i32, ptr %4756, align 4, !tbaa !5
  %4758 = call ptr @strerror(i32 noundef %4757) #9
  %4759 = call ptr @__errno_location() #10
  %4760 = load i32, ptr %4759, align 4, !tbaa !5
  %4761 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4748, ptr noundef @.str.5, i32 noundef %4749, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 335, ptr noundef %4752, ptr noundef %4755, ptr noundef %4758, i32 noundef %4760) #9
  br label %4762

4762:                                             ; preds = %4745, %4728
  call void @llvm.lifetime.end.p0(i64 4, ptr %94) #9
  br label %4763

4763:                                             ; preds = %4762
  br label %4764

4764:                                             ; preds = %4763
  call void @exit(i32 noundef 1) #11
  unreachable

4765:                                             ; No predecessors!
  br label %4766

4766:                                             ; preds = %4765
  br label %4767

4767:                                             ; preds = %4766, %4709
  br label %4768

4768:                                             ; preds = %4767
  br label %4769

4769:                                             ; preds = %4768
  br label %4770

4770:                                             ; preds = %4769
  %4771 = load i32, ptr @test_count, align 4, !tbaa !5
  %4772 = add nsw i32 %4771, 1
  store i32 %4772, ptr @test_count, align 4, !tbaa !5
  %4773 = load i32, ptr %93, align 4, !tbaa !5
  %4774 = icmp eq i32 %4773, 0
  br i1 %4774, label %4828, label %4775

4775:                                             ; preds = %4770
  br label %4776

4776:                                             ; preds = %4775
  br label %4777

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

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

4789:                                             ; preds = %4784
  %4790 = load i32, ptr %95, align 4, !tbaa !5
  %4791 = call ptr @__errno_location() #10
  store i32 %4790, ptr %4791, align 4, !tbaa !5
  %4792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4793 = load i32, ptr @test_count, align 4, !tbaa !5
  %4794 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4795 = load i32, ptr %4794, align 4, !tbaa !5
  %4796 = call ptr @s2n_strerror(i32 noundef %4795, ptr noundef @.str.4)
  %4797 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4798 = load i32, ptr %4797, align 4, !tbaa !5
  %4799 = call ptr @s2n_strerror_debug(i32 noundef %4798, ptr noundef @.str.4)
  %4800 = call ptr @__errno_location() #10
  %4801 = load i32, ptr %4800, align 4, !tbaa !5
  %4802 = call ptr @strerror(i32 noundef %4801) #9
  %4803 = call ptr @__errno_location() #10
  %4804 = load i32, ptr %4803, align 4, !tbaa !5
  %4805 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4792, ptr noundef @.str.2, i32 noundef %4793, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 335, ptr noundef %4796, ptr noundef %4799, ptr noundef %4802, i32 noundef %4804) #9
  br label %4823

4806:                                             ; preds = %4784, %4777
  %4807 = load i32, ptr %95, align 4, !tbaa !5
  %4808 = call ptr @__errno_location() #10
  store i32 %4807, ptr %4808, align 4, !tbaa !5
  %4809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4810 = load i32, ptr @test_count, align 4, !tbaa !5
  %4811 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4812 = load i32, ptr %4811, align 4, !tbaa !5
  %4813 = call ptr @s2n_strerror(i32 noundef %4812, ptr noundef @.str.4)
  %4814 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4815 = load i32, ptr %4814, align 4, !tbaa !5
  %4816 = call ptr @s2n_strerror_debug(i32 noundef %4815, ptr noundef @.str.4)
  %4817 = call ptr @__errno_location() #10
  %4818 = load i32, ptr %4817, align 4, !tbaa !5
  %4819 = call ptr @strerror(i32 noundef %4818) #9
  %4820 = call ptr @__errno_location() #10
  %4821 = load i32, ptr %4820, align 4, !tbaa !5
  %4822 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4809, ptr noundef @.str.5, i32 noundef %4810, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 335, ptr noundef %4813, ptr noundef %4816, ptr noundef %4819, i32 noundef %4821) #9
  br label %4823

4823:                                             ; preds = %4806, %4789
  call void @llvm.lifetime.end.p0(i64 4, ptr %95) #9
  br label %4824

4824:                                             ; preds = %4823
  br label %4825

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

4826:                                             ; No predecessors!
  br label %4827

4827:                                             ; preds = %4826
  br label %4828

4828:                                             ; preds = %4827, %4770
  br label %4829

4829:                                             ; preds = %4828
  br label %4830

4830:                                             ; preds = %4829
  call void @llvm.lifetime.end.p0(i64 4, ptr %93) #9
  br label %4831

4831:                                             ; preds = %4830
  br label %4832

4832:                                             ; preds = %4831
  br label %4833

4833:                                             ; preds = %4832
  call void @llvm.lifetime.start.p0(i64 4, ptr %96) #9
  br label %4834

4834:                                             ; preds = %4833
  %4835 = load i32, ptr @test_count, align 4, !tbaa !5
  %4836 = add nsw i32 %4835, 1
  store i32 %4836, ptr @test_count, align 4, !tbaa !5
  %4837 = call i32 @s2n_mul_overflow(i32 noundef 1, i32 noundef 0, ptr noundef %96)
  %4838 = icmp eq i32 %4837, -1
  br i1 %4838, label %4839, label %4892

4839:                                             ; preds = %4834
  br label %4840

4840:                                             ; preds = %4839
  br label %4841

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

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

4853:                                             ; preds = %4848
  %4854 = load i32, ptr %97, align 4, !tbaa !5
  %4855 = call ptr @__errno_location() #10
  store i32 %4854, ptr %4855, align 4, !tbaa !5
  %4856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4857 = load i32, ptr @test_count, align 4, !tbaa !5
  %4858 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4859 = load i32, ptr %4858, align 4, !tbaa !5
  %4860 = call ptr @s2n_strerror(i32 noundef %4859, ptr noundef @.str.4)
  %4861 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4862 = load i32, ptr %4861, align 4, !tbaa !5
  %4863 = call ptr @s2n_strerror_debug(i32 noundef %4862, ptr noundef @.str.4)
  %4864 = call ptr @__errno_location() #10
  %4865 = load i32, ptr %4864, align 4, !tbaa !5
  %4866 = call ptr @strerror(i32 noundef %4865) #9
  %4867 = call ptr @__errno_location() #10
  %4868 = load i32, ptr %4867, align 4, !tbaa !5
  %4869 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4856, ptr noundef @.str.2, i32 noundef %4857, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 335, ptr noundef %4860, ptr noundef %4863, ptr noundef %4866, i32 noundef %4868) #9
  br label %4887

4870:                                             ; preds = %4848, %4841
  %4871 = load i32, ptr %97, align 4, !tbaa !5
  %4872 = call ptr @__errno_location() #10
  store i32 %4871, ptr %4872, align 4, !tbaa !5
  %4873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4874 = load i32, ptr @test_count, align 4, !tbaa !5
  %4875 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4876 = load i32, ptr %4875, align 4, !tbaa !5
  %4877 = call ptr @s2n_strerror(i32 noundef %4876, ptr noundef @.str.4)
  %4878 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4879 = load i32, ptr %4878, align 4, !tbaa !5
  %4880 = call ptr @s2n_strerror_debug(i32 noundef %4879, ptr noundef @.str.4)
  %4881 = call ptr @__errno_location() #10
  %4882 = load i32, ptr %4881, align 4, !tbaa !5
  %4883 = call ptr @strerror(i32 noundef %4882) #9
  %4884 = call ptr @__errno_location() #10
  %4885 = load i32, ptr %4884, align 4, !tbaa !5
  %4886 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4873, ptr noundef @.str.5, i32 noundef %4874, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 335, ptr noundef %4877, ptr noundef %4880, ptr noundef %4883, i32 noundef %4885) #9
  br label %4887

4887:                                             ; preds = %4870, %4853
  call void @llvm.lifetime.end.p0(i64 4, ptr %97) #9
  br label %4888

4888:                                             ; preds = %4887
  br label %4889

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

4890:                                             ; No predecessors!
  br label %4891

4891:                                             ; preds = %4890
  br label %4892

4892:                                             ; preds = %4891, %4834
  br label %4893

4893:                                             ; preds = %4892
  br label %4894

4894:                                             ; preds = %4893
  br label %4895

4895:                                             ; preds = %4894
  %4896 = load i32, ptr @test_count, align 4, !tbaa !5
  %4897 = add nsw i32 %4896, 1
  store i32 %4897, ptr @test_count, align 4, !tbaa !5
  %4898 = load i32, ptr %96, align 4, !tbaa !5
  %4899 = icmp eq i32 %4898, 0
  br i1 %4899, label %4953, label %4900

4900:                                             ; preds = %4895
  br label %4901

4901:                                             ; preds = %4900
  br label %4902

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

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

4914:                                             ; preds = %4909
  %4915 = load i32, ptr %98, align 4, !tbaa !5
  %4916 = call ptr @__errno_location() #10
  store i32 %4915, ptr %4916, align 4, !tbaa !5
  %4917 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4918 = load i32, ptr @test_count, align 4, !tbaa !5
  %4919 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4920 = load i32, ptr %4919, align 4, !tbaa !5
  %4921 = call ptr @s2n_strerror(i32 noundef %4920, ptr noundef @.str.4)
  %4922 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4923 = load i32, ptr %4922, align 4, !tbaa !5
  %4924 = call ptr @s2n_strerror_debug(i32 noundef %4923, ptr noundef @.str.4)
  %4925 = call ptr @__errno_location() #10
  %4926 = load i32, ptr %4925, align 4, !tbaa !5
  %4927 = call ptr @strerror(i32 noundef %4926) #9
  %4928 = call ptr @__errno_location() #10
  %4929 = load i32, ptr %4928, align 4, !tbaa !5
  %4930 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4917, ptr noundef @.str.2, i32 noundef %4918, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 335, ptr noundef %4921, ptr noundef %4924, ptr noundef %4927, i32 noundef %4929) #9
  br label %4948

4931:                                             ; preds = %4909, %4902
  %4932 = load i32, ptr %98, align 4, !tbaa !5
  %4933 = call ptr @__errno_location() #10
  store i32 %4932, ptr %4933, align 4, !tbaa !5
  %4934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4935 = load i32, ptr @test_count, align 4, !tbaa !5
  %4936 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4937 = load i32, ptr %4936, align 4, !tbaa !5
  %4938 = call ptr @s2n_strerror(i32 noundef %4937, ptr noundef @.str.4)
  %4939 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4940 = load i32, ptr %4939, align 4, !tbaa !5
  %4941 = call ptr @s2n_strerror_debug(i32 noundef %4940, ptr noundef @.str.4)
  %4942 = call ptr @__errno_location() #10
  %4943 = load i32, ptr %4942, align 4, !tbaa !5
  %4944 = call ptr @strerror(i32 noundef %4943) #9
  %4945 = call ptr @__errno_location() #10
  %4946 = load i32, ptr %4945, align 4, !tbaa !5
  %4947 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4934, ptr noundef @.str.5, i32 noundef %4935, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 335, ptr noundef %4938, ptr noundef %4941, ptr noundef %4944, i32 noundef %4946) #9
  br label %4948

4948:                                             ; preds = %4931, %4914
  call void @llvm.lifetime.end.p0(i64 4, ptr %98) #9
  br label %4949

4949:                                             ; preds = %4948
  br label %4950

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

4951:                                             ; No predecessors!
  br label %4952

4952:                                             ; preds = %4951
  br label %4953

4953:                                             ; preds = %4952, %4895
  br label %4954

4954:                                             ; preds = %4953
  br label %4955

4955:                                             ; preds = %4954
  call void @llvm.lifetime.end.p0(i64 4, ptr %96) #9
  br label %4956

4956:                                             ; preds = %4955
  br label %4957

4957:                                             ; preds = %4956
  br label %4958

4958:                                             ; preds = %4957
  br label %4959

4959:                                             ; preds = %4958
  br label %4960

4960:                                             ; preds = %4959
  br label %4961

4961:                                             ; preds = %4960
  call void @llvm.lifetime.start.p0(i64 4, ptr %99) #9
  br label %4962

4962:                                             ; preds = %4961
  %4963 = load i32, ptr @test_count, align 4, !tbaa !5
  %4964 = add nsw i32 %4963, 1
  store i32 %4964, ptr @test_count, align 4, !tbaa !5
  %4965 = call i32 @s2n_mul_overflow(i32 noundef 0, i32 noundef -1, ptr noundef %99)
  %4966 = icmp eq i32 %4965, -1
  br i1 %4966, label %4967, label %5020

4967:                                             ; preds = %4962
  br label %4968

4968:                                             ; preds = %4967
  br label %4969

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

4976:                                             ; preds = %4969
  %4977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4978 = call i32 @fileno(ptr noundef %4977) #9
  %4979 = call i32 @isatty(i32 noundef %4978) #9
  %4980 = icmp ne i32 %4979, 0
  br i1 %4980, label %4981, label %4998

4981:                                             ; preds = %4976
  %4982 = load i32, ptr %100, align 4, !tbaa !5
  %4983 = call ptr @__errno_location() #10
  store i32 %4982, ptr %4983, align 4, !tbaa !5
  %4984 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4985 = load i32, ptr @test_count, align 4, !tbaa !5
  %4986 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4987 = load i32, ptr %4986, align 4, !tbaa !5
  %4988 = call ptr @s2n_strerror(i32 noundef %4987, ptr noundef @.str.4)
  %4989 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4990 = load i32, ptr %4989, align 4, !tbaa !5
  %4991 = call ptr @s2n_strerror_debug(i32 noundef %4990, ptr noundef @.str.4)
  %4992 = call ptr @__errno_location() #10
  %4993 = load i32, ptr %4992, align 4, !tbaa !5
  %4994 = call ptr @strerror(i32 noundef %4993) #9
  %4995 = call ptr @__errno_location() #10
  %4996 = load i32, ptr %4995, align 4, !tbaa !5
  %4997 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4984, ptr noundef @.str.2, i32 noundef %4985, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 336, ptr noundef %4988, ptr noundef %4991, ptr noundef %4994, i32 noundef %4996) #9
  br label %5015

4998:                                             ; preds = %4976, %4969
  %4999 = load i32, ptr %100, align 4, !tbaa !5
  %5000 = call ptr @__errno_location() #10
  store i32 %4999, ptr %5000, align 4, !tbaa !5
  %5001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5002 = load i32, ptr @test_count, align 4, !tbaa !5
  %5003 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5004 = load i32, ptr %5003, align 4, !tbaa !5
  %5005 = call ptr @s2n_strerror(i32 noundef %5004, ptr noundef @.str.4)
  %5006 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5007 = load i32, ptr %5006, align 4, !tbaa !5
  %5008 = call ptr @s2n_strerror_debug(i32 noundef %5007, ptr noundef @.str.4)
  %5009 = call ptr @__errno_location() #10
  %5010 = load i32, ptr %5009, align 4, !tbaa !5
  %5011 = call ptr @strerror(i32 noundef %5010) #9
  %5012 = call ptr @__errno_location() #10
  %5013 = load i32, ptr %5012, align 4, !tbaa !5
  %5014 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5001, ptr noundef @.str.5, i32 noundef %5002, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 336, ptr noundef %5005, ptr noundef %5008, ptr noundef %5011, i32 noundef %5013) #9
  br label %5015

5015:                                             ; preds = %4998, %4981
  call void @llvm.lifetime.end.p0(i64 4, ptr %100) #9
  br label %5016

5016:                                             ; preds = %5015
  br label %5017

5017:                                             ; preds = %5016
  call void @exit(i32 noundef 1) #11
  unreachable

5018:                                             ; No predecessors!
  br label %5019

5019:                                             ; preds = %5018
  br label %5020

5020:                                             ; preds = %5019, %4962
  br label %5021

5021:                                             ; preds = %5020
  br label %5022

5022:                                             ; preds = %5021
  br label %5023

5023:                                             ; preds = %5022
  %5024 = load i32, ptr @test_count, align 4, !tbaa !5
  %5025 = add nsw i32 %5024, 1
  store i32 %5025, ptr @test_count, align 4, !tbaa !5
  %5026 = load i32, ptr %99, align 4, !tbaa !5
  %5027 = icmp eq i32 %5026, 0
  br i1 %5027, label %5081, label %5028

5028:                                             ; preds = %5023
  br label %5029

5029:                                             ; preds = %5028
  br label %5030

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

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

5042:                                             ; preds = %5037
  %5043 = load i32, ptr %101, align 4, !tbaa !5
  %5044 = call ptr @__errno_location() #10
  store i32 %5043, ptr %5044, align 4, !tbaa !5
  %5045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5046 = load i32, ptr @test_count, align 4, !tbaa !5
  %5047 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5048 = load i32, ptr %5047, align 4, !tbaa !5
  %5049 = call ptr @s2n_strerror(i32 noundef %5048, ptr noundef @.str.4)
  %5050 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5051 = load i32, ptr %5050, align 4, !tbaa !5
  %5052 = call ptr @s2n_strerror_debug(i32 noundef %5051, ptr noundef @.str.4)
  %5053 = call ptr @__errno_location() #10
  %5054 = load i32, ptr %5053, align 4, !tbaa !5
  %5055 = call ptr @strerror(i32 noundef %5054) #9
  %5056 = call ptr @__errno_location() #10
  %5057 = load i32, ptr %5056, align 4, !tbaa !5
  %5058 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5045, ptr noundef @.str.2, i32 noundef %5046, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 336, ptr noundef %5049, ptr noundef %5052, ptr noundef %5055, i32 noundef %5057) #9
  br label %5076

5059:                                             ; preds = %5037, %5030
  %5060 = load i32, ptr %101, align 4, !tbaa !5
  %5061 = call ptr @__errno_location() #10
  store i32 %5060, ptr %5061, align 4, !tbaa !5
  %5062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5063 = load i32, ptr @test_count, align 4, !tbaa !5
  %5064 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5065 = load i32, ptr %5064, align 4, !tbaa !5
  %5066 = call ptr @s2n_strerror(i32 noundef %5065, ptr noundef @.str.4)
  %5067 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5068 = load i32, ptr %5067, align 4, !tbaa !5
  %5069 = call ptr @s2n_strerror_debug(i32 noundef %5068, ptr noundef @.str.4)
  %5070 = call ptr @__errno_location() #10
  %5071 = load i32, ptr %5070, align 4, !tbaa !5
  %5072 = call ptr @strerror(i32 noundef %5071) #9
  %5073 = call ptr @__errno_location() #10
  %5074 = load i32, ptr %5073, align 4, !tbaa !5
  %5075 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5062, ptr noundef @.str.5, i32 noundef %5063, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 336, ptr noundef %5066, ptr noundef %5069, ptr noundef %5072, i32 noundef %5074) #9
  br label %5076

5076:                                             ; preds = %5059, %5042
  call void @llvm.lifetime.end.p0(i64 4, ptr %101) #9
  br label %5077

5077:                                             ; preds = %5076
  br label %5078

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

5079:                                             ; No predecessors!
  br label %5080

5080:                                             ; preds = %5079
  br label %5081

5081:                                             ; preds = %5080, %5023
  br label %5082

5082:                                             ; preds = %5081
  br label %5083

5083:                                             ; preds = %5082
  call void @llvm.lifetime.end.p0(i64 4, ptr %99) #9
  br label %5084

5084:                                             ; preds = %5083
  br label %5085

5085:                                             ; preds = %5084
  br label %5086

5086:                                             ; preds = %5085
  call void @llvm.lifetime.start.p0(i64 4, ptr %102) #9
  br label %5087

5087:                                             ; preds = %5086
  %5088 = load i32, ptr @test_count, align 4, !tbaa !5
  %5089 = add nsw i32 %5088, 1
  store i32 %5089, ptr @test_count, align 4, !tbaa !5
  %5090 = call i32 @s2n_mul_overflow(i32 noundef -1, i32 noundef 0, ptr noundef %102)
  %5091 = icmp eq i32 %5090, -1
  br i1 %5091, label %5092, label %5145

5092:                                             ; preds = %5087
  br label %5093

5093:                                             ; preds = %5092
  br label %5094

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

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

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

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

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

5141:                                             ; preds = %5140
  br label %5142

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

5143:                                             ; No predecessors!
  br label %5144

5144:                                             ; preds = %5143
  br label %5145

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

5146:                                             ; preds = %5145
  br label %5147

5147:                                             ; preds = %5146
  br label %5148

5148:                                             ; preds = %5147
  %5149 = load i32, ptr @test_count, align 4, !tbaa !5
  %5150 = add nsw i32 %5149, 1
  store i32 %5150, ptr @test_count, align 4, !tbaa !5
  %5151 = load i32, ptr %102, align 4, !tbaa !5
  %5152 = icmp eq i32 %5151, 0
  br i1 %5152, label %5206, label %5153

5153:                                             ; preds = %5148
  br label %5154

5154:                                             ; preds = %5153
  br label %5155

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

5162:                                             ; preds = %5155
  %5163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5164 = call i32 @fileno(ptr noundef %5163) #9
  %5165 = call i32 @isatty(i32 noundef %5164) #9
  %5166 = icmp ne i32 %5165, 0
  br i1 %5166, label %5167, label %5184

5167:                                             ; preds = %5162
  %5168 = load i32, ptr %104, align 4, !tbaa !5
  %5169 = call ptr @__errno_location() #10
  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() #10
  %5179 = load i32, ptr %5178, align 4, !tbaa !5
  %5180 = call ptr @strerror(i32 noundef %5179) #9
  %5181 = call ptr @__errno_location() #10
  %5182 = load i32, ptr %5181, align 4, !tbaa !5
  %5183 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5170, ptr noundef @.str.2, i32 noundef %5171, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 336, ptr noundef %5174, ptr noundef %5177, ptr noundef %5180, i32 noundef %5182) #9
  br label %5201

5184:                                             ; preds = %5162, %5155
  %5185 = load i32, ptr %104, align 4, !tbaa !5
  %5186 = call ptr @__errno_location() #10
  store i32 %5185, ptr %5186, align 4, !tbaa !5
  %5187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5188 = load i32, ptr @test_count, align 4, !tbaa !5
  %5189 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5190 = load i32, ptr %5189, align 4, !tbaa !5
  %5191 = call ptr @s2n_strerror(i32 noundef %5190, ptr noundef @.str.4)
  %5192 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5193 = load i32, ptr %5192, align 4, !tbaa !5
  %5194 = call ptr @s2n_strerror_debug(i32 noundef %5193, ptr noundef @.str.4)
  %5195 = call ptr @__errno_location() #10
  %5196 = load i32, ptr %5195, align 4, !tbaa !5
  %5197 = call ptr @strerror(i32 noundef %5196) #9
  %5198 = call ptr @__errno_location() #10
  %5199 = load i32, ptr %5198, align 4, !tbaa !5
  %5200 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5187, ptr noundef @.str.5, i32 noundef %5188, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 336, ptr noundef %5191, ptr noundef %5194, ptr noundef %5197, i32 noundef %5199) #9
  br label %5201

5201:                                             ; preds = %5184, %5167
  call void @llvm.lifetime.end.p0(i64 4, ptr %104) #9
  br label %5202

5202:                                             ; preds = %5201
  br label %5203

5203:                                             ; preds = %5202
  call void @exit(i32 noundef 1) #11
  unreachable

5204:                                             ; No predecessors!
  br label %5205

5205:                                             ; preds = %5204
  br label %5206

5206:                                             ; preds = %5205, %5148
  br label %5207

5207:                                             ; preds = %5206
  br label %5208

5208:                                             ; preds = %5207
  call void @llvm.lifetime.end.p0(i64 4, ptr %102) #9
  br label %5209

5209:                                             ; preds = %5208
  br label %5210

5210:                                             ; preds = %5209
  br label %5211

5211:                                             ; preds = %5210
  br label %5212

5212:                                             ; preds = %5211
  br label %5213

5213:                                             ; preds = %5212
  br label %5214

5214:                                             ; preds = %5213
  call void @llvm.lifetime.start.p0(i64 4, ptr %105) #9
  br label %5215

5215:                                             ; preds = %5214
  %5216 = load i32, ptr @test_count, align 4, !tbaa !5
  %5217 = add nsw i32 %5216, 1
  store i32 %5217, ptr @test_count, align 4, !tbaa !5
  %5218 = call i32 @s2n_mul_overflow(i32 noundef 4, i32 noundef 5, ptr noundef %105)
  %5219 = icmp eq i32 %5218, -1
  br i1 %5219, label %5220, label %5273

5220:                                             ; preds = %5215
  br label %5221

5221:                                             ; preds = %5220
  br label %5222

5222:                                             ; preds = %5221
  call void @llvm.lifetime.start.p0(i64 4, ptr %106) #9
  %5223 = call ptr @__errno_location() #10
  %5224 = load i32, ptr %5223, align 4, !tbaa !5
  store i32 %5224, ptr %106, align 4, !tbaa !5
  %5225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5226 = call i32 @s2n_print_stacktrace(ptr noundef %5225)
  %5227 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5228 = trunc i8 %5227 to i1
  br i1 %5228, label %5229, label %5251

5229:                                             ; preds = %5222
  %5230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5231 = call i32 @fileno(ptr noundef %5230) #9
  %5232 = call i32 @isatty(i32 noundef %5231) #9
  %5233 = icmp ne i32 %5232, 0
  br i1 %5233, label %5234, label %5251

5234:                                             ; preds = %5229
  %5235 = load i32, ptr %106, align 4, !tbaa !5
  %5236 = call ptr @__errno_location() #10
  store i32 %5235, ptr %5236, align 4, !tbaa !5
  %5237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5238 = load i32, ptr @test_count, align 4, !tbaa !5
  %5239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5240 = load i32, ptr %5239, align 4, !tbaa !5
  %5241 = call ptr @s2n_strerror(i32 noundef %5240, ptr noundef @.str.4)
  %5242 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5243 = load i32, ptr %5242, align 4, !tbaa !5
  %5244 = call ptr @s2n_strerror_debug(i32 noundef %5243, ptr noundef @.str.4)
  %5245 = call ptr @__errno_location() #10
  %5246 = load i32, ptr %5245, align 4, !tbaa !5
  %5247 = call ptr @strerror(i32 noundef %5246) #9
  %5248 = call ptr @__errno_location() #10
  %5249 = load i32, ptr %5248, align 4, !tbaa !5
  %5250 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5237, ptr noundef @.str.2, i32 noundef %5238, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 337, ptr noundef %5241, ptr noundef %5244, ptr noundef %5247, i32 noundef %5249) #9
  br label %5268

5251:                                             ; preds = %5229, %5222
  %5252 = load i32, ptr %106, align 4, !tbaa !5
  %5253 = call ptr @__errno_location() #10
  store i32 %5252, ptr %5253, align 4, !tbaa !5
  %5254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5255 = load i32, ptr @test_count, align 4, !tbaa !5
  %5256 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5257 = load i32, ptr %5256, align 4, !tbaa !5
  %5258 = call ptr @s2n_strerror(i32 noundef %5257, ptr noundef @.str.4)
  %5259 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5260 = load i32, ptr %5259, align 4, !tbaa !5
  %5261 = call ptr @s2n_strerror_debug(i32 noundef %5260, ptr noundef @.str.4)
  %5262 = call ptr @__errno_location() #10
  %5263 = load i32, ptr %5262, align 4, !tbaa !5
  %5264 = call ptr @strerror(i32 noundef %5263) #9
  %5265 = call ptr @__errno_location() #10
  %5266 = load i32, ptr %5265, align 4, !tbaa !5
  %5267 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5254, ptr noundef @.str.5, i32 noundef %5255, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 337, ptr noundef %5258, ptr noundef %5261, ptr noundef %5264, i32 noundef %5266) #9
  br label %5268

5268:                                             ; preds = %5251, %5234
  call void @llvm.lifetime.end.p0(i64 4, ptr %106) #9
  br label %5269

5269:                                             ; preds = %5268
  br label %5270

5270:                                             ; preds = %5269
  call void @exit(i32 noundef 1) #11
  unreachable

5271:                                             ; No predecessors!
  br label %5272

5272:                                             ; preds = %5271
  br label %5273

5273:                                             ; preds = %5272, %5215
  br label %5274

5274:                                             ; preds = %5273
  br label %5275

5275:                                             ; preds = %5274
  br label %5276

5276:                                             ; preds = %5275
  %5277 = load i32, ptr @test_count, align 4, !tbaa !5
  %5278 = add nsw i32 %5277, 1
  store i32 %5278, ptr @test_count, align 4, !tbaa !5
  %5279 = load i32, ptr %105, align 4, !tbaa !5
  %5280 = icmp eq i32 %5279, 20
  br i1 %5280, label %5334, label %5281

5281:                                             ; preds = %5276
  br label %5282

5282:                                             ; preds = %5281
  br label %5283

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

5290:                                             ; preds = %5283
  %5291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5292 = call i32 @fileno(ptr noundef %5291) #9
  %5293 = call i32 @isatty(i32 noundef %5292) #9
  %5294 = icmp ne i32 %5293, 0
  br i1 %5294, label %5295, label %5312

5295:                                             ; preds = %5290
  %5296 = load i32, ptr %107, align 4, !tbaa !5
  %5297 = call ptr @__errno_location() #10
  store i32 %5296, ptr %5297, align 4, !tbaa !5
  %5298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5299 = load i32, ptr @test_count, align 4, !tbaa !5
  %5300 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5301 = load i32, ptr %5300, align 4, !tbaa !5
  %5302 = call ptr @s2n_strerror(i32 noundef %5301, ptr noundef @.str.4)
  %5303 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5304 = load i32, ptr %5303, align 4, !tbaa !5
  %5305 = call ptr @s2n_strerror_debug(i32 noundef %5304, ptr noundef @.str.4)
  %5306 = call ptr @__errno_location() #10
  %5307 = load i32, ptr %5306, align 4, !tbaa !5
  %5308 = call ptr @strerror(i32 noundef %5307) #9
  %5309 = call ptr @__errno_location() #10
  %5310 = load i32, ptr %5309, align 4, !tbaa !5
  %5311 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5298, ptr noundef @.str.2, i32 noundef %5299, ptr noundef @.str.57, ptr noundef @.str.1, i32 noundef 337, ptr noundef %5302, ptr noundef %5305, ptr noundef %5308, i32 noundef %5310) #9
  br label %5329

5312:                                             ; preds = %5290, %5283
  %5313 = load i32, ptr %107, align 4, !tbaa !5
  %5314 = call ptr @__errno_location() #10
  store i32 %5313, ptr %5314, align 4, !tbaa !5
  %5315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5316 = load i32, ptr @test_count, align 4, !tbaa !5
  %5317 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5318 = load i32, ptr %5317, align 4, !tbaa !5
  %5319 = call ptr @s2n_strerror(i32 noundef %5318, ptr noundef @.str.4)
  %5320 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5321 = load i32, ptr %5320, align 4, !tbaa !5
  %5322 = call ptr @s2n_strerror_debug(i32 noundef %5321, ptr noundef @.str.4)
  %5323 = call ptr @__errno_location() #10
  %5324 = load i32, ptr %5323, align 4, !tbaa !5
  %5325 = call ptr @strerror(i32 noundef %5324) #9
  %5326 = call ptr @__errno_location() #10
  %5327 = load i32, ptr %5326, align 4, !tbaa !5
  %5328 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5315, ptr noundef @.str.5, i32 noundef %5316, ptr noundef @.str.57, ptr noundef @.str.1, i32 noundef 337, ptr noundef %5319, ptr noundef %5322, ptr noundef %5325, i32 noundef %5327) #9
  br label %5329

5329:                                             ; preds = %5312, %5295
  call void @llvm.lifetime.end.p0(i64 4, ptr %107) #9
  br label %5330

5330:                                             ; preds = %5329
  br label %5331

5331:                                             ; preds = %5330
  call void @exit(i32 noundef 1) #11
  unreachable

5332:                                             ; No predecessors!
  br label %5333

5333:                                             ; preds = %5332
  br label %5334

5334:                                             ; preds = %5333, %5276
  br label %5335

5335:                                             ; preds = %5334
  br label %5336

5336:                                             ; preds = %5335
  call void @llvm.lifetime.end.p0(i64 4, ptr %105) #9
  br label %5337

5337:                                             ; preds = %5336
  br label %5338

5338:                                             ; preds = %5337
  br label %5339

5339:                                             ; preds = %5338
  call void @llvm.lifetime.start.p0(i64 4, ptr %108) #9
  br label %5340

5340:                                             ; preds = %5339
  %5341 = load i32, ptr @test_count, align 4, !tbaa !5
  %5342 = add nsw i32 %5341, 1
  store i32 %5342, ptr @test_count, align 4, !tbaa !5
  %5343 = call i32 @s2n_mul_overflow(i32 noundef 5, i32 noundef 4, ptr noundef %108)
  %5344 = icmp eq i32 %5343, -1
  br i1 %5344, label %5345, label %5398

5345:                                             ; preds = %5340
  br label %5346

5346:                                             ; preds = %5345
  br label %5347

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

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

5359:                                             ; preds = %5354
  %5360 = load i32, ptr %109, align 4, !tbaa !5
  %5361 = call ptr @__errno_location() #10
  store i32 %5360, ptr %5361, align 4, !tbaa !5
  %5362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5363 = load i32, ptr @test_count, align 4, !tbaa !5
  %5364 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5365 = load i32, ptr %5364, align 4, !tbaa !5
  %5366 = call ptr @s2n_strerror(i32 noundef %5365, ptr noundef @.str.4)
  %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_debug(i32 noundef %5368, ptr noundef @.str.4)
  %5370 = call ptr @__errno_location() #10
  %5371 = load i32, ptr %5370, align 4, !tbaa !5
  %5372 = call ptr @strerror(i32 noundef %5371) #9
  %5373 = call ptr @__errno_location() #10
  %5374 = load i32, ptr %5373, align 4, !tbaa !5
  %5375 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5362, ptr noundef @.str.2, i32 noundef %5363, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 337, ptr noundef %5366, ptr noundef %5369, ptr noundef %5372, i32 noundef %5374) #9
  br label %5393

5376:                                             ; preds = %5354, %5347
  %5377 = load i32, ptr %109, align 4, !tbaa !5
  %5378 = call ptr @__errno_location() #10
  store i32 %5377, ptr %5378, align 4, !tbaa !5
  %5379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5380 = load i32, ptr @test_count, align 4, !tbaa !5
  %5381 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5382 = load i32, ptr %5381, align 4, !tbaa !5
  %5383 = call ptr @s2n_strerror(i32 noundef %5382, ptr noundef @.str.4)
  %5384 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5385 = load i32, ptr %5384, align 4, !tbaa !5
  %5386 = call ptr @s2n_strerror_debug(i32 noundef %5385, ptr noundef @.str.4)
  %5387 = call ptr @__errno_location() #10
  %5388 = load i32, ptr %5387, align 4, !tbaa !5
  %5389 = call ptr @strerror(i32 noundef %5388) #9
  %5390 = call ptr @__errno_location() #10
  %5391 = load i32, ptr %5390, align 4, !tbaa !5
  %5392 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5379, ptr noundef @.str.5, i32 noundef %5380, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 337, ptr noundef %5383, ptr noundef %5386, ptr noundef %5389, i32 noundef %5391) #9
  br label %5393

5393:                                             ; preds = %5376, %5359
  call void @llvm.lifetime.end.p0(i64 4, ptr %109) #9
  br label %5394

5394:                                             ; preds = %5393
  br label %5395

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

5396:                                             ; No predecessors!
  br label %5397

5397:                                             ; preds = %5396
  br label %5398

5398:                                             ; preds = %5397, %5340
  br label %5399

5399:                                             ; preds = %5398
  br label %5400

5400:                                             ; preds = %5399
  br label %5401

5401:                                             ; preds = %5400
  %5402 = load i32, ptr @test_count, align 4, !tbaa !5
  %5403 = add nsw i32 %5402, 1
  store i32 %5403, ptr @test_count, align 4, !tbaa !5
  %5404 = load i32, ptr %108, align 4, !tbaa !5
  %5405 = icmp eq i32 %5404, 20
  br i1 %5405, label %5459, label %5406

5406:                                             ; preds = %5401
  br label %5407

5407:                                             ; preds = %5406
  br label %5408

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

5415:                                             ; preds = %5408
  %5416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5417 = call i32 @fileno(ptr noundef %5416) #9
  %5418 = call i32 @isatty(i32 noundef %5417) #9
  %5419 = icmp ne i32 %5418, 0
  br i1 %5419, label %5420, label %5437

5420:                                             ; preds = %5415
  %5421 = load i32, ptr %110, align 4, !tbaa !5
  %5422 = call ptr @__errno_location() #10
  store i32 %5421, ptr %5422, align 4, !tbaa !5
  %5423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5424 = load i32, ptr @test_count, align 4, !tbaa !5
  %5425 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5426 = load i32, ptr %5425, align 4, !tbaa !5
  %5427 = call ptr @s2n_strerror(i32 noundef %5426, ptr noundef @.str.4)
  %5428 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5429 = load i32, ptr %5428, align 4, !tbaa !5
  %5430 = call ptr @s2n_strerror_debug(i32 noundef %5429, ptr noundef @.str.4)
  %5431 = call ptr @__errno_location() #10
  %5432 = load i32, ptr %5431, align 4, !tbaa !5
  %5433 = call ptr @strerror(i32 noundef %5432) #9
  %5434 = call ptr @__errno_location() #10
  %5435 = load i32, ptr %5434, align 4, !tbaa !5
  %5436 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5423, ptr noundef @.str.2, i32 noundef %5424, ptr noundef @.str.57, ptr noundef @.str.1, i32 noundef 337, ptr noundef %5427, ptr noundef %5430, ptr noundef %5433, i32 noundef %5435) #9
  br label %5454

5437:                                             ; preds = %5415, %5408
  %5438 = load i32, ptr %110, align 4, !tbaa !5
  %5439 = call ptr @__errno_location() #10
  store i32 %5438, ptr %5439, align 4, !tbaa !5
  %5440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5441 = load i32, ptr @test_count, align 4, !tbaa !5
  %5442 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5443 = load i32, ptr %5442, align 4, !tbaa !5
  %5444 = call ptr @s2n_strerror(i32 noundef %5443, ptr noundef @.str.4)
  %5445 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5446 = load i32, ptr %5445, align 4, !tbaa !5
  %5447 = call ptr @s2n_strerror_debug(i32 noundef %5446, ptr noundef @.str.4)
  %5448 = call ptr @__errno_location() #10
  %5449 = load i32, ptr %5448, align 4, !tbaa !5
  %5450 = call ptr @strerror(i32 noundef %5449) #9
  %5451 = call ptr @__errno_location() #10
  %5452 = load i32, ptr %5451, align 4, !tbaa !5
  %5453 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5440, ptr noundef @.str.5, i32 noundef %5441, ptr noundef @.str.57, ptr noundef @.str.1, i32 noundef 337, ptr noundef %5444, ptr noundef %5447, ptr noundef %5450, i32 noundef %5452) #9
  br label %5454

5454:                                             ; preds = %5437, %5420
  call void @llvm.lifetime.end.p0(i64 4, ptr %110) #9
  br label %5455

5455:                                             ; preds = %5454
  br label %5456

5456:                                             ; preds = %5455
  call void @exit(i32 noundef 1) #11
  unreachable

5457:                                             ; No predecessors!
  br label %5458

5458:                                             ; preds = %5457
  br label %5459

5459:                                             ; preds = %5458, %5401
  br label %5460

5460:                                             ; preds = %5459
  br label %5461

5461:                                             ; preds = %5460
  call void @llvm.lifetime.end.p0(i64 4, ptr %108) #9
  br label %5462

5462:                                             ; preds = %5461
  br label %5463

5463:                                             ; preds = %5462
  br label %5464

5464:                                             ; preds = %5463
  br label %5465

5465:                                             ; preds = %5464
  br label %5466

5466:                                             ; preds = %5465
  br label %5467

5467:                                             ; preds = %5466
  call void @llvm.lifetime.start.p0(i64 4, ptr %111) #9
  br label %5468

5468:                                             ; preds = %5467
  %5469 = load i32, ptr @test_count, align 4, !tbaa !5
  %5470 = add nsw i32 %5469, 1
  store i32 %5470, ptr @test_count, align 4, !tbaa !5
  %5471 = call i32 @s2n_mul_overflow(i32 noundef 1234, i32 noundef 4321, ptr noundef %111)
  %5472 = icmp eq i32 %5471, -1
  br i1 %5472, label %5473, label %5526

5473:                                             ; preds = %5468
  br label %5474

5474:                                             ; preds = %5473
  br label %5475

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

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

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

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

5521:                                             ; preds = %5504, %5487
  call void @llvm.lifetime.end.p0(i64 4, ptr %112) #9
  br label %5522

5522:                                             ; preds = %5521
  br label %5523

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

5524:                                             ; No predecessors!
  br label %5525

5525:                                             ; preds = %5524
  br label %5526

5526:                                             ; preds = %5525, %5468
  br label %5527

5527:                                             ; preds = %5526
  br label %5528

5528:                                             ; preds = %5527
  br label %5529

5529:                                             ; preds = %5528
  %5530 = load i32, ptr @test_count, align 4, !tbaa !5
  %5531 = add nsw i32 %5530, 1
  store i32 %5531, ptr @test_count, align 4, !tbaa !5
  %5532 = load i32, ptr %111, align 4, !tbaa !5
  %5533 = icmp eq i32 %5532, 5332114
  br i1 %5533, label %5587, label %5534

5534:                                             ; preds = %5529
  br label %5535

5535:                                             ; preds = %5534
  br label %5536

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

5543:                                             ; preds = %5536
  %5544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5545 = call i32 @fileno(ptr noundef %5544) #9
  %5546 = call i32 @isatty(i32 noundef %5545) #9
  %5547 = icmp ne i32 %5546, 0
  br i1 %5547, label %5548, label %5565

5548:                                             ; preds = %5543
  %5549 = load i32, ptr %113, align 4, !tbaa !5
  %5550 = call ptr @__errno_location() #10
  store i32 %5549, ptr %5550, align 4, !tbaa !5
  %5551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5552 = load i32, ptr @test_count, align 4, !tbaa !5
  %5553 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5554 = load i32, ptr %5553, align 4, !tbaa !5
  %5555 = call ptr @s2n_strerror(i32 noundef %5554, ptr noundef @.str.4)
  %5556 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5557 = load i32, ptr %5556, align 4, !tbaa !5
  %5558 = call ptr @s2n_strerror_debug(i32 noundef %5557, ptr noundef @.str.4)
  %5559 = call ptr @__errno_location() #10
  %5560 = load i32, ptr %5559, align 4, !tbaa !5
  %5561 = call ptr @strerror(i32 noundef %5560) #9
  %5562 = call ptr @__errno_location() #10
  %5563 = load i32, ptr %5562, align 4, !tbaa !5
  %5564 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5551, ptr noundef @.str.2, i32 noundef %5552, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 338, ptr noundef %5555, ptr noundef %5558, ptr noundef %5561, i32 noundef %5563) #9
  br label %5582

5565:                                             ; preds = %5543, %5536
  %5566 = load i32, ptr %113, align 4, !tbaa !5
  %5567 = call ptr @__errno_location() #10
  store i32 %5566, ptr %5567, align 4, !tbaa !5
  %5568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5569 = load i32, ptr @test_count, align 4, !tbaa !5
  %5570 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5571 = load i32, ptr %5570, align 4, !tbaa !5
  %5572 = call ptr @s2n_strerror(i32 noundef %5571, ptr noundef @.str.4)
  %5573 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5574 = load i32, ptr %5573, align 4, !tbaa !5
  %5575 = call ptr @s2n_strerror_debug(i32 noundef %5574, ptr noundef @.str.4)
  %5576 = call ptr @__errno_location() #10
  %5577 = load i32, ptr %5576, align 4, !tbaa !5
  %5578 = call ptr @strerror(i32 noundef %5577) #9
  %5579 = call ptr @__errno_location() #10
  %5580 = load i32, ptr %5579, align 4, !tbaa !5
  %5581 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5568, ptr noundef @.str.5, i32 noundef %5569, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 338, ptr noundef %5572, ptr noundef %5575, ptr noundef %5578, i32 noundef %5580) #9
  br label %5582

5582:                                             ; preds = %5565, %5548
  call void @llvm.lifetime.end.p0(i64 4, ptr %113) #9
  br label %5583

5583:                                             ; preds = %5582
  br label %5584

5584:                                             ; preds = %5583
  call void @exit(i32 noundef 1) #11
  unreachable

5585:                                             ; No predecessors!
  br label %5586

5586:                                             ; preds = %5585
  br label %5587

5587:                                             ; preds = %5586, %5529
  br label %5588

5588:                                             ; preds = %5587
  br label %5589

5589:                                             ; preds = %5588
  call void @llvm.lifetime.end.p0(i64 4, ptr %111) #9
  br label %5590

5590:                                             ; preds = %5589
  br label %5591

5591:                                             ; preds = %5590
  br label %5592

5592:                                             ; preds = %5591
  call void @llvm.lifetime.start.p0(i64 4, ptr %114) #9
  br label %5593

5593:                                             ; preds = %5592
  %5594 = load i32, ptr @test_count, align 4, !tbaa !5
  %5595 = add nsw i32 %5594, 1
  store i32 %5595, ptr @test_count, align 4, !tbaa !5
  %5596 = call i32 @s2n_mul_overflow(i32 noundef 4321, i32 noundef 1234, ptr noundef %114)
  %5597 = icmp eq i32 %5596, -1
  br i1 %5597, label %5598, label %5651

5598:                                             ; preds = %5593
  br label %5599

5599:                                             ; preds = %5598
  br label %5600

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

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

5612:                                             ; preds = %5607
  %5613 = load i32, ptr %115, align 4, !tbaa !5
  %5614 = call ptr @__errno_location() #10
  store i32 %5613, ptr %5614, align 4, !tbaa !5
  %5615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5616 = load i32, ptr @test_count, align 4, !tbaa !5
  %5617 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5618 = load i32, ptr %5617, align 4, !tbaa !5
  %5619 = call ptr @s2n_strerror(i32 noundef %5618, ptr noundef @.str.4)
  %5620 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5621 = load i32, ptr %5620, align 4, !tbaa !5
  %5622 = call ptr @s2n_strerror_debug(i32 noundef %5621, ptr noundef @.str.4)
  %5623 = call ptr @__errno_location() #10
  %5624 = load i32, ptr %5623, align 4, !tbaa !5
  %5625 = call ptr @strerror(i32 noundef %5624) #9
  %5626 = call ptr @__errno_location() #10
  %5627 = load i32, ptr %5626, align 4, !tbaa !5
  %5628 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5615, ptr noundef @.str.2, i32 noundef %5616, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 338, ptr noundef %5619, ptr noundef %5622, ptr noundef %5625, i32 noundef %5627) #9
  br label %5646

5629:                                             ; preds = %5607, %5600
  %5630 = load i32, ptr %115, align 4, !tbaa !5
  %5631 = call ptr @__errno_location() #10
  store i32 %5630, ptr %5631, align 4, !tbaa !5
  %5632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5633 = load i32, ptr @test_count, align 4, !tbaa !5
  %5634 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5635 = load i32, ptr %5634, align 4, !tbaa !5
  %5636 = call ptr @s2n_strerror(i32 noundef %5635, ptr noundef @.str.4)
  %5637 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5638 = load i32, ptr %5637, align 4, !tbaa !5
  %5639 = call ptr @s2n_strerror_debug(i32 noundef %5638, ptr noundef @.str.4)
  %5640 = call ptr @__errno_location() #10
  %5641 = load i32, ptr %5640, align 4, !tbaa !5
  %5642 = call ptr @strerror(i32 noundef %5641) #9
  %5643 = call ptr @__errno_location() #10
  %5644 = load i32, ptr %5643, align 4, !tbaa !5
  %5645 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5632, ptr noundef @.str.5, i32 noundef %5633, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 338, ptr noundef %5636, ptr noundef %5639, ptr noundef %5642, i32 noundef %5644) #9
  br label %5646

5646:                                             ; preds = %5629, %5612
  call void @llvm.lifetime.end.p0(i64 4, ptr %115) #9
  br label %5647

5647:                                             ; preds = %5646
  br label %5648

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

5649:                                             ; No predecessors!
  br label %5650

5650:                                             ; preds = %5649
  br label %5651

5651:                                             ; preds = %5650, %5593
  br label %5652

5652:                                             ; preds = %5651
  br label %5653

5653:                                             ; preds = %5652
  br label %5654

5654:                                             ; preds = %5653
  %5655 = load i32, ptr @test_count, align 4, !tbaa !5
  %5656 = add nsw i32 %5655, 1
  store i32 %5656, ptr @test_count, align 4, !tbaa !5
  %5657 = load i32, ptr %114, align 4, !tbaa !5
  %5658 = icmp eq i32 %5657, 5332114
  br i1 %5658, label %5712, label %5659

5659:                                             ; preds = %5654
  br label %5660

5660:                                             ; preds = %5659
  br label %5661

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

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

5673:                                             ; preds = %5668
  %5674 = load i32, ptr %116, align 4, !tbaa !5
  %5675 = call ptr @__errno_location() #10
  store i32 %5674, ptr %5675, align 4, !tbaa !5
  %5676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5677 = load i32, ptr @test_count, align 4, !tbaa !5
  %5678 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5679 = load i32, ptr %5678, align 4, !tbaa !5
  %5680 = call ptr @s2n_strerror(i32 noundef %5679, ptr noundef @.str.4)
  %5681 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5682 = load i32, ptr %5681, align 4, !tbaa !5
  %5683 = call ptr @s2n_strerror_debug(i32 noundef %5682, ptr noundef @.str.4)
  %5684 = call ptr @__errno_location() #10
  %5685 = load i32, ptr %5684, align 4, !tbaa !5
  %5686 = call ptr @strerror(i32 noundef %5685) #9
  %5687 = call ptr @__errno_location() #10
  %5688 = load i32, ptr %5687, align 4, !tbaa !5
  %5689 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5676, ptr noundef @.str.2, i32 noundef %5677, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 338, ptr noundef %5680, ptr noundef %5683, ptr noundef %5686, i32 noundef %5688) #9
  br label %5707

5690:                                             ; preds = %5668, %5661
  %5691 = load i32, ptr %116, align 4, !tbaa !5
  %5692 = call ptr @__errno_location() #10
  store i32 %5691, ptr %5692, align 4, !tbaa !5
  %5693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5694 = load i32, ptr @test_count, align 4, !tbaa !5
  %5695 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5696 = load i32, ptr %5695, align 4, !tbaa !5
  %5697 = call ptr @s2n_strerror(i32 noundef %5696, ptr noundef @.str.4)
  %5698 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5699 = load i32, ptr %5698, align 4, !tbaa !5
  %5700 = call ptr @s2n_strerror_debug(i32 noundef %5699, ptr noundef @.str.4)
  %5701 = call ptr @__errno_location() #10
  %5702 = load i32, ptr %5701, align 4, !tbaa !5
  %5703 = call ptr @strerror(i32 noundef %5702) #9
  %5704 = call ptr @__errno_location() #10
  %5705 = load i32, ptr %5704, align 4, !tbaa !5
  %5706 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5693, ptr noundef @.str.5, i32 noundef %5694, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 338, ptr noundef %5697, ptr noundef %5700, ptr noundef %5703, i32 noundef %5705) #9
  br label %5707

5707:                                             ; preds = %5690, %5673
  call void @llvm.lifetime.end.p0(i64 4, ptr %116) #9
  br label %5708

5708:                                             ; preds = %5707
  br label %5709

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

5710:                                             ; No predecessors!
  br label %5711

5711:                                             ; preds = %5710
  br label %5712

5712:                                             ; preds = %5711, %5654
  br label %5713

5713:                                             ; preds = %5712
  br label %5714

5714:                                             ; preds = %5713
  call void @llvm.lifetime.end.p0(i64 4, ptr %114) #9
  br label %5715

5715:                                             ; preds = %5714
  br label %5716

5716:                                             ; preds = %5715
  br label %5717

5717:                                             ; preds = %5716
  br label %5718

5718:                                             ; preds = %5717
  br label %5719

5719:                                             ; preds = %5718
  br label %5720

5720:                                             ; preds = %5719
  call void @llvm.lifetime.start.p0(i64 4, ptr %117) #9
  br label %5721

5721:                                             ; preds = %5720
  %5722 = load i32, ptr @test_count, align 4, !tbaa !5
  %5723 = add nsw i32 %5722, 1
  store i32 %5723, ptr @test_count, align 4, !tbaa !5
  %5724 = call i32 @s2n_mul_overflow(i32 noundef -1, i32 noundef 1, ptr noundef %117)
  %5725 = icmp eq i32 %5724, -1
  br i1 %5725, label %5726, label %5779

5726:                                             ; preds = %5721
  br label %5727

5727:                                             ; preds = %5726
  br label %5728

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

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

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

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

5774:                                             ; preds = %5757, %5740
  call void @llvm.lifetime.end.p0(i64 4, ptr %118) #9
  br label %5775

5775:                                             ; preds = %5774
  br label %5776

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

5777:                                             ; No predecessors!
  br label %5778

5778:                                             ; preds = %5777
  br label %5779

5779:                                             ; preds = %5778, %5721
  br label %5780

5780:                                             ; preds = %5779
  br label %5781

5781:                                             ; preds = %5780
  br label %5782

5782:                                             ; preds = %5781
  %5783 = load i32, ptr @test_count, align 4, !tbaa !5
  %5784 = add nsw i32 %5783, 1
  store i32 %5784, ptr @test_count, align 4, !tbaa !5
  %5785 = load i32, ptr %117, align 4, !tbaa !5
  %5786 = icmp eq i32 %5785, -1
  br i1 %5786, label %5840, label %5787

5787:                                             ; preds = %5782
  br label %5788

5788:                                             ; preds = %5787
  br label %5789

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

5796:                                             ; preds = %5789
  %5797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5798 = call i32 @fileno(ptr noundef %5797) #9
  %5799 = call i32 @isatty(i32 noundef %5798) #9
  %5800 = icmp ne i32 %5799, 0
  br i1 %5800, label %5801, label %5818

5801:                                             ; preds = %5796
  %5802 = load i32, ptr %119, align 4, !tbaa !5
  %5803 = call ptr @__errno_location() #10
  store i32 %5802, ptr %5803, align 4, !tbaa !5
  %5804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5805 = load i32, ptr @test_count, align 4, !tbaa !5
  %5806 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5807 = load i32, ptr %5806, align 4, !tbaa !5
  %5808 = call ptr @s2n_strerror(i32 noundef %5807, ptr noundef @.str.4)
  %5809 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5810 = load i32, ptr %5809, align 4, !tbaa !5
  %5811 = call ptr @s2n_strerror_debug(i32 noundef %5810, ptr noundef @.str.4)
  %5812 = call ptr @__errno_location() #10
  %5813 = load i32, ptr %5812, align 4, !tbaa !5
  %5814 = call ptr @strerror(i32 noundef %5813) #9
  %5815 = call ptr @__errno_location() #10
  %5816 = load i32, ptr %5815, align 4, !tbaa !5
  %5817 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5804, ptr noundef @.str.2, i32 noundef %5805, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 340, ptr noundef %5808, ptr noundef %5811, ptr noundef %5814, i32 noundef %5816) #9
  br label %5835

5818:                                             ; preds = %5796, %5789
  %5819 = load i32, ptr %119, align 4, !tbaa !5
  %5820 = call ptr @__errno_location() #10
  store i32 %5819, ptr %5820, align 4, !tbaa !5
  %5821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5822 = load i32, ptr @test_count, align 4, !tbaa !5
  %5823 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5824 = load i32, ptr %5823, align 4, !tbaa !5
  %5825 = call ptr @s2n_strerror(i32 noundef %5824, ptr noundef @.str.4)
  %5826 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5827 = load i32, ptr %5826, align 4, !tbaa !5
  %5828 = call ptr @s2n_strerror_debug(i32 noundef %5827, ptr noundef @.str.4)
  %5829 = call ptr @__errno_location() #10
  %5830 = load i32, ptr %5829, align 4, !tbaa !5
  %5831 = call ptr @strerror(i32 noundef %5830) #9
  %5832 = call ptr @__errno_location() #10
  %5833 = load i32, ptr %5832, align 4, !tbaa !5
  %5834 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5821, ptr noundef @.str.5, i32 noundef %5822, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 340, ptr noundef %5825, ptr noundef %5828, ptr noundef %5831, i32 noundef %5833) #9
  br label %5835

5835:                                             ; preds = %5818, %5801
  call void @llvm.lifetime.end.p0(i64 4, ptr %119) #9
  br label %5836

5836:                                             ; preds = %5835
  br label %5837

5837:                                             ; preds = %5836
  call void @exit(i32 noundef 1) #11
  unreachable

5838:                                             ; No predecessors!
  br label %5839

5839:                                             ; preds = %5838
  br label %5840

5840:                                             ; preds = %5839, %5782
  br label %5841

5841:                                             ; preds = %5840
  br label %5842

5842:                                             ; preds = %5841
  call void @llvm.lifetime.end.p0(i64 4, ptr %117) #9
  br label %5843

5843:                                             ; preds = %5842
  br label %5844

5844:                                             ; preds = %5843
  br label %5845

5845:                                             ; preds = %5844
  call void @llvm.lifetime.start.p0(i64 4, ptr %120) #9
  br label %5846

5846:                                             ; preds = %5845
  %5847 = load i32, ptr @test_count, align 4, !tbaa !5
  %5848 = add nsw i32 %5847, 1
  store i32 %5848, ptr @test_count, align 4, !tbaa !5
  %5849 = call i32 @s2n_mul_overflow(i32 noundef 1, i32 noundef -1, ptr noundef %120)
  %5850 = icmp eq i32 %5849, -1
  br i1 %5850, label %5851, label %5904

5851:                                             ; preds = %5846
  br label %5852

5852:                                             ; preds = %5851
  br label %5853

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

5860:                                             ; preds = %5853
  %5861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5862 = call i32 @fileno(ptr noundef %5861) #9
  %5863 = call i32 @isatty(i32 noundef %5862) #9
  %5864 = icmp ne i32 %5863, 0
  br i1 %5864, label %5865, label %5882

5865:                                             ; preds = %5860
  %5866 = load i32, ptr %121, align 4, !tbaa !5
  %5867 = call ptr @__errno_location() #10
  store i32 %5866, ptr %5867, align 4, !tbaa !5
  %5868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5869 = load i32, ptr @test_count, align 4, !tbaa !5
  %5870 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5871 = load i32, ptr %5870, align 4, !tbaa !5
  %5872 = call ptr @s2n_strerror(i32 noundef %5871, ptr noundef @.str.4)
  %5873 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5874 = load i32, ptr %5873, align 4, !tbaa !5
  %5875 = call ptr @s2n_strerror_debug(i32 noundef %5874, ptr noundef @.str.4)
  %5876 = call ptr @__errno_location() #10
  %5877 = load i32, ptr %5876, align 4, !tbaa !5
  %5878 = call ptr @strerror(i32 noundef %5877) #9
  %5879 = call ptr @__errno_location() #10
  %5880 = load i32, ptr %5879, align 4, !tbaa !5
  %5881 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5868, ptr noundef @.str.2, i32 noundef %5869, ptr noundef @.str.64, ptr noundef @.str.1, i32 noundef 340, ptr noundef %5872, ptr noundef %5875, ptr noundef %5878, i32 noundef %5880) #9
  br label %5899

5882:                                             ; preds = %5860, %5853
  %5883 = load i32, ptr %121, align 4, !tbaa !5
  %5884 = call ptr @__errno_location() #10
  store i32 %5883, ptr %5884, align 4, !tbaa !5
  %5885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5886 = load i32, ptr @test_count, align 4, !tbaa !5
  %5887 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5888 = load i32, ptr %5887, align 4, !tbaa !5
  %5889 = call ptr @s2n_strerror(i32 noundef %5888, ptr noundef @.str.4)
  %5890 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5891 = load i32, ptr %5890, align 4, !tbaa !5
  %5892 = call ptr @s2n_strerror_debug(i32 noundef %5891, ptr noundef @.str.4)
  %5893 = call ptr @__errno_location() #10
  %5894 = load i32, ptr %5893, align 4, !tbaa !5
  %5895 = call ptr @strerror(i32 noundef %5894) #9
  %5896 = call ptr @__errno_location() #10
  %5897 = load i32, ptr %5896, align 4, !tbaa !5
  %5898 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5885, ptr noundef @.str.5, i32 noundef %5886, ptr noundef @.str.64, ptr noundef @.str.1, i32 noundef 340, ptr noundef %5889, ptr noundef %5892, ptr noundef %5895, i32 noundef %5897) #9
  br label %5899

5899:                                             ; preds = %5882, %5865
  call void @llvm.lifetime.end.p0(i64 4, ptr %121) #9
  br label %5900

5900:                                             ; preds = %5899
  br label %5901

5901:                                             ; preds = %5900
  call void @exit(i32 noundef 1) #11
  unreachable

5902:                                             ; No predecessors!
  br label %5903

5903:                                             ; preds = %5902
  br label %5904

5904:                                             ; preds = %5903, %5846
  br label %5905

5905:                                             ; preds = %5904
  br label %5906

5906:                                             ; preds = %5905
  br label %5907

5907:                                             ; preds = %5906
  %5908 = load i32, ptr @test_count, align 4, !tbaa !5
  %5909 = add nsw i32 %5908, 1
  store i32 %5909, ptr @test_count, align 4, !tbaa !5
  %5910 = load i32, ptr %120, align 4, !tbaa !5
  %5911 = icmp eq i32 %5910, -1
  br i1 %5911, label %5965, label %5912

5912:                                             ; preds = %5907
  br label %5913

5913:                                             ; preds = %5912
  br label %5914

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

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

5926:                                             ; preds = %5921
  %5927 = load i32, ptr %122, align 4, !tbaa !5
  %5928 = call ptr @__errno_location() #10
  store i32 %5927, ptr %5928, align 4, !tbaa !5
  %5929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5930 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %5932, ptr noundef @.str.4)
  %5934 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5935 = load i32, ptr %5934, align 4, !tbaa !5
  %5936 = call ptr @s2n_strerror_debug(i32 noundef %5935, ptr noundef @.str.4)
  %5937 = call ptr @__errno_location() #10
  %5938 = load i32, ptr %5937, align 4, !tbaa !5
  %5939 = call ptr @strerror(i32 noundef %5938) #9
  %5940 = call ptr @__errno_location() #10
  %5941 = load i32, ptr %5940, align 4, !tbaa !5
  %5942 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5929, ptr noundef @.str.2, i32 noundef %5930, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 340, ptr noundef %5933, ptr noundef %5936, ptr noundef %5939, i32 noundef %5941) #9
  br label %5960

5943:                                             ; preds = %5921, %5914
  %5944 = load i32, ptr %122, align 4, !tbaa !5
  %5945 = call ptr @__errno_location() #10
  store i32 %5944, ptr %5945, align 4, !tbaa !5
  %5946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5947 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %5949, ptr noundef @.str.4)
  %5951 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5952 = load i32, ptr %5951, align 4, !tbaa !5
  %5953 = call ptr @s2n_strerror_debug(i32 noundef %5952, ptr noundef @.str.4)
  %5954 = call ptr @__errno_location() #10
  %5955 = load i32, ptr %5954, align 4, !tbaa !5
  %5956 = call ptr @strerror(i32 noundef %5955) #9
  %5957 = call ptr @__errno_location() #10
  %5958 = load i32, ptr %5957, align 4, !tbaa !5
  %5959 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5946, ptr noundef @.str.5, i32 noundef %5947, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 340, ptr noundef %5950, ptr noundef %5953, ptr noundef %5956, i32 noundef %5958) #9
  br label %5960

5960:                                             ; preds = %5943, %5926
  call void @llvm.lifetime.end.p0(i64 4, ptr %122) #9
  br label %5961

5961:                                             ; preds = %5960
  br label %5962

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

5963:                                             ; No predecessors!
  br label %5964

5964:                                             ; preds = %5963
  br label %5965

5965:                                             ; preds = %5964, %5907
  br label %5966

5966:                                             ; preds = %5965
  br label %5967

5967:                                             ; preds = %5966
  call void @llvm.lifetime.end.p0(i64 4, ptr %120) #9
  br label %5968

5968:                                             ; preds = %5967
  br label %5969

5969:                                             ; preds = %5968
  br label %5970

5970:                                             ; preds = %5969
  br label %5971

5971:                                             ; preds = %5970
  br label %5972

5972:                                             ; preds = %5971
  br label %5973

5973:                                             ; preds = %5972
  call void @llvm.lifetime.start.p0(i64 4, ptr %123) #9
  br label %5974

5974:                                             ; preds = %5973
  %5975 = load i32, ptr @test_count, align 4, !tbaa !5
  %5976 = add nsw i32 %5975, 1
  store i32 %5976, ptr @test_count, align 4, !tbaa !5
  %5977 = call i32 @s2n_mul_overflow(i32 noundef 65535, i32 noundef 1, ptr noundef %123)
  %5978 = icmp eq i32 %5977, -1
  br i1 %5978, label %5979, label %6032

5979:                                             ; preds = %5974
  br label %5980

5980:                                             ; preds = %5979
  br label %5981

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

5988:                                             ; preds = %5981
  %5989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5990 = call i32 @fileno(ptr noundef %5989) #9
  %5991 = call i32 @isatty(i32 noundef %5990) #9
  %5992 = icmp ne i32 %5991, 0
  br i1 %5992, label %5993, label %6010

5993:                                             ; preds = %5988
  %5994 = load i32, ptr %124, align 4, !tbaa !5
  %5995 = call ptr @__errno_location() #10
  store i32 %5994, ptr %5995, align 4, !tbaa !5
  %5996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5997 = load i32, ptr @test_count, align 4, !tbaa !5
  %5998 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5999 = load i32, ptr %5998, align 4, !tbaa !5
  %6000 = call ptr @s2n_strerror(i32 noundef %5999, ptr noundef @.str.4)
  %6001 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6002 = load i32, ptr %6001, align 4, !tbaa !5
  %6003 = call ptr @s2n_strerror_debug(i32 noundef %6002, ptr noundef @.str.4)
  %6004 = call ptr @__errno_location() #10
  %6005 = load i32, ptr %6004, align 4, !tbaa !5
  %6006 = call ptr @strerror(i32 noundef %6005) #9
  %6007 = call ptr @__errno_location() #10
  %6008 = load i32, ptr %6007, align 4, !tbaa !5
  %6009 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5996, ptr noundef @.str.2, i32 noundef %5997, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 341, ptr noundef %6000, ptr noundef %6003, ptr noundef %6006, i32 noundef %6008) #9
  br label %6027

6010:                                             ; preds = %5988, %5981
  %6011 = load i32, ptr %124, align 4, !tbaa !5
  %6012 = call ptr @__errno_location() #10
  store i32 %6011, ptr %6012, align 4, !tbaa !5
  %6013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6014 = load i32, ptr @test_count, align 4, !tbaa !5
  %6015 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6016 = load i32, ptr %6015, align 4, !tbaa !5
  %6017 = call ptr @s2n_strerror(i32 noundef %6016, ptr noundef @.str.4)
  %6018 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6019 = load i32, ptr %6018, align 4, !tbaa !5
  %6020 = call ptr @s2n_strerror_debug(i32 noundef %6019, ptr noundef @.str.4)
  %6021 = call ptr @__errno_location() #10
  %6022 = load i32, ptr %6021, align 4, !tbaa !5
  %6023 = call ptr @strerror(i32 noundef %6022) #9
  %6024 = call ptr @__errno_location() #10
  %6025 = load i32, ptr %6024, align 4, !tbaa !5
  %6026 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6013, ptr noundef @.str.5, i32 noundef %6014, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 341, ptr noundef %6017, ptr noundef %6020, ptr noundef %6023, i32 noundef %6025) #9
  br label %6027

6027:                                             ; preds = %6010, %5993
  call void @llvm.lifetime.end.p0(i64 4, ptr %124) #9
  br label %6028

6028:                                             ; preds = %6027
  br label %6029

6029:                                             ; preds = %6028
  call void @exit(i32 noundef 1) #11
  unreachable

6030:                                             ; No predecessors!
  br label %6031

6031:                                             ; preds = %6030
  br label %6032

6032:                                             ; preds = %6031, %5974
  br label %6033

6033:                                             ; preds = %6032
  br label %6034

6034:                                             ; preds = %6033
  br label %6035

6035:                                             ; preds = %6034
  %6036 = load i32, ptr @test_count, align 4, !tbaa !5
  %6037 = add nsw i32 %6036, 1
  store i32 %6037, ptr @test_count, align 4, !tbaa !5
  %6038 = load i32, ptr %123, align 4, !tbaa !5
  %6039 = icmp eq i32 %6038, 65535
  br i1 %6039, label %6093, label %6040

6040:                                             ; preds = %6035
  br label %6041

6041:                                             ; preds = %6040
  br label %6042

6042:                                             ; preds = %6041
  call void @llvm.lifetime.start.p0(i64 4, ptr %125) #9
  %6043 = call ptr @__errno_location() #10
  %6044 = load i32, ptr %6043, align 4, !tbaa !5
  store i32 %6044, ptr %125, align 4, !tbaa !5
  %6045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6046 = call i32 @s2n_print_stacktrace(ptr noundef %6045)
  %6047 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6048 = trunc i8 %6047 to i1
  br i1 %6048, label %6049, label %6071

6049:                                             ; preds = %6042
  %6050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6051 = call i32 @fileno(ptr noundef %6050) #9
  %6052 = call i32 @isatty(i32 noundef %6051) #9
  %6053 = icmp ne i32 %6052, 0
  br i1 %6053, label %6054, label %6071

6054:                                             ; preds = %6049
  %6055 = load i32, ptr %125, align 4, !tbaa !5
  %6056 = call ptr @__errno_location() #10
  store i32 %6055, ptr %6056, align 4, !tbaa !5
  %6057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6058 = load i32, ptr @test_count, align 4, !tbaa !5
  %6059 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6060 = load i32, ptr %6059, align 4, !tbaa !5
  %6061 = call ptr @s2n_strerror(i32 noundef %6060, ptr noundef @.str.4)
  %6062 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6063 = load i32, ptr %6062, align 4, !tbaa !5
  %6064 = call ptr @s2n_strerror_debug(i32 noundef %6063, ptr noundef @.str.4)
  %6065 = call ptr @__errno_location() #10
  %6066 = load i32, ptr %6065, align 4, !tbaa !5
  %6067 = call ptr @strerror(i32 noundef %6066) #9
  %6068 = call ptr @__errno_location() #10
  %6069 = load i32, ptr %6068, align 4, !tbaa !5
  %6070 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6057, ptr noundef @.str.2, i32 noundef %6058, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 341, ptr noundef %6061, ptr noundef %6064, ptr noundef %6067, i32 noundef %6069) #9
  br label %6088

6071:                                             ; preds = %6049, %6042
  %6072 = load i32, ptr %125, align 4, !tbaa !5
  %6073 = call ptr @__errno_location() #10
  store i32 %6072, ptr %6073, align 4, !tbaa !5
  %6074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6075 = load i32, ptr @test_count, align 4, !tbaa !5
  %6076 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6077 = load i32, ptr %6076, align 4, !tbaa !5
  %6078 = call ptr @s2n_strerror(i32 noundef %6077, ptr noundef @.str.4)
  %6079 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6080 = load i32, ptr %6079, align 4, !tbaa !5
  %6081 = call ptr @s2n_strerror_debug(i32 noundef %6080, ptr noundef @.str.4)
  %6082 = call ptr @__errno_location() #10
  %6083 = load i32, ptr %6082, align 4, !tbaa !5
  %6084 = call ptr @strerror(i32 noundef %6083) #9
  %6085 = call ptr @__errno_location() #10
  %6086 = load i32, ptr %6085, align 4, !tbaa !5
  %6087 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6074, ptr noundef @.str.5, i32 noundef %6075, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 341, ptr noundef %6078, ptr noundef %6081, ptr noundef %6084, i32 noundef %6086) #9
  br label %6088

6088:                                             ; preds = %6071, %6054
  call void @llvm.lifetime.end.p0(i64 4, ptr %125) #9
  br label %6089

6089:                                             ; preds = %6088
  br label %6090

6090:                                             ; preds = %6089
  call void @exit(i32 noundef 1) #11
  unreachable

6091:                                             ; No predecessors!
  br label %6092

6092:                                             ; preds = %6091
  br label %6093

6093:                                             ; preds = %6092, %6035
  br label %6094

6094:                                             ; preds = %6093
  br label %6095

6095:                                             ; preds = %6094
  call void @llvm.lifetime.end.p0(i64 4, ptr %123) #9
  br label %6096

6096:                                             ; preds = %6095
  br label %6097

6097:                                             ; preds = %6096
  br label %6098

6098:                                             ; preds = %6097
  call void @llvm.lifetime.start.p0(i64 4, ptr %126) #9
  br label %6099

6099:                                             ; preds = %6098
  %6100 = load i32, ptr @test_count, align 4, !tbaa !5
  %6101 = add nsw i32 %6100, 1
  store i32 %6101, ptr @test_count, align 4, !tbaa !5
  %6102 = call i32 @s2n_mul_overflow(i32 noundef 1, i32 noundef 65535, ptr noundef %126)
  %6103 = icmp eq i32 %6102, -1
  br i1 %6103, label %6104, label %6157

6104:                                             ; preds = %6099
  br label %6105

6105:                                             ; preds = %6104
  br label %6106

6106:                                             ; preds = %6105
  call void @llvm.lifetime.start.p0(i64 4, ptr %127) #9
  %6107 = call ptr @__errno_location() #10
  %6108 = load i32, ptr %6107, align 4, !tbaa !5
  store i32 %6108, ptr %127, align 4, !tbaa !5
  %6109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6110 = call i32 @s2n_print_stacktrace(ptr noundef %6109)
  %6111 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6112 = trunc i8 %6111 to i1
  br i1 %6112, label %6113, label %6135

6113:                                             ; preds = %6106
  %6114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6115 = call i32 @fileno(ptr noundef %6114) #9
  %6116 = call i32 @isatty(i32 noundef %6115) #9
  %6117 = icmp ne i32 %6116, 0
  br i1 %6117, label %6118, label %6135

6118:                                             ; preds = %6113
  %6119 = load i32, ptr %127, align 4, !tbaa !5
  %6120 = call ptr @__errno_location() #10
  store i32 %6119, ptr %6120, align 4, !tbaa !5
  %6121 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6122 = load i32, ptr @test_count, align 4, !tbaa !5
  %6123 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6124 = load i32, ptr %6123, align 4, !tbaa !5
  %6125 = call ptr @s2n_strerror(i32 noundef %6124, ptr noundef @.str.4)
  %6126 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6127 = load i32, ptr %6126, align 4, !tbaa !5
  %6128 = call ptr @s2n_strerror_debug(i32 noundef %6127, ptr noundef @.str.4)
  %6129 = call ptr @__errno_location() #10
  %6130 = load i32, ptr %6129, align 4, !tbaa !5
  %6131 = call ptr @strerror(i32 noundef %6130) #9
  %6132 = call ptr @__errno_location() #10
  %6133 = load i32, ptr %6132, align 4, !tbaa !5
  %6134 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6121, ptr noundef @.str.2, i32 noundef %6122, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 341, ptr noundef %6125, ptr noundef %6128, ptr noundef %6131, i32 noundef %6133) #9
  br label %6152

6135:                                             ; preds = %6113, %6106
  %6136 = load i32, ptr %127, align 4, !tbaa !5
  %6137 = call ptr @__errno_location() #10
  store i32 %6136, ptr %6137, align 4, !tbaa !5
  %6138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6139 = load i32, ptr @test_count, align 4, !tbaa !5
  %6140 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6141 = load i32, ptr %6140, align 4, !tbaa !5
  %6142 = call ptr @s2n_strerror(i32 noundef %6141, ptr noundef @.str.4)
  %6143 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6144 = load i32, ptr %6143, align 4, !tbaa !5
  %6145 = call ptr @s2n_strerror_debug(i32 noundef %6144, ptr noundef @.str.4)
  %6146 = call ptr @__errno_location() #10
  %6147 = load i32, ptr %6146, align 4, !tbaa !5
  %6148 = call ptr @strerror(i32 noundef %6147) #9
  %6149 = call ptr @__errno_location() #10
  %6150 = load i32, ptr %6149, align 4, !tbaa !5
  %6151 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6138, ptr noundef @.str.5, i32 noundef %6139, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 341, ptr noundef %6142, ptr noundef %6145, ptr noundef %6148, i32 noundef %6150) #9
  br label %6152

6152:                                             ; preds = %6135, %6118
  call void @llvm.lifetime.end.p0(i64 4, ptr %127) #9
  br label %6153

6153:                                             ; preds = %6152
  br label %6154

6154:                                             ; preds = %6153
  call void @exit(i32 noundef 1) #11
  unreachable

6155:                                             ; No predecessors!
  br label %6156

6156:                                             ; preds = %6155
  br label %6157

6157:                                             ; preds = %6156, %6099
  br label %6158

6158:                                             ; preds = %6157
  br label %6159

6159:                                             ; preds = %6158
  br label %6160

6160:                                             ; preds = %6159
  %6161 = load i32, ptr @test_count, align 4, !tbaa !5
  %6162 = add nsw i32 %6161, 1
  store i32 %6162, ptr @test_count, align 4, !tbaa !5
  %6163 = load i32, ptr %126, align 4, !tbaa !5
  %6164 = icmp eq i32 %6163, 65535
  br i1 %6164, label %6218, label %6165

6165:                                             ; preds = %6160
  br label %6166

6166:                                             ; preds = %6165
  br label %6167

6167:                                             ; preds = %6166
  call void @llvm.lifetime.start.p0(i64 4, ptr %128) #9
  %6168 = call ptr @__errno_location() #10
  %6169 = load i32, ptr %6168, align 4, !tbaa !5
  store i32 %6169, ptr %128, align 4, !tbaa !5
  %6170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6171 = call i32 @s2n_print_stacktrace(ptr noundef %6170)
  %6172 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6173 = trunc i8 %6172 to i1
  br i1 %6173, label %6174, label %6196

6174:                                             ; preds = %6167
  %6175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6176 = call i32 @fileno(ptr noundef %6175) #9
  %6177 = call i32 @isatty(i32 noundef %6176) #9
  %6178 = icmp ne i32 %6177, 0
  br i1 %6178, label %6179, label %6196

6179:                                             ; preds = %6174
  %6180 = load i32, ptr %128, align 4, !tbaa !5
  %6181 = call ptr @__errno_location() #10
  store i32 %6180, ptr %6181, align 4, !tbaa !5
  %6182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6183 = load i32, ptr @test_count, align 4, !tbaa !5
  %6184 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6185 = load i32, ptr %6184, align 4, !tbaa !5
  %6186 = call ptr @s2n_strerror(i32 noundef %6185, ptr noundef @.str.4)
  %6187 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6188 = load i32, ptr %6187, align 4, !tbaa !5
  %6189 = call ptr @s2n_strerror_debug(i32 noundef %6188, ptr noundef @.str.4)
  %6190 = call ptr @__errno_location() #10
  %6191 = load i32, ptr %6190, align 4, !tbaa !5
  %6192 = call ptr @strerror(i32 noundef %6191) #9
  %6193 = call ptr @__errno_location() #10
  %6194 = load i32, ptr %6193, align 4, !tbaa !5
  %6195 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6182, ptr noundef @.str.2, i32 noundef %6183, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 341, ptr noundef %6186, ptr noundef %6189, ptr noundef %6192, i32 noundef %6194) #9
  br label %6213

6196:                                             ; preds = %6174, %6167
  %6197 = load i32, ptr %128, align 4, !tbaa !5
  %6198 = call ptr @__errno_location() #10
  store i32 %6197, ptr %6198, align 4, !tbaa !5
  %6199 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6200 = load i32, ptr @test_count, align 4, !tbaa !5
  %6201 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6202 = load i32, ptr %6201, align 4, !tbaa !5
  %6203 = call ptr @s2n_strerror(i32 noundef %6202, ptr noundef @.str.4)
  %6204 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6205 = load i32, ptr %6204, align 4, !tbaa !5
  %6206 = call ptr @s2n_strerror_debug(i32 noundef %6205, ptr noundef @.str.4)
  %6207 = call ptr @__errno_location() #10
  %6208 = load i32, ptr %6207, align 4, !tbaa !5
  %6209 = call ptr @strerror(i32 noundef %6208) #9
  %6210 = call ptr @__errno_location() #10
  %6211 = load i32, ptr %6210, align 4, !tbaa !5
  %6212 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6199, ptr noundef @.str.5, i32 noundef %6200, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 341, ptr noundef %6203, ptr noundef %6206, ptr noundef %6209, i32 noundef %6211) #9
  br label %6213

6213:                                             ; preds = %6196, %6179
  call void @llvm.lifetime.end.p0(i64 4, ptr %128) #9
  br label %6214

6214:                                             ; preds = %6213
  br label %6215

6215:                                             ; preds = %6214
  call void @exit(i32 noundef 1) #11
  unreachable

6216:                                             ; No predecessors!
  br label %6217

6217:                                             ; preds = %6216
  br label %6218

6218:                                             ; preds = %6217, %6160
  br label %6219

6219:                                             ; preds = %6218
  br label %6220

6220:                                             ; preds = %6219
  call void @llvm.lifetime.end.p0(i64 4, ptr %126) #9
  br label %6221

6221:                                             ; preds = %6220
  br label %6222

6222:                                             ; preds = %6221
  br label %6223

6223:                                             ; preds = %6222
  br label %6224

6224:                                             ; preds = %6223
  br label %6225

6225:                                             ; preds = %6224
  br label %6226

6226:                                             ; preds = %6225
  call void @llvm.lifetime.start.p0(i64 4, ptr %129) #9
  br label %6227

6227:                                             ; preds = %6226
  %6228 = load i32, ptr @test_count, align 4, !tbaa !5
  %6229 = add nsw i32 %6228, 1
  store i32 %6229, ptr @test_count, align 4, !tbaa !5
  %6230 = call i32 @s2n_mul_overflow(i32 noundef 65535, i32 noundef 65535, ptr noundef %129)
  %6231 = icmp eq i32 %6230, -1
  br i1 %6231, label %6232, label %6285

6232:                                             ; preds = %6227
  br label %6233

6233:                                             ; preds = %6232
  br label %6234

6234:                                             ; preds = %6233
  call void @llvm.lifetime.start.p0(i64 4, ptr %130) #9
  %6235 = call ptr @__errno_location() #10
  %6236 = load i32, ptr %6235, align 4, !tbaa !5
  store i32 %6236, ptr %130, align 4, !tbaa !5
  %6237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6238 = call i32 @s2n_print_stacktrace(ptr noundef %6237)
  %6239 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6240 = trunc i8 %6239 to i1
  br i1 %6240, label %6241, label %6263

6241:                                             ; preds = %6234
  %6242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6243 = call i32 @fileno(ptr noundef %6242) #9
  %6244 = call i32 @isatty(i32 noundef %6243) #9
  %6245 = icmp ne i32 %6244, 0
  br i1 %6245, label %6246, label %6263

6246:                                             ; preds = %6241
  %6247 = load i32, ptr %130, align 4, !tbaa !5
  %6248 = call ptr @__errno_location() #10
  store i32 %6247, ptr %6248, align 4, !tbaa !5
  %6249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6250 = load i32, ptr @test_count, align 4, !tbaa !5
  %6251 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6252 = load i32, ptr %6251, align 4, !tbaa !5
  %6253 = call ptr @s2n_strerror(i32 noundef %6252, ptr noundef @.str.4)
  %6254 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6255 = load i32, ptr %6254, align 4, !tbaa !5
  %6256 = call ptr @s2n_strerror_debug(i32 noundef %6255, ptr noundef @.str.4)
  %6257 = call ptr @__errno_location() #10
  %6258 = load i32, ptr %6257, align 4, !tbaa !5
  %6259 = call ptr @strerror(i32 noundef %6258) #9
  %6260 = call ptr @__errno_location() #10
  %6261 = load i32, ptr %6260, align 4, !tbaa !5
  %6262 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6249, ptr noundef @.str.2, i32 noundef %6250, ptr noundef @.str.68, ptr noundef @.str.1, i32 noundef 342, ptr noundef %6253, ptr noundef %6256, ptr noundef %6259, i32 noundef %6261) #9
  br label %6280

6263:                                             ; preds = %6241, %6234
  %6264 = load i32, ptr %130, align 4, !tbaa !5
  %6265 = call ptr @__errno_location() #10
  store i32 %6264, ptr %6265, align 4, !tbaa !5
  %6266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6267 = load i32, ptr @test_count, align 4, !tbaa !5
  %6268 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6269 = load i32, ptr %6268, align 4, !tbaa !5
  %6270 = call ptr @s2n_strerror(i32 noundef %6269, ptr noundef @.str.4)
  %6271 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6272 = load i32, ptr %6271, align 4, !tbaa !5
  %6273 = call ptr @s2n_strerror_debug(i32 noundef %6272, ptr noundef @.str.4)
  %6274 = call ptr @__errno_location() #10
  %6275 = load i32, ptr %6274, align 4, !tbaa !5
  %6276 = call ptr @strerror(i32 noundef %6275) #9
  %6277 = call ptr @__errno_location() #10
  %6278 = load i32, ptr %6277, align 4, !tbaa !5
  %6279 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6266, ptr noundef @.str.5, i32 noundef %6267, ptr noundef @.str.68, ptr noundef @.str.1, i32 noundef 342, ptr noundef %6270, ptr noundef %6273, ptr noundef %6276, i32 noundef %6278) #9
  br label %6280

6280:                                             ; preds = %6263, %6246
  call void @llvm.lifetime.end.p0(i64 4, ptr %130) #9
  br label %6281

6281:                                             ; preds = %6280
  br label %6282

6282:                                             ; preds = %6281
  call void @exit(i32 noundef 1) #11
  unreachable

6283:                                             ; No predecessors!
  br label %6284

6284:                                             ; preds = %6283
  br label %6285

6285:                                             ; preds = %6284, %6227
  br label %6286

6286:                                             ; preds = %6285
  br label %6287

6287:                                             ; preds = %6286
  br label %6288

6288:                                             ; preds = %6287
  %6289 = load i32, ptr @test_count, align 4, !tbaa !5
  %6290 = add nsw i32 %6289, 1
  store i32 %6290, ptr @test_count, align 4, !tbaa !5
  %6291 = load i32, ptr %129, align 4, !tbaa !5
  %6292 = icmp eq i32 %6291, -131071
  br i1 %6292, label %6346, label %6293

6293:                                             ; preds = %6288
  br label %6294

6294:                                             ; preds = %6293
  br label %6295

6295:                                             ; preds = %6294
  call void @llvm.lifetime.start.p0(i64 4, ptr %131) #9
  %6296 = call ptr @__errno_location() #10
  %6297 = load i32, ptr %6296, align 4, !tbaa !5
  store i32 %6297, ptr %131, align 4, !tbaa !5
  %6298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6299 = call i32 @s2n_print_stacktrace(ptr noundef %6298)
  %6300 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6301 = trunc i8 %6300 to i1
  br i1 %6301, label %6302, label %6324

6302:                                             ; preds = %6295
  %6303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6304 = call i32 @fileno(ptr noundef %6303) #9
  %6305 = call i32 @isatty(i32 noundef %6304) #9
  %6306 = icmp ne i32 %6305, 0
  br i1 %6306, label %6307, label %6324

6307:                                             ; preds = %6302
  %6308 = load i32, ptr %131, align 4, !tbaa !5
  %6309 = call ptr @__errno_location() #10
  store i32 %6308, ptr %6309, align 4, !tbaa !5
  %6310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6311 = load i32, ptr @test_count, align 4, !tbaa !5
  %6312 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6313 = load i32, ptr %6312, align 4, !tbaa !5
  %6314 = call ptr @s2n_strerror(i32 noundef %6313, ptr noundef @.str.4)
  %6315 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6316 = load i32, ptr %6315, align 4, !tbaa !5
  %6317 = call ptr @s2n_strerror_debug(i32 noundef %6316, ptr noundef @.str.4)
  %6318 = call ptr @__errno_location() #10
  %6319 = load i32, ptr %6318, align 4, !tbaa !5
  %6320 = call ptr @strerror(i32 noundef %6319) #9
  %6321 = call ptr @__errno_location() #10
  %6322 = load i32, ptr %6321, align 4, !tbaa !5
  %6323 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6310, ptr noundef @.str.2, i32 noundef %6311, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 342, ptr noundef %6314, ptr noundef %6317, ptr noundef %6320, i32 noundef %6322) #9
  br label %6341

6324:                                             ; preds = %6302, %6295
  %6325 = load i32, ptr %131, align 4, !tbaa !5
  %6326 = call ptr @__errno_location() #10
  store i32 %6325, ptr %6326, align 4, !tbaa !5
  %6327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6328 = load i32, ptr @test_count, align 4, !tbaa !5
  %6329 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6330 = load i32, ptr %6329, align 4, !tbaa !5
  %6331 = call ptr @s2n_strerror(i32 noundef %6330, ptr noundef @.str.4)
  %6332 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6333 = load i32, ptr %6332, align 4, !tbaa !5
  %6334 = call ptr @s2n_strerror_debug(i32 noundef %6333, ptr noundef @.str.4)
  %6335 = call ptr @__errno_location() #10
  %6336 = load i32, ptr %6335, align 4, !tbaa !5
  %6337 = call ptr @strerror(i32 noundef %6336) #9
  %6338 = call ptr @__errno_location() #10
  %6339 = load i32, ptr %6338, align 4, !tbaa !5
  %6340 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6327, ptr noundef @.str.5, i32 noundef %6328, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 342, ptr noundef %6331, ptr noundef %6334, ptr noundef %6337, i32 noundef %6339) #9
  br label %6341

6341:                                             ; preds = %6324, %6307
  call void @llvm.lifetime.end.p0(i64 4, ptr %131) #9
  br label %6342

6342:                                             ; preds = %6341
  br label %6343

6343:                                             ; preds = %6342
  call void @exit(i32 noundef 1) #11
  unreachable

6344:                                             ; No predecessors!
  br label %6345

6345:                                             ; preds = %6344
  br label %6346

6346:                                             ; preds = %6345, %6288
  br label %6347

6347:                                             ; preds = %6346
  br label %6348

6348:                                             ; preds = %6347
  call void @llvm.lifetime.end.p0(i64 4, ptr %129) #9
  br label %6349

6349:                                             ; preds = %6348
  br label %6350

6350:                                             ; preds = %6349
  br label %6351

6351:                                             ; preds = %6350
  call void @llvm.lifetime.start.p0(i64 4, ptr %132) #9
  br label %6352

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

6357:                                             ; preds = %6352
  br label %6358

6358:                                             ; preds = %6357
  br label %6359

6359:                                             ; preds = %6358
  call void @llvm.lifetime.start.p0(i64 4, ptr %133) #9
  %6360 = call ptr @__errno_location() #10
  %6361 = load i32, ptr %6360, align 4, !tbaa !5
  store i32 %6361, ptr %133, 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) #9
  %6369 = call i32 @isatty(i32 noundef %6368) #9
  %6370 = icmp ne i32 %6369, 0
  br i1 %6370, label %6371, label %6388

6371:                                             ; preds = %6366
  %6372 = load i32, ptr %133, align 4, !tbaa !5
  %6373 = call ptr @__errno_location() #10
  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() #10
  %6383 = load i32, ptr %6382, align 4, !tbaa !5
  %6384 = call ptr @strerror(i32 noundef %6383) #9
  %6385 = call ptr @__errno_location() #10
  %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.68, ptr noundef @.str.1, i32 noundef 342, ptr noundef %6378, ptr noundef %6381, ptr noundef %6384, i32 noundef %6386) #9
  br label %6405

6388:                                             ; preds = %6366, %6359
  %6389 = load i32, ptr %133, align 4, !tbaa !5
  %6390 = call ptr @__errno_location() #10
  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() #10
  %6400 = load i32, ptr %6399, align 4, !tbaa !5
  %6401 = call ptr @strerror(i32 noundef %6400) #9
  %6402 = call ptr @__errno_location() #10
  %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.68, ptr noundef @.str.1, i32 noundef 342, ptr noundef %6395, ptr noundef %6398, ptr noundef %6401, i32 noundef %6403) #9
  br label %6405

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

6406:                                             ; preds = %6405
  br label %6407

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

6408:                                             ; No predecessors!
  br label %6409

6409:                                             ; preds = %6408
  br label %6410

6410:                                             ; preds = %6409, %6352
  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 %132, align 4, !tbaa !5
  %6417 = icmp eq i32 %6416, -131071
  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 %134) #9
  %6421 = call ptr @__errno_location() #10
  %6422 = load i32, ptr %6421, align 4, !tbaa !5
  store i32 %6422, ptr %134, 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) #9
  %6430 = call i32 @isatty(i32 noundef %6429) #9
  %6431 = icmp ne i32 %6430, 0
  br i1 %6431, label %6432, label %6449

6432:                                             ; preds = %6427
  %6433 = load i32, ptr %134, align 4, !tbaa !5
  %6434 = call ptr @__errno_location() #10
  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() #10
  %6444 = load i32, ptr %6443, align 4, !tbaa !5
  %6445 = call ptr @strerror(i32 noundef %6444) #9
  %6446 = call ptr @__errno_location() #10
  %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.69, ptr noundef @.str.1, i32 noundef 342, ptr noundef %6439, ptr noundef %6442, ptr noundef %6445, i32 noundef %6447) #9
  br label %6466

6449:                                             ; preds = %6427, %6420
  %6450 = load i32, ptr %134, align 4, !tbaa !5
  %6451 = call ptr @__errno_location() #10
  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() #10
  %6461 = load i32, ptr %6460, align 4, !tbaa !5
  %6462 = call ptr @strerror(i32 noundef %6461) #9
  %6463 = call ptr @__errno_location() #10
  %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.69, ptr noundef @.str.1, i32 noundef 342, ptr noundef %6456, ptr noundef %6459, ptr noundef %6462, i32 noundef %6464) #9
  br label %6466

6466:                                             ; preds = %6449, %6432
  call void @llvm.lifetime.end.p0(i64 4, ptr %134) #9
  br label %6467

6467:                                             ; preds = %6466
  br label %6468

6468:                                             ; preds = %6467
  call void @exit(i32 noundef 1) #11
  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
  call void @llvm.lifetime.end.p0(i64 4, ptr %132) #9
  br label %6474

6474:                                             ; preds = %6473
  br label %6475

6475:                                             ; preds = %6474
  br label %6476

6476:                                             ; preds = %6475
  br label %6477

6477:                                             ; preds = %6476
  br label %6478

6478:                                             ; preds = %6477
  br label %6479

6479:                                             ; preds = %6478
  call void @llvm.lifetime.start.p0(i64 4, ptr %135) #9
  br label %6480

6480:                                             ; preds = %6479
  %6481 = load i32, ptr @test_count, align 4, !tbaa !5
  %6482 = add nsw i32 %6481, 1
  store i32 %6482, ptr @test_count, align 4, !tbaa !5
  %6483 = call i32 @s2n_mul_overflow(i32 noundef 65536, i32 noundef 65535, ptr noundef %135)
  %6484 = icmp eq i32 %6483, -1
  br i1 %6484, label %6485, label %6538

6485:                                             ; preds = %6480
  br label %6486

6486:                                             ; preds = %6485
  br label %6487

6487:                                             ; preds = %6486
  call void @llvm.lifetime.start.p0(i64 4, ptr %136) #9
  %6488 = call ptr @__errno_location() #10
  %6489 = load i32, ptr %6488, align 4, !tbaa !5
  store i32 %6489, ptr %136, align 4, !tbaa !5
  %6490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6491 = call i32 @s2n_print_stacktrace(ptr noundef %6490)
  %6492 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6493 = trunc i8 %6492 to i1
  br i1 %6493, label %6494, label %6516

6494:                                             ; preds = %6487
  %6495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6496 = call i32 @fileno(ptr noundef %6495) #9
  %6497 = call i32 @isatty(i32 noundef %6496) #9
  %6498 = icmp ne i32 %6497, 0
  br i1 %6498, label %6499, label %6516

6499:                                             ; preds = %6494
  %6500 = load i32, ptr %136, align 4, !tbaa !5
  %6501 = call ptr @__errno_location() #10
  store i32 %6500, ptr %6501, align 4, !tbaa !5
  %6502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6503 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %6505, ptr noundef @.str.4)
  %6507 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6508 = load i32, ptr %6507, align 4, !tbaa !5
  %6509 = call ptr @s2n_strerror_debug(i32 noundef %6508, ptr noundef @.str.4)
  %6510 = call ptr @__errno_location() #10
  %6511 = load i32, ptr %6510, align 4, !tbaa !5
  %6512 = call ptr @strerror(i32 noundef %6511) #9
  %6513 = call ptr @__errno_location() #10
  %6514 = load i32, ptr %6513, align 4, !tbaa !5
  %6515 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6502, ptr noundef @.str.2, i32 noundef %6503, ptr noundef @.str.70, ptr noundef @.str.1, i32 noundef 343, ptr noundef %6506, ptr noundef %6509, ptr noundef %6512, i32 noundef %6514) #9
  br label %6533

6516:                                             ; preds = %6494, %6487
  %6517 = load i32, ptr %136, align 4, !tbaa !5
  %6518 = call ptr @__errno_location() #10
  store i32 %6517, ptr %6518, align 4, !tbaa !5
  %6519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6520 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %6522, ptr noundef @.str.4)
  %6524 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6525 = load i32, ptr %6524, align 4, !tbaa !5
  %6526 = call ptr @s2n_strerror_debug(i32 noundef %6525, ptr noundef @.str.4)
  %6527 = call ptr @__errno_location() #10
  %6528 = load i32, ptr %6527, align 4, !tbaa !5
  %6529 = call ptr @strerror(i32 noundef %6528) #9
  %6530 = call ptr @__errno_location() #10
  %6531 = load i32, ptr %6530, align 4, !tbaa !5
  %6532 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6519, ptr noundef @.str.5, i32 noundef %6520, ptr noundef @.str.70, ptr noundef @.str.1, i32 noundef 343, ptr noundef %6523, ptr noundef %6526, ptr noundef %6529, i32 noundef %6531) #9
  br label %6533

6533:                                             ; preds = %6516, %6499
  call void @llvm.lifetime.end.p0(i64 4, ptr %136) #9
  br label %6534

6534:                                             ; preds = %6533
  br label %6535

6535:                                             ; preds = %6534
  call void @exit(i32 noundef 1) #11
  unreachable

6536:                                             ; No predecessors!
  br label %6537

6537:                                             ; preds = %6536
  br label %6538

6538:                                             ; preds = %6537, %6480
  br label %6539

6539:                                             ; preds = %6538
  br label %6540

6540:                                             ; preds = %6539
  br label %6541

6541:                                             ; preds = %6540
  %6542 = load i32, ptr @test_count, align 4, !tbaa !5
  %6543 = add nsw i32 %6542, 1
  store i32 %6543, ptr @test_count, align 4, !tbaa !5
  %6544 = load i32, ptr %135, align 4, !tbaa !5
  %6545 = icmp eq i32 %6544, -65536
  br i1 %6545, label %6599, label %6546

6546:                                             ; preds = %6541
  br label %6547

6547:                                             ; preds = %6546
  br label %6548

6548:                                             ; preds = %6547
  call void @llvm.lifetime.start.p0(i64 4, ptr %137) #9
  %6549 = call ptr @__errno_location() #10
  %6550 = load i32, ptr %6549, align 4, !tbaa !5
  store i32 %6550, ptr %137, align 4, !tbaa !5
  %6551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6552 = call i32 @s2n_print_stacktrace(ptr noundef %6551)
  %6553 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6554 = trunc i8 %6553 to i1
  br i1 %6554, label %6555, label %6577

6555:                                             ; preds = %6548
  %6556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6557 = call i32 @fileno(ptr noundef %6556) #9
  %6558 = call i32 @isatty(i32 noundef %6557) #9
  %6559 = icmp ne i32 %6558, 0
  br i1 %6559, label %6560, label %6577

6560:                                             ; preds = %6555
  %6561 = load i32, ptr %137, align 4, !tbaa !5
  %6562 = call ptr @__errno_location() #10
  store i32 %6561, ptr %6562, align 4, !tbaa !5
  %6563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6564 = load i32, ptr @test_count, align 4, !tbaa !5
  %6565 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6566 = load i32, ptr %6565, align 4, !tbaa !5
  %6567 = call ptr @s2n_strerror(i32 noundef %6566, ptr noundef @.str.4)
  %6568 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6569 = load i32, ptr %6568, align 4, !tbaa !5
  %6570 = call ptr @s2n_strerror_debug(i32 noundef %6569, ptr noundef @.str.4)
  %6571 = call ptr @__errno_location() #10
  %6572 = load i32, ptr %6571, align 4, !tbaa !5
  %6573 = call ptr @strerror(i32 noundef %6572) #9
  %6574 = call ptr @__errno_location() #10
  %6575 = load i32, ptr %6574, align 4, !tbaa !5
  %6576 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6563, ptr noundef @.str.2, i32 noundef %6564, ptr noundef @.str.71, ptr noundef @.str.1, i32 noundef 343, ptr noundef %6567, ptr noundef %6570, ptr noundef %6573, i32 noundef %6575) #9
  br label %6594

6577:                                             ; preds = %6555, %6548
  %6578 = load i32, ptr %137, align 4, !tbaa !5
  %6579 = call ptr @__errno_location() #10
  store i32 %6578, ptr %6579, align 4, !tbaa !5
  %6580 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6581 = load i32, ptr @test_count, align 4, !tbaa !5
  %6582 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6583 = load i32, ptr %6582, align 4, !tbaa !5
  %6584 = call ptr @s2n_strerror(i32 noundef %6583, ptr noundef @.str.4)
  %6585 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6586 = load i32, ptr %6585, align 4, !tbaa !5
  %6587 = call ptr @s2n_strerror_debug(i32 noundef %6586, ptr noundef @.str.4)
  %6588 = call ptr @__errno_location() #10
  %6589 = load i32, ptr %6588, align 4, !tbaa !5
  %6590 = call ptr @strerror(i32 noundef %6589) #9
  %6591 = call ptr @__errno_location() #10
  %6592 = load i32, ptr %6591, align 4, !tbaa !5
  %6593 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6580, ptr noundef @.str.5, i32 noundef %6581, ptr noundef @.str.71, ptr noundef @.str.1, i32 noundef 343, ptr noundef %6584, ptr noundef %6587, ptr noundef %6590, i32 noundef %6592) #9
  br label %6594

6594:                                             ; preds = %6577, %6560
  call void @llvm.lifetime.end.p0(i64 4, ptr %137) #9
  br label %6595

6595:                                             ; preds = %6594
  br label %6596

6596:                                             ; preds = %6595
  call void @exit(i32 noundef 1) #11
  unreachable

6597:                                             ; No predecessors!
  br label %6598

6598:                                             ; preds = %6597
  br label %6599

6599:                                             ; preds = %6598, %6541
  br label %6600

6600:                                             ; preds = %6599
  br label %6601

6601:                                             ; preds = %6600
  call void @llvm.lifetime.end.p0(i64 4, ptr %135) #9
  br label %6602

6602:                                             ; preds = %6601
  br label %6603

6603:                                             ; preds = %6602
  br label %6604

6604:                                             ; preds = %6603
  call void @llvm.lifetime.start.p0(i64 4, ptr %138) #9
  br label %6605

6605:                                             ; preds = %6604
  %6606 = load i32, ptr @test_count, align 4, !tbaa !5
  %6607 = add nsw i32 %6606, 1
  store i32 %6607, ptr @test_count, align 4, !tbaa !5
  %6608 = call i32 @s2n_mul_overflow(i32 noundef 65535, i32 noundef 65536, ptr noundef %138)
  %6609 = icmp eq i32 %6608, -1
  br i1 %6609, label %6610, label %6663

6610:                                             ; preds = %6605
  br label %6611

6611:                                             ; preds = %6610
  br label %6612

6612:                                             ; preds = %6611
  call void @llvm.lifetime.start.p0(i64 4, ptr %139) #9
  %6613 = call ptr @__errno_location() #10
  %6614 = load i32, ptr %6613, align 4, !tbaa !5
  store i32 %6614, ptr %139, align 4, !tbaa !5
  %6615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6616 = call i32 @s2n_print_stacktrace(ptr noundef %6615)
  %6617 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6618 = trunc i8 %6617 to i1
  br i1 %6618, label %6619, label %6641

6619:                                             ; preds = %6612
  %6620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6621 = call i32 @fileno(ptr noundef %6620) #9
  %6622 = call i32 @isatty(i32 noundef %6621) #9
  %6623 = icmp ne i32 %6622, 0
  br i1 %6623, label %6624, label %6641

6624:                                             ; preds = %6619
  %6625 = load i32, ptr %139, align 4, !tbaa !5
  %6626 = call ptr @__errno_location() #10
  store i32 %6625, ptr %6626, align 4, !tbaa !5
  %6627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6628 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %6630, ptr noundef @.str.4)
  %6632 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6633 = load i32, ptr %6632, align 4, !tbaa !5
  %6634 = call ptr @s2n_strerror_debug(i32 noundef %6633, ptr noundef @.str.4)
  %6635 = call ptr @__errno_location() #10
  %6636 = load i32, ptr %6635, align 4, !tbaa !5
  %6637 = call ptr @strerror(i32 noundef %6636) #9
  %6638 = call ptr @__errno_location() #10
  %6639 = load i32, ptr %6638, align 4, !tbaa !5
  %6640 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6627, ptr noundef @.str.2, i32 noundef %6628, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 343, ptr noundef %6631, ptr noundef %6634, ptr noundef %6637, i32 noundef %6639) #9
  br label %6658

6641:                                             ; preds = %6619, %6612
  %6642 = load i32, ptr %139, align 4, !tbaa !5
  %6643 = call ptr @__errno_location() #10
  store i32 %6642, ptr %6643, align 4, !tbaa !5
  %6644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6645 = load i32, ptr @test_count, align 4, !tbaa !5
  %6646 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6647 = load i32, ptr %6646, align 4, !tbaa !5
  %6648 = call ptr @s2n_strerror(i32 noundef %6647, ptr noundef @.str.4)
  %6649 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6650 = load i32, ptr %6649, align 4, !tbaa !5
  %6651 = call ptr @s2n_strerror_debug(i32 noundef %6650, ptr noundef @.str.4)
  %6652 = call ptr @__errno_location() #10
  %6653 = load i32, ptr %6652, align 4, !tbaa !5
  %6654 = call ptr @strerror(i32 noundef %6653) #9
  %6655 = call ptr @__errno_location() #10
  %6656 = load i32, ptr %6655, align 4, !tbaa !5
  %6657 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6644, ptr noundef @.str.5, i32 noundef %6645, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 343, ptr noundef %6648, ptr noundef %6651, ptr noundef %6654, i32 noundef %6656) #9
  br label %6658

6658:                                             ; preds = %6641, %6624
  call void @llvm.lifetime.end.p0(i64 4, ptr %139) #9
  br label %6659

6659:                                             ; preds = %6658
  br label %6660

6660:                                             ; preds = %6659
  call void @exit(i32 noundef 1) #11
  unreachable

6661:                                             ; No predecessors!
  br label %6662

6662:                                             ; preds = %6661
  br label %6663

6663:                                             ; preds = %6662, %6605
  br label %6664

6664:                                             ; preds = %6663
  br label %6665

6665:                                             ; preds = %6664
  br label %6666

6666:                                             ; preds = %6665
  %6667 = load i32, ptr @test_count, align 4, !tbaa !5
  %6668 = add nsw i32 %6667, 1
  store i32 %6668, ptr @test_count, align 4, !tbaa !5
  %6669 = load i32, ptr %138, align 4, !tbaa !5
  %6670 = icmp eq i32 %6669, -65536
  br i1 %6670, label %6724, label %6671

6671:                                             ; preds = %6666
  br label %6672

6672:                                             ; preds = %6671
  br label %6673

6673:                                             ; preds = %6672
  call void @llvm.lifetime.start.p0(i64 4, ptr %140) #9
  %6674 = call ptr @__errno_location() #10
  %6675 = load i32, ptr %6674, align 4, !tbaa !5
  store i32 %6675, ptr %140, align 4, !tbaa !5
  %6676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6677 = call i32 @s2n_print_stacktrace(ptr noundef %6676)
  %6678 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6679 = trunc i8 %6678 to i1
  br i1 %6679, label %6680, label %6702

6680:                                             ; preds = %6673
  %6681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6682 = call i32 @fileno(ptr noundef %6681) #9
  %6683 = call i32 @isatty(i32 noundef %6682) #9
  %6684 = icmp ne i32 %6683, 0
  br i1 %6684, label %6685, label %6702

6685:                                             ; preds = %6680
  %6686 = load i32, ptr %140, align 4, !tbaa !5
  %6687 = call ptr @__errno_location() #10
  store i32 %6686, ptr %6687, align 4, !tbaa !5
  %6688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6689 = load i32, ptr @test_count, align 4, !tbaa !5
  %6690 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6691 = load i32, ptr %6690, align 4, !tbaa !5
  %6692 = call ptr @s2n_strerror(i32 noundef %6691, ptr noundef @.str.4)
  %6693 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6694 = load i32, ptr %6693, align 4, !tbaa !5
  %6695 = call ptr @s2n_strerror_debug(i32 noundef %6694, ptr noundef @.str.4)
  %6696 = call ptr @__errno_location() #10
  %6697 = load i32, ptr %6696, align 4, !tbaa !5
  %6698 = call ptr @strerror(i32 noundef %6697) #9
  %6699 = call ptr @__errno_location() #10
  %6700 = load i32, ptr %6699, align 4, !tbaa !5
  %6701 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6688, ptr noundef @.str.2, i32 noundef %6689, ptr noundef @.str.71, ptr noundef @.str.1, i32 noundef 343, ptr noundef %6692, ptr noundef %6695, ptr noundef %6698, i32 noundef %6700) #9
  br label %6719

6702:                                             ; preds = %6680, %6673
  %6703 = load i32, ptr %140, align 4, !tbaa !5
  %6704 = call ptr @__errno_location() #10
  store i32 %6703, ptr %6704, align 4, !tbaa !5
  %6705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6706 = load i32, ptr @test_count, align 4, !tbaa !5
  %6707 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6708 = load i32, ptr %6707, align 4, !tbaa !5
  %6709 = call ptr @s2n_strerror(i32 noundef %6708, ptr noundef @.str.4)
  %6710 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6711 = load i32, ptr %6710, align 4, !tbaa !5
  %6712 = call ptr @s2n_strerror_debug(i32 noundef %6711, ptr noundef @.str.4)
  %6713 = call ptr @__errno_location() #10
  %6714 = load i32, ptr %6713, align 4, !tbaa !5
  %6715 = call ptr @strerror(i32 noundef %6714) #9
  %6716 = call ptr @__errno_location() #10
  %6717 = load i32, ptr %6716, align 4, !tbaa !5
  %6718 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6705, ptr noundef @.str.5, i32 noundef %6706, ptr noundef @.str.71, ptr noundef @.str.1, i32 noundef 343, ptr noundef %6709, ptr noundef %6712, ptr noundef %6715, i32 noundef %6717) #9
  br label %6719

6719:                                             ; preds = %6702, %6685
  call void @llvm.lifetime.end.p0(i64 4, ptr %140) #9
  br label %6720

6720:                                             ; preds = %6719
  br label %6721

6721:                                             ; preds = %6720
  call void @exit(i32 noundef 1) #11
  unreachable

6722:                                             ; No predecessors!
  br label %6723

6723:                                             ; preds = %6722
  br label %6724

6724:                                             ; preds = %6723, %6666
  br label %6725

6725:                                             ; preds = %6724
  br label %6726

6726:                                             ; preds = %6725
  call void @llvm.lifetime.end.p0(i64 4, ptr %138) #9
  br label %6727

6727:                                             ; preds = %6726
  br label %6728

6728:                                             ; preds = %6727
  br label %6729

6729:                                             ; preds = %6728
  br label %6730

6730:                                             ; preds = %6729
  br label %6731

6731:                                             ; preds = %6730
  br label %6732

6732:                                             ; preds = %6731
  call void @llvm.lifetime.start.p0(i64 4, ptr %141) #9
  br label %6733

6733:                                             ; preds = %6732
  %6734 = load i32, ptr @test_count, align 4, !tbaa !5
  %6735 = add nsw i32 %6734, 1
  store i32 %6735, ptr @test_count, align 4, !tbaa !5
  %6736 = call i32 @s2n_mul_overflow(i32 noundef 65537, i32 noundef 65535, ptr noundef %141)
  %6737 = icmp eq i32 %6736, -1
  br i1 %6737, label %6738, label %6791

6738:                                             ; preds = %6733
  br label %6739

6739:                                             ; preds = %6738
  br label %6740

6740:                                             ; preds = %6739
  call void @llvm.lifetime.start.p0(i64 4, ptr %142) #9
  %6741 = call ptr @__errno_location() #10
  %6742 = load i32, ptr %6741, align 4, !tbaa !5
  store i32 %6742, ptr %142, align 4, !tbaa !5
  %6743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6744 = call i32 @s2n_print_stacktrace(ptr noundef %6743)
  %6745 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6746 = trunc i8 %6745 to i1
  br i1 %6746, label %6747, label %6769

6747:                                             ; preds = %6740
  %6748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6749 = call i32 @fileno(ptr noundef %6748) #9
  %6750 = call i32 @isatty(i32 noundef %6749) #9
  %6751 = icmp ne i32 %6750, 0
  br i1 %6751, label %6752, label %6769

6752:                                             ; preds = %6747
  %6753 = load i32, ptr %142, align 4, !tbaa !5
  %6754 = call ptr @__errno_location() #10
  store i32 %6753, ptr %6754, align 4, !tbaa !5
  %6755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6756 = load i32, ptr @test_count, align 4, !tbaa !5
  %6757 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6758 = load i32, ptr %6757, align 4, !tbaa !5
  %6759 = call ptr @s2n_strerror(i32 noundef %6758, ptr noundef @.str.4)
  %6760 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6761 = load i32, ptr %6760, align 4, !tbaa !5
  %6762 = call ptr @s2n_strerror_debug(i32 noundef %6761, ptr noundef @.str.4)
  %6763 = call ptr @__errno_location() #10
  %6764 = load i32, ptr %6763, align 4, !tbaa !5
  %6765 = call ptr @strerror(i32 noundef %6764) #9
  %6766 = call ptr @__errno_location() #10
  %6767 = load i32, ptr %6766, align 4, !tbaa !5
  %6768 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6755, ptr noundef @.str.2, i32 noundef %6756, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 344, ptr noundef %6759, ptr noundef %6762, ptr noundef %6765, i32 noundef %6767) #9
  br label %6786

6769:                                             ; preds = %6747, %6740
  %6770 = load i32, ptr %142, align 4, !tbaa !5
  %6771 = call ptr @__errno_location() #10
  store i32 %6770, ptr %6771, align 4, !tbaa !5
  %6772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6773 = load i32, ptr @test_count, align 4, !tbaa !5
  %6774 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6775 = load i32, ptr %6774, align 4, !tbaa !5
  %6776 = call ptr @s2n_strerror(i32 noundef %6775, ptr noundef @.str.4)
  %6777 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6778 = load i32, ptr %6777, align 4, !tbaa !5
  %6779 = call ptr @s2n_strerror_debug(i32 noundef %6778, ptr noundef @.str.4)
  %6780 = call ptr @__errno_location() #10
  %6781 = load i32, ptr %6780, align 4, !tbaa !5
  %6782 = call ptr @strerror(i32 noundef %6781) #9
  %6783 = call ptr @__errno_location() #10
  %6784 = load i32, ptr %6783, align 4, !tbaa !5
  %6785 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6772, ptr noundef @.str.5, i32 noundef %6773, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 344, ptr noundef %6776, ptr noundef %6779, ptr noundef %6782, i32 noundef %6784) #9
  br label %6786

6786:                                             ; preds = %6769, %6752
  call void @llvm.lifetime.end.p0(i64 4, ptr %142) #9
  br label %6787

6787:                                             ; preds = %6786
  br label %6788

6788:                                             ; preds = %6787
  call void @exit(i32 noundef 1) #11
  unreachable

6789:                                             ; No predecessors!
  br label %6790

6790:                                             ; preds = %6789
  br label %6791

6791:                                             ; preds = %6790, %6733
  br label %6792

6792:                                             ; preds = %6791
  br label %6793

6793:                                             ; preds = %6792
  br label %6794

6794:                                             ; preds = %6793
  %6795 = load i32, ptr @test_count, align 4, !tbaa !5
  %6796 = add nsw i32 %6795, 1
  store i32 %6796, ptr @test_count, align 4, !tbaa !5
  %6797 = load i32, ptr %141, align 4, !tbaa !5
  %6798 = icmp eq i32 %6797, -1
  br i1 %6798, label %6852, label %6799

6799:                                             ; preds = %6794
  br label %6800

6800:                                             ; preds = %6799
  br label %6801

6801:                                             ; preds = %6800
  call void @llvm.lifetime.start.p0(i64 4, ptr %143) #9
  %6802 = call ptr @__errno_location() #10
  %6803 = load i32, ptr %6802, align 4, !tbaa !5
  store i32 %6803, ptr %143, align 4, !tbaa !5
  %6804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6805 = call i32 @s2n_print_stacktrace(ptr noundef %6804)
  %6806 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6807 = trunc i8 %6806 to i1
  br i1 %6807, label %6808, label %6830

6808:                                             ; preds = %6801
  %6809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6810 = call i32 @fileno(ptr noundef %6809) #9
  %6811 = call i32 @isatty(i32 noundef %6810) #9
  %6812 = icmp ne i32 %6811, 0
  br i1 %6812, label %6813, label %6830

6813:                                             ; preds = %6808
  %6814 = load i32, ptr %143, align 4, !tbaa !5
  %6815 = call ptr @__errno_location() #10
  store i32 %6814, ptr %6815, align 4, !tbaa !5
  %6816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6817 = load i32, ptr @test_count, align 4, !tbaa !5
  %6818 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6819 = load i32, ptr %6818, align 4, !tbaa !5
  %6820 = call ptr @s2n_strerror(i32 noundef %6819, ptr noundef @.str.4)
  %6821 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6822 = load i32, ptr %6821, align 4, !tbaa !5
  %6823 = call ptr @s2n_strerror_debug(i32 noundef %6822, ptr noundef @.str.4)
  %6824 = call ptr @__errno_location() #10
  %6825 = load i32, ptr %6824, align 4, !tbaa !5
  %6826 = call ptr @strerror(i32 noundef %6825) #9
  %6827 = call ptr @__errno_location() #10
  %6828 = load i32, ptr %6827, align 4, !tbaa !5
  %6829 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6816, ptr noundef @.str.2, i32 noundef %6817, ptr noundef @.str.74, ptr noundef @.str.1, i32 noundef 344, ptr noundef %6820, ptr noundef %6823, ptr noundef %6826, i32 noundef %6828) #9
  br label %6847

6830:                                             ; preds = %6808, %6801
  %6831 = load i32, ptr %143, align 4, !tbaa !5
  %6832 = call ptr @__errno_location() #10
  store i32 %6831, ptr %6832, align 4, !tbaa !5
  %6833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6834 = load i32, ptr @test_count, align 4, !tbaa !5
  %6835 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6836 = load i32, ptr %6835, align 4, !tbaa !5
  %6837 = call ptr @s2n_strerror(i32 noundef %6836, ptr noundef @.str.4)
  %6838 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6839 = load i32, ptr %6838, align 4, !tbaa !5
  %6840 = call ptr @s2n_strerror_debug(i32 noundef %6839, ptr noundef @.str.4)
  %6841 = call ptr @__errno_location() #10
  %6842 = load i32, ptr %6841, align 4, !tbaa !5
  %6843 = call ptr @strerror(i32 noundef %6842) #9
  %6844 = call ptr @__errno_location() #10
  %6845 = load i32, ptr %6844, align 4, !tbaa !5
  %6846 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6833, ptr noundef @.str.5, i32 noundef %6834, ptr noundef @.str.74, ptr noundef @.str.1, i32 noundef 344, ptr noundef %6837, ptr noundef %6840, ptr noundef %6843, i32 noundef %6845) #9
  br label %6847

6847:                                             ; preds = %6830, %6813
  call void @llvm.lifetime.end.p0(i64 4, ptr %143) #9
  br label %6848

6848:                                             ; preds = %6847
  br label %6849

6849:                                             ; preds = %6848
  call void @exit(i32 noundef 1) #11
  unreachable

6850:                                             ; No predecessors!
  br label %6851

6851:                                             ; preds = %6850
  br label %6852

6852:                                             ; preds = %6851, %6794
  br label %6853

6853:                                             ; preds = %6852
  br label %6854

6854:                                             ; preds = %6853
  call void @llvm.lifetime.end.p0(i64 4, ptr %141) #9
  br label %6855

6855:                                             ; preds = %6854
  br label %6856

6856:                                             ; preds = %6855
  br label %6857

6857:                                             ; preds = %6856
  call void @llvm.lifetime.start.p0(i64 4, ptr %144) #9
  br label %6858

6858:                                             ; preds = %6857
  %6859 = load i32, ptr @test_count, align 4, !tbaa !5
  %6860 = add nsw i32 %6859, 1
  store i32 %6860, ptr @test_count, align 4, !tbaa !5
  %6861 = call i32 @s2n_mul_overflow(i32 noundef 65535, i32 noundef 65537, ptr noundef %144)
  %6862 = icmp eq i32 %6861, -1
  br i1 %6862, label %6863, label %6916

6863:                                             ; preds = %6858
  br label %6864

6864:                                             ; preds = %6863
  br label %6865

6865:                                             ; preds = %6864
  call void @llvm.lifetime.start.p0(i64 4, ptr %145) #9
  %6866 = call ptr @__errno_location() #10
  %6867 = load i32, ptr %6866, align 4, !tbaa !5
  store i32 %6867, ptr %145, 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) #9
  %6875 = call i32 @isatty(i32 noundef %6874) #9
  %6876 = icmp ne i32 %6875, 0
  br i1 %6876, label %6877, label %6894

6877:                                             ; preds = %6872
  %6878 = load i32, ptr %145, align 4, !tbaa !5
  %6879 = call ptr @__errno_location() #10
  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() #10
  %6889 = load i32, ptr %6888, align 4, !tbaa !5
  %6890 = call ptr @strerror(i32 noundef %6889) #9
  %6891 = call ptr @__errno_location() #10
  %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.75, ptr noundef @.str.1, i32 noundef 344, ptr noundef %6884, ptr noundef %6887, ptr noundef %6890, i32 noundef %6892) #9
  br label %6911

6894:                                             ; preds = %6872, %6865
  %6895 = load i32, ptr %145, align 4, !tbaa !5
  %6896 = call ptr @__errno_location() #10
  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() #10
  %6906 = load i32, ptr %6905, align 4, !tbaa !5
  %6907 = call ptr @strerror(i32 noundef %6906) #9
  %6908 = call ptr @__errno_location() #10
  %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.75, ptr noundef @.str.1, i32 noundef 344, ptr noundef %6901, ptr noundef %6904, ptr noundef %6907, i32 noundef %6909) #9
  br label %6911

6911:                                             ; preds = %6894, %6877
  call void @llvm.lifetime.end.p0(i64 4, ptr %145) #9
  br label %6912

6912:                                             ; preds = %6911
  br label %6913

6913:                                             ; preds = %6912
  call void @exit(i32 noundef 1) #11
  unreachable

6914:                                             ; No predecessors!
  br label %6915

6915:                                             ; preds = %6914
  br label %6916

6916:                                             ; preds = %6915, %6858
  br label %6917

6917:                                             ; preds = %6916
  br label %6918

6918:                                             ; preds = %6917
  br label %6919

6919:                                             ; preds = %6918
  %6920 = load i32, ptr @test_count, align 4, !tbaa !5
  %6921 = add nsw i32 %6920, 1
  store i32 %6921, ptr @test_count, align 4, !tbaa !5
  %6922 = load i32, ptr %144, align 4, !tbaa !5
  %6923 = icmp eq i32 %6922, -1
  br i1 %6923, label %6977, label %6924

6924:                                             ; preds = %6919
  br label %6925

6925:                                             ; preds = %6924
  br label %6926

6926:                                             ; preds = %6925
  call void @llvm.lifetime.start.p0(i64 4, ptr %146) #9
  %6927 = call ptr @__errno_location() #10
  %6928 = load i32, ptr %6927, align 4, !tbaa !5
  store i32 %6928, ptr %146, align 4, !tbaa !5
  %6929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6930 = call i32 @s2n_print_stacktrace(ptr noundef %6929)
  %6931 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6932 = trunc i8 %6931 to i1
  br i1 %6932, label %6933, label %6955

6933:                                             ; preds = %6926
  %6934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6935 = call i32 @fileno(ptr noundef %6934) #9
  %6936 = call i32 @isatty(i32 noundef %6935) #9
  %6937 = icmp ne i32 %6936, 0
  br i1 %6937, label %6938, label %6955

6938:                                             ; preds = %6933
  %6939 = load i32, ptr %146, align 4, !tbaa !5
  %6940 = call ptr @__errno_location() #10
  store i32 %6939, ptr %6940, align 4, !tbaa !5
  %6941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6942 = load i32, ptr @test_count, align 4, !tbaa !5
  %6943 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6944 = load i32, ptr %6943, align 4, !tbaa !5
  %6945 = call ptr @s2n_strerror(i32 noundef %6944, ptr noundef @.str.4)
  %6946 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6947 = load i32, ptr %6946, align 4, !tbaa !5
  %6948 = call ptr @s2n_strerror_debug(i32 noundef %6947, ptr noundef @.str.4)
  %6949 = call ptr @__errno_location() #10
  %6950 = load i32, ptr %6949, align 4, !tbaa !5
  %6951 = call ptr @strerror(i32 noundef %6950) #9
  %6952 = call ptr @__errno_location() #10
  %6953 = load i32, ptr %6952, align 4, !tbaa !5
  %6954 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6941, ptr noundef @.str.2, i32 noundef %6942, ptr noundef @.str.74, ptr noundef @.str.1, i32 noundef 344, ptr noundef %6945, ptr noundef %6948, ptr noundef %6951, i32 noundef %6953) #9
  br label %6972

6955:                                             ; preds = %6933, %6926
  %6956 = load i32, ptr %146, align 4, !tbaa !5
  %6957 = call ptr @__errno_location() #10
  store i32 %6956, ptr %6957, align 4, !tbaa !5
  %6958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6959 = load i32, ptr @test_count, align 4, !tbaa !5
  %6960 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6961 = load i32, ptr %6960, align 4, !tbaa !5
  %6962 = call ptr @s2n_strerror(i32 noundef %6961, ptr noundef @.str.4)
  %6963 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6964 = load i32, ptr %6963, align 4, !tbaa !5
  %6965 = call ptr @s2n_strerror_debug(i32 noundef %6964, ptr noundef @.str.4)
  %6966 = call ptr @__errno_location() #10
  %6967 = load i32, ptr %6966, align 4, !tbaa !5
  %6968 = call ptr @strerror(i32 noundef %6967) #9
  %6969 = call ptr @__errno_location() #10
  %6970 = load i32, ptr %6969, align 4, !tbaa !5
  %6971 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6958, ptr noundef @.str.5, i32 noundef %6959, ptr noundef @.str.74, ptr noundef @.str.1, i32 noundef 344, ptr noundef %6962, ptr noundef %6965, ptr noundef %6968, i32 noundef %6970) #9
  br label %6972

6972:                                             ; preds = %6955, %6938
  call void @llvm.lifetime.end.p0(i64 4, ptr %146) #9
  br label %6973

6973:                                             ; preds = %6972
  br label %6974

6974:                                             ; preds = %6973
  call void @exit(i32 noundef 1) #11
  unreachable

6975:                                             ; No predecessors!
  br label %6976

6976:                                             ; preds = %6975
  br label %6977

6977:                                             ; preds = %6976, %6919
  br label %6978

6978:                                             ; preds = %6977
  br label %6979

6979:                                             ; preds = %6978
  call void @llvm.lifetime.end.p0(i64 4, ptr %144) #9
  br label %6980

6980:                                             ; preds = %6979
  br label %6981

6981:                                             ; preds = %6980
  br label %6982

6982:                                             ; preds = %6981
  br label %6983

6983:                                             ; preds = %6982
  br label %6984

6984:                                             ; preds = %6983
  br label %6985

6985:                                             ; preds = %6984
  call void @llvm.lifetime.start.p0(i64 4, ptr %147) #9
  br label %6986

6986:                                             ; preds = %6985
  %6987 = load i32, ptr @test_count, align 4, !tbaa !5
  %6988 = add nsw i32 %6987, 1
  store i32 %6988, ptr @test_count, align 4, !tbaa !5
  %6989 = call i32 @s2n_mul_overflow(i32 noundef 65537, i32 noundef 65534, ptr noundef %147)
  %6990 = icmp eq i32 %6989, -1
  br i1 %6990, label %6991, label %7044

6991:                                             ; preds = %6986
  br label %6992

6992:                                             ; preds = %6991
  br label %6993

6993:                                             ; preds = %6992
  call void @llvm.lifetime.start.p0(i64 4, ptr %148) #9
  %6994 = call ptr @__errno_location() #10
  %6995 = load i32, ptr %6994, align 4, !tbaa !5
  store i32 %6995, ptr %148, align 4, !tbaa !5
  %6996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6997 = call i32 @s2n_print_stacktrace(ptr noundef %6996)
  %6998 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6999 = trunc i8 %6998 to i1
  br i1 %6999, label %7000, label %7022

7000:                                             ; preds = %6993
  %7001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7002 = call i32 @fileno(ptr noundef %7001) #9
  %7003 = call i32 @isatty(i32 noundef %7002) #9
  %7004 = icmp ne i32 %7003, 0
  br i1 %7004, label %7005, label %7022

7005:                                             ; preds = %7000
  %7006 = load i32, ptr %148, align 4, !tbaa !5
  %7007 = call ptr @__errno_location() #10
  store i32 %7006, ptr %7007, align 4, !tbaa !5
  %7008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7009 = load i32, ptr @test_count, align 4, !tbaa !5
  %7010 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7011 = load i32, ptr %7010, align 4, !tbaa !5
  %7012 = call ptr @s2n_strerror(i32 noundef %7011, ptr noundef @.str.4)
  %7013 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7014 = load i32, ptr %7013, align 4, !tbaa !5
  %7015 = call ptr @s2n_strerror_debug(i32 noundef %7014, ptr noundef @.str.4)
  %7016 = call ptr @__errno_location() #10
  %7017 = load i32, ptr %7016, align 4, !tbaa !5
  %7018 = call ptr @strerror(i32 noundef %7017) #9
  %7019 = call ptr @__errno_location() #10
  %7020 = load i32, ptr %7019, align 4, !tbaa !5
  %7021 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7008, ptr noundef @.str.2, i32 noundef %7009, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 345, ptr noundef %7012, ptr noundef %7015, ptr noundef %7018, i32 noundef %7020) #9
  br label %7039

7022:                                             ; preds = %7000, %6993
  %7023 = load i32, ptr %148, align 4, !tbaa !5
  %7024 = call ptr @__errno_location() #10
  store i32 %7023, ptr %7024, align 4, !tbaa !5
  %7025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7026 = load i32, ptr @test_count, align 4, !tbaa !5
  %7027 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7028 = load i32, ptr %7027, align 4, !tbaa !5
  %7029 = call ptr @s2n_strerror(i32 noundef %7028, ptr noundef @.str.4)
  %7030 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7031 = load i32, ptr %7030, align 4, !tbaa !5
  %7032 = call ptr @s2n_strerror_debug(i32 noundef %7031, ptr noundef @.str.4)
  %7033 = call ptr @__errno_location() #10
  %7034 = load i32, ptr %7033, align 4, !tbaa !5
  %7035 = call ptr @strerror(i32 noundef %7034) #9
  %7036 = call ptr @__errno_location() #10
  %7037 = load i32, ptr %7036, align 4, !tbaa !5
  %7038 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7025, ptr noundef @.str.5, i32 noundef %7026, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 345, ptr noundef %7029, ptr noundef %7032, ptr noundef %7035, i32 noundef %7037) #9
  br label %7039

7039:                                             ; preds = %7022, %7005
  call void @llvm.lifetime.end.p0(i64 4, ptr %148) #9
  br label %7040

7040:                                             ; preds = %7039
  br label %7041

7041:                                             ; preds = %7040
  call void @exit(i32 noundef 1) #11
  unreachable

7042:                                             ; No predecessors!
  br label %7043

7043:                                             ; preds = %7042
  br label %7044

7044:                                             ; preds = %7043, %6986
  br label %7045

7045:                                             ; preds = %7044
  br label %7046

7046:                                             ; preds = %7045
  br label %7047

7047:                                             ; preds = %7046
  %7048 = load i32, ptr @test_count, align 4, !tbaa !5
  %7049 = add nsw i32 %7048, 1
  store i32 %7049, ptr @test_count, align 4, !tbaa !5
  %7050 = load i32, ptr %147, align 4, !tbaa !5
  %7051 = icmp eq i32 %7050, -65538
  br i1 %7051, label %7105, label %7052

7052:                                             ; preds = %7047
  br label %7053

7053:                                             ; preds = %7052
  br label %7054

7054:                                             ; preds = %7053
  call void @llvm.lifetime.start.p0(i64 4, ptr %149) #9
  %7055 = call ptr @__errno_location() #10
  %7056 = load i32, ptr %7055, align 4, !tbaa !5
  store i32 %7056, ptr %149, align 4, !tbaa !5
  %7057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7058 = call i32 @s2n_print_stacktrace(ptr noundef %7057)
  %7059 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7060 = trunc i8 %7059 to i1
  br i1 %7060, label %7061, label %7083

7061:                                             ; preds = %7054
  %7062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7063 = call i32 @fileno(ptr noundef %7062) #9
  %7064 = call i32 @isatty(i32 noundef %7063) #9
  %7065 = icmp ne i32 %7064, 0
  br i1 %7065, label %7066, label %7083

7066:                                             ; preds = %7061
  %7067 = load i32, ptr %149, align 4, !tbaa !5
  %7068 = call ptr @__errno_location() #10
  store i32 %7067, ptr %7068, align 4, !tbaa !5
  %7069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7070 = load i32, ptr @test_count, align 4, !tbaa !5
  %7071 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7072 = load i32, ptr %7071, align 4, !tbaa !5
  %7073 = call ptr @s2n_strerror(i32 noundef %7072, ptr noundef @.str.4)
  %7074 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7075 = load i32, ptr %7074, align 4, !tbaa !5
  %7076 = call ptr @s2n_strerror_debug(i32 noundef %7075, ptr noundef @.str.4)
  %7077 = call ptr @__errno_location() #10
  %7078 = load i32, ptr %7077, align 4, !tbaa !5
  %7079 = call ptr @strerror(i32 noundef %7078) #9
  %7080 = call ptr @__errno_location() #10
  %7081 = load i32, ptr %7080, align 4, !tbaa !5
  %7082 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7069, ptr noundef @.str.2, i32 noundef %7070, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 345, ptr noundef %7073, ptr noundef %7076, ptr noundef %7079, i32 noundef %7081) #9
  br label %7100

7083:                                             ; preds = %7061, %7054
  %7084 = load i32, ptr %149, align 4, !tbaa !5
  %7085 = call ptr @__errno_location() #10
  store i32 %7084, ptr %7085, align 4, !tbaa !5
  %7086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7087 = load i32, ptr @test_count, align 4, !tbaa !5
  %7088 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7089 = load i32, ptr %7088, align 4, !tbaa !5
  %7090 = call ptr @s2n_strerror(i32 noundef %7089, ptr noundef @.str.4)
  %7091 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7092 = load i32, ptr %7091, align 4, !tbaa !5
  %7093 = call ptr @s2n_strerror_debug(i32 noundef %7092, ptr noundef @.str.4)
  %7094 = call ptr @__errno_location() #10
  %7095 = load i32, ptr %7094, align 4, !tbaa !5
  %7096 = call ptr @strerror(i32 noundef %7095) #9
  %7097 = call ptr @__errno_location() #10
  %7098 = load i32, ptr %7097, align 4, !tbaa !5
  %7099 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7086, ptr noundef @.str.5, i32 noundef %7087, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 345, ptr noundef %7090, ptr noundef %7093, ptr noundef %7096, i32 noundef %7098) #9
  br label %7100

7100:                                             ; preds = %7083, %7066
  call void @llvm.lifetime.end.p0(i64 4, ptr %149) #9
  br label %7101

7101:                                             ; preds = %7100
  br label %7102

7102:                                             ; preds = %7101
  call void @exit(i32 noundef 1) #11
  unreachable

7103:                                             ; No predecessors!
  br label %7104

7104:                                             ; preds = %7103
  br label %7105

7105:                                             ; preds = %7104, %7047
  br label %7106

7106:                                             ; preds = %7105
  br label %7107

7107:                                             ; preds = %7106
  call void @llvm.lifetime.end.p0(i64 4, ptr %147) #9
  br label %7108

7108:                                             ; preds = %7107
  br label %7109

7109:                                             ; preds = %7108
  br label %7110

7110:                                             ; preds = %7109
  call void @llvm.lifetime.start.p0(i64 4, ptr %150) #9
  br label %7111

7111:                                             ; preds = %7110
  %7112 = load i32, ptr @test_count, align 4, !tbaa !5
  %7113 = add nsw i32 %7112, 1
  store i32 %7113, ptr @test_count, align 4, !tbaa !5
  %7114 = call i32 @s2n_mul_overflow(i32 noundef 65534, i32 noundef 65537, ptr noundef %150)
  %7115 = icmp eq i32 %7114, -1
  br i1 %7115, label %7116, label %7169

7116:                                             ; preds = %7111
  br label %7117

7117:                                             ; preds = %7116
  br label %7118

7118:                                             ; preds = %7117
  call void @llvm.lifetime.start.p0(i64 4, ptr %151) #9
  %7119 = call ptr @__errno_location() #10
  %7120 = load i32, ptr %7119, align 4, !tbaa !5
  store i32 %7120, ptr %151, align 4, !tbaa !5
  %7121 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7122 = call i32 @s2n_print_stacktrace(ptr noundef %7121)
  %7123 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7124 = trunc i8 %7123 to i1
  br i1 %7124, label %7125, label %7147

7125:                                             ; preds = %7118
  %7126 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7127 = call i32 @fileno(ptr noundef %7126) #9
  %7128 = call i32 @isatty(i32 noundef %7127) #9
  %7129 = icmp ne i32 %7128, 0
  br i1 %7129, label %7130, label %7147

7130:                                             ; preds = %7125
  %7131 = load i32, ptr %151, align 4, !tbaa !5
  %7132 = call ptr @__errno_location() #10
  store i32 %7131, ptr %7132, align 4, !tbaa !5
  %7133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7134 = load i32, ptr @test_count, align 4, !tbaa !5
  %7135 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7136 = load i32, ptr %7135, align 4, !tbaa !5
  %7137 = call ptr @s2n_strerror(i32 noundef %7136, ptr noundef @.str.4)
  %7138 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7139 = load i32, ptr %7138, align 4, !tbaa !5
  %7140 = call ptr @s2n_strerror_debug(i32 noundef %7139, ptr noundef @.str.4)
  %7141 = call ptr @__errno_location() #10
  %7142 = load i32, ptr %7141, align 4, !tbaa !5
  %7143 = call ptr @strerror(i32 noundef %7142) #9
  %7144 = call ptr @__errno_location() #10
  %7145 = load i32, ptr %7144, align 4, !tbaa !5
  %7146 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7133, ptr noundef @.str.2, i32 noundef %7134, ptr noundef @.str.78, ptr noundef @.str.1, i32 noundef 345, ptr noundef %7137, ptr noundef %7140, ptr noundef %7143, i32 noundef %7145) #9
  br label %7164

7147:                                             ; preds = %7125, %7118
  %7148 = load i32, ptr %151, align 4, !tbaa !5
  %7149 = call ptr @__errno_location() #10
  store i32 %7148, ptr %7149, align 4, !tbaa !5
  %7150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7151 = load i32, ptr @test_count, align 4, !tbaa !5
  %7152 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7153 = load i32, ptr %7152, align 4, !tbaa !5
  %7154 = call ptr @s2n_strerror(i32 noundef %7153, ptr noundef @.str.4)
  %7155 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7156 = load i32, ptr %7155, align 4, !tbaa !5
  %7157 = call ptr @s2n_strerror_debug(i32 noundef %7156, ptr noundef @.str.4)
  %7158 = call ptr @__errno_location() #10
  %7159 = load i32, ptr %7158, align 4, !tbaa !5
  %7160 = call ptr @strerror(i32 noundef %7159) #9
  %7161 = call ptr @__errno_location() #10
  %7162 = load i32, ptr %7161, align 4, !tbaa !5
  %7163 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7150, ptr noundef @.str.5, i32 noundef %7151, ptr noundef @.str.78, ptr noundef @.str.1, i32 noundef 345, ptr noundef %7154, ptr noundef %7157, ptr noundef %7160, i32 noundef %7162) #9
  br label %7164

7164:                                             ; preds = %7147, %7130
  call void @llvm.lifetime.end.p0(i64 4, ptr %151) #9
  br label %7165

7165:                                             ; preds = %7164
  br label %7166

7166:                                             ; preds = %7165
  call void @exit(i32 noundef 1) #11
  unreachable

7167:                                             ; No predecessors!
  br label %7168

7168:                                             ; preds = %7167
  br label %7169

7169:                                             ; preds = %7168, %7111
  br label %7170

7170:                                             ; preds = %7169
  br label %7171

7171:                                             ; preds = %7170
  br label %7172

7172:                                             ; preds = %7171
  %7173 = load i32, ptr @test_count, align 4, !tbaa !5
  %7174 = add nsw i32 %7173, 1
  store i32 %7174, ptr @test_count, align 4, !tbaa !5
  %7175 = load i32, ptr %150, align 4, !tbaa !5
  %7176 = icmp eq i32 %7175, -65538
  br i1 %7176, label %7230, label %7177

7177:                                             ; preds = %7172
  br label %7178

7178:                                             ; preds = %7177
  br label %7179

7179:                                             ; preds = %7178
  call void @llvm.lifetime.start.p0(i64 4, ptr %152) #9
  %7180 = call ptr @__errno_location() #10
  %7181 = load i32, ptr %7180, align 4, !tbaa !5
  store i32 %7181, ptr %152, align 4, !tbaa !5
  %7182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7183 = call i32 @s2n_print_stacktrace(ptr noundef %7182)
  %7184 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7185 = trunc i8 %7184 to i1
  br i1 %7185, label %7186, label %7208

7186:                                             ; preds = %7179
  %7187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7188 = call i32 @fileno(ptr noundef %7187) #9
  %7189 = call i32 @isatty(i32 noundef %7188) #9
  %7190 = icmp ne i32 %7189, 0
  br i1 %7190, label %7191, label %7208

7191:                                             ; preds = %7186
  %7192 = load i32, ptr %152, align 4, !tbaa !5
  %7193 = call ptr @__errno_location() #10
  store i32 %7192, ptr %7193, align 4, !tbaa !5
  %7194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7195 = load i32, ptr @test_count, align 4, !tbaa !5
  %7196 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7197 = load i32, ptr %7196, align 4, !tbaa !5
  %7198 = call ptr @s2n_strerror(i32 noundef %7197, ptr noundef @.str.4)
  %7199 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7200 = load i32, ptr %7199, align 4, !tbaa !5
  %7201 = call ptr @s2n_strerror_debug(i32 noundef %7200, ptr noundef @.str.4)
  %7202 = call ptr @__errno_location() #10
  %7203 = load i32, ptr %7202, align 4, !tbaa !5
  %7204 = call ptr @strerror(i32 noundef %7203) #9
  %7205 = call ptr @__errno_location() #10
  %7206 = load i32, ptr %7205, align 4, !tbaa !5
  %7207 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7194, ptr noundef @.str.2, i32 noundef %7195, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 345, ptr noundef %7198, ptr noundef %7201, ptr noundef %7204, i32 noundef %7206) #9
  br label %7225

7208:                                             ; preds = %7186, %7179
  %7209 = load i32, ptr %152, align 4, !tbaa !5
  %7210 = call ptr @__errno_location() #10
  store i32 %7209, ptr %7210, align 4, !tbaa !5
  %7211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7212 = load i32, ptr @test_count, align 4, !tbaa !5
  %7213 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7214 = load i32, ptr %7213, align 4, !tbaa !5
  %7215 = call ptr @s2n_strerror(i32 noundef %7214, ptr noundef @.str.4)
  %7216 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7217 = load i32, ptr %7216, align 4, !tbaa !5
  %7218 = call ptr @s2n_strerror_debug(i32 noundef %7217, ptr noundef @.str.4)
  %7219 = call ptr @__errno_location() #10
  %7220 = load i32, ptr %7219, align 4, !tbaa !5
  %7221 = call ptr @strerror(i32 noundef %7220) #9
  %7222 = call ptr @__errno_location() #10
  %7223 = load i32, ptr %7222, align 4, !tbaa !5
  %7224 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7211, ptr noundef @.str.5, i32 noundef %7212, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 345, ptr noundef %7215, ptr noundef %7218, ptr noundef %7221, i32 noundef %7223) #9
  br label %7225

7225:                                             ; preds = %7208, %7191
  call void @llvm.lifetime.end.p0(i64 4, ptr %152) #9
  br label %7226

7226:                                             ; preds = %7225
  br label %7227

7227:                                             ; preds = %7226
  call void @exit(i32 noundef 1) #11
  unreachable

7228:                                             ; No predecessors!
  br label %7229

7229:                                             ; preds = %7228
  br label %7230

7230:                                             ; preds = %7229, %7172
  br label %7231

7231:                                             ; preds = %7230
  br label %7232

7232:                                             ; preds = %7231
  call void @llvm.lifetime.end.p0(i64 4, ptr %150) #9
  br label %7233

7233:                                             ; preds = %7232
  br label %7234

7234:                                             ; preds = %7233
  br label %7235

7235:                                             ; preds = %7234
  br label %7236

7236:                                             ; preds = %7235
  br label %7237

7237:                                             ; preds = %7236
  br label %7238

7238:                                             ; preds = %7237
  call void @llvm.lifetime.start.p0(i64 4, ptr %153) #9
  br label %7239

7239:                                             ; preds = %7238
  %7240 = load i32, ptr @test_count, align 4, !tbaa !5
  %7241 = add nsw i32 %7240, 1
  store i32 %7241, ptr @test_count, align 4, !tbaa !5
  %7242 = call i32 @s2n_mul_overflow(i32 noundef 65538, i32 noundef 65534, ptr noundef %153)
  %7243 = icmp eq i32 %7242, -1
  br i1 %7243, label %7244, label %7297

7244:                                             ; preds = %7239
  br label %7245

7245:                                             ; preds = %7244
  br label %7246

7246:                                             ; preds = %7245
  call void @llvm.lifetime.start.p0(i64 4, ptr %154) #9
  %7247 = call ptr @__errno_location() #10
  %7248 = load i32, ptr %7247, align 4, !tbaa !5
  store i32 %7248, ptr %154, align 4, !tbaa !5
  %7249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7250 = call i32 @s2n_print_stacktrace(ptr noundef %7249)
  %7251 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7252 = trunc i8 %7251 to i1
  br i1 %7252, label %7253, label %7275

7253:                                             ; preds = %7246
  %7254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7255 = call i32 @fileno(ptr noundef %7254) #9
  %7256 = call i32 @isatty(i32 noundef %7255) #9
  %7257 = icmp ne i32 %7256, 0
  br i1 %7257, label %7258, label %7275

7258:                                             ; preds = %7253
  %7259 = load i32, ptr %154, align 4, !tbaa !5
  %7260 = call ptr @__errno_location() #10
  store i32 %7259, ptr %7260, align 4, !tbaa !5
  %7261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7262 = load i32, ptr @test_count, align 4, !tbaa !5
  %7263 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7264 = load i32, ptr %7263, align 4, !tbaa !5
  %7265 = call ptr @s2n_strerror(i32 noundef %7264, ptr noundef @.str.4)
  %7266 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7267 = load i32, ptr %7266, align 4, !tbaa !5
  %7268 = call ptr @s2n_strerror_debug(i32 noundef %7267, ptr noundef @.str.4)
  %7269 = call ptr @__errno_location() #10
  %7270 = load i32, ptr %7269, align 4, !tbaa !5
  %7271 = call ptr @strerror(i32 noundef %7270) #9
  %7272 = call ptr @__errno_location() #10
  %7273 = load i32, ptr %7272, align 4, !tbaa !5
  %7274 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7261, ptr noundef @.str.2, i32 noundef %7262, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 346, ptr noundef %7265, ptr noundef %7268, ptr noundef %7271, i32 noundef %7273) #9
  br label %7292

7275:                                             ; preds = %7253, %7246
  %7276 = load i32, ptr %154, align 4, !tbaa !5
  %7277 = call ptr @__errno_location() #10
  store i32 %7276, ptr %7277, align 4, !tbaa !5
  %7278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7279 = load i32, ptr @test_count, align 4, !tbaa !5
  %7280 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7281 = load i32, ptr %7280, align 4, !tbaa !5
  %7282 = call ptr @s2n_strerror(i32 noundef %7281, ptr noundef @.str.4)
  %7283 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7284 = load i32, ptr %7283, align 4, !tbaa !5
  %7285 = call ptr @s2n_strerror_debug(i32 noundef %7284, ptr noundef @.str.4)
  %7286 = call ptr @__errno_location() #10
  %7287 = load i32, ptr %7286, align 4, !tbaa !5
  %7288 = call ptr @strerror(i32 noundef %7287) #9
  %7289 = call ptr @__errno_location() #10
  %7290 = load i32, ptr %7289, align 4, !tbaa !5
  %7291 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7278, ptr noundef @.str.5, i32 noundef %7279, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 346, ptr noundef %7282, ptr noundef %7285, ptr noundef %7288, i32 noundef %7290) #9
  br label %7292

7292:                                             ; preds = %7275, %7258
  call void @llvm.lifetime.end.p0(i64 4, ptr %154) #9
  br label %7293

7293:                                             ; preds = %7292
  br label %7294

7294:                                             ; preds = %7293
  call void @exit(i32 noundef 1) #11
  unreachable

7295:                                             ; No predecessors!
  br label %7296

7296:                                             ; preds = %7295
  br label %7297

7297:                                             ; preds = %7296, %7239
  br label %7298

7298:                                             ; preds = %7297
  br label %7299

7299:                                             ; preds = %7298
  br label %7300

7300:                                             ; preds = %7299
  %7301 = load i32, ptr @test_count, align 4, !tbaa !5
  %7302 = add nsw i32 %7301, 1
  store i32 %7302, ptr @test_count, align 4, !tbaa !5
  %7303 = load i32, ptr %153, align 4, !tbaa !5
  %7304 = icmp eq i32 %7303, -4
  br i1 %7304, label %7358, label %7305

7305:                                             ; preds = %7300
  br label %7306

7306:                                             ; preds = %7305
  br label %7307

7307:                                             ; preds = %7306
  call void @llvm.lifetime.start.p0(i64 4, ptr %155) #9
  %7308 = call ptr @__errno_location() #10
  %7309 = load i32, ptr %7308, align 4, !tbaa !5
  store i32 %7309, ptr %155, align 4, !tbaa !5
  %7310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7311 = call i32 @s2n_print_stacktrace(ptr noundef %7310)
  %7312 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7313 = trunc i8 %7312 to i1
  br i1 %7313, label %7314, label %7336

7314:                                             ; preds = %7307
  %7315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7316 = call i32 @fileno(ptr noundef %7315) #9
  %7317 = call i32 @isatty(i32 noundef %7316) #9
  %7318 = icmp ne i32 %7317, 0
  br i1 %7318, label %7319, label %7336

7319:                                             ; preds = %7314
  %7320 = load i32, ptr %155, align 4, !tbaa !5
  %7321 = call ptr @__errno_location() #10
  store i32 %7320, ptr %7321, align 4, !tbaa !5
  %7322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7323 = load i32, ptr @test_count, align 4, !tbaa !5
  %7324 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7325 = load i32, ptr %7324, align 4, !tbaa !5
  %7326 = call ptr @s2n_strerror(i32 noundef %7325, ptr noundef @.str.4)
  %7327 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7328 = load i32, ptr %7327, align 4, !tbaa !5
  %7329 = call ptr @s2n_strerror_debug(i32 noundef %7328, ptr noundef @.str.4)
  %7330 = call ptr @__errno_location() #10
  %7331 = load i32, ptr %7330, align 4, !tbaa !5
  %7332 = call ptr @strerror(i32 noundef %7331) #9
  %7333 = call ptr @__errno_location() #10
  %7334 = load i32, ptr %7333, align 4, !tbaa !5
  %7335 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7322, ptr noundef @.str.2, i32 noundef %7323, ptr noundef @.str.80, ptr noundef @.str.1, i32 noundef 346, ptr noundef %7326, ptr noundef %7329, ptr noundef %7332, i32 noundef %7334) #9
  br label %7353

7336:                                             ; preds = %7314, %7307
  %7337 = load i32, ptr %155, align 4, !tbaa !5
  %7338 = call ptr @__errno_location() #10
  store i32 %7337, ptr %7338, align 4, !tbaa !5
  %7339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7340 = load i32, ptr @test_count, align 4, !tbaa !5
  %7341 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7342 = load i32, ptr %7341, align 4, !tbaa !5
  %7343 = call ptr @s2n_strerror(i32 noundef %7342, ptr noundef @.str.4)
  %7344 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7345 = load i32, ptr %7344, align 4, !tbaa !5
  %7346 = call ptr @s2n_strerror_debug(i32 noundef %7345, ptr noundef @.str.4)
  %7347 = call ptr @__errno_location() #10
  %7348 = load i32, ptr %7347, align 4, !tbaa !5
  %7349 = call ptr @strerror(i32 noundef %7348) #9
  %7350 = call ptr @__errno_location() #10
  %7351 = load i32, ptr %7350, align 4, !tbaa !5
  %7352 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7339, ptr noundef @.str.5, i32 noundef %7340, ptr noundef @.str.80, ptr noundef @.str.1, i32 noundef 346, ptr noundef %7343, ptr noundef %7346, ptr noundef %7349, i32 noundef %7351) #9
  br label %7353

7353:                                             ; preds = %7336, %7319
  call void @llvm.lifetime.end.p0(i64 4, ptr %155) #9
  br label %7354

7354:                                             ; preds = %7353
  br label %7355

7355:                                             ; preds = %7354
  call void @exit(i32 noundef 1) #11
  unreachable

7356:                                             ; No predecessors!
  br label %7357

7357:                                             ; preds = %7356
  br label %7358

7358:                                             ; preds = %7357, %7300
  br label %7359

7359:                                             ; preds = %7358
  br label %7360

7360:                                             ; preds = %7359
  call void @llvm.lifetime.end.p0(i64 4, ptr %153) #9
  br label %7361

7361:                                             ; preds = %7360
  br label %7362

7362:                                             ; preds = %7361
  br label %7363

7363:                                             ; preds = %7362
  call void @llvm.lifetime.start.p0(i64 4, ptr %156) #9
  br label %7364

7364:                                             ; preds = %7363
  %7365 = load i32, ptr @test_count, align 4, !tbaa !5
  %7366 = add nsw i32 %7365, 1
  store i32 %7366, ptr @test_count, align 4, !tbaa !5
  %7367 = call i32 @s2n_mul_overflow(i32 noundef 65534, i32 noundef 65538, ptr noundef %156)
  %7368 = icmp eq i32 %7367, -1
  br i1 %7368, label %7369, label %7422

7369:                                             ; preds = %7364
  br label %7370

7370:                                             ; preds = %7369
  br label %7371

7371:                                             ; preds = %7370
  call void @llvm.lifetime.start.p0(i64 4, ptr %157) #9
  %7372 = call ptr @__errno_location() #10
  %7373 = load i32, ptr %7372, align 4, !tbaa !5
  store i32 %7373, ptr %157, align 4, !tbaa !5
  %7374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7375 = call i32 @s2n_print_stacktrace(ptr noundef %7374)
  %7376 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7377 = trunc i8 %7376 to i1
  br i1 %7377, label %7378, label %7400

7378:                                             ; preds = %7371
  %7379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7380 = call i32 @fileno(ptr noundef %7379) #9
  %7381 = call i32 @isatty(i32 noundef %7380) #9
  %7382 = icmp ne i32 %7381, 0
  br i1 %7382, label %7383, label %7400

7383:                                             ; preds = %7378
  %7384 = load i32, ptr %157, align 4, !tbaa !5
  %7385 = call ptr @__errno_location() #10
  store i32 %7384, ptr %7385, align 4, !tbaa !5
  %7386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7387 = load i32, ptr @test_count, align 4, !tbaa !5
  %7388 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7389 = load i32, ptr %7388, align 4, !tbaa !5
  %7390 = call ptr @s2n_strerror(i32 noundef %7389, ptr noundef @.str.4)
  %7391 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7392 = load i32, ptr %7391, align 4, !tbaa !5
  %7393 = call ptr @s2n_strerror_debug(i32 noundef %7392, ptr noundef @.str.4)
  %7394 = call ptr @__errno_location() #10
  %7395 = load i32, ptr %7394, align 4, !tbaa !5
  %7396 = call ptr @strerror(i32 noundef %7395) #9
  %7397 = call ptr @__errno_location() #10
  %7398 = load i32, ptr %7397, align 4, !tbaa !5
  %7399 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7386, ptr noundef @.str.2, i32 noundef %7387, ptr noundef @.str.81, ptr noundef @.str.1, i32 noundef 346, ptr noundef %7390, ptr noundef %7393, ptr noundef %7396, i32 noundef %7398) #9
  br label %7417

7400:                                             ; preds = %7378, %7371
  %7401 = load i32, ptr %157, align 4, !tbaa !5
  %7402 = call ptr @__errno_location() #10
  store i32 %7401, ptr %7402, align 4, !tbaa !5
  %7403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7404 = load i32, ptr @test_count, align 4, !tbaa !5
  %7405 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7406 = load i32, ptr %7405, align 4, !tbaa !5
  %7407 = call ptr @s2n_strerror(i32 noundef %7406, ptr noundef @.str.4)
  %7408 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7409 = load i32, ptr %7408, align 4, !tbaa !5
  %7410 = call ptr @s2n_strerror_debug(i32 noundef %7409, ptr noundef @.str.4)
  %7411 = call ptr @__errno_location() #10
  %7412 = load i32, ptr %7411, align 4, !tbaa !5
  %7413 = call ptr @strerror(i32 noundef %7412) #9
  %7414 = call ptr @__errno_location() #10
  %7415 = load i32, ptr %7414, align 4, !tbaa !5
  %7416 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7403, ptr noundef @.str.5, i32 noundef %7404, ptr noundef @.str.81, ptr noundef @.str.1, i32 noundef 346, ptr noundef %7407, ptr noundef %7410, ptr noundef %7413, i32 noundef %7415) #9
  br label %7417

7417:                                             ; preds = %7400, %7383
  call void @llvm.lifetime.end.p0(i64 4, ptr %157) #9
  br label %7418

7418:                                             ; preds = %7417
  br label %7419

7419:                                             ; preds = %7418
  call void @exit(i32 noundef 1) #11
  unreachable

7420:                                             ; No predecessors!
  br label %7421

7421:                                             ; preds = %7420
  br label %7422

7422:                                             ; preds = %7421, %7364
  br label %7423

7423:                                             ; preds = %7422
  br label %7424

7424:                                             ; preds = %7423
  br label %7425

7425:                                             ; preds = %7424
  %7426 = load i32, ptr @test_count, align 4, !tbaa !5
  %7427 = add nsw i32 %7426, 1
  store i32 %7427, ptr @test_count, align 4, !tbaa !5
  %7428 = load i32, ptr %156, align 4, !tbaa !5
  %7429 = icmp eq i32 %7428, -4
  br i1 %7429, label %7483, label %7430

7430:                                             ; preds = %7425
  br label %7431

7431:                                             ; preds = %7430
  br label %7432

7432:                                             ; preds = %7431
  call void @llvm.lifetime.start.p0(i64 4, ptr %158) #9
  %7433 = call ptr @__errno_location() #10
  %7434 = load i32, ptr %7433, align 4, !tbaa !5
  store i32 %7434, ptr %158, align 4, !tbaa !5
  %7435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7436 = call i32 @s2n_print_stacktrace(ptr noundef %7435)
  %7437 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7438 = trunc i8 %7437 to i1
  br i1 %7438, label %7439, label %7461

7439:                                             ; preds = %7432
  %7440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7441 = call i32 @fileno(ptr noundef %7440) #9
  %7442 = call i32 @isatty(i32 noundef %7441) #9
  %7443 = icmp ne i32 %7442, 0
  br i1 %7443, label %7444, label %7461

7444:                                             ; preds = %7439
  %7445 = load i32, ptr %158, align 4, !tbaa !5
  %7446 = call ptr @__errno_location() #10
  store i32 %7445, ptr %7446, align 4, !tbaa !5
  %7447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7448 = load i32, ptr @test_count, align 4, !tbaa !5
  %7449 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7450 = load i32, ptr %7449, align 4, !tbaa !5
  %7451 = call ptr @s2n_strerror(i32 noundef %7450, ptr noundef @.str.4)
  %7452 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7453 = load i32, ptr %7452, align 4, !tbaa !5
  %7454 = call ptr @s2n_strerror_debug(i32 noundef %7453, ptr noundef @.str.4)
  %7455 = call ptr @__errno_location() #10
  %7456 = load i32, ptr %7455, align 4, !tbaa !5
  %7457 = call ptr @strerror(i32 noundef %7456) #9
  %7458 = call ptr @__errno_location() #10
  %7459 = load i32, ptr %7458, align 4, !tbaa !5
  %7460 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7447, ptr noundef @.str.2, i32 noundef %7448, ptr noundef @.str.80, ptr noundef @.str.1, i32 noundef 346, ptr noundef %7451, ptr noundef %7454, ptr noundef %7457, i32 noundef %7459) #9
  br label %7478

7461:                                             ; preds = %7439, %7432
  %7462 = load i32, ptr %158, align 4, !tbaa !5
  %7463 = call ptr @__errno_location() #10
  store i32 %7462, ptr %7463, align 4, !tbaa !5
  %7464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7465 = load i32, ptr @test_count, align 4, !tbaa !5
  %7466 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7467 = load i32, ptr %7466, align 4, !tbaa !5
  %7468 = call ptr @s2n_strerror(i32 noundef %7467, ptr noundef @.str.4)
  %7469 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7470 = load i32, ptr %7469, align 4, !tbaa !5
  %7471 = call ptr @s2n_strerror_debug(i32 noundef %7470, ptr noundef @.str.4)
  %7472 = call ptr @__errno_location() #10
  %7473 = load i32, ptr %7472, align 4, !tbaa !5
  %7474 = call ptr @strerror(i32 noundef %7473) #9
  %7475 = call ptr @__errno_location() #10
  %7476 = load i32, ptr %7475, align 4, !tbaa !5
  %7477 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7464, ptr noundef @.str.5, i32 noundef %7465, ptr noundef @.str.80, ptr noundef @.str.1, i32 noundef 346, ptr noundef %7468, ptr noundef %7471, ptr noundef %7474, i32 noundef %7476) #9
  br label %7478

7478:                                             ; preds = %7461, %7444
  call void @llvm.lifetime.end.p0(i64 4, ptr %158) #9
  br label %7479

7479:                                             ; preds = %7478
  br label %7480

7480:                                             ; preds = %7479
  call void @exit(i32 noundef 1) #11
  unreachable

7481:                                             ; No predecessors!
  br label %7482

7482:                                             ; preds = %7481
  br label %7483

7483:                                             ; preds = %7482, %7425
  br label %7484

7484:                                             ; preds = %7483
  br label %7485

7485:                                             ; preds = %7484
  call void @llvm.lifetime.end.p0(i64 4, ptr %156) #9
  br label %7486

7486:                                             ; preds = %7485
  br label %7487

7487:                                             ; preds = %7486
  br label %7488

7488:                                             ; preds = %7487
  br label %7489

7489:                                             ; preds = %7488
  br label %7490

7490:                                             ; preds = %7489
  br label %7491

7491:                                             ; preds = %7490
  call void @llvm.lifetime.start.p0(i64 4, ptr %159) #9
  br label %7492

7492:                                             ; preds = %7491
  br label %7493

7493:                                             ; preds = %7492
  %7494 = load i32, ptr @test_count, align 4, !tbaa !5
  %7495 = add nsw i32 %7494, 1
  store i32 %7495, ptr @test_count, align 4, !tbaa !5
  %7496 = call i32 @s2n_mul_overflow(i32 noundef 65539, i32 noundef 65534, ptr noundef %159)
  %7497 = icmp eq i32 %7496, -1
  br i1 %7497, label %7551, label %7498

7498:                                             ; preds = %7493
  br label %7499

7499:                                             ; preds = %7498
  br label %7500

7500:                                             ; preds = %7499
  call void @llvm.lifetime.start.p0(i64 4, ptr %160) #9
  %7501 = call ptr @__errno_location() #10
  %7502 = load i32, ptr %7501, align 4, !tbaa !5
  store i32 %7502, ptr %160, align 4, !tbaa !5
  %7503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7504 = call i32 @s2n_print_stacktrace(ptr noundef %7503)
  %7505 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7506 = trunc i8 %7505 to i1
  br i1 %7506, label %7507, label %7529

7507:                                             ; preds = %7500
  %7508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7509 = call i32 @fileno(ptr noundef %7508) #9
  %7510 = call i32 @isatty(i32 noundef %7509) #9
  %7511 = icmp ne i32 %7510, 0
  br i1 %7511, label %7512, label %7529

7512:                                             ; preds = %7507
  %7513 = load i32, ptr %160, align 4, !tbaa !5
  %7514 = call ptr @__errno_location() #10
  store i32 %7513, ptr %7514, align 4, !tbaa !5
  %7515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7516 = load i32, ptr @test_count, align 4, !tbaa !5
  %7517 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7518 = load i32, ptr %7517, align 4, !tbaa !5
  %7519 = call ptr @s2n_strerror(i32 noundef %7518, ptr noundef @.str.4)
  %7520 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7521 = load i32, ptr %7520, align 4, !tbaa !5
  %7522 = call ptr @s2n_strerror_debug(i32 noundef %7521, ptr noundef @.str.4)
  %7523 = call ptr @__errno_location() #10
  %7524 = load i32, ptr %7523, align 4, !tbaa !5
  %7525 = call ptr @strerror(i32 noundef %7524) #9
  %7526 = call ptr @__errno_location() #10
  %7527 = load i32, ptr %7526, align 4, !tbaa !5
  %7528 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7515, ptr noundef @.str.2, i32 noundef %7516, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 347, ptr noundef %7519, ptr noundef %7522, ptr noundef %7525, i32 noundef %7527) #9
  br label %7546

7529:                                             ; preds = %7507, %7500
  %7530 = load i32, ptr %160, align 4, !tbaa !5
  %7531 = call ptr @__errno_location() #10
  store i32 %7530, ptr %7531, align 4, !tbaa !5
  %7532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7533 = load i32, ptr @test_count, align 4, !tbaa !5
  %7534 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7535 = load i32, ptr %7534, align 4, !tbaa !5
  %7536 = call ptr @s2n_strerror(i32 noundef %7535, ptr noundef @.str.4)
  %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_debug(i32 noundef %7538, ptr noundef @.str.4)
  %7540 = call ptr @__errno_location() #10
  %7541 = load i32, ptr %7540, align 4, !tbaa !5
  %7542 = call ptr @strerror(i32 noundef %7541) #9
  %7543 = call ptr @__errno_location() #10
  %7544 = load i32, ptr %7543, align 4, !tbaa !5
  %7545 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7532, ptr noundef @.str.5, i32 noundef %7533, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 347, ptr noundef %7536, ptr noundef %7539, ptr noundef %7542, i32 noundef %7544) #9
  br label %7546

7546:                                             ; preds = %7529, %7512
  call void @llvm.lifetime.end.p0(i64 4, ptr %160) #9
  br label %7547

7547:                                             ; preds = %7546
  br label %7548

7548:                                             ; preds = %7547
  call void @exit(i32 noundef 1) #11
  unreachable

7549:                                             ; No predecessors!
  br label %7550

7550:                                             ; preds = %7549
  br label %7551

7551:                                             ; preds = %7550, %7493
  br label %7552

7552:                                             ; preds = %7551
  br label %7553

7553:                                             ; preds = %7552
  br label %7554

7554:                                             ; preds = %7553
  %7555 = load i32, ptr @test_count, align 4, !tbaa !5
  %7556 = add nsw i32 %7555, 1
  store i32 %7556, ptr @test_count, align 4, !tbaa !5
  %7557 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7558 = load i32, ptr %7557, align 4, !tbaa !5
  %7559 = icmp eq i32 %7558, 0
  br i1 %7559, label %7560, label %7613

7560:                                             ; preds = %7554
  br label %7561

7561:                                             ; preds = %7560
  br label %7562

7562:                                             ; preds = %7561
  call void @llvm.lifetime.start.p0(i64 4, ptr %161) #9
  %7563 = call ptr @__errno_location() #10
  %7564 = load i32, ptr %7563, align 4, !tbaa !5
  store i32 %7564, ptr %161, align 4, !tbaa !5
  %7565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7566 = call i32 @s2n_print_stacktrace(ptr noundef %7565)
  %7567 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7568 = trunc i8 %7567 to i1
  br i1 %7568, label %7569, label %7591

7569:                                             ; preds = %7562
  %7570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7571 = call i32 @fileno(ptr noundef %7570) #9
  %7572 = call i32 @isatty(i32 noundef %7571) #9
  %7573 = icmp ne i32 %7572, 0
  br i1 %7573, label %7574, label %7591

7574:                                             ; preds = %7569
  %7575 = load i32, ptr %161, align 4, !tbaa !5
  %7576 = call ptr @__errno_location() #10
  store i32 %7575, ptr %7576, align 4, !tbaa !5
  %7577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7578 = load i32, ptr @test_count, align 4, !tbaa !5
  %7579 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7580 = load i32, ptr %7579, align 4, !tbaa !5
  %7581 = call ptr @s2n_strerror(i32 noundef %7580, ptr noundef @.str.4)
  %7582 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7583 = load i32, ptr %7582, align 4, !tbaa !5
  %7584 = call ptr @s2n_strerror_debug(i32 noundef %7583, ptr noundef @.str.4)
  %7585 = call ptr @__errno_location() #10
  %7586 = load i32, ptr %7585, align 4, !tbaa !5
  %7587 = call ptr @strerror(i32 noundef %7586) #9
  %7588 = call ptr @__errno_location() #10
  %7589 = load i32, ptr %7588, align 4, !tbaa !5
  %7590 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7577, ptr noundef @.str.2, i32 noundef %7578, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 347, ptr noundef %7581, ptr noundef %7584, ptr noundef %7587, i32 noundef %7589) #9
  br label %7608

7591:                                             ; preds = %7569, %7562
  %7592 = load i32, ptr %161, align 4, !tbaa !5
  %7593 = call ptr @__errno_location() #10
  store i32 %7592, ptr %7593, align 4, !tbaa !5
  %7594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7595 = load i32, ptr @test_count, align 4, !tbaa !5
  %7596 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7597 = load i32, ptr %7596, align 4, !tbaa !5
  %7598 = call ptr @s2n_strerror(i32 noundef %7597, ptr noundef @.str.4)
  %7599 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7600 = load i32, ptr %7599, align 4, !tbaa !5
  %7601 = call ptr @s2n_strerror_debug(i32 noundef %7600, ptr noundef @.str.4)
  %7602 = call ptr @__errno_location() #10
  %7603 = load i32, ptr %7602, align 4, !tbaa !5
  %7604 = call ptr @strerror(i32 noundef %7603) #9
  %7605 = call ptr @__errno_location() #10
  %7606 = load i32, ptr %7605, align 4, !tbaa !5
  %7607 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7594, ptr noundef @.str.5, i32 noundef %7595, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 347, ptr noundef %7598, ptr noundef %7601, ptr noundef %7604, i32 noundef %7606) #9
  br label %7608

7608:                                             ; preds = %7591, %7574
  call void @llvm.lifetime.end.p0(i64 4, ptr %161) #9
  br label %7609

7609:                                             ; preds = %7608
  br label %7610

7610:                                             ; preds = %7609
  call void @exit(i32 noundef 1) #11
  unreachable

7611:                                             ; No predecessors!
  br label %7612

7612:                                             ; preds = %7611
  br label %7613

7613:                                             ; preds = %7612, %7554
  br label %7614

7614:                                             ; preds = %7613
  br label %7615

7615:                                             ; preds = %7614
  br label %7616

7616:                                             ; preds = %7615
  %7617 = load i32, ptr @test_count, align 4, !tbaa !5
  %7618 = add nsw i32 %7617, 1
  store i32 %7618, ptr @test_count, align 4, !tbaa !5
  %7619 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7620 = load i32, ptr %7619, align 4, !tbaa !5
  %7621 = call ptr @s2n_strerror_debug(i32 noundef %7620, ptr noundef @.str.4)
  %7622 = icmp eq ptr %7621, null
  br i1 %7622, label %7623, label %7676

7623:                                             ; preds = %7616
  br label %7624

7624:                                             ; preds = %7623
  br label %7625

7625:                                             ; preds = %7624
  call void @llvm.lifetime.start.p0(i64 4, ptr %162) #9
  %7626 = call ptr @__errno_location() #10
  %7627 = load i32, ptr %7626, align 4, !tbaa !5
  store i32 %7627, ptr %162, align 4, !tbaa !5
  %7628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7629 = call i32 @s2n_print_stacktrace(ptr noundef %7628)
  %7630 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7631 = trunc i8 %7630 to i1
  br i1 %7631, label %7632, label %7654

7632:                                             ; preds = %7625
  %7633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7634 = call i32 @fileno(ptr noundef %7633) #9
  %7635 = call i32 @isatty(i32 noundef %7634) #9
  %7636 = icmp ne i32 %7635, 0
  br i1 %7636, label %7637, label %7654

7637:                                             ; preds = %7632
  %7638 = load i32, ptr %162, align 4, !tbaa !5
  %7639 = call ptr @__errno_location() #10
  store i32 %7638, ptr %7639, align 4, !tbaa !5
  %7640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7641 = load i32, ptr @test_count, align 4, !tbaa !5
  %7642 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7643 = load i32, ptr %7642, align 4, !tbaa !5
  %7644 = call ptr @s2n_strerror(i32 noundef %7643, ptr noundef @.str.4)
  %7645 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7646 = load i32, ptr %7645, align 4, !tbaa !5
  %7647 = call ptr @s2n_strerror_debug(i32 noundef %7646, ptr noundef @.str.4)
  %7648 = call ptr @__errno_location() #10
  %7649 = load i32, ptr %7648, align 4, !tbaa !5
  %7650 = call ptr @strerror(i32 noundef %7649) #9
  %7651 = call ptr @__errno_location() #10
  %7652 = load i32, ptr %7651, align 4, !tbaa !5
  %7653 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7640, ptr noundef @.str.2, i32 noundef %7641, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 347, ptr noundef %7644, ptr noundef %7647, ptr noundef %7650, i32 noundef %7652) #9
  br label %7671

7654:                                             ; preds = %7632, %7625
  %7655 = load i32, ptr %162, align 4, !tbaa !5
  %7656 = call ptr @__errno_location() #10
  store i32 %7655, ptr %7656, align 4, !tbaa !5
  %7657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7658 = load i32, ptr @test_count, align 4, !tbaa !5
  %7659 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7660 = load i32, ptr %7659, align 4, !tbaa !5
  %7661 = call ptr @s2n_strerror(i32 noundef %7660, ptr noundef @.str.4)
  %7662 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7663 = load i32, ptr %7662, align 4, !tbaa !5
  %7664 = call ptr @s2n_strerror_debug(i32 noundef %7663, ptr noundef @.str.4)
  %7665 = call ptr @__errno_location() #10
  %7666 = load i32, ptr %7665, align 4, !tbaa !5
  %7667 = call ptr @strerror(i32 noundef %7666) #9
  %7668 = call ptr @__errno_location() #10
  %7669 = load i32, ptr %7668, align 4, !tbaa !5
  %7670 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7657, ptr noundef @.str.5, i32 noundef %7658, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 347, ptr noundef %7661, ptr noundef %7664, ptr noundef %7667, i32 noundef %7669) #9
  br label %7671

7671:                                             ; preds = %7654, %7637
  call void @llvm.lifetime.end.p0(i64 4, ptr %162) #9
  br label %7672

7672:                                             ; preds = %7671
  br label %7673

7673:                                             ; preds = %7672
  call void @exit(i32 noundef 1) #11
  unreachable

7674:                                             ; No predecessors!
  br label %7675

7675:                                             ; preds = %7674
  br label %7676

7676:                                             ; preds = %7675, %7616
  br label %7677

7677:                                             ; preds = %7676
  br label %7678

7678:                                             ; preds = %7677
  br label %7679

7679:                                             ; preds = %7678
  %7680 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %7680, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %7681 = call ptr @__errno_location() #10
  store i32 0, ptr %7681, align 4, !tbaa !5
  br label %7682

7682:                                             ; preds = %7679
  br label %7683

7683:                                             ; preds = %7682
  br label %7684

7684:                                             ; preds = %7683
  br label %7685

7685:                                             ; preds = %7684
  call void @llvm.lifetime.end.p0(i64 4, ptr %159) #9
  br label %7686

7686:                                             ; preds = %7685
  br label %7687

7687:                                             ; preds = %7686
  br label %7688

7688:                                             ; preds = %7687
  call void @llvm.lifetime.start.p0(i64 4, ptr %163) #9
  br label %7689

7689:                                             ; preds = %7688
  br label %7690

7690:                                             ; preds = %7689
  %7691 = load i32, ptr @test_count, align 4, !tbaa !5
  %7692 = add nsw i32 %7691, 1
  store i32 %7692, ptr @test_count, align 4, !tbaa !5
  %7693 = call i32 @s2n_mul_overflow(i32 noundef 65534, i32 noundef 65539, ptr noundef %163)
  %7694 = icmp eq i32 %7693, -1
  br i1 %7694, label %7748, label %7695

7695:                                             ; preds = %7690
  br label %7696

7696:                                             ; preds = %7695
  br label %7697

7697:                                             ; preds = %7696
  call void @llvm.lifetime.start.p0(i64 4, ptr %164) #9
  %7698 = call ptr @__errno_location() #10
  %7699 = load i32, ptr %7698, align 4, !tbaa !5
  store i32 %7699, ptr %164, align 4, !tbaa !5
  %7700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7701 = call i32 @s2n_print_stacktrace(ptr noundef %7700)
  %7702 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7703 = trunc i8 %7702 to i1
  br i1 %7703, label %7704, label %7726

7704:                                             ; preds = %7697
  %7705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7706 = call i32 @fileno(ptr noundef %7705) #9
  %7707 = call i32 @isatty(i32 noundef %7706) #9
  %7708 = icmp ne i32 %7707, 0
  br i1 %7708, label %7709, label %7726

7709:                                             ; preds = %7704
  %7710 = load i32, ptr %164, align 4, !tbaa !5
  %7711 = call ptr @__errno_location() #10
  store i32 %7710, ptr %7711, align 4, !tbaa !5
  %7712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7713 = load i32, ptr @test_count, align 4, !tbaa !5
  %7714 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7715 = load i32, ptr %7714, align 4, !tbaa !5
  %7716 = call ptr @s2n_strerror(i32 noundef %7715, ptr noundef @.str.4)
  %7717 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7718 = load i32, ptr %7717, align 4, !tbaa !5
  %7719 = call ptr @s2n_strerror_debug(i32 noundef %7718, ptr noundef @.str.4)
  %7720 = call ptr @__errno_location() #10
  %7721 = load i32, ptr %7720, align 4, !tbaa !5
  %7722 = call ptr @strerror(i32 noundef %7721) #9
  %7723 = call ptr @__errno_location() #10
  %7724 = load i32, ptr %7723, align 4, !tbaa !5
  %7725 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7712, ptr noundef @.str.2, i32 noundef %7713, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 347, ptr noundef %7716, ptr noundef %7719, ptr noundef %7722, i32 noundef %7724) #9
  br label %7743

7726:                                             ; preds = %7704, %7697
  %7727 = load i32, ptr %164, align 4, !tbaa !5
  %7728 = call ptr @__errno_location() #10
  store i32 %7727, ptr %7728, align 4, !tbaa !5
  %7729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7730 = load i32, ptr @test_count, align 4, !tbaa !5
  %7731 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7732 = load i32, ptr %7731, align 4, !tbaa !5
  %7733 = call ptr @s2n_strerror(i32 noundef %7732, ptr noundef @.str.4)
  %7734 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7735 = load i32, ptr %7734, align 4, !tbaa !5
  %7736 = call ptr @s2n_strerror_debug(i32 noundef %7735, ptr noundef @.str.4)
  %7737 = call ptr @__errno_location() #10
  %7738 = load i32, ptr %7737, align 4, !tbaa !5
  %7739 = call ptr @strerror(i32 noundef %7738) #9
  %7740 = call ptr @__errno_location() #10
  %7741 = load i32, ptr %7740, align 4, !tbaa !5
  %7742 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7729, ptr noundef @.str.5, i32 noundef %7730, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 347, ptr noundef %7733, ptr noundef %7736, ptr noundef %7739, i32 noundef %7741) #9
  br label %7743

7743:                                             ; preds = %7726, %7709
  call void @llvm.lifetime.end.p0(i64 4, ptr %164) #9
  br label %7744

7744:                                             ; preds = %7743
  br label %7745

7745:                                             ; preds = %7744
  call void @exit(i32 noundef 1) #11
  unreachable

7746:                                             ; No predecessors!
  br label %7747

7747:                                             ; preds = %7746
  br label %7748

7748:                                             ; preds = %7747, %7690
  br label %7749

7749:                                             ; preds = %7748
  br label %7750

7750:                                             ; preds = %7749
  br label %7751

7751:                                             ; preds = %7750
  %7752 = load i32, ptr @test_count, align 4, !tbaa !5
  %7753 = add nsw i32 %7752, 1
  store i32 %7753, ptr @test_count, align 4, !tbaa !5
  %7754 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7755 = load i32, ptr %7754, align 4, !tbaa !5
  %7756 = icmp eq i32 %7755, 0
  br i1 %7756, label %7757, label %7810

7757:                                             ; preds = %7751
  br label %7758

7758:                                             ; preds = %7757
  br label %7759

7759:                                             ; preds = %7758
  call void @llvm.lifetime.start.p0(i64 4, ptr %165) #9
  %7760 = call ptr @__errno_location() #10
  %7761 = load i32, ptr %7760, align 4, !tbaa !5
  store i32 %7761, ptr %165, align 4, !tbaa !5
  %7762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7763 = call i32 @s2n_print_stacktrace(ptr noundef %7762)
  %7764 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7765 = trunc i8 %7764 to i1
  br i1 %7765, label %7766, label %7788

7766:                                             ; preds = %7759
  %7767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7768 = call i32 @fileno(ptr noundef %7767) #9
  %7769 = call i32 @isatty(i32 noundef %7768) #9
  %7770 = icmp ne i32 %7769, 0
  br i1 %7770, label %7771, label %7788

7771:                                             ; preds = %7766
  %7772 = load i32, ptr %165, align 4, !tbaa !5
  %7773 = call ptr @__errno_location() #10
  store i32 %7772, ptr %7773, align 4, !tbaa !5
  %7774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7775 = load i32, ptr @test_count, align 4, !tbaa !5
  %7776 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7777 = load i32, ptr %7776, align 4, !tbaa !5
  %7778 = call ptr @s2n_strerror(i32 noundef %7777, ptr noundef @.str.4)
  %7779 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7780 = load i32, ptr %7779, align 4, !tbaa !5
  %7781 = call ptr @s2n_strerror_debug(i32 noundef %7780, ptr noundef @.str.4)
  %7782 = call ptr @__errno_location() #10
  %7783 = load i32, ptr %7782, align 4, !tbaa !5
  %7784 = call ptr @strerror(i32 noundef %7783) #9
  %7785 = call ptr @__errno_location() #10
  %7786 = load i32, ptr %7785, align 4, !tbaa !5
  %7787 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7774, ptr noundef @.str.2, i32 noundef %7775, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 347, ptr noundef %7778, ptr noundef %7781, ptr noundef %7784, i32 noundef %7786) #9
  br label %7805

7788:                                             ; preds = %7766, %7759
  %7789 = load i32, ptr %165, align 4, !tbaa !5
  %7790 = call ptr @__errno_location() #10
  store i32 %7789, ptr %7790, align 4, !tbaa !5
  %7791 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7792 = load i32, ptr @test_count, align 4, !tbaa !5
  %7793 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7794 = load i32, ptr %7793, align 4, !tbaa !5
  %7795 = call ptr @s2n_strerror(i32 noundef %7794, ptr noundef @.str.4)
  %7796 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7797 = load i32, ptr %7796, align 4, !tbaa !5
  %7798 = call ptr @s2n_strerror_debug(i32 noundef %7797, ptr noundef @.str.4)
  %7799 = call ptr @__errno_location() #10
  %7800 = load i32, ptr %7799, align 4, !tbaa !5
  %7801 = call ptr @strerror(i32 noundef %7800) #9
  %7802 = call ptr @__errno_location() #10
  %7803 = load i32, ptr %7802, align 4, !tbaa !5
  %7804 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7791, ptr noundef @.str.5, i32 noundef %7792, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 347, ptr noundef %7795, ptr noundef %7798, ptr noundef %7801, i32 noundef %7803) #9
  br label %7805

7805:                                             ; preds = %7788, %7771
  call void @llvm.lifetime.end.p0(i64 4, ptr %165) #9
  br label %7806

7806:                                             ; preds = %7805
  br label %7807

7807:                                             ; preds = %7806
  call void @exit(i32 noundef 1) #11
  unreachable

7808:                                             ; No predecessors!
  br label %7809

7809:                                             ; preds = %7808
  br label %7810

7810:                                             ; preds = %7809, %7751
  br label %7811

7811:                                             ; preds = %7810
  br label %7812

7812:                                             ; preds = %7811
  br label %7813

7813:                                             ; preds = %7812
  %7814 = load i32, ptr @test_count, align 4, !tbaa !5
  %7815 = add nsw i32 %7814, 1
  store i32 %7815, ptr @test_count, align 4, !tbaa !5
  %7816 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7817 = load i32, ptr %7816, align 4, !tbaa !5
  %7818 = call ptr @s2n_strerror_debug(i32 noundef %7817, ptr noundef @.str.4)
  %7819 = icmp eq ptr %7818, null
  br i1 %7819, label %7820, label %7873

7820:                                             ; preds = %7813
  br label %7821

7821:                                             ; preds = %7820
  br label %7822

7822:                                             ; preds = %7821
  call void @llvm.lifetime.start.p0(i64 4, ptr %166) #9
  %7823 = call ptr @__errno_location() #10
  %7824 = load i32, ptr %7823, align 4, !tbaa !5
  store i32 %7824, ptr %166, align 4, !tbaa !5
  %7825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7826 = call i32 @s2n_print_stacktrace(ptr noundef %7825)
  %7827 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7828 = trunc i8 %7827 to i1
  br i1 %7828, label %7829, label %7851

7829:                                             ; preds = %7822
  %7830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7831 = call i32 @fileno(ptr noundef %7830) #9
  %7832 = call i32 @isatty(i32 noundef %7831) #9
  %7833 = icmp ne i32 %7832, 0
  br i1 %7833, label %7834, label %7851

7834:                                             ; preds = %7829
  %7835 = load i32, ptr %166, align 4, !tbaa !5
  %7836 = call ptr @__errno_location() #10
  store i32 %7835, ptr %7836, align 4, !tbaa !5
  %7837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7838 = load i32, ptr @test_count, align 4, !tbaa !5
  %7839 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7840 = load i32, ptr %7839, align 4, !tbaa !5
  %7841 = call ptr @s2n_strerror(i32 noundef %7840, ptr noundef @.str.4)
  %7842 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7843 = load i32, ptr %7842, align 4, !tbaa !5
  %7844 = call ptr @s2n_strerror_debug(i32 noundef %7843, ptr noundef @.str.4)
  %7845 = call ptr @__errno_location() #10
  %7846 = load i32, ptr %7845, align 4, !tbaa !5
  %7847 = call ptr @strerror(i32 noundef %7846) #9
  %7848 = call ptr @__errno_location() #10
  %7849 = load i32, ptr %7848, align 4, !tbaa !5
  %7850 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7837, ptr noundef @.str.2, i32 noundef %7838, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 347, ptr noundef %7841, ptr noundef %7844, ptr noundef %7847, i32 noundef %7849) #9
  br label %7868

7851:                                             ; preds = %7829, %7822
  %7852 = load i32, ptr %166, align 4, !tbaa !5
  %7853 = call ptr @__errno_location() #10
  store i32 %7852, ptr %7853, align 4, !tbaa !5
  %7854 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7855 = load i32, ptr @test_count, align 4, !tbaa !5
  %7856 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7857 = load i32, ptr %7856, align 4, !tbaa !5
  %7858 = call ptr @s2n_strerror(i32 noundef %7857, ptr noundef @.str.4)
  %7859 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7860 = load i32, ptr %7859, align 4, !tbaa !5
  %7861 = call ptr @s2n_strerror_debug(i32 noundef %7860, ptr noundef @.str.4)
  %7862 = call ptr @__errno_location() #10
  %7863 = load i32, ptr %7862, align 4, !tbaa !5
  %7864 = call ptr @strerror(i32 noundef %7863) #9
  %7865 = call ptr @__errno_location() #10
  %7866 = load i32, ptr %7865, align 4, !tbaa !5
  %7867 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7854, ptr noundef @.str.5, i32 noundef %7855, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 347, ptr noundef %7858, ptr noundef %7861, ptr noundef %7864, i32 noundef %7866) #9
  br label %7868

7868:                                             ; preds = %7851, %7834
  call void @llvm.lifetime.end.p0(i64 4, ptr %166) #9
  br label %7869

7869:                                             ; preds = %7868
  br label %7870

7870:                                             ; preds = %7869
  call void @exit(i32 noundef 1) #11
  unreachable

7871:                                             ; No predecessors!
  br label %7872

7872:                                             ; preds = %7871
  br label %7873

7873:                                             ; preds = %7872, %7813
  br label %7874

7874:                                             ; preds = %7873
  br label %7875

7875:                                             ; preds = %7874
  br label %7876

7876:                                             ; preds = %7875
  %7877 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %7877, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %7878 = call ptr @__errno_location() #10
  store i32 0, ptr %7878, align 4, !tbaa !5
  br label %7879

7879:                                             ; preds = %7876
  br label %7880

7880:                                             ; preds = %7879
  br label %7881

7881:                                             ; preds = %7880
  br label %7882

7882:                                             ; preds = %7881
  call void @llvm.lifetime.end.p0(i64 4, ptr %163) #9
  br label %7883

7883:                                             ; preds = %7882
  br label %7884

7884:                                             ; preds = %7883
  br label %7885

7885:                                             ; preds = %7884
  br label %7886

7886:                                             ; preds = %7885
  br label %7887

7887:                                             ; preds = %7886
  br label %7888

7888:                                             ; preds = %7887
  call void @llvm.lifetime.start.p0(i64 4, ptr %167) #9
  br label %7889

7889:                                             ; preds = %7888
  %7890 = load i32, ptr @test_count, align 4, !tbaa !5
  %7891 = add nsw i32 %7890, 1
  store i32 %7891, ptr @test_count, align 4, !tbaa !5
  %7892 = call i32 @s2n_mul_overflow(i32 noundef 65534, i32 noundef 65534, ptr noundef %167)
  %7893 = icmp eq i32 %7892, -1
  br i1 %7893, label %7894, label %7947

7894:                                             ; preds = %7889
  br label %7895

7895:                                             ; preds = %7894
  br label %7896

7896:                                             ; preds = %7895
  call void @llvm.lifetime.start.p0(i64 4, ptr %168) #9
  %7897 = call ptr @__errno_location() #10
  %7898 = load i32, ptr %7897, align 4, !tbaa !5
  store i32 %7898, ptr %168, align 4, !tbaa !5
  %7899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7900 = call i32 @s2n_print_stacktrace(ptr noundef %7899)
  %7901 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7902 = trunc i8 %7901 to i1
  br i1 %7902, label %7903, label %7925

7903:                                             ; preds = %7896
  %7904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7905 = call i32 @fileno(ptr noundef %7904) #9
  %7906 = call i32 @isatty(i32 noundef %7905) #9
  %7907 = icmp ne i32 %7906, 0
  br i1 %7907, label %7908, label %7925

7908:                                             ; preds = %7903
  %7909 = load i32, ptr %168, align 4, !tbaa !5
  %7910 = call ptr @__errno_location() #10
  store i32 %7909, ptr %7910, align 4, !tbaa !5
  %7911 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7912 = load i32, ptr @test_count, align 4, !tbaa !5
  %7913 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7914 = load i32, ptr %7913, align 4, !tbaa !5
  %7915 = call ptr @s2n_strerror(i32 noundef %7914, ptr noundef @.str.4)
  %7916 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7917 = load i32, ptr %7916, align 4, !tbaa !5
  %7918 = call ptr @s2n_strerror_debug(i32 noundef %7917, ptr noundef @.str.4)
  %7919 = call ptr @__errno_location() #10
  %7920 = load i32, ptr %7919, align 4, !tbaa !5
  %7921 = call ptr @strerror(i32 noundef %7920) #9
  %7922 = call ptr @__errno_location() #10
  %7923 = load i32, ptr %7922, align 4, !tbaa !5
  %7924 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7911, ptr noundef @.str.2, i32 noundef %7912, ptr noundef @.str.84, ptr noundef @.str.1, i32 noundef 348, ptr noundef %7915, ptr noundef %7918, ptr noundef %7921, i32 noundef %7923) #9
  br label %7942

7925:                                             ; preds = %7903, %7896
  %7926 = load i32, ptr %168, align 4, !tbaa !5
  %7927 = call ptr @__errno_location() #10
  store i32 %7926, ptr %7927, align 4, !tbaa !5
  %7928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7929 = load i32, ptr @test_count, align 4, !tbaa !5
  %7930 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7931 = load i32, ptr %7930, align 4, !tbaa !5
  %7932 = call ptr @s2n_strerror(i32 noundef %7931, ptr noundef @.str.4)
  %7933 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7934 = load i32, ptr %7933, align 4, !tbaa !5
  %7935 = call ptr @s2n_strerror_debug(i32 noundef %7934, ptr noundef @.str.4)
  %7936 = call ptr @__errno_location() #10
  %7937 = load i32, ptr %7936, align 4, !tbaa !5
  %7938 = call ptr @strerror(i32 noundef %7937) #9
  %7939 = call ptr @__errno_location() #10
  %7940 = load i32, ptr %7939, align 4, !tbaa !5
  %7941 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7928, ptr noundef @.str.5, i32 noundef %7929, ptr noundef @.str.84, ptr noundef @.str.1, i32 noundef 348, ptr noundef %7932, ptr noundef %7935, ptr noundef %7938, i32 noundef %7940) #9
  br label %7942

7942:                                             ; preds = %7925, %7908
  call void @llvm.lifetime.end.p0(i64 4, ptr %168) #9
  br label %7943

7943:                                             ; preds = %7942
  br label %7944

7944:                                             ; preds = %7943
  call void @exit(i32 noundef 1) #11
  unreachable

7945:                                             ; No predecessors!
  br label %7946

7946:                                             ; preds = %7945
  br label %7947

7947:                                             ; preds = %7946, %7889
  br label %7948

7948:                                             ; preds = %7947
  br label %7949

7949:                                             ; preds = %7948
  br label %7950

7950:                                             ; preds = %7949
  %7951 = load i32, ptr @test_count, align 4, !tbaa !5
  %7952 = add nsw i32 %7951, 1
  store i32 %7952, ptr @test_count, align 4, !tbaa !5
  %7953 = load i32, ptr %167, align 4, !tbaa !5
  %7954 = icmp eq i32 %7953, -262140
  br i1 %7954, label %8008, label %7955

7955:                                             ; preds = %7950
  br label %7956

7956:                                             ; preds = %7955
  br label %7957

7957:                                             ; preds = %7956
  call void @llvm.lifetime.start.p0(i64 4, ptr %169) #9
  %7958 = call ptr @__errno_location() #10
  %7959 = load i32, ptr %7958, align 4, !tbaa !5
  store i32 %7959, ptr %169, align 4, !tbaa !5
  %7960 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7961 = call i32 @s2n_print_stacktrace(ptr noundef %7960)
  %7962 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7963 = trunc i8 %7962 to i1
  br i1 %7963, label %7964, label %7986

7964:                                             ; preds = %7957
  %7965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7966 = call i32 @fileno(ptr noundef %7965) #9
  %7967 = call i32 @isatty(i32 noundef %7966) #9
  %7968 = icmp ne i32 %7967, 0
  br i1 %7968, label %7969, label %7986

7969:                                             ; preds = %7964
  %7970 = load i32, ptr %169, align 4, !tbaa !5
  %7971 = call ptr @__errno_location() #10
  store i32 %7970, ptr %7971, align 4, !tbaa !5
  %7972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7973 = load i32, ptr @test_count, align 4, !tbaa !5
  %7974 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7975 = load i32, ptr %7974, align 4, !tbaa !5
  %7976 = call ptr @s2n_strerror(i32 noundef %7975, ptr noundef @.str.4)
  %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_debug(i32 noundef %7978, ptr noundef @.str.4)
  %7980 = call ptr @__errno_location() #10
  %7981 = load i32, ptr %7980, align 4, !tbaa !5
  %7982 = call ptr @strerror(i32 noundef %7981) #9
  %7983 = call ptr @__errno_location() #10
  %7984 = load i32, ptr %7983, align 4, !tbaa !5
  %7985 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7972, ptr noundef @.str.2, i32 noundef %7973, ptr noundef @.str.85, ptr noundef @.str.1, i32 noundef 348, ptr noundef %7976, ptr noundef %7979, ptr noundef %7982, i32 noundef %7984) #9
  br label %8003

7986:                                             ; preds = %7964, %7957
  %7987 = load i32, ptr %169, align 4, !tbaa !5
  %7988 = call ptr @__errno_location() #10
  store i32 %7987, ptr %7988, align 4, !tbaa !5
  %7989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7990 = load i32, ptr @test_count, align 4, !tbaa !5
  %7991 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7992 = load i32, ptr %7991, align 4, !tbaa !5
  %7993 = call ptr @s2n_strerror(i32 noundef %7992, ptr noundef @.str.4)
  %7994 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7995 = load i32, ptr %7994, align 4, !tbaa !5
  %7996 = call ptr @s2n_strerror_debug(i32 noundef %7995, ptr noundef @.str.4)
  %7997 = call ptr @__errno_location() #10
  %7998 = load i32, ptr %7997, align 4, !tbaa !5
  %7999 = call ptr @strerror(i32 noundef %7998) #9
  %8000 = call ptr @__errno_location() #10
  %8001 = load i32, ptr %8000, align 4, !tbaa !5
  %8002 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7989, ptr noundef @.str.5, i32 noundef %7990, ptr noundef @.str.85, ptr noundef @.str.1, i32 noundef 348, ptr noundef %7993, ptr noundef %7996, ptr noundef %7999, i32 noundef %8001) #9
  br label %8003

8003:                                             ; preds = %7986, %7969
  call void @llvm.lifetime.end.p0(i64 4, ptr %169) #9
  br label %8004

8004:                                             ; preds = %8003
  br label %8005

8005:                                             ; preds = %8004
  call void @exit(i32 noundef 1) #11
  unreachable

8006:                                             ; No predecessors!
  br label %8007

8007:                                             ; preds = %8006
  br label %8008

8008:                                             ; preds = %8007, %7950
  br label %8009

8009:                                             ; preds = %8008
  br label %8010

8010:                                             ; preds = %8009
  call void @llvm.lifetime.end.p0(i64 4, ptr %167) #9
  br label %8011

8011:                                             ; preds = %8010
  br label %8012

8012:                                             ; preds = %8011
  br label %8013

8013:                                             ; preds = %8012
  call void @llvm.lifetime.start.p0(i64 4, ptr %170) #9
  br label %8014

8014:                                             ; preds = %8013
  %8015 = load i32, ptr @test_count, align 4, !tbaa !5
  %8016 = add nsw i32 %8015, 1
  store i32 %8016, ptr @test_count, align 4, !tbaa !5
  %8017 = call i32 @s2n_mul_overflow(i32 noundef 65534, i32 noundef 65534, ptr noundef %170)
  %8018 = icmp eq i32 %8017, -1
  br i1 %8018, label %8019, label %8072

8019:                                             ; preds = %8014
  br label %8020

8020:                                             ; preds = %8019
  br label %8021

8021:                                             ; preds = %8020
  call void @llvm.lifetime.start.p0(i64 4, ptr %171) #9
  %8022 = call ptr @__errno_location() #10
  %8023 = load i32, ptr %8022, align 4, !tbaa !5
  store i32 %8023, ptr %171, align 4, !tbaa !5
  %8024 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8025 = call i32 @s2n_print_stacktrace(ptr noundef %8024)
  %8026 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8027 = trunc i8 %8026 to i1
  br i1 %8027, label %8028, label %8050

8028:                                             ; preds = %8021
  %8029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8030 = call i32 @fileno(ptr noundef %8029) #9
  %8031 = call i32 @isatty(i32 noundef %8030) #9
  %8032 = icmp ne i32 %8031, 0
  br i1 %8032, label %8033, label %8050

8033:                                             ; preds = %8028
  %8034 = load i32, ptr %171, align 4, !tbaa !5
  %8035 = call ptr @__errno_location() #10
  store i32 %8034, ptr %8035, align 4, !tbaa !5
  %8036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8037 = load i32, ptr @test_count, align 4, !tbaa !5
  %8038 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8039 = load i32, ptr %8038, align 4, !tbaa !5
  %8040 = call ptr @s2n_strerror(i32 noundef %8039, ptr noundef @.str.4)
  %8041 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8042 = load i32, ptr %8041, align 4, !tbaa !5
  %8043 = call ptr @s2n_strerror_debug(i32 noundef %8042, ptr noundef @.str.4)
  %8044 = call ptr @__errno_location() #10
  %8045 = load i32, ptr %8044, align 4, !tbaa !5
  %8046 = call ptr @strerror(i32 noundef %8045) #9
  %8047 = call ptr @__errno_location() #10
  %8048 = load i32, ptr %8047, align 4, !tbaa !5
  %8049 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8036, ptr noundef @.str.2, i32 noundef %8037, ptr noundef @.str.84, ptr noundef @.str.1, i32 noundef 348, ptr noundef %8040, ptr noundef %8043, ptr noundef %8046, i32 noundef %8048) #9
  br label %8067

8050:                                             ; preds = %8028, %8021
  %8051 = load i32, ptr %171, align 4, !tbaa !5
  %8052 = call ptr @__errno_location() #10
  store i32 %8051, ptr %8052, align 4, !tbaa !5
  %8053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8054 = load i32, ptr @test_count, align 4, !tbaa !5
  %8055 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8056 = load i32, ptr %8055, align 4, !tbaa !5
  %8057 = call ptr @s2n_strerror(i32 noundef %8056, ptr noundef @.str.4)
  %8058 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8059 = load i32, ptr %8058, align 4, !tbaa !5
  %8060 = call ptr @s2n_strerror_debug(i32 noundef %8059, ptr noundef @.str.4)
  %8061 = call ptr @__errno_location() #10
  %8062 = load i32, ptr %8061, align 4, !tbaa !5
  %8063 = call ptr @strerror(i32 noundef %8062) #9
  %8064 = call ptr @__errno_location() #10
  %8065 = load i32, ptr %8064, align 4, !tbaa !5
  %8066 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8053, ptr noundef @.str.5, i32 noundef %8054, ptr noundef @.str.84, ptr noundef @.str.1, i32 noundef 348, ptr noundef %8057, ptr noundef %8060, ptr noundef %8063, i32 noundef %8065) #9
  br label %8067

8067:                                             ; preds = %8050, %8033
  call void @llvm.lifetime.end.p0(i64 4, ptr %171) #9
  br label %8068

8068:                                             ; preds = %8067
  br label %8069

8069:                                             ; preds = %8068
  call void @exit(i32 noundef 1) #11
  unreachable

8070:                                             ; No predecessors!
  br label %8071

8071:                                             ; preds = %8070
  br label %8072

8072:                                             ; preds = %8071, %8014
  br label %8073

8073:                                             ; preds = %8072
  br label %8074

8074:                                             ; preds = %8073
  br label %8075

8075:                                             ; preds = %8074
  %8076 = load i32, ptr @test_count, align 4, !tbaa !5
  %8077 = add nsw i32 %8076, 1
  store i32 %8077, ptr @test_count, align 4, !tbaa !5
  %8078 = load i32, ptr %170, align 4, !tbaa !5
  %8079 = icmp eq i32 %8078, -262140
  br i1 %8079, label %8133, label %8080

8080:                                             ; preds = %8075
  br label %8081

8081:                                             ; preds = %8080
  br label %8082

8082:                                             ; preds = %8081
  call void @llvm.lifetime.start.p0(i64 4, ptr %172) #9
  %8083 = call ptr @__errno_location() #10
  %8084 = load i32, ptr %8083, align 4, !tbaa !5
  store i32 %8084, ptr %172, align 4, !tbaa !5
  %8085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8086 = call i32 @s2n_print_stacktrace(ptr noundef %8085)
  %8087 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8088 = trunc i8 %8087 to i1
  br i1 %8088, label %8089, label %8111

8089:                                             ; preds = %8082
  %8090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8091 = call i32 @fileno(ptr noundef %8090) #9
  %8092 = call i32 @isatty(i32 noundef %8091) #9
  %8093 = icmp ne i32 %8092, 0
  br i1 %8093, label %8094, label %8111

8094:                                             ; preds = %8089
  %8095 = load i32, ptr %172, align 4, !tbaa !5
  %8096 = call ptr @__errno_location() #10
  store i32 %8095, ptr %8096, align 4, !tbaa !5
  %8097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8098 = load i32, ptr @test_count, align 4, !tbaa !5
  %8099 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8100 = load i32, ptr %8099, align 4, !tbaa !5
  %8101 = call ptr @s2n_strerror(i32 noundef %8100, ptr noundef @.str.4)
  %8102 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8103 = load i32, ptr %8102, align 4, !tbaa !5
  %8104 = call ptr @s2n_strerror_debug(i32 noundef %8103, ptr noundef @.str.4)
  %8105 = call ptr @__errno_location() #10
  %8106 = load i32, ptr %8105, align 4, !tbaa !5
  %8107 = call ptr @strerror(i32 noundef %8106) #9
  %8108 = call ptr @__errno_location() #10
  %8109 = load i32, ptr %8108, align 4, !tbaa !5
  %8110 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8097, ptr noundef @.str.2, i32 noundef %8098, ptr noundef @.str.85, ptr noundef @.str.1, i32 noundef 348, ptr noundef %8101, ptr noundef %8104, ptr noundef %8107, i32 noundef %8109) #9
  br label %8128

8111:                                             ; preds = %8089, %8082
  %8112 = load i32, ptr %172, align 4, !tbaa !5
  %8113 = call ptr @__errno_location() #10
  store i32 %8112, ptr %8113, align 4, !tbaa !5
  %8114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8115 = load i32, ptr @test_count, align 4, !tbaa !5
  %8116 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8117 = load i32, ptr %8116, align 4, !tbaa !5
  %8118 = call ptr @s2n_strerror(i32 noundef %8117, ptr noundef @.str.4)
  %8119 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8120 = load i32, ptr %8119, align 4, !tbaa !5
  %8121 = call ptr @s2n_strerror_debug(i32 noundef %8120, ptr noundef @.str.4)
  %8122 = call ptr @__errno_location() #10
  %8123 = load i32, ptr %8122, align 4, !tbaa !5
  %8124 = call ptr @strerror(i32 noundef %8123) #9
  %8125 = call ptr @__errno_location() #10
  %8126 = load i32, ptr %8125, align 4, !tbaa !5
  %8127 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8114, ptr noundef @.str.5, i32 noundef %8115, ptr noundef @.str.85, ptr noundef @.str.1, i32 noundef 348, ptr noundef %8118, ptr noundef %8121, ptr noundef %8124, i32 noundef %8126) #9
  br label %8128

8128:                                             ; preds = %8111, %8094
  call void @llvm.lifetime.end.p0(i64 4, ptr %172) #9
  br label %8129

8129:                                             ; preds = %8128
  br label %8130

8130:                                             ; preds = %8129
  call void @exit(i32 noundef 1) #11
  unreachable

8131:                                             ; No predecessors!
  br label %8132

8132:                                             ; preds = %8131
  br label %8133

8133:                                             ; preds = %8132, %8075
  br label %8134

8134:                                             ; preds = %8133
  br label %8135

8135:                                             ; preds = %8134
  call void @llvm.lifetime.end.p0(i64 4, ptr %170) #9
  br label %8136

8136:                                             ; preds = %8135
  br label %8137

8137:                                             ; preds = %8136
  br label %8138

8138:                                             ; preds = %8137
  br label %8139

8139:                                             ; preds = %8138
  br label %8140

8140:                                             ; preds = %8139
  br label %8141

8141:                                             ; preds = %8140
  call void @llvm.lifetime.start.p0(i64 4, ptr %173) #9
  br label %8142

8142:                                             ; preds = %8141
  br label %8143

8143:                                             ; preds = %8142
  %8144 = load i32, ptr @test_count, align 4, !tbaa !5
  %8145 = add nsw i32 %8144, 1
  store i32 %8145, ptr @test_count, align 4, !tbaa !5
  %8146 = call i32 @s2n_mul_overflow(i32 noundef 131071, i32 noundef 131071, ptr noundef %173)
  %8147 = icmp eq i32 %8146, -1
  br i1 %8147, label %8201, label %8148

8148:                                             ; preds = %8143
  br label %8149

8149:                                             ; preds = %8148
  br label %8150

8150:                                             ; preds = %8149
  call void @llvm.lifetime.start.p0(i64 4, ptr %174) #9
  %8151 = call ptr @__errno_location() #10
  %8152 = load i32, ptr %8151, align 4, !tbaa !5
  store i32 %8152, ptr %174, align 4, !tbaa !5
  %8153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8154 = call i32 @s2n_print_stacktrace(ptr noundef %8153)
  %8155 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8156 = trunc i8 %8155 to i1
  br i1 %8156, label %8157, label %8179

8157:                                             ; preds = %8150
  %8158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8159 = call i32 @fileno(ptr noundef %8158) #9
  %8160 = call i32 @isatty(i32 noundef %8159) #9
  %8161 = icmp ne i32 %8160, 0
  br i1 %8161, label %8162, label %8179

8162:                                             ; preds = %8157
  %8163 = load i32, ptr %174, align 4, !tbaa !5
  %8164 = call ptr @__errno_location() #10
  store i32 %8163, ptr %8164, align 4, !tbaa !5
  %8165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8166 = load i32, ptr @test_count, align 4, !tbaa !5
  %8167 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8168 = load i32, ptr %8167, align 4, !tbaa !5
  %8169 = call ptr @s2n_strerror(i32 noundef %8168, ptr noundef @.str.4)
  %8170 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8171 = load i32, ptr %8170, align 4, !tbaa !5
  %8172 = call ptr @s2n_strerror_debug(i32 noundef %8171, ptr noundef @.str.4)
  %8173 = call ptr @__errno_location() #10
  %8174 = load i32, ptr %8173, align 4, !tbaa !5
  %8175 = call ptr @strerror(i32 noundef %8174) #9
  %8176 = call ptr @__errno_location() #10
  %8177 = load i32, ptr %8176, align 4, !tbaa !5
  %8178 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8165, ptr noundef @.str.2, i32 noundef %8166, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 349, ptr noundef %8169, ptr noundef %8172, ptr noundef %8175, i32 noundef %8177) #9
  br label %8196

8179:                                             ; preds = %8157, %8150
  %8180 = load i32, ptr %174, align 4, !tbaa !5
  %8181 = call ptr @__errno_location() #10
  store i32 %8180, ptr %8181, align 4, !tbaa !5
  %8182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8183 = load i32, ptr @test_count, align 4, !tbaa !5
  %8184 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8185 = load i32, ptr %8184, align 4, !tbaa !5
  %8186 = call ptr @s2n_strerror(i32 noundef %8185, ptr noundef @.str.4)
  %8187 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8188 = load i32, ptr %8187, align 4, !tbaa !5
  %8189 = call ptr @s2n_strerror_debug(i32 noundef %8188, ptr noundef @.str.4)
  %8190 = call ptr @__errno_location() #10
  %8191 = load i32, ptr %8190, align 4, !tbaa !5
  %8192 = call ptr @strerror(i32 noundef %8191) #9
  %8193 = call ptr @__errno_location() #10
  %8194 = load i32, ptr %8193, align 4, !tbaa !5
  %8195 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8182, ptr noundef @.str.5, i32 noundef %8183, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 349, ptr noundef %8186, ptr noundef %8189, ptr noundef %8192, i32 noundef %8194) #9
  br label %8196

8196:                                             ; preds = %8179, %8162
  call void @llvm.lifetime.end.p0(i64 4, ptr %174) #9
  br label %8197

8197:                                             ; preds = %8196
  br label %8198

8198:                                             ; preds = %8197
  call void @exit(i32 noundef 1) #11
  unreachable

8199:                                             ; No predecessors!
  br label %8200

8200:                                             ; preds = %8199
  br label %8201

8201:                                             ; preds = %8200, %8143
  br label %8202

8202:                                             ; preds = %8201
  br label %8203

8203:                                             ; preds = %8202
  br label %8204

8204:                                             ; preds = %8203
  %8205 = load i32, ptr @test_count, align 4, !tbaa !5
  %8206 = add nsw i32 %8205, 1
  store i32 %8206, ptr @test_count, align 4, !tbaa !5
  %8207 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8208 = load i32, ptr %8207, align 4, !tbaa !5
  %8209 = icmp eq i32 %8208, 0
  br i1 %8209, label %8210, label %8263

8210:                                             ; preds = %8204
  br label %8211

8211:                                             ; preds = %8210
  br label %8212

8212:                                             ; preds = %8211
  call void @llvm.lifetime.start.p0(i64 4, ptr %175) #9
  %8213 = call ptr @__errno_location() #10
  %8214 = load i32, ptr %8213, align 4, !tbaa !5
  store i32 %8214, ptr %175, align 4, !tbaa !5
  %8215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8216 = call i32 @s2n_print_stacktrace(ptr noundef %8215)
  %8217 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8218 = trunc i8 %8217 to i1
  br i1 %8218, label %8219, label %8241

8219:                                             ; preds = %8212
  %8220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8221 = call i32 @fileno(ptr noundef %8220) #9
  %8222 = call i32 @isatty(i32 noundef %8221) #9
  %8223 = icmp ne i32 %8222, 0
  br i1 %8223, label %8224, label %8241

8224:                                             ; preds = %8219
  %8225 = load i32, ptr %175, align 4, !tbaa !5
  %8226 = call ptr @__errno_location() #10
  store i32 %8225, ptr %8226, align 4, !tbaa !5
  %8227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8228 = load i32, ptr @test_count, align 4, !tbaa !5
  %8229 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8230 = load i32, ptr %8229, align 4, !tbaa !5
  %8231 = call ptr @s2n_strerror(i32 noundef %8230, ptr noundef @.str.4)
  %8232 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8233 = load i32, ptr %8232, align 4, !tbaa !5
  %8234 = call ptr @s2n_strerror_debug(i32 noundef %8233, ptr noundef @.str.4)
  %8235 = call ptr @__errno_location() #10
  %8236 = load i32, ptr %8235, align 4, !tbaa !5
  %8237 = call ptr @strerror(i32 noundef %8236) #9
  %8238 = call ptr @__errno_location() #10
  %8239 = load i32, ptr %8238, align 4, !tbaa !5
  %8240 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8227, ptr noundef @.str.2, i32 noundef %8228, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 349, ptr noundef %8231, ptr noundef %8234, ptr noundef %8237, i32 noundef %8239) #9
  br label %8258

8241:                                             ; preds = %8219, %8212
  %8242 = load i32, ptr %175, align 4, !tbaa !5
  %8243 = call ptr @__errno_location() #10
  store i32 %8242, ptr %8243, align 4, !tbaa !5
  %8244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8245 = load i32, ptr @test_count, align 4, !tbaa !5
  %8246 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8247 = load i32, ptr %8246, align 4, !tbaa !5
  %8248 = call ptr @s2n_strerror(i32 noundef %8247, ptr noundef @.str.4)
  %8249 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8250 = load i32, ptr %8249, align 4, !tbaa !5
  %8251 = call ptr @s2n_strerror_debug(i32 noundef %8250, ptr noundef @.str.4)
  %8252 = call ptr @__errno_location() #10
  %8253 = load i32, ptr %8252, align 4, !tbaa !5
  %8254 = call ptr @strerror(i32 noundef %8253) #9
  %8255 = call ptr @__errno_location() #10
  %8256 = load i32, ptr %8255, align 4, !tbaa !5
  %8257 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8244, ptr noundef @.str.5, i32 noundef %8245, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 349, ptr noundef %8248, ptr noundef %8251, ptr noundef %8254, i32 noundef %8256) #9
  br label %8258

8258:                                             ; preds = %8241, %8224
  call void @llvm.lifetime.end.p0(i64 4, ptr %175) #9
  br label %8259

8259:                                             ; preds = %8258
  br label %8260

8260:                                             ; preds = %8259
  call void @exit(i32 noundef 1) #11
  unreachable

8261:                                             ; No predecessors!
  br label %8262

8262:                                             ; preds = %8261
  br label %8263

8263:                                             ; preds = %8262, %8204
  br label %8264

8264:                                             ; preds = %8263
  br label %8265

8265:                                             ; preds = %8264
  br label %8266

8266:                                             ; preds = %8265
  %8267 = load i32, ptr @test_count, align 4, !tbaa !5
  %8268 = add nsw i32 %8267, 1
  store i32 %8268, ptr @test_count, align 4, !tbaa !5
  %8269 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8270 = load i32, ptr %8269, align 4, !tbaa !5
  %8271 = call ptr @s2n_strerror_debug(i32 noundef %8270, ptr noundef @.str.4)
  %8272 = icmp eq ptr %8271, null
  br i1 %8272, label %8273, label %8326

8273:                                             ; preds = %8266
  br label %8274

8274:                                             ; preds = %8273
  br label %8275

8275:                                             ; preds = %8274
  call void @llvm.lifetime.start.p0(i64 4, ptr %176) #9
  %8276 = call ptr @__errno_location() #10
  %8277 = load i32, ptr %8276, align 4, !tbaa !5
  store i32 %8277, ptr %176, align 4, !tbaa !5
  %8278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8279 = call i32 @s2n_print_stacktrace(ptr noundef %8278)
  %8280 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8281 = trunc i8 %8280 to i1
  br i1 %8281, label %8282, label %8304

8282:                                             ; preds = %8275
  %8283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8284 = call i32 @fileno(ptr noundef %8283) #9
  %8285 = call i32 @isatty(i32 noundef %8284) #9
  %8286 = icmp ne i32 %8285, 0
  br i1 %8286, label %8287, label %8304

8287:                                             ; preds = %8282
  %8288 = load i32, ptr %176, align 4, !tbaa !5
  %8289 = call ptr @__errno_location() #10
  store i32 %8288, ptr %8289, align 4, !tbaa !5
  %8290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8291 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %8293, ptr noundef @.str.4)
  %8295 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8296 = load i32, ptr %8295, align 4, !tbaa !5
  %8297 = call ptr @s2n_strerror_debug(i32 noundef %8296, ptr noundef @.str.4)
  %8298 = call ptr @__errno_location() #10
  %8299 = load i32, ptr %8298, align 4, !tbaa !5
  %8300 = call ptr @strerror(i32 noundef %8299) #9
  %8301 = call ptr @__errno_location() #10
  %8302 = load i32, ptr %8301, align 4, !tbaa !5
  %8303 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8290, ptr noundef @.str.2, i32 noundef %8291, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 349, ptr noundef %8294, ptr noundef %8297, ptr noundef %8300, i32 noundef %8302) #9
  br label %8321

8304:                                             ; preds = %8282, %8275
  %8305 = load i32, ptr %176, align 4, !tbaa !5
  %8306 = call ptr @__errno_location() #10
  store i32 %8305, ptr %8306, align 4, !tbaa !5
  %8307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8308 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %8310, ptr noundef @.str.4)
  %8312 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8313 = load i32, ptr %8312, align 4, !tbaa !5
  %8314 = call ptr @s2n_strerror_debug(i32 noundef %8313, ptr noundef @.str.4)
  %8315 = call ptr @__errno_location() #10
  %8316 = load i32, ptr %8315, align 4, !tbaa !5
  %8317 = call ptr @strerror(i32 noundef %8316) #9
  %8318 = call ptr @__errno_location() #10
  %8319 = load i32, ptr %8318, align 4, !tbaa !5
  %8320 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8307, ptr noundef @.str.5, i32 noundef %8308, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 349, ptr noundef %8311, ptr noundef %8314, ptr noundef %8317, i32 noundef %8319) #9
  br label %8321

8321:                                             ; preds = %8304, %8287
  call void @llvm.lifetime.end.p0(i64 4, ptr %176) #9
  br label %8322

8322:                                             ; preds = %8321
  br label %8323

8323:                                             ; preds = %8322
  call void @exit(i32 noundef 1) #11
  unreachable

8324:                                             ; No predecessors!
  br label %8325

8325:                                             ; preds = %8324
  br label %8326

8326:                                             ; preds = %8325, %8266
  br label %8327

8327:                                             ; preds = %8326
  br label %8328

8328:                                             ; preds = %8327
  br label %8329

8329:                                             ; preds = %8328
  %8330 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %8330, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %8331 = call ptr @__errno_location() #10
  store i32 0, ptr %8331, align 4, !tbaa !5
  br label %8332

8332:                                             ; preds = %8329
  br label %8333

8333:                                             ; preds = %8332
  br label %8334

8334:                                             ; preds = %8333
  br label %8335

8335:                                             ; preds = %8334
  call void @llvm.lifetime.end.p0(i64 4, ptr %173) #9
  br label %8336

8336:                                             ; preds = %8335
  br label %8337

8337:                                             ; preds = %8336
  br label %8338

8338:                                             ; preds = %8337
  call void @llvm.lifetime.start.p0(i64 4, ptr %177) #9
  br label %8339

8339:                                             ; preds = %8338
  br label %8340

8340:                                             ; preds = %8339
  %8341 = load i32, ptr @test_count, align 4, !tbaa !5
  %8342 = add nsw i32 %8341, 1
  store i32 %8342, ptr @test_count, align 4, !tbaa !5
  %8343 = call i32 @s2n_mul_overflow(i32 noundef 131071, i32 noundef 131071, ptr noundef %177)
  %8344 = icmp eq i32 %8343, -1
  br i1 %8344, label %8398, label %8345

8345:                                             ; preds = %8340
  br label %8346

8346:                                             ; preds = %8345
  br label %8347

8347:                                             ; preds = %8346
  call void @llvm.lifetime.start.p0(i64 4, ptr %178) #9
  %8348 = call ptr @__errno_location() #10
  %8349 = load i32, ptr %8348, align 4, !tbaa !5
  store i32 %8349, ptr %178, align 4, !tbaa !5
  %8350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8351 = call i32 @s2n_print_stacktrace(ptr noundef %8350)
  %8352 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8353 = trunc i8 %8352 to i1
  br i1 %8353, label %8354, label %8376

8354:                                             ; preds = %8347
  %8355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8356 = call i32 @fileno(ptr noundef %8355) #9
  %8357 = call i32 @isatty(i32 noundef %8356) #9
  %8358 = icmp ne i32 %8357, 0
  br i1 %8358, label %8359, label %8376

8359:                                             ; preds = %8354
  %8360 = load i32, ptr %178, align 4, !tbaa !5
  %8361 = call ptr @__errno_location() #10
  store i32 %8360, ptr %8361, align 4, !tbaa !5
  %8362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8363 = load i32, ptr @test_count, align 4, !tbaa !5
  %8364 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8365 = load i32, ptr %8364, align 4, !tbaa !5
  %8366 = call ptr @s2n_strerror(i32 noundef %8365, ptr noundef @.str.4)
  %8367 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8368 = load i32, ptr %8367, align 4, !tbaa !5
  %8369 = call ptr @s2n_strerror_debug(i32 noundef %8368, ptr noundef @.str.4)
  %8370 = call ptr @__errno_location() #10
  %8371 = load i32, ptr %8370, align 4, !tbaa !5
  %8372 = call ptr @strerror(i32 noundef %8371) #9
  %8373 = call ptr @__errno_location() #10
  %8374 = load i32, ptr %8373, align 4, !tbaa !5
  %8375 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8362, ptr noundef @.str.2, i32 noundef %8363, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 349, ptr noundef %8366, ptr noundef %8369, ptr noundef %8372, i32 noundef %8374) #9
  br label %8393

8376:                                             ; preds = %8354, %8347
  %8377 = load i32, ptr %178, align 4, !tbaa !5
  %8378 = call ptr @__errno_location() #10
  store i32 %8377, ptr %8378, align 4, !tbaa !5
  %8379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8380 = load i32, ptr @test_count, align 4, !tbaa !5
  %8381 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8382 = load i32, ptr %8381, align 4, !tbaa !5
  %8383 = call ptr @s2n_strerror(i32 noundef %8382, ptr noundef @.str.4)
  %8384 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8385 = load i32, ptr %8384, align 4, !tbaa !5
  %8386 = call ptr @s2n_strerror_debug(i32 noundef %8385, ptr noundef @.str.4)
  %8387 = call ptr @__errno_location() #10
  %8388 = load i32, ptr %8387, align 4, !tbaa !5
  %8389 = call ptr @strerror(i32 noundef %8388) #9
  %8390 = call ptr @__errno_location() #10
  %8391 = load i32, ptr %8390, align 4, !tbaa !5
  %8392 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8379, ptr noundef @.str.5, i32 noundef %8380, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 349, ptr noundef %8383, ptr noundef %8386, ptr noundef %8389, i32 noundef %8391) #9
  br label %8393

8393:                                             ; preds = %8376, %8359
  call void @llvm.lifetime.end.p0(i64 4, ptr %178) #9
  br label %8394

8394:                                             ; preds = %8393
  br label %8395

8395:                                             ; preds = %8394
  call void @exit(i32 noundef 1) #11
  unreachable

8396:                                             ; No predecessors!
  br label %8397

8397:                                             ; preds = %8396
  br label %8398

8398:                                             ; preds = %8397, %8340
  br label %8399

8399:                                             ; preds = %8398
  br label %8400

8400:                                             ; preds = %8399
  br label %8401

8401:                                             ; preds = %8400
  %8402 = load i32, ptr @test_count, align 4, !tbaa !5
  %8403 = add nsw i32 %8402, 1
  store i32 %8403, ptr @test_count, align 4, !tbaa !5
  %8404 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8405 = load i32, ptr %8404, align 4, !tbaa !5
  %8406 = icmp eq i32 %8405, 0
  br i1 %8406, label %8407, label %8460

8407:                                             ; preds = %8401
  br label %8408

8408:                                             ; preds = %8407
  br label %8409

8409:                                             ; preds = %8408
  call void @llvm.lifetime.start.p0(i64 4, ptr %179) #9
  %8410 = call ptr @__errno_location() #10
  %8411 = load i32, ptr %8410, align 4, !tbaa !5
  store i32 %8411, ptr %179, align 4, !tbaa !5
  %8412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8413 = call i32 @s2n_print_stacktrace(ptr noundef %8412)
  %8414 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8415 = trunc i8 %8414 to i1
  br i1 %8415, label %8416, label %8438

8416:                                             ; preds = %8409
  %8417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8418 = call i32 @fileno(ptr noundef %8417) #9
  %8419 = call i32 @isatty(i32 noundef %8418) #9
  %8420 = icmp ne i32 %8419, 0
  br i1 %8420, label %8421, label %8438

8421:                                             ; preds = %8416
  %8422 = load i32, ptr %179, align 4, !tbaa !5
  %8423 = call ptr @__errno_location() #10
  store i32 %8422, ptr %8423, align 4, !tbaa !5
  %8424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8425 = load i32, ptr @test_count, align 4, !tbaa !5
  %8426 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8427 = load i32, ptr %8426, align 4, !tbaa !5
  %8428 = call ptr @s2n_strerror(i32 noundef %8427, ptr noundef @.str.4)
  %8429 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8430 = load i32, ptr %8429, align 4, !tbaa !5
  %8431 = call ptr @s2n_strerror_debug(i32 noundef %8430, ptr noundef @.str.4)
  %8432 = call ptr @__errno_location() #10
  %8433 = load i32, ptr %8432, align 4, !tbaa !5
  %8434 = call ptr @strerror(i32 noundef %8433) #9
  %8435 = call ptr @__errno_location() #10
  %8436 = load i32, ptr %8435, align 4, !tbaa !5
  %8437 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8424, ptr noundef @.str.2, i32 noundef %8425, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 349, ptr noundef %8428, ptr noundef %8431, ptr noundef %8434, i32 noundef %8436) #9
  br label %8455

8438:                                             ; preds = %8416, %8409
  %8439 = load i32, ptr %179, align 4, !tbaa !5
  %8440 = call ptr @__errno_location() #10
  store i32 %8439, ptr %8440, align 4, !tbaa !5
  %8441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8442 = load i32, ptr @test_count, align 4, !tbaa !5
  %8443 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8444 = load i32, ptr %8443, align 4, !tbaa !5
  %8445 = call ptr @s2n_strerror(i32 noundef %8444, ptr noundef @.str.4)
  %8446 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8447 = load i32, ptr %8446, align 4, !tbaa !5
  %8448 = call ptr @s2n_strerror_debug(i32 noundef %8447, ptr noundef @.str.4)
  %8449 = call ptr @__errno_location() #10
  %8450 = load i32, ptr %8449, align 4, !tbaa !5
  %8451 = call ptr @strerror(i32 noundef %8450) #9
  %8452 = call ptr @__errno_location() #10
  %8453 = load i32, ptr %8452, align 4, !tbaa !5
  %8454 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8441, ptr noundef @.str.5, i32 noundef %8442, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 349, ptr noundef %8445, ptr noundef %8448, ptr noundef %8451, i32 noundef %8453) #9
  br label %8455

8455:                                             ; preds = %8438, %8421
  call void @llvm.lifetime.end.p0(i64 4, ptr %179) #9
  br label %8456

8456:                                             ; preds = %8455
  br label %8457

8457:                                             ; preds = %8456
  call void @exit(i32 noundef 1) #11
  unreachable

8458:                                             ; No predecessors!
  br label %8459

8459:                                             ; preds = %8458
  br label %8460

8460:                                             ; preds = %8459, %8401
  br label %8461

8461:                                             ; preds = %8460
  br label %8462

8462:                                             ; preds = %8461
  br label %8463

8463:                                             ; preds = %8462
  %8464 = load i32, ptr @test_count, align 4, !tbaa !5
  %8465 = add nsw i32 %8464, 1
  store i32 %8465, ptr @test_count, align 4, !tbaa !5
  %8466 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8467 = load i32, ptr %8466, align 4, !tbaa !5
  %8468 = call ptr @s2n_strerror_debug(i32 noundef %8467, ptr noundef @.str.4)
  %8469 = icmp eq ptr %8468, null
  br i1 %8469, label %8470, label %8523

8470:                                             ; preds = %8463
  br label %8471

8471:                                             ; preds = %8470
  br label %8472

8472:                                             ; preds = %8471
  call void @llvm.lifetime.start.p0(i64 4, ptr %180) #9
  %8473 = call ptr @__errno_location() #10
  %8474 = load i32, ptr %8473, align 4, !tbaa !5
  store i32 %8474, ptr %180, align 4, !tbaa !5
  %8475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8476 = call i32 @s2n_print_stacktrace(ptr noundef %8475)
  %8477 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8478 = trunc i8 %8477 to i1
  br i1 %8478, label %8479, label %8501

8479:                                             ; preds = %8472
  %8480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8481 = call i32 @fileno(ptr noundef %8480) #9
  %8482 = call i32 @isatty(i32 noundef %8481) #9
  %8483 = icmp ne i32 %8482, 0
  br i1 %8483, label %8484, label %8501

8484:                                             ; preds = %8479
  %8485 = load i32, ptr %180, align 4, !tbaa !5
  %8486 = call ptr @__errno_location() #10
  store i32 %8485, ptr %8486, align 4, !tbaa !5
  %8487 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8488 = load i32, ptr @test_count, align 4, !tbaa !5
  %8489 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8490 = load i32, ptr %8489, align 4, !tbaa !5
  %8491 = call ptr @s2n_strerror(i32 noundef %8490, ptr noundef @.str.4)
  %8492 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8493 = load i32, ptr %8492, align 4, !tbaa !5
  %8494 = call ptr @s2n_strerror_debug(i32 noundef %8493, ptr noundef @.str.4)
  %8495 = call ptr @__errno_location() #10
  %8496 = load i32, ptr %8495, align 4, !tbaa !5
  %8497 = call ptr @strerror(i32 noundef %8496) #9
  %8498 = call ptr @__errno_location() #10
  %8499 = load i32, ptr %8498, align 4, !tbaa !5
  %8500 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8487, ptr noundef @.str.2, i32 noundef %8488, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 349, ptr noundef %8491, ptr noundef %8494, ptr noundef %8497, i32 noundef %8499) #9
  br label %8518

8501:                                             ; preds = %8479, %8472
  %8502 = load i32, ptr %180, align 4, !tbaa !5
  %8503 = call ptr @__errno_location() #10
  store i32 %8502, ptr %8503, align 4, !tbaa !5
  %8504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8505 = load i32, ptr @test_count, align 4, !tbaa !5
  %8506 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8507 = load i32, ptr %8506, align 4, !tbaa !5
  %8508 = call ptr @s2n_strerror(i32 noundef %8507, ptr noundef @.str.4)
  %8509 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8510 = load i32, ptr %8509, align 4, !tbaa !5
  %8511 = call ptr @s2n_strerror_debug(i32 noundef %8510, ptr noundef @.str.4)
  %8512 = call ptr @__errno_location() #10
  %8513 = load i32, ptr %8512, align 4, !tbaa !5
  %8514 = call ptr @strerror(i32 noundef %8513) #9
  %8515 = call ptr @__errno_location() #10
  %8516 = load i32, ptr %8515, align 4, !tbaa !5
  %8517 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8504, ptr noundef @.str.5, i32 noundef %8505, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 349, ptr noundef %8508, ptr noundef %8511, ptr noundef %8514, i32 noundef %8516) #9
  br label %8518

8518:                                             ; preds = %8501, %8484
  call void @llvm.lifetime.end.p0(i64 4, ptr %180) #9
  br label %8519

8519:                                             ; preds = %8518
  br label %8520

8520:                                             ; preds = %8519
  call void @exit(i32 noundef 1) #11
  unreachable

8521:                                             ; No predecessors!
  br label %8522

8522:                                             ; preds = %8521
  br label %8523

8523:                                             ; preds = %8522, %8463
  br label %8524

8524:                                             ; preds = %8523
  br label %8525

8525:                                             ; preds = %8524
  br label %8526

8526:                                             ; preds = %8525
  %8527 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %8527, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %8528 = call ptr @__errno_location() #10
  store i32 0, ptr %8528, align 4, !tbaa !5
  br label %8529

8529:                                             ; preds = %8526
  br label %8530

8530:                                             ; preds = %8529
  br label %8531

8531:                                             ; preds = %8530
  br label %8532

8532:                                             ; preds = %8531
  call void @llvm.lifetime.end.p0(i64 4, ptr %177) #9
  br label %8533

8533:                                             ; preds = %8532
  br label %8534

8534:                                             ; preds = %8533
  br label %8535

8535:                                             ; preds = %8534
  br label %8536

8536:                                             ; preds = %8535
  br label %8537

8537:                                             ; preds = %8536
  br label %8538

8538:                                             ; preds = %8537
  call void @llvm.lifetime.start.p0(i64 4, ptr %181) #9
  br label %8539

8539:                                             ; preds = %8538
  br label %8540

8540:                                             ; preds = %8539
  %8541 = load i32, ptr @test_count, align 4, !tbaa !5
  %8542 = add nsw i32 %8541, 1
  store i32 %8542, ptr @test_count, align 4, !tbaa !5
  %8543 = call i32 @s2n_mul_overflow(i32 noundef -1, i32 noundef -1, ptr noundef %181)
  %8544 = icmp eq i32 %8543, -1
  br i1 %8544, label %8598, label %8545

8545:                                             ; preds = %8540
  br label %8546

8546:                                             ; preds = %8545
  br label %8547

8547:                                             ; preds = %8546
  call void @llvm.lifetime.start.p0(i64 4, ptr %182) #9
  %8548 = call ptr @__errno_location() #10
  %8549 = load i32, ptr %8548, align 4, !tbaa !5
  store i32 %8549, ptr %182, align 4, !tbaa !5
  %8550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8551 = call i32 @s2n_print_stacktrace(ptr noundef %8550)
  %8552 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8553 = trunc i8 %8552 to i1
  br i1 %8553, label %8554, label %8576

8554:                                             ; preds = %8547
  %8555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8556 = call i32 @fileno(ptr noundef %8555) #9
  %8557 = call i32 @isatty(i32 noundef %8556) #9
  %8558 = icmp ne i32 %8557, 0
  br i1 %8558, label %8559, label %8576

8559:                                             ; preds = %8554
  %8560 = load i32, ptr %182, align 4, !tbaa !5
  %8561 = call ptr @__errno_location() #10
  store i32 %8560, ptr %8561, align 4, !tbaa !5
  %8562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8563 = load i32, ptr @test_count, align 4, !tbaa !5
  %8564 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8565 = load i32, ptr %8564, align 4, !tbaa !5
  %8566 = call ptr @s2n_strerror(i32 noundef %8565, ptr noundef @.str.4)
  %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_debug(i32 noundef %8568, ptr noundef @.str.4)
  %8570 = call ptr @__errno_location() #10
  %8571 = load i32, ptr %8570, align 4, !tbaa !5
  %8572 = call ptr @strerror(i32 noundef %8571) #9
  %8573 = call ptr @__errno_location() #10
  %8574 = load i32, ptr %8573, align 4, !tbaa !5
  %8575 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8562, ptr noundef @.str.2, i32 noundef %8563, ptr noundef @.str.87, ptr noundef @.str.1, i32 noundef 350, ptr noundef %8566, ptr noundef %8569, ptr noundef %8572, i32 noundef %8574) #9
  br label %8593

8576:                                             ; preds = %8554, %8547
  %8577 = load i32, ptr %182, align 4, !tbaa !5
  %8578 = call ptr @__errno_location() #10
  store i32 %8577, ptr %8578, align 4, !tbaa !5
  %8579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8580 = load i32, ptr @test_count, align 4, !tbaa !5
  %8581 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8582 = load i32, ptr %8581, align 4, !tbaa !5
  %8583 = call ptr @s2n_strerror(i32 noundef %8582, ptr noundef @.str.4)
  %8584 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8585 = load i32, ptr %8584, align 4, !tbaa !5
  %8586 = call ptr @s2n_strerror_debug(i32 noundef %8585, ptr noundef @.str.4)
  %8587 = call ptr @__errno_location() #10
  %8588 = load i32, ptr %8587, align 4, !tbaa !5
  %8589 = call ptr @strerror(i32 noundef %8588) #9
  %8590 = call ptr @__errno_location() #10
  %8591 = load i32, ptr %8590, align 4, !tbaa !5
  %8592 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8579, ptr noundef @.str.5, i32 noundef %8580, ptr noundef @.str.87, ptr noundef @.str.1, i32 noundef 350, ptr noundef %8583, ptr noundef %8586, ptr noundef %8589, i32 noundef %8591) #9
  br label %8593

8593:                                             ; preds = %8576, %8559
  call void @llvm.lifetime.end.p0(i64 4, ptr %182) #9
  br label %8594

8594:                                             ; preds = %8593
  br label %8595

8595:                                             ; preds = %8594
  call void @exit(i32 noundef 1) #11
  unreachable

8596:                                             ; No predecessors!
  br label %8597

8597:                                             ; preds = %8596
  br label %8598

8598:                                             ; preds = %8597, %8540
  br label %8599

8599:                                             ; preds = %8598
  br label %8600

8600:                                             ; preds = %8599
  br label %8601

8601:                                             ; preds = %8600
  %8602 = load i32, ptr @test_count, align 4, !tbaa !5
  %8603 = add nsw i32 %8602, 1
  store i32 %8603, ptr @test_count, align 4, !tbaa !5
  %8604 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8605 = load i32, ptr %8604, align 4, !tbaa !5
  %8606 = icmp eq i32 %8605, 0
  br i1 %8606, label %8607, label %8660

8607:                                             ; preds = %8601
  br label %8608

8608:                                             ; preds = %8607
  br label %8609

8609:                                             ; preds = %8608
  call void @llvm.lifetime.start.p0(i64 4, ptr %183) #9
  %8610 = call ptr @__errno_location() #10
  %8611 = load i32, ptr %8610, align 4, !tbaa !5
  store i32 %8611, ptr %183, align 4, !tbaa !5
  %8612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8613 = call i32 @s2n_print_stacktrace(ptr noundef %8612)
  %8614 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8615 = trunc i8 %8614 to i1
  br i1 %8615, label %8616, label %8638

8616:                                             ; preds = %8609
  %8617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8618 = call i32 @fileno(ptr noundef %8617) #9
  %8619 = call i32 @isatty(i32 noundef %8618) #9
  %8620 = icmp ne i32 %8619, 0
  br i1 %8620, label %8621, label %8638

8621:                                             ; preds = %8616
  %8622 = load i32, ptr %183, align 4, !tbaa !5
  %8623 = call ptr @__errno_location() #10
  store i32 %8622, ptr %8623, align 4, !tbaa !5
  %8624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8625 = load i32, ptr @test_count, align 4, !tbaa !5
  %8626 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8627 = load i32, ptr %8626, align 4, !tbaa !5
  %8628 = call ptr @s2n_strerror(i32 noundef %8627, ptr noundef @.str.4)
  %8629 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8630 = load i32, ptr %8629, align 4, !tbaa !5
  %8631 = call ptr @s2n_strerror_debug(i32 noundef %8630, ptr noundef @.str.4)
  %8632 = call ptr @__errno_location() #10
  %8633 = load i32, ptr %8632, align 4, !tbaa !5
  %8634 = call ptr @strerror(i32 noundef %8633) #9
  %8635 = call ptr @__errno_location() #10
  %8636 = load i32, ptr %8635, align 4, !tbaa !5
  %8637 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8624, ptr noundef @.str.2, i32 noundef %8625, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 350, ptr noundef %8628, ptr noundef %8631, ptr noundef %8634, i32 noundef %8636) #9
  br label %8655

8638:                                             ; preds = %8616, %8609
  %8639 = load i32, ptr %183, align 4, !tbaa !5
  %8640 = call ptr @__errno_location() #10
  store i32 %8639, ptr %8640, align 4, !tbaa !5
  %8641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8642 = load i32, ptr @test_count, align 4, !tbaa !5
  %8643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8644 = load i32, ptr %8643, align 4, !tbaa !5
  %8645 = call ptr @s2n_strerror(i32 noundef %8644, ptr noundef @.str.4)
  %8646 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8647 = load i32, ptr %8646, align 4, !tbaa !5
  %8648 = call ptr @s2n_strerror_debug(i32 noundef %8647, ptr noundef @.str.4)
  %8649 = call ptr @__errno_location() #10
  %8650 = load i32, ptr %8649, align 4, !tbaa !5
  %8651 = call ptr @strerror(i32 noundef %8650) #9
  %8652 = call ptr @__errno_location() #10
  %8653 = load i32, ptr %8652, align 4, !tbaa !5
  %8654 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8641, ptr noundef @.str.5, i32 noundef %8642, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 350, ptr noundef %8645, ptr noundef %8648, ptr noundef %8651, i32 noundef %8653) #9
  br label %8655

8655:                                             ; preds = %8638, %8621
  call void @llvm.lifetime.end.p0(i64 4, ptr %183) #9
  br label %8656

8656:                                             ; preds = %8655
  br label %8657

8657:                                             ; preds = %8656
  call void @exit(i32 noundef 1) #11
  unreachable

8658:                                             ; No predecessors!
  br label %8659

8659:                                             ; preds = %8658
  br label %8660

8660:                                             ; preds = %8659, %8601
  br label %8661

8661:                                             ; preds = %8660
  br label %8662

8662:                                             ; preds = %8661
  br label %8663

8663:                                             ; preds = %8662
  %8664 = load i32, ptr @test_count, align 4, !tbaa !5
  %8665 = add nsw i32 %8664, 1
  store i32 %8665, ptr @test_count, align 4, !tbaa !5
  %8666 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8667 = load i32, ptr %8666, align 4, !tbaa !5
  %8668 = call ptr @s2n_strerror_debug(i32 noundef %8667, ptr noundef @.str.4)
  %8669 = icmp eq ptr %8668, null
  br i1 %8669, label %8670, label %8723

8670:                                             ; preds = %8663
  br label %8671

8671:                                             ; preds = %8670
  br label %8672

8672:                                             ; preds = %8671
  call void @llvm.lifetime.start.p0(i64 4, ptr %184) #9
  %8673 = call ptr @__errno_location() #10
  %8674 = load i32, ptr %8673, align 4, !tbaa !5
  store i32 %8674, ptr %184, align 4, !tbaa !5
  %8675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8676 = call i32 @s2n_print_stacktrace(ptr noundef %8675)
  %8677 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8678 = trunc i8 %8677 to i1
  br i1 %8678, label %8679, label %8701

8679:                                             ; preds = %8672
  %8680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8681 = call i32 @fileno(ptr noundef %8680) #9
  %8682 = call i32 @isatty(i32 noundef %8681) #9
  %8683 = icmp ne i32 %8682, 0
  br i1 %8683, label %8684, label %8701

8684:                                             ; preds = %8679
  %8685 = load i32, ptr %184, align 4, !tbaa !5
  %8686 = call ptr @__errno_location() #10
  store i32 %8685, ptr %8686, align 4, !tbaa !5
  %8687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8688 = load i32, ptr @test_count, align 4, !tbaa !5
  %8689 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8690 = load i32, ptr %8689, align 4, !tbaa !5
  %8691 = call ptr @s2n_strerror(i32 noundef %8690, ptr noundef @.str.4)
  %8692 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8693 = load i32, ptr %8692, align 4, !tbaa !5
  %8694 = call ptr @s2n_strerror_debug(i32 noundef %8693, ptr noundef @.str.4)
  %8695 = call ptr @__errno_location() #10
  %8696 = load i32, ptr %8695, align 4, !tbaa !5
  %8697 = call ptr @strerror(i32 noundef %8696) #9
  %8698 = call ptr @__errno_location() #10
  %8699 = load i32, ptr %8698, align 4, !tbaa !5
  %8700 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8687, ptr noundef @.str.2, i32 noundef %8688, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 350, ptr noundef %8691, ptr noundef %8694, ptr noundef %8697, i32 noundef %8699) #9
  br label %8718

8701:                                             ; preds = %8679, %8672
  %8702 = load i32, ptr %184, align 4, !tbaa !5
  %8703 = call ptr @__errno_location() #10
  store i32 %8702, ptr %8703, align 4, !tbaa !5
  %8704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8705 = load i32, ptr @test_count, align 4, !tbaa !5
  %8706 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8707 = load i32, ptr %8706, align 4, !tbaa !5
  %8708 = call ptr @s2n_strerror(i32 noundef %8707, ptr noundef @.str.4)
  %8709 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8710 = load i32, ptr %8709, align 4, !tbaa !5
  %8711 = call ptr @s2n_strerror_debug(i32 noundef %8710, ptr noundef @.str.4)
  %8712 = call ptr @__errno_location() #10
  %8713 = load i32, ptr %8712, align 4, !tbaa !5
  %8714 = call ptr @strerror(i32 noundef %8713) #9
  %8715 = call ptr @__errno_location() #10
  %8716 = load i32, ptr %8715, align 4, !tbaa !5
  %8717 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8704, ptr noundef @.str.5, i32 noundef %8705, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 350, ptr noundef %8708, ptr noundef %8711, ptr noundef %8714, i32 noundef %8716) #9
  br label %8718

8718:                                             ; preds = %8701, %8684
  call void @llvm.lifetime.end.p0(i64 4, ptr %184) #9
  br label %8719

8719:                                             ; preds = %8718
  br label %8720

8720:                                             ; preds = %8719
  call void @exit(i32 noundef 1) #11
  unreachable

8721:                                             ; No predecessors!
  br label %8722

8722:                                             ; preds = %8721
  br label %8723

8723:                                             ; preds = %8722, %8663
  br label %8724

8724:                                             ; preds = %8723
  br label %8725

8725:                                             ; preds = %8724
  br label %8726

8726:                                             ; preds = %8725
  %8727 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %8727, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %8728 = call ptr @__errno_location() #10
  store i32 0, ptr %8728, align 4, !tbaa !5
  br label %8729

8729:                                             ; preds = %8726
  br label %8730

8730:                                             ; preds = %8729
  br label %8731

8731:                                             ; preds = %8730
  br label %8732

8732:                                             ; preds = %8731
  call void @llvm.lifetime.end.p0(i64 4, ptr %181) #9
  br label %8733

8733:                                             ; preds = %8732
  br label %8734

8734:                                             ; preds = %8733
  br label %8735

8735:                                             ; preds = %8734
  call void @llvm.lifetime.start.p0(i64 4, ptr %185) #9
  br label %8736

8736:                                             ; preds = %8735
  br label %8737

8737:                                             ; preds = %8736
  %8738 = load i32, ptr @test_count, align 4, !tbaa !5
  %8739 = add nsw i32 %8738, 1
  store i32 %8739, ptr @test_count, align 4, !tbaa !5
  %8740 = call i32 @s2n_mul_overflow(i32 noundef -1, i32 noundef -1, ptr noundef %185)
  %8741 = icmp eq i32 %8740, -1
  br i1 %8741, label %8795, label %8742

8742:                                             ; preds = %8737
  br label %8743

8743:                                             ; preds = %8742
  br label %8744

8744:                                             ; preds = %8743
  call void @llvm.lifetime.start.p0(i64 4, ptr %186) #9
  %8745 = call ptr @__errno_location() #10
  %8746 = load i32, ptr %8745, align 4, !tbaa !5
  store i32 %8746, ptr %186, align 4, !tbaa !5
  %8747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8748 = call i32 @s2n_print_stacktrace(ptr noundef %8747)
  %8749 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8750 = trunc i8 %8749 to i1
  br i1 %8750, label %8751, label %8773

8751:                                             ; preds = %8744
  %8752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8753 = call i32 @fileno(ptr noundef %8752) #9
  %8754 = call i32 @isatty(i32 noundef %8753) #9
  %8755 = icmp ne i32 %8754, 0
  br i1 %8755, label %8756, label %8773

8756:                                             ; preds = %8751
  %8757 = load i32, ptr %186, align 4, !tbaa !5
  %8758 = call ptr @__errno_location() #10
  store i32 %8757, ptr %8758, align 4, !tbaa !5
  %8759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8760 = load i32, ptr @test_count, align 4, !tbaa !5
  %8761 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8762 = load i32, ptr %8761, align 4, !tbaa !5
  %8763 = call ptr @s2n_strerror(i32 noundef %8762, ptr noundef @.str.4)
  %8764 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8765 = load i32, ptr %8764, align 4, !tbaa !5
  %8766 = call ptr @s2n_strerror_debug(i32 noundef %8765, ptr noundef @.str.4)
  %8767 = call ptr @__errno_location() #10
  %8768 = load i32, ptr %8767, align 4, !tbaa !5
  %8769 = call ptr @strerror(i32 noundef %8768) #9
  %8770 = call ptr @__errno_location() #10
  %8771 = load i32, ptr %8770, align 4, !tbaa !5
  %8772 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8759, ptr noundef @.str.2, i32 noundef %8760, ptr noundef @.str.87, ptr noundef @.str.1, i32 noundef 350, ptr noundef %8763, ptr noundef %8766, ptr noundef %8769, i32 noundef %8771) #9
  br label %8790

8773:                                             ; preds = %8751, %8744
  %8774 = load i32, ptr %186, align 4, !tbaa !5
  %8775 = call ptr @__errno_location() #10
  store i32 %8774, ptr %8775, align 4, !tbaa !5
  %8776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8777 = load i32, ptr @test_count, align 4, !tbaa !5
  %8778 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8779 = load i32, ptr %8778, align 4, !tbaa !5
  %8780 = call ptr @s2n_strerror(i32 noundef %8779, ptr noundef @.str.4)
  %8781 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8782 = load i32, ptr %8781, align 4, !tbaa !5
  %8783 = call ptr @s2n_strerror_debug(i32 noundef %8782, ptr noundef @.str.4)
  %8784 = call ptr @__errno_location() #10
  %8785 = load i32, ptr %8784, align 4, !tbaa !5
  %8786 = call ptr @strerror(i32 noundef %8785) #9
  %8787 = call ptr @__errno_location() #10
  %8788 = load i32, ptr %8787, align 4, !tbaa !5
  %8789 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8776, ptr noundef @.str.5, i32 noundef %8777, ptr noundef @.str.87, ptr noundef @.str.1, i32 noundef 350, ptr noundef %8780, ptr noundef %8783, ptr noundef %8786, i32 noundef %8788) #9
  br label %8790

8790:                                             ; preds = %8773, %8756
  call void @llvm.lifetime.end.p0(i64 4, ptr %186) #9
  br label %8791

8791:                                             ; preds = %8790
  br label %8792

8792:                                             ; preds = %8791
  call void @exit(i32 noundef 1) #11
  unreachable

8793:                                             ; No predecessors!
  br label %8794

8794:                                             ; preds = %8793
  br label %8795

8795:                                             ; preds = %8794, %8737
  br label %8796

8796:                                             ; preds = %8795
  br label %8797

8797:                                             ; preds = %8796
  br label %8798

8798:                                             ; preds = %8797
  %8799 = load i32, ptr @test_count, align 4, !tbaa !5
  %8800 = add nsw i32 %8799, 1
  store i32 %8800, ptr @test_count, align 4, !tbaa !5
  %8801 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8802 = load i32, ptr %8801, align 4, !tbaa !5
  %8803 = icmp eq i32 %8802, 0
  br i1 %8803, label %8804, label %8857

8804:                                             ; preds = %8798
  br label %8805

8805:                                             ; preds = %8804
  br label %8806

8806:                                             ; preds = %8805
  call void @llvm.lifetime.start.p0(i64 4, ptr %187) #9
  %8807 = call ptr @__errno_location() #10
  %8808 = load i32, ptr %8807, align 4, !tbaa !5
  store i32 %8808, ptr %187, align 4, !tbaa !5
  %8809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8810 = call i32 @s2n_print_stacktrace(ptr noundef %8809)
  %8811 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8812 = trunc i8 %8811 to i1
  br i1 %8812, label %8813, label %8835

8813:                                             ; preds = %8806
  %8814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8815 = call i32 @fileno(ptr noundef %8814) #9
  %8816 = call i32 @isatty(i32 noundef %8815) #9
  %8817 = icmp ne i32 %8816, 0
  br i1 %8817, label %8818, label %8835

8818:                                             ; preds = %8813
  %8819 = load i32, ptr %187, align 4, !tbaa !5
  %8820 = call ptr @__errno_location() #10
  store i32 %8819, ptr %8820, align 4, !tbaa !5
  %8821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8822 = load i32, ptr @test_count, align 4, !tbaa !5
  %8823 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8824 = load i32, ptr %8823, align 4, !tbaa !5
  %8825 = call ptr @s2n_strerror(i32 noundef %8824, ptr noundef @.str.4)
  %8826 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8827 = load i32, ptr %8826, align 4, !tbaa !5
  %8828 = call ptr @s2n_strerror_debug(i32 noundef %8827, ptr noundef @.str.4)
  %8829 = call ptr @__errno_location() #10
  %8830 = load i32, ptr %8829, align 4, !tbaa !5
  %8831 = call ptr @strerror(i32 noundef %8830) #9
  %8832 = call ptr @__errno_location() #10
  %8833 = load i32, ptr %8832, align 4, !tbaa !5
  %8834 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8821, ptr noundef @.str.2, i32 noundef %8822, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 350, ptr noundef %8825, ptr noundef %8828, ptr noundef %8831, i32 noundef %8833) #9
  br label %8852

8835:                                             ; preds = %8813, %8806
  %8836 = load i32, ptr %187, align 4, !tbaa !5
  %8837 = call ptr @__errno_location() #10
  store i32 %8836, ptr %8837, align 4, !tbaa !5
  %8838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8839 = load i32, ptr @test_count, align 4, !tbaa !5
  %8840 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8841 = load i32, ptr %8840, align 4, !tbaa !5
  %8842 = call ptr @s2n_strerror(i32 noundef %8841, ptr noundef @.str.4)
  %8843 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8844 = load i32, ptr %8843, align 4, !tbaa !5
  %8845 = call ptr @s2n_strerror_debug(i32 noundef %8844, ptr noundef @.str.4)
  %8846 = call ptr @__errno_location() #10
  %8847 = load i32, ptr %8846, align 4, !tbaa !5
  %8848 = call ptr @strerror(i32 noundef %8847) #9
  %8849 = call ptr @__errno_location() #10
  %8850 = load i32, ptr %8849, align 4, !tbaa !5
  %8851 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8838, ptr noundef @.str.5, i32 noundef %8839, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 350, ptr noundef %8842, ptr noundef %8845, ptr noundef %8848, i32 noundef %8850) #9
  br label %8852

8852:                                             ; preds = %8835, %8818
  call void @llvm.lifetime.end.p0(i64 4, ptr %187) #9
  br label %8853

8853:                                             ; preds = %8852
  br label %8854

8854:                                             ; preds = %8853
  call void @exit(i32 noundef 1) #11
  unreachable

8855:                                             ; No predecessors!
  br label %8856

8856:                                             ; preds = %8855
  br label %8857

8857:                                             ; preds = %8856, %8798
  br label %8858

8858:                                             ; preds = %8857
  br label %8859

8859:                                             ; preds = %8858
  br label %8860

8860:                                             ; preds = %8859
  %8861 = load i32, ptr @test_count, align 4, !tbaa !5
  %8862 = add nsw i32 %8861, 1
  store i32 %8862, ptr @test_count, align 4, !tbaa !5
  %8863 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8864 = load i32, ptr %8863, align 4, !tbaa !5
  %8865 = call ptr @s2n_strerror_debug(i32 noundef %8864, ptr noundef @.str.4)
  %8866 = icmp eq ptr %8865, null
  br i1 %8866, label %8867, label %8920

8867:                                             ; preds = %8860
  br label %8868

8868:                                             ; preds = %8867
  br label %8869

8869:                                             ; preds = %8868
  call void @llvm.lifetime.start.p0(i64 4, ptr %188) #9
  %8870 = call ptr @__errno_location() #10
  %8871 = load i32, ptr %8870, align 4, !tbaa !5
  store i32 %8871, ptr %188, align 4, !tbaa !5
  %8872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8873 = call i32 @s2n_print_stacktrace(ptr noundef %8872)
  %8874 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8875 = trunc i8 %8874 to i1
  br i1 %8875, label %8876, label %8898

8876:                                             ; preds = %8869
  %8877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8878 = call i32 @fileno(ptr noundef %8877) #9
  %8879 = call i32 @isatty(i32 noundef %8878) #9
  %8880 = icmp ne i32 %8879, 0
  br i1 %8880, label %8881, label %8898

8881:                                             ; preds = %8876
  %8882 = load i32, ptr %188, align 4, !tbaa !5
  %8883 = call ptr @__errno_location() #10
  store i32 %8882, ptr %8883, align 4, !tbaa !5
  %8884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8885 = load i32, ptr @test_count, align 4, !tbaa !5
  %8886 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8887 = load i32, ptr %8886, align 4, !tbaa !5
  %8888 = call ptr @s2n_strerror(i32 noundef %8887, ptr noundef @.str.4)
  %8889 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8890 = load i32, ptr %8889, align 4, !tbaa !5
  %8891 = call ptr @s2n_strerror_debug(i32 noundef %8890, ptr noundef @.str.4)
  %8892 = call ptr @__errno_location() #10
  %8893 = load i32, ptr %8892, align 4, !tbaa !5
  %8894 = call ptr @strerror(i32 noundef %8893) #9
  %8895 = call ptr @__errno_location() #10
  %8896 = load i32, ptr %8895, align 4, !tbaa !5
  %8897 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8884, ptr noundef @.str.2, i32 noundef %8885, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 350, ptr noundef %8888, ptr noundef %8891, ptr noundef %8894, i32 noundef %8896) #9
  br label %8915

8898:                                             ; preds = %8876, %8869
  %8899 = load i32, ptr %188, align 4, !tbaa !5
  %8900 = call ptr @__errno_location() #10
  store i32 %8899, ptr %8900, align 4, !tbaa !5
  %8901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8902 = load i32, ptr @test_count, align 4, !tbaa !5
  %8903 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8904 = load i32, ptr %8903, align 4, !tbaa !5
  %8905 = call ptr @s2n_strerror(i32 noundef %8904, ptr noundef @.str.4)
  %8906 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8907 = load i32, ptr %8906, align 4, !tbaa !5
  %8908 = call ptr @s2n_strerror_debug(i32 noundef %8907, ptr noundef @.str.4)
  %8909 = call ptr @__errno_location() #10
  %8910 = load i32, ptr %8909, align 4, !tbaa !5
  %8911 = call ptr @strerror(i32 noundef %8910) #9
  %8912 = call ptr @__errno_location() #10
  %8913 = load i32, ptr %8912, align 4, !tbaa !5
  %8914 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8901, ptr noundef @.str.5, i32 noundef %8902, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 350, ptr noundef %8905, ptr noundef %8908, ptr noundef %8911, i32 noundef %8913) #9
  br label %8915

8915:                                             ; preds = %8898, %8881
  call void @llvm.lifetime.end.p0(i64 4, ptr %188) #9
  br label %8916

8916:                                             ; preds = %8915
  br label %8917

8917:                                             ; preds = %8916
  call void @exit(i32 noundef 1) #11
  unreachable

8918:                                             ; No predecessors!
  br label %8919

8919:                                             ; preds = %8918
  br label %8920

8920:                                             ; preds = %8919, %8860
  br label %8921

8921:                                             ; preds = %8920
  br label %8922

8922:                                             ; preds = %8921
  br label %8923

8923:                                             ; preds = %8922
  %8924 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %8924, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %8925 = call ptr @__errno_location() #10
  store i32 0, ptr %8925, align 4, !tbaa !5
  br label %8926

8926:                                             ; preds = %8923
  br label %8927

8927:                                             ; preds = %8926
  br label %8928

8928:                                             ; preds = %8927
  br label %8929

8929:                                             ; preds = %8928
  call void @llvm.lifetime.end.p0(i64 4, ptr %185) #9
  br label %8930

8930:                                             ; preds = %8929
  br label %8931

8931:                                             ; preds = %8930
  br label %8932

8932:                                             ; preds = %8931
  br label %8933

8933:                                             ; preds = %8932
  call void @llvm.lifetime.start.p0(i64 4, ptr %189) #9
  store i32 1, ptr %189, align 4, !tbaa !5
  br label %8934

8934:                                             ; preds = %8933
  %8935 = load i32, ptr @test_count, align 4, !tbaa !5
  %8936 = add nsw i32 %8935, 1
  store i32 %8936, ptr @test_count, align 4, !tbaa !5
  %8937 = call i32 @s2n_align_to(i32 noundef 0, i32 noundef 10, ptr noundef %189)
  %8938 = icmp eq i32 %8937, -1
  br i1 %8938, label %8939, label %8992

8939:                                             ; preds = %8934
  br label %8940

8940:                                             ; preds = %8939
  br label %8941

8941:                                             ; preds = %8940
  call void @llvm.lifetime.start.p0(i64 4, ptr %190) #9
  %8942 = call ptr @__errno_location() #10
  %8943 = load i32, ptr %8942, align 4, !tbaa !5
  store i32 %8943, ptr %190, align 4, !tbaa !5
  %8944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8945 = call i32 @s2n_print_stacktrace(ptr noundef %8944)
  %8946 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8947 = trunc i8 %8946 to i1
  br i1 %8947, label %8948, label %8970

8948:                                             ; preds = %8941
  %8949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8950 = call i32 @fileno(ptr noundef %8949) #9
  %8951 = call i32 @isatty(i32 noundef %8950) #9
  %8952 = icmp ne i32 %8951, 0
  br i1 %8952, label %8953, label %8970

8953:                                             ; preds = %8948
  %8954 = load i32, ptr %190, align 4, !tbaa !5
  %8955 = call ptr @__errno_location() #10
  store i32 %8954, ptr %8955, align 4, !tbaa !5
  %8956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8957 = load i32, ptr @test_count, align 4, !tbaa !5
  %8958 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8959 = load i32, ptr %8958, align 4, !tbaa !5
  %8960 = call ptr @s2n_strerror(i32 noundef %8959, ptr noundef @.str.4)
  %8961 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8962 = load i32, ptr %8961, align 4, !tbaa !5
  %8963 = call ptr @s2n_strerror_debug(i32 noundef %8962, ptr noundef @.str.4)
  %8964 = call ptr @__errno_location() #10
  %8965 = load i32, ptr %8964, align 4, !tbaa !5
  %8966 = call ptr @strerror(i32 noundef %8965) #9
  %8967 = call ptr @__errno_location() #10
  %8968 = load i32, ptr %8967, align 4, !tbaa !5
  %8969 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8956, ptr noundef @.str.2, i32 noundef %8957, ptr noundef @.str.88, ptr noundef @.str.1, i32 noundef 353, ptr noundef %8960, ptr noundef %8963, ptr noundef %8966, i32 noundef %8968) #9
  br label %8987

8970:                                             ; preds = %8948, %8941
  %8971 = load i32, ptr %190, align 4, !tbaa !5
  %8972 = call ptr @__errno_location() #10
  store i32 %8971, ptr %8972, align 4, !tbaa !5
  %8973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8974 = load i32, ptr @test_count, align 4, !tbaa !5
  %8975 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8976 = load i32, ptr %8975, align 4, !tbaa !5
  %8977 = call ptr @s2n_strerror(i32 noundef %8976, ptr noundef @.str.4)
  %8978 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8979 = load i32, ptr %8978, align 4, !tbaa !5
  %8980 = call ptr @s2n_strerror_debug(i32 noundef %8979, ptr noundef @.str.4)
  %8981 = call ptr @__errno_location() #10
  %8982 = load i32, ptr %8981, align 4, !tbaa !5
  %8983 = call ptr @strerror(i32 noundef %8982) #9
  %8984 = call ptr @__errno_location() #10
  %8985 = load i32, ptr %8984, align 4, !tbaa !5
  %8986 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8973, ptr noundef @.str.5, i32 noundef %8974, ptr noundef @.str.88, ptr noundef @.str.1, i32 noundef 353, ptr noundef %8977, ptr noundef %8980, ptr noundef %8983, i32 noundef %8985) #9
  br label %8987

8987:                                             ; preds = %8970, %8953
  call void @llvm.lifetime.end.p0(i64 4, ptr %190) #9
  br label %8988

8988:                                             ; preds = %8987
  br label %8989

8989:                                             ; preds = %8988
  call void @exit(i32 noundef 1) #11
  unreachable

8990:                                             ; No predecessors!
  br label %8991

8991:                                             ; preds = %8990
  br label %8992

8992:                                             ; preds = %8991, %8934
  br label %8993

8993:                                             ; preds = %8992
  br label %8994

8994:                                             ; preds = %8993
  br label %8995

8995:                                             ; preds = %8994
  %8996 = load i32, ptr @test_count, align 4, !tbaa !5
  %8997 = add nsw i32 %8996, 1
  store i32 %8997, ptr @test_count, align 4, !tbaa !5
  %8998 = load i32, ptr %189, align 4, !tbaa !5
  %8999 = icmp eq i32 %8998, 0
  br i1 %8999, label %9053, label %9000

9000:                                             ; preds = %8995
  br label %9001

9001:                                             ; preds = %9000
  br label %9002

9002:                                             ; preds = %9001
  call void @llvm.lifetime.start.p0(i64 4, ptr %191) #9
  %9003 = call ptr @__errno_location() #10
  %9004 = load i32, ptr %9003, align 4, !tbaa !5
  store i32 %9004, ptr %191, align 4, !tbaa !5
  %9005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9006 = call i32 @s2n_print_stacktrace(ptr noundef %9005)
  %9007 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9008 = trunc i8 %9007 to i1
  br i1 %9008, label %9009, label %9031

9009:                                             ; preds = %9002
  %9010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9011 = call i32 @fileno(ptr noundef %9010) #9
  %9012 = call i32 @isatty(i32 noundef %9011) #9
  %9013 = icmp ne i32 %9012, 0
  br i1 %9013, label %9014, label %9031

9014:                                             ; preds = %9009
  %9015 = load i32, ptr %191, align 4, !tbaa !5
  %9016 = call ptr @__errno_location() #10
  store i32 %9015, ptr %9016, align 4, !tbaa !5
  %9017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9018 = load i32, ptr @test_count, align 4, !tbaa !5
  %9019 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9020 = load i32, ptr %9019, align 4, !tbaa !5
  %9021 = call ptr @s2n_strerror(i32 noundef %9020, ptr noundef @.str.4)
  %9022 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9023 = load i32, ptr %9022, align 4, !tbaa !5
  %9024 = call ptr @s2n_strerror_debug(i32 noundef %9023, ptr noundef @.str.4)
  %9025 = call ptr @__errno_location() #10
  %9026 = load i32, ptr %9025, align 4, !tbaa !5
  %9027 = call ptr @strerror(i32 noundef %9026) #9
  %9028 = call ptr @__errno_location() #10
  %9029 = load i32, ptr %9028, align 4, !tbaa !5
  %9030 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9017, ptr noundef @.str.2, i32 noundef %9018, ptr noundef @.str.89, ptr noundef @.str.1, i32 noundef 354, ptr noundef %9021, ptr noundef %9024, ptr noundef %9027, i32 noundef %9029) #9
  br label %9048

9031:                                             ; preds = %9009, %9002
  %9032 = load i32, ptr %191, align 4, !tbaa !5
  %9033 = call ptr @__errno_location() #10
  store i32 %9032, ptr %9033, align 4, !tbaa !5
  %9034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9035 = load i32, ptr @test_count, align 4, !tbaa !5
  %9036 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9037 = load i32, ptr %9036, align 4, !tbaa !5
  %9038 = call ptr @s2n_strerror(i32 noundef %9037, ptr noundef @.str.4)
  %9039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9040 = load i32, ptr %9039, align 4, !tbaa !5
  %9041 = call ptr @s2n_strerror_debug(i32 noundef %9040, ptr noundef @.str.4)
  %9042 = call ptr @__errno_location() #10
  %9043 = load i32, ptr %9042, align 4, !tbaa !5
  %9044 = call ptr @strerror(i32 noundef %9043) #9
  %9045 = call ptr @__errno_location() #10
  %9046 = load i32, ptr %9045, align 4, !tbaa !5
  %9047 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9034, ptr noundef @.str.5, i32 noundef %9035, ptr noundef @.str.89, ptr noundef @.str.1, i32 noundef 354, ptr noundef %9038, ptr noundef %9041, ptr noundef %9044, i32 noundef %9046) #9
  br label %9048

9048:                                             ; preds = %9031, %9014
  call void @llvm.lifetime.end.p0(i64 4, ptr %191) #9
  br label %9049

9049:                                             ; preds = %9048
  br label %9050

9050:                                             ; preds = %9049
  call void @exit(i32 noundef 1) #11
  unreachable

9051:                                             ; No predecessors!
  br label %9052

9052:                                             ; preds = %9051
  br label %9053

9053:                                             ; preds = %9052, %8995
  br label %9054

9054:                                             ; preds = %9053
  br label %9055

9055:                                             ; preds = %9054
  br label %9056

9056:                                             ; preds = %9055
  br label %9057

9057:                                             ; preds = %9056
  %9058 = load i32, ptr @test_count, align 4, !tbaa !5
  %9059 = add nsw i32 %9058, 1
  store i32 %9059, ptr @test_count, align 4, !tbaa !5
  %9060 = call i32 @s2n_align_to(i32 noundef 1, i32 noundef 0, ptr noundef %189)
  %9061 = icmp eq i32 %9060, -1
  br i1 %9061, label %9115, label %9062

9062:                                             ; preds = %9057
  br label %9063

9063:                                             ; preds = %9062
  br label %9064

9064:                                             ; preds = %9063
  call void @llvm.lifetime.start.p0(i64 4, ptr %192) #9
  %9065 = call ptr @__errno_location() #10
  %9066 = load i32, ptr %9065, align 4, !tbaa !5
  store i32 %9066, ptr %192, align 4, !tbaa !5
  %9067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9068 = call i32 @s2n_print_stacktrace(ptr noundef %9067)
  %9069 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9070 = trunc i8 %9069 to i1
  br i1 %9070, label %9071, label %9093

9071:                                             ; preds = %9064
  %9072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9073 = call i32 @fileno(ptr noundef %9072) #9
  %9074 = call i32 @isatty(i32 noundef %9073) #9
  %9075 = icmp ne i32 %9074, 0
  br i1 %9075, label %9076, label %9093

9076:                                             ; preds = %9071
  %9077 = load i32, ptr %192, align 4, !tbaa !5
  %9078 = call ptr @__errno_location() #10
  store i32 %9077, ptr %9078, align 4, !tbaa !5
  %9079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9080 = load i32, ptr @test_count, align 4, !tbaa !5
  %9081 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9082 = load i32, ptr %9081, align 4, !tbaa !5
  %9083 = call ptr @s2n_strerror(i32 noundef %9082, ptr noundef @.str.4)
  %9084 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9085 = load i32, ptr %9084, align 4, !tbaa !5
  %9086 = call ptr @s2n_strerror_debug(i32 noundef %9085, ptr noundef @.str.4)
  %9087 = call ptr @__errno_location() #10
  %9088 = load i32, ptr %9087, align 4, !tbaa !5
  %9089 = call ptr @strerror(i32 noundef %9088) #9
  %9090 = call ptr @__errno_location() #10
  %9091 = load i32, ptr %9090, align 4, !tbaa !5
  %9092 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9079, ptr noundef @.str.2, i32 noundef %9080, ptr noundef @.str.90, ptr noundef @.str.1, i32 noundef 356, ptr noundef %9083, ptr noundef %9086, ptr noundef %9089, i32 noundef %9091) #9
  br label %9110

9093:                                             ; preds = %9071, %9064
  %9094 = load i32, ptr %192, align 4, !tbaa !5
  %9095 = call ptr @__errno_location() #10
  store i32 %9094, ptr %9095, align 4, !tbaa !5
  %9096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9097 = load i32, ptr @test_count, align 4, !tbaa !5
  %9098 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9099 = load i32, ptr %9098, align 4, !tbaa !5
  %9100 = call ptr @s2n_strerror(i32 noundef %9099, ptr noundef @.str.4)
  %9101 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9102 = load i32, ptr %9101, align 4, !tbaa !5
  %9103 = call ptr @s2n_strerror_debug(i32 noundef %9102, ptr noundef @.str.4)
  %9104 = call ptr @__errno_location() #10
  %9105 = load i32, ptr %9104, align 4, !tbaa !5
  %9106 = call ptr @strerror(i32 noundef %9105) #9
  %9107 = call ptr @__errno_location() #10
  %9108 = load i32, ptr %9107, align 4, !tbaa !5
  %9109 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9096, ptr noundef @.str.5, i32 noundef %9097, ptr noundef @.str.90, ptr noundef @.str.1, i32 noundef 356, ptr noundef %9100, ptr noundef %9103, ptr noundef %9106, i32 noundef %9108) #9
  br label %9110

9110:                                             ; preds = %9093, %9076
  call void @llvm.lifetime.end.p0(i64 4, ptr %192) #9
  br label %9111

9111:                                             ; preds = %9110
  br label %9112

9112:                                             ; preds = %9111
  call void @exit(i32 noundef 1) #11
  unreachable

9113:                                             ; No predecessors!
  br label %9114

9114:                                             ; preds = %9113
  br label %9115

9115:                                             ; preds = %9114, %9057
  br label %9116

9116:                                             ; preds = %9115
  br label %9117

9117:                                             ; preds = %9116
  br label %9118

9118:                                             ; preds = %9117
  %9119 = load i32, ptr @test_count, align 4, !tbaa !5
  %9120 = add nsw i32 %9119, 1
  store i32 %9120, ptr @test_count, align 4, !tbaa !5
  %9121 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9122 = load i32, ptr %9121, align 4, !tbaa !5
  %9123 = icmp eq i32 %9122, 0
  br i1 %9123, label %9124, label %9177

9124:                                             ; preds = %9118
  br label %9125

9125:                                             ; preds = %9124
  br label %9126

9126:                                             ; preds = %9125
  call void @llvm.lifetime.start.p0(i64 4, ptr %193) #9
  %9127 = call ptr @__errno_location() #10
  %9128 = load i32, ptr %9127, align 4, !tbaa !5
  store i32 %9128, ptr %193, align 4, !tbaa !5
  %9129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9130 = call i32 @s2n_print_stacktrace(ptr noundef %9129)
  %9131 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9132 = trunc i8 %9131 to i1
  br i1 %9132, label %9133, label %9155

9133:                                             ; preds = %9126
  %9134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9135 = call i32 @fileno(ptr noundef %9134) #9
  %9136 = call i32 @isatty(i32 noundef %9135) #9
  %9137 = icmp ne i32 %9136, 0
  br i1 %9137, label %9138, label %9155

9138:                                             ; preds = %9133
  %9139 = load i32, ptr %193, align 4, !tbaa !5
  %9140 = call ptr @__errno_location() #10
  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() #10
  %9150 = load i32, ptr %9149, align 4, !tbaa !5
  %9151 = call ptr @strerror(i32 noundef %9150) #9
  %9152 = call ptr @__errno_location() #10
  %9153 = load i32, ptr %9152, align 4, !tbaa !5
  %9154 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9141, ptr noundef @.str.2, i32 noundef %9142, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 356, ptr noundef %9145, ptr noundef %9148, ptr noundef %9151, i32 noundef %9153) #9
  br label %9172

9155:                                             ; preds = %9133, %9126
  %9156 = load i32, ptr %193, align 4, !tbaa !5
  %9157 = call ptr @__errno_location() #10
  store i32 %9156, ptr %9157, align 4, !tbaa !5
  %9158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9159 = load i32, ptr @test_count, align 4, !tbaa !5
  %9160 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9161 = load i32, ptr %9160, align 4, !tbaa !5
  %9162 = call ptr @s2n_strerror(i32 noundef %9161, ptr noundef @.str.4)
  %9163 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9164 = load i32, ptr %9163, align 4, !tbaa !5
  %9165 = call ptr @s2n_strerror_debug(i32 noundef %9164, ptr noundef @.str.4)
  %9166 = call ptr @__errno_location() #10
  %9167 = load i32, ptr %9166, align 4, !tbaa !5
  %9168 = call ptr @strerror(i32 noundef %9167) #9
  %9169 = call ptr @__errno_location() #10
  %9170 = load i32, ptr %9169, align 4, !tbaa !5
  %9171 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9158, ptr noundef @.str.5, i32 noundef %9159, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 356, ptr noundef %9162, ptr noundef %9165, ptr noundef %9168, i32 noundef %9170) #9
  br label %9172

9172:                                             ; preds = %9155, %9138
  call void @llvm.lifetime.end.p0(i64 4, ptr %193) #9
  br label %9173

9173:                                             ; preds = %9172
  br label %9174

9174:                                             ; preds = %9173
  call void @exit(i32 noundef 1) #11
  unreachable

9175:                                             ; No predecessors!
  br label %9176

9176:                                             ; preds = %9175
  br label %9177

9177:                                             ; preds = %9176, %9118
  br label %9178

9178:                                             ; preds = %9177
  br label %9179

9179:                                             ; preds = %9178
  br label %9180

9180:                                             ; preds = %9179
  %9181 = load i32, ptr @test_count, align 4, !tbaa !5
  %9182 = add nsw i32 %9181, 1
  store i32 %9182, ptr @test_count, align 4, !tbaa !5
  %9183 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9184 = load i32, ptr %9183, align 4, !tbaa !5
  %9185 = call ptr @s2n_strerror_debug(i32 noundef %9184, ptr noundef @.str.4)
  %9186 = icmp eq ptr %9185, null
  br i1 %9186, label %9187, label %9240

9187:                                             ; preds = %9180
  br label %9188

9188:                                             ; preds = %9187
  br label %9189

9189:                                             ; preds = %9188
  call void @llvm.lifetime.start.p0(i64 4, ptr %194) #9
  %9190 = call ptr @__errno_location() #10
  %9191 = load i32, ptr %9190, align 4, !tbaa !5
  store i32 %9191, ptr %194, align 4, !tbaa !5
  %9192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9193 = call i32 @s2n_print_stacktrace(ptr noundef %9192)
  %9194 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9195 = trunc i8 %9194 to i1
  br i1 %9195, label %9196, label %9218

9196:                                             ; preds = %9189
  %9197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9198 = call i32 @fileno(ptr noundef %9197) #9
  %9199 = call i32 @isatty(i32 noundef %9198) #9
  %9200 = icmp ne i32 %9199, 0
  br i1 %9200, label %9201, label %9218

9201:                                             ; preds = %9196
  %9202 = load i32, ptr %194, align 4, !tbaa !5
  %9203 = call ptr @__errno_location() #10
  store i32 %9202, ptr %9203, align 4, !tbaa !5
  %9204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9205 = load i32, ptr @test_count, align 4, !tbaa !5
  %9206 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9207 = load i32, ptr %9206, align 4, !tbaa !5
  %9208 = call ptr @s2n_strerror(i32 noundef %9207, ptr noundef @.str.4)
  %9209 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9210 = load i32, ptr %9209, align 4, !tbaa !5
  %9211 = call ptr @s2n_strerror_debug(i32 noundef %9210, ptr noundef @.str.4)
  %9212 = call ptr @__errno_location() #10
  %9213 = load i32, ptr %9212, align 4, !tbaa !5
  %9214 = call ptr @strerror(i32 noundef %9213) #9
  %9215 = call ptr @__errno_location() #10
  %9216 = load i32, ptr %9215, align 4, !tbaa !5
  %9217 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9204, ptr noundef @.str.2, i32 noundef %9205, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 356, ptr noundef %9208, ptr noundef %9211, ptr noundef %9214, i32 noundef %9216) #9
  br label %9235

9218:                                             ; preds = %9196, %9189
  %9219 = load i32, ptr %194, align 4, !tbaa !5
  %9220 = call ptr @__errno_location() #10
  store i32 %9219, ptr %9220, align 4, !tbaa !5
  %9221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9222 = load i32, ptr @test_count, align 4, !tbaa !5
  %9223 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9224 = load i32, ptr %9223, align 4, !tbaa !5
  %9225 = call ptr @s2n_strerror(i32 noundef %9224, ptr noundef @.str.4)
  %9226 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9227 = load i32, ptr %9226, align 4, !tbaa !5
  %9228 = call ptr @s2n_strerror_debug(i32 noundef %9227, ptr noundef @.str.4)
  %9229 = call ptr @__errno_location() #10
  %9230 = load i32, ptr %9229, align 4, !tbaa !5
  %9231 = call ptr @strerror(i32 noundef %9230) #9
  %9232 = call ptr @__errno_location() #10
  %9233 = load i32, ptr %9232, align 4, !tbaa !5
  %9234 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9221, ptr noundef @.str.5, i32 noundef %9222, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 356, ptr noundef %9225, ptr noundef %9228, ptr noundef %9231, i32 noundef %9233) #9
  br label %9235

9235:                                             ; preds = %9218, %9201
  call void @llvm.lifetime.end.p0(i64 4, ptr %194) #9
  br label %9236

9236:                                             ; preds = %9235
  br label %9237

9237:                                             ; preds = %9236
  call void @exit(i32 noundef 1) #11
  unreachable

9238:                                             ; No predecessors!
  br label %9239

9239:                                             ; preds = %9238
  br label %9240

9240:                                             ; preds = %9239, %9180
  br label %9241

9241:                                             ; preds = %9240
  br label %9242

9242:                                             ; preds = %9241
  br label %9243

9243:                                             ; preds = %9242
  %9244 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %9244, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %9245 = call ptr @__errno_location() #10
  store i32 0, ptr %9245, align 4, !tbaa !5
  br label %9246

9246:                                             ; preds = %9243
  br label %9247

9247:                                             ; preds = %9246
  br label %9248

9248:                                             ; preds = %9247
  br label %9249

9249:                                             ; preds = %9248
  br label %9250

9250:                                             ; preds = %9249
  %9251 = load i32, ptr @test_count, align 4, !tbaa !5
  %9252 = add nsw i32 %9251, 1
  store i32 %9252, ptr @test_count, align 4, !tbaa !5
  %9253 = call i32 @s2n_align_to(i32 noundef 10, i32 noundef 16, ptr noundef %189)
  %9254 = icmp eq i32 %9253, -1
  br i1 %9254, label %9255, label %9308

9255:                                             ; preds = %9250
  br label %9256

9256:                                             ; preds = %9255
  br label %9257

9257:                                             ; preds = %9256
  call void @llvm.lifetime.start.p0(i64 4, ptr %195) #9
  %9258 = call ptr @__errno_location() #10
  %9259 = load i32, ptr %9258, align 4, !tbaa !5
  store i32 %9259, ptr %195, align 4, !tbaa !5
  %9260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9261 = call i32 @s2n_print_stacktrace(ptr noundef %9260)
  %9262 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9263 = trunc i8 %9262 to i1
  br i1 %9263, label %9264, label %9286

9264:                                             ; preds = %9257
  %9265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9266 = call i32 @fileno(ptr noundef %9265) #9
  %9267 = call i32 @isatty(i32 noundef %9266) #9
  %9268 = icmp ne i32 %9267, 0
  br i1 %9268, label %9269, label %9286

9269:                                             ; preds = %9264
  %9270 = load i32, ptr %195, align 4, !tbaa !5
  %9271 = call ptr @__errno_location() #10
  store i32 %9270, ptr %9271, align 4, !tbaa !5
  %9272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9273 = load i32, ptr @test_count, align 4, !tbaa !5
  %9274 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9275 = load i32, ptr %9274, align 4, !tbaa !5
  %9276 = call ptr @s2n_strerror(i32 noundef %9275, ptr noundef @.str.4)
  %9277 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9278 = load i32, ptr %9277, align 4, !tbaa !5
  %9279 = call ptr @s2n_strerror_debug(i32 noundef %9278, ptr noundef @.str.4)
  %9280 = call ptr @__errno_location() #10
  %9281 = load i32, ptr %9280, align 4, !tbaa !5
  %9282 = call ptr @strerror(i32 noundef %9281) #9
  %9283 = call ptr @__errno_location() #10
  %9284 = load i32, ptr %9283, align 4, !tbaa !5
  %9285 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9272, ptr noundef @.str.2, i32 noundef %9273, ptr noundef @.str.91, ptr noundef @.str.1, i32 noundef 358, ptr noundef %9276, ptr noundef %9279, ptr noundef %9282, i32 noundef %9284) #9
  br label %9303

9286:                                             ; preds = %9264, %9257
  %9287 = load i32, ptr %195, align 4, !tbaa !5
  %9288 = call ptr @__errno_location() #10
  store i32 %9287, ptr %9288, align 4, !tbaa !5
  %9289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9290 = load i32, ptr @test_count, align 4, !tbaa !5
  %9291 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9292 = load i32, ptr %9291, align 4, !tbaa !5
  %9293 = call ptr @s2n_strerror(i32 noundef %9292, ptr noundef @.str.4)
  %9294 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9295 = load i32, ptr %9294, align 4, !tbaa !5
  %9296 = call ptr @s2n_strerror_debug(i32 noundef %9295, ptr noundef @.str.4)
  %9297 = call ptr @__errno_location() #10
  %9298 = load i32, ptr %9297, align 4, !tbaa !5
  %9299 = call ptr @strerror(i32 noundef %9298) #9
  %9300 = call ptr @__errno_location() #10
  %9301 = load i32, ptr %9300, align 4, !tbaa !5
  %9302 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9289, ptr noundef @.str.5, i32 noundef %9290, ptr noundef @.str.91, ptr noundef @.str.1, i32 noundef 358, ptr noundef %9293, ptr noundef %9296, ptr noundef %9299, i32 noundef %9301) #9
  br label %9303

9303:                                             ; preds = %9286, %9269
  call void @llvm.lifetime.end.p0(i64 4, ptr %195) #9
  br label %9304

9304:                                             ; preds = %9303
  br label %9305

9305:                                             ; preds = %9304
  call void @exit(i32 noundef 1) #11
  unreachable

9306:                                             ; No predecessors!
  br label %9307

9307:                                             ; preds = %9306
  br label %9308

9308:                                             ; preds = %9307, %9250
  br label %9309

9309:                                             ; preds = %9308
  br label %9310

9310:                                             ; preds = %9309
  br label %9311

9311:                                             ; preds = %9310
  %9312 = load i32, ptr @test_count, align 4, !tbaa !5
  %9313 = add nsw i32 %9312, 1
  store i32 %9313, ptr @test_count, align 4, !tbaa !5
  %9314 = load i32, ptr %189, align 4, !tbaa !5
  %9315 = icmp eq i32 %9314, 16
  br i1 %9315, label %9369, label %9316

9316:                                             ; preds = %9311
  br label %9317

9317:                                             ; preds = %9316
  br label %9318

9318:                                             ; preds = %9317
  call void @llvm.lifetime.start.p0(i64 4, ptr %196) #9
  %9319 = call ptr @__errno_location() #10
  %9320 = load i32, ptr %9319, align 4, !tbaa !5
  store i32 %9320, ptr %196, align 4, !tbaa !5
  %9321 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9322 = call i32 @s2n_print_stacktrace(ptr noundef %9321)
  %9323 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9324 = trunc i8 %9323 to i1
  br i1 %9324, label %9325, label %9347

9325:                                             ; preds = %9318
  %9326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9327 = call i32 @fileno(ptr noundef %9326) #9
  %9328 = call i32 @isatty(i32 noundef %9327) #9
  %9329 = icmp ne i32 %9328, 0
  br i1 %9329, label %9330, label %9347

9330:                                             ; preds = %9325
  %9331 = load i32, ptr %196, align 4, !tbaa !5
  %9332 = call ptr @__errno_location() #10
  store i32 %9331, ptr %9332, align 4, !tbaa !5
  %9333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9334 = load i32, ptr @test_count, align 4, !tbaa !5
  %9335 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9336 = load i32, ptr %9335, align 4, !tbaa !5
  %9337 = call ptr @s2n_strerror(i32 noundef %9336, ptr noundef @.str.4)
  %9338 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9339 = load i32, ptr %9338, align 4, !tbaa !5
  %9340 = call ptr @s2n_strerror_debug(i32 noundef %9339, ptr noundef @.str.4)
  %9341 = call ptr @__errno_location() #10
  %9342 = load i32, ptr %9341, align 4, !tbaa !5
  %9343 = call ptr @strerror(i32 noundef %9342) #9
  %9344 = call ptr @__errno_location() #10
  %9345 = load i32, ptr %9344, align 4, !tbaa !5
  %9346 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9333, ptr noundef @.str.2, i32 noundef %9334, ptr noundef @.str.92, ptr noundef @.str.1, i32 noundef 359, ptr noundef %9337, ptr noundef %9340, ptr noundef %9343, i32 noundef %9345) #9
  br label %9364

9347:                                             ; preds = %9325, %9318
  %9348 = load i32, ptr %196, align 4, !tbaa !5
  %9349 = call ptr @__errno_location() #10
  store i32 %9348, ptr %9349, align 4, !tbaa !5
  %9350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9351 = load i32, ptr @test_count, align 4, !tbaa !5
  %9352 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9353 = load i32, ptr %9352, align 4, !tbaa !5
  %9354 = call ptr @s2n_strerror(i32 noundef %9353, ptr noundef @.str.4)
  %9355 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9356 = load i32, ptr %9355, align 4, !tbaa !5
  %9357 = call ptr @s2n_strerror_debug(i32 noundef %9356, ptr noundef @.str.4)
  %9358 = call ptr @__errno_location() #10
  %9359 = load i32, ptr %9358, align 4, !tbaa !5
  %9360 = call ptr @strerror(i32 noundef %9359) #9
  %9361 = call ptr @__errno_location() #10
  %9362 = load i32, ptr %9361, align 4, !tbaa !5
  %9363 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9350, ptr noundef @.str.5, i32 noundef %9351, ptr noundef @.str.92, ptr noundef @.str.1, i32 noundef 359, ptr noundef %9354, ptr noundef %9357, ptr noundef %9360, i32 noundef %9362) #9
  br label %9364

9364:                                             ; preds = %9347, %9330
  call void @llvm.lifetime.end.p0(i64 4, ptr %196) #9
  br label %9365

9365:                                             ; preds = %9364
  br label %9366

9366:                                             ; preds = %9365
  call void @exit(i32 noundef 1) #11
  unreachable

9367:                                             ; No predecessors!
  br label %9368

9368:                                             ; preds = %9367
  br label %9369

9369:                                             ; preds = %9368, %9311
  br label %9370

9370:                                             ; preds = %9369
  br label %9371

9371:                                             ; preds = %9370
  br label %9372

9372:                                             ; preds = %9371
  %9373 = load i32, ptr @test_count, align 4, !tbaa !5
  %9374 = add nsw i32 %9373, 1
  store i32 %9374, ptr @test_count, align 4, !tbaa !5
  %9375 = call i32 @s2n_align_to(i32 noundef 20, i32 noundef 16, ptr noundef %189)
  %9376 = icmp eq i32 %9375, -1
  br i1 %9376, label %9377, label %9430

9377:                                             ; preds = %9372
  br label %9378

9378:                                             ; preds = %9377
  br label %9379

9379:                                             ; preds = %9378
  call void @llvm.lifetime.start.p0(i64 4, ptr %197) #9
  %9380 = call ptr @__errno_location() #10
  %9381 = load i32, ptr %9380, align 4, !tbaa !5
  store i32 %9381, ptr %197, align 4, !tbaa !5
  %9382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9383 = call i32 @s2n_print_stacktrace(ptr noundef %9382)
  %9384 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9385 = trunc i8 %9384 to i1
  br i1 %9385, label %9386, label %9408

9386:                                             ; preds = %9379
  %9387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9388 = call i32 @fileno(ptr noundef %9387) #9
  %9389 = call i32 @isatty(i32 noundef %9388) #9
  %9390 = icmp ne i32 %9389, 0
  br i1 %9390, label %9391, label %9408

9391:                                             ; preds = %9386
  %9392 = load i32, ptr %197, align 4, !tbaa !5
  %9393 = call ptr @__errno_location() #10
  store i32 %9392, ptr %9393, align 4, !tbaa !5
  %9394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9395 = load i32, ptr @test_count, align 4, !tbaa !5
  %9396 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9397 = load i32, ptr %9396, align 4, !tbaa !5
  %9398 = call ptr @s2n_strerror(i32 noundef %9397, ptr noundef @.str.4)
  %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_debug(i32 noundef %9400, ptr noundef @.str.4)
  %9402 = call ptr @__errno_location() #10
  %9403 = load i32, ptr %9402, align 4, !tbaa !5
  %9404 = call ptr @strerror(i32 noundef %9403) #9
  %9405 = call ptr @__errno_location() #10
  %9406 = load i32, ptr %9405, align 4, !tbaa !5
  %9407 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9394, ptr noundef @.str.2, i32 noundef %9395, ptr noundef @.str.93, ptr noundef @.str.1, i32 noundef 361, ptr noundef %9398, ptr noundef %9401, ptr noundef %9404, i32 noundef %9406) #9
  br label %9425

9408:                                             ; preds = %9386, %9379
  %9409 = load i32, ptr %197, align 4, !tbaa !5
  %9410 = call ptr @__errno_location() #10
  store i32 %9409, ptr %9410, align 4, !tbaa !5
  %9411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9412 = load i32, ptr @test_count, align 4, !tbaa !5
  %9413 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9414 = load i32, ptr %9413, align 4, !tbaa !5
  %9415 = call ptr @s2n_strerror(i32 noundef %9414, ptr noundef @.str.4)
  %9416 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9417 = load i32, ptr %9416, align 4, !tbaa !5
  %9418 = call ptr @s2n_strerror_debug(i32 noundef %9417, ptr noundef @.str.4)
  %9419 = call ptr @__errno_location() #10
  %9420 = load i32, ptr %9419, align 4, !tbaa !5
  %9421 = call ptr @strerror(i32 noundef %9420) #9
  %9422 = call ptr @__errno_location() #10
  %9423 = load i32, ptr %9422, align 4, !tbaa !5
  %9424 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9411, ptr noundef @.str.5, i32 noundef %9412, ptr noundef @.str.93, ptr noundef @.str.1, i32 noundef 361, ptr noundef %9415, ptr noundef %9418, ptr noundef %9421, i32 noundef %9423) #9
  br label %9425

9425:                                             ; preds = %9408, %9391
  call void @llvm.lifetime.end.p0(i64 4, ptr %197) #9
  br label %9426

9426:                                             ; preds = %9425
  br label %9427

9427:                                             ; preds = %9426
  call void @exit(i32 noundef 1) #11
  unreachable

9428:                                             ; No predecessors!
  br label %9429

9429:                                             ; preds = %9428
  br label %9430

9430:                                             ; preds = %9429, %9372
  br label %9431

9431:                                             ; preds = %9430
  br label %9432

9432:                                             ; preds = %9431
  br label %9433

9433:                                             ; preds = %9432
  %9434 = load i32, ptr @test_count, align 4, !tbaa !5
  %9435 = add nsw i32 %9434, 1
  store i32 %9435, ptr @test_count, align 4, !tbaa !5
  %9436 = load i32, ptr %189, align 4, !tbaa !5
  %9437 = icmp eq i32 %9436, 32
  br i1 %9437, label %9491, label %9438

9438:                                             ; preds = %9433
  br label %9439

9439:                                             ; preds = %9438
  br label %9440

9440:                                             ; preds = %9439
  call void @llvm.lifetime.start.p0(i64 4, ptr %198) #9
  %9441 = call ptr @__errno_location() #10
  %9442 = load i32, ptr %9441, align 4, !tbaa !5
  store i32 %9442, ptr %198, align 4, !tbaa !5
  %9443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9444 = call i32 @s2n_print_stacktrace(ptr noundef %9443)
  %9445 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9446 = trunc i8 %9445 to i1
  br i1 %9446, label %9447, label %9469

9447:                                             ; preds = %9440
  %9448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9449 = call i32 @fileno(ptr noundef %9448) #9
  %9450 = call i32 @isatty(i32 noundef %9449) #9
  %9451 = icmp ne i32 %9450, 0
  br i1 %9451, label %9452, label %9469

9452:                                             ; preds = %9447
  %9453 = load i32, ptr %198, align 4, !tbaa !5
  %9454 = call ptr @__errno_location() #10
  store i32 %9453, ptr %9454, align 4, !tbaa !5
  %9455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9456 = load i32, ptr @test_count, align 4, !tbaa !5
  %9457 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9458 = load i32, ptr %9457, align 4, !tbaa !5
  %9459 = call ptr @s2n_strerror(i32 noundef %9458, ptr noundef @.str.4)
  %9460 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9461 = load i32, ptr %9460, align 4, !tbaa !5
  %9462 = call ptr @s2n_strerror_debug(i32 noundef %9461, ptr noundef @.str.4)
  %9463 = call ptr @__errno_location() #10
  %9464 = load i32, ptr %9463, align 4, !tbaa !5
  %9465 = call ptr @strerror(i32 noundef %9464) #9
  %9466 = call ptr @__errno_location() #10
  %9467 = load i32, ptr %9466, align 4, !tbaa !5
  %9468 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9455, ptr noundef @.str.2, i32 noundef %9456, ptr noundef @.str.94, ptr noundef @.str.1, i32 noundef 362, ptr noundef %9459, ptr noundef %9462, ptr noundef %9465, i32 noundef %9467) #9
  br label %9486

9469:                                             ; preds = %9447, %9440
  %9470 = load i32, ptr %198, align 4, !tbaa !5
  %9471 = call ptr @__errno_location() #10
  store i32 %9470, ptr %9471, align 4, !tbaa !5
  %9472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9473 = load i32, ptr @test_count, align 4, !tbaa !5
  %9474 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9475 = load i32, ptr %9474, align 4, !tbaa !5
  %9476 = call ptr @s2n_strerror(i32 noundef %9475, ptr noundef @.str.4)
  %9477 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9478 = load i32, ptr %9477, align 4, !tbaa !5
  %9479 = call ptr @s2n_strerror_debug(i32 noundef %9478, ptr noundef @.str.4)
  %9480 = call ptr @__errno_location() #10
  %9481 = load i32, ptr %9480, align 4, !tbaa !5
  %9482 = call ptr @strerror(i32 noundef %9481) #9
  %9483 = call ptr @__errno_location() #10
  %9484 = load i32, ptr %9483, align 4, !tbaa !5
  %9485 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9472, ptr noundef @.str.5, i32 noundef %9473, ptr noundef @.str.94, ptr noundef @.str.1, i32 noundef 362, ptr noundef %9476, ptr noundef %9479, ptr noundef %9482, i32 noundef %9484) #9
  br label %9486

9486:                                             ; preds = %9469, %9452
  call void @llvm.lifetime.end.p0(i64 4, ptr %198) #9
  br label %9487

9487:                                             ; preds = %9486
  br label %9488

9488:                                             ; preds = %9487
  call void @exit(i32 noundef 1) #11
  unreachable

9489:                                             ; No predecessors!
  br label %9490

9490:                                             ; preds = %9489
  br label %9491

9491:                                             ; preds = %9490, %9433
  br label %9492

9492:                                             ; preds = %9491
  br label %9493

9493:                                             ; preds = %9492
  br label %9494

9494:                                             ; preds = %9493
  br label %9495

9495:                                             ; preds = %9494
  %9496 = load i32, ptr @test_count, align 4, !tbaa !5
  %9497 = add nsw i32 %9496, 1
  store i32 %9497, ptr @test_count, align 4, !tbaa !5
  %9498 = call i32 @s2n_align_to(i32 noundef -1, i32 noundef 4, ptr noundef %189)
  %9499 = icmp eq i32 %9498, -1
  br i1 %9499, label %9553, label %9500

9500:                                             ; preds = %9495
  br label %9501

9501:                                             ; preds = %9500
  br label %9502

9502:                                             ; preds = %9501
  call void @llvm.lifetime.start.p0(i64 4, ptr %199) #9
  %9503 = call ptr @__errno_location() #10
  %9504 = load i32, ptr %9503, align 4, !tbaa !5
  store i32 %9504, ptr %199, align 4, !tbaa !5
  %9505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9506 = call i32 @s2n_print_stacktrace(ptr noundef %9505)
  %9507 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9508 = trunc i8 %9507 to i1
  br i1 %9508, label %9509, label %9531

9509:                                             ; preds = %9502
  %9510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9511 = call i32 @fileno(ptr noundef %9510) #9
  %9512 = call i32 @isatty(i32 noundef %9511) #9
  %9513 = icmp ne i32 %9512, 0
  br i1 %9513, label %9514, label %9531

9514:                                             ; preds = %9509
  %9515 = load i32, ptr %199, align 4, !tbaa !5
  %9516 = call ptr @__errno_location() #10
  store i32 %9515, ptr %9516, align 4, !tbaa !5
  %9517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9518 = load i32, ptr @test_count, align 4, !tbaa !5
  %9519 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9520 = load i32, ptr %9519, align 4, !tbaa !5
  %9521 = call ptr @s2n_strerror(i32 noundef %9520, ptr noundef @.str.4)
  %9522 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9523 = load i32, ptr %9522, align 4, !tbaa !5
  %9524 = call ptr @s2n_strerror_debug(i32 noundef %9523, ptr noundef @.str.4)
  %9525 = call ptr @__errno_location() #10
  %9526 = load i32, ptr %9525, align 4, !tbaa !5
  %9527 = call ptr @strerror(i32 noundef %9526) #9
  %9528 = call ptr @__errno_location() #10
  %9529 = load i32, ptr %9528, align 4, !tbaa !5
  %9530 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9517, ptr noundef @.str.2, i32 noundef %9518, ptr noundef @.str.95, ptr noundef @.str.1, i32 noundef 364, ptr noundef %9521, ptr noundef %9524, ptr noundef %9527, i32 noundef %9529) #9
  br label %9548

9531:                                             ; preds = %9509, %9502
  %9532 = load i32, ptr %199, align 4, !tbaa !5
  %9533 = call ptr @__errno_location() #10
  store i32 %9532, ptr %9533, align 4, !tbaa !5
  %9534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9535 = load i32, ptr @test_count, align 4, !tbaa !5
  %9536 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9537 = load i32, ptr %9536, align 4, !tbaa !5
  %9538 = call ptr @s2n_strerror(i32 noundef %9537, ptr noundef @.str.4)
  %9539 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9540 = load i32, ptr %9539, align 4, !tbaa !5
  %9541 = call ptr @s2n_strerror_debug(i32 noundef %9540, ptr noundef @.str.4)
  %9542 = call ptr @__errno_location() #10
  %9543 = load i32, ptr %9542, align 4, !tbaa !5
  %9544 = call ptr @strerror(i32 noundef %9543) #9
  %9545 = call ptr @__errno_location() #10
  %9546 = load i32, ptr %9545, align 4, !tbaa !5
  %9547 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9534, ptr noundef @.str.5, i32 noundef %9535, ptr noundef @.str.95, ptr noundef @.str.1, i32 noundef 364, ptr noundef %9538, ptr noundef %9541, ptr noundef %9544, i32 noundef %9546) #9
  br label %9548

9548:                                             ; preds = %9531, %9514
  call void @llvm.lifetime.end.p0(i64 4, ptr %199) #9
  br label %9549

9549:                                             ; preds = %9548
  br label %9550

9550:                                             ; preds = %9549
  call void @exit(i32 noundef 1) #11
  unreachable

9551:                                             ; No predecessors!
  br label %9552

9552:                                             ; preds = %9551
  br label %9553

9553:                                             ; preds = %9552, %9495
  br label %9554

9554:                                             ; preds = %9553
  br label %9555

9555:                                             ; preds = %9554
  br label %9556

9556:                                             ; preds = %9555
  %9557 = load i32, ptr @test_count, align 4, !tbaa !5
  %9558 = add nsw i32 %9557, 1
  store i32 %9558, ptr @test_count, align 4, !tbaa !5
  %9559 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9560 = load i32, ptr %9559, align 4, !tbaa !5
  %9561 = icmp eq i32 %9560, 0
  br i1 %9561, label %9562, label %9615

9562:                                             ; preds = %9556
  br label %9563

9563:                                             ; preds = %9562
  br label %9564

9564:                                             ; preds = %9563
  call void @llvm.lifetime.start.p0(i64 4, ptr %200) #9
  %9565 = call ptr @__errno_location() #10
  %9566 = load i32, ptr %9565, align 4, !tbaa !5
  store i32 %9566, ptr %200, align 4, !tbaa !5
  %9567 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9568 = call i32 @s2n_print_stacktrace(ptr noundef %9567)
  %9569 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9570 = trunc i8 %9569 to i1
  br i1 %9570, label %9571, label %9593

9571:                                             ; preds = %9564
  %9572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9573 = call i32 @fileno(ptr noundef %9572) #9
  %9574 = call i32 @isatty(i32 noundef %9573) #9
  %9575 = icmp ne i32 %9574, 0
  br i1 %9575, label %9576, label %9593

9576:                                             ; preds = %9571
  %9577 = load i32, ptr %200, align 4, !tbaa !5
  %9578 = call ptr @__errno_location() #10
  store i32 %9577, ptr %9578, align 4, !tbaa !5
  %9579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9580 = load i32, ptr @test_count, align 4, !tbaa !5
  %9581 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9582 = load i32, ptr %9581, align 4, !tbaa !5
  %9583 = call ptr @s2n_strerror(i32 noundef %9582, ptr noundef @.str.4)
  %9584 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9585 = load i32, ptr %9584, align 4, !tbaa !5
  %9586 = call ptr @s2n_strerror_debug(i32 noundef %9585, ptr noundef @.str.4)
  %9587 = call ptr @__errno_location() #10
  %9588 = load i32, ptr %9587, align 4, !tbaa !5
  %9589 = call ptr @strerror(i32 noundef %9588) #9
  %9590 = call ptr @__errno_location() #10
  %9591 = load i32, ptr %9590, align 4, !tbaa !5
  %9592 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9579, ptr noundef @.str.2, i32 noundef %9580, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 364, ptr noundef %9583, ptr noundef %9586, ptr noundef %9589, i32 noundef %9591) #9
  br label %9610

9593:                                             ; preds = %9571, %9564
  %9594 = load i32, ptr %200, align 4, !tbaa !5
  %9595 = call ptr @__errno_location() #10
  store i32 %9594, ptr %9595, align 4, !tbaa !5
  %9596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9597 = load i32, ptr @test_count, align 4, !tbaa !5
  %9598 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9599 = load i32, ptr %9598, align 4, !tbaa !5
  %9600 = call ptr @s2n_strerror(i32 noundef %9599, ptr noundef @.str.4)
  %9601 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9602 = load i32, ptr %9601, align 4, !tbaa !5
  %9603 = call ptr @s2n_strerror_debug(i32 noundef %9602, ptr noundef @.str.4)
  %9604 = call ptr @__errno_location() #10
  %9605 = load i32, ptr %9604, align 4, !tbaa !5
  %9606 = call ptr @strerror(i32 noundef %9605) #9
  %9607 = call ptr @__errno_location() #10
  %9608 = load i32, ptr %9607, align 4, !tbaa !5
  %9609 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9596, ptr noundef @.str.5, i32 noundef %9597, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 364, ptr noundef %9600, ptr noundef %9603, ptr noundef %9606, i32 noundef %9608) #9
  br label %9610

9610:                                             ; preds = %9593, %9576
  call void @llvm.lifetime.end.p0(i64 4, ptr %200) #9
  br label %9611

9611:                                             ; preds = %9610
  br label %9612

9612:                                             ; preds = %9611
  call void @exit(i32 noundef 1) #11
  unreachable

9613:                                             ; No predecessors!
  br label %9614

9614:                                             ; preds = %9613
  br label %9615

9615:                                             ; preds = %9614, %9556
  br label %9616

9616:                                             ; preds = %9615
  br label %9617

9617:                                             ; preds = %9616
  br label %9618

9618:                                             ; preds = %9617
  %9619 = load i32, ptr @test_count, align 4, !tbaa !5
  %9620 = add nsw i32 %9619, 1
  store i32 %9620, ptr @test_count, align 4, !tbaa !5
  %9621 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9622 = load i32, ptr %9621, align 4, !tbaa !5
  %9623 = call ptr @s2n_strerror_debug(i32 noundef %9622, ptr noundef @.str.4)
  %9624 = icmp eq ptr %9623, null
  br i1 %9624, label %9625, label %9678

9625:                                             ; preds = %9618
  br label %9626

9626:                                             ; preds = %9625
  br label %9627

9627:                                             ; preds = %9626
  call void @llvm.lifetime.start.p0(i64 4, ptr %201) #9
  %9628 = call ptr @__errno_location() #10
  %9629 = load i32, ptr %9628, align 4, !tbaa !5
  store i32 %9629, ptr %201, align 4, !tbaa !5
  %9630 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9631 = call i32 @s2n_print_stacktrace(ptr noundef %9630)
  %9632 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9633 = trunc i8 %9632 to i1
  br i1 %9633, label %9634, label %9656

9634:                                             ; preds = %9627
  %9635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9636 = call i32 @fileno(ptr noundef %9635) #9
  %9637 = call i32 @isatty(i32 noundef %9636) #9
  %9638 = icmp ne i32 %9637, 0
  br i1 %9638, label %9639, label %9656

9639:                                             ; preds = %9634
  %9640 = load i32, ptr %201, align 4, !tbaa !5
  %9641 = call ptr @__errno_location() #10
  store i32 %9640, ptr %9641, align 4, !tbaa !5
  %9642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9643 = load i32, ptr @test_count, align 4, !tbaa !5
  %9644 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9645 = load i32, ptr %9644, align 4, !tbaa !5
  %9646 = call ptr @s2n_strerror(i32 noundef %9645, ptr noundef @.str.4)
  %9647 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9648 = load i32, ptr %9647, align 4, !tbaa !5
  %9649 = call ptr @s2n_strerror_debug(i32 noundef %9648, ptr noundef @.str.4)
  %9650 = call ptr @__errno_location() #10
  %9651 = load i32, ptr %9650, align 4, !tbaa !5
  %9652 = call ptr @strerror(i32 noundef %9651) #9
  %9653 = call ptr @__errno_location() #10
  %9654 = load i32, ptr %9653, align 4, !tbaa !5
  %9655 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9642, ptr noundef @.str.2, i32 noundef %9643, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 364, ptr noundef %9646, ptr noundef %9649, ptr noundef %9652, i32 noundef %9654) #9
  br label %9673

9656:                                             ; preds = %9634, %9627
  %9657 = load i32, ptr %201, align 4, !tbaa !5
  %9658 = call ptr @__errno_location() #10
  store i32 %9657, ptr %9658, align 4, !tbaa !5
  %9659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9660 = load i32, ptr @test_count, align 4, !tbaa !5
  %9661 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9662 = load i32, ptr %9661, align 4, !tbaa !5
  %9663 = call ptr @s2n_strerror(i32 noundef %9662, ptr noundef @.str.4)
  %9664 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9665 = load i32, ptr %9664, align 4, !tbaa !5
  %9666 = call ptr @s2n_strerror_debug(i32 noundef %9665, ptr noundef @.str.4)
  %9667 = call ptr @__errno_location() #10
  %9668 = load i32, ptr %9667, align 4, !tbaa !5
  %9669 = call ptr @strerror(i32 noundef %9668) #9
  %9670 = call ptr @__errno_location() #10
  %9671 = load i32, ptr %9670, align 4, !tbaa !5
  %9672 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9659, ptr noundef @.str.5, i32 noundef %9660, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 364, ptr noundef %9663, ptr noundef %9666, ptr noundef %9669, i32 noundef %9671) #9
  br label %9673

9673:                                             ; preds = %9656, %9639
  call void @llvm.lifetime.end.p0(i64 4, ptr %201) #9
  br label %9674

9674:                                             ; preds = %9673
  br label %9675

9675:                                             ; preds = %9674
  call void @exit(i32 noundef 1) #11
  unreachable

9676:                                             ; No predecessors!
  br label %9677

9677:                                             ; preds = %9676
  br label %9678

9678:                                             ; preds = %9677, %9618
  br label %9679

9679:                                             ; preds = %9678
  br label %9680

9680:                                             ; preds = %9679
  br label %9681

9681:                                             ; preds = %9680
  %9682 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %9682, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %9683 = call ptr @__errno_location() #10
  store i32 0, ptr %9683, align 4, !tbaa !5
  br label %9684

9684:                                             ; preds = %9681
  br label %9685

9685:                                             ; preds = %9684
  br label %9686

9686:                                             ; preds = %9685
  br label %9687

9687:                                             ; preds = %9686
  br label %9688

9688:                                             ; preds = %9687
  %9689 = load i32, ptr @test_count, align 4, !tbaa !5
  %9690 = add nsw i32 %9689, 1
  store i32 %9690, ptr @test_count, align 4, !tbaa !5
  %9691 = call i32 @s2n_align_to(i32 noundef 10, i32 noundef 4096, ptr noundef %189)
  %9692 = icmp eq i32 %9691, -1
  br i1 %9692, label %9693, label %9746

9693:                                             ; preds = %9688
  br label %9694

9694:                                             ; preds = %9693
  br label %9695

9695:                                             ; preds = %9694
  call void @llvm.lifetime.start.p0(i64 4, ptr %202) #9
  %9696 = call ptr @__errno_location() #10
  %9697 = load i32, ptr %9696, align 4, !tbaa !5
  store i32 %9697, ptr %202, align 4, !tbaa !5
  %9698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9699 = call i32 @s2n_print_stacktrace(ptr noundef %9698)
  %9700 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9701 = trunc i8 %9700 to i1
  br i1 %9701, label %9702, label %9724

9702:                                             ; preds = %9695
  %9703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9704 = call i32 @fileno(ptr noundef %9703) #9
  %9705 = call i32 @isatty(i32 noundef %9704) #9
  %9706 = icmp ne i32 %9705, 0
  br i1 %9706, label %9707, label %9724

9707:                                             ; preds = %9702
  %9708 = load i32, ptr %202, align 4, !tbaa !5
  %9709 = call ptr @__errno_location() #10
  store i32 %9708, ptr %9709, align 4, !tbaa !5
  %9710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9711 = load i32, ptr @test_count, align 4, !tbaa !5
  %9712 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9713 = load i32, ptr %9712, align 4, !tbaa !5
  %9714 = call ptr @s2n_strerror(i32 noundef %9713, ptr noundef @.str.4)
  %9715 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9716 = load i32, ptr %9715, align 4, !tbaa !5
  %9717 = call ptr @s2n_strerror_debug(i32 noundef %9716, ptr noundef @.str.4)
  %9718 = call ptr @__errno_location() #10
  %9719 = load i32, ptr %9718, align 4, !tbaa !5
  %9720 = call ptr @strerror(i32 noundef %9719) #9
  %9721 = call ptr @__errno_location() #10
  %9722 = load i32, ptr %9721, align 4, !tbaa !5
  %9723 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9710, ptr noundef @.str.2, i32 noundef %9711, ptr noundef @.str.96, ptr noundef @.str.1, i32 noundef 366, ptr noundef %9714, ptr noundef %9717, ptr noundef %9720, i32 noundef %9722) #9
  br label %9741

9724:                                             ; preds = %9702, %9695
  %9725 = load i32, ptr %202, align 4, !tbaa !5
  %9726 = call ptr @__errno_location() #10
  store i32 %9725, ptr %9726, align 4, !tbaa !5
  %9727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9728 = load i32, ptr @test_count, align 4, !tbaa !5
  %9729 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9730 = load i32, ptr %9729, align 4, !tbaa !5
  %9731 = call ptr @s2n_strerror(i32 noundef %9730, ptr noundef @.str.4)
  %9732 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9733 = load i32, ptr %9732, align 4, !tbaa !5
  %9734 = call ptr @s2n_strerror_debug(i32 noundef %9733, ptr noundef @.str.4)
  %9735 = call ptr @__errno_location() #10
  %9736 = load i32, ptr %9735, align 4, !tbaa !5
  %9737 = call ptr @strerror(i32 noundef %9736) #9
  %9738 = call ptr @__errno_location() #10
  %9739 = load i32, ptr %9738, align 4, !tbaa !5
  %9740 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9727, ptr noundef @.str.5, i32 noundef %9728, ptr noundef @.str.96, ptr noundef @.str.1, i32 noundef 366, ptr noundef %9731, ptr noundef %9734, ptr noundef %9737, i32 noundef %9739) #9
  br label %9741

9741:                                             ; preds = %9724, %9707
  call void @llvm.lifetime.end.p0(i64 4, ptr %202) #9
  br label %9742

9742:                                             ; preds = %9741
  br label %9743

9743:                                             ; preds = %9742
  call void @exit(i32 noundef 1) #11
  unreachable

9744:                                             ; No predecessors!
  br label %9745

9745:                                             ; preds = %9744
  br label %9746

9746:                                             ; preds = %9745, %9688
  br label %9747

9747:                                             ; preds = %9746
  br label %9748

9748:                                             ; preds = %9747
  br label %9749

9749:                                             ; preds = %9748
  %9750 = load i32, ptr @test_count, align 4, !tbaa !5
  %9751 = add nsw i32 %9750, 1
  store i32 %9751, ptr @test_count, align 4, !tbaa !5
  %9752 = load i32, ptr %189, align 4, !tbaa !5
  %9753 = icmp eq i32 %9752, 4096
  br i1 %9753, label %9807, label %9754

9754:                                             ; preds = %9749
  br label %9755

9755:                                             ; preds = %9754
  br label %9756

9756:                                             ; preds = %9755
  call void @llvm.lifetime.start.p0(i64 4, ptr %203) #9
  %9757 = call ptr @__errno_location() #10
  %9758 = load i32, ptr %9757, align 4, !tbaa !5
  store i32 %9758, ptr %203, align 4, !tbaa !5
  %9759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9760 = call i32 @s2n_print_stacktrace(ptr noundef %9759)
  %9761 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9762 = trunc i8 %9761 to i1
  br i1 %9762, label %9763, label %9785

9763:                                             ; preds = %9756
  %9764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9765 = call i32 @fileno(ptr noundef %9764) #9
  %9766 = call i32 @isatty(i32 noundef %9765) #9
  %9767 = icmp ne i32 %9766, 0
  br i1 %9767, label %9768, label %9785

9768:                                             ; preds = %9763
  %9769 = load i32, ptr %203, align 4, !tbaa !5
  %9770 = call ptr @__errno_location() #10
  store i32 %9769, ptr %9770, align 4, !tbaa !5
  %9771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9772 = load i32, ptr @test_count, align 4, !tbaa !5
  %9773 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9774 = load i32, ptr %9773, align 4, !tbaa !5
  %9775 = call ptr @s2n_strerror(i32 noundef %9774, ptr noundef @.str.4)
  %9776 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9777 = load i32, ptr %9776, align 4, !tbaa !5
  %9778 = call ptr @s2n_strerror_debug(i32 noundef %9777, ptr noundef @.str.4)
  %9779 = call ptr @__errno_location() #10
  %9780 = load i32, ptr %9779, align 4, !tbaa !5
  %9781 = call ptr @strerror(i32 noundef %9780) #9
  %9782 = call ptr @__errno_location() #10
  %9783 = load i32, ptr %9782, align 4, !tbaa !5
  %9784 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9771, ptr noundef @.str.2, i32 noundef %9772, ptr noundef @.str.97, ptr noundef @.str.1, i32 noundef 367, ptr noundef %9775, ptr noundef %9778, ptr noundef %9781, i32 noundef %9783) #9
  br label %9802

9785:                                             ; preds = %9763, %9756
  %9786 = load i32, ptr %203, align 4, !tbaa !5
  %9787 = call ptr @__errno_location() #10
  store i32 %9786, ptr %9787, align 4, !tbaa !5
  %9788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9789 = load i32, ptr @test_count, align 4, !tbaa !5
  %9790 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9791 = load i32, ptr %9790, align 4, !tbaa !5
  %9792 = call ptr @s2n_strerror(i32 noundef %9791, ptr noundef @.str.4)
  %9793 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9794 = load i32, ptr %9793, align 4, !tbaa !5
  %9795 = call ptr @s2n_strerror_debug(i32 noundef %9794, ptr noundef @.str.4)
  %9796 = call ptr @__errno_location() #10
  %9797 = load i32, ptr %9796, align 4, !tbaa !5
  %9798 = call ptr @strerror(i32 noundef %9797) #9
  %9799 = call ptr @__errno_location() #10
  %9800 = load i32, ptr %9799, align 4, !tbaa !5
  %9801 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9788, ptr noundef @.str.5, i32 noundef %9789, ptr noundef @.str.97, ptr noundef @.str.1, i32 noundef 367, ptr noundef %9792, ptr noundef %9795, ptr noundef %9798, i32 noundef %9800) #9
  br label %9802

9802:                                             ; preds = %9785, %9768
  call void @llvm.lifetime.end.p0(i64 4, ptr %203) #9
  br label %9803

9803:                                             ; preds = %9802
  br label %9804

9804:                                             ; preds = %9803
  call void @exit(i32 noundef 1) #11
  unreachable

9805:                                             ; No predecessors!
  br label %9806

9806:                                             ; preds = %9805
  br label %9807

9807:                                             ; preds = %9806, %9749
  br label %9808

9808:                                             ; preds = %9807
  br label %9809

9809:                                             ; preds = %9808
  br label %9810

9810:                                             ; preds = %9809
  %9811 = load i32, ptr @test_count, align 4, !tbaa !5
  %9812 = add nsw i32 %9811, 1
  store i32 %9812, ptr @test_count, align 4, !tbaa !5
  %9813 = call i32 @s2n_align_to(i32 noundef 4097, i32 noundef 4096, ptr noundef %189)
  %9814 = icmp eq i32 %9813, -1
  br i1 %9814, label %9815, label %9868

9815:                                             ; preds = %9810
  br label %9816

9816:                                             ; preds = %9815
  br label %9817

9817:                                             ; preds = %9816
  call void @llvm.lifetime.start.p0(i64 4, ptr %204) #9
  %9818 = call ptr @__errno_location() #10
  %9819 = load i32, ptr %9818, align 4, !tbaa !5
  store i32 %9819, ptr %204, align 4, !tbaa !5
  %9820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9821 = call i32 @s2n_print_stacktrace(ptr noundef %9820)
  %9822 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9823 = trunc i8 %9822 to i1
  br i1 %9823, label %9824, label %9846

9824:                                             ; preds = %9817
  %9825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9826 = call i32 @fileno(ptr noundef %9825) #9
  %9827 = call i32 @isatty(i32 noundef %9826) #9
  %9828 = icmp ne i32 %9827, 0
  br i1 %9828, label %9829, label %9846

9829:                                             ; preds = %9824
  %9830 = load i32, ptr %204, align 4, !tbaa !5
  %9831 = call ptr @__errno_location() #10
  store i32 %9830, ptr %9831, align 4, !tbaa !5
  %9832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9833 = load i32, ptr @test_count, align 4, !tbaa !5
  %9834 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9835 = load i32, ptr %9834, align 4, !tbaa !5
  %9836 = call ptr @s2n_strerror(i32 noundef %9835, ptr noundef @.str.4)
  %9837 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9838 = load i32, ptr %9837, align 4, !tbaa !5
  %9839 = call ptr @s2n_strerror_debug(i32 noundef %9838, ptr noundef @.str.4)
  %9840 = call ptr @__errno_location() #10
  %9841 = load i32, ptr %9840, align 4, !tbaa !5
  %9842 = call ptr @strerror(i32 noundef %9841) #9
  %9843 = call ptr @__errno_location() #10
  %9844 = load i32, ptr %9843, align 4, !tbaa !5
  %9845 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9832, ptr noundef @.str.2, i32 noundef %9833, ptr noundef @.str.98, ptr noundef @.str.1, i32 noundef 369, ptr noundef %9836, ptr noundef %9839, ptr noundef %9842, i32 noundef %9844) #9
  br label %9863

9846:                                             ; preds = %9824, %9817
  %9847 = load i32, ptr %204, align 4, !tbaa !5
  %9848 = call ptr @__errno_location() #10
  store i32 %9847, ptr %9848, align 4, !tbaa !5
  %9849 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9850 = load i32, ptr @test_count, align 4, !tbaa !5
  %9851 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9852 = load i32, ptr %9851, align 4, !tbaa !5
  %9853 = call ptr @s2n_strerror(i32 noundef %9852, ptr noundef @.str.4)
  %9854 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9855 = load i32, ptr %9854, align 4, !tbaa !5
  %9856 = call ptr @s2n_strerror_debug(i32 noundef %9855, ptr noundef @.str.4)
  %9857 = call ptr @__errno_location() #10
  %9858 = load i32, ptr %9857, align 4, !tbaa !5
  %9859 = call ptr @strerror(i32 noundef %9858) #9
  %9860 = call ptr @__errno_location() #10
  %9861 = load i32, ptr %9860, align 4, !tbaa !5
  %9862 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9849, ptr noundef @.str.5, i32 noundef %9850, ptr noundef @.str.98, ptr noundef @.str.1, i32 noundef 369, ptr noundef %9853, ptr noundef %9856, ptr noundef %9859, i32 noundef %9861) #9
  br label %9863

9863:                                             ; preds = %9846, %9829
  call void @llvm.lifetime.end.p0(i64 4, ptr %204) #9
  br label %9864

9864:                                             ; preds = %9863
  br label %9865

9865:                                             ; preds = %9864
  call void @exit(i32 noundef 1) #11
  unreachable

9866:                                             ; No predecessors!
  br label %9867

9867:                                             ; preds = %9866
  br label %9868

9868:                                             ; preds = %9867, %9810
  br label %9869

9869:                                             ; preds = %9868
  br label %9870

9870:                                             ; preds = %9869
  br label %9871

9871:                                             ; preds = %9870
  %9872 = load i32, ptr @test_count, align 4, !tbaa !5
  %9873 = add nsw i32 %9872, 1
  store i32 %9873, ptr @test_count, align 4, !tbaa !5
  %9874 = load i32, ptr %189, align 4, !tbaa !5
  %9875 = icmp eq i32 %9874, 8192
  br i1 %9875, label %9929, label %9876

9876:                                             ; preds = %9871
  br label %9877

9877:                                             ; preds = %9876
  br label %9878

9878:                                             ; preds = %9877
  call void @llvm.lifetime.start.p0(i64 4, ptr %205) #9
  %9879 = call ptr @__errno_location() #10
  %9880 = load i32, ptr %9879, align 4, !tbaa !5
  store i32 %9880, ptr %205, align 4, !tbaa !5
  %9881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9882 = call i32 @s2n_print_stacktrace(ptr noundef %9881)
  %9883 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9884 = trunc i8 %9883 to i1
  br i1 %9884, label %9885, label %9907

9885:                                             ; preds = %9878
  %9886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9887 = call i32 @fileno(ptr noundef %9886) #9
  %9888 = call i32 @isatty(i32 noundef %9887) #9
  %9889 = icmp ne i32 %9888, 0
  br i1 %9889, label %9890, label %9907

9890:                                             ; preds = %9885
  %9891 = load i32, ptr %205, align 4, !tbaa !5
  %9892 = call ptr @__errno_location() #10
  store i32 %9891, ptr %9892, align 4, !tbaa !5
  %9893 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9894 = load i32, ptr @test_count, align 4, !tbaa !5
  %9895 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9896 = load i32, ptr %9895, align 4, !tbaa !5
  %9897 = call ptr @s2n_strerror(i32 noundef %9896, ptr noundef @.str.4)
  %9898 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9899 = load i32, ptr %9898, align 4, !tbaa !5
  %9900 = call ptr @s2n_strerror_debug(i32 noundef %9899, ptr noundef @.str.4)
  %9901 = call ptr @__errno_location() #10
  %9902 = load i32, ptr %9901, align 4, !tbaa !5
  %9903 = call ptr @strerror(i32 noundef %9902) #9
  %9904 = call ptr @__errno_location() #10
  %9905 = load i32, ptr %9904, align 4, !tbaa !5
  %9906 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9893, ptr noundef @.str.2, i32 noundef %9894, ptr noundef @.str.99, ptr noundef @.str.1, i32 noundef 370, ptr noundef %9897, ptr noundef %9900, ptr noundef %9903, i32 noundef %9905) #9
  br label %9924

9907:                                             ; preds = %9885, %9878
  %9908 = load i32, ptr %205, align 4, !tbaa !5
  %9909 = call ptr @__errno_location() #10
  store i32 %9908, ptr %9909, align 4, !tbaa !5
  %9910 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9911 = load i32, ptr @test_count, align 4, !tbaa !5
  %9912 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9913 = load i32, ptr %9912, align 4, !tbaa !5
  %9914 = call ptr @s2n_strerror(i32 noundef %9913, ptr noundef @.str.4)
  %9915 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9916 = load i32, ptr %9915, align 4, !tbaa !5
  %9917 = call ptr @s2n_strerror_debug(i32 noundef %9916, ptr noundef @.str.4)
  %9918 = call ptr @__errno_location() #10
  %9919 = load i32, ptr %9918, align 4, !tbaa !5
  %9920 = call ptr @strerror(i32 noundef %9919) #9
  %9921 = call ptr @__errno_location() #10
  %9922 = load i32, ptr %9921, align 4, !tbaa !5
  %9923 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9910, ptr noundef @.str.5, i32 noundef %9911, ptr noundef @.str.99, ptr noundef @.str.1, i32 noundef 370, ptr noundef %9914, ptr noundef %9917, ptr noundef %9920, i32 noundef %9922) #9
  br label %9924

9924:                                             ; preds = %9907, %9890
  call void @llvm.lifetime.end.p0(i64 4, ptr %205) #9
  br label %9925

9925:                                             ; preds = %9924
  br label %9926

9926:                                             ; preds = %9925
  call void @exit(i32 noundef 1) #11
  unreachable

9927:                                             ; No predecessors!
  br label %9928

9928:                                             ; preds = %9927
  br label %9929

9929:                                             ; preds = %9928, %9871
  br label %9930

9930:                                             ; preds = %9929
  br label %9931

9931:                                             ; preds = %9930
  br label %9932

9932:                                             ; preds = %9931
  %9933 = load i32, ptr @test_count, align 4, !tbaa !5
  %9934 = add nsw i32 %9933, 1
  store i32 %9934, ptr @test_count, align 4, !tbaa !5
  %9935 = call i32 @s2n_align_to(i32 noundef 4096, i32 noundef 4096, ptr noundef %189)
  %9936 = icmp eq i32 %9935, -1
  br i1 %9936, label %9937, label %9990

9937:                                             ; preds = %9932
  br label %9938

9938:                                             ; preds = %9937
  br label %9939

9939:                                             ; preds = %9938
  call void @llvm.lifetime.start.p0(i64 4, ptr %206) #9
  %9940 = call ptr @__errno_location() #10
  %9941 = load i32, ptr %9940, align 4, !tbaa !5
  store i32 %9941, ptr %206, align 4, !tbaa !5
  %9942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9943 = call i32 @s2n_print_stacktrace(ptr noundef %9942)
  %9944 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9945 = trunc i8 %9944 to i1
  br i1 %9945, label %9946, label %9968

9946:                                             ; preds = %9939
  %9947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9948 = call i32 @fileno(ptr noundef %9947) #9
  %9949 = call i32 @isatty(i32 noundef %9948) #9
  %9950 = icmp ne i32 %9949, 0
  br i1 %9950, label %9951, label %9968

9951:                                             ; preds = %9946
  %9952 = load i32, ptr %206, align 4, !tbaa !5
  %9953 = call ptr @__errno_location() #10
  store i32 %9952, ptr %9953, align 4, !tbaa !5
  %9954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9955 = load i32, ptr @test_count, align 4, !tbaa !5
  %9956 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9957 = load i32, ptr %9956, align 4, !tbaa !5
  %9958 = call ptr @s2n_strerror(i32 noundef %9957, ptr noundef @.str.4)
  %9959 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9960 = load i32, ptr %9959, align 4, !tbaa !5
  %9961 = call ptr @s2n_strerror_debug(i32 noundef %9960, ptr noundef @.str.4)
  %9962 = call ptr @__errno_location() #10
  %9963 = load i32, ptr %9962, align 4, !tbaa !5
  %9964 = call ptr @strerror(i32 noundef %9963) #9
  %9965 = call ptr @__errno_location() #10
  %9966 = load i32, ptr %9965, align 4, !tbaa !5
  %9967 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9954, ptr noundef @.str.2, i32 noundef %9955, ptr noundef @.str.100, ptr noundef @.str.1, i32 noundef 372, ptr noundef %9958, ptr noundef %9961, ptr noundef %9964, i32 noundef %9966) #9
  br label %9985

9968:                                             ; preds = %9946, %9939
  %9969 = load i32, ptr %206, align 4, !tbaa !5
  %9970 = call ptr @__errno_location() #10
  store i32 %9969, ptr %9970, align 4, !tbaa !5
  %9971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9972 = load i32, ptr @test_count, align 4, !tbaa !5
  %9973 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9974 = load i32, ptr %9973, align 4, !tbaa !5
  %9975 = call ptr @s2n_strerror(i32 noundef %9974, ptr noundef @.str.4)
  %9976 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9977 = load i32, ptr %9976, align 4, !tbaa !5
  %9978 = call ptr @s2n_strerror_debug(i32 noundef %9977, ptr noundef @.str.4)
  %9979 = call ptr @__errno_location() #10
  %9980 = load i32, ptr %9979, align 4, !tbaa !5
  %9981 = call ptr @strerror(i32 noundef %9980) #9
  %9982 = call ptr @__errno_location() #10
  %9983 = load i32, ptr %9982, align 4, !tbaa !5
  %9984 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9971, ptr noundef @.str.5, i32 noundef %9972, ptr noundef @.str.100, ptr noundef @.str.1, i32 noundef 372, ptr noundef %9975, ptr noundef %9978, ptr noundef %9981, i32 noundef %9983) #9
  br label %9985

9985:                                             ; preds = %9968, %9951
  call void @llvm.lifetime.end.p0(i64 4, ptr %206) #9
  br label %9986

9986:                                             ; preds = %9985
  br label %9987

9987:                                             ; preds = %9986
  call void @exit(i32 noundef 1) #11
  unreachable

9988:                                             ; No predecessors!
  br label %9989

9989:                                             ; preds = %9988
  br label %9990

9990:                                             ; preds = %9989, %9932
  br label %9991

9991:                                             ; preds = %9990
  br label %9992

9992:                                             ; preds = %9991
  br label %9993

9993:                                             ; preds = %9992
  %9994 = load i32, ptr @test_count, align 4, !tbaa !5
  %9995 = add nsw i32 %9994, 1
  store i32 %9995, ptr @test_count, align 4, !tbaa !5
  %9996 = load i32, ptr %189, align 4, !tbaa !5
  %9997 = icmp eq i32 %9996, 4096
  br i1 %9997, label %10051, label %9998

9998:                                             ; preds = %9993
  br label %9999

9999:                                             ; preds = %9998
  br label %10000

10000:                                            ; preds = %9999
  call void @llvm.lifetime.start.p0(i64 4, ptr %207) #9
  %10001 = call ptr @__errno_location() #10
  %10002 = load i32, ptr %10001, align 4, !tbaa !5
  store i32 %10002, ptr %207, align 4, !tbaa !5
  %10003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10004 = call i32 @s2n_print_stacktrace(ptr noundef %10003)
  %10005 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10006 = trunc i8 %10005 to i1
  br i1 %10006, label %10007, label %10029

10007:                                            ; preds = %10000
  %10008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10009 = call i32 @fileno(ptr noundef %10008) #9
  %10010 = call i32 @isatty(i32 noundef %10009) #9
  %10011 = icmp ne i32 %10010, 0
  br i1 %10011, label %10012, label %10029

10012:                                            ; preds = %10007
  %10013 = load i32, ptr %207, align 4, !tbaa !5
  %10014 = call ptr @__errno_location() #10
  store i32 %10013, ptr %10014, align 4, !tbaa !5
  %10015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10016 = load i32, ptr @test_count, align 4, !tbaa !5
  %10017 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10018 = load i32, ptr %10017, align 4, !tbaa !5
  %10019 = call ptr @s2n_strerror(i32 noundef %10018, ptr noundef @.str.4)
  %10020 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10021 = load i32, ptr %10020, align 4, !tbaa !5
  %10022 = call ptr @s2n_strerror_debug(i32 noundef %10021, ptr noundef @.str.4)
  %10023 = call ptr @__errno_location() #10
  %10024 = load i32, ptr %10023, align 4, !tbaa !5
  %10025 = call ptr @strerror(i32 noundef %10024) #9
  %10026 = call ptr @__errno_location() #10
  %10027 = load i32, ptr %10026, align 4, !tbaa !5
  %10028 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10015, ptr noundef @.str.2, i32 noundef %10016, ptr noundef @.str.97, ptr noundef @.str.1, i32 noundef 373, ptr noundef %10019, ptr noundef %10022, ptr noundef %10025, i32 noundef %10027) #9
  br label %10046

10029:                                            ; preds = %10007, %10000
  %10030 = load i32, ptr %207, align 4, !tbaa !5
  %10031 = call ptr @__errno_location() #10
  store i32 %10030, ptr %10031, align 4, !tbaa !5
  %10032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10033 = load i32, ptr @test_count, align 4, !tbaa !5
  %10034 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10035 = load i32, ptr %10034, align 4, !tbaa !5
  %10036 = call ptr @s2n_strerror(i32 noundef %10035, ptr noundef @.str.4)
  %10037 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10038 = load i32, ptr %10037, align 4, !tbaa !5
  %10039 = call ptr @s2n_strerror_debug(i32 noundef %10038, ptr noundef @.str.4)
  %10040 = call ptr @__errno_location() #10
  %10041 = load i32, ptr %10040, align 4, !tbaa !5
  %10042 = call ptr @strerror(i32 noundef %10041) #9
  %10043 = call ptr @__errno_location() #10
  %10044 = load i32, ptr %10043, align 4, !tbaa !5
  %10045 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10032, ptr noundef @.str.5, i32 noundef %10033, ptr noundef @.str.97, ptr noundef @.str.1, i32 noundef 373, ptr noundef %10036, ptr noundef %10039, ptr noundef %10042, i32 noundef %10044) #9
  br label %10046

10046:                                            ; preds = %10029, %10012
  call void @llvm.lifetime.end.p0(i64 4, ptr %207) #9
  br label %10047

10047:                                            ; preds = %10046
  br label %10048

10048:                                            ; preds = %10047
  call void @exit(i32 noundef 1) #11
  unreachable

10049:                                            ; No predecessors!
  br label %10050

10050:                                            ; preds = %10049
  br label %10051

10051:                                            ; preds = %10050, %9993
  br label %10052

10052:                                            ; preds = %10051
  br label %10053

10053:                                            ; preds = %10052
  br label %10054

10054:                                            ; preds = %10053
  br label %10055

10055:                                            ; preds = %10054
  %10056 = load i32, ptr @test_count, align 4, !tbaa !5
  %10057 = add nsw i32 %10056, 1
  store i32 %10057, ptr @test_count, align 4, !tbaa !5
  %10058 = call i32 @s2n_align_to(i32 noundef -4001, i32 noundef 4096, ptr noundef %189)
  %10059 = icmp eq i32 %10058, -1
  br i1 %10059, label %10113, label %10060

10060:                                            ; preds = %10055
  br label %10061

10061:                                            ; preds = %10060
  br label %10062

10062:                                            ; preds = %10061
  call void @llvm.lifetime.start.p0(i64 4, ptr %208) #9
  %10063 = call ptr @__errno_location() #10
  %10064 = load i32, ptr %10063, align 4, !tbaa !5
  store i32 %10064, ptr %208, align 4, !tbaa !5
  %10065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10066 = call i32 @s2n_print_stacktrace(ptr noundef %10065)
  %10067 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10068 = trunc i8 %10067 to i1
  br i1 %10068, label %10069, label %10091

10069:                                            ; preds = %10062
  %10070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10071 = call i32 @fileno(ptr noundef %10070) #9
  %10072 = call i32 @isatty(i32 noundef %10071) #9
  %10073 = icmp ne i32 %10072, 0
  br i1 %10073, label %10074, label %10091

10074:                                            ; preds = %10069
  %10075 = load i32, ptr %208, align 4, !tbaa !5
  %10076 = call ptr @__errno_location() #10
  store i32 %10075, ptr %10076, align 4, !tbaa !5
  %10077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10078 = load i32, ptr @test_count, align 4, !tbaa !5
  %10079 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10080 = load i32, ptr %10079, align 4, !tbaa !5
  %10081 = call ptr @s2n_strerror(i32 noundef %10080, ptr noundef @.str.4)
  %10082 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10083 = load i32, ptr %10082, align 4, !tbaa !5
  %10084 = call ptr @s2n_strerror_debug(i32 noundef %10083, ptr noundef @.str.4)
  %10085 = call ptr @__errno_location() #10
  %10086 = load i32, ptr %10085, align 4, !tbaa !5
  %10087 = call ptr @strerror(i32 noundef %10086) #9
  %10088 = call ptr @__errno_location() #10
  %10089 = load i32, ptr %10088, align 4, !tbaa !5
  %10090 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10077, ptr noundef @.str.2, i32 noundef %10078, ptr noundef @.str.101, ptr noundef @.str.1, i32 noundef 375, ptr noundef %10081, ptr noundef %10084, ptr noundef %10087, i32 noundef %10089) #9
  br label %10108

10091:                                            ; preds = %10069, %10062
  %10092 = load i32, ptr %208, align 4, !tbaa !5
  %10093 = call ptr @__errno_location() #10
  store i32 %10092, ptr %10093, align 4, !tbaa !5
  %10094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10095 = load i32, ptr @test_count, align 4, !tbaa !5
  %10096 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10097 = load i32, ptr %10096, align 4, !tbaa !5
  %10098 = call ptr @s2n_strerror(i32 noundef %10097, ptr noundef @.str.4)
  %10099 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10100 = load i32, ptr %10099, align 4, !tbaa !5
  %10101 = call ptr @s2n_strerror_debug(i32 noundef %10100, ptr noundef @.str.4)
  %10102 = call ptr @__errno_location() #10
  %10103 = load i32, ptr %10102, align 4, !tbaa !5
  %10104 = call ptr @strerror(i32 noundef %10103) #9
  %10105 = call ptr @__errno_location() #10
  %10106 = load i32, ptr %10105, align 4, !tbaa !5
  %10107 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10094, ptr noundef @.str.5, i32 noundef %10095, ptr noundef @.str.101, ptr noundef @.str.1, i32 noundef 375, ptr noundef %10098, ptr noundef %10101, ptr noundef %10104, i32 noundef %10106) #9
  br label %10108

10108:                                            ; preds = %10091, %10074
  call void @llvm.lifetime.end.p0(i64 4, ptr %208) #9
  br label %10109

10109:                                            ; preds = %10108
  br label %10110

10110:                                            ; preds = %10109
  call void @exit(i32 noundef 1) #11
  unreachable

10111:                                            ; No predecessors!
  br label %10112

10112:                                            ; preds = %10111
  br label %10113

10113:                                            ; preds = %10112, %10055
  br label %10114

10114:                                            ; preds = %10113
  br label %10115

10115:                                            ; preds = %10114
  br label %10116

10116:                                            ; preds = %10115
  %10117 = load i32, ptr @test_count, align 4, !tbaa !5
  %10118 = add nsw i32 %10117, 1
  store i32 %10118, 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 = icmp eq i32 %10120, 0
  br i1 %10121, label %10122, label %10175

10122:                                            ; preds = %10116
  br label %10123

10123:                                            ; preds = %10122
  br label %10124

10124:                                            ; preds = %10123
  call void @llvm.lifetime.start.p0(i64 4, ptr %209) #9
  %10125 = call ptr @__errno_location() #10
  %10126 = load i32, ptr %10125, align 4, !tbaa !5
  store i32 %10126, ptr %209, align 4, !tbaa !5
  %10127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10128 = call i32 @s2n_print_stacktrace(ptr noundef %10127)
  %10129 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10130 = trunc i8 %10129 to i1
  br i1 %10130, label %10131, label %10153

10131:                                            ; preds = %10124
  %10132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10133 = call i32 @fileno(ptr noundef %10132) #9
  %10134 = call i32 @isatty(i32 noundef %10133) #9
  %10135 = icmp ne i32 %10134, 0
  br i1 %10135, label %10136, label %10153

10136:                                            ; preds = %10131
  %10137 = load i32, ptr %209, align 4, !tbaa !5
  %10138 = call ptr @__errno_location() #10
  store i32 %10137, ptr %10138, align 4, !tbaa !5
  %10139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10140 = load i32, ptr @test_count, align 4, !tbaa !5
  %10141 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10142 = load i32, ptr %10141, align 4, !tbaa !5
  %10143 = call ptr @s2n_strerror(i32 noundef %10142, ptr noundef @.str.4)
  %10144 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10145 = load i32, ptr %10144, align 4, !tbaa !5
  %10146 = call ptr @s2n_strerror_debug(i32 noundef %10145, ptr noundef @.str.4)
  %10147 = call ptr @__errno_location() #10
  %10148 = load i32, ptr %10147, align 4, !tbaa !5
  %10149 = call ptr @strerror(i32 noundef %10148) #9
  %10150 = call ptr @__errno_location() #10
  %10151 = load i32, ptr %10150, align 4, !tbaa !5
  %10152 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10139, ptr noundef @.str.2, i32 noundef %10140, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 375, ptr noundef %10143, ptr noundef %10146, ptr noundef %10149, i32 noundef %10151) #9
  br label %10170

10153:                                            ; preds = %10131, %10124
  %10154 = load i32, ptr %209, align 4, !tbaa !5
  %10155 = call ptr @__errno_location() #10
  store i32 %10154, ptr %10155, align 4, !tbaa !5
  %10156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10157 = load i32, ptr @test_count, align 4, !tbaa !5
  %10158 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10159 = load i32, ptr %10158, align 4, !tbaa !5
  %10160 = call ptr @s2n_strerror(i32 noundef %10159, ptr noundef @.str.4)
  %10161 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10162 = load i32, ptr %10161, align 4, !tbaa !5
  %10163 = call ptr @s2n_strerror_debug(i32 noundef %10162, ptr noundef @.str.4)
  %10164 = call ptr @__errno_location() #10
  %10165 = load i32, ptr %10164, align 4, !tbaa !5
  %10166 = call ptr @strerror(i32 noundef %10165) #9
  %10167 = call ptr @__errno_location() #10
  %10168 = load i32, ptr %10167, align 4, !tbaa !5
  %10169 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10156, ptr noundef @.str.5, i32 noundef %10157, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 375, ptr noundef %10160, ptr noundef %10163, ptr noundef %10166, i32 noundef %10168) #9
  br label %10170

10170:                                            ; preds = %10153, %10136
  call void @llvm.lifetime.end.p0(i64 4, ptr %209) #9
  br label %10171

10171:                                            ; preds = %10170
  br label %10172

10172:                                            ; preds = %10171
  call void @exit(i32 noundef 1) #11
  unreachable

10173:                                            ; No predecessors!
  br label %10174

10174:                                            ; preds = %10173
  br label %10175

10175:                                            ; preds = %10174, %10116
  br label %10176

10176:                                            ; preds = %10175
  br label %10177

10177:                                            ; preds = %10176
  br label %10178

10178:                                            ; preds = %10177
  %10179 = load i32, ptr @test_count, align 4, !tbaa !5
  %10180 = add nsw i32 %10179, 1
  store i32 %10180, ptr @test_count, align 4, !tbaa !5
  %10181 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10182 = load i32, ptr %10181, align 4, !tbaa !5
  %10183 = call ptr @s2n_strerror_debug(i32 noundef %10182, ptr noundef @.str.4)
  %10184 = icmp eq ptr %10183, null
  br i1 %10184, label %10185, label %10238

10185:                                            ; preds = %10178
  br label %10186

10186:                                            ; preds = %10185
  br label %10187

10187:                                            ; preds = %10186
  call void @llvm.lifetime.start.p0(i64 4, ptr %210) #9
  %10188 = call ptr @__errno_location() #10
  %10189 = load i32, ptr %10188, align 4, !tbaa !5
  store i32 %10189, ptr %210, align 4, !tbaa !5
  %10190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10191 = call i32 @s2n_print_stacktrace(ptr noundef %10190)
  %10192 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10193 = trunc i8 %10192 to i1
  br i1 %10193, label %10194, label %10216

10194:                                            ; preds = %10187
  %10195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10196 = call i32 @fileno(ptr noundef %10195) #9
  %10197 = call i32 @isatty(i32 noundef %10196) #9
  %10198 = icmp ne i32 %10197, 0
  br i1 %10198, label %10199, label %10216

10199:                                            ; preds = %10194
  %10200 = load i32, ptr %210, align 4, !tbaa !5
  %10201 = call ptr @__errno_location() #10
  store i32 %10200, ptr %10201, align 4, !tbaa !5
  %10202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10203 = load i32, ptr @test_count, align 4, !tbaa !5
  %10204 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10205 = load i32, ptr %10204, align 4, !tbaa !5
  %10206 = call ptr @s2n_strerror(i32 noundef %10205, ptr noundef @.str.4)
  %10207 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10208 = load i32, ptr %10207, align 4, !tbaa !5
  %10209 = call ptr @s2n_strerror_debug(i32 noundef %10208, ptr noundef @.str.4)
  %10210 = call ptr @__errno_location() #10
  %10211 = load i32, ptr %10210, align 4, !tbaa !5
  %10212 = call ptr @strerror(i32 noundef %10211) #9
  %10213 = call ptr @__errno_location() #10
  %10214 = load i32, ptr %10213, align 4, !tbaa !5
  %10215 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10202, ptr noundef @.str.2, i32 noundef %10203, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 375, ptr noundef %10206, ptr noundef %10209, ptr noundef %10212, i32 noundef %10214) #9
  br label %10233

10216:                                            ; preds = %10194, %10187
  %10217 = load i32, ptr %210, align 4, !tbaa !5
  %10218 = call ptr @__errno_location() #10
  store i32 %10217, ptr %10218, align 4, !tbaa !5
  %10219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10220 = load i32, ptr @test_count, align 4, !tbaa !5
  %10221 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10222 = load i32, ptr %10221, align 4, !tbaa !5
  %10223 = call ptr @s2n_strerror(i32 noundef %10222, ptr noundef @.str.4)
  %10224 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10225 = load i32, ptr %10224, align 4, !tbaa !5
  %10226 = call ptr @s2n_strerror_debug(i32 noundef %10225, ptr noundef @.str.4)
  %10227 = call ptr @__errno_location() #10
  %10228 = load i32, ptr %10227, align 4, !tbaa !5
  %10229 = call ptr @strerror(i32 noundef %10228) #9
  %10230 = call ptr @__errno_location() #10
  %10231 = load i32, ptr %10230, align 4, !tbaa !5
  %10232 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10219, ptr noundef @.str.5, i32 noundef %10220, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 375, ptr noundef %10223, ptr noundef %10226, ptr noundef %10229, i32 noundef %10231) #9
  br label %10233

10233:                                            ; preds = %10216, %10199
  call void @llvm.lifetime.end.p0(i64 4, ptr %210) #9
  br label %10234

10234:                                            ; preds = %10233
  br label %10235

10235:                                            ; preds = %10234
  call void @exit(i32 noundef 1) #11
  unreachable

10236:                                            ; No predecessors!
  br label %10237

10237:                                            ; preds = %10236
  br label %10238

10238:                                            ; preds = %10237, %10178
  br label %10239

10239:                                            ; preds = %10238
  br label %10240

10240:                                            ; preds = %10239
  br label %10241

10241:                                            ; preds = %10240
  %10242 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %10242, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %10243 = call ptr @__errno_location() #10
  store i32 0, ptr %10243, align 4, !tbaa !5
  br label %10244

10244:                                            ; preds = %10241
  br label %10245

10245:                                            ; preds = %10244
  br label %10246

10246:                                            ; preds = %10245
  br label %10247

10247:                                            ; preds = %10246
  br label %10248

10248:                                            ; preds = %10247
  br label %10249

10249:                                            ; preds = %10248
  %10250 = load i32, ptr @test_count, align 4, !tbaa !5
  %10251 = add nsw i32 %10250, 1
  store i32 %10251, ptr @test_count, align 4, !tbaa !5
  %10252 = call i32 @s2n_align_to(i32 noundef -1, i32 noundef 4096, ptr noundef %189)
  %10253 = icmp eq i32 %10252, -1
  br i1 %10253, label %10307, label %10254

10254:                                            ; preds = %10249
  br label %10255

10255:                                            ; preds = %10254
  br label %10256

10256:                                            ; preds = %10255
  call void @llvm.lifetime.start.p0(i64 4, ptr %211) #9
  %10257 = call ptr @__errno_location() #10
  %10258 = load i32, ptr %10257, align 4, !tbaa !5
  store i32 %10258, ptr %211, align 4, !tbaa !5
  %10259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10260 = call i32 @s2n_print_stacktrace(ptr noundef %10259)
  %10261 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10262 = trunc i8 %10261 to i1
  br i1 %10262, label %10263, label %10285

10263:                                            ; preds = %10256
  %10264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10265 = call i32 @fileno(ptr noundef %10264) #9
  %10266 = call i32 @isatty(i32 noundef %10265) #9
  %10267 = icmp ne i32 %10266, 0
  br i1 %10267, label %10268, label %10285

10268:                                            ; preds = %10263
  %10269 = load i32, ptr %211, align 4, !tbaa !5
  %10270 = call ptr @__errno_location() #10
  store i32 %10269, ptr %10270, align 4, !tbaa !5
  %10271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10272 = load i32, ptr @test_count, align 4, !tbaa !5
  %10273 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10274 = load i32, ptr %10273, align 4, !tbaa !5
  %10275 = call ptr @s2n_strerror(i32 noundef %10274, ptr noundef @.str.4)
  %10276 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10277 = load i32, ptr %10276, align 4, !tbaa !5
  %10278 = call ptr @s2n_strerror_debug(i32 noundef %10277, ptr noundef @.str.4)
  %10279 = call ptr @__errno_location() #10
  %10280 = load i32, ptr %10279, align 4, !tbaa !5
  %10281 = call ptr @strerror(i32 noundef %10280) #9
  %10282 = call ptr @__errno_location() #10
  %10283 = load i32, ptr %10282, align 4, !tbaa !5
  %10284 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10271, ptr noundef @.str.2, i32 noundef %10272, ptr noundef @.str.102, ptr noundef @.str.1, i32 noundef 376, ptr noundef %10275, ptr noundef %10278, ptr noundef %10281, i32 noundef %10283) #9
  br label %10302

10285:                                            ; preds = %10263, %10256
  %10286 = load i32, ptr %211, align 4, !tbaa !5
  %10287 = call ptr @__errno_location() #10
  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() #10
  %10297 = load i32, ptr %10296, align 4, !tbaa !5
  %10298 = call ptr @strerror(i32 noundef %10297) #9
  %10299 = call ptr @__errno_location() #10
  %10300 = load i32, ptr %10299, align 4, !tbaa !5
  %10301 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10288, ptr noundef @.str.5, i32 noundef %10289, ptr noundef @.str.102, ptr noundef @.str.1, i32 noundef 376, ptr noundef %10292, ptr noundef %10295, ptr noundef %10298, i32 noundef %10300) #9
  br label %10302

10302:                                            ; preds = %10285, %10268
  call void @llvm.lifetime.end.p0(i64 4, ptr %211) #9
  br label %10303

10303:                                            ; preds = %10302
  br label %10304

10304:                                            ; preds = %10303
  call void @exit(i32 noundef 1) #11
  unreachable

10305:                                            ; No predecessors!
  br label %10306

10306:                                            ; preds = %10305
  br label %10307

10307:                                            ; preds = %10306, %10249
  br label %10308

10308:                                            ; preds = %10307
  br label %10309

10309:                                            ; preds = %10308
  br label %10310

10310:                                            ; preds = %10309
  %10311 = load i32, ptr @test_count, align 4, !tbaa !5
  %10312 = add nsw i32 %10311, 1
  store i32 %10312, ptr @test_count, align 4, !tbaa !5
  %10313 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10314 = load i32, ptr %10313, align 4, !tbaa !5
  %10315 = icmp eq i32 %10314, 0
  br i1 %10315, label %10316, label %10369

10316:                                            ; preds = %10310
  br label %10317

10317:                                            ; preds = %10316
  br label %10318

10318:                                            ; preds = %10317
  call void @llvm.lifetime.start.p0(i64 4, ptr %212) #9
  %10319 = call ptr @__errno_location() #10
  %10320 = load i32, ptr %10319, align 4, !tbaa !5
  store i32 %10320, ptr %212, align 4, !tbaa !5
  %10321 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10322 = call i32 @s2n_print_stacktrace(ptr noundef %10321)
  %10323 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10324 = trunc i8 %10323 to i1
  br i1 %10324, label %10325, label %10347

10325:                                            ; preds = %10318
  %10326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10327 = call i32 @fileno(ptr noundef %10326) #9
  %10328 = call i32 @isatty(i32 noundef %10327) #9
  %10329 = icmp ne i32 %10328, 0
  br i1 %10329, label %10330, label %10347

10330:                                            ; preds = %10325
  %10331 = load i32, ptr %212, align 4, !tbaa !5
  %10332 = call ptr @__errno_location() #10
  store i32 %10331, ptr %10332, align 4, !tbaa !5
  %10333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10334 = load i32, ptr @test_count, align 4, !tbaa !5
  %10335 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10336 = load i32, ptr %10335, align 4, !tbaa !5
  %10337 = call ptr @s2n_strerror(i32 noundef %10336, ptr noundef @.str.4)
  %10338 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10339 = load i32, ptr %10338, align 4, !tbaa !5
  %10340 = call ptr @s2n_strerror_debug(i32 noundef %10339, ptr noundef @.str.4)
  %10341 = call ptr @__errno_location() #10
  %10342 = load i32, ptr %10341, align 4, !tbaa !5
  %10343 = call ptr @strerror(i32 noundef %10342) #9
  %10344 = call ptr @__errno_location() #10
  %10345 = load i32, ptr %10344, align 4, !tbaa !5
  %10346 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10333, ptr noundef @.str.2, i32 noundef %10334, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 376, ptr noundef %10337, ptr noundef %10340, ptr noundef %10343, i32 noundef %10345) #9
  br label %10364

10347:                                            ; preds = %10325, %10318
  %10348 = load i32, ptr %212, align 4, !tbaa !5
  %10349 = call ptr @__errno_location() #10
  store i32 %10348, ptr %10349, align 4, !tbaa !5
  %10350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10351 = load i32, ptr @test_count, align 4, !tbaa !5
  %10352 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10353 = load i32, ptr %10352, align 4, !tbaa !5
  %10354 = call ptr @s2n_strerror(i32 noundef %10353, ptr noundef @.str.4)
  %10355 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10356 = load i32, ptr %10355, align 4, !tbaa !5
  %10357 = call ptr @s2n_strerror_debug(i32 noundef %10356, ptr noundef @.str.4)
  %10358 = call ptr @__errno_location() #10
  %10359 = load i32, ptr %10358, align 4, !tbaa !5
  %10360 = call ptr @strerror(i32 noundef %10359) #9
  %10361 = call ptr @__errno_location() #10
  %10362 = load i32, ptr %10361, align 4, !tbaa !5
  %10363 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10350, ptr noundef @.str.5, i32 noundef %10351, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 376, ptr noundef %10354, ptr noundef %10357, ptr noundef %10360, i32 noundef %10362) #9
  br label %10364

10364:                                            ; preds = %10347, %10330
  call void @llvm.lifetime.end.p0(i64 4, ptr %212) #9
  br label %10365

10365:                                            ; preds = %10364
  br label %10366

10366:                                            ; preds = %10365
  call void @exit(i32 noundef 1) #11
  unreachable

10367:                                            ; No predecessors!
  br label %10368

10368:                                            ; preds = %10367
  br label %10369

10369:                                            ; preds = %10368, %10310
  br label %10370

10370:                                            ; preds = %10369
  br label %10371

10371:                                            ; preds = %10370
  br label %10372

10372:                                            ; preds = %10371
  %10373 = load i32, ptr @test_count, align 4, !tbaa !5
  %10374 = add nsw i32 %10373, 1
  store i32 %10374, ptr @test_count, align 4, !tbaa !5
  %10375 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10376 = load i32, ptr %10375, align 4, !tbaa !5
  %10377 = call ptr @s2n_strerror_debug(i32 noundef %10376, ptr noundef @.str.4)
  %10378 = icmp eq ptr %10377, null
  br i1 %10378, label %10379, label %10432

10379:                                            ; preds = %10372
  br label %10380

10380:                                            ; preds = %10379
  br label %10381

10381:                                            ; preds = %10380
  call void @llvm.lifetime.start.p0(i64 4, ptr %213) #9
  %10382 = call ptr @__errno_location() #10
  %10383 = load i32, ptr %10382, align 4, !tbaa !5
  store i32 %10383, ptr %213, align 4, !tbaa !5
  %10384 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10385 = call i32 @s2n_print_stacktrace(ptr noundef %10384)
  %10386 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10387 = trunc i8 %10386 to i1
  br i1 %10387, label %10388, label %10410

10388:                                            ; preds = %10381
  %10389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10390 = call i32 @fileno(ptr noundef %10389) #9
  %10391 = call i32 @isatty(i32 noundef %10390) #9
  %10392 = icmp ne i32 %10391, 0
  br i1 %10392, label %10393, label %10410

10393:                                            ; preds = %10388
  %10394 = load i32, ptr %213, align 4, !tbaa !5
  %10395 = call ptr @__errno_location() #10
  store i32 %10394, ptr %10395, align 4, !tbaa !5
  %10396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10397 = load i32, ptr @test_count, align 4, !tbaa !5
  %10398 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10399 = load i32, ptr %10398, align 4, !tbaa !5
  %10400 = call ptr @s2n_strerror(i32 noundef %10399, ptr noundef @.str.4)
  %10401 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10402 = load i32, ptr %10401, align 4, !tbaa !5
  %10403 = call ptr @s2n_strerror_debug(i32 noundef %10402, ptr noundef @.str.4)
  %10404 = call ptr @__errno_location() #10
  %10405 = load i32, ptr %10404, align 4, !tbaa !5
  %10406 = call ptr @strerror(i32 noundef %10405) #9
  %10407 = call ptr @__errno_location() #10
  %10408 = load i32, ptr %10407, align 4, !tbaa !5
  %10409 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10396, ptr noundef @.str.2, i32 noundef %10397, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 376, ptr noundef %10400, ptr noundef %10403, ptr noundef %10406, i32 noundef %10408) #9
  br label %10427

10410:                                            ; preds = %10388, %10381
  %10411 = load i32, ptr %213, align 4, !tbaa !5
  %10412 = call ptr @__errno_location() #10
  store i32 %10411, ptr %10412, align 4, !tbaa !5
  %10413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10414 = load i32, ptr @test_count, align 4, !tbaa !5
  %10415 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10416 = load i32, ptr %10415, align 4, !tbaa !5
  %10417 = call ptr @s2n_strerror(i32 noundef %10416, ptr noundef @.str.4)
  %10418 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10419 = load i32, ptr %10418, align 4, !tbaa !5
  %10420 = call ptr @s2n_strerror_debug(i32 noundef %10419, ptr noundef @.str.4)
  %10421 = call ptr @__errno_location() #10
  %10422 = load i32, ptr %10421, align 4, !tbaa !5
  %10423 = call ptr @strerror(i32 noundef %10422) #9
  %10424 = call ptr @__errno_location() #10
  %10425 = load i32, ptr %10424, align 4, !tbaa !5
  %10426 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10413, ptr noundef @.str.5, i32 noundef %10414, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 376, ptr noundef %10417, ptr noundef %10420, ptr noundef %10423, i32 noundef %10425) #9
  br label %10427

10427:                                            ; preds = %10410, %10393
  call void @llvm.lifetime.end.p0(i64 4, ptr %213) #9
  br label %10428

10428:                                            ; preds = %10427
  br label %10429

10429:                                            ; preds = %10428
  call void @exit(i32 noundef 1) #11
  unreachable

10430:                                            ; No predecessors!
  br label %10431

10431:                                            ; preds = %10430
  br label %10432

10432:                                            ; preds = %10431, %10372
  br label %10433

10433:                                            ; preds = %10432
  br label %10434

10434:                                            ; preds = %10433
  br label %10435

10435:                                            ; preds = %10434
  %10436 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %10436, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %10437 = call ptr @__errno_location() #10
  store i32 0, ptr %10437, align 4, !tbaa !5
  br label %10438

10438:                                            ; preds = %10435
  br label %10439

10439:                                            ; preds = %10438
  br label %10440

10440:                                            ; preds = %10439
  br label %10441

10441:                                            ; preds = %10440
  call void @llvm.lifetime.start.p0(i64 4, ptr %214) #9
  store i32 2147483647, ptr %214, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %215) #9
  store i32 -1, ptr %215, align 4, !tbaa !5
  br label %10442

10442:                                            ; preds = %10441
  br label %10443

10443:                                            ; preds = %10442
  call void @llvm.lifetime.start.p0(i64 4, ptr %216) #9
  br label %10444

10444:                                            ; preds = %10443
  %10445 = load i32, ptr @test_count, align 4, !tbaa !5
  %10446 = add nsw i32 %10445, 1
  store i32 %10446, ptr @test_count, align 4, !tbaa !5
  %10447 = call i32 @s2n_add_overflow(i32 noundef 0, i32 noundef 0, ptr noundef %216)
  %10448 = icmp eq i32 %10447, -1
  br i1 %10448, label %10449, label %10502

10449:                                            ; preds = %10444
  br label %10450

10450:                                            ; preds = %10449
  br label %10451

10451:                                            ; preds = %10450
  call void @llvm.lifetime.start.p0(i64 4, ptr %217) #9
  %10452 = call ptr @__errno_location() #10
  %10453 = load i32, ptr %10452, align 4, !tbaa !5
  store i32 %10453, ptr %217, align 4, !tbaa !5
  %10454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10455 = call i32 @s2n_print_stacktrace(ptr noundef %10454)
  %10456 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10457 = trunc i8 %10456 to i1
  br i1 %10457, label %10458, label %10480

10458:                                            ; preds = %10451
  %10459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10460 = call i32 @fileno(ptr noundef %10459) #9
  %10461 = call i32 @isatty(i32 noundef %10460) #9
  %10462 = icmp ne i32 %10461, 0
  br i1 %10462, label %10463, label %10480

10463:                                            ; preds = %10458
  %10464 = load i32, ptr %217, align 4, !tbaa !5
  %10465 = call ptr @__errno_location() #10
  store i32 %10464, ptr %10465, align 4, !tbaa !5
  %10466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10467 = load i32, ptr @test_count, align 4, !tbaa !5
  %10468 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10469 = load i32, ptr %10468, align 4, !tbaa !5
  %10470 = call ptr @s2n_strerror(i32 noundef %10469, ptr noundef @.str.4)
  %10471 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10472 = load i32, ptr %10471, align 4, !tbaa !5
  %10473 = call ptr @s2n_strerror_debug(i32 noundef %10472, ptr noundef @.str.4)
  %10474 = call ptr @__errno_location() #10
  %10475 = load i32, ptr %10474, align 4, !tbaa !5
  %10476 = call ptr @strerror(i32 noundef %10475) #9
  %10477 = call ptr @__errno_location() #10
  %10478 = load i32, ptr %10477, align 4, !tbaa !5
  %10479 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10466, ptr noundef @.str.2, i32 noundef %10467, ptr noundef @.str.103, ptr noundef @.str.1, i32 noundef 380, ptr noundef %10470, ptr noundef %10473, ptr noundef %10476, i32 noundef %10478) #9
  br label %10497

10480:                                            ; preds = %10458, %10451
  %10481 = load i32, ptr %217, align 4, !tbaa !5
  %10482 = call ptr @__errno_location() #10
  store i32 %10481, ptr %10482, align 4, !tbaa !5
  %10483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10484 = load i32, ptr @test_count, align 4, !tbaa !5
  %10485 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10486 = load i32, ptr %10485, align 4, !tbaa !5
  %10487 = call ptr @s2n_strerror(i32 noundef %10486, ptr noundef @.str.4)
  %10488 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10489 = load i32, ptr %10488, align 4, !tbaa !5
  %10490 = call ptr @s2n_strerror_debug(i32 noundef %10489, ptr noundef @.str.4)
  %10491 = call ptr @__errno_location() #10
  %10492 = load i32, ptr %10491, align 4, !tbaa !5
  %10493 = call ptr @strerror(i32 noundef %10492) #9
  %10494 = call ptr @__errno_location() #10
  %10495 = load i32, ptr %10494, align 4, !tbaa !5
  %10496 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10483, ptr noundef @.str.5, i32 noundef %10484, ptr noundef @.str.103, ptr noundef @.str.1, i32 noundef 380, ptr noundef %10487, ptr noundef %10490, ptr noundef %10493, i32 noundef %10495) #9
  br label %10497

10497:                                            ; preds = %10480, %10463
  call void @llvm.lifetime.end.p0(i64 4, ptr %217) #9
  br label %10498

10498:                                            ; preds = %10497
  br label %10499

10499:                                            ; preds = %10498
  call void @exit(i32 noundef 1) #11
  unreachable

10500:                                            ; No predecessors!
  br label %10501

10501:                                            ; preds = %10500
  br label %10502

10502:                                            ; preds = %10501, %10444
  br label %10503

10503:                                            ; preds = %10502
  br label %10504

10504:                                            ; preds = %10503
  br label %10505

10505:                                            ; preds = %10504
  %10506 = load i32, ptr @test_count, align 4, !tbaa !5
  %10507 = add nsw i32 %10506, 1
  store i32 %10507, ptr @test_count, align 4, !tbaa !5
  %10508 = load i32, ptr %216, align 4, !tbaa !5
  %10509 = icmp eq i32 %10508, 0
  br i1 %10509, label %10563, label %10510

10510:                                            ; preds = %10505
  br label %10511

10511:                                            ; preds = %10510
  br label %10512

10512:                                            ; preds = %10511
  call void @llvm.lifetime.start.p0(i64 4, ptr %218) #9
  %10513 = call ptr @__errno_location() #10
  %10514 = load i32, ptr %10513, align 4, !tbaa !5
  store i32 %10514, ptr %218, align 4, !tbaa !5
  %10515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10516 = call i32 @s2n_print_stacktrace(ptr noundef %10515)
  %10517 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10518 = trunc i8 %10517 to i1
  br i1 %10518, label %10519, label %10541

10519:                                            ; preds = %10512
  %10520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10521 = call i32 @fileno(ptr noundef %10520) #9
  %10522 = call i32 @isatty(i32 noundef %10521) #9
  %10523 = icmp ne i32 %10522, 0
  br i1 %10523, label %10524, label %10541

10524:                                            ; preds = %10519
  %10525 = load i32, ptr %218, align 4, !tbaa !5
  %10526 = call ptr @__errno_location() #10
  store i32 %10525, ptr %10526, align 4, !tbaa !5
  %10527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10528 = load i32, ptr @test_count, align 4, !tbaa !5
  %10529 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10530 = load i32, ptr %10529, align 4, !tbaa !5
  %10531 = call ptr @s2n_strerror(i32 noundef %10530, ptr noundef @.str.4)
  %10532 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10533 = load i32, ptr %10532, align 4, !tbaa !5
  %10534 = call ptr @s2n_strerror_debug(i32 noundef %10533, ptr noundef @.str.4)
  %10535 = call ptr @__errno_location() #10
  %10536 = load i32, ptr %10535, align 4, !tbaa !5
  %10537 = call ptr @strerror(i32 noundef %10536) #9
  %10538 = call ptr @__errno_location() #10
  %10539 = load i32, ptr %10538, align 4, !tbaa !5
  %10540 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10527, ptr noundef @.str.2, i32 noundef %10528, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 380, ptr noundef %10531, ptr noundef %10534, ptr noundef %10537, i32 noundef %10539) #9
  br label %10558

10541:                                            ; preds = %10519, %10512
  %10542 = load i32, ptr %218, align 4, !tbaa !5
  %10543 = call ptr @__errno_location() #10
  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() #10
  %10553 = load i32, ptr %10552, align 4, !tbaa !5
  %10554 = call ptr @strerror(i32 noundef %10553) #9
  %10555 = call ptr @__errno_location() #10
  %10556 = load i32, ptr %10555, align 4, !tbaa !5
  %10557 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10544, ptr noundef @.str.5, i32 noundef %10545, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 380, ptr noundef %10548, ptr noundef %10551, ptr noundef %10554, i32 noundef %10556) #9
  br label %10558

10558:                                            ; preds = %10541, %10524
  call void @llvm.lifetime.end.p0(i64 4, ptr %218) #9
  br label %10559

10559:                                            ; preds = %10558
  br label %10560

10560:                                            ; preds = %10559
  call void @exit(i32 noundef 1) #11
  unreachable

10561:                                            ; No predecessors!
  br label %10562

10562:                                            ; preds = %10561
  br label %10563

10563:                                            ; preds = %10562, %10505
  br label %10564

10564:                                            ; preds = %10563
  br label %10565

10565:                                            ; preds = %10564
  call void @llvm.lifetime.end.p0(i64 4, ptr %216) #9
  br label %10566

10566:                                            ; preds = %10565
  br label %10567

10567:                                            ; preds = %10566
  br label %10568

10568:                                            ; preds = %10567
  call void @llvm.lifetime.start.p0(i64 4, ptr %219) #9
  br label %10569

10569:                                            ; preds = %10568
  %10570 = load i32, ptr @test_count, align 4, !tbaa !5
  %10571 = add nsw i32 %10570, 1
  store i32 %10571, ptr @test_count, align 4, !tbaa !5
  %10572 = call i32 @s2n_add_overflow(i32 noundef 0, i32 noundef 0, ptr noundef %219)
  %10573 = icmp eq i32 %10572, -1
  br i1 %10573, label %10574, label %10627

10574:                                            ; preds = %10569
  br label %10575

10575:                                            ; preds = %10574
  br label %10576

10576:                                            ; preds = %10575
  call void @llvm.lifetime.start.p0(i64 4, ptr %220) #9
  %10577 = call ptr @__errno_location() #10
  %10578 = load i32, ptr %10577, align 4, !tbaa !5
  store i32 %10578, ptr %220, align 4, !tbaa !5
  %10579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10580 = call i32 @s2n_print_stacktrace(ptr noundef %10579)
  %10581 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10582 = trunc i8 %10581 to i1
  br i1 %10582, label %10583, label %10605

10583:                                            ; preds = %10576
  %10584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10585 = call i32 @fileno(ptr noundef %10584) #9
  %10586 = call i32 @isatty(i32 noundef %10585) #9
  %10587 = icmp ne i32 %10586, 0
  br i1 %10587, label %10588, label %10605

10588:                                            ; preds = %10583
  %10589 = load i32, ptr %220, align 4, !tbaa !5
  %10590 = call ptr @__errno_location() #10
  store i32 %10589, ptr %10590, align 4, !tbaa !5
  %10591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10592 = load i32, ptr @test_count, align 4, !tbaa !5
  %10593 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10594 = load i32, ptr %10593, align 4, !tbaa !5
  %10595 = call ptr @s2n_strerror(i32 noundef %10594, ptr noundef @.str.4)
  %10596 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10597 = load i32, ptr %10596, align 4, !tbaa !5
  %10598 = call ptr @s2n_strerror_debug(i32 noundef %10597, ptr noundef @.str.4)
  %10599 = call ptr @__errno_location() #10
  %10600 = load i32, ptr %10599, align 4, !tbaa !5
  %10601 = call ptr @strerror(i32 noundef %10600) #9
  %10602 = call ptr @__errno_location() #10
  %10603 = load i32, ptr %10602, align 4, !tbaa !5
  %10604 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10591, ptr noundef @.str.2, i32 noundef %10592, ptr noundef @.str.103, ptr noundef @.str.1, i32 noundef 380, ptr noundef %10595, ptr noundef %10598, ptr noundef %10601, i32 noundef %10603) #9
  br label %10622

10605:                                            ; preds = %10583, %10576
  %10606 = load i32, ptr %220, align 4, !tbaa !5
  %10607 = call ptr @__errno_location() #10
  store i32 %10606, ptr %10607, align 4, !tbaa !5
  %10608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10609 = load i32, ptr @test_count, align 4, !tbaa !5
  %10610 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10611 = load i32, ptr %10610, align 4, !tbaa !5
  %10612 = call ptr @s2n_strerror(i32 noundef %10611, ptr noundef @.str.4)
  %10613 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10614 = load i32, ptr %10613, align 4, !tbaa !5
  %10615 = call ptr @s2n_strerror_debug(i32 noundef %10614, ptr noundef @.str.4)
  %10616 = call ptr @__errno_location() #10
  %10617 = load i32, ptr %10616, align 4, !tbaa !5
  %10618 = call ptr @strerror(i32 noundef %10617) #9
  %10619 = call ptr @__errno_location() #10
  %10620 = load i32, ptr %10619, align 4, !tbaa !5
  %10621 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10608, ptr noundef @.str.5, i32 noundef %10609, ptr noundef @.str.103, ptr noundef @.str.1, i32 noundef 380, ptr noundef %10612, ptr noundef %10615, ptr noundef %10618, i32 noundef %10620) #9
  br label %10622

10622:                                            ; preds = %10605, %10588
  call void @llvm.lifetime.end.p0(i64 4, ptr %220) #9
  br label %10623

10623:                                            ; preds = %10622
  br label %10624

10624:                                            ; preds = %10623
  call void @exit(i32 noundef 1) #11
  unreachable

10625:                                            ; No predecessors!
  br label %10626

10626:                                            ; preds = %10625
  br label %10627

10627:                                            ; preds = %10626, %10569
  br label %10628

10628:                                            ; preds = %10627
  br label %10629

10629:                                            ; preds = %10628
  br label %10630

10630:                                            ; preds = %10629
  %10631 = load i32, ptr @test_count, align 4, !tbaa !5
  %10632 = add nsw i32 %10631, 1
  store i32 %10632, ptr @test_count, align 4, !tbaa !5
  %10633 = load i32, ptr %219, align 4, !tbaa !5
  %10634 = icmp eq i32 %10633, 0
  br i1 %10634, label %10688, label %10635

10635:                                            ; preds = %10630
  br label %10636

10636:                                            ; preds = %10635
  br label %10637

10637:                                            ; preds = %10636
  call void @llvm.lifetime.start.p0(i64 4, ptr %221) #9
  %10638 = call ptr @__errno_location() #10
  %10639 = load i32, ptr %10638, align 4, !tbaa !5
  store i32 %10639, ptr %221, align 4, !tbaa !5
  %10640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10641 = call i32 @s2n_print_stacktrace(ptr noundef %10640)
  %10642 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10643 = trunc i8 %10642 to i1
  br i1 %10643, label %10644, label %10666

10644:                                            ; preds = %10637
  %10645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10646 = call i32 @fileno(ptr noundef %10645) #9
  %10647 = call i32 @isatty(i32 noundef %10646) #9
  %10648 = icmp ne i32 %10647, 0
  br i1 %10648, label %10649, label %10666

10649:                                            ; preds = %10644
  %10650 = load i32, ptr %221, align 4, !tbaa !5
  %10651 = call ptr @__errno_location() #10
  store i32 %10650, ptr %10651, align 4, !tbaa !5
  %10652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10653 = load i32, ptr @test_count, align 4, !tbaa !5
  %10654 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10655 = load i32, ptr %10654, align 4, !tbaa !5
  %10656 = call ptr @s2n_strerror(i32 noundef %10655, ptr noundef @.str.4)
  %10657 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10658 = load i32, ptr %10657, align 4, !tbaa !5
  %10659 = call ptr @s2n_strerror_debug(i32 noundef %10658, ptr noundef @.str.4)
  %10660 = call ptr @__errno_location() #10
  %10661 = load i32, ptr %10660, align 4, !tbaa !5
  %10662 = call ptr @strerror(i32 noundef %10661) #9
  %10663 = call ptr @__errno_location() #10
  %10664 = load i32, ptr %10663, align 4, !tbaa !5
  %10665 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10652, ptr noundef @.str.2, i32 noundef %10653, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 380, ptr noundef %10656, ptr noundef %10659, ptr noundef %10662, i32 noundef %10664) #9
  br label %10683

10666:                                            ; preds = %10644, %10637
  %10667 = load i32, ptr %221, align 4, !tbaa !5
  %10668 = call ptr @__errno_location() #10
  store i32 %10667, ptr %10668, align 4, !tbaa !5
  %10669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10670 = load i32, ptr @test_count, align 4, !tbaa !5
  %10671 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10672 = load i32, ptr %10671, align 4, !tbaa !5
  %10673 = call ptr @s2n_strerror(i32 noundef %10672, ptr noundef @.str.4)
  %10674 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10675 = load i32, ptr %10674, align 4, !tbaa !5
  %10676 = call ptr @s2n_strerror_debug(i32 noundef %10675, ptr noundef @.str.4)
  %10677 = call ptr @__errno_location() #10
  %10678 = load i32, ptr %10677, align 4, !tbaa !5
  %10679 = call ptr @strerror(i32 noundef %10678) #9
  %10680 = call ptr @__errno_location() #10
  %10681 = load i32, ptr %10680, align 4, !tbaa !5
  %10682 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10669, ptr noundef @.str.5, i32 noundef %10670, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 380, ptr noundef %10673, ptr noundef %10676, ptr noundef %10679, i32 noundef %10681) #9
  br label %10683

10683:                                            ; preds = %10666, %10649
  call void @llvm.lifetime.end.p0(i64 4, ptr %221) #9
  br label %10684

10684:                                            ; preds = %10683
  br label %10685

10685:                                            ; preds = %10684
  call void @exit(i32 noundef 1) #11
  unreachable

10686:                                            ; No predecessors!
  br label %10687

10687:                                            ; preds = %10686
  br label %10688

10688:                                            ; preds = %10687, %10630
  br label %10689

10689:                                            ; preds = %10688
  br label %10690

10690:                                            ; preds = %10689
  call void @llvm.lifetime.end.p0(i64 4, ptr %219) #9
  br label %10691

10691:                                            ; preds = %10690
  br label %10692

10692:                                            ; preds = %10691
  br label %10693

10693:                                            ; preds = %10692
  br label %10694

10694:                                            ; preds = %10693
  br label %10695

10695:                                            ; preds = %10694
  br label %10696

10696:                                            ; preds = %10695
  call void @llvm.lifetime.start.p0(i64 4, ptr %222) #9
  br label %10697

10697:                                            ; preds = %10696
  %10698 = load i32, ptr @test_count, align 4, !tbaa !5
  %10699 = add nsw i32 %10698, 1
  store i32 %10699, ptr @test_count, align 4, !tbaa !5
  %10700 = call i32 @s2n_add_overflow(i32 noundef 0, i32 noundef 1, ptr noundef %222)
  %10701 = icmp eq i32 %10700, -1
  br i1 %10701, label %10702, label %10755

10702:                                            ; preds = %10697
  br label %10703

10703:                                            ; preds = %10702
  br label %10704

10704:                                            ; preds = %10703
  call void @llvm.lifetime.start.p0(i64 4, ptr %223) #9
  %10705 = call ptr @__errno_location() #10
  %10706 = load i32, ptr %10705, align 4, !tbaa !5
  store i32 %10706, ptr %223, align 4, !tbaa !5
  %10707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10708 = call i32 @s2n_print_stacktrace(ptr noundef %10707)
  %10709 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10710 = trunc i8 %10709 to i1
  br i1 %10710, label %10711, label %10733

10711:                                            ; preds = %10704
  %10712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10713 = call i32 @fileno(ptr noundef %10712) #9
  %10714 = call i32 @isatty(i32 noundef %10713) #9
  %10715 = icmp ne i32 %10714, 0
  br i1 %10715, label %10716, label %10733

10716:                                            ; preds = %10711
  %10717 = load i32, ptr %223, align 4, !tbaa !5
  %10718 = call ptr @__errno_location() #10
  store i32 %10717, ptr %10718, align 4, !tbaa !5
  %10719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10720 = load i32, ptr @test_count, align 4, !tbaa !5
  %10721 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10722 = load i32, ptr %10721, align 4, !tbaa !5
  %10723 = call ptr @s2n_strerror(i32 noundef %10722, ptr noundef @.str.4)
  %10724 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10725 = load i32, ptr %10724, align 4, !tbaa !5
  %10726 = call ptr @s2n_strerror_debug(i32 noundef %10725, ptr noundef @.str.4)
  %10727 = call ptr @__errno_location() #10
  %10728 = load i32, ptr %10727, align 4, !tbaa !5
  %10729 = call ptr @strerror(i32 noundef %10728) #9
  %10730 = call ptr @__errno_location() #10
  %10731 = load i32, ptr %10730, align 4, !tbaa !5
  %10732 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10719, ptr noundef @.str.2, i32 noundef %10720, ptr noundef @.str.104, ptr noundef @.str.1, i32 noundef 381, ptr noundef %10723, ptr noundef %10726, ptr noundef %10729, i32 noundef %10731) #9
  br label %10750

10733:                                            ; preds = %10711, %10704
  %10734 = load i32, ptr %223, align 4, !tbaa !5
  %10735 = call ptr @__errno_location() #10
  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() #10
  %10745 = load i32, ptr %10744, align 4, !tbaa !5
  %10746 = call ptr @strerror(i32 noundef %10745) #9
  %10747 = call ptr @__errno_location() #10
  %10748 = load i32, ptr %10747, align 4, !tbaa !5
  %10749 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10736, ptr noundef @.str.5, i32 noundef %10737, ptr noundef @.str.104, ptr noundef @.str.1, i32 noundef 381, ptr noundef %10740, ptr noundef %10743, ptr noundef %10746, i32 noundef %10748) #9
  br label %10750

10750:                                            ; preds = %10733, %10716
  call void @llvm.lifetime.end.p0(i64 4, ptr %223) #9
  br label %10751

10751:                                            ; preds = %10750
  br label %10752

10752:                                            ; preds = %10751
  call void @exit(i32 noundef 1) #11
  unreachable

10753:                                            ; No predecessors!
  br label %10754

10754:                                            ; preds = %10753
  br label %10755

10755:                                            ; preds = %10754, %10697
  br label %10756

10756:                                            ; preds = %10755
  br label %10757

10757:                                            ; preds = %10756
  br label %10758

10758:                                            ; preds = %10757
  %10759 = load i32, ptr @test_count, align 4, !tbaa !5
  %10760 = add nsw i32 %10759, 1
  store i32 %10760, ptr @test_count, align 4, !tbaa !5
  %10761 = load i32, ptr %222, align 4, !tbaa !5
  %10762 = icmp eq i32 %10761, 1
  br i1 %10762, label %10816, label %10763

10763:                                            ; preds = %10758
  br label %10764

10764:                                            ; preds = %10763
  br label %10765

10765:                                            ; preds = %10764
  call void @llvm.lifetime.start.p0(i64 4, ptr %224) #9
  %10766 = call ptr @__errno_location() #10
  %10767 = load i32, ptr %10766, align 4, !tbaa !5
  store i32 %10767, ptr %224, align 4, !tbaa !5
  %10768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10769 = call i32 @s2n_print_stacktrace(ptr noundef %10768)
  %10770 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10771 = trunc i8 %10770 to i1
  br i1 %10771, label %10772, label %10794

10772:                                            ; preds = %10765
  %10773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10774 = call i32 @fileno(ptr noundef %10773) #9
  %10775 = call i32 @isatty(i32 noundef %10774) #9
  %10776 = icmp ne i32 %10775, 0
  br i1 %10776, label %10777, label %10794

10777:                                            ; preds = %10772
  %10778 = load i32, ptr %224, align 4, !tbaa !5
  %10779 = call ptr @__errno_location() #10
  store i32 %10778, ptr %10779, align 4, !tbaa !5
  %10780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10781 = load i32, ptr @test_count, align 4, !tbaa !5
  %10782 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10783 = load i32, ptr %10782, align 4, !tbaa !5
  %10784 = call ptr @s2n_strerror(i32 noundef %10783, ptr noundef @.str.4)
  %10785 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10786 = load i32, ptr %10785, align 4, !tbaa !5
  %10787 = call ptr @s2n_strerror_debug(i32 noundef %10786, ptr noundef @.str.4)
  %10788 = call ptr @__errno_location() #10
  %10789 = load i32, ptr %10788, align 4, !tbaa !5
  %10790 = call ptr @strerror(i32 noundef %10789) #9
  %10791 = call ptr @__errno_location() #10
  %10792 = load i32, ptr %10791, align 4, !tbaa !5
  %10793 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10780, ptr noundef @.str.2, i32 noundef %10781, ptr noundef @.str.105, ptr noundef @.str.1, i32 noundef 381, ptr noundef %10784, ptr noundef %10787, ptr noundef %10790, i32 noundef %10792) #9
  br label %10811

10794:                                            ; preds = %10772, %10765
  %10795 = load i32, ptr %224, align 4, !tbaa !5
  %10796 = call ptr @__errno_location() #10
  store i32 %10795, ptr %10796, align 4, !tbaa !5
  %10797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10798 = load i32, ptr @test_count, align 4, !tbaa !5
  %10799 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10800 = load i32, ptr %10799, align 4, !tbaa !5
  %10801 = call ptr @s2n_strerror(i32 noundef %10800, ptr noundef @.str.4)
  %10802 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10803 = load i32, ptr %10802, align 4, !tbaa !5
  %10804 = call ptr @s2n_strerror_debug(i32 noundef %10803, ptr noundef @.str.4)
  %10805 = call ptr @__errno_location() #10
  %10806 = load i32, ptr %10805, align 4, !tbaa !5
  %10807 = call ptr @strerror(i32 noundef %10806) #9
  %10808 = call ptr @__errno_location() #10
  %10809 = load i32, ptr %10808, align 4, !tbaa !5
  %10810 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10797, ptr noundef @.str.5, i32 noundef %10798, ptr noundef @.str.105, ptr noundef @.str.1, i32 noundef 381, ptr noundef %10801, ptr noundef %10804, ptr noundef %10807, i32 noundef %10809) #9
  br label %10811

10811:                                            ; preds = %10794, %10777
  call void @llvm.lifetime.end.p0(i64 4, ptr %224) #9
  br label %10812

10812:                                            ; preds = %10811
  br label %10813

10813:                                            ; preds = %10812
  call void @exit(i32 noundef 1) #11
  unreachable

10814:                                            ; No predecessors!
  br label %10815

10815:                                            ; preds = %10814
  br label %10816

10816:                                            ; preds = %10815, %10758
  br label %10817

10817:                                            ; preds = %10816
  br label %10818

10818:                                            ; preds = %10817
  call void @llvm.lifetime.end.p0(i64 4, ptr %222) #9
  br label %10819

10819:                                            ; preds = %10818
  br label %10820

10820:                                            ; preds = %10819
  br label %10821

10821:                                            ; preds = %10820
  call void @llvm.lifetime.start.p0(i64 4, ptr %225) #9
  br label %10822

10822:                                            ; preds = %10821
  %10823 = load i32, ptr @test_count, align 4, !tbaa !5
  %10824 = add nsw i32 %10823, 1
  store i32 %10824, ptr @test_count, align 4, !tbaa !5
  %10825 = call i32 @s2n_add_overflow(i32 noundef 1, i32 noundef 0, ptr noundef %225)
  %10826 = icmp eq i32 %10825, -1
  br i1 %10826, label %10827, label %10880

10827:                                            ; preds = %10822
  br label %10828

10828:                                            ; preds = %10827
  br label %10829

10829:                                            ; preds = %10828
  call void @llvm.lifetime.start.p0(i64 4, ptr %226) #9
  %10830 = call ptr @__errno_location() #10
  %10831 = load i32, ptr %10830, align 4, !tbaa !5
  store i32 %10831, ptr %226, align 4, !tbaa !5
  %10832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10833 = call i32 @s2n_print_stacktrace(ptr noundef %10832)
  %10834 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10835 = trunc i8 %10834 to i1
  br i1 %10835, label %10836, label %10858

10836:                                            ; preds = %10829
  %10837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10838 = call i32 @fileno(ptr noundef %10837) #9
  %10839 = call i32 @isatty(i32 noundef %10838) #9
  %10840 = icmp ne i32 %10839, 0
  br i1 %10840, label %10841, label %10858

10841:                                            ; preds = %10836
  %10842 = load i32, ptr %226, align 4, !tbaa !5
  %10843 = call ptr @__errno_location() #10
  store i32 %10842, ptr %10843, align 4, !tbaa !5
  %10844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10845 = load i32, ptr @test_count, align 4, !tbaa !5
  %10846 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10847 = load i32, ptr %10846, align 4, !tbaa !5
  %10848 = call ptr @s2n_strerror(i32 noundef %10847, ptr noundef @.str.4)
  %10849 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10850 = load i32, ptr %10849, align 4, !tbaa !5
  %10851 = call ptr @s2n_strerror_debug(i32 noundef %10850, ptr noundef @.str.4)
  %10852 = call ptr @__errno_location() #10
  %10853 = load i32, ptr %10852, align 4, !tbaa !5
  %10854 = call ptr @strerror(i32 noundef %10853) #9
  %10855 = call ptr @__errno_location() #10
  %10856 = load i32, ptr %10855, align 4, !tbaa !5
  %10857 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10844, ptr noundef @.str.2, i32 noundef %10845, ptr noundef @.str.106, ptr noundef @.str.1, i32 noundef 381, ptr noundef %10848, ptr noundef %10851, ptr noundef %10854, i32 noundef %10856) #9
  br label %10875

10858:                                            ; preds = %10836, %10829
  %10859 = load i32, ptr %226, align 4, !tbaa !5
  %10860 = call ptr @__errno_location() #10
  store i32 %10859, ptr %10860, align 4, !tbaa !5
  %10861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10862 = load i32, ptr @test_count, align 4, !tbaa !5
  %10863 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10864 = load i32, ptr %10863, align 4, !tbaa !5
  %10865 = call ptr @s2n_strerror(i32 noundef %10864, ptr noundef @.str.4)
  %10866 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10867 = load i32, ptr %10866, align 4, !tbaa !5
  %10868 = call ptr @s2n_strerror_debug(i32 noundef %10867, ptr noundef @.str.4)
  %10869 = call ptr @__errno_location() #10
  %10870 = load i32, ptr %10869, align 4, !tbaa !5
  %10871 = call ptr @strerror(i32 noundef %10870) #9
  %10872 = call ptr @__errno_location() #10
  %10873 = load i32, ptr %10872, align 4, !tbaa !5
  %10874 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10861, ptr noundef @.str.5, i32 noundef %10862, ptr noundef @.str.106, ptr noundef @.str.1, i32 noundef 381, ptr noundef %10865, ptr noundef %10868, ptr noundef %10871, i32 noundef %10873) #9
  br label %10875

10875:                                            ; preds = %10858, %10841
  call void @llvm.lifetime.end.p0(i64 4, ptr %226) #9
  br label %10876

10876:                                            ; preds = %10875
  br label %10877

10877:                                            ; preds = %10876
  call void @exit(i32 noundef 1) #11
  unreachable

10878:                                            ; No predecessors!
  br label %10879

10879:                                            ; preds = %10878
  br label %10880

10880:                                            ; preds = %10879, %10822
  br label %10881

10881:                                            ; preds = %10880
  br label %10882

10882:                                            ; preds = %10881
  br label %10883

10883:                                            ; preds = %10882
  %10884 = load i32, ptr @test_count, align 4, !tbaa !5
  %10885 = add nsw i32 %10884, 1
  store i32 %10885, ptr @test_count, align 4, !tbaa !5
  %10886 = load i32, ptr %225, align 4, !tbaa !5
  %10887 = icmp eq i32 %10886, 1
  br i1 %10887, label %10941, label %10888

10888:                                            ; preds = %10883
  br label %10889

10889:                                            ; preds = %10888
  br label %10890

10890:                                            ; preds = %10889
  call void @llvm.lifetime.start.p0(i64 4, ptr %227) #9
  %10891 = call ptr @__errno_location() #10
  %10892 = load i32, ptr %10891, align 4, !tbaa !5
  store i32 %10892, ptr %227, align 4, !tbaa !5
  %10893 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10894 = call i32 @s2n_print_stacktrace(ptr noundef %10893)
  %10895 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10896 = trunc i8 %10895 to i1
  br i1 %10896, label %10897, label %10919

10897:                                            ; preds = %10890
  %10898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10899 = call i32 @fileno(ptr noundef %10898) #9
  %10900 = call i32 @isatty(i32 noundef %10899) #9
  %10901 = icmp ne i32 %10900, 0
  br i1 %10901, label %10902, label %10919

10902:                                            ; preds = %10897
  %10903 = load i32, ptr %227, align 4, !tbaa !5
  %10904 = call ptr @__errno_location() #10
  store i32 %10903, ptr %10904, align 4, !tbaa !5
  %10905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10906 = load i32, ptr @test_count, align 4, !tbaa !5
  %10907 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10908 = load i32, ptr %10907, align 4, !tbaa !5
  %10909 = call ptr @s2n_strerror(i32 noundef %10908, ptr noundef @.str.4)
  %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 = call ptr @__errno_location() #10
  %10914 = load i32, ptr %10913, align 4, !tbaa !5
  %10915 = call ptr @strerror(i32 noundef %10914) #9
  %10916 = call ptr @__errno_location() #10
  %10917 = load i32, ptr %10916, align 4, !tbaa !5
  %10918 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10905, ptr noundef @.str.2, i32 noundef %10906, ptr noundef @.str.105, ptr noundef @.str.1, i32 noundef 381, ptr noundef %10909, ptr noundef %10912, ptr noundef %10915, i32 noundef %10917) #9
  br label %10936

10919:                                            ; preds = %10897, %10890
  %10920 = load i32, ptr %227, align 4, !tbaa !5
  %10921 = call ptr @__errno_location() #10
  store i32 %10920, ptr %10921, align 4, !tbaa !5
  %10922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10923 = load i32, ptr @test_count, align 4, !tbaa !5
  %10924 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10925 = load i32, ptr %10924, align 4, !tbaa !5
  %10926 = call ptr @s2n_strerror(i32 noundef %10925, ptr noundef @.str.4)
  %10927 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10928 = load i32, ptr %10927, align 4, !tbaa !5
  %10929 = call ptr @s2n_strerror_debug(i32 noundef %10928, ptr noundef @.str.4)
  %10930 = call ptr @__errno_location() #10
  %10931 = load i32, ptr %10930, align 4, !tbaa !5
  %10932 = call ptr @strerror(i32 noundef %10931) #9
  %10933 = call ptr @__errno_location() #10
  %10934 = load i32, ptr %10933, align 4, !tbaa !5
  %10935 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10922, ptr noundef @.str.5, i32 noundef %10923, ptr noundef @.str.105, ptr noundef @.str.1, i32 noundef 381, ptr noundef %10926, ptr noundef %10929, ptr noundef %10932, i32 noundef %10934) #9
  br label %10936

10936:                                            ; preds = %10919, %10902
  call void @llvm.lifetime.end.p0(i64 4, ptr %227) #9
  br label %10937

10937:                                            ; preds = %10936
  br label %10938

10938:                                            ; preds = %10937
  call void @exit(i32 noundef 1) #11
  unreachable

10939:                                            ; No predecessors!
  br label %10940

10940:                                            ; preds = %10939
  br label %10941

10941:                                            ; preds = %10940, %10883
  br label %10942

10942:                                            ; preds = %10941
  br label %10943

10943:                                            ; preds = %10942
  call void @llvm.lifetime.end.p0(i64 4, ptr %225) #9
  br label %10944

10944:                                            ; preds = %10943
  br label %10945

10945:                                            ; preds = %10944
  br label %10946

10946:                                            ; preds = %10945
  br label %10947

10947:                                            ; preds = %10946
  br label %10948

10948:                                            ; preds = %10947
  br label %10949

10949:                                            ; preds = %10948
  call void @llvm.lifetime.start.p0(i64 4, ptr %228) #9
  br label %10950

10950:                                            ; preds = %10949
  %10951 = load i32, ptr @test_count, align 4, !tbaa !5
  %10952 = add nsw i32 %10951, 1
  store i32 %10952, ptr @test_count, align 4, !tbaa !5
  %10953 = call i32 @s2n_add_overflow(i32 noundef 4, i32 noundef 5, ptr noundef %228)
  %10954 = icmp eq i32 %10953, -1
  br i1 %10954, label %10955, label %11008

10955:                                            ; preds = %10950
  br label %10956

10956:                                            ; preds = %10955
  br label %10957

10957:                                            ; preds = %10956
  call void @llvm.lifetime.start.p0(i64 4, ptr %229) #9
  %10958 = call ptr @__errno_location() #10
  %10959 = load i32, ptr %10958, align 4, !tbaa !5
  store i32 %10959, ptr %229, align 4, !tbaa !5
  %10960 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10961 = call i32 @s2n_print_stacktrace(ptr noundef %10960)
  %10962 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10963 = trunc i8 %10962 to i1
  br i1 %10963, label %10964, label %10986

10964:                                            ; preds = %10957
  %10965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10966 = call i32 @fileno(ptr noundef %10965) #9
  %10967 = call i32 @isatty(i32 noundef %10966) #9
  %10968 = icmp ne i32 %10967, 0
  br i1 %10968, label %10969, label %10986

10969:                                            ; preds = %10964
  %10970 = load i32, ptr %229, align 4, !tbaa !5
  %10971 = call ptr @__errno_location() #10
  store i32 %10970, ptr %10971, align 4, !tbaa !5
  %10972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10973 = load i32, ptr @test_count, align 4, !tbaa !5
  %10974 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10975 = load i32, ptr %10974, align 4, !tbaa !5
  %10976 = call ptr @s2n_strerror(i32 noundef %10975, ptr noundef @.str.4)
  %10977 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10978 = load i32, ptr %10977, align 4, !tbaa !5
  %10979 = call ptr @s2n_strerror_debug(i32 noundef %10978, ptr noundef @.str.4)
  %10980 = call ptr @__errno_location() #10
  %10981 = load i32, ptr %10980, align 4, !tbaa !5
  %10982 = call ptr @strerror(i32 noundef %10981) #9
  %10983 = call ptr @__errno_location() #10
  %10984 = load i32, ptr %10983, align 4, !tbaa !5
  %10985 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10972, ptr noundef @.str.2, i32 noundef %10973, ptr noundef @.str.107, ptr noundef @.str.1, i32 noundef 382, ptr noundef %10976, ptr noundef %10979, ptr noundef %10982, i32 noundef %10984) #9
  br label %11003

10986:                                            ; preds = %10964, %10957
  %10987 = load i32, ptr %229, align 4, !tbaa !5
  %10988 = call ptr @__errno_location() #10
  store i32 %10987, ptr %10988, align 4, !tbaa !5
  %10989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10990 = load i32, ptr @test_count, align 4, !tbaa !5
  %10991 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10992 = load i32, ptr %10991, align 4, !tbaa !5
  %10993 = call ptr @s2n_strerror(i32 noundef %10992, ptr noundef @.str.4)
  %10994 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10995 = load i32, ptr %10994, align 4, !tbaa !5
  %10996 = call ptr @s2n_strerror_debug(i32 noundef %10995, ptr noundef @.str.4)
  %10997 = call ptr @__errno_location() #10
  %10998 = load i32, ptr %10997, align 4, !tbaa !5
  %10999 = call ptr @strerror(i32 noundef %10998) #9
  %11000 = call ptr @__errno_location() #10
  %11001 = load i32, ptr %11000, align 4, !tbaa !5
  %11002 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10989, ptr noundef @.str.5, i32 noundef %10990, ptr noundef @.str.107, ptr noundef @.str.1, i32 noundef 382, ptr noundef %10993, ptr noundef %10996, ptr noundef %10999, i32 noundef %11001) #9
  br label %11003

11003:                                            ; preds = %10986, %10969
  call void @llvm.lifetime.end.p0(i64 4, ptr %229) #9
  br label %11004

11004:                                            ; preds = %11003
  br label %11005

11005:                                            ; preds = %11004
  call void @exit(i32 noundef 1) #11
  unreachable

11006:                                            ; No predecessors!
  br label %11007

11007:                                            ; preds = %11006
  br label %11008

11008:                                            ; preds = %11007, %10950
  br label %11009

11009:                                            ; preds = %11008
  br label %11010

11010:                                            ; preds = %11009
  br label %11011

11011:                                            ; preds = %11010
  %11012 = load i32, ptr @test_count, align 4, !tbaa !5
  %11013 = add nsw i32 %11012, 1
  store i32 %11013, ptr @test_count, align 4, !tbaa !5
  %11014 = load i32, ptr %228, align 4, !tbaa !5
  %11015 = icmp eq i32 %11014, 9
  br i1 %11015, label %11069, label %11016

11016:                                            ; preds = %11011
  br label %11017

11017:                                            ; preds = %11016
  br label %11018

11018:                                            ; preds = %11017
  call void @llvm.lifetime.start.p0(i64 4, ptr %230) #9
  %11019 = call ptr @__errno_location() #10
  %11020 = load i32, ptr %11019, align 4, !tbaa !5
  store i32 %11020, ptr %230, align 4, !tbaa !5
  %11021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11022 = call i32 @s2n_print_stacktrace(ptr noundef %11021)
  %11023 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11024 = trunc i8 %11023 to i1
  br i1 %11024, label %11025, label %11047

11025:                                            ; preds = %11018
  %11026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11027 = call i32 @fileno(ptr noundef %11026) #9
  %11028 = call i32 @isatty(i32 noundef %11027) #9
  %11029 = icmp ne i32 %11028, 0
  br i1 %11029, label %11030, label %11047

11030:                                            ; preds = %11025
  %11031 = load i32, ptr %230, align 4, !tbaa !5
  %11032 = call ptr @__errno_location() #10
  store i32 %11031, ptr %11032, align 4, !tbaa !5
  %11033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11034 = load i32, ptr @test_count, align 4, !tbaa !5
  %11035 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11036 = load i32, ptr %11035, align 4, !tbaa !5
  %11037 = call ptr @s2n_strerror(i32 noundef %11036, ptr noundef @.str.4)
  %11038 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11039 = load i32, ptr %11038, align 4, !tbaa !5
  %11040 = call ptr @s2n_strerror_debug(i32 noundef %11039, ptr noundef @.str.4)
  %11041 = call ptr @__errno_location() #10
  %11042 = load i32, ptr %11041, align 4, !tbaa !5
  %11043 = call ptr @strerror(i32 noundef %11042) #9
  %11044 = call ptr @__errno_location() #10
  %11045 = load i32, ptr %11044, align 4, !tbaa !5
  %11046 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11033, ptr noundef @.str.2, i32 noundef %11034, ptr noundef @.str.108, ptr noundef @.str.1, i32 noundef 382, ptr noundef %11037, ptr noundef %11040, ptr noundef %11043, i32 noundef %11045) #9
  br label %11064

11047:                                            ; preds = %11025, %11018
  %11048 = load i32, ptr %230, align 4, !tbaa !5
  %11049 = call ptr @__errno_location() #10
  store i32 %11048, ptr %11049, align 4, !tbaa !5
  %11050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11051 = load i32, ptr @test_count, align 4, !tbaa !5
  %11052 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11053 = load i32, ptr %11052, align 4, !tbaa !5
  %11054 = call ptr @s2n_strerror(i32 noundef %11053, ptr noundef @.str.4)
  %11055 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11056 = load i32, ptr %11055, align 4, !tbaa !5
  %11057 = call ptr @s2n_strerror_debug(i32 noundef %11056, ptr noundef @.str.4)
  %11058 = call ptr @__errno_location() #10
  %11059 = load i32, ptr %11058, align 4, !tbaa !5
  %11060 = call ptr @strerror(i32 noundef %11059) #9
  %11061 = call ptr @__errno_location() #10
  %11062 = load i32, ptr %11061, align 4, !tbaa !5
  %11063 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11050, ptr noundef @.str.5, i32 noundef %11051, ptr noundef @.str.108, ptr noundef @.str.1, i32 noundef 382, ptr noundef %11054, ptr noundef %11057, ptr noundef %11060, i32 noundef %11062) #9
  br label %11064

11064:                                            ; preds = %11047, %11030
  call void @llvm.lifetime.end.p0(i64 4, ptr %230) #9
  br label %11065

11065:                                            ; preds = %11064
  br label %11066

11066:                                            ; preds = %11065
  call void @exit(i32 noundef 1) #11
  unreachable

11067:                                            ; No predecessors!
  br label %11068

11068:                                            ; preds = %11067
  br label %11069

11069:                                            ; preds = %11068, %11011
  br label %11070

11070:                                            ; preds = %11069
  br label %11071

11071:                                            ; preds = %11070
  call void @llvm.lifetime.end.p0(i64 4, ptr %228) #9
  br label %11072

11072:                                            ; preds = %11071
  br label %11073

11073:                                            ; preds = %11072
  br label %11074

11074:                                            ; preds = %11073
  call void @llvm.lifetime.start.p0(i64 4, ptr %231) #9
  br label %11075

11075:                                            ; preds = %11074
  %11076 = load i32, ptr @test_count, align 4, !tbaa !5
  %11077 = add nsw i32 %11076, 1
  store i32 %11077, ptr @test_count, align 4, !tbaa !5
  %11078 = call i32 @s2n_add_overflow(i32 noundef 5, i32 noundef 4, ptr noundef %231)
  %11079 = icmp eq i32 %11078, -1
  br i1 %11079, label %11080, label %11133

11080:                                            ; preds = %11075
  br label %11081

11081:                                            ; preds = %11080
  br label %11082

11082:                                            ; preds = %11081
  call void @llvm.lifetime.start.p0(i64 4, ptr %232) #9
  %11083 = call ptr @__errno_location() #10
  %11084 = load i32, ptr %11083, align 4, !tbaa !5
  store i32 %11084, ptr %232, align 4, !tbaa !5
  %11085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11086 = call i32 @s2n_print_stacktrace(ptr noundef %11085)
  %11087 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11088 = trunc i8 %11087 to i1
  br i1 %11088, label %11089, label %11111

11089:                                            ; preds = %11082
  %11090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11091 = call i32 @fileno(ptr noundef %11090) #9
  %11092 = call i32 @isatty(i32 noundef %11091) #9
  %11093 = icmp ne i32 %11092, 0
  br i1 %11093, label %11094, label %11111

11094:                                            ; preds = %11089
  %11095 = load i32, ptr %232, align 4, !tbaa !5
  %11096 = call ptr @__errno_location() #10
  store i32 %11095, ptr %11096, align 4, !tbaa !5
  %11097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11098 = load i32, ptr @test_count, align 4, !tbaa !5
  %11099 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11100 = load i32, ptr %11099, align 4, !tbaa !5
  %11101 = call ptr @s2n_strerror(i32 noundef %11100, ptr noundef @.str.4)
  %11102 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11103 = load i32, ptr %11102, align 4, !tbaa !5
  %11104 = call ptr @s2n_strerror_debug(i32 noundef %11103, ptr noundef @.str.4)
  %11105 = call ptr @__errno_location() #10
  %11106 = load i32, ptr %11105, align 4, !tbaa !5
  %11107 = call ptr @strerror(i32 noundef %11106) #9
  %11108 = call ptr @__errno_location() #10
  %11109 = load i32, ptr %11108, align 4, !tbaa !5
  %11110 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11097, ptr noundef @.str.2, i32 noundef %11098, ptr noundef @.str.109, ptr noundef @.str.1, i32 noundef 382, ptr noundef %11101, ptr noundef %11104, ptr noundef %11107, i32 noundef %11109) #9
  br label %11128

11111:                                            ; preds = %11089, %11082
  %11112 = load i32, ptr %232, align 4, !tbaa !5
  %11113 = call ptr @__errno_location() #10
  store i32 %11112, ptr %11113, align 4, !tbaa !5
  %11114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11115 = load i32, ptr @test_count, align 4, !tbaa !5
  %11116 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11117 = load i32, ptr %11116, align 4, !tbaa !5
  %11118 = call ptr @s2n_strerror(i32 noundef %11117, ptr noundef @.str.4)
  %11119 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11120 = load i32, ptr %11119, align 4, !tbaa !5
  %11121 = call ptr @s2n_strerror_debug(i32 noundef %11120, ptr noundef @.str.4)
  %11122 = call ptr @__errno_location() #10
  %11123 = load i32, ptr %11122, align 4, !tbaa !5
  %11124 = call ptr @strerror(i32 noundef %11123) #9
  %11125 = call ptr @__errno_location() #10
  %11126 = load i32, ptr %11125, align 4, !tbaa !5
  %11127 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11114, ptr noundef @.str.5, i32 noundef %11115, ptr noundef @.str.109, ptr noundef @.str.1, i32 noundef 382, ptr noundef %11118, ptr noundef %11121, ptr noundef %11124, i32 noundef %11126) #9
  br label %11128

11128:                                            ; preds = %11111, %11094
  call void @llvm.lifetime.end.p0(i64 4, ptr %232) #9
  br label %11129

11129:                                            ; preds = %11128
  br label %11130

11130:                                            ; preds = %11129
  call void @exit(i32 noundef 1) #11
  unreachable

11131:                                            ; No predecessors!
  br label %11132

11132:                                            ; preds = %11131
  br label %11133

11133:                                            ; preds = %11132, %11075
  br label %11134

11134:                                            ; preds = %11133
  br label %11135

11135:                                            ; preds = %11134
  br label %11136

11136:                                            ; preds = %11135
  %11137 = load i32, ptr @test_count, align 4, !tbaa !5
  %11138 = add nsw i32 %11137, 1
  store i32 %11138, ptr @test_count, align 4, !tbaa !5
  %11139 = load i32, ptr %231, align 4, !tbaa !5
  %11140 = icmp eq i32 %11139, 9
  br i1 %11140, label %11194, label %11141

11141:                                            ; preds = %11136
  br label %11142

11142:                                            ; preds = %11141
  br label %11143

11143:                                            ; preds = %11142
  call void @llvm.lifetime.start.p0(i64 4, ptr %233) #9
  %11144 = call ptr @__errno_location() #10
  %11145 = load i32, ptr %11144, align 4, !tbaa !5
  store i32 %11145, ptr %233, align 4, !tbaa !5
  %11146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11147 = call i32 @s2n_print_stacktrace(ptr noundef %11146)
  %11148 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11149 = trunc i8 %11148 to i1
  br i1 %11149, label %11150, label %11172

11150:                                            ; preds = %11143
  %11151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11152 = call i32 @fileno(ptr noundef %11151) #9
  %11153 = call i32 @isatty(i32 noundef %11152) #9
  %11154 = icmp ne i32 %11153, 0
  br i1 %11154, label %11155, label %11172

11155:                                            ; preds = %11150
  %11156 = load i32, ptr %233, align 4, !tbaa !5
  %11157 = call ptr @__errno_location() #10
  store i32 %11156, ptr %11157, align 4, !tbaa !5
  %11158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11159 = load i32, ptr @test_count, align 4, !tbaa !5
  %11160 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11161 = load i32, ptr %11160, align 4, !tbaa !5
  %11162 = call ptr @s2n_strerror(i32 noundef %11161, ptr noundef @.str.4)
  %11163 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11164 = load i32, ptr %11163, align 4, !tbaa !5
  %11165 = call ptr @s2n_strerror_debug(i32 noundef %11164, ptr noundef @.str.4)
  %11166 = call ptr @__errno_location() #10
  %11167 = load i32, ptr %11166, align 4, !tbaa !5
  %11168 = call ptr @strerror(i32 noundef %11167) #9
  %11169 = call ptr @__errno_location() #10
  %11170 = load i32, ptr %11169, align 4, !tbaa !5
  %11171 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11158, ptr noundef @.str.2, i32 noundef %11159, ptr noundef @.str.108, ptr noundef @.str.1, i32 noundef 382, ptr noundef %11162, ptr noundef %11165, ptr noundef %11168, i32 noundef %11170) #9
  br label %11189

11172:                                            ; preds = %11150, %11143
  %11173 = load i32, ptr %233, align 4, !tbaa !5
  %11174 = call ptr @__errno_location() #10
  store i32 %11173, ptr %11174, align 4, !tbaa !5
  %11175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11176 = load i32, ptr @test_count, align 4, !tbaa !5
  %11177 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11178 = load i32, ptr %11177, align 4, !tbaa !5
  %11179 = call ptr @s2n_strerror(i32 noundef %11178, ptr noundef @.str.4)
  %11180 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11181 = load i32, ptr %11180, align 4, !tbaa !5
  %11182 = call ptr @s2n_strerror_debug(i32 noundef %11181, ptr noundef @.str.4)
  %11183 = call ptr @__errno_location() #10
  %11184 = load i32, ptr %11183, align 4, !tbaa !5
  %11185 = call ptr @strerror(i32 noundef %11184) #9
  %11186 = call ptr @__errno_location() #10
  %11187 = load i32, ptr %11186, align 4, !tbaa !5
  %11188 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11175, ptr noundef @.str.5, i32 noundef %11176, ptr noundef @.str.108, ptr noundef @.str.1, i32 noundef 382, ptr noundef %11179, ptr noundef %11182, ptr noundef %11185, i32 noundef %11187) #9
  br label %11189

11189:                                            ; preds = %11172, %11155
  call void @llvm.lifetime.end.p0(i64 4, ptr %233) #9
  br label %11190

11190:                                            ; preds = %11189
  br label %11191

11191:                                            ; preds = %11190
  call void @exit(i32 noundef 1) #11
  unreachable

11192:                                            ; No predecessors!
  br label %11193

11193:                                            ; preds = %11192
  br label %11194

11194:                                            ; preds = %11193, %11136
  br label %11195

11195:                                            ; preds = %11194
  br label %11196

11196:                                            ; preds = %11195
  call void @llvm.lifetime.end.p0(i64 4, ptr %231) #9
  br label %11197

11197:                                            ; preds = %11196
  br label %11198

11198:                                            ; preds = %11197
  br label %11199

11199:                                            ; preds = %11198
  br label %11200

11200:                                            ; preds = %11199
  br label %11201

11201:                                            ; preds = %11200
  br label %11202

11202:                                            ; preds = %11201
  call void @llvm.lifetime.start.p0(i64 4, ptr %234) #9
  br label %11203

11203:                                            ; preds = %11202
  %11204 = load i32, ptr @test_count, align 4, !tbaa !5
  %11205 = add nsw i32 %11204, 1
  store i32 %11205, ptr @test_count, align 4, !tbaa !5
  %11206 = call i32 @s2n_add_overflow(i32 noundef 1234, i32 noundef 4321, ptr noundef %234)
  %11207 = icmp eq i32 %11206, -1
  br i1 %11207, label %11208, label %11261

11208:                                            ; preds = %11203
  br label %11209

11209:                                            ; preds = %11208
  br label %11210

11210:                                            ; preds = %11209
  call void @llvm.lifetime.start.p0(i64 4, ptr %235) #9
  %11211 = call ptr @__errno_location() #10
  %11212 = load i32, ptr %11211, align 4, !tbaa !5
  store i32 %11212, ptr %235, align 4, !tbaa !5
  %11213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11214 = call i32 @s2n_print_stacktrace(ptr noundef %11213)
  %11215 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11216 = trunc i8 %11215 to i1
  br i1 %11216, label %11217, label %11239

11217:                                            ; preds = %11210
  %11218 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11219 = call i32 @fileno(ptr noundef %11218) #9
  %11220 = call i32 @isatty(i32 noundef %11219) #9
  %11221 = icmp ne i32 %11220, 0
  br i1 %11221, label %11222, label %11239

11222:                                            ; preds = %11217
  %11223 = load i32, ptr %235, align 4, !tbaa !5
  %11224 = call ptr @__errno_location() #10
  store i32 %11223, ptr %11224, align 4, !tbaa !5
  %11225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11226 = load i32, ptr @test_count, align 4, !tbaa !5
  %11227 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11228 = load i32, ptr %11227, align 4, !tbaa !5
  %11229 = call ptr @s2n_strerror(i32 noundef %11228, ptr noundef @.str.4)
  %11230 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11231 = load i32, ptr %11230, align 4, !tbaa !5
  %11232 = call ptr @s2n_strerror_debug(i32 noundef %11231, ptr noundef @.str.4)
  %11233 = call ptr @__errno_location() #10
  %11234 = load i32, ptr %11233, align 4, !tbaa !5
  %11235 = call ptr @strerror(i32 noundef %11234) #9
  %11236 = call ptr @__errno_location() #10
  %11237 = load i32, ptr %11236, align 4, !tbaa !5
  %11238 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11225, ptr noundef @.str.2, i32 noundef %11226, ptr noundef @.str.110, ptr noundef @.str.1, i32 noundef 383, ptr noundef %11229, ptr noundef %11232, ptr noundef %11235, i32 noundef %11237) #9
  br label %11256

11239:                                            ; preds = %11217, %11210
  %11240 = load i32, ptr %235, align 4, !tbaa !5
  %11241 = call ptr @__errno_location() #10
  store i32 %11240, ptr %11241, align 4, !tbaa !5
  %11242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11243 = load i32, ptr @test_count, align 4, !tbaa !5
  %11244 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11245 = load i32, ptr %11244, align 4, !tbaa !5
  %11246 = call ptr @s2n_strerror(i32 noundef %11245, ptr noundef @.str.4)
  %11247 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11248 = load i32, ptr %11247, align 4, !tbaa !5
  %11249 = call ptr @s2n_strerror_debug(i32 noundef %11248, ptr noundef @.str.4)
  %11250 = call ptr @__errno_location() #10
  %11251 = load i32, ptr %11250, align 4, !tbaa !5
  %11252 = call ptr @strerror(i32 noundef %11251) #9
  %11253 = call ptr @__errno_location() #10
  %11254 = load i32, ptr %11253, align 4, !tbaa !5
  %11255 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11242, ptr noundef @.str.5, i32 noundef %11243, ptr noundef @.str.110, ptr noundef @.str.1, i32 noundef 383, ptr noundef %11246, ptr noundef %11249, ptr noundef %11252, i32 noundef %11254) #9
  br label %11256

11256:                                            ; preds = %11239, %11222
  call void @llvm.lifetime.end.p0(i64 4, ptr %235) #9
  br label %11257

11257:                                            ; preds = %11256
  br label %11258

11258:                                            ; preds = %11257
  call void @exit(i32 noundef 1) #11
  unreachable

11259:                                            ; No predecessors!
  br label %11260

11260:                                            ; preds = %11259
  br label %11261

11261:                                            ; preds = %11260, %11203
  br label %11262

11262:                                            ; preds = %11261
  br label %11263

11263:                                            ; preds = %11262
  br label %11264

11264:                                            ; preds = %11263
  %11265 = load i32, ptr @test_count, align 4, !tbaa !5
  %11266 = add nsw i32 %11265, 1
  store i32 %11266, ptr @test_count, align 4, !tbaa !5
  %11267 = load i32, ptr %234, align 4, !tbaa !5
  %11268 = icmp eq i32 %11267, 5555
  br i1 %11268, label %11322, label %11269

11269:                                            ; preds = %11264
  br label %11270

11270:                                            ; preds = %11269
  br label %11271

11271:                                            ; preds = %11270
  call void @llvm.lifetime.start.p0(i64 4, ptr %236) #9
  %11272 = call ptr @__errno_location() #10
  %11273 = load i32, ptr %11272, align 4, !tbaa !5
  store i32 %11273, ptr %236, align 4, !tbaa !5
  %11274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11275 = call i32 @s2n_print_stacktrace(ptr noundef %11274)
  %11276 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11277 = trunc i8 %11276 to i1
  br i1 %11277, label %11278, label %11300

11278:                                            ; preds = %11271
  %11279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11280 = call i32 @fileno(ptr noundef %11279) #9
  %11281 = call i32 @isatty(i32 noundef %11280) #9
  %11282 = icmp ne i32 %11281, 0
  br i1 %11282, label %11283, label %11300

11283:                                            ; preds = %11278
  %11284 = load i32, ptr %236, align 4, !tbaa !5
  %11285 = call ptr @__errno_location() #10
  store i32 %11284, ptr %11285, align 4, !tbaa !5
  %11286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11287 = load i32, ptr @test_count, align 4, !tbaa !5
  %11288 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11289 = load i32, ptr %11288, align 4, !tbaa !5
  %11290 = call ptr @s2n_strerror(i32 noundef %11289, ptr noundef @.str.4)
  %11291 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11292 = load i32, ptr %11291, align 4, !tbaa !5
  %11293 = call ptr @s2n_strerror_debug(i32 noundef %11292, ptr noundef @.str.4)
  %11294 = call ptr @__errno_location() #10
  %11295 = load i32, ptr %11294, align 4, !tbaa !5
  %11296 = call ptr @strerror(i32 noundef %11295) #9
  %11297 = call ptr @__errno_location() #10
  %11298 = load i32, ptr %11297, align 4, !tbaa !5
  %11299 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11286, ptr noundef @.str.2, i32 noundef %11287, ptr noundef @.str.111, ptr noundef @.str.1, i32 noundef 383, ptr noundef %11290, ptr noundef %11293, ptr noundef %11296, i32 noundef %11298) #9
  br label %11317

11300:                                            ; preds = %11278, %11271
  %11301 = load i32, ptr %236, align 4, !tbaa !5
  %11302 = call ptr @__errno_location() #10
  store i32 %11301, ptr %11302, align 4, !tbaa !5
  %11303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11304 = load i32, ptr @test_count, align 4, !tbaa !5
  %11305 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11306 = load i32, ptr %11305, align 4, !tbaa !5
  %11307 = call ptr @s2n_strerror(i32 noundef %11306, ptr noundef @.str.4)
  %11308 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11309 = load i32, ptr %11308, align 4, !tbaa !5
  %11310 = call ptr @s2n_strerror_debug(i32 noundef %11309, ptr noundef @.str.4)
  %11311 = call ptr @__errno_location() #10
  %11312 = load i32, ptr %11311, align 4, !tbaa !5
  %11313 = call ptr @strerror(i32 noundef %11312) #9
  %11314 = call ptr @__errno_location() #10
  %11315 = load i32, ptr %11314, align 4, !tbaa !5
  %11316 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11303, ptr noundef @.str.5, i32 noundef %11304, ptr noundef @.str.111, ptr noundef @.str.1, i32 noundef 383, ptr noundef %11307, ptr noundef %11310, ptr noundef %11313, i32 noundef %11315) #9
  br label %11317

11317:                                            ; preds = %11300, %11283
  call void @llvm.lifetime.end.p0(i64 4, ptr %236) #9
  br label %11318

11318:                                            ; preds = %11317
  br label %11319

11319:                                            ; preds = %11318
  call void @exit(i32 noundef 1) #11
  unreachable

11320:                                            ; No predecessors!
  br label %11321

11321:                                            ; preds = %11320
  br label %11322

11322:                                            ; preds = %11321, %11264
  br label %11323

11323:                                            ; preds = %11322
  br label %11324

11324:                                            ; preds = %11323
  call void @llvm.lifetime.end.p0(i64 4, ptr %234) #9
  br label %11325

11325:                                            ; preds = %11324
  br label %11326

11326:                                            ; preds = %11325
  br label %11327

11327:                                            ; preds = %11326
  call void @llvm.lifetime.start.p0(i64 4, ptr %237) #9
  br label %11328

11328:                                            ; preds = %11327
  %11329 = load i32, ptr @test_count, align 4, !tbaa !5
  %11330 = add nsw i32 %11329, 1
  store i32 %11330, ptr @test_count, align 4, !tbaa !5
  %11331 = call i32 @s2n_add_overflow(i32 noundef 4321, i32 noundef 1234, ptr noundef %237)
  %11332 = icmp eq i32 %11331, -1
  br i1 %11332, label %11333, label %11386

11333:                                            ; preds = %11328
  br label %11334

11334:                                            ; preds = %11333
  br label %11335

11335:                                            ; preds = %11334
  call void @llvm.lifetime.start.p0(i64 4, ptr %238) #9
  %11336 = call ptr @__errno_location() #10
  %11337 = load i32, ptr %11336, align 4, !tbaa !5
  store i32 %11337, ptr %238, align 4, !tbaa !5
  %11338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11339 = call i32 @s2n_print_stacktrace(ptr noundef %11338)
  %11340 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11341 = trunc i8 %11340 to i1
  br i1 %11341, label %11342, label %11364

11342:                                            ; preds = %11335
  %11343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11344 = call i32 @fileno(ptr noundef %11343) #9
  %11345 = call i32 @isatty(i32 noundef %11344) #9
  %11346 = icmp ne i32 %11345, 0
  br i1 %11346, label %11347, label %11364

11347:                                            ; preds = %11342
  %11348 = load i32, ptr %238, align 4, !tbaa !5
  %11349 = call ptr @__errno_location() #10
  store i32 %11348, ptr %11349, align 4, !tbaa !5
  %11350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11351 = load i32, ptr @test_count, align 4, !tbaa !5
  %11352 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11353 = load i32, ptr %11352, align 4, !tbaa !5
  %11354 = call ptr @s2n_strerror(i32 noundef %11353, ptr noundef @.str.4)
  %11355 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11356 = load i32, ptr %11355, align 4, !tbaa !5
  %11357 = call ptr @s2n_strerror_debug(i32 noundef %11356, ptr noundef @.str.4)
  %11358 = call ptr @__errno_location() #10
  %11359 = load i32, ptr %11358, align 4, !tbaa !5
  %11360 = call ptr @strerror(i32 noundef %11359) #9
  %11361 = call ptr @__errno_location() #10
  %11362 = load i32, ptr %11361, align 4, !tbaa !5
  %11363 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11350, ptr noundef @.str.2, i32 noundef %11351, ptr noundef @.str.112, ptr noundef @.str.1, i32 noundef 383, ptr noundef %11354, ptr noundef %11357, ptr noundef %11360, i32 noundef %11362) #9
  br label %11381

11364:                                            ; preds = %11342, %11335
  %11365 = load i32, ptr %238, align 4, !tbaa !5
  %11366 = call ptr @__errno_location() #10
  store i32 %11365, ptr %11366, align 4, !tbaa !5
  %11367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11368 = load i32, ptr @test_count, align 4, !tbaa !5
  %11369 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11370 = load i32, ptr %11369, align 4, !tbaa !5
  %11371 = call ptr @s2n_strerror(i32 noundef %11370, ptr noundef @.str.4)
  %11372 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11373 = load i32, ptr %11372, align 4, !tbaa !5
  %11374 = call ptr @s2n_strerror_debug(i32 noundef %11373, ptr noundef @.str.4)
  %11375 = call ptr @__errno_location() #10
  %11376 = load i32, ptr %11375, align 4, !tbaa !5
  %11377 = call ptr @strerror(i32 noundef %11376) #9
  %11378 = call ptr @__errno_location() #10
  %11379 = load i32, ptr %11378, align 4, !tbaa !5
  %11380 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11367, ptr noundef @.str.5, i32 noundef %11368, ptr noundef @.str.112, ptr noundef @.str.1, i32 noundef 383, ptr noundef %11371, ptr noundef %11374, ptr noundef %11377, i32 noundef %11379) #9
  br label %11381

11381:                                            ; preds = %11364, %11347
  call void @llvm.lifetime.end.p0(i64 4, ptr %238) #9
  br label %11382

11382:                                            ; preds = %11381
  br label %11383

11383:                                            ; preds = %11382
  call void @exit(i32 noundef 1) #11
  unreachable

11384:                                            ; No predecessors!
  br label %11385

11385:                                            ; preds = %11384
  br label %11386

11386:                                            ; preds = %11385, %11328
  br label %11387

11387:                                            ; preds = %11386
  br label %11388

11388:                                            ; preds = %11387
  br label %11389

11389:                                            ; preds = %11388
  %11390 = load i32, ptr @test_count, align 4, !tbaa !5
  %11391 = add nsw i32 %11390, 1
  store i32 %11391, ptr @test_count, align 4, !tbaa !5
  %11392 = load i32, ptr %237, align 4, !tbaa !5
  %11393 = icmp eq i32 %11392, 5555
  br i1 %11393, label %11447, label %11394

11394:                                            ; preds = %11389
  br label %11395

11395:                                            ; preds = %11394
  br label %11396

11396:                                            ; preds = %11395
  call void @llvm.lifetime.start.p0(i64 4, ptr %239) #9
  %11397 = call ptr @__errno_location() #10
  %11398 = load i32, ptr %11397, align 4, !tbaa !5
  store i32 %11398, ptr %239, align 4, !tbaa !5
  %11399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11400 = call i32 @s2n_print_stacktrace(ptr noundef %11399)
  %11401 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11402 = trunc i8 %11401 to i1
  br i1 %11402, label %11403, label %11425

11403:                                            ; preds = %11396
  %11404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11405 = call i32 @fileno(ptr noundef %11404) #9
  %11406 = call i32 @isatty(i32 noundef %11405) #9
  %11407 = icmp ne i32 %11406, 0
  br i1 %11407, label %11408, label %11425

11408:                                            ; preds = %11403
  %11409 = load i32, ptr %239, align 4, !tbaa !5
  %11410 = call ptr @__errno_location() #10
  store i32 %11409, ptr %11410, align 4, !tbaa !5
  %11411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11412 = load i32, ptr @test_count, align 4, !tbaa !5
  %11413 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11414 = load i32, ptr %11413, align 4, !tbaa !5
  %11415 = call ptr @s2n_strerror(i32 noundef %11414, ptr noundef @.str.4)
  %11416 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11417 = load i32, ptr %11416, align 4, !tbaa !5
  %11418 = call ptr @s2n_strerror_debug(i32 noundef %11417, ptr noundef @.str.4)
  %11419 = call ptr @__errno_location() #10
  %11420 = load i32, ptr %11419, align 4, !tbaa !5
  %11421 = call ptr @strerror(i32 noundef %11420) #9
  %11422 = call ptr @__errno_location() #10
  %11423 = load i32, ptr %11422, align 4, !tbaa !5
  %11424 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11411, ptr noundef @.str.2, i32 noundef %11412, ptr noundef @.str.111, ptr noundef @.str.1, i32 noundef 383, ptr noundef %11415, ptr noundef %11418, ptr noundef %11421, i32 noundef %11423) #9
  br label %11442

11425:                                            ; preds = %11403, %11396
  %11426 = load i32, ptr %239, align 4, !tbaa !5
  %11427 = call ptr @__errno_location() #10
  store i32 %11426, ptr %11427, align 4, !tbaa !5
  %11428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11429 = load i32, ptr @test_count, align 4, !tbaa !5
  %11430 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11431 = load i32, ptr %11430, align 4, !tbaa !5
  %11432 = call ptr @s2n_strerror(i32 noundef %11431, ptr noundef @.str.4)
  %11433 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11434 = load i32, ptr %11433, align 4, !tbaa !5
  %11435 = call ptr @s2n_strerror_debug(i32 noundef %11434, ptr noundef @.str.4)
  %11436 = call ptr @__errno_location() #10
  %11437 = load i32, ptr %11436, align 4, !tbaa !5
  %11438 = call ptr @strerror(i32 noundef %11437) #9
  %11439 = call ptr @__errno_location() #10
  %11440 = load i32, ptr %11439, align 4, !tbaa !5
  %11441 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11428, ptr noundef @.str.5, i32 noundef %11429, ptr noundef @.str.111, ptr noundef @.str.1, i32 noundef 383, ptr noundef %11432, ptr noundef %11435, ptr noundef %11438, i32 noundef %11440) #9
  br label %11442

11442:                                            ; preds = %11425, %11408
  call void @llvm.lifetime.end.p0(i64 4, ptr %239) #9
  br label %11443

11443:                                            ; preds = %11442
  br label %11444

11444:                                            ; preds = %11443
  call void @exit(i32 noundef 1) #11
  unreachable

11445:                                            ; No predecessors!
  br label %11446

11446:                                            ; preds = %11445
  br label %11447

11447:                                            ; preds = %11446, %11389
  br label %11448

11448:                                            ; preds = %11447
  br label %11449

11449:                                            ; preds = %11448
  call void @llvm.lifetime.end.p0(i64 4, ptr %237) #9
  br label %11450

11450:                                            ; preds = %11449
  br label %11451

11451:                                            ; preds = %11450
  br label %11452

11452:                                            ; preds = %11451
  br label %11453

11453:                                            ; preds = %11452
  br label %11454

11454:                                            ; preds = %11453
  br label %11455

11455:                                            ; preds = %11454
  call void @llvm.lifetime.start.p0(i64 4, ptr %240) #9
  br label %11456

11456:                                            ; preds = %11455
  %11457 = load i32, ptr @test_count, align 4, !tbaa !5
  %11458 = add nsw i32 %11457, 1
  store i32 %11458, ptr @test_count, align 4, !tbaa !5
  %11459 = call i32 @s2n_add_overflow(i32 noundef 0, i32 noundef -1, ptr noundef %240)
  %11460 = icmp eq i32 %11459, -1
  br i1 %11460, label %11461, label %11514

11461:                                            ; preds = %11456
  br label %11462

11462:                                            ; preds = %11461
  br label %11463

11463:                                            ; preds = %11462
  call void @llvm.lifetime.start.p0(i64 4, ptr %241) #9
  %11464 = call ptr @__errno_location() #10
  %11465 = load i32, ptr %11464, align 4, !tbaa !5
  store i32 %11465, ptr %241, align 4, !tbaa !5
  %11466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11467 = call i32 @s2n_print_stacktrace(ptr noundef %11466)
  %11468 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11469 = trunc i8 %11468 to i1
  br i1 %11469, label %11470, label %11492

11470:                                            ; preds = %11463
  %11471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11472 = call i32 @fileno(ptr noundef %11471) #9
  %11473 = call i32 @isatty(i32 noundef %11472) #9
  %11474 = icmp ne i32 %11473, 0
  br i1 %11474, label %11475, label %11492

11475:                                            ; preds = %11470
  %11476 = load i32, ptr %241, align 4, !tbaa !5
  %11477 = call ptr @__errno_location() #10
  store i32 %11476, ptr %11477, align 4, !tbaa !5
  %11478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11479 = load i32, ptr @test_count, align 4, !tbaa !5
  %11480 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11481 = load i32, ptr %11480, align 4, !tbaa !5
  %11482 = call ptr @s2n_strerror(i32 noundef %11481, ptr noundef @.str.4)
  %11483 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11484 = load i32, ptr %11483, align 4, !tbaa !5
  %11485 = call ptr @s2n_strerror_debug(i32 noundef %11484, ptr noundef @.str.4)
  %11486 = call ptr @__errno_location() #10
  %11487 = load i32, ptr %11486, align 4, !tbaa !5
  %11488 = call ptr @strerror(i32 noundef %11487) #9
  %11489 = call ptr @__errno_location() #10
  %11490 = load i32, ptr %11489, align 4, !tbaa !5
  %11491 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11478, ptr noundef @.str.2, i32 noundef %11479, ptr noundef @.str.113, ptr noundef @.str.1, i32 noundef 384, ptr noundef %11482, ptr noundef %11485, ptr noundef %11488, i32 noundef %11490) #9
  br label %11509

11492:                                            ; preds = %11470, %11463
  %11493 = load i32, ptr %241, align 4, !tbaa !5
  %11494 = call ptr @__errno_location() #10
  store i32 %11493, ptr %11494, align 4, !tbaa !5
  %11495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11496 = load i32, ptr @test_count, align 4, !tbaa !5
  %11497 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11498 = load i32, ptr %11497, align 4, !tbaa !5
  %11499 = call ptr @s2n_strerror(i32 noundef %11498, ptr noundef @.str.4)
  %11500 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11501 = load i32, ptr %11500, align 4, !tbaa !5
  %11502 = call ptr @s2n_strerror_debug(i32 noundef %11501, ptr noundef @.str.4)
  %11503 = call ptr @__errno_location() #10
  %11504 = load i32, ptr %11503, align 4, !tbaa !5
  %11505 = call ptr @strerror(i32 noundef %11504) #9
  %11506 = call ptr @__errno_location() #10
  %11507 = load i32, ptr %11506, align 4, !tbaa !5
  %11508 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11495, ptr noundef @.str.5, i32 noundef %11496, ptr noundef @.str.113, ptr noundef @.str.1, i32 noundef 384, ptr noundef %11499, ptr noundef %11502, ptr noundef %11505, i32 noundef %11507) #9
  br label %11509

11509:                                            ; preds = %11492, %11475
  call void @llvm.lifetime.end.p0(i64 4, ptr %241) #9
  br label %11510

11510:                                            ; preds = %11509
  br label %11511

11511:                                            ; preds = %11510
  call void @exit(i32 noundef 1) #11
  unreachable

11512:                                            ; No predecessors!
  br label %11513

11513:                                            ; preds = %11512
  br label %11514

11514:                                            ; preds = %11513, %11456
  br label %11515

11515:                                            ; preds = %11514
  br label %11516

11516:                                            ; preds = %11515
  br label %11517

11517:                                            ; preds = %11516
  %11518 = load i32, ptr @test_count, align 4, !tbaa !5
  %11519 = add nsw i32 %11518, 1
  store i32 %11519, ptr @test_count, align 4, !tbaa !5
  %11520 = load i32, ptr %240, align 4, !tbaa !5
  %11521 = icmp eq i32 %11520, -1
  br i1 %11521, label %11575, label %11522

11522:                                            ; preds = %11517
  br label %11523

11523:                                            ; preds = %11522
  br label %11524

11524:                                            ; preds = %11523
  call void @llvm.lifetime.start.p0(i64 4, ptr %242) #9
  %11525 = call ptr @__errno_location() #10
  %11526 = load i32, ptr %11525, align 4, !tbaa !5
  store i32 %11526, ptr %242, align 4, !tbaa !5
  %11527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11528 = call i32 @s2n_print_stacktrace(ptr noundef %11527)
  %11529 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11530 = trunc i8 %11529 to i1
  br i1 %11530, label %11531, label %11553

11531:                                            ; preds = %11524
  %11532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11533 = call i32 @fileno(ptr noundef %11532) #9
  %11534 = call i32 @isatty(i32 noundef %11533) #9
  %11535 = icmp ne i32 %11534, 0
  br i1 %11535, label %11536, label %11553

11536:                                            ; preds = %11531
  %11537 = load i32, ptr %242, align 4, !tbaa !5
  %11538 = call ptr @__errno_location() #10
  store i32 %11537, ptr %11538, align 4, !tbaa !5
  %11539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11540 = load i32, ptr @test_count, align 4, !tbaa !5
  %11541 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11542 = load i32, ptr %11541, align 4, !tbaa !5
  %11543 = call ptr @s2n_strerror(i32 noundef %11542, ptr noundef @.str.4)
  %11544 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11545 = load i32, ptr %11544, align 4, !tbaa !5
  %11546 = call ptr @s2n_strerror_debug(i32 noundef %11545, ptr noundef @.str.4)
  %11547 = call ptr @__errno_location() #10
  %11548 = load i32, ptr %11547, align 4, !tbaa !5
  %11549 = call ptr @strerror(i32 noundef %11548) #9
  %11550 = call ptr @__errno_location() #10
  %11551 = load i32, ptr %11550, align 4, !tbaa !5
  %11552 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11539, ptr noundef @.str.2, i32 noundef %11540, ptr noundef @.str.114, ptr noundef @.str.1, i32 noundef 384, ptr noundef %11543, ptr noundef %11546, ptr noundef %11549, i32 noundef %11551) #9
  br label %11570

11553:                                            ; preds = %11531, %11524
  %11554 = load i32, ptr %242, align 4, !tbaa !5
  %11555 = call ptr @__errno_location() #10
  store i32 %11554, ptr %11555, align 4, !tbaa !5
  %11556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11557 = load i32, ptr @test_count, align 4, !tbaa !5
  %11558 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11559 = load i32, ptr %11558, align 4, !tbaa !5
  %11560 = call ptr @s2n_strerror(i32 noundef %11559, ptr noundef @.str.4)
  %11561 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11562 = load i32, ptr %11561, align 4, !tbaa !5
  %11563 = call ptr @s2n_strerror_debug(i32 noundef %11562, ptr noundef @.str.4)
  %11564 = call ptr @__errno_location() #10
  %11565 = load i32, ptr %11564, align 4, !tbaa !5
  %11566 = call ptr @strerror(i32 noundef %11565) #9
  %11567 = call ptr @__errno_location() #10
  %11568 = load i32, ptr %11567, align 4, !tbaa !5
  %11569 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11556, ptr noundef @.str.5, i32 noundef %11557, ptr noundef @.str.114, ptr noundef @.str.1, i32 noundef 384, ptr noundef %11560, ptr noundef %11563, ptr noundef %11566, i32 noundef %11568) #9
  br label %11570

11570:                                            ; preds = %11553, %11536
  call void @llvm.lifetime.end.p0(i64 4, ptr %242) #9
  br label %11571

11571:                                            ; preds = %11570
  br label %11572

11572:                                            ; preds = %11571
  call void @exit(i32 noundef 1) #11
  unreachable

11573:                                            ; No predecessors!
  br label %11574

11574:                                            ; preds = %11573
  br label %11575

11575:                                            ; preds = %11574, %11517
  br label %11576

11576:                                            ; preds = %11575
  br label %11577

11577:                                            ; preds = %11576
  call void @llvm.lifetime.end.p0(i64 4, ptr %240) #9
  br label %11578

11578:                                            ; preds = %11577
  br label %11579

11579:                                            ; preds = %11578
  br label %11580

11580:                                            ; preds = %11579
  call void @llvm.lifetime.start.p0(i64 4, ptr %243) #9
  br label %11581

11581:                                            ; preds = %11580
  %11582 = load i32, ptr @test_count, align 4, !tbaa !5
  %11583 = add nsw i32 %11582, 1
  store i32 %11583, ptr @test_count, align 4, !tbaa !5
  %11584 = call i32 @s2n_add_overflow(i32 noundef -1, i32 noundef 0, ptr noundef %243)
  %11585 = icmp eq i32 %11584, -1
  br i1 %11585, label %11586, label %11639

11586:                                            ; preds = %11581
  br label %11587

11587:                                            ; preds = %11586
  br label %11588

11588:                                            ; preds = %11587
  call void @llvm.lifetime.start.p0(i64 4, ptr %244) #9
  %11589 = call ptr @__errno_location() #10
  %11590 = load i32, ptr %11589, align 4, !tbaa !5
  store i32 %11590, ptr %244, align 4, !tbaa !5
  %11591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11592 = call i32 @s2n_print_stacktrace(ptr noundef %11591)
  %11593 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11594 = trunc i8 %11593 to i1
  br i1 %11594, label %11595, label %11617

11595:                                            ; preds = %11588
  %11596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11597 = call i32 @fileno(ptr noundef %11596) #9
  %11598 = call i32 @isatty(i32 noundef %11597) #9
  %11599 = icmp ne i32 %11598, 0
  br i1 %11599, label %11600, label %11617

11600:                                            ; preds = %11595
  %11601 = load i32, ptr %244, align 4, !tbaa !5
  %11602 = call ptr @__errno_location() #10
  store i32 %11601, ptr %11602, align 4, !tbaa !5
  %11603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11604 = load i32, ptr @test_count, align 4, !tbaa !5
  %11605 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11606 = load i32, ptr %11605, align 4, !tbaa !5
  %11607 = call ptr @s2n_strerror(i32 noundef %11606, ptr noundef @.str.4)
  %11608 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11609 = load i32, ptr %11608, align 4, !tbaa !5
  %11610 = call ptr @s2n_strerror_debug(i32 noundef %11609, ptr noundef @.str.4)
  %11611 = call ptr @__errno_location() #10
  %11612 = load i32, ptr %11611, align 4, !tbaa !5
  %11613 = call ptr @strerror(i32 noundef %11612) #9
  %11614 = call ptr @__errno_location() #10
  %11615 = load i32, ptr %11614, align 4, !tbaa !5
  %11616 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11603, ptr noundef @.str.2, i32 noundef %11604, ptr noundef @.str.115, ptr noundef @.str.1, i32 noundef 384, ptr noundef %11607, ptr noundef %11610, ptr noundef %11613, i32 noundef %11615) #9
  br label %11634

11617:                                            ; preds = %11595, %11588
  %11618 = load i32, ptr %244, align 4, !tbaa !5
  %11619 = call ptr @__errno_location() #10
  store i32 %11618, ptr %11619, align 4, !tbaa !5
  %11620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11621 = load i32, ptr @test_count, align 4, !tbaa !5
  %11622 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11623 = load i32, ptr %11622, align 4, !tbaa !5
  %11624 = call ptr @s2n_strerror(i32 noundef %11623, ptr noundef @.str.4)
  %11625 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11626 = load i32, ptr %11625, align 4, !tbaa !5
  %11627 = call ptr @s2n_strerror_debug(i32 noundef %11626, ptr noundef @.str.4)
  %11628 = call ptr @__errno_location() #10
  %11629 = load i32, ptr %11628, align 4, !tbaa !5
  %11630 = call ptr @strerror(i32 noundef %11629) #9
  %11631 = call ptr @__errno_location() #10
  %11632 = load i32, ptr %11631, align 4, !tbaa !5
  %11633 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11620, ptr noundef @.str.5, i32 noundef %11621, ptr noundef @.str.115, ptr noundef @.str.1, i32 noundef 384, ptr noundef %11624, ptr noundef %11627, ptr noundef %11630, i32 noundef %11632) #9
  br label %11634

11634:                                            ; preds = %11617, %11600
  call void @llvm.lifetime.end.p0(i64 4, ptr %244) #9
  br label %11635

11635:                                            ; preds = %11634
  br label %11636

11636:                                            ; preds = %11635
  call void @exit(i32 noundef 1) #11
  unreachable

11637:                                            ; No predecessors!
  br label %11638

11638:                                            ; preds = %11637
  br label %11639

11639:                                            ; preds = %11638, %11581
  br label %11640

11640:                                            ; preds = %11639
  br label %11641

11641:                                            ; preds = %11640
  br label %11642

11642:                                            ; preds = %11641
  %11643 = load i32, ptr @test_count, align 4, !tbaa !5
  %11644 = add nsw i32 %11643, 1
  store i32 %11644, ptr @test_count, align 4, !tbaa !5
  %11645 = load i32, ptr %243, align 4, !tbaa !5
  %11646 = icmp eq i32 %11645, -1
  br i1 %11646, label %11700, label %11647

11647:                                            ; preds = %11642
  br label %11648

11648:                                            ; preds = %11647
  br label %11649

11649:                                            ; preds = %11648
  call void @llvm.lifetime.start.p0(i64 4, ptr %245) #9
  %11650 = call ptr @__errno_location() #10
  %11651 = load i32, ptr %11650, align 4, !tbaa !5
  store i32 %11651, ptr %245, align 4, !tbaa !5
  %11652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11653 = call i32 @s2n_print_stacktrace(ptr noundef %11652)
  %11654 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11655 = trunc i8 %11654 to i1
  br i1 %11655, label %11656, label %11678

11656:                                            ; preds = %11649
  %11657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11658 = call i32 @fileno(ptr noundef %11657) #9
  %11659 = call i32 @isatty(i32 noundef %11658) #9
  %11660 = icmp ne i32 %11659, 0
  br i1 %11660, label %11661, label %11678

11661:                                            ; preds = %11656
  %11662 = load i32, ptr %245, align 4, !tbaa !5
  %11663 = call ptr @__errno_location() #10
  store i32 %11662, ptr %11663, align 4, !tbaa !5
  %11664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11665 = load i32, ptr @test_count, align 4, !tbaa !5
  %11666 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11667 = load i32, ptr %11666, align 4, !tbaa !5
  %11668 = call ptr @s2n_strerror(i32 noundef %11667, ptr noundef @.str.4)
  %11669 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11670 = load i32, ptr %11669, align 4, !tbaa !5
  %11671 = call ptr @s2n_strerror_debug(i32 noundef %11670, ptr noundef @.str.4)
  %11672 = call ptr @__errno_location() #10
  %11673 = load i32, ptr %11672, align 4, !tbaa !5
  %11674 = call ptr @strerror(i32 noundef %11673) #9
  %11675 = call ptr @__errno_location() #10
  %11676 = load i32, ptr %11675, align 4, !tbaa !5
  %11677 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11664, ptr noundef @.str.2, i32 noundef %11665, ptr noundef @.str.114, ptr noundef @.str.1, i32 noundef 384, ptr noundef %11668, ptr noundef %11671, ptr noundef %11674, i32 noundef %11676) #9
  br label %11695

11678:                                            ; preds = %11656, %11649
  %11679 = load i32, ptr %245, align 4, !tbaa !5
  %11680 = call ptr @__errno_location() #10
  store i32 %11679, ptr %11680, align 4, !tbaa !5
  %11681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11682 = load i32, ptr @test_count, align 4, !tbaa !5
  %11683 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11684 = load i32, ptr %11683, align 4, !tbaa !5
  %11685 = call ptr @s2n_strerror(i32 noundef %11684, ptr noundef @.str.4)
  %11686 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11687 = load i32, ptr %11686, align 4, !tbaa !5
  %11688 = call ptr @s2n_strerror_debug(i32 noundef %11687, ptr noundef @.str.4)
  %11689 = call ptr @__errno_location() #10
  %11690 = load i32, ptr %11689, align 4, !tbaa !5
  %11691 = call ptr @strerror(i32 noundef %11690) #9
  %11692 = call ptr @__errno_location() #10
  %11693 = load i32, ptr %11692, align 4, !tbaa !5
  %11694 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11681, ptr noundef @.str.5, i32 noundef %11682, ptr noundef @.str.114, ptr noundef @.str.1, i32 noundef 384, ptr noundef %11685, ptr noundef %11688, ptr noundef %11691, i32 noundef %11693) #9
  br label %11695

11695:                                            ; preds = %11678, %11661
  call void @llvm.lifetime.end.p0(i64 4, ptr %245) #9
  br label %11696

11696:                                            ; preds = %11695
  br label %11697

11697:                                            ; preds = %11696
  call void @exit(i32 noundef 1) #11
  unreachable

11698:                                            ; No predecessors!
  br label %11699

11699:                                            ; preds = %11698
  br label %11700

11700:                                            ; preds = %11699, %11642
  br label %11701

11701:                                            ; preds = %11700
  br label %11702

11702:                                            ; preds = %11701
  call void @llvm.lifetime.end.p0(i64 4, ptr %243) #9
  br label %11703

11703:                                            ; preds = %11702
  br label %11704

11704:                                            ; preds = %11703
  br label %11705

11705:                                            ; preds = %11704
  br label %11706

11706:                                            ; preds = %11705
  br label %11707

11707:                                            ; preds = %11706
  br label %11708

11708:                                            ; preds = %11707
  call void @llvm.lifetime.start.p0(i64 4, ptr %246) #9
  br label %11709

11709:                                            ; preds = %11708
  %11710 = load i32, ptr @test_count, align 4, !tbaa !5
  %11711 = add nsw i32 %11710, 1
  store i32 %11711, ptr @test_count, align 4, !tbaa !5
  %11712 = call i32 @s2n_add_overflow(i32 noundef 2147483647, i32 noundef 2147483647, ptr noundef %246)
  %11713 = icmp eq i32 %11712, -1
  br i1 %11713, label %11714, label %11767

11714:                                            ; preds = %11709
  br label %11715

11715:                                            ; preds = %11714
  br label %11716

11716:                                            ; preds = %11715
  call void @llvm.lifetime.start.p0(i64 4, ptr %247) #9
  %11717 = call ptr @__errno_location() #10
  %11718 = load i32, ptr %11717, align 4, !tbaa !5
  store i32 %11718, ptr %247, align 4, !tbaa !5
  %11719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11720 = call i32 @s2n_print_stacktrace(ptr noundef %11719)
  %11721 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11722 = trunc i8 %11721 to i1
  br i1 %11722, label %11723, label %11745

11723:                                            ; preds = %11716
  %11724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11725 = call i32 @fileno(ptr noundef %11724) #9
  %11726 = call i32 @isatty(i32 noundef %11725) #9
  %11727 = icmp ne i32 %11726, 0
  br i1 %11727, label %11728, label %11745

11728:                                            ; preds = %11723
  %11729 = load i32, ptr %247, align 4, !tbaa !5
  %11730 = call ptr @__errno_location() #10
  store i32 %11729, ptr %11730, align 4, !tbaa !5
  %11731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11732 = load i32, ptr @test_count, align 4, !tbaa !5
  %11733 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11734 = load i32, ptr %11733, align 4, !tbaa !5
  %11735 = call ptr @s2n_strerror(i32 noundef %11734, ptr noundef @.str.4)
  %11736 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11737 = load i32, ptr %11736, align 4, !tbaa !5
  %11738 = call ptr @s2n_strerror_debug(i32 noundef %11737, ptr noundef @.str.4)
  %11739 = call ptr @__errno_location() #10
  %11740 = load i32, ptr %11739, align 4, !tbaa !5
  %11741 = call ptr @strerror(i32 noundef %11740) #9
  %11742 = call ptr @__errno_location() #10
  %11743 = load i32, ptr %11742, align 4, !tbaa !5
  %11744 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11731, ptr noundef @.str.2, i32 noundef %11732, ptr noundef @.str.116, ptr noundef @.str.1, i32 noundef 385, ptr noundef %11735, ptr noundef %11738, ptr noundef %11741, i32 noundef %11743) #9
  br label %11762

11745:                                            ; preds = %11723, %11716
  %11746 = load i32, ptr %247, align 4, !tbaa !5
  %11747 = call ptr @__errno_location() #10
  store i32 %11746, ptr %11747, align 4, !tbaa !5
  %11748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11749 = load i32, ptr @test_count, align 4, !tbaa !5
  %11750 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11751 = load i32, ptr %11750, align 4, !tbaa !5
  %11752 = call ptr @s2n_strerror(i32 noundef %11751, ptr noundef @.str.4)
  %11753 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11754 = load i32, ptr %11753, align 4, !tbaa !5
  %11755 = call ptr @s2n_strerror_debug(i32 noundef %11754, ptr noundef @.str.4)
  %11756 = call ptr @__errno_location() #10
  %11757 = load i32, ptr %11756, align 4, !tbaa !5
  %11758 = call ptr @strerror(i32 noundef %11757) #9
  %11759 = call ptr @__errno_location() #10
  %11760 = load i32, ptr %11759, align 4, !tbaa !5
  %11761 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11748, ptr noundef @.str.5, i32 noundef %11749, ptr noundef @.str.116, ptr noundef @.str.1, i32 noundef 385, ptr noundef %11752, ptr noundef %11755, ptr noundef %11758, i32 noundef %11760) #9
  br label %11762

11762:                                            ; preds = %11745, %11728
  call void @llvm.lifetime.end.p0(i64 4, ptr %247) #9
  br label %11763

11763:                                            ; preds = %11762
  br label %11764

11764:                                            ; preds = %11763
  call void @exit(i32 noundef 1) #11
  unreachable

11765:                                            ; No predecessors!
  br label %11766

11766:                                            ; preds = %11765
  br label %11767

11767:                                            ; preds = %11766, %11709
  br label %11768

11768:                                            ; preds = %11767
  br label %11769

11769:                                            ; preds = %11768
  br label %11770

11770:                                            ; preds = %11769
  %11771 = load i32, ptr @test_count, align 4, !tbaa !5
  %11772 = add nsw i32 %11771, 1
  store i32 %11772, ptr @test_count, align 4, !tbaa !5
  %11773 = load i32, ptr %246, align 4, !tbaa !5
  %11774 = icmp eq i32 %11773, -2
  br i1 %11774, label %11828, label %11775

11775:                                            ; preds = %11770
  br label %11776

11776:                                            ; preds = %11775
  br label %11777

11777:                                            ; preds = %11776
  call void @llvm.lifetime.start.p0(i64 4, ptr %248) #9
  %11778 = call ptr @__errno_location() #10
  %11779 = load i32, ptr %11778, align 4, !tbaa !5
  store i32 %11779, ptr %248, align 4, !tbaa !5
  %11780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11781 = call i32 @s2n_print_stacktrace(ptr noundef %11780)
  %11782 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11783 = trunc i8 %11782 to i1
  br i1 %11783, label %11784, label %11806

11784:                                            ; preds = %11777
  %11785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11786 = call i32 @fileno(ptr noundef %11785) #9
  %11787 = call i32 @isatty(i32 noundef %11786) #9
  %11788 = icmp ne i32 %11787, 0
  br i1 %11788, label %11789, label %11806

11789:                                            ; preds = %11784
  %11790 = load i32, ptr %248, align 4, !tbaa !5
  %11791 = call ptr @__errno_location() #10
  store i32 %11790, ptr %11791, align 4, !tbaa !5
  %11792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11793 = load i32, ptr @test_count, align 4, !tbaa !5
  %11794 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11795 = load i32, ptr %11794, align 4, !tbaa !5
  %11796 = call ptr @s2n_strerror(i32 noundef %11795, ptr noundef @.str.4)
  %11797 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11798 = load i32, ptr %11797, align 4, !tbaa !5
  %11799 = call ptr @s2n_strerror_debug(i32 noundef %11798, ptr noundef @.str.4)
  %11800 = call ptr @__errno_location() #10
  %11801 = load i32, ptr %11800, align 4, !tbaa !5
  %11802 = call ptr @strerror(i32 noundef %11801) #9
  %11803 = call ptr @__errno_location() #10
  %11804 = load i32, ptr %11803, align 4, !tbaa !5
  %11805 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11792, ptr noundef @.str.2, i32 noundef %11793, ptr noundef @.str.117, ptr noundef @.str.1, i32 noundef 385, ptr noundef %11796, ptr noundef %11799, ptr noundef %11802, i32 noundef %11804) #9
  br label %11823

11806:                                            ; preds = %11784, %11777
  %11807 = load i32, ptr %248, align 4, !tbaa !5
  %11808 = call ptr @__errno_location() #10
  store i32 %11807, ptr %11808, align 4, !tbaa !5
  %11809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11810 = load i32, ptr @test_count, align 4, !tbaa !5
  %11811 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11812 = load i32, ptr %11811, align 4, !tbaa !5
  %11813 = call ptr @s2n_strerror(i32 noundef %11812, ptr noundef @.str.4)
  %11814 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11815 = load i32, ptr %11814, align 4, !tbaa !5
  %11816 = call ptr @s2n_strerror_debug(i32 noundef %11815, ptr noundef @.str.4)
  %11817 = call ptr @__errno_location() #10
  %11818 = load i32, ptr %11817, align 4, !tbaa !5
  %11819 = call ptr @strerror(i32 noundef %11818) #9
  %11820 = call ptr @__errno_location() #10
  %11821 = load i32, ptr %11820, align 4, !tbaa !5
  %11822 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11809, ptr noundef @.str.5, i32 noundef %11810, ptr noundef @.str.117, ptr noundef @.str.1, i32 noundef 385, ptr noundef %11813, ptr noundef %11816, ptr noundef %11819, i32 noundef %11821) #9
  br label %11823

11823:                                            ; preds = %11806, %11789
  call void @llvm.lifetime.end.p0(i64 4, ptr %248) #9
  br label %11824

11824:                                            ; preds = %11823
  br label %11825

11825:                                            ; preds = %11824
  call void @exit(i32 noundef 1) #11
  unreachable

11826:                                            ; No predecessors!
  br label %11827

11827:                                            ; preds = %11826
  br label %11828

11828:                                            ; preds = %11827, %11770
  br label %11829

11829:                                            ; preds = %11828
  br label %11830

11830:                                            ; preds = %11829
  call void @llvm.lifetime.end.p0(i64 4, ptr %246) #9
  br label %11831

11831:                                            ; preds = %11830
  br label %11832

11832:                                            ; preds = %11831
  br label %11833

11833:                                            ; preds = %11832
  call void @llvm.lifetime.start.p0(i64 4, ptr %249) #9
  br label %11834

11834:                                            ; preds = %11833
  %11835 = load i32, ptr @test_count, align 4, !tbaa !5
  %11836 = add nsw i32 %11835, 1
  store i32 %11836, ptr @test_count, align 4, !tbaa !5
  %11837 = call i32 @s2n_add_overflow(i32 noundef 2147483647, i32 noundef 2147483647, ptr noundef %249)
  %11838 = icmp eq i32 %11837, -1
  br i1 %11838, label %11839, label %11892

11839:                                            ; preds = %11834
  br label %11840

11840:                                            ; preds = %11839
  br label %11841

11841:                                            ; preds = %11840
  call void @llvm.lifetime.start.p0(i64 4, ptr %250) #9
  %11842 = call ptr @__errno_location() #10
  %11843 = load i32, ptr %11842, align 4, !tbaa !5
  store i32 %11843, ptr %250, align 4, !tbaa !5
  %11844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11845 = call i32 @s2n_print_stacktrace(ptr noundef %11844)
  %11846 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11847 = trunc i8 %11846 to i1
  br i1 %11847, label %11848, label %11870

11848:                                            ; preds = %11841
  %11849 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11850 = call i32 @fileno(ptr noundef %11849) #9
  %11851 = call i32 @isatty(i32 noundef %11850) #9
  %11852 = icmp ne i32 %11851, 0
  br i1 %11852, label %11853, label %11870

11853:                                            ; preds = %11848
  %11854 = load i32, ptr %250, align 4, !tbaa !5
  %11855 = call ptr @__errno_location() #10
  store i32 %11854, ptr %11855, align 4, !tbaa !5
  %11856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11857 = load i32, ptr @test_count, align 4, !tbaa !5
  %11858 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11859 = load i32, ptr %11858, align 4, !tbaa !5
  %11860 = call ptr @s2n_strerror(i32 noundef %11859, ptr noundef @.str.4)
  %11861 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11862 = load i32, ptr %11861, align 4, !tbaa !5
  %11863 = call ptr @s2n_strerror_debug(i32 noundef %11862, ptr noundef @.str.4)
  %11864 = call ptr @__errno_location() #10
  %11865 = load i32, ptr %11864, align 4, !tbaa !5
  %11866 = call ptr @strerror(i32 noundef %11865) #9
  %11867 = call ptr @__errno_location() #10
  %11868 = load i32, ptr %11867, align 4, !tbaa !5
  %11869 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11856, ptr noundef @.str.2, i32 noundef %11857, ptr noundef @.str.116, ptr noundef @.str.1, i32 noundef 385, ptr noundef %11860, ptr noundef %11863, ptr noundef %11866, i32 noundef %11868) #9
  br label %11887

11870:                                            ; preds = %11848, %11841
  %11871 = load i32, ptr %250, align 4, !tbaa !5
  %11872 = call ptr @__errno_location() #10
  store i32 %11871, ptr %11872, align 4, !tbaa !5
  %11873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11874 = load i32, ptr @test_count, align 4, !tbaa !5
  %11875 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11876 = load i32, ptr %11875, align 4, !tbaa !5
  %11877 = call ptr @s2n_strerror(i32 noundef %11876, ptr noundef @.str.4)
  %11878 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11879 = load i32, ptr %11878, align 4, !tbaa !5
  %11880 = call ptr @s2n_strerror_debug(i32 noundef %11879, ptr noundef @.str.4)
  %11881 = call ptr @__errno_location() #10
  %11882 = load i32, ptr %11881, align 4, !tbaa !5
  %11883 = call ptr @strerror(i32 noundef %11882) #9
  %11884 = call ptr @__errno_location() #10
  %11885 = load i32, ptr %11884, align 4, !tbaa !5
  %11886 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11873, ptr noundef @.str.5, i32 noundef %11874, ptr noundef @.str.116, ptr noundef @.str.1, i32 noundef 385, ptr noundef %11877, ptr noundef %11880, ptr noundef %11883, i32 noundef %11885) #9
  br label %11887

11887:                                            ; preds = %11870, %11853
  call void @llvm.lifetime.end.p0(i64 4, ptr %250) #9
  br label %11888

11888:                                            ; preds = %11887
  br label %11889

11889:                                            ; preds = %11888
  call void @exit(i32 noundef 1) #11
  unreachable

11890:                                            ; No predecessors!
  br label %11891

11891:                                            ; preds = %11890
  br label %11892

11892:                                            ; preds = %11891, %11834
  br label %11893

11893:                                            ; preds = %11892
  br label %11894

11894:                                            ; preds = %11893
  br label %11895

11895:                                            ; preds = %11894
  %11896 = load i32, ptr @test_count, align 4, !tbaa !5
  %11897 = add nsw i32 %11896, 1
  store i32 %11897, ptr @test_count, align 4, !tbaa !5
  %11898 = load i32, ptr %249, align 4, !tbaa !5
  %11899 = icmp eq i32 %11898, -2
  br i1 %11899, label %11953, label %11900

11900:                                            ; preds = %11895
  br label %11901

11901:                                            ; preds = %11900
  br label %11902

11902:                                            ; preds = %11901
  call void @llvm.lifetime.start.p0(i64 4, ptr %251) #9
  %11903 = call ptr @__errno_location() #10
  %11904 = load i32, ptr %11903, align 4, !tbaa !5
  store i32 %11904, ptr %251, align 4, !tbaa !5
  %11905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11906 = call i32 @s2n_print_stacktrace(ptr noundef %11905)
  %11907 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11908 = trunc i8 %11907 to i1
  br i1 %11908, label %11909, label %11931

11909:                                            ; preds = %11902
  %11910 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11911 = call i32 @fileno(ptr noundef %11910) #9
  %11912 = call i32 @isatty(i32 noundef %11911) #9
  %11913 = icmp ne i32 %11912, 0
  br i1 %11913, label %11914, label %11931

11914:                                            ; preds = %11909
  %11915 = load i32, ptr %251, align 4, !tbaa !5
  %11916 = call ptr @__errno_location() #10
  store i32 %11915, ptr %11916, align 4, !tbaa !5
  %11917 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11918 = load i32, ptr @test_count, align 4, !tbaa !5
  %11919 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11920 = load i32, ptr %11919, align 4, !tbaa !5
  %11921 = call ptr @s2n_strerror(i32 noundef %11920, ptr noundef @.str.4)
  %11922 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11923 = load i32, ptr %11922, align 4, !tbaa !5
  %11924 = call ptr @s2n_strerror_debug(i32 noundef %11923, ptr noundef @.str.4)
  %11925 = call ptr @__errno_location() #10
  %11926 = load i32, ptr %11925, align 4, !tbaa !5
  %11927 = call ptr @strerror(i32 noundef %11926) #9
  %11928 = call ptr @__errno_location() #10
  %11929 = load i32, ptr %11928, align 4, !tbaa !5
  %11930 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11917, ptr noundef @.str.2, i32 noundef %11918, ptr noundef @.str.117, ptr noundef @.str.1, i32 noundef 385, ptr noundef %11921, ptr noundef %11924, ptr noundef %11927, i32 noundef %11929) #9
  br label %11948

11931:                                            ; preds = %11909, %11902
  %11932 = load i32, ptr %251, align 4, !tbaa !5
  %11933 = call ptr @__errno_location() #10
  store i32 %11932, ptr %11933, align 4, !tbaa !5
  %11934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11935 = load i32, ptr @test_count, align 4, !tbaa !5
  %11936 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11937 = load i32, ptr %11936, align 4, !tbaa !5
  %11938 = call ptr @s2n_strerror(i32 noundef %11937, ptr noundef @.str.4)
  %11939 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11940 = load i32, ptr %11939, align 4, !tbaa !5
  %11941 = call ptr @s2n_strerror_debug(i32 noundef %11940, ptr noundef @.str.4)
  %11942 = call ptr @__errno_location() #10
  %11943 = load i32, ptr %11942, align 4, !tbaa !5
  %11944 = call ptr @strerror(i32 noundef %11943) #9
  %11945 = call ptr @__errno_location() #10
  %11946 = load i32, ptr %11945, align 4, !tbaa !5
  %11947 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11934, ptr noundef @.str.5, i32 noundef %11935, ptr noundef @.str.117, ptr noundef @.str.1, i32 noundef 385, ptr noundef %11938, ptr noundef %11941, ptr noundef %11944, i32 noundef %11946) #9
  br label %11948

11948:                                            ; preds = %11931, %11914
  call void @llvm.lifetime.end.p0(i64 4, ptr %251) #9
  br label %11949

11949:                                            ; preds = %11948
  br label %11950

11950:                                            ; preds = %11949
  call void @exit(i32 noundef 1) #11
  unreachable

11951:                                            ; No predecessors!
  br label %11952

11952:                                            ; preds = %11951
  br label %11953

11953:                                            ; preds = %11952, %11895
  br label %11954

11954:                                            ; preds = %11953
  br label %11955

11955:                                            ; preds = %11954
  call void @llvm.lifetime.end.p0(i64 4, ptr %249) #9
  br label %11956

11956:                                            ; preds = %11955
  br label %11957

11957:                                            ; preds = %11956
  br label %11958

11958:                                            ; preds = %11957
  br label %11959

11959:                                            ; preds = %11958
  br label %11960

11960:                                            ; preds = %11959
  br label %11961

11961:                                            ; preds = %11960
  call void @llvm.lifetime.start.p0(i64 4, ptr %252) #9
  br label %11962

11962:                                            ; preds = %11961
  %11963 = load i32, ptr @test_count, align 4, !tbaa !5
  %11964 = add nsw i32 %11963, 1
  store i32 %11964, ptr @test_count, align 4, !tbaa !5
  %11965 = call i32 @s2n_add_overflow(i32 noundef -2147483648, i32 noundef 2147483647, ptr noundef %252)
  %11966 = icmp eq i32 %11965, -1
  br i1 %11966, label %11967, label %12020

11967:                                            ; preds = %11962
  br label %11968

11968:                                            ; preds = %11967
  br label %11969

11969:                                            ; preds = %11968
  call void @llvm.lifetime.start.p0(i64 4, ptr %253) #9
  %11970 = call ptr @__errno_location() #10
  %11971 = load i32, ptr %11970, align 4, !tbaa !5
  store i32 %11971, ptr %253, align 4, !tbaa !5
  %11972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11973 = call i32 @s2n_print_stacktrace(ptr noundef %11972)
  %11974 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11975 = trunc i8 %11974 to i1
  br i1 %11975, label %11976, label %11998

11976:                                            ; preds = %11969
  %11977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11978 = call i32 @fileno(ptr noundef %11977) #9
  %11979 = call i32 @isatty(i32 noundef %11978) #9
  %11980 = icmp ne i32 %11979, 0
  br i1 %11980, label %11981, label %11998

11981:                                            ; preds = %11976
  %11982 = load i32, ptr %253, align 4, !tbaa !5
  %11983 = call ptr @__errno_location() #10
  store i32 %11982, ptr %11983, align 4, !tbaa !5
  %11984 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11985 = load i32, ptr @test_count, align 4, !tbaa !5
  %11986 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11987 = load i32, ptr %11986, align 4, !tbaa !5
  %11988 = call ptr @s2n_strerror(i32 noundef %11987, ptr noundef @.str.4)
  %11989 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11990 = load i32, ptr %11989, align 4, !tbaa !5
  %11991 = call ptr @s2n_strerror_debug(i32 noundef %11990, ptr noundef @.str.4)
  %11992 = call ptr @__errno_location() #10
  %11993 = load i32, ptr %11992, align 4, !tbaa !5
  %11994 = call ptr @strerror(i32 noundef %11993) #9
  %11995 = call ptr @__errno_location() #10
  %11996 = load i32, ptr %11995, align 4, !tbaa !5
  %11997 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11984, ptr noundef @.str.2, i32 noundef %11985, ptr noundef @.str.118, ptr noundef @.str.1, i32 noundef 386, ptr noundef %11988, ptr noundef %11991, ptr noundef %11994, i32 noundef %11996) #9
  br label %12015

11998:                                            ; preds = %11976, %11969
  %11999 = load i32, ptr %253, align 4, !tbaa !5
  %12000 = call ptr @__errno_location() #10
  store i32 %11999, ptr %12000, align 4, !tbaa !5
  %12001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12002 = load i32, ptr @test_count, align 4, !tbaa !5
  %12003 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12004 = load i32, ptr %12003, align 4, !tbaa !5
  %12005 = call ptr @s2n_strerror(i32 noundef %12004, ptr noundef @.str.4)
  %12006 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12007 = load i32, ptr %12006, align 4, !tbaa !5
  %12008 = call ptr @s2n_strerror_debug(i32 noundef %12007, ptr noundef @.str.4)
  %12009 = call ptr @__errno_location() #10
  %12010 = load i32, ptr %12009, align 4, !tbaa !5
  %12011 = call ptr @strerror(i32 noundef %12010) #9
  %12012 = call ptr @__errno_location() #10
  %12013 = load i32, ptr %12012, align 4, !tbaa !5
  %12014 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12001, ptr noundef @.str.5, i32 noundef %12002, ptr noundef @.str.118, ptr noundef @.str.1, i32 noundef 386, ptr noundef %12005, ptr noundef %12008, ptr noundef %12011, i32 noundef %12013) #9
  br label %12015

12015:                                            ; preds = %11998, %11981
  call void @llvm.lifetime.end.p0(i64 4, ptr %253) #9
  br label %12016

12016:                                            ; preds = %12015
  br label %12017

12017:                                            ; preds = %12016
  call void @exit(i32 noundef 1) #11
  unreachable

12018:                                            ; No predecessors!
  br label %12019

12019:                                            ; preds = %12018
  br label %12020

12020:                                            ; preds = %12019, %11962
  br label %12021

12021:                                            ; preds = %12020
  br label %12022

12022:                                            ; preds = %12021
  br label %12023

12023:                                            ; preds = %12022
  %12024 = load i32, ptr @test_count, align 4, !tbaa !5
  %12025 = add nsw i32 %12024, 1
  store i32 %12025, ptr @test_count, align 4, !tbaa !5
  %12026 = load i32, ptr %252, align 4, !tbaa !5
  %12027 = icmp eq i32 %12026, -1
  br i1 %12027, label %12081, label %12028

12028:                                            ; preds = %12023
  br label %12029

12029:                                            ; preds = %12028
  br label %12030

12030:                                            ; preds = %12029
  call void @llvm.lifetime.start.p0(i64 4, ptr %254) #9
  %12031 = call ptr @__errno_location() #10
  %12032 = load i32, ptr %12031, align 4, !tbaa !5
  store i32 %12032, ptr %254, align 4, !tbaa !5
  %12033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12034 = call i32 @s2n_print_stacktrace(ptr noundef %12033)
  %12035 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12036 = trunc i8 %12035 to i1
  br i1 %12036, label %12037, label %12059

12037:                                            ; preds = %12030
  %12038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12039 = call i32 @fileno(ptr noundef %12038) #9
  %12040 = call i32 @isatty(i32 noundef %12039) #9
  %12041 = icmp ne i32 %12040, 0
  br i1 %12041, label %12042, label %12059

12042:                                            ; preds = %12037
  %12043 = load i32, ptr %254, align 4, !tbaa !5
  %12044 = call ptr @__errno_location() #10
  store i32 %12043, ptr %12044, align 4, !tbaa !5
  %12045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12046 = load i32, ptr @test_count, align 4, !tbaa !5
  %12047 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12048 = load i32, ptr %12047, align 4, !tbaa !5
  %12049 = call ptr @s2n_strerror(i32 noundef %12048, ptr noundef @.str.4)
  %12050 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12051 = load i32, ptr %12050, align 4, !tbaa !5
  %12052 = call ptr @s2n_strerror_debug(i32 noundef %12051, ptr noundef @.str.4)
  %12053 = call ptr @__errno_location() #10
  %12054 = load i32, ptr %12053, align 4, !tbaa !5
  %12055 = call ptr @strerror(i32 noundef %12054) #9
  %12056 = call ptr @__errno_location() #10
  %12057 = load i32, ptr %12056, align 4, !tbaa !5
  %12058 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12045, ptr noundef @.str.2, i32 noundef %12046, ptr noundef @.str.114, ptr noundef @.str.1, i32 noundef 386, ptr noundef %12049, ptr noundef %12052, ptr noundef %12055, i32 noundef %12057) #9
  br label %12076

12059:                                            ; preds = %12037, %12030
  %12060 = load i32, ptr %254, align 4, !tbaa !5
  %12061 = call ptr @__errno_location() #10
  store i32 %12060, ptr %12061, align 4, !tbaa !5
  %12062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12063 = load i32, ptr @test_count, align 4, !tbaa !5
  %12064 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12065 = load i32, ptr %12064, align 4, !tbaa !5
  %12066 = call ptr @s2n_strerror(i32 noundef %12065, ptr noundef @.str.4)
  %12067 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12068 = load i32, ptr %12067, align 4, !tbaa !5
  %12069 = call ptr @s2n_strerror_debug(i32 noundef %12068, ptr noundef @.str.4)
  %12070 = call ptr @__errno_location() #10
  %12071 = load i32, ptr %12070, align 4, !tbaa !5
  %12072 = call ptr @strerror(i32 noundef %12071) #9
  %12073 = call ptr @__errno_location() #10
  %12074 = load i32, ptr %12073, align 4, !tbaa !5
  %12075 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12062, ptr noundef @.str.5, i32 noundef %12063, ptr noundef @.str.114, ptr noundef @.str.1, i32 noundef 386, ptr noundef %12066, ptr noundef %12069, ptr noundef %12072, i32 noundef %12074) #9
  br label %12076

12076:                                            ; preds = %12059, %12042
  call void @llvm.lifetime.end.p0(i64 4, ptr %254) #9
  br label %12077

12077:                                            ; preds = %12076
  br label %12078

12078:                                            ; preds = %12077
  call void @exit(i32 noundef 1) #11
  unreachable

12079:                                            ; No predecessors!
  br label %12080

12080:                                            ; preds = %12079
  br label %12081

12081:                                            ; preds = %12080, %12023
  br label %12082

12082:                                            ; preds = %12081
  br label %12083

12083:                                            ; preds = %12082
  call void @llvm.lifetime.end.p0(i64 4, ptr %252) #9
  br label %12084

12084:                                            ; preds = %12083
  br label %12085

12085:                                            ; preds = %12084
  br label %12086

12086:                                            ; preds = %12085
  call void @llvm.lifetime.start.p0(i64 4, ptr %255) #9
  br label %12087

12087:                                            ; preds = %12086
  %12088 = load i32, ptr @test_count, align 4, !tbaa !5
  %12089 = add nsw i32 %12088, 1
  store i32 %12089, ptr @test_count, align 4, !tbaa !5
  %12090 = call i32 @s2n_add_overflow(i32 noundef 2147483647, i32 noundef -2147483648, ptr noundef %255)
  %12091 = icmp eq i32 %12090, -1
  br i1 %12091, label %12092, label %12145

12092:                                            ; preds = %12087
  br label %12093

12093:                                            ; preds = %12092
  br label %12094

12094:                                            ; preds = %12093
  call void @llvm.lifetime.start.p0(i64 4, ptr %256) #9
  %12095 = call ptr @__errno_location() #10
  %12096 = load i32, ptr %12095, align 4, !tbaa !5
  store i32 %12096, ptr %256, align 4, !tbaa !5
  %12097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12098 = call i32 @s2n_print_stacktrace(ptr noundef %12097)
  %12099 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12100 = trunc i8 %12099 to i1
  br i1 %12100, label %12101, label %12123

12101:                                            ; preds = %12094
  %12102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12103 = call i32 @fileno(ptr noundef %12102) #9
  %12104 = call i32 @isatty(i32 noundef %12103) #9
  %12105 = icmp ne i32 %12104, 0
  br i1 %12105, label %12106, label %12123

12106:                                            ; preds = %12101
  %12107 = load i32, ptr %256, align 4, !tbaa !5
  %12108 = call ptr @__errno_location() #10
  store i32 %12107, ptr %12108, align 4, !tbaa !5
  %12109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12110 = load i32, ptr @test_count, align 4, !tbaa !5
  %12111 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12112 = load i32, ptr %12111, align 4, !tbaa !5
  %12113 = call ptr @s2n_strerror(i32 noundef %12112, ptr noundef @.str.4)
  %12114 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12115 = load i32, ptr %12114, align 4, !tbaa !5
  %12116 = call ptr @s2n_strerror_debug(i32 noundef %12115, ptr noundef @.str.4)
  %12117 = call ptr @__errno_location() #10
  %12118 = load i32, ptr %12117, align 4, !tbaa !5
  %12119 = call ptr @strerror(i32 noundef %12118) #9
  %12120 = call ptr @__errno_location() #10
  %12121 = load i32, ptr %12120, align 4, !tbaa !5
  %12122 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12109, ptr noundef @.str.2, i32 noundef %12110, ptr noundef @.str.119, ptr noundef @.str.1, i32 noundef 386, ptr noundef %12113, ptr noundef %12116, ptr noundef %12119, i32 noundef %12121) #9
  br label %12140

12123:                                            ; preds = %12101, %12094
  %12124 = load i32, ptr %256, align 4, !tbaa !5
  %12125 = call ptr @__errno_location() #10
  store i32 %12124, ptr %12125, align 4, !tbaa !5
  %12126 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12127 = load i32, ptr @test_count, align 4, !tbaa !5
  %12128 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12129 = load i32, ptr %12128, align 4, !tbaa !5
  %12130 = call ptr @s2n_strerror(i32 noundef %12129, ptr noundef @.str.4)
  %12131 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12132 = load i32, ptr %12131, align 4, !tbaa !5
  %12133 = call ptr @s2n_strerror_debug(i32 noundef %12132, ptr noundef @.str.4)
  %12134 = call ptr @__errno_location() #10
  %12135 = load i32, ptr %12134, align 4, !tbaa !5
  %12136 = call ptr @strerror(i32 noundef %12135) #9
  %12137 = call ptr @__errno_location() #10
  %12138 = load i32, ptr %12137, align 4, !tbaa !5
  %12139 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12126, ptr noundef @.str.5, i32 noundef %12127, ptr noundef @.str.119, ptr noundef @.str.1, i32 noundef 386, ptr noundef %12130, ptr noundef %12133, ptr noundef %12136, i32 noundef %12138) #9
  br label %12140

12140:                                            ; preds = %12123, %12106
  call void @llvm.lifetime.end.p0(i64 4, ptr %256) #9
  br label %12141

12141:                                            ; preds = %12140
  br label %12142

12142:                                            ; preds = %12141
  call void @exit(i32 noundef 1) #11
  unreachable

12143:                                            ; No predecessors!
  br label %12144

12144:                                            ; preds = %12143
  br label %12145

12145:                                            ; preds = %12144, %12087
  br label %12146

12146:                                            ; preds = %12145
  br label %12147

12147:                                            ; preds = %12146
  br label %12148

12148:                                            ; preds = %12147
  %12149 = load i32, ptr @test_count, align 4, !tbaa !5
  %12150 = add nsw i32 %12149, 1
  store i32 %12150, ptr @test_count, align 4, !tbaa !5
  %12151 = load i32, ptr %255, align 4, !tbaa !5
  %12152 = icmp eq i32 %12151, -1
  br i1 %12152, label %12206, label %12153

12153:                                            ; preds = %12148
  br label %12154

12154:                                            ; preds = %12153
  br label %12155

12155:                                            ; preds = %12154
  call void @llvm.lifetime.start.p0(i64 4, ptr %257) #9
  %12156 = call ptr @__errno_location() #10
  %12157 = load i32, ptr %12156, align 4, !tbaa !5
  store i32 %12157, ptr %257, align 4, !tbaa !5
  %12158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12159 = call i32 @s2n_print_stacktrace(ptr noundef %12158)
  %12160 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12161 = trunc i8 %12160 to i1
  br i1 %12161, label %12162, label %12184

12162:                                            ; preds = %12155
  %12163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12164 = call i32 @fileno(ptr noundef %12163) #9
  %12165 = call i32 @isatty(i32 noundef %12164) #9
  %12166 = icmp ne i32 %12165, 0
  br i1 %12166, label %12167, label %12184

12167:                                            ; preds = %12162
  %12168 = load i32, ptr %257, align 4, !tbaa !5
  %12169 = call ptr @__errno_location() #10
  store i32 %12168, ptr %12169, align 4, !tbaa !5
  %12170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12171 = load i32, ptr @test_count, align 4, !tbaa !5
  %12172 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12173 = load i32, ptr %12172, align 4, !tbaa !5
  %12174 = call ptr @s2n_strerror(i32 noundef %12173, ptr noundef @.str.4)
  %12175 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12176 = load i32, ptr %12175, align 4, !tbaa !5
  %12177 = call ptr @s2n_strerror_debug(i32 noundef %12176, ptr noundef @.str.4)
  %12178 = call ptr @__errno_location() #10
  %12179 = load i32, ptr %12178, align 4, !tbaa !5
  %12180 = call ptr @strerror(i32 noundef %12179) #9
  %12181 = call ptr @__errno_location() #10
  %12182 = load i32, ptr %12181, align 4, !tbaa !5
  %12183 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12170, ptr noundef @.str.2, i32 noundef %12171, ptr noundef @.str.114, ptr noundef @.str.1, i32 noundef 386, ptr noundef %12174, ptr noundef %12177, ptr noundef %12180, i32 noundef %12182) #9
  br label %12201

12184:                                            ; preds = %12162, %12155
  %12185 = load i32, ptr %257, align 4, !tbaa !5
  %12186 = call ptr @__errno_location() #10
  store i32 %12185, ptr %12186, align 4, !tbaa !5
  %12187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12188 = load i32, ptr @test_count, align 4, !tbaa !5
  %12189 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12190 = load i32, ptr %12189, align 4, !tbaa !5
  %12191 = call ptr @s2n_strerror(i32 noundef %12190, ptr noundef @.str.4)
  %12192 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12193 = load i32, ptr %12192, align 4, !tbaa !5
  %12194 = call ptr @s2n_strerror_debug(i32 noundef %12193, ptr noundef @.str.4)
  %12195 = call ptr @__errno_location() #10
  %12196 = load i32, ptr %12195, align 4, !tbaa !5
  %12197 = call ptr @strerror(i32 noundef %12196) #9
  %12198 = call ptr @__errno_location() #10
  %12199 = load i32, ptr %12198, align 4, !tbaa !5
  %12200 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12187, ptr noundef @.str.5, i32 noundef %12188, ptr noundef @.str.114, ptr noundef @.str.1, i32 noundef 386, ptr noundef %12191, ptr noundef %12194, ptr noundef %12197, i32 noundef %12199) #9
  br label %12201

12201:                                            ; preds = %12184, %12167
  call void @llvm.lifetime.end.p0(i64 4, ptr %257) #9
  br label %12202

12202:                                            ; preds = %12201
  br label %12203

12203:                                            ; preds = %12202
  call void @exit(i32 noundef 1) #11
  unreachable

12204:                                            ; No predecessors!
  br label %12205

12205:                                            ; preds = %12204
  br label %12206

12206:                                            ; preds = %12205, %12148
  br label %12207

12207:                                            ; preds = %12206
  br label %12208

12208:                                            ; preds = %12207
  call void @llvm.lifetime.end.p0(i64 4, ptr %255) #9
  br label %12209

12209:                                            ; preds = %12208
  br label %12210

12210:                                            ; preds = %12209
  br label %12211

12211:                                            ; preds = %12210
  br label %12212

12212:                                            ; preds = %12211
  br label %12213

12213:                                            ; preds = %12212
  br label %12214

12214:                                            ; preds = %12213
  call void @llvm.lifetime.start.p0(i64 4, ptr %258) #9
  br label %12215

12215:                                            ; preds = %12214
  %12216 = load i32, ptr @test_count, align 4, !tbaa !5
  %12217 = add nsw i32 %12216, 1
  store i32 %12217, ptr @test_count, align 4, !tbaa !5
  %12218 = call i32 @s2n_add_overflow(i32 noundef 100, i32 noundef -103, ptr noundef %258)
  %12219 = icmp eq i32 %12218, -1
  br i1 %12219, label %12220, label %12273

12220:                                            ; preds = %12215
  br label %12221

12221:                                            ; preds = %12220
  br label %12222

12222:                                            ; preds = %12221
  call void @llvm.lifetime.start.p0(i64 4, ptr %259) #9
  %12223 = call ptr @__errno_location() #10
  %12224 = load i32, ptr %12223, align 4, !tbaa !5
  store i32 %12224, ptr %259, align 4, !tbaa !5
  %12225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12226 = call i32 @s2n_print_stacktrace(ptr noundef %12225)
  %12227 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12228 = trunc i8 %12227 to i1
  br i1 %12228, label %12229, label %12251

12229:                                            ; preds = %12222
  %12230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12231 = call i32 @fileno(ptr noundef %12230) #9
  %12232 = call i32 @isatty(i32 noundef %12231) #9
  %12233 = icmp ne i32 %12232, 0
  br i1 %12233, label %12234, label %12251

12234:                                            ; preds = %12229
  %12235 = load i32, ptr %259, align 4, !tbaa !5
  %12236 = call ptr @__errno_location() #10
  store i32 %12235, ptr %12236, align 4, !tbaa !5
  %12237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12238 = load i32, ptr @test_count, align 4, !tbaa !5
  %12239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12240 = load i32, ptr %12239, align 4, !tbaa !5
  %12241 = call ptr @s2n_strerror(i32 noundef %12240, ptr noundef @.str.4)
  %12242 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12243 = load i32, ptr %12242, align 4, !tbaa !5
  %12244 = call ptr @s2n_strerror_debug(i32 noundef %12243, ptr noundef @.str.4)
  %12245 = call ptr @__errno_location() #10
  %12246 = load i32, ptr %12245, align 4, !tbaa !5
  %12247 = call ptr @strerror(i32 noundef %12246) #9
  %12248 = call ptr @__errno_location() #10
  %12249 = load i32, ptr %12248, align 4, !tbaa !5
  %12250 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12237, ptr noundef @.str.2, i32 noundef %12238, ptr noundef @.str.120, ptr noundef @.str.1, i32 noundef 387, ptr noundef %12241, ptr noundef %12244, ptr noundef %12247, i32 noundef %12249) #9
  br label %12268

12251:                                            ; preds = %12229, %12222
  %12252 = load i32, ptr %259, align 4, !tbaa !5
  %12253 = call ptr @__errno_location() #10
  store i32 %12252, ptr %12253, align 4, !tbaa !5
  %12254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12255 = load i32, ptr @test_count, align 4, !tbaa !5
  %12256 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12257 = load i32, ptr %12256, align 4, !tbaa !5
  %12258 = call ptr @s2n_strerror(i32 noundef %12257, ptr noundef @.str.4)
  %12259 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12260 = load i32, ptr %12259, align 4, !tbaa !5
  %12261 = call ptr @s2n_strerror_debug(i32 noundef %12260, ptr noundef @.str.4)
  %12262 = call ptr @__errno_location() #10
  %12263 = load i32, ptr %12262, align 4, !tbaa !5
  %12264 = call ptr @strerror(i32 noundef %12263) #9
  %12265 = call ptr @__errno_location() #10
  %12266 = load i32, ptr %12265, align 4, !tbaa !5
  %12267 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12254, ptr noundef @.str.5, i32 noundef %12255, ptr noundef @.str.120, ptr noundef @.str.1, i32 noundef 387, ptr noundef %12258, ptr noundef %12261, ptr noundef %12264, i32 noundef %12266) #9
  br label %12268

12268:                                            ; preds = %12251, %12234
  call void @llvm.lifetime.end.p0(i64 4, ptr %259) #9
  br label %12269

12269:                                            ; preds = %12268
  br label %12270

12270:                                            ; preds = %12269
  call void @exit(i32 noundef 1) #11
  unreachable

12271:                                            ; No predecessors!
  br label %12272

12272:                                            ; preds = %12271
  br label %12273

12273:                                            ; preds = %12272, %12215
  br label %12274

12274:                                            ; preds = %12273
  br label %12275

12275:                                            ; preds = %12274
  br label %12276

12276:                                            ; preds = %12275
  %12277 = load i32, ptr @test_count, align 4, !tbaa !5
  %12278 = add nsw i32 %12277, 1
  store i32 %12278, ptr @test_count, align 4, !tbaa !5
  %12279 = load i32, ptr %258, align 4, !tbaa !5
  %12280 = icmp eq i32 %12279, -3
  br i1 %12280, label %12334, label %12281

12281:                                            ; preds = %12276
  br label %12282

12282:                                            ; preds = %12281
  br label %12283

12283:                                            ; preds = %12282
  call void @llvm.lifetime.start.p0(i64 4, ptr %260) #9
  %12284 = call ptr @__errno_location() #10
  %12285 = load i32, ptr %12284, align 4, !tbaa !5
  store i32 %12285, ptr %260, align 4, !tbaa !5
  %12286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12287 = call i32 @s2n_print_stacktrace(ptr noundef %12286)
  %12288 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12289 = trunc i8 %12288 to i1
  br i1 %12289, label %12290, label %12312

12290:                                            ; preds = %12283
  %12291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12292 = call i32 @fileno(ptr noundef %12291) #9
  %12293 = call i32 @isatty(i32 noundef %12292) #9
  %12294 = icmp ne i32 %12293, 0
  br i1 %12294, label %12295, label %12312

12295:                                            ; preds = %12290
  %12296 = load i32, ptr %260, align 4, !tbaa !5
  %12297 = call ptr @__errno_location() #10
  store i32 %12296, ptr %12297, align 4, !tbaa !5
  %12298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12299 = load i32, ptr @test_count, align 4, !tbaa !5
  %12300 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12301 = load i32, ptr %12300, align 4, !tbaa !5
  %12302 = call ptr @s2n_strerror(i32 noundef %12301, ptr noundef @.str.4)
  %12303 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12304 = load i32, ptr %12303, align 4, !tbaa !5
  %12305 = call ptr @s2n_strerror_debug(i32 noundef %12304, ptr noundef @.str.4)
  %12306 = call ptr @__errno_location() #10
  %12307 = load i32, ptr %12306, align 4, !tbaa !5
  %12308 = call ptr @strerror(i32 noundef %12307) #9
  %12309 = call ptr @__errno_location() #10
  %12310 = load i32, ptr %12309, align 4, !tbaa !5
  %12311 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12298, ptr noundef @.str.2, i32 noundef %12299, ptr noundef @.str.121, ptr noundef @.str.1, i32 noundef 387, ptr noundef %12302, ptr noundef %12305, ptr noundef %12308, i32 noundef %12310) #9
  br label %12329

12312:                                            ; preds = %12290, %12283
  %12313 = load i32, ptr %260, align 4, !tbaa !5
  %12314 = call ptr @__errno_location() #10
  store i32 %12313, ptr %12314, align 4, !tbaa !5
  %12315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12316 = load i32, ptr @test_count, align 4, !tbaa !5
  %12317 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12318 = load i32, ptr %12317, align 4, !tbaa !5
  %12319 = call ptr @s2n_strerror(i32 noundef %12318, ptr noundef @.str.4)
  %12320 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12321 = load i32, ptr %12320, align 4, !tbaa !5
  %12322 = call ptr @s2n_strerror_debug(i32 noundef %12321, ptr noundef @.str.4)
  %12323 = call ptr @__errno_location() #10
  %12324 = load i32, ptr %12323, align 4, !tbaa !5
  %12325 = call ptr @strerror(i32 noundef %12324) #9
  %12326 = call ptr @__errno_location() #10
  %12327 = load i32, ptr %12326, align 4, !tbaa !5
  %12328 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12315, ptr noundef @.str.5, i32 noundef %12316, ptr noundef @.str.121, ptr noundef @.str.1, i32 noundef 387, ptr noundef %12319, ptr noundef %12322, ptr noundef %12325, i32 noundef %12327) #9
  br label %12329

12329:                                            ; preds = %12312, %12295
  call void @llvm.lifetime.end.p0(i64 4, ptr %260) #9
  br label %12330

12330:                                            ; preds = %12329
  br label %12331

12331:                                            ; preds = %12330
  call void @exit(i32 noundef 1) #11
  unreachable

12332:                                            ; No predecessors!
  br label %12333

12333:                                            ; preds = %12332
  br label %12334

12334:                                            ; preds = %12333, %12276
  br label %12335

12335:                                            ; preds = %12334
  br label %12336

12336:                                            ; preds = %12335
  call void @llvm.lifetime.end.p0(i64 4, ptr %258) #9
  br label %12337

12337:                                            ; preds = %12336
  br label %12338

12338:                                            ; preds = %12337
  br label %12339

12339:                                            ; preds = %12338
  call void @llvm.lifetime.start.p0(i64 4, ptr %261) #9
  br label %12340

12340:                                            ; preds = %12339
  %12341 = load i32, ptr @test_count, align 4, !tbaa !5
  %12342 = add nsw i32 %12341, 1
  store i32 %12342, ptr @test_count, align 4, !tbaa !5
  %12343 = call i32 @s2n_add_overflow(i32 noundef -103, i32 noundef 100, ptr noundef %261)
  %12344 = icmp eq i32 %12343, -1
  br i1 %12344, label %12345, label %12398

12345:                                            ; preds = %12340
  br label %12346

12346:                                            ; preds = %12345
  br label %12347

12347:                                            ; preds = %12346
  call void @llvm.lifetime.start.p0(i64 4, ptr %262) #9
  %12348 = call ptr @__errno_location() #10
  %12349 = load i32, ptr %12348, align 4, !tbaa !5
  store i32 %12349, ptr %262, align 4, !tbaa !5
  %12350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12351 = call i32 @s2n_print_stacktrace(ptr noundef %12350)
  %12352 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12353 = trunc i8 %12352 to i1
  br i1 %12353, label %12354, label %12376

12354:                                            ; preds = %12347
  %12355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12356 = call i32 @fileno(ptr noundef %12355) #9
  %12357 = call i32 @isatty(i32 noundef %12356) #9
  %12358 = icmp ne i32 %12357, 0
  br i1 %12358, label %12359, label %12376

12359:                                            ; preds = %12354
  %12360 = load i32, ptr %262, align 4, !tbaa !5
  %12361 = call ptr @__errno_location() #10
  store i32 %12360, ptr %12361, align 4, !tbaa !5
  %12362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12363 = load i32, ptr @test_count, align 4, !tbaa !5
  %12364 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12365 = load i32, ptr %12364, align 4, !tbaa !5
  %12366 = call ptr @s2n_strerror(i32 noundef %12365, ptr noundef @.str.4)
  %12367 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12368 = load i32, ptr %12367, align 4, !tbaa !5
  %12369 = call ptr @s2n_strerror_debug(i32 noundef %12368, ptr noundef @.str.4)
  %12370 = call ptr @__errno_location() #10
  %12371 = load i32, ptr %12370, align 4, !tbaa !5
  %12372 = call ptr @strerror(i32 noundef %12371) #9
  %12373 = call ptr @__errno_location() #10
  %12374 = load i32, ptr %12373, align 4, !tbaa !5
  %12375 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12362, ptr noundef @.str.2, i32 noundef %12363, ptr noundef @.str.122, ptr noundef @.str.1, i32 noundef 387, ptr noundef %12366, ptr noundef %12369, ptr noundef %12372, i32 noundef %12374) #9
  br label %12393

12376:                                            ; preds = %12354, %12347
  %12377 = load i32, ptr %262, align 4, !tbaa !5
  %12378 = call ptr @__errno_location() #10
  store i32 %12377, ptr %12378, align 4, !tbaa !5
  %12379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12380 = load i32, ptr @test_count, align 4, !tbaa !5
  %12381 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12382 = load i32, ptr %12381, align 4, !tbaa !5
  %12383 = call ptr @s2n_strerror(i32 noundef %12382, ptr noundef @.str.4)
  %12384 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12385 = load i32, ptr %12384, align 4, !tbaa !5
  %12386 = call ptr @s2n_strerror_debug(i32 noundef %12385, ptr noundef @.str.4)
  %12387 = call ptr @__errno_location() #10
  %12388 = load i32, ptr %12387, align 4, !tbaa !5
  %12389 = call ptr @strerror(i32 noundef %12388) #9
  %12390 = call ptr @__errno_location() #10
  %12391 = load i32, ptr %12390, align 4, !tbaa !5
  %12392 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12379, ptr noundef @.str.5, i32 noundef %12380, ptr noundef @.str.122, ptr noundef @.str.1, i32 noundef 387, ptr noundef %12383, ptr noundef %12386, ptr noundef %12389, i32 noundef %12391) #9
  br label %12393

12393:                                            ; preds = %12376, %12359
  call void @llvm.lifetime.end.p0(i64 4, ptr %262) #9
  br label %12394

12394:                                            ; preds = %12393
  br label %12395

12395:                                            ; preds = %12394
  call void @exit(i32 noundef 1) #11
  unreachable

12396:                                            ; No predecessors!
  br label %12397

12397:                                            ; preds = %12396
  br label %12398

12398:                                            ; preds = %12397, %12340
  br label %12399

12399:                                            ; preds = %12398
  br label %12400

12400:                                            ; preds = %12399
  br label %12401

12401:                                            ; preds = %12400
  %12402 = load i32, ptr @test_count, align 4, !tbaa !5
  %12403 = add nsw i32 %12402, 1
  store i32 %12403, ptr @test_count, align 4, !tbaa !5
  %12404 = load i32, ptr %261, align 4, !tbaa !5
  %12405 = icmp eq i32 %12404, -3
  br i1 %12405, label %12459, label %12406

12406:                                            ; preds = %12401
  br label %12407

12407:                                            ; preds = %12406
  br label %12408

12408:                                            ; preds = %12407
  call void @llvm.lifetime.start.p0(i64 4, ptr %263) #9
  %12409 = call ptr @__errno_location() #10
  %12410 = load i32, ptr %12409, align 4, !tbaa !5
  store i32 %12410, ptr %263, align 4, !tbaa !5
  %12411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12412 = call i32 @s2n_print_stacktrace(ptr noundef %12411)
  %12413 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12414 = trunc i8 %12413 to i1
  br i1 %12414, label %12415, label %12437

12415:                                            ; preds = %12408
  %12416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12417 = call i32 @fileno(ptr noundef %12416) #9
  %12418 = call i32 @isatty(i32 noundef %12417) #9
  %12419 = icmp ne i32 %12418, 0
  br i1 %12419, label %12420, label %12437

12420:                                            ; preds = %12415
  %12421 = load i32, ptr %263, align 4, !tbaa !5
  %12422 = call ptr @__errno_location() #10
  store i32 %12421, ptr %12422, align 4, !tbaa !5
  %12423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12424 = load i32, ptr @test_count, align 4, !tbaa !5
  %12425 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12426 = load i32, ptr %12425, align 4, !tbaa !5
  %12427 = call ptr @s2n_strerror(i32 noundef %12426, ptr noundef @.str.4)
  %12428 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12429 = load i32, ptr %12428, align 4, !tbaa !5
  %12430 = call ptr @s2n_strerror_debug(i32 noundef %12429, ptr noundef @.str.4)
  %12431 = call ptr @__errno_location() #10
  %12432 = load i32, ptr %12431, align 4, !tbaa !5
  %12433 = call ptr @strerror(i32 noundef %12432) #9
  %12434 = call ptr @__errno_location() #10
  %12435 = load i32, ptr %12434, align 4, !tbaa !5
  %12436 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12423, ptr noundef @.str.2, i32 noundef %12424, ptr noundef @.str.121, ptr noundef @.str.1, i32 noundef 387, ptr noundef %12427, ptr noundef %12430, ptr noundef %12433, i32 noundef %12435) #9
  br label %12454

12437:                                            ; preds = %12415, %12408
  %12438 = load i32, ptr %263, align 4, !tbaa !5
  %12439 = call ptr @__errno_location() #10
  store i32 %12438, ptr %12439, align 4, !tbaa !5
  %12440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12441 = load i32, ptr @test_count, align 4, !tbaa !5
  %12442 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12443 = load i32, ptr %12442, align 4, !tbaa !5
  %12444 = call ptr @s2n_strerror(i32 noundef %12443, ptr noundef @.str.4)
  %12445 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12446 = load i32, ptr %12445, align 4, !tbaa !5
  %12447 = call ptr @s2n_strerror_debug(i32 noundef %12446, ptr noundef @.str.4)
  %12448 = call ptr @__errno_location() #10
  %12449 = load i32, ptr %12448, align 4, !tbaa !5
  %12450 = call ptr @strerror(i32 noundef %12449) #9
  %12451 = call ptr @__errno_location() #10
  %12452 = load i32, ptr %12451, align 4, !tbaa !5
  %12453 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12440, ptr noundef @.str.5, i32 noundef %12441, ptr noundef @.str.121, ptr noundef @.str.1, i32 noundef 387, ptr noundef %12444, ptr noundef %12447, ptr noundef %12450, i32 noundef %12452) #9
  br label %12454

12454:                                            ; preds = %12437, %12420
  call void @llvm.lifetime.end.p0(i64 4, ptr %263) #9
  br label %12455

12455:                                            ; preds = %12454
  br label %12456

12456:                                            ; preds = %12455
  call void @exit(i32 noundef 1) #11
  unreachable

12457:                                            ; No predecessors!
  br label %12458

12458:                                            ; preds = %12457
  br label %12459

12459:                                            ; preds = %12458, %12401
  br label %12460

12460:                                            ; preds = %12459
  br label %12461

12461:                                            ; preds = %12460
  call void @llvm.lifetime.end.p0(i64 4, ptr %261) #9
  br label %12462

12462:                                            ; preds = %12461
  br label %12463

12463:                                            ; preds = %12462
  br label %12464

12464:                                            ; preds = %12463
  br label %12465

12465:                                            ; preds = %12464
  br label %12466

12466:                                            ; preds = %12465
  br label %12467

12467:                                            ; preds = %12466
  call void @llvm.lifetime.start.p0(i64 4, ptr %264) #9
  br label %12468

12468:                                            ; preds = %12467
  %12469 = load i32, ptr @test_count, align 4, !tbaa !5
  %12470 = add nsw i32 %12469, 1
  store i32 %12470, ptr @test_count, align 4, !tbaa !5
  %12471 = call i32 @s2n_add_overflow(i32 noundef 100, i32 noundef -101, ptr noundef %264)
  %12472 = icmp eq i32 %12471, -1
  br i1 %12472, label %12473, label %12526

12473:                                            ; preds = %12468
  br label %12474

12474:                                            ; preds = %12473
  br label %12475

12475:                                            ; preds = %12474
  call void @llvm.lifetime.start.p0(i64 4, ptr %265) #9
  %12476 = call ptr @__errno_location() #10
  %12477 = load i32, ptr %12476, align 4, !tbaa !5
  store i32 %12477, ptr %265, align 4, !tbaa !5
  %12478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12479 = call i32 @s2n_print_stacktrace(ptr noundef %12478)
  %12480 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12481 = trunc i8 %12480 to i1
  br i1 %12481, label %12482, label %12504

12482:                                            ; preds = %12475
  %12483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12484 = call i32 @fileno(ptr noundef %12483) #9
  %12485 = call i32 @isatty(i32 noundef %12484) #9
  %12486 = icmp ne i32 %12485, 0
  br i1 %12486, label %12487, label %12504

12487:                                            ; preds = %12482
  %12488 = load i32, ptr %265, align 4, !tbaa !5
  %12489 = call ptr @__errno_location() #10
  store i32 %12488, ptr %12489, align 4, !tbaa !5
  %12490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12491 = load i32, ptr @test_count, align 4, !tbaa !5
  %12492 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12493 = load i32, ptr %12492, align 4, !tbaa !5
  %12494 = call ptr @s2n_strerror(i32 noundef %12493, ptr noundef @.str.4)
  %12495 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12496 = load i32, ptr %12495, align 4, !tbaa !5
  %12497 = call ptr @s2n_strerror_debug(i32 noundef %12496, ptr noundef @.str.4)
  %12498 = call ptr @__errno_location() #10
  %12499 = load i32, ptr %12498, align 4, !tbaa !5
  %12500 = call ptr @strerror(i32 noundef %12499) #9
  %12501 = call ptr @__errno_location() #10
  %12502 = load i32, ptr %12501, align 4, !tbaa !5
  %12503 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12490, ptr noundef @.str.2, i32 noundef %12491, ptr noundef @.str.123, ptr noundef @.str.1, i32 noundef 388, ptr noundef %12494, ptr noundef %12497, ptr noundef %12500, i32 noundef %12502) #9
  br label %12521

12504:                                            ; preds = %12482, %12475
  %12505 = load i32, ptr %265, align 4, !tbaa !5
  %12506 = call ptr @__errno_location() #10
  store i32 %12505, ptr %12506, align 4, !tbaa !5
  %12507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12508 = load i32, ptr @test_count, align 4, !tbaa !5
  %12509 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12510 = load i32, ptr %12509, align 4, !tbaa !5
  %12511 = call ptr @s2n_strerror(i32 noundef %12510, ptr noundef @.str.4)
  %12512 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12513 = load i32, ptr %12512, align 4, !tbaa !5
  %12514 = call ptr @s2n_strerror_debug(i32 noundef %12513, ptr noundef @.str.4)
  %12515 = call ptr @__errno_location() #10
  %12516 = load i32, ptr %12515, align 4, !tbaa !5
  %12517 = call ptr @strerror(i32 noundef %12516) #9
  %12518 = call ptr @__errno_location() #10
  %12519 = load i32, ptr %12518, align 4, !tbaa !5
  %12520 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12507, ptr noundef @.str.5, i32 noundef %12508, ptr noundef @.str.123, ptr noundef @.str.1, i32 noundef 388, ptr noundef %12511, ptr noundef %12514, ptr noundef %12517, i32 noundef %12519) #9
  br label %12521

12521:                                            ; preds = %12504, %12487
  call void @llvm.lifetime.end.p0(i64 4, ptr %265) #9
  br label %12522

12522:                                            ; preds = %12521
  br label %12523

12523:                                            ; preds = %12522
  call void @exit(i32 noundef 1) #11
  unreachable

12524:                                            ; No predecessors!
  br label %12525

12525:                                            ; preds = %12524
  br label %12526

12526:                                            ; preds = %12525, %12468
  br label %12527

12527:                                            ; preds = %12526
  br label %12528

12528:                                            ; preds = %12527
  br label %12529

12529:                                            ; preds = %12528
  %12530 = load i32, ptr @test_count, align 4, !tbaa !5
  %12531 = add nsw i32 %12530, 1
  store i32 %12531, ptr @test_count, align 4, !tbaa !5
  %12532 = load i32, ptr %264, align 4, !tbaa !5
  %12533 = icmp eq i32 %12532, -1
  br i1 %12533, label %12587, label %12534

12534:                                            ; preds = %12529
  br label %12535

12535:                                            ; preds = %12534
  br label %12536

12536:                                            ; preds = %12535
  call void @llvm.lifetime.start.p0(i64 4, ptr %266) #9
  %12537 = call ptr @__errno_location() #10
  %12538 = load i32, ptr %12537, align 4, !tbaa !5
  store i32 %12538, ptr %266, align 4, !tbaa !5
  %12539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12540 = call i32 @s2n_print_stacktrace(ptr noundef %12539)
  %12541 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12542 = trunc i8 %12541 to i1
  br i1 %12542, label %12543, label %12565

12543:                                            ; preds = %12536
  %12544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12545 = call i32 @fileno(ptr noundef %12544) #9
  %12546 = call i32 @isatty(i32 noundef %12545) #9
  %12547 = icmp ne i32 %12546, 0
  br i1 %12547, label %12548, label %12565

12548:                                            ; preds = %12543
  %12549 = load i32, ptr %266, align 4, !tbaa !5
  %12550 = call ptr @__errno_location() #10
  store i32 %12549, ptr %12550, align 4, !tbaa !5
  %12551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12552 = load i32, ptr @test_count, align 4, !tbaa !5
  %12553 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12554 = load i32, ptr %12553, align 4, !tbaa !5
  %12555 = call ptr @s2n_strerror(i32 noundef %12554, ptr noundef @.str.4)
  %12556 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12557 = load i32, ptr %12556, align 4, !tbaa !5
  %12558 = call ptr @s2n_strerror_debug(i32 noundef %12557, ptr noundef @.str.4)
  %12559 = call ptr @__errno_location() #10
  %12560 = load i32, ptr %12559, align 4, !tbaa !5
  %12561 = call ptr @strerror(i32 noundef %12560) #9
  %12562 = call ptr @__errno_location() #10
  %12563 = load i32, ptr %12562, align 4, !tbaa !5
  %12564 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12551, ptr noundef @.str.2, i32 noundef %12552, ptr noundef @.str.114, ptr noundef @.str.1, i32 noundef 388, ptr noundef %12555, ptr noundef %12558, ptr noundef %12561, i32 noundef %12563) #9
  br label %12582

12565:                                            ; preds = %12543, %12536
  %12566 = load i32, ptr %266, align 4, !tbaa !5
  %12567 = call ptr @__errno_location() #10
  store i32 %12566, ptr %12567, align 4, !tbaa !5
  %12568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12569 = load i32, ptr @test_count, align 4, !tbaa !5
  %12570 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12571 = load i32, ptr %12570, align 4, !tbaa !5
  %12572 = call ptr @s2n_strerror(i32 noundef %12571, ptr noundef @.str.4)
  %12573 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12574 = load i32, ptr %12573, align 4, !tbaa !5
  %12575 = call ptr @s2n_strerror_debug(i32 noundef %12574, ptr noundef @.str.4)
  %12576 = call ptr @__errno_location() #10
  %12577 = load i32, ptr %12576, align 4, !tbaa !5
  %12578 = call ptr @strerror(i32 noundef %12577) #9
  %12579 = call ptr @__errno_location() #10
  %12580 = load i32, ptr %12579, align 4, !tbaa !5
  %12581 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12568, ptr noundef @.str.5, i32 noundef %12569, ptr noundef @.str.114, ptr noundef @.str.1, i32 noundef 388, ptr noundef %12572, ptr noundef %12575, ptr noundef %12578, i32 noundef %12580) #9
  br label %12582

12582:                                            ; preds = %12565, %12548
  call void @llvm.lifetime.end.p0(i64 4, ptr %266) #9
  br label %12583

12583:                                            ; preds = %12582
  br label %12584

12584:                                            ; preds = %12583
  call void @exit(i32 noundef 1) #11
  unreachable

12585:                                            ; No predecessors!
  br label %12586

12586:                                            ; preds = %12585
  br label %12587

12587:                                            ; preds = %12586, %12529
  br label %12588

12588:                                            ; preds = %12587
  br label %12589

12589:                                            ; preds = %12588
  call void @llvm.lifetime.end.p0(i64 4, ptr %264) #9
  br label %12590

12590:                                            ; preds = %12589
  br label %12591

12591:                                            ; preds = %12590
  br label %12592

12592:                                            ; preds = %12591
  call void @llvm.lifetime.start.p0(i64 4, ptr %267) #9
  br label %12593

12593:                                            ; preds = %12592
  %12594 = load i32, ptr @test_count, align 4, !tbaa !5
  %12595 = add nsw i32 %12594, 1
  store i32 %12595, ptr @test_count, align 4, !tbaa !5
  %12596 = call i32 @s2n_add_overflow(i32 noundef -101, i32 noundef 100, ptr noundef %267)
  %12597 = icmp eq i32 %12596, -1
  br i1 %12597, label %12598, label %12651

12598:                                            ; preds = %12593
  br label %12599

12599:                                            ; preds = %12598
  br label %12600

12600:                                            ; preds = %12599
  call void @llvm.lifetime.start.p0(i64 4, ptr %268) #9
  %12601 = call ptr @__errno_location() #10
  %12602 = load i32, ptr %12601, align 4, !tbaa !5
  store i32 %12602, ptr %268, align 4, !tbaa !5
  %12603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12604 = call i32 @s2n_print_stacktrace(ptr noundef %12603)
  %12605 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12606 = trunc i8 %12605 to i1
  br i1 %12606, label %12607, label %12629

12607:                                            ; preds = %12600
  %12608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12609 = call i32 @fileno(ptr noundef %12608) #9
  %12610 = call i32 @isatty(i32 noundef %12609) #9
  %12611 = icmp ne i32 %12610, 0
  br i1 %12611, label %12612, label %12629

12612:                                            ; preds = %12607
  %12613 = load i32, ptr %268, align 4, !tbaa !5
  %12614 = call ptr @__errno_location() #10
  store i32 %12613, ptr %12614, align 4, !tbaa !5
  %12615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12616 = load i32, 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(i32 noundef %12618, ptr noundef @.str.4)
  %12620 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12621 = load i32, ptr %12620, align 4, !tbaa !5
  %12622 = call ptr @s2n_strerror_debug(i32 noundef %12621, ptr noundef @.str.4)
  %12623 = call ptr @__errno_location() #10
  %12624 = load i32, ptr %12623, align 4, !tbaa !5
  %12625 = call ptr @strerror(i32 noundef %12624) #9
  %12626 = call ptr @__errno_location() #10
  %12627 = load i32, ptr %12626, align 4, !tbaa !5
  %12628 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12615, ptr noundef @.str.2, i32 noundef %12616, ptr noundef @.str.124, ptr noundef @.str.1, i32 noundef 388, ptr noundef %12619, ptr noundef %12622, ptr noundef %12625, i32 noundef %12627) #9
  br label %12646

12629:                                            ; preds = %12607, %12600
  %12630 = load i32, ptr %268, align 4, !tbaa !5
  %12631 = call ptr @__errno_location() #10
  store i32 %12630, ptr %12631, align 4, !tbaa !5
  %12632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12633 = load i32, ptr @test_count, align 4, !tbaa !5
  %12634 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12635 = load i32, ptr %12634, align 4, !tbaa !5
  %12636 = call ptr @s2n_strerror(i32 noundef %12635, ptr noundef @.str.4)
  %12637 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12638 = load i32, ptr %12637, align 4, !tbaa !5
  %12639 = call ptr @s2n_strerror_debug(i32 noundef %12638, ptr noundef @.str.4)
  %12640 = call ptr @__errno_location() #10
  %12641 = load i32, ptr %12640, align 4, !tbaa !5
  %12642 = call ptr @strerror(i32 noundef %12641) #9
  %12643 = call ptr @__errno_location() #10
  %12644 = load i32, ptr %12643, align 4, !tbaa !5
  %12645 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12632, ptr noundef @.str.5, i32 noundef %12633, ptr noundef @.str.124, ptr noundef @.str.1, i32 noundef 388, ptr noundef %12636, ptr noundef %12639, ptr noundef %12642, i32 noundef %12644) #9
  br label %12646

12646:                                            ; preds = %12629, %12612
  call void @llvm.lifetime.end.p0(i64 4, ptr %268) #9
  br label %12647

12647:                                            ; preds = %12646
  br label %12648

12648:                                            ; preds = %12647
  call void @exit(i32 noundef 1) #11
  unreachable

12649:                                            ; No predecessors!
  br label %12650

12650:                                            ; preds = %12649
  br label %12651

12651:                                            ; preds = %12650, %12593
  br label %12652

12652:                                            ; preds = %12651
  br label %12653

12653:                                            ; preds = %12652
  br label %12654

12654:                                            ; preds = %12653
  %12655 = load i32, ptr @test_count, align 4, !tbaa !5
  %12656 = add nsw i32 %12655, 1
  store i32 %12656, ptr @test_count, align 4, !tbaa !5
  %12657 = load i32, ptr %267, align 4, !tbaa !5
  %12658 = icmp eq i32 %12657, -1
  br i1 %12658, label %12712, label %12659

12659:                                            ; preds = %12654
  br label %12660

12660:                                            ; preds = %12659
  br label %12661

12661:                                            ; preds = %12660
  call void @llvm.lifetime.start.p0(i64 4, ptr %269) #9
  %12662 = call ptr @__errno_location() #10
  %12663 = load i32, ptr %12662, align 4, !tbaa !5
  store i32 %12663, ptr %269, align 4, !tbaa !5
  %12664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12665 = call i32 @s2n_print_stacktrace(ptr noundef %12664)
  %12666 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12667 = trunc i8 %12666 to i1
  br i1 %12667, label %12668, label %12690

12668:                                            ; preds = %12661
  %12669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12670 = call i32 @fileno(ptr noundef %12669) #9
  %12671 = call i32 @isatty(i32 noundef %12670) #9
  %12672 = icmp ne i32 %12671, 0
  br i1 %12672, label %12673, label %12690

12673:                                            ; preds = %12668
  %12674 = load i32, ptr %269, align 4, !tbaa !5
  %12675 = call ptr @__errno_location() #10
  store i32 %12674, ptr %12675, align 4, !tbaa !5
  %12676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12677 = load i32, ptr @test_count, align 4, !tbaa !5
  %12678 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12679 = load i32, ptr %12678, align 4, !tbaa !5
  %12680 = call ptr @s2n_strerror(i32 noundef %12679, ptr noundef @.str.4)
  %12681 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12682 = load i32, ptr %12681, align 4, !tbaa !5
  %12683 = call ptr @s2n_strerror_debug(i32 noundef %12682, ptr noundef @.str.4)
  %12684 = call ptr @__errno_location() #10
  %12685 = load i32, ptr %12684, align 4, !tbaa !5
  %12686 = call ptr @strerror(i32 noundef %12685) #9
  %12687 = call ptr @__errno_location() #10
  %12688 = load i32, ptr %12687, align 4, !tbaa !5
  %12689 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12676, ptr noundef @.str.2, i32 noundef %12677, ptr noundef @.str.114, ptr noundef @.str.1, i32 noundef 388, ptr noundef %12680, ptr noundef %12683, ptr noundef %12686, i32 noundef %12688) #9
  br label %12707

12690:                                            ; preds = %12668, %12661
  %12691 = load i32, ptr %269, align 4, !tbaa !5
  %12692 = call ptr @__errno_location() #10
  store i32 %12691, ptr %12692, align 4, !tbaa !5
  %12693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12694 = load i32, ptr @test_count, align 4, !tbaa !5
  %12695 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12696 = load i32, ptr %12695, align 4, !tbaa !5
  %12697 = call ptr @s2n_strerror(i32 noundef %12696, ptr noundef @.str.4)
  %12698 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12699 = load i32, ptr %12698, align 4, !tbaa !5
  %12700 = call ptr @s2n_strerror_debug(i32 noundef %12699, ptr noundef @.str.4)
  %12701 = call ptr @__errno_location() #10
  %12702 = load i32, ptr %12701, align 4, !tbaa !5
  %12703 = call ptr @strerror(i32 noundef %12702) #9
  %12704 = call ptr @__errno_location() #10
  %12705 = load i32, ptr %12704, align 4, !tbaa !5
  %12706 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12693, ptr noundef @.str.5, i32 noundef %12694, ptr noundef @.str.114, ptr noundef @.str.1, i32 noundef 388, ptr noundef %12697, ptr noundef %12700, ptr noundef %12703, i32 noundef %12705) #9
  br label %12707

12707:                                            ; preds = %12690, %12673
  call void @llvm.lifetime.end.p0(i64 4, ptr %269) #9
  br label %12708

12708:                                            ; preds = %12707
  br label %12709

12709:                                            ; preds = %12708
  call void @exit(i32 noundef 1) #11
  unreachable

12710:                                            ; No predecessors!
  br label %12711

12711:                                            ; preds = %12710
  br label %12712

12712:                                            ; preds = %12711, %12654
  br label %12713

12713:                                            ; preds = %12712
  br label %12714

12714:                                            ; preds = %12713
  call void @llvm.lifetime.end.p0(i64 4, ptr %267) #9
  br label %12715

12715:                                            ; preds = %12714
  br label %12716

12716:                                            ; preds = %12715
  br label %12717

12717:                                            ; preds = %12716
  br label %12718

12718:                                            ; preds = %12717
  br label %12719

12719:                                            ; preds = %12718
  br label %12720

12720:                                            ; preds = %12719
  call void @llvm.lifetime.start.p0(i64 4, ptr %270) #9
  br label %12721

12721:                                            ; preds = %12720
  br label %12722

12722:                                            ; preds = %12721
  %12723 = load i32, ptr @test_count, align 4, !tbaa !5
  %12724 = add nsw i32 %12723, 1
  store i32 %12724, ptr @test_count, align 4, !tbaa !5
  %12725 = call i32 @s2n_add_overflow(i32 noundef 1, i32 noundef -1, ptr noundef %270)
  %12726 = icmp eq i32 %12725, -1
  br i1 %12726, label %12780, label %12727

12727:                                            ; preds = %12722
  br label %12728

12728:                                            ; preds = %12727
  br label %12729

12729:                                            ; preds = %12728
  call void @llvm.lifetime.start.p0(i64 4, ptr %271) #9
  %12730 = call ptr @__errno_location() #10
  %12731 = load i32, ptr %12730, align 4, !tbaa !5
  store i32 %12731, ptr %271, align 4, !tbaa !5
  %12732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12733 = call i32 @s2n_print_stacktrace(ptr noundef %12732)
  %12734 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12735 = trunc i8 %12734 to i1
  br i1 %12735, label %12736, label %12758

12736:                                            ; preds = %12729
  %12737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12738 = call i32 @fileno(ptr noundef %12737) #9
  %12739 = call i32 @isatty(i32 noundef %12738) #9
  %12740 = icmp ne i32 %12739, 0
  br i1 %12740, label %12741, label %12758

12741:                                            ; preds = %12736
  %12742 = load i32, ptr %271, align 4, !tbaa !5
  %12743 = call ptr @__errno_location() #10
  store i32 %12742, ptr %12743, align 4, !tbaa !5
  %12744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12745 = load i32, ptr @test_count, align 4, !tbaa !5
  %12746 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12747 = load i32, ptr %12746, align 4, !tbaa !5
  %12748 = call ptr @s2n_strerror(i32 noundef %12747, ptr noundef @.str.4)
  %12749 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12750 = load i32, ptr %12749, align 4, !tbaa !5
  %12751 = call ptr @s2n_strerror_debug(i32 noundef %12750, ptr noundef @.str.4)
  %12752 = call ptr @__errno_location() #10
  %12753 = load i32, ptr %12752, align 4, !tbaa !5
  %12754 = call ptr @strerror(i32 noundef %12753) #9
  %12755 = call ptr @__errno_location() #10
  %12756 = load i32, ptr %12755, align 4, !tbaa !5
  %12757 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12744, ptr noundef @.str.2, i32 noundef %12745, ptr noundef @.str.125, ptr noundef @.str.1, i32 noundef 389, ptr noundef %12748, ptr noundef %12751, ptr noundef %12754, i32 noundef %12756) #9
  br label %12775

12758:                                            ; preds = %12736, %12729
  %12759 = load i32, ptr %271, align 4, !tbaa !5
  %12760 = call ptr @__errno_location() #10
  store i32 %12759, ptr %12760, align 4, !tbaa !5
  %12761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12762 = load i32, ptr @test_count, align 4, !tbaa !5
  %12763 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12764 = load i32, ptr %12763, align 4, !tbaa !5
  %12765 = call ptr @s2n_strerror(i32 noundef %12764, ptr noundef @.str.4)
  %12766 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12767 = load i32, ptr %12766, align 4, !tbaa !5
  %12768 = call ptr @s2n_strerror_debug(i32 noundef %12767, ptr noundef @.str.4)
  %12769 = call ptr @__errno_location() #10
  %12770 = load i32, ptr %12769, align 4, !tbaa !5
  %12771 = call ptr @strerror(i32 noundef %12770) #9
  %12772 = call ptr @__errno_location() #10
  %12773 = load i32, ptr %12772, align 4, !tbaa !5
  %12774 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12761, ptr noundef @.str.5, i32 noundef %12762, ptr noundef @.str.125, ptr noundef @.str.1, i32 noundef 389, ptr noundef %12765, ptr noundef %12768, ptr noundef %12771, i32 noundef %12773) #9
  br label %12775

12775:                                            ; preds = %12758, %12741
  call void @llvm.lifetime.end.p0(i64 4, ptr %271) #9
  br label %12776

12776:                                            ; preds = %12775
  br label %12777

12777:                                            ; preds = %12776
  call void @exit(i32 noundef 1) #11
  unreachable

12778:                                            ; No predecessors!
  br label %12779

12779:                                            ; preds = %12778
  br label %12780

12780:                                            ; preds = %12779, %12722
  br label %12781

12781:                                            ; preds = %12780
  br label %12782

12782:                                            ; preds = %12781
  br label %12783

12783:                                            ; preds = %12782
  %12784 = load i32, ptr @test_count, align 4, !tbaa !5
  %12785 = add nsw i32 %12784, 1
  store i32 %12785, ptr @test_count, align 4, !tbaa !5
  %12786 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12787 = load i32, ptr %12786, align 4, !tbaa !5
  %12788 = icmp eq i32 %12787, 0
  br i1 %12788, label %12789, label %12842

12789:                                            ; preds = %12783
  br label %12790

12790:                                            ; preds = %12789
  br label %12791

12791:                                            ; preds = %12790
  call void @llvm.lifetime.start.p0(i64 4, ptr %272) #9
  %12792 = call ptr @__errno_location() #10
  %12793 = load i32, ptr %12792, align 4, !tbaa !5
  store i32 %12793, ptr %272, align 4, !tbaa !5
  %12794 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12795 = call i32 @s2n_print_stacktrace(ptr noundef %12794)
  %12796 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12797 = trunc i8 %12796 to i1
  br i1 %12797, label %12798, label %12820

12798:                                            ; preds = %12791
  %12799 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12800 = call i32 @fileno(ptr noundef %12799) #9
  %12801 = call i32 @isatty(i32 noundef %12800) #9
  %12802 = icmp ne i32 %12801, 0
  br i1 %12802, label %12803, label %12820

12803:                                            ; preds = %12798
  %12804 = load i32, ptr %272, align 4, !tbaa !5
  %12805 = call ptr @__errno_location() #10
  store i32 %12804, ptr %12805, align 4, !tbaa !5
  %12806 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12807 = load i32, ptr @test_count, align 4, !tbaa !5
  %12808 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12809 = load i32, ptr %12808, align 4, !tbaa !5
  %12810 = call ptr @s2n_strerror(i32 noundef %12809, ptr noundef @.str.4)
  %12811 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12812 = load i32, ptr %12811, align 4, !tbaa !5
  %12813 = call ptr @s2n_strerror_debug(i32 noundef %12812, ptr noundef @.str.4)
  %12814 = call ptr @__errno_location() #10
  %12815 = load i32, ptr %12814, align 4, !tbaa !5
  %12816 = call ptr @strerror(i32 noundef %12815) #9
  %12817 = call ptr @__errno_location() #10
  %12818 = load i32, ptr %12817, align 4, !tbaa !5
  %12819 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12806, ptr noundef @.str.2, i32 noundef %12807, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 389, ptr noundef %12810, ptr noundef %12813, ptr noundef %12816, i32 noundef %12818) #9
  br label %12837

12820:                                            ; preds = %12798, %12791
  %12821 = load i32, ptr %272, align 4, !tbaa !5
  %12822 = call ptr @__errno_location() #10
  store i32 %12821, ptr %12822, align 4, !tbaa !5
  %12823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12824 = load i32, ptr @test_count, align 4, !tbaa !5
  %12825 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12826 = load i32, ptr %12825, align 4, !tbaa !5
  %12827 = call ptr @s2n_strerror(i32 noundef %12826, ptr noundef @.str.4)
  %12828 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12829 = load i32, ptr %12828, align 4, !tbaa !5
  %12830 = call ptr @s2n_strerror_debug(i32 noundef %12829, ptr noundef @.str.4)
  %12831 = call ptr @__errno_location() #10
  %12832 = load i32, ptr %12831, align 4, !tbaa !5
  %12833 = call ptr @strerror(i32 noundef %12832) #9
  %12834 = call ptr @__errno_location() #10
  %12835 = load i32, ptr %12834, align 4, !tbaa !5
  %12836 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12823, ptr noundef @.str.5, i32 noundef %12824, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 389, ptr noundef %12827, ptr noundef %12830, ptr noundef %12833, i32 noundef %12835) #9
  br label %12837

12837:                                            ; preds = %12820, %12803
  call void @llvm.lifetime.end.p0(i64 4, ptr %272) #9
  br label %12838

12838:                                            ; preds = %12837
  br label %12839

12839:                                            ; preds = %12838
  call void @exit(i32 noundef 1) #11
  unreachable

12840:                                            ; No predecessors!
  br label %12841

12841:                                            ; preds = %12840
  br label %12842

12842:                                            ; preds = %12841, %12783
  br label %12843

12843:                                            ; preds = %12842
  br label %12844

12844:                                            ; preds = %12843
  br label %12845

12845:                                            ; preds = %12844
  %12846 = load i32, ptr @test_count, align 4, !tbaa !5
  %12847 = add nsw i32 %12846, 1
  store i32 %12847, ptr @test_count, align 4, !tbaa !5
  %12848 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12849 = load i32, ptr %12848, align 4, !tbaa !5
  %12850 = call ptr @s2n_strerror_debug(i32 noundef %12849, ptr noundef @.str.4)
  %12851 = icmp eq ptr %12850, null
  br i1 %12851, label %12852, label %12905

12852:                                            ; preds = %12845
  br label %12853

12853:                                            ; preds = %12852
  br label %12854

12854:                                            ; preds = %12853
  call void @llvm.lifetime.start.p0(i64 4, ptr %273) #9
  %12855 = call ptr @__errno_location() #10
  %12856 = load i32, ptr %12855, align 4, !tbaa !5
  store i32 %12856, ptr %273, align 4, !tbaa !5
  %12857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12858 = call i32 @s2n_print_stacktrace(ptr noundef %12857)
  %12859 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12860 = trunc i8 %12859 to i1
  br i1 %12860, label %12861, label %12883

12861:                                            ; preds = %12854
  %12862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12863 = call i32 @fileno(ptr noundef %12862) #9
  %12864 = call i32 @isatty(i32 noundef %12863) #9
  %12865 = icmp ne i32 %12864, 0
  br i1 %12865, label %12866, label %12883

12866:                                            ; preds = %12861
  %12867 = load i32, ptr %273, align 4, !tbaa !5
  %12868 = call ptr @__errno_location() #10
  store i32 %12867, ptr %12868, align 4, !tbaa !5
  %12869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12870 = load i32, ptr @test_count, align 4, !tbaa !5
  %12871 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12872 = load i32, ptr %12871, align 4, !tbaa !5
  %12873 = call ptr @s2n_strerror(i32 noundef %12872, ptr noundef @.str.4)
  %12874 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12875 = load i32, ptr %12874, align 4, !tbaa !5
  %12876 = call ptr @s2n_strerror_debug(i32 noundef %12875, ptr noundef @.str.4)
  %12877 = call ptr @__errno_location() #10
  %12878 = load i32, ptr %12877, align 4, !tbaa !5
  %12879 = call ptr @strerror(i32 noundef %12878) #9
  %12880 = call ptr @__errno_location() #10
  %12881 = load i32, ptr %12880, align 4, !tbaa !5
  %12882 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12869, ptr noundef @.str.2, i32 noundef %12870, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 389, ptr noundef %12873, ptr noundef %12876, ptr noundef %12879, i32 noundef %12881) #9
  br label %12900

12883:                                            ; preds = %12861, %12854
  %12884 = load i32, ptr %273, align 4, !tbaa !5
  %12885 = call ptr @__errno_location() #10
  store i32 %12884, ptr %12885, align 4, !tbaa !5
  %12886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12887 = load i32, ptr @test_count, align 4, !tbaa !5
  %12888 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12889 = load i32, ptr %12888, align 4, !tbaa !5
  %12890 = call ptr @s2n_strerror(i32 noundef %12889, ptr noundef @.str.4)
  %12891 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12892 = load i32, ptr %12891, align 4, !tbaa !5
  %12893 = call ptr @s2n_strerror_debug(i32 noundef %12892, ptr noundef @.str.4)
  %12894 = call ptr @__errno_location() #10
  %12895 = load i32, ptr %12894, align 4, !tbaa !5
  %12896 = call ptr @strerror(i32 noundef %12895) #9
  %12897 = call ptr @__errno_location() #10
  %12898 = load i32, ptr %12897, align 4, !tbaa !5
  %12899 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12886, ptr noundef @.str.5, i32 noundef %12887, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 389, ptr noundef %12890, ptr noundef %12893, ptr noundef %12896, i32 noundef %12898) #9
  br label %12900

12900:                                            ; preds = %12883, %12866
  call void @llvm.lifetime.end.p0(i64 4, ptr %273) #9
  br label %12901

12901:                                            ; preds = %12900
  br label %12902

12902:                                            ; preds = %12901
  call void @exit(i32 noundef 1) #11
  unreachable

12903:                                            ; No predecessors!
  br label %12904

12904:                                            ; preds = %12903
  br label %12905

12905:                                            ; preds = %12904, %12845
  br label %12906

12906:                                            ; preds = %12905
  br label %12907

12907:                                            ; preds = %12906
  br label %12908

12908:                                            ; preds = %12907
  %12909 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %12909, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %12910 = call ptr @__errno_location() #10
  store i32 0, ptr %12910, align 4, !tbaa !5
  br label %12911

12911:                                            ; preds = %12908
  br label %12912

12912:                                            ; preds = %12911
  br label %12913

12913:                                            ; preds = %12912
  br label %12914

12914:                                            ; preds = %12913
  call void @llvm.lifetime.end.p0(i64 4, ptr %270) #9
  br label %12915

12915:                                            ; preds = %12914
  br label %12916

12916:                                            ; preds = %12915
  br label %12917

12917:                                            ; preds = %12916
  call void @llvm.lifetime.start.p0(i64 4, ptr %274) #9
  br label %12918

12918:                                            ; preds = %12917
  br label %12919

12919:                                            ; preds = %12918
  %12920 = load i32, ptr @test_count, align 4, !tbaa !5
  %12921 = add nsw i32 %12920, 1
  store i32 %12921, ptr @test_count, align 4, !tbaa !5
  %12922 = call i32 @s2n_add_overflow(i32 noundef -1, i32 noundef 1, ptr noundef %274)
  %12923 = icmp eq i32 %12922, -1
  br i1 %12923, label %12977, label %12924

12924:                                            ; preds = %12919
  br label %12925

12925:                                            ; preds = %12924
  br label %12926

12926:                                            ; preds = %12925
  call void @llvm.lifetime.start.p0(i64 4, ptr %275) #9
  %12927 = call ptr @__errno_location() #10
  %12928 = load i32, ptr %12927, align 4, !tbaa !5
  store i32 %12928, ptr %275, align 4, !tbaa !5
  %12929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12930 = call i32 @s2n_print_stacktrace(ptr noundef %12929)
  %12931 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12932 = trunc i8 %12931 to i1
  br i1 %12932, label %12933, label %12955

12933:                                            ; preds = %12926
  %12934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12935 = call i32 @fileno(ptr noundef %12934) #9
  %12936 = call i32 @isatty(i32 noundef %12935) #9
  %12937 = icmp ne i32 %12936, 0
  br i1 %12937, label %12938, label %12955

12938:                                            ; preds = %12933
  %12939 = load i32, ptr %275, align 4, !tbaa !5
  %12940 = call ptr @__errno_location() #10
  store i32 %12939, ptr %12940, align 4, !tbaa !5
  %12941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12942 = load i32, ptr @test_count, align 4, !tbaa !5
  %12943 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12944 = load i32, ptr %12943, align 4, !tbaa !5
  %12945 = call ptr @s2n_strerror(i32 noundef %12944, ptr noundef @.str.4)
  %12946 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12947 = load i32, ptr %12946, align 4, !tbaa !5
  %12948 = call ptr @s2n_strerror_debug(i32 noundef %12947, ptr noundef @.str.4)
  %12949 = call ptr @__errno_location() #10
  %12950 = load i32, ptr %12949, align 4, !tbaa !5
  %12951 = call ptr @strerror(i32 noundef %12950) #9
  %12952 = call ptr @__errno_location() #10
  %12953 = load i32, ptr %12952, align 4, !tbaa !5
  %12954 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12941, ptr noundef @.str.2, i32 noundef %12942, ptr noundef @.str.126, ptr noundef @.str.1, i32 noundef 389, ptr noundef %12945, ptr noundef %12948, ptr noundef %12951, i32 noundef %12953) #9
  br label %12972

12955:                                            ; preds = %12933, %12926
  %12956 = load i32, ptr %275, align 4, !tbaa !5
  %12957 = call ptr @__errno_location() #10
  store i32 %12956, ptr %12957, align 4, !tbaa !5
  %12958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12959 = load i32, ptr @test_count, align 4, !tbaa !5
  %12960 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12961 = load i32, ptr %12960, align 4, !tbaa !5
  %12962 = call ptr @s2n_strerror(i32 noundef %12961, ptr noundef @.str.4)
  %12963 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12964 = load i32, ptr %12963, align 4, !tbaa !5
  %12965 = call ptr @s2n_strerror_debug(i32 noundef %12964, ptr noundef @.str.4)
  %12966 = call ptr @__errno_location() #10
  %12967 = load i32, ptr %12966, align 4, !tbaa !5
  %12968 = call ptr @strerror(i32 noundef %12967) #9
  %12969 = call ptr @__errno_location() #10
  %12970 = load i32, ptr %12969, align 4, !tbaa !5
  %12971 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12958, ptr noundef @.str.5, i32 noundef %12959, ptr noundef @.str.126, ptr noundef @.str.1, i32 noundef 389, ptr noundef %12962, ptr noundef %12965, ptr noundef %12968, i32 noundef %12970) #9
  br label %12972

12972:                                            ; preds = %12955, %12938
  call void @llvm.lifetime.end.p0(i64 4, ptr %275) #9
  br label %12973

12973:                                            ; preds = %12972
  br label %12974

12974:                                            ; preds = %12973
  call void @exit(i32 noundef 1) #11
  unreachable

12975:                                            ; No predecessors!
  br label %12976

12976:                                            ; preds = %12975
  br label %12977

12977:                                            ; preds = %12976, %12919
  br label %12978

12978:                                            ; preds = %12977
  br label %12979

12979:                                            ; preds = %12978
  br label %12980

12980:                                            ; preds = %12979
  %12981 = load i32, ptr @test_count, align 4, !tbaa !5
  %12982 = add nsw i32 %12981, 1
  store i32 %12982, ptr @test_count, align 4, !tbaa !5
  %12983 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12984 = load i32, ptr %12983, align 4, !tbaa !5
  %12985 = icmp eq i32 %12984, 0
  br i1 %12985, label %12986, label %13039

12986:                                            ; preds = %12980
  br label %12987

12987:                                            ; preds = %12986
  br label %12988

12988:                                            ; preds = %12987
  call void @llvm.lifetime.start.p0(i64 4, ptr %276) #9
  %12989 = call ptr @__errno_location() #10
  %12990 = load i32, ptr %12989, align 4, !tbaa !5
  store i32 %12990, ptr %276, align 4, !tbaa !5
  %12991 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12992 = call i32 @s2n_print_stacktrace(ptr noundef %12991)
  %12993 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12994 = trunc i8 %12993 to i1
  br i1 %12994, label %12995, label %13017

12995:                                            ; preds = %12988
  %12996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12997 = call i32 @fileno(ptr noundef %12996) #9
  %12998 = call i32 @isatty(i32 noundef %12997) #9
  %12999 = icmp ne i32 %12998, 0
  br i1 %12999, label %13000, label %13017

13000:                                            ; preds = %12995
  %13001 = load i32, ptr %276, align 4, !tbaa !5
  %13002 = call ptr @__errno_location() #10
  store i32 %13001, ptr %13002, align 4, !tbaa !5
  %13003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13004 = load i32, ptr @test_count, align 4, !tbaa !5
  %13005 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13006 = load i32, ptr %13005, align 4, !tbaa !5
  %13007 = call ptr @s2n_strerror(i32 noundef %13006, ptr noundef @.str.4)
  %13008 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13009 = load i32, ptr %13008, align 4, !tbaa !5
  %13010 = call ptr @s2n_strerror_debug(i32 noundef %13009, ptr noundef @.str.4)
  %13011 = call ptr @__errno_location() #10
  %13012 = load i32, ptr %13011, align 4, !tbaa !5
  %13013 = call ptr @strerror(i32 noundef %13012) #9
  %13014 = call ptr @__errno_location() #10
  %13015 = load i32, ptr %13014, align 4, !tbaa !5
  %13016 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13003, ptr noundef @.str.2, i32 noundef %13004, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 389, ptr noundef %13007, ptr noundef %13010, ptr noundef %13013, i32 noundef %13015) #9
  br label %13034

13017:                                            ; preds = %12995, %12988
  %13018 = load i32, ptr %276, align 4, !tbaa !5
  %13019 = call ptr @__errno_location() #10
  store i32 %13018, ptr %13019, align 4, !tbaa !5
  %13020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13021 = load i32, ptr @test_count, align 4, !tbaa !5
  %13022 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13023 = load i32, ptr %13022, align 4, !tbaa !5
  %13024 = call ptr @s2n_strerror(i32 noundef %13023, ptr noundef @.str.4)
  %13025 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13026 = load i32, ptr %13025, align 4, !tbaa !5
  %13027 = call ptr @s2n_strerror_debug(i32 noundef %13026, ptr noundef @.str.4)
  %13028 = call ptr @__errno_location() #10
  %13029 = load i32, ptr %13028, align 4, !tbaa !5
  %13030 = call ptr @strerror(i32 noundef %13029) #9
  %13031 = call ptr @__errno_location() #10
  %13032 = load i32, ptr %13031, align 4, !tbaa !5
  %13033 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13020, ptr noundef @.str.5, i32 noundef %13021, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 389, ptr noundef %13024, ptr noundef %13027, ptr noundef %13030, i32 noundef %13032) #9
  br label %13034

13034:                                            ; preds = %13017, %13000
  call void @llvm.lifetime.end.p0(i64 4, ptr %276) #9
  br label %13035

13035:                                            ; preds = %13034
  br label %13036

13036:                                            ; preds = %13035
  call void @exit(i32 noundef 1) #11
  unreachable

13037:                                            ; No predecessors!
  br label %13038

13038:                                            ; preds = %13037
  br label %13039

13039:                                            ; preds = %13038, %12980
  br label %13040

13040:                                            ; preds = %13039
  br label %13041

13041:                                            ; preds = %13040
  br label %13042

13042:                                            ; preds = %13041
  %13043 = load i32, ptr @test_count, align 4, !tbaa !5
  %13044 = add nsw i32 %13043, 1
  store i32 %13044, ptr @test_count, align 4, !tbaa !5
  %13045 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13046 = load i32, ptr %13045, align 4, !tbaa !5
  %13047 = call ptr @s2n_strerror_debug(i32 noundef %13046, ptr noundef @.str.4)
  %13048 = icmp eq ptr %13047, null
  br i1 %13048, label %13049, label %13102

13049:                                            ; preds = %13042
  br label %13050

13050:                                            ; preds = %13049
  br label %13051

13051:                                            ; preds = %13050
  call void @llvm.lifetime.start.p0(i64 4, ptr %277) #9
  %13052 = call ptr @__errno_location() #10
  %13053 = load i32, ptr %13052, align 4, !tbaa !5
  store i32 %13053, ptr %277, align 4, !tbaa !5
  %13054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13055 = call i32 @s2n_print_stacktrace(ptr noundef %13054)
  %13056 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13057 = trunc i8 %13056 to i1
  br i1 %13057, label %13058, label %13080

13058:                                            ; preds = %13051
  %13059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13060 = call i32 @fileno(ptr noundef %13059) #9
  %13061 = call i32 @isatty(i32 noundef %13060) #9
  %13062 = icmp ne i32 %13061, 0
  br i1 %13062, label %13063, label %13080

13063:                                            ; preds = %13058
  %13064 = load i32, ptr %277, align 4, !tbaa !5
  %13065 = call ptr @__errno_location() #10
  store i32 %13064, ptr %13065, align 4, !tbaa !5
  %13066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13067 = load i32, ptr @test_count, align 4, !tbaa !5
  %13068 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13069 = load i32, ptr %13068, align 4, !tbaa !5
  %13070 = call ptr @s2n_strerror(i32 noundef %13069, ptr noundef @.str.4)
  %13071 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13072 = load i32, ptr %13071, align 4, !tbaa !5
  %13073 = call ptr @s2n_strerror_debug(i32 noundef %13072, ptr noundef @.str.4)
  %13074 = call ptr @__errno_location() #10
  %13075 = load i32, ptr %13074, align 4, !tbaa !5
  %13076 = call ptr @strerror(i32 noundef %13075) #9
  %13077 = call ptr @__errno_location() #10
  %13078 = load i32, ptr %13077, align 4, !tbaa !5
  %13079 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13066, ptr noundef @.str.2, i32 noundef %13067, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 389, ptr noundef %13070, ptr noundef %13073, ptr noundef %13076, i32 noundef %13078) #9
  br label %13097

13080:                                            ; preds = %13058, %13051
  %13081 = load i32, ptr %277, align 4, !tbaa !5
  %13082 = call ptr @__errno_location() #10
  store i32 %13081, ptr %13082, align 4, !tbaa !5
  %13083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13084 = load i32, ptr @test_count, align 4, !tbaa !5
  %13085 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13086 = load i32, ptr %13085, align 4, !tbaa !5
  %13087 = call ptr @s2n_strerror(i32 noundef %13086, ptr noundef @.str.4)
  %13088 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13089 = load i32, ptr %13088, align 4, !tbaa !5
  %13090 = call ptr @s2n_strerror_debug(i32 noundef %13089, ptr noundef @.str.4)
  %13091 = call ptr @__errno_location() #10
  %13092 = load i32, ptr %13091, align 4, !tbaa !5
  %13093 = call ptr @strerror(i32 noundef %13092) #9
  %13094 = call ptr @__errno_location() #10
  %13095 = load i32, ptr %13094, align 4, !tbaa !5
  %13096 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13083, ptr noundef @.str.5, i32 noundef %13084, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 389, ptr noundef %13087, ptr noundef %13090, ptr noundef %13093, i32 noundef %13095) #9
  br label %13097

13097:                                            ; preds = %13080, %13063
  call void @llvm.lifetime.end.p0(i64 4, ptr %277) #9
  br label %13098

13098:                                            ; preds = %13097
  br label %13099

13099:                                            ; preds = %13098
  call void @exit(i32 noundef 1) #11
  unreachable

13100:                                            ; No predecessors!
  br label %13101

13101:                                            ; preds = %13100
  br label %13102

13102:                                            ; preds = %13101, %13042
  br label %13103

13103:                                            ; preds = %13102
  br label %13104

13104:                                            ; preds = %13103
  br label %13105

13105:                                            ; preds = %13104
  %13106 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %13106, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %13107 = call ptr @__errno_location() #10
  store i32 0, ptr %13107, align 4, !tbaa !5
  br label %13108

13108:                                            ; preds = %13105
  br label %13109

13109:                                            ; preds = %13108
  br label %13110

13110:                                            ; preds = %13109
  br label %13111

13111:                                            ; preds = %13110
  call void @llvm.lifetime.end.p0(i64 4, ptr %274) #9
  br label %13112

13112:                                            ; preds = %13111
  br label %13113

13113:                                            ; preds = %13112
  br label %13114

13114:                                            ; preds = %13113
  br label %13115

13115:                                            ; preds = %13114
  br label %13116

13116:                                            ; preds = %13115
  br label %13117

13117:                                            ; preds = %13116
  call void @llvm.lifetime.start.p0(i64 4, ptr %278) #9
  br label %13118

13118:                                            ; preds = %13117
  br label %13119

13119:                                            ; preds = %13118
  %13120 = load i32, ptr @test_count, align 4, !tbaa !5
  %13121 = add nsw i32 %13120, 1
  store i32 %13121, ptr @test_count, align 4, !tbaa !5
  %13122 = call i32 @s2n_add_overflow(i32 noundef 100, i32 noundef -1, ptr noundef %278)
  %13123 = icmp eq i32 %13122, -1
  br i1 %13123, label %13177, label %13124

13124:                                            ; preds = %13119
  br label %13125

13125:                                            ; preds = %13124
  br label %13126

13126:                                            ; preds = %13125
  call void @llvm.lifetime.start.p0(i64 4, ptr %279) #9
  %13127 = call ptr @__errno_location() #10
  %13128 = load i32, ptr %13127, align 4, !tbaa !5
  store i32 %13128, ptr %279, align 4, !tbaa !5
  %13129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13130 = call i32 @s2n_print_stacktrace(ptr noundef %13129)
  %13131 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13132 = trunc i8 %13131 to i1
  br i1 %13132, label %13133, label %13155

13133:                                            ; preds = %13126
  %13134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13135 = call i32 @fileno(ptr noundef %13134) #9
  %13136 = call i32 @isatty(i32 noundef %13135) #9
  %13137 = icmp ne i32 %13136, 0
  br i1 %13137, label %13138, label %13155

13138:                                            ; preds = %13133
  %13139 = load i32, ptr %279, align 4, !tbaa !5
  %13140 = call ptr @__errno_location() #10
  store i32 %13139, ptr %13140, align 4, !tbaa !5
  %13141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13142 = load i32, ptr @test_count, align 4, !tbaa !5
  %13143 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13144 = load i32, ptr %13143, align 4, !tbaa !5
  %13145 = call ptr @s2n_strerror(i32 noundef %13144, ptr noundef @.str.4)
  %13146 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13147 = load i32, ptr %13146, align 4, !tbaa !5
  %13148 = call ptr @s2n_strerror_debug(i32 noundef %13147, ptr noundef @.str.4)
  %13149 = call ptr @__errno_location() #10
  %13150 = load i32, ptr %13149, align 4, !tbaa !5
  %13151 = call ptr @strerror(i32 noundef %13150) #9
  %13152 = call ptr @__errno_location() #10
  %13153 = load i32, ptr %13152, align 4, !tbaa !5
  %13154 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13141, ptr noundef @.str.2, i32 noundef %13142, ptr noundef @.str.127, ptr noundef @.str.1, i32 noundef 390, ptr noundef %13145, ptr noundef %13148, ptr noundef %13151, i32 noundef %13153) #9
  br label %13172

13155:                                            ; preds = %13133, %13126
  %13156 = load i32, ptr %279, align 4, !tbaa !5
  %13157 = call ptr @__errno_location() #10
  store i32 %13156, ptr %13157, align 4, !tbaa !5
  %13158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13159 = load i32, ptr @test_count, align 4, !tbaa !5
  %13160 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13161 = load i32, ptr %13160, align 4, !tbaa !5
  %13162 = call ptr @s2n_strerror(i32 noundef %13161, ptr noundef @.str.4)
  %13163 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13164 = load i32, ptr %13163, align 4, !tbaa !5
  %13165 = call ptr @s2n_strerror_debug(i32 noundef %13164, ptr noundef @.str.4)
  %13166 = call ptr @__errno_location() #10
  %13167 = load i32, ptr %13166, align 4, !tbaa !5
  %13168 = call ptr @strerror(i32 noundef %13167) #9
  %13169 = call ptr @__errno_location() #10
  %13170 = load i32, ptr %13169, align 4, !tbaa !5
  %13171 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13158, ptr noundef @.str.5, i32 noundef %13159, ptr noundef @.str.127, ptr noundef @.str.1, i32 noundef 390, ptr noundef %13162, ptr noundef %13165, ptr noundef %13168, i32 noundef %13170) #9
  br label %13172

13172:                                            ; preds = %13155, %13138
  call void @llvm.lifetime.end.p0(i64 4, ptr %279) #9
  br label %13173

13173:                                            ; preds = %13172
  br label %13174

13174:                                            ; preds = %13173
  call void @exit(i32 noundef 1) #11
  unreachable

13175:                                            ; No predecessors!
  br label %13176

13176:                                            ; preds = %13175
  br label %13177

13177:                                            ; preds = %13176, %13119
  br label %13178

13178:                                            ; preds = %13177
  br label %13179

13179:                                            ; preds = %13178
  br label %13180

13180:                                            ; preds = %13179
  %13181 = load i32, ptr @test_count, align 4, !tbaa !5
  %13182 = add nsw i32 %13181, 1
  store i32 %13182, ptr @test_count, align 4, !tbaa !5
  %13183 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13184 = load i32, ptr %13183, align 4, !tbaa !5
  %13185 = icmp eq i32 %13184, 0
  br i1 %13185, label %13186, label %13239

13186:                                            ; preds = %13180
  br label %13187

13187:                                            ; preds = %13186
  br label %13188

13188:                                            ; preds = %13187
  call void @llvm.lifetime.start.p0(i64 4, ptr %280) #9
  %13189 = call ptr @__errno_location() #10
  %13190 = load i32, ptr %13189, align 4, !tbaa !5
  store i32 %13190, ptr %280, align 4, !tbaa !5
  %13191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13192 = call i32 @s2n_print_stacktrace(ptr noundef %13191)
  %13193 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13194 = trunc i8 %13193 to i1
  br i1 %13194, label %13195, label %13217

13195:                                            ; preds = %13188
  %13196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13197 = call i32 @fileno(ptr noundef %13196) #9
  %13198 = call i32 @isatty(i32 noundef %13197) #9
  %13199 = icmp ne i32 %13198, 0
  br i1 %13199, label %13200, label %13217

13200:                                            ; preds = %13195
  %13201 = load i32, ptr %280, align 4, !tbaa !5
  %13202 = call ptr @__errno_location() #10
  store i32 %13201, ptr %13202, align 4, !tbaa !5
  %13203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13204 = load i32, ptr @test_count, align 4, !tbaa !5
  %13205 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13206 = load i32, ptr %13205, align 4, !tbaa !5
  %13207 = call ptr @s2n_strerror(i32 noundef %13206, ptr noundef @.str.4)
  %13208 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13209 = load i32, ptr %13208, align 4, !tbaa !5
  %13210 = call ptr @s2n_strerror_debug(i32 noundef %13209, ptr noundef @.str.4)
  %13211 = call ptr @__errno_location() #10
  %13212 = load i32, ptr %13211, align 4, !tbaa !5
  %13213 = call ptr @strerror(i32 noundef %13212) #9
  %13214 = call ptr @__errno_location() #10
  %13215 = load i32, ptr %13214, align 4, !tbaa !5
  %13216 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13203, ptr noundef @.str.2, i32 noundef %13204, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 390, ptr noundef %13207, ptr noundef %13210, ptr noundef %13213, i32 noundef %13215) #9
  br label %13234

13217:                                            ; preds = %13195, %13188
  %13218 = load i32, ptr %280, align 4, !tbaa !5
  %13219 = call ptr @__errno_location() #10
  store i32 %13218, ptr %13219, align 4, !tbaa !5
  %13220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13221 = load i32, ptr @test_count, align 4, !tbaa !5
  %13222 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13223 = load i32, ptr %13222, align 4, !tbaa !5
  %13224 = call ptr @s2n_strerror(i32 noundef %13223, ptr noundef @.str.4)
  %13225 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13226 = load i32, ptr %13225, align 4, !tbaa !5
  %13227 = call ptr @s2n_strerror_debug(i32 noundef %13226, ptr noundef @.str.4)
  %13228 = call ptr @__errno_location() #10
  %13229 = load i32, ptr %13228, align 4, !tbaa !5
  %13230 = call ptr @strerror(i32 noundef %13229) #9
  %13231 = call ptr @__errno_location() #10
  %13232 = load i32, ptr %13231, align 4, !tbaa !5
  %13233 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13220, ptr noundef @.str.5, i32 noundef %13221, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 390, ptr noundef %13224, ptr noundef %13227, ptr noundef %13230, i32 noundef %13232) #9
  br label %13234

13234:                                            ; preds = %13217, %13200
  call void @llvm.lifetime.end.p0(i64 4, ptr %280) #9
  br label %13235

13235:                                            ; preds = %13234
  br label %13236

13236:                                            ; preds = %13235
  call void @exit(i32 noundef 1) #11
  unreachable

13237:                                            ; No predecessors!
  br label %13238

13238:                                            ; preds = %13237
  br label %13239

13239:                                            ; preds = %13238, %13180
  br label %13240

13240:                                            ; preds = %13239
  br label %13241

13241:                                            ; preds = %13240
  br label %13242

13242:                                            ; preds = %13241
  %13243 = load i32, ptr @test_count, align 4, !tbaa !5
  %13244 = add nsw i32 %13243, 1
  store i32 %13244, ptr @test_count, align 4, !tbaa !5
  %13245 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13246 = load i32, ptr %13245, align 4, !tbaa !5
  %13247 = call ptr @s2n_strerror_debug(i32 noundef %13246, ptr noundef @.str.4)
  %13248 = icmp eq ptr %13247, null
  br i1 %13248, label %13249, label %13302

13249:                                            ; preds = %13242
  br label %13250

13250:                                            ; preds = %13249
  br label %13251

13251:                                            ; preds = %13250
  call void @llvm.lifetime.start.p0(i64 4, ptr %281) #9
  %13252 = call ptr @__errno_location() #10
  %13253 = load i32, ptr %13252, align 4, !tbaa !5
  store i32 %13253, ptr %281, align 4, !tbaa !5
  %13254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13255 = call i32 @s2n_print_stacktrace(ptr noundef %13254)
  %13256 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13257 = trunc i8 %13256 to i1
  br i1 %13257, label %13258, label %13280

13258:                                            ; preds = %13251
  %13259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13260 = call i32 @fileno(ptr noundef %13259) #9
  %13261 = call i32 @isatty(i32 noundef %13260) #9
  %13262 = icmp ne i32 %13261, 0
  br i1 %13262, label %13263, label %13280

13263:                                            ; preds = %13258
  %13264 = load i32, ptr %281, align 4, !tbaa !5
  %13265 = call ptr @__errno_location() #10
  store i32 %13264, ptr %13265, align 4, !tbaa !5
  %13266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13267 = load i32, ptr @test_count, align 4, !tbaa !5
  %13268 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13269 = load i32, ptr %13268, align 4, !tbaa !5
  %13270 = call ptr @s2n_strerror(i32 noundef %13269, ptr noundef @.str.4)
  %13271 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13272 = load i32, ptr %13271, align 4, !tbaa !5
  %13273 = call ptr @s2n_strerror_debug(i32 noundef %13272, ptr noundef @.str.4)
  %13274 = call ptr @__errno_location() #10
  %13275 = load i32, ptr %13274, align 4, !tbaa !5
  %13276 = call ptr @strerror(i32 noundef %13275) #9
  %13277 = call ptr @__errno_location() #10
  %13278 = load i32, ptr %13277, align 4, !tbaa !5
  %13279 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13266, ptr noundef @.str.2, i32 noundef %13267, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 390, ptr noundef %13270, ptr noundef %13273, ptr noundef %13276, i32 noundef %13278) #9
  br label %13297

13280:                                            ; preds = %13258, %13251
  %13281 = load i32, ptr %281, align 4, !tbaa !5
  %13282 = call ptr @__errno_location() #10
  store i32 %13281, ptr %13282, align 4, !tbaa !5
  %13283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13284 = load i32, ptr @test_count, align 4, !tbaa !5
  %13285 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13286 = load i32, ptr %13285, align 4, !tbaa !5
  %13287 = call ptr @s2n_strerror(i32 noundef %13286, ptr noundef @.str.4)
  %13288 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13289 = load i32, ptr %13288, align 4, !tbaa !5
  %13290 = call ptr @s2n_strerror_debug(i32 noundef %13289, ptr noundef @.str.4)
  %13291 = call ptr @__errno_location() #10
  %13292 = load i32, ptr %13291, align 4, !tbaa !5
  %13293 = call ptr @strerror(i32 noundef %13292) #9
  %13294 = call ptr @__errno_location() #10
  %13295 = load i32, ptr %13294, align 4, !tbaa !5
  %13296 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13283, ptr noundef @.str.5, i32 noundef %13284, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 390, ptr noundef %13287, ptr noundef %13290, ptr noundef %13293, i32 noundef %13295) #9
  br label %13297

13297:                                            ; preds = %13280, %13263
  call void @llvm.lifetime.end.p0(i64 4, ptr %281) #9
  br label %13298

13298:                                            ; preds = %13297
  br label %13299

13299:                                            ; preds = %13298
  call void @exit(i32 noundef 1) #11
  unreachable

13300:                                            ; No predecessors!
  br label %13301

13301:                                            ; preds = %13300
  br label %13302

13302:                                            ; preds = %13301, %13242
  br label %13303

13303:                                            ; preds = %13302
  br label %13304

13304:                                            ; preds = %13303
  br label %13305

13305:                                            ; preds = %13304
  %13306 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %13306, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %13307 = call ptr @__errno_location() #10
  store i32 0, ptr %13307, align 4, !tbaa !5
  br label %13308

13308:                                            ; preds = %13305
  br label %13309

13309:                                            ; preds = %13308
  br label %13310

13310:                                            ; preds = %13309
  br label %13311

13311:                                            ; preds = %13310
  call void @llvm.lifetime.end.p0(i64 4, ptr %278) #9
  br label %13312

13312:                                            ; preds = %13311
  br label %13313

13313:                                            ; preds = %13312
  br label %13314

13314:                                            ; preds = %13313
  call void @llvm.lifetime.start.p0(i64 4, ptr %282) #9
  br label %13315

13315:                                            ; preds = %13314
  br label %13316

13316:                                            ; preds = %13315
  %13317 = load i32, ptr @test_count, align 4, !tbaa !5
  %13318 = add nsw i32 %13317, 1
  store i32 %13318, ptr @test_count, align 4, !tbaa !5
  %13319 = call i32 @s2n_add_overflow(i32 noundef -1, i32 noundef 100, ptr noundef %282)
  %13320 = icmp eq i32 %13319, -1
  br i1 %13320, label %13374, label %13321

13321:                                            ; preds = %13316
  br label %13322

13322:                                            ; preds = %13321
  br label %13323

13323:                                            ; preds = %13322
  call void @llvm.lifetime.start.p0(i64 4, ptr %283) #9
  %13324 = call ptr @__errno_location() #10
  %13325 = load i32, ptr %13324, align 4, !tbaa !5
  store i32 %13325, ptr %283, align 4, !tbaa !5
  %13326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13327 = call i32 @s2n_print_stacktrace(ptr noundef %13326)
  %13328 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13329 = trunc i8 %13328 to i1
  br i1 %13329, label %13330, label %13352

13330:                                            ; preds = %13323
  %13331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13332 = call i32 @fileno(ptr noundef %13331) #9
  %13333 = call i32 @isatty(i32 noundef %13332) #9
  %13334 = icmp ne i32 %13333, 0
  br i1 %13334, label %13335, label %13352

13335:                                            ; preds = %13330
  %13336 = load i32, ptr %283, align 4, !tbaa !5
  %13337 = call ptr @__errno_location() #10
  store i32 %13336, ptr %13337, align 4, !tbaa !5
  %13338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13339 = load i32, ptr @test_count, align 4, !tbaa !5
  %13340 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13341 = load i32, ptr %13340, align 4, !tbaa !5
  %13342 = call ptr @s2n_strerror(i32 noundef %13341, ptr noundef @.str.4)
  %13343 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13344 = load i32, ptr %13343, align 4, !tbaa !5
  %13345 = call ptr @s2n_strerror_debug(i32 noundef %13344, ptr noundef @.str.4)
  %13346 = call ptr @__errno_location() #10
  %13347 = load i32, ptr %13346, align 4, !tbaa !5
  %13348 = call ptr @strerror(i32 noundef %13347) #9
  %13349 = call ptr @__errno_location() #10
  %13350 = load i32, ptr %13349, align 4, !tbaa !5
  %13351 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13338, ptr noundef @.str.2, i32 noundef %13339, ptr noundef @.str.128, ptr noundef @.str.1, i32 noundef 390, ptr noundef %13342, ptr noundef %13345, ptr noundef %13348, i32 noundef %13350) #9
  br label %13369

13352:                                            ; preds = %13330, %13323
  %13353 = load i32, ptr %283, align 4, !tbaa !5
  %13354 = call ptr @__errno_location() #10
  store i32 %13353, ptr %13354, align 4, !tbaa !5
  %13355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13356 = load i32, ptr @test_count, align 4, !tbaa !5
  %13357 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13358 = load i32, ptr %13357, align 4, !tbaa !5
  %13359 = call ptr @s2n_strerror(i32 noundef %13358, ptr noundef @.str.4)
  %13360 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13361 = load i32, ptr %13360, align 4, !tbaa !5
  %13362 = call ptr @s2n_strerror_debug(i32 noundef %13361, ptr noundef @.str.4)
  %13363 = call ptr @__errno_location() #10
  %13364 = load i32, ptr %13363, align 4, !tbaa !5
  %13365 = call ptr @strerror(i32 noundef %13364) #9
  %13366 = call ptr @__errno_location() #10
  %13367 = load i32, ptr %13366, align 4, !tbaa !5
  %13368 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13355, ptr noundef @.str.5, i32 noundef %13356, ptr noundef @.str.128, ptr noundef @.str.1, i32 noundef 390, ptr noundef %13359, ptr noundef %13362, ptr noundef %13365, i32 noundef %13367) #9
  br label %13369

13369:                                            ; preds = %13352, %13335
  call void @llvm.lifetime.end.p0(i64 4, ptr %283) #9
  br label %13370

13370:                                            ; preds = %13369
  br label %13371

13371:                                            ; preds = %13370
  call void @exit(i32 noundef 1) #11
  unreachable

13372:                                            ; No predecessors!
  br label %13373

13373:                                            ; preds = %13372
  br label %13374

13374:                                            ; preds = %13373, %13316
  br label %13375

13375:                                            ; preds = %13374
  br label %13376

13376:                                            ; preds = %13375
  br label %13377

13377:                                            ; preds = %13376
  %13378 = load i32, ptr @test_count, align 4, !tbaa !5
  %13379 = add nsw i32 %13378, 1
  store i32 %13379, ptr @test_count, align 4, !tbaa !5
  %13380 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13381 = load i32, ptr %13380, align 4, !tbaa !5
  %13382 = icmp eq i32 %13381, 0
  br i1 %13382, label %13383, label %13436

13383:                                            ; preds = %13377
  br label %13384

13384:                                            ; preds = %13383
  br label %13385

13385:                                            ; preds = %13384
  call void @llvm.lifetime.start.p0(i64 4, ptr %284) #9
  %13386 = call ptr @__errno_location() #10
  %13387 = load i32, ptr %13386, align 4, !tbaa !5
  store i32 %13387, ptr %284, align 4, !tbaa !5
  %13388 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13389 = call i32 @s2n_print_stacktrace(ptr noundef %13388)
  %13390 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13391 = trunc i8 %13390 to i1
  br i1 %13391, label %13392, label %13414

13392:                                            ; preds = %13385
  %13393 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13394 = call i32 @fileno(ptr noundef %13393) #9
  %13395 = call i32 @isatty(i32 noundef %13394) #9
  %13396 = icmp ne i32 %13395, 0
  br i1 %13396, label %13397, label %13414

13397:                                            ; preds = %13392
  %13398 = load i32, ptr %284, align 4, !tbaa !5
  %13399 = call ptr @__errno_location() #10
  store i32 %13398, ptr %13399, align 4, !tbaa !5
  %13400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13401 = load i32, ptr @test_count, align 4, !tbaa !5
  %13402 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13403 = load i32, ptr %13402, align 4, !tbaa !5
  %13404 = call ptr @s2n_strerror(i32 noundef %13403, ptr noundef @.str.4)
  %13405 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13406 = load i32, ptr %13405, align 4, !tbaa !5
  %13407 = call ptr @s2n_strerror_debug(i32 noundef %13406, ptr noundef @.str.4)
  %13408 = call ptr @__errno_location() #10
  %13409 = load i32, ptr %13408, align 4, !tbaa !5
  %13410 = call ptr @strerror(i32 noundef %13409) #9
  %13411 = call ptr @__errno_location() #10
  %13412 = load i32, ptr %13411, align 4, !tbaa !5
  %13413 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13400, ptr noundef @.str.2, i32 noundef %13401, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 390, ptr noundef %13404, ptr noundef %13407, ptr noundef %13410, i32 noundef %13412) #9
  br label %13431

13414:                                            ; preds = %13392, %13385
  %13415 = load i32, ptr %284, align 4, !tbaa !5
  %13416 = call ptr @__errno_location() #10
  store i32 %13415, ptr %13416, align 4, !tbaa !5
  %13417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13418 = load i32, ptr @test_count, align 4, !tbaa !5
  %13419 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13420 = load i32, ptr %13419, align 4, !tbaa !5
  %13421 = call ptr @s2n_strerror(i32 noundef %13420, ptr noundef @.str.4)
  %13422 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13423 = load i32, ptr %13422, align 4, !tbaa !5
  %13424 = call ptr @s2n_strerror_debug(i32 noundef %13423, ptr noundef @.str.4)
  %13425 = call ptr @__errno_location() #10
  %13426 = load i32, ptr %13425, align 4, !tbaa !5
  %13427 = call ptr @strerror(i32 noundef %13426) #9
  %13428 = call ptr @__errno_location() #10
  %13429 = load i32, ptr %13428, align 4, !tbaa !5
  %13430 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13417, ptr noundef @.str.5, i32 noundef %13418, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 390, ptr noundef %13421, ptr noundef %13424, ptr noundef %13427, i32 noundef %13429) #9
  br label %13431

13431:                                            ; preds = %13414, %13397
  call void @llvm.lifetime.end.p0(i64 4, ptr %284) #9
  br label %13432

13432:                                            ; preds = %13431
  br label %13433

13433:                                            ; preds = %13432
  call void @exit(i32 noundef 1) #11
  unreachable

13434:                                            ; No predecessors!
  br label %13435

13435:                                            ; preds = %13434
  br label %13436

13436:                                            ; preds = %13435, %13377
  br label %13437

13437:                                            ; preds = %13436
  br label %13438

13438:                                            ; preds = %13437
  br label %13439

13439:                                            ; preds = %13438
  %13440 = load i32, ptr @test_count, align 4, !tbaa !5
  %13441 = add nsw i32 %13440, 1
  store i32 %13441, ptr @test_count, align 4, !tbaa !5
  %13442 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13443 = load i32, ptr %13442, align 4, !tbaa !5
  %13444 = call ptr @s2n_strerror_debug(i32 noundef %13443, ptr noundef @.str.4)
  %13445 = icmp eq ptr %13444, null
  br i1 %13445, label %13446, label %13499

13446:                                            ; preds = %13439
  br label %13447

13447:                                            ; preds = %13446
  br label %13448

13448:                                            ; preds = %13447
  call void @llvm.lifetime.start.p0(i64 4, ptr %285) #9
  %13449 = call ptr @__errno_location() #10
  %13450 = load i32, ptr %13449, align 4, !tbaa !5
  store i32 %13450, ptr %285, align 4, !tbaa !5
  %13451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13452 = call i32 @s2n_print_stacktrace(ptr noundef %13451)
  %13453 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13454 = trunc i8 %13453 to i1
  br i1 %13454, label %13455, label %13477

13455:                                            ; preds = %13448
  %13456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13457 = call i32 @fileno(ptr noundef %13456) #9
  %13458 = call i32 @isatty(i32 noundef %13457) #9
  %13459 = icmp ne i32 %13458, 0
  br i1 %13459, label %13460, label %13477

13460:                                            ; preds = %13455
  %13461 = load i32, ptr %285, align 4, !tbaa !5
  %13462 = call ptr @__errno_location() #10
  store i32 %13461, ptr %13462, align 4, !tbaa !5
  %13463 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13464 = load i32, ptr @test_count, align 4, !tbaa !5
  %13465 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13466 = load i32, ptr %13465, align 4, !tbaa !5
  %13467 = call ptr @s2n_strerror(i32 noundef %13466, ptr noundef @.str.4)
  %13468 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13469 = load i32, ptr %13468, align 4, !tbaa !5
  %13470 = call ptr @s2n_strerror_debug(i32 noundef %13469, ptr noundef @.str.4)
  %13471 = call ptr @__errno_location() #10
  %13472 = load i32, ptr %13471, align 4, !tbaa !5
  %13473 = call ptr @strerror(i32 noundef %13472) #9
  %13474 = call ptr @__errno_location() #10
  %13475 = load i32, ptr %13474, align 4, !tbaa !5
  %13476 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13463, ptr noundef @.str.2, i32 noundef %13464, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 390, ptr noundef %13467, ptr noundef %13470, ptr noundef %13473, i32 noundef %13475) #9
  br label %13494

13477:                                            ; preds = %13455, %13448
  %13478 = load i32, ptr %285, align 4, !tbaa !5
  %13479 = call ptr @__errno_location() #10
  store i32 %13478, ptr %13479, align 4, !tbaa !5
  %13480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13481 = load i32, ptr @test_count, align 4, !tbaa !5
  %13482 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13483 = load i32, ptr %13482, align 4, !tbaa !5
  %13484 = call ptr @s2n_strerror(i32 noundef %13483, ptr noundef @.str.4)
  %13485 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13486 = load i32, ptr %13485, align 4, !tbaa !5
  %13487 = call ptr @s2n_strerror_debug(i32 noundef %13486, ptr noundef @.str.4)
  %13488 = call ptr @__errno_location() #10
  %13489 = load i32, ptr %13488, align 4, !tbaa !5
  %13490 = call ptr @strerror(i32 noundef %13489) #9
  %13491 = call ptr @__errno_location() #10
  %13492 = load i32, ptr %13491, align 4, !tbaa !5
  %13493 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13480, ptr noundef @.str.5, i32 noundef %13481, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 390, ptr noundef %13484, ptr noundef %13487, ptr noundef %13490, i32 noundef %13492) #9
  br label %13494

13494:                                            ; preds = %13477, %13460
  call void @llvm.lifetime.end.p0(i64 4, ptr %285) #9
  br label %13495

13495:                                            ; preds = %13494
  br label %13496

13496:                                            ; preds = %13495
  call void @exit(i32 noundef 1) #11
  unreachable

13497:                                            ; No predecessors!
  br label %13498

13498:                                            ; preds = %13497
  br label %13499

13499:                                            ; preds = %13498, %13439
  br label %13500

13500:                                            ; preds = %13499
  br label %13501

13501:                                            ; preds = %13500
  br label %13502

13502:                                            ; preds = %13501
  %13503 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %13503, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %13504 = call ptr @__errno_location() #10
  store i32 0, ptr %13504, align 4, !tbaa !5
  br label %13505

13505:                                            ; preds = %13502
  br label %13506

13506:                                            ; preds = %13505
  br label %13507

13507:                                            ; preds = %13506
  br label %13508

13508:                                            ; preds = %13507
  call void @llvm.lifetime.end.p0(i64 4, ptr %282) #9
  br label %13509

13509:                                            ; preds = %13508
  br label %13510

13510:                                            ; preds = %13509
  br label %13511

13511:                                            ; preds = %13510
  br label %13512

13512:                                            ; preds = %13511
  br label %13513

13513:                                            ; preds = %13512
  br label %13514

13514:                                            ; preds = %13513
  call void @llvm.lifetime.start.p0(i64 4, ptr %286) #9
  br label %13515

13515:                                            ; preds = %13514
  br label %13516

13516:                                            ; preds = %13515
  %13517 = load i32, ptr @test_count, align 4, !tbaa !5
  %13518 = add nsw i32 %13517, 1
  store i32 %13518, ptr @test_count, align 4, !tbaa !5
  %13519 = call i32 @s2n_add_overflow(i32 noundef 2147483647, i32 noundef -1, ptr noundef %286)
  %13520 = icmp eq i32 %13519, -1
  br i1 %13520, label %13574, label %13521

13521:                                            ; preds = %13516
  br label %13522

13522:                                            ; preds = %13521
  br label %13523

13523:                                            ; preds = %13522
  call void @llvm.lifetime.start.p0(i64 4, ptr %287) #9
  %13524 = call ptr @__errno_location() #10
  %13525 = load i32, ptr %13524, align 4, !tbaa !5
  store i32 %13525, ptr %287, align 4, !tbaa !5
  %13526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13527 = call i32 @s2n_print_stacktrace(ptr noundef %13526)
  %13528 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13529 = trunc i8 %13528 to i1
  br i1 %13529, label %13530, label %13552

13530:                                            ; preds = %13523
  %13531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13532 = call i32 @fileno(ptr noundef %13531) #9
  %13533 = call i32 @isatty(i32 noundef %13532) #9
  %13534 = icmp ne i32 %13533, 0
  br i1 %13534, label %13535, label %13552

13535:                                            ; preds = %13530
  %13536 = load i32, ptr %287, align 4, !tbaa !5
  %13537 = call ptr @__errno_location() #10
  store i32 %13536, ptr %13537, align 4, !tbaa !5
  %13538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13539 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %13541, ptr noundef @.str.4)
  %13543 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13544 = load i32, ptr %13543, align 4, !tbaa !5
  %13545 = call ptr @s2n_strerror_debug(i32 noundef %13544, ptr noundef @.str.4)
  %13546 = call ptr @__errno_location() #10
  %13547 = load i32, ptr %13546, align 4, !tbaa !5
  %13548 = call ptr @strerror(i32 noundef %13547) #9
  %13549 = call ptr @__errno_location() #10
  %13550 = load i32, ptr %13549, align 4, !tbaa !5
  %13551 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13538, ptr noundef @.str.2, i32 noundef %13539, ptr noundef @.str.129, ptr noundef @.str.1, i32 noundef 391, ptr noundef %13542, ptr noundef %13545, ptr noundef %13548, i32 noundef %13550) #9
  br label %13569

13552:                                            ; preds = %13530, %13523
  %13553 = load i32, ptr %287, align 4, !tbaa !5
  %13554 = call ptr @__errno_location() #10
  store i32 %13553, ptr %13554, align 4, !tbaa !5
  %13555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13556 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %13558, ptr noundef @.str.4)
  %13560 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13561 = load i32, ptr %13560, align 4, !tbaa !5
  %13562 = call ptr @s2n_strerror_debug(i32 noundef %13561, ptr noundef @.str.4)
  %13563 = call ptr @__errno_location() #10
  %13564 = load i32, ptr %13563, align 4, !tbaa !5
  %13565 = call ptr @strerror(i32 noundef %13564) #9
  %13566 = call ptr @__errno_location() #10
  %13567 = load i32, ptr %13566, align 4, !tbaa !5
  %13568 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13555, ptr noundef @.str.5, i32 noundef %13556, ptr noundef @.str.129, ptr noundef @.str.1, i32 noundef 391, ptr noundef %13559, ptr noundef %13562, ptr noundef %13565, i32 noundef %13567) #9
  br label %13569

13569:                                            ; preds = %13552, %13535
  call void @llvm.lifetime.end.p0(i64 4, ptr %287) #9
  br label %13570

13570:                                            ; preds = %13569
  br label %13571

13571:                                            ; preds = %13570
  call void @exit(i32 noundef 1) #11
  unreachable

13572:                                            ; No predecessors!
  br label %13573

13573:                                            ; preds = %13572
  br label %13574

13574:                                            ; preds = %13573, %13516
  br label %13575

13575:                                            ; preds = %13574
  br label %13576

13576:                                            ; preds = %13575
  br label %13577

13577:                                            ; preds = %13576
  %13578 = load i32, ptr @test_count, align 4, !tbaa !5
  %13579 = add nsw i32 %13578, 1
  store i32 %13579, ptr @test_count, align 4, !tbaa !5
  %13580 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13581 = load i32, ptr %13580, align 4, !tbaa !5
  %13582 = icmp eq i32 %13581, 0
  br i1 %13582, label %13583, label %13636

13583:                                            ; preds = %13577
  br label %13584

13584:                                            ; preds = %13583
  br label %13585

13585:                                            ; preds = %13584
  call void @llvm.lifetime.start.p0(i64 4, ptr %288) #9
  %13586 = call ptr @__errno_location() #10
  %13587 = load i32, ptr %13586, align 4, !tbaa !5
  store i32 %13587, ptr %288, align 4, !tbaa !5
  %13588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13589 = call i32 @s2n_print_stacktrace(ptr noundef %13588)
  %13590 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13591 = trunc i8 %13590 to i1
  br i1 %13591, label %13592, label %13614

13592:                                            ; preds = %13585
  %13593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13594 = call i32 @fileno(ptr noundef %13593) #9
  %13595 = call i32 @isatty(i32 noundef %13594) #9
  %13596 = icmp ne i32 %13595, 0
  br i1 %13596, label %13597, label %13614

13597:                                            ; preds = %13592
  %13598 = load i32, ptr %288, align 4, !tbaa !5
  %13599 = call ptr @__errno_location() #10
  store i32 %13598, ptr %13599, align 4, !tbaa !5
  %13600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13601 = load i32, ptr @test_count, align 4, !tbaa !5
  %13602 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13603 = load i32, ptr %13602, align 4, !tbaa !5
  %13604 = call ptr @s2n_strerror(i32 noundef %13603, ptr noundef @.str.4)
  %13605 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13606 = load i32, ptr %13605, align 4, !tbaa !5
  %13607 = call ptr @s2n_strerror_debug(i32 noundef %13606, ptr noundef @.str.4)
  %13608 = call ptr @__errno_location() #10
  %13609 = load i32, ptr %13608, align 4, !tbaa !5
  %13610 = call ptr @strerror(i32 noundef %13609) #9
  %13611 = call ptr @__errno_location() #10
  %13612 = load i32, ptr %13611, align 4, !tbaa !5
  %13613 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13600, ptr noundef @.str.2, i32 noundef %13601, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 391, ptr noundef %13604, ptr noundef %13607, ptr noundef %13610, i32 noundef %13612) #9
  br label %13631

13614:                                            ; preds = %13592, %13585
  %13615 = load i32, ptr %288, align 4, !tbaa !5
  %13616 = call ptr @__errno_location() #10
  store i32 %13615, ptr %13616, align 4, !tbaa !5
  %13617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13618 = load i32, ptr @test_count, align 4, !tbaa !5
  %13619 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13620 = load i32, ptr %13619, align 4, !tbaa !5
  %13621 = call ptr @s2n_strerror(i32 noundef %13620, ptr noundef @.str.4)
  %13622 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13623 = load i32, ptr %13622, align 4, !tbaa !5
  %13624 = call ptr @s2n_strerror_debug(i32 noundef %13623, ptr noundef @.str.4)
  %13625 = call ptr @__errno_location() #10
  %13626 = load i32, ptr %13625, align 4, !tbaa !5
  %13627 = call ptr @strerror(i32 noundef %13626) #9
  %13628 = call ptr @__errno_location() #10
  %13629 = load i32, ptr %13628, align 4, !tbaa !5
  %13630 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13617, ptr noundef @.str.5, i32 noundef %13618, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 391, ptr noundef %13621, ptr noundef %13624, ptr noundef %13627, i32 noundef %13629) #9
  br label %13631

13631:                                            ; preds = %13614, %13597
  call void @llvm.lifetime.end.p0(i64 4, ptr %288) #9
  br label %13632

13632:                                            ; preds = %13631
  br label %13633

13633:                                            ; preds = %13632
  call void @exit(i32 noundef 1) #11
  unreachable

13634:                                            ; No predecessors!
  br label %13635

13635:                                            ; preds = %13634
  br label %13636

13636:                                            ; preds = %13635, %13577
  br label %13637

13637:                                            ; preds = %13636
  br label %13638

13638:                                            ; preds = %13637
  br label %13639

13639:                                            ; preds = %13638
  %13640 = load i32, ptr @test_count, align 4, !tbaa !5
  %13641 = add nsw i32 %13640, 1
  store i32 %13641, ptr @test_count, align 4, !tbaa !5
  %13642 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13643 = load i32, ptr %13642, align 4, !tbaa !5
  %13644 = call ptr @s2n_strerror_debug(i32 noundef %13643, ptr noundef @.str.4)
  %13645 = icmp eq ptr %13644, null
  br i1 %13645, label %13646, label %13699

13646:                                            ; preds = %13639
  br label %13647

13647:                                            ; preds = %13646
  br label %13648

13648:                                            ; preds = %13647
  call void @llvm.lifetime.start.p0(i64 4, ptr %289) #9
  %13649 = call ptr @__errno_location() #10
  %13650 = load i32, ptr %13649, align 4, !tbaa !5
  store i32 %13650, ptr %289, align 4, !tbaa !5
  %13651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13652 = call i32 @s2n_print_stacktrace(ptr noundef %13651)
  %13653 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13654 = trunc i8 %13653 to i1
  br i1 %13654, label %13655, label %13677

13655:                                            ; preds = %13648
  %13656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13657 = call i32 @fileno(ptr noundef %13656) #9
  %13658 = call i32 @isatty(i32 noundef %13657) #9
  %13659 = icmp ne i32 %13658, 0
  br i1 %13659, label %13660, label %13677

13660:                                            ; preds = %13655
  %13661 = load i32, ptr %289, align 4, !tbaa !5
  %13662 = call ptr @__errno_location() #10
  store i32 %13661, ptr %13662, align 4, !tbaa !5
  %13663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13664 = load i32, ptr @test_count, align 4, !tbaa !5
  %13665 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13666 = load i32, ptr %13665, align 4, !tbaa !5
  %13667 = call ptr @s2n_strerror(i32 noundef %13666, ptr noundef @.str.4)
  %13668 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13669 = load i32, ptr %13668, align 4, !tbaa !5
  %13670 = call ptr @s2n_strerror_debug(i32 noundef %13669, ptr noundef @.str.4)
  %13671 = call ptr @__errno_location() #10
  %13672 = load i32, ptr %13671, align 4, !tbaa !5
  %13673 = call ptr @strerror(i32 noundef %13672) #9
  %13674 = call ptr @__errno_location() #10
  %13675 = load i32, ptr %13674, align 4, !tbaa !5
  %13676 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13663, ptr noundef @.str.2, i32 noundef %13664, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 391, ptr noundef %13667, ptr noundef %13670, ptr noundef %13673, i32 noundef %13675) #9
  br label %13694

13677:                                            ; preds = %13655, %13648
  %13678 = load i32, ptr %289, align 4, !tbaa !5
  %13679 = call ptr @__errno_location() #10
  store i32 %13678, ptr %13679, align 4, !tbaa !5
  %13680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13681 = load i32, ptr @test_count, align 4, !tbaa !5
  %13682 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13683 = load i32, ptr %13682, align 4, !tbaa !5
  %13684 = call ptr @s2n_strerror(i32 noundef %13683, ptr noundef @.str.4)
  %13685 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13686 = load i32, ptr %13685, align 4, !tbaa !5
  %13687 = call ptr @s2n_strerror_debug(i32 noundef %13686, ptr noundef @.str.4)
  %13688 = call ptr @__errno_location() #10
  %13689 = load i32, ptr %13688, align 4, !tbaa !5
  %13690 = call ptr @strerror(i32 noundef %13689) #9
  %13691 = call ptr @__errno_location() #10
  %13692 = load i32, ptr %13691, align 4, !tbaa !5
  %13693 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13680, ptr noundef @.str.5, i32 noundef %13681, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 391, ptr noundef %13684, ptr noundef %13687, ptr noundef %13690, i32 noundef %13692) #9
  br label %13694

13694:                                            ; preds = %13677, %13660
  call void @llvm.lifetime.end.p0(i64 4, ptr %289) #9
  br label %13695

13695:                                            ; preds = %13694
  br label %13696

13696:                                            ; preds = %13695
  call void @exit(i32 noundef 1) #11
  unreachable

13697:                                            ; No predecessors!
  br label %13698

13698:                                            ; preds = %13697
  br label %13699

13699:                                            ; preds = %13698, %13639
  br label %13700

13700:                                            ; preds = %13699
  br label %13701

13701:                                            ; preds = %13700
  br label %13702

13702:                                            ; preds = %13701
  %13703 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %13703, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %13704 = call ptr @__errno_location() #10
  store i32 0, ptr %13704, align 4, !tbaa !5
  br label %13705

13705:                                            ; preds = %13702
  br label %13706

13706:                                            ; preds = %13705
  br label %13707

13707:                                            ; preds = %13706
  br label %13708

13708:                                            ; preds = %13707
  call void @llvm.lifetime.end.p0(i64 4, ptr %286) #9
  br label %13709

13709:                                            ; preds = %13708
  br label %13710

13710:                                            ; preds = %13709
  br label %13711

13711:                                            ; preds = %13710
  call void @llvm.lifetime.start.p0(i64 4, ptr %290) #9
  br label %13712

13712:                                            ; preds = %13711
  br label %13713

13713:                                            ; preds = %13712
  %13714 = load i32, ptr @test_count, align 4, !tbaa !5
  %13715 = add nsw i32 %13714, 1
  store i32 %13715, ptr @test_count, align 4, !tbaa !5
  %13716 = call i32 @s2n_add_overflow(i32 noundef -1, i32 noundef 2147483647, ptr noundef %290)
  %13717 = icmp eq i32 %13716, -1
  br i1 %13717, label %13771, label %13718

13718:                                            ; preds = %13713
  br label %13719

13719:                                            ; preds = %13718
  br label %13720

13720:                                            ; preds = %13719
  call void @llvm.lifetime.start.p0(i64 4, ptr %291) #9
  %13721 = call ptr @__errno_location() #10
  %13722 = load i32, ptr %13721, align 4, !tbaa !5
  store i32 %13722, ptr %291, align 4, !tbaa !5
  %13723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13724 = call i32 @s2n_print_stacktrace(ptr noundef %13723)
  %13725 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13726 = trunc i8 %13725 to i1
  br i1 %13726, label %13727, label %13749

13727:                                            ; preds = %13720
  %13728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13729 = call i32 @fileno(ptr noundef %13728) #9
  %13730 = call i32 @isatty(i32 noundef %13729) #9
  %13731 = icmp ne i32 %13730, 0
  br i1 %13731, label %13732, label %13749

13732:                                            ; preds = %13727
  %13733 = load i32, ptr %291, align 4, !tbaa !5
  %13734 = call ptr @__errno_location() #10
  store i32 %13733, ptr %13734, align 4, !tbaa !5
  %13735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13736 = load i32, ptr @test_count, align 4, !tbaa !5
  %13737 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13738 = load i32, ptr %13737, align 4, !tbaa !5
  %13739 = call ptr @s2n_strerror(i32 noundef %13738, ptr noundef @.str.4)
  %13740 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13741 = load i32, ptr %13740, align 4, !tbaa !5
  %13742 = call ptr @s2n_strerror_debug(i32 noundef %13741, ptr noundef @.str.4)
  %13743 = call ptr @__errno_location() #10
  %13744 = load i32, ptr %13743, align 4, !tbaa !5
  %13745 = call ptr @strerror(i32 noundef %13744) #9
  %13746 = call ptr @__errno_location() #10
  %13747 = load i32, ptr %13746, align 4, !tbaa !5
  %13748 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13735, ptr noundef @.str.2, i32 noundef %13736, ptr noundef @.str.130, ptr noundef @.str.1, i32 noundef 391, ptr noundef %13739, ptr noundef %13742, ptr noundef %13745, i32 noundef %13747) #9
  br label %13766

13749:                                            ; preds = %13727, %13720
  %13750 = load i32, ptr %291, align 4, !tbaa !5
  %13751 = call ptr @__errno_location() #10
  store i32 %13750, ptr %13751, align 4, !tbaa !5
  %13752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13753 = load i32, ptr @test_count, align 4, !tbaa !5
  %13754 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13755 = load i32, ptr %13754, align 4, !tbaa !5
  %13756 = call ptr @s2n_strerror(i32 noundef %13755, ptr noundef @.str.4)
  %13757 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13758 = load i32, ptr %13757, align 4, !tbaa !5
  %13759 = call ptr @s2n_strerror_debug(i32 noundef %13758, ptr noundef @.str.4)
  %13760 = call ptr @__errno_location() #10
  %13761 = load i32, ptr %13760, align 4, !tbaa !5
  %13762 = call ptr @strerror(i32 noundef %13761) #9
  %13763 = call ptr @__errno_location() #10
  %13764 = load i32, ptr %13763, align 4, !tbaa !5
  %13765 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13752, ptr noundef @.str.5, i32 noundef %13753, ptr noundef @.str.130, ptr noundef @.str.1, i32 noundef 391, ptr noundef %13756, ptr noundef %13759, ptr noundef %13762, i32 noundef %13764) #9
  br label %13766

13766:                                            ; preds = %13749, %13732
  call void @llvm.lifetime.end.p0(i64 4, ptr %291) #9
  br label %13767

13767:                                            ; preds = %13766
  br label %13768

13768:                                            ; preds = %13767
  call void @exit(i32 noundef 1) #11
  unreachable

13769:                                            ; No predecessors!
  br label %13770

13770:                                            ; preds = %13769
  br label %13771

13771:                                            ; preds = %13770, %13713
  br label %13772

13772:                                            ; preds = %13771
  br label %13773

13773:                                            ; preds = %13772
  br label %13774

13774:                                            ; preds = %13773
  %13775 = load i32, ptr @test_count, align 4, !tbaa !5
  %13776 = add nsw i32 %13775, 1
  store i32 %13776, ptr @test_count, align 4, !tbaa !5
  %13777 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13778 = load i32, ptr %13777, align 4, !tbaa !5
  %13779 = icmp eq i32 %13778, 0
  br i1 %13779, label %13780, label %13833

13780:                                            ; preds = %13774
  br label %13781

13781:                                            ; preds = %13780
  br label %13782

13782:                                            ; preds = %13781
  call void @llvm.lifetime.start.p0(i64 4, ptr %292) #9
  %13783 = call ptr @__errno_location() #10
  %13784 = load i32, ptr %13783, align 4, !tbaa !5
  store i32 %13784, ptr %292, align 4, !tbaa !5
  %13785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13786 = call i32 @s2n_print_stacktrace(ptr noundef %13785)
  %13787 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13788 = trunc i8 %13787 to i1
  br i1 %13788, label %13789, label %13811

13789:                                            ; preds = %13782
  %13790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13791 = call i32 @fileno(ptr noundef %13790) #9
  %13792 = call i32 @isatty(i32 noundef %13791) #9
  %13793 = icmp ne i32 %13792, 0
  br i1 %13793, label %13794, label %13811

13794:                                            ; preds = %13789
  %13795 = load i32, ptr %292, align 4, !tbaa !5
  %13796 = call ptr @__errno_location() #10
  store i32 %13795, ptr %13796, align 4, !tbaa !5
  %13797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13798 = load i32, ptr @test_count, align 4, !tbaa !5
  %13799 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13800 = load i32, ptr %13799, align 4, !tbaa !5
  %13801 = call ptr @s2n_strerror(i32 noundef %13800, ptr noundef @.str.4)
  %13802 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13803 = load i32, ptr %13802, align 4, !tbaa !5
  %13804 = call ptr @s2n_strerror_debug(i32 noundef %13803, ptr noundef @.str.4)
  %13805 = call ptr @__errno_location() #10
  %13806 = load i32, ptr %13805, align 4, !tbaa !5
  %13807 = call ptr @strerror(i32 noundef %13806) #9
  %13808 = call ptr @__errno_location() #10
  %13809 = load i32, ptr %13808, align 4, !tbaa !5
  %13810 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13797, ptr noundef @.str.2, i32 noundef %13798, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 391, ptr noundef %13801, ptr noundef %13804, ptr noundef %13807, i32 noundef %13809) #9
  br label %13828

13811:                                            ; preds = %13789, %13782
  %13812 = load i32, ptr %292, align 4, !tbaa !5
  %13813 = call ptr @__errno_location() #10
  store i32 %13812, ptr %13813, align 4, !tbaa !5
  %13814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13815 = load i32, ptr @test_count, align 4, !tbaa !5
  %13816 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13817 = load i32, ptr %13816, align 4, !tbaa !5
  %13818 = call ptr @s2n_strerror(i32 noundef %13817, ptr noundef @.str.4)
  %13819 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13820 = load i32, ptr %13819, align 4, !tbaa !5
  %13821 = call ptr @s2n_strerror_debug(i32 noundef %13820, ptr noundef @.str.4)
  %13822 = call ptr @__errno_location() #10
  %13823 = load i32, ptr %13822, align 4, !tbaa !5
  %13824 = call ptr @strerror(i32 noundef %13823) #9
  %13825 = call ptr @__errno_location() #10
  %13826 = load i32, ptr %13825, align 4, !tbaa !5
  %13827 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13814, ptr noundef @.str.5, i32 noundef %13815, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 391, ptr noundef %13818, ptr noundef %13821, ptr noundef %13824, i32 noundef %13826) #9
  br label %13828

13828:                                            ; preds = %13811, %13794
  call void @llvm.lifetime.end.p0(i64 4, ptr %292) #9
  br label %13829

13829:                                            ; preds = %13828
  br label %13830

13830:                                            ; preds = %13829
  call void @exit(i32 noundef 1) #11
  unreachable

13831:                                            ; No predecessors!
  br label %13832

13832:                                            ; preds = %13831
  br label %13833

13833:                                            ; preds = %13832, %13774
  br label %13834

13834:                                            ; preds = %13833
  br label %13835

13835:                                            ; preds = %13834
  br label %13836

13836:                                            ; preds = %13835
  %13837 = load i32, ptr @test_count, align 4, !tbaa !5
  %13838 = add nsw i32 %13837, 1
  store i32 %13838, ptr @test_count, align 4, !tbaa !5
  %13839 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13840 = load i32, ptr %13839, align 4, !tbaa !5
  %13841 = call ptr @s2n_strerror_debug(i32 noundef %13840, ptr noundef @.str.4)
  %13842 = icmp eq ptr %13841, null
  br i1 %13842, label %13843, label %13896

13843:                                            ; preds = %13836
  br label %13844

13844:                                            ; preds = %13843
  br label %13845

13845:                                            ; preds = %13844
  call void @llvm.lifetime.start.p0(i64 4, ptr %293) #9
  %13846 = call ptr @__errno_location() #10
  %13847 = load i32, ptr %13846, align 4, !tbaa !5
  store i32 %13847, ptr %293, align 4, !tbaa !5
  %13848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13849 = call i32 @s2n_print_stacktrace(ptr noundef %13848)
  %13850 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13851 = trunc i8 %13850 to i1
  br i1 %13851, label %13852, label %13874

13852:                                            ; preds = %13845
  %13853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13854 = call i32 @fileno(ptr noundef %13853) #9
  %13855 = call i32 @isatty(i32 noundef %13854) #9
  %13856 = icmp ne i32 %13855, 0
  br i1 %13856, label %13857, label %13874

13857:                                            ; preds = %13852
  %13858 = load i32, ptr %293, align 4, !tbaa !5
  %13859 = call ptr @__errno_location() #10
  store i32 %13858, ptr %13859, align 4, !tbaa !5
  %13860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13861 = load i32, ptr @test_count, align 4, !tbaa !5
  %13862 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13863 = load i32, ptr %13862, align 4, !tbaa !5
  %13864 = call ptr @s2n_strerror(i32 noundef %13863, ptr noundef @.str.4)
  %13865 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13866 = load i32, ptr %13865, align 4, !tbaa !5
  %13867 = call ptr @s2n_strerror_debug(i32 noundef %13866, ptr noundef @.str.4)
  %13868 = call ptr @__errno_location() #10
  %13869 = load i32, ptr %13868, align 4, !tbaa !5
  %13870 = call ptr @strerror(i32 noundef %13869) #9
  %13871 = call ptr @__errno_location() #10
  %13872 = load i32, ptr %13871, align 4, !tbaa !5
  %13873 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13860, ptr noundef @.str.2, i32 noundef %13861, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 391, ptr noundef %13864, ptr noundef %13867, ptr noundef %13870, i32 noundef %13872) #9
  br label %13891

13874:                                            ; preds = %13852, %13845
  %13875 = load i32, ptr %293, align 4, !tbaa !5
  %13876 = call ptr @__errno_location() #10
  store i32 %13875, ptr %13876, align 4, !tbaa !5
  %13877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13878 = load i32, ptr @test_count, align 4, !tbaa !5
  %13879 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13880 = load i32, ptr %13879, align 4, !tbaa !5
  %13881 = call ptr @s2n_strerror(i32 noundef %13880, ptr noundef @.str.4)
  %13882 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13883 = load i32, ptr %13882, align 4, !tbaa !5
  %13884 = call ptr @s2n_strerror_debug(i32 noundef %13883, ptr noundef @.str.4)
  %13885 = call ptr @__errno_location() #10
  %13886 = load i32, ptr %13885, align 4, !tbaa !5
  %13887 = call ptr @strerror(i32 noundef %13886) #9
  %13888 = call ptr @__errno_location() #10
  %13889 = load i32, ptr %13888, align 4, !tbaa !5
  %13890 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13877, ptr noundef @.str.5, i32 noundef %13878, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 391, ptr noundef %13881, ptr noundef %13884, ptr noundef %13887, i32 noundef %13889) #9
  br label %13891

13891:                                            ; preds = %13874, %13857
  call void @llvm.lifetime.end.p0(i64 4, ptr %293) #9
  br label %13892

13892:                                            ; preds = %13891
  br label %13893

13893:                                            ; preds = %13892
  call void @exit(i32 noundef 1) #11
  unreachable

13894:                                            ; No predecessors!
  br label %13895

13895:                                            ; preds = %13894
  br label %13896

13896:                                            ; preds = %13895, %13836
  br label %13897

13897:                                            ; preds = %13896
  br label %13898

13898:                                            ; preds = %13897
  br label %13899

13899:                                            ; preds = %13898
  %13900 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %13900, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %13901 = call ptr @__errno_location() #10
  store i32 0, ptr %13901, align 4, !tbaa !5
  br label %13902

13902:                                            ; preds = %13899
  br label %13903

13903:                                            ; preds = %13902
  br label %13904

13904:                                            ; preds = %13903
  br label %13905

13905:                                            ; preds = %13904
  call void @llvm.lifetime.end.p0(i64 4, ptr %290) #9
  br label %13906

13906:                                            ; preds = %13905
  br label %13907

13907:                                            ; preds = %13906
  br label %13908

13908:                                            ; preds = %13907
  br label %13909

13909:                                            ; preds = %13908
  br label %13910

13910:                                            ; preds = %13909
  br label %13911

13911:                                            ; preds = %13910
  call void @llvm.lifetime.start.p0(i64 4, ptr %294) #9
  br label %13912

13912:                                            ; preds = %13911
  br label %13913

13913:                                            ; preds = %13912
  %13914 = load i32, ptr @test_count, align 4, !tbaa !5
  %13915 = add nsw i32 %13914, 1
  store i32 %13915, ptr @test_count, align 4, !tbaa !5
  %13916 = call i32 @s2n_add_overflow(i32 noundef -1, i32 noundef -1, ptr noundef %294)
  %13917 = icmp eq i32 %13916, -1
  br i1 %13917, label %13971, label %13918

13918:                                            ; preds = %13913
  br label %13919

13919:                                            ; preds = %13918
  br label %13920

13920:                                            ; preds = %13919
  call void @llvm.lifetime.start.p0(i64 4, ptr %295) #9
  %13921 = call ptr @__errno_location() #10
  %13922 = load i32, ptr %13921, align 4, !tbaa !5
  store i32 %13922, ptr %295, align 4, !tbaa !5
  %13923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13924 = call i32 @s2n_print_stacktrace(ptr noundef %13923)
  %13925 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13926 = trunc i8 %13925 to i1
  br i1 %13926, label %13927, label %13949

13927:                                            ; preds = %13920
  %13928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13929 = call i32 @fileno(ptr noundef %13928) #9
  %13930 = call i32 @isatty(i32 noundef %13929) #9
  %13931 = icmp ne i32 %13930, 0
  br i1 %13931, label %13932, label %13949

13932:                                            ; preds = %13927
  %13933 = load i32, ptr %295, align 4, !tbaa !5
  %13934 = call ptr @__errno_location() #10
  store i32 %13933, ptr %13934, align 4, !tbaa !5
  %13935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13936 = load i32, ptr @test_count, align 4, !tbaa !5
  %13937 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13938 = load i32, ptr %13937, align 4, !tbaa !5
  %13939 = call ptr @s2n_strerror(i32 noundef %13938, ptr noundef @.str.4)
  %13940 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13941 = load i32, ptr %13940, align 4, !tbaa !5
  %13942 = call ptr @s2n_strerror_debug(i32 noundef %13941, ptr noundef @.str.4)
  %13943 = call ptr @__errno_location() #10
  %13944 = load i32, ptr %13943, align 4, !tbaa !5
  %13945 = call ptr @strerror(i32 noundef %13944) #9
  %13946 = call ptr @__errno_location() #10
  %13947 = load i32, ptr %13946, align 4, !tbaa !5
  %13948 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13935, ptr noundef @.str.2, i32 noundef %13936, ptr noundef @.str.131, ptr noundef @.str.1, i32 noundef 392, ptr noundef %13939, ptr noundef %13942, ptr noundef %13945, i32 noundef %13947) #9
  br label %13966

13949:                                            ; preds = %13927, %13920
  %13950 = load i32, ptr %295, align 4, !tbaa !5
  %13951 = call ptr @__errno_location() #10
  store i32 %13950, ptr %13951, align 4, !tbaa !5
  %13952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13953 = load i32, ptr @test_count, align 4, !tbaa !5
  %13954 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13955 = load i32, ptr %13954, align 4, !tbaa !5
  %13956 = call ptr @s2n_strerror(i32 noundef %13955, ptr noundef @.str.4)
  %13957 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13958 = load i32, ptr %13957, align 4, !tbaa !5
  %13959 = call ptr @s2n_strerror_debug(i32 noundef %13958, ptr noundef @.str.4)
  %13960 = call ptr @__errno_location() #10
  %13961 = load i32, ptr %13960, align 4, !tbaa !5
  %13962 = call ptr @strerror(i32 noundef %13961) #9
  %13963 = call ptr @__errno_location() #10
  %13964 = load i32, ptr %13963, align 4, !tbaa !5
  %13965 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13952, ptr noundef @.str.5, i32 noundef %13953, ptr noundef @.str.131, ptr noundef @.str.1, i32 noundef 392, ptr noundef %13956, ptr noundef %13959, ptr noundef %13962, i32 noundef %13964) #9
  br label %13966

13966:                                            ; preds = %13949, %13932
  call void @llvm.lifetime.end.p0(i64 4, ptr %295) #9
  br label %13967

13967:                                            ; preds = %13966
  br label %13968

13968:                                            ; preds = %13967
  call void @exit(i32 noundef 1) #11
  unreachable

13969:                                            ; No predecessors!
  br label %13970

13970:                                            ; preds = %13969
  br label %13971

13971:                                            ; preds = %13970, %13913
  br label %13972

13972:                                            ; preds = %13971
  br label %13973

13973:                                            ; preds = %13972
  br label %13974

13974:                                            ; preds = %13973
  %13975 = load i32, ptr @test_count, align 4, !tbaa !5
  %13976 = add nsw i32 %13975, 1
  store i32 %13976, ptr @test_count, align 4, !tbaa !5
  %13977 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13978 = load i32, ptr %13977, align 4, !tbaa !5
  %13979 = icmp eq i32 %13978, 0
  br i1 %13979, label %13980, label %14033

13980:                                            ; preds = %13974
  br label %13981

13981:                                            ; preds = %13980
  br label %13982

13982:                                            ; preds = %13981
  call void @llvm.lifetime.start.p0(i64 4, ptr %296) #9
  %13983 = call ptr @__errno_location() #10
  %13984 = load i32, ptr %13983, align 4, !tbaa !5
  store i32 %13984, ptr %296, align 4, !tbaa !5
  %13985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13986 = call i32 @s2n_print_stacktrace(ptr noundef %13985)
  %13987 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13988 = trunc i8 %13987 to i1
  br i1 %13988, label %13989, label %14011

13989:                                            ; preds = %13982
  %13990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13991 = call i32 @fileno(ptr noundef %13990) #9
  %13992 = call i32 @isatty(i32 noundef %13991) #9
  %13993 = icmp ne i32 %13992, 0
  br i1 %13993, label %13994, label %14011

13994:                                            ; preds = %13989
  %13995 = load i32, ptr %296, align 4, !tbaa !5
  %13996 = call ptr @__errno_location() #10
  store i32 %13995, ptr %13996, align 4, !tbaa !5
  %13997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13998 = load i32, ptr @test_count, align 4, !tbaa !5
  %13999 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14000 = load i32, ptr %13999, align 4, !tbaa !5
  %14001 = call ptr @s2n_strerror(i32 noundef %14000, ptr noundef @.str.4)
  %14002 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14003 = load i32, ptr %14002, align 4, !tbaa !5
  %14004 = call ptr @s2n_strerror_debug(i32 noundef %14003, ptr noundef @.str.4)
  %14005 = call ptr @__errno_location() #10
  %14006 = load i32, ptr %14005, align 4, !tbaa !5
  %14007 = call ptr @strerror(i32 noundef %14006) #9
  %14008 = call ptr @__errno_location() #10
  %14009 = load i32, ptr %14008, align 4, !tbaa !5
  %14010 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13997, ptr noundef @.str.2, i32 noundef %13998, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 392, ptr noundef %14001, ptr noundef %14004, ptr noundef %14007, i32 noundef %14009) #9
  br label %14028

14011:                                            ; preds = %13989, %13982
  %14012 = load i32, ptr %296, align 4, !tbaa !5
  %14013 = call ptr @__errno_location() #10
  store i32 %14012, ptr %14013, align 4, !tbaa !5
  %14014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14015 = load i32, ptr @test_count, align 4, !tbaa !5
  %14016 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14017 = load i32, ptr %14016, align 4, !tbaa !5
  %14018 = call ptr @s2n_strerror(i32 noundef %14017, ptr noundef @.str.4)
  %14019 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14020 = load i32, ptr %14019, align 4, !tbaa !5
  %14021 = call ptr @s2n_strerror_debug(i32 noundef %14020, ptr noundef @.str.4)
  %14022 = call ptr @__errno_location() #10
  %14023 = load i32, ptr %14022, align 4, !tbaa !5
  %14024 = call ptr @strerror(i32 noundef %14023) #9
  %14025 = call ptr @__errno_location() #10
  %14026 = load i32, ptr %14025, align 4, !tbaa !5
  %14027 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14014, ptr noundef @.str.5, i32 noundef %14015, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 392, ptr noundef %14018, ptr noundef %14021, ptr noundef %14024, i32 noundef %14026) #9
  br label %14028

14028:                                            ; preds = %14011, %13994
  call void @llvm.lifetime.end.p0(i64 4, ptr %296) #9
  br label %14029

14029:                                            ; preds = %14028
  br label %14030

14030:                                            ; preds = %14029
  call void @exit(i32 noundef 1) #11
  unreachable

14031:                                            ; No predecessors!
  br label %14032

14032:                                            ; preds = %14031
  br label %14033

14033:                                            ; preds = %14032, %13974
  br label %14034

14034:                                            ; preds = %14033
  br label %14035

14035:                                            ; preds = %14034
  br label %14036

14036:                                            ; preds = %14035
  %14037 = load i32, ptr @test_count, align 4, !tbaa !5
  %14038 = add nsw i32 %14037, 1
  store i32 %14038, ptr @test_count, align 4, !tbaa !5
  %14039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14040 = load i32, ptr %14039, align 4, !tbaa !5
  %14041 = call ptr @s2n_strerror_debug(i32 noundef %14040, ptr noundef @.str.4)
  %14042 = icmp eq ptr %14041, null
  br i1 %14042, label %14043, label %14096

14043:                                            ; preds = %14036
  br label %14044

14044:                                            ; preds = %14043
  br label %14045

14045:                                            ; preds = %14044
  call void @llvm.lifetime.start.p0(i64 4, ptr %297) #9
  %14046 = call ptr @__errno_location() #10
  %14047 = load i32, ptr %14046, align 4, !tbaa !5
  store i32 %14047, ptr %297, align 4, !tbaa !5
  %14048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14049 = call i32 @s2n_print_stacktrace(ptr noundef %14048)
  %14050 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14051 = trunc i8 %14050 to i1
  br i1 %14051, label %14052, label %14074

14052:                                            ; preds = %14045
  %14053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14054 = call i32 @fileno(ptr noundef %14053) #9
  %14055 = call i32 @isatty(i32 noundef %14054) #9
  %14056 = icmp ne i32 %14055, 0
  br i1 %14056, label %14057, label %14074

14057:                                            ; preds = %14052
  %14058 = load i32, ptr %297, align 4, !tbaa !5
  %14059 = call ptr @__errno_location() #10
  store i32 %14058, ptr %14059, align 4, !tbaa !5
  %14060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14061 = load i32, ptr @test_count, align 4, !tbaa !5
  %14062 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14063 = load i32, ptr %14062, align 4, !tbaa !5
  %14064 = call ptr @s2n_strerror(i32 noundef %14063, ptr noundef @.str.4)
  %14065 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14066 = load i32, ptr %14065, align 4, !tbaa !5
  %14067 = call ptr @s2n_strerror_debug(i32 noundef %14066, ptr noundef @.str.4)
  %14068 = call ptr @__errno_location() #10
  %14069 = load i32, ptr %14068, align 4, !tbaa !5
  %14070 = call ptr @strerror(i32 noundef %14069) #9
  %14071 = call ptr @__errno_location() #10
  %14072 = load i32, ptr %14071, align 4, !tbaa !5
  %14073 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14060, ptr noundef @.str.2, i32 noundef %14061, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 392, ptr noundef %14064, ptr noundef %14067, ptr noundef %14070, i32 noundef %14072) #9
  br label %14091

14074:                                            ; preds = %14052, %14045
  %14075 = load i32, ptr %297, align 4, !tbaa !5
  %14076 = call ptr @__errno_location() #10
  store i32 %14075, ptr %14076, align 4, !tbaa !5
  %14077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14078 = load i32, ptr @test_count, align 4, !tbaa !5
  %14079 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14080 = load i32, ptr %14079, align 4, !tbaa !5
  %14081 = call ptr @s2n_strerror(i32 noundef %14080, ptr noundef @.str.4)
  %14082 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14083 = load i32, ptr %14082, align 4, !tbaa !5
  %14084 = call ptr @s2n_strerror_debug(i32 noundef %14083, ptr noundef @.str.4)
  %14085 = call ptr @__errno_location() #10
  %14086 = load i32, ptr %14085, align 4, !tbaa !5
  %14087 = call ptr @strerror(i32 noundef %14086) #9
  %14088 = call ptr @__errno_location() #10
  %14089 = load i32, ptr %14088, align 4, !tbaa !5
  %14090 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14077, ptr noundef @.str.5, i32 noundef %14078, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 392, ptr noundef %14081, ptr noundef %14084, ptr noundef %14087, i32 noundef %14089) #9
  br label %14091

14091:                                            ; preds = %14074, %14057
  call void @llvm.lifetime.end.p0(i64 4, ptr %297) #9
  br label %14092

14092:                                            ; preds = %14091
  br label %14093

14093:                                            ; preds = %14092
  call void @exit(i32 noundef 1) #11
  unreachable

14094:                                            ; No predecessors!
  br label %14095

14095:                                            ; preds = %14094
  br label %14096

14096:                                            ; preds = %14095, %14036
  br label %14097

14097:                                            ; preds = %14096
  br label %14098

14098:                                            ; preds = %14097
  br label %14099

14099:                                            ; preds = %14098
  %14100 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %14100, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %14101 = call ptr @__errno_location() #10
  store i32 0, ptr %14101, align 4, !tbaa !5
  br label %14102

14102:                                            ; preds = %14099
  br label %14103

14103:                                            ; preds = %14102
  br label %14104

14104:                                            ; preds = %14103
  br label %14105

14105:                                            ; preds = %14104
  call void @llvm.lifetime.end.p0(i64 4, ptr %294) #9
  br label %14106

14106:                                            ; preds = %14105
  br label %14107

14107:                                            ; preds = %14106
  br label %14108

14108:                                            ; preds = %14107
  call void @llvm.lifetime.start.p0(i64 4, ptr %298) #9
  br label %14109

14109:                                            ; preds = %14108
  br label %14110

14110:                                            ; preds = %14109
  %14111 = load i32, ptr @test_count, align 4, !tbaa !5
  %14112 = add nsw i32 %14111, 1
  store i32 %14112, ptr @test_count, align 4, !tbaa !5
  %14113 = call i32 @s2n_add_overflow(i32 noundef -1, i32 noundef -1, ptr noundef %298)
  %14114 = icmp eq i32 %14113, -1
  br i1 %14114, label %14168, label %14115

14115:                                            ; preds = %14110
  br label %14116

14116:                                            ; preds = %14115
  br label %14117

14117:                                            ; preds = %14116
  call void @llvm.lifetime.start.p0(i64 4, ptr %299) #9
  %14118 = call ptr @__errno_location() #10
  %14119 = load i32, ptr %14118, align 4, !tbaa !5
  store i32 %14119, ptr %299, align 4, !tbaa !5
  %14120 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14121 = call i32 @s2n_print_stacktrace(ptr noundef %14120)
  %14122 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14123 = trunc i8 %14122 to i1
  br i1 %14123, label %14124, label %14146

14124:                                            ; preds = %14117
  %14125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14126 = call i32 @fileno(ptr noundef %14125) #9
  %14127 = call i32 @isatty(i32 noundef %14126) #9
  %14128 = icmp ne i32 %14127, 0
  br i1 %14128, label %14129, label %14146

14129:                                            ; preds = %14124
  %14130 = load i32, ptr %299, align 4, !tbaa !5
  %14131 = call ptr @__errno_location() #10
  store i32 %14130, ptr %14131, align 4, !tbaa !5
  %14132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14133 = load i32, ptr @test_count, align 4, !tbaa !5
  %14134 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14135 = load i32, ptr %14134, align 4, !tbaa !5
  %14136 = call ptr @s2n_strerror(i32 noundef %14135, ptr noundef @.str.4)
  %14137 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14138 = load i32, ptr %14137, align 4, !tbaa !5
  %14139 = call ptr @s2n_strerror_debug(i32 noundef %14138, ptr noundef @.str.4)
  %14140 = call ptr @__errno_location() #10
  %14141 = load i32, ptr %14140, align 4, !tbaa !5
  %14142 = call ptr @strerror(i32 noundef %14141) #9
  %14143 = call ptr @__errno_location() #10
  %14144 = load i32, ptr %14143, align 4, !tbaa !5
  %14145 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14132, ptr noundef @.str.2, i32 noundef %14133, ptr noundef @.str.131, ptr noundef @.str.1, i32 noundef 392, ptr noundef %14136, ptr noundef %14139, ptr noundef %14142, i32 noundef %14144) #9
  br label %14163

14146:                                            ; preds = %14124, %14117
  %14147 = load i32, ptr %299, align 4, !tbaa !5
  %14148 = call ptr @__errno_location() #10
  store i32 %14147, ptr %14148, align 4, !tbaa !5
  %14149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14150 = load i32, ptr @test_count, align 4, !tbaa !5
  %14151 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14152 = load i32, ptr %14151, align 4, !tbaa !5
  %14153 = call ptr @s2n_strerror(i32 noundef %14152, ptr noundef @.str.4)
  %14154 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14155 = load i32, ptr %14154, align 4, !tbaa !5
  %14156 = call ptr @s2n_strerror_debug(i32 noundef %14155, ptr noundef @.str.4)
  %14157 = call ptr @__errno_location() #10
  %14158 = load i32, ptr %14157, align 4, !tbaa !5
  %14159 = call ptr @strerror(i32 noundef %14158) #9
  %14160 = call ptr @__errno_location() #10
  %14161 = load i32, ptr %14160, align 4, !tbaa !5
  %14162 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14149, ptr noundef @.str.5, i32 noundef %14150, ptr noundef @.str.131, ptr noundef @.str.1, i32 noundef 392, ptr noundef %14153, ptr noundef %14156, ptr noundef %14159, i32 noundef %14161) #9
  br label %14163

14163:                                            ; preds = %14146, %14129
  call void @llvm.lifetime.end.p0(i64 4, ptr %299) #9
  br label %14164

14164:                                            ; preds = %14163
  br label %14165

14165:                                            ; preds = %14164
  call void @exit(i32 noundef 1) #11
  unreachable

14166:                                            ; No predecessors!
  br label %14167

14167:                                            ; preds = %14166
  br label %14168

14168:                                            ; preds = %14167, %14110
  br label %14169

14169:                                            ; preds = %14168
  br label %14170

14170:                                            ; preds = %14169
  br label %14171

14171:                                            ; preds = %14170
  %14172 = load i32, ptr @test_count, align 4, !tbaa !5
  %14173 = add nsw i32 %14172, 1
  store i32 %14173, ptr @test_count, align 4, !tbaa !5
  %14174 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14175 = load i32, ptr %14174, align 4, !tbaa !5
  %14176 = icmp eq i32 %14175, 0
  br i1 %14176, label %14177, label %14230

14177:                                            ; preds = %14171
  br label %14178

14178:                                            ; preds = %14177
  br label %14179

14179:                                            ; preds = %14178
  call void @llvm.lifetime.start.p0(i64 4, ptr %300) #9
  %14180 = call ptr @__errno_location() #10
  %14181 = load i32, ptr %14180, align 4, !tbaa !5
  store i32 %14181, ptr %300, align 4, !tbaa !5
  %14182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14183 = call i32 @s2n_print_stacktrace(ptr noundef %14182)
  %14184 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14185 = trunc i8 %14184 to i1
  br i1 %14185, label %14186, label %14208

14186:                                            ; preds = %14179
  %14187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14188 = call i32 @fileno(ptr noundef %14187) #9
  %14189 = call i32 @isatty(i32 noundef %14188) #9
  %14190 = icmp ne i32 %14189, 0
  br i1 %14190, label %14191, label %14208

14191:                                            ; preds = %14186
  %14192 = load i32, ptr %300, align 4, !tbaa !5
  %14193 = call ptr @__errno_location() #10
  store i32 %14192, ptr %14193, align 4, !tbaa !5
  %14194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14195 = load i32, ptr @test_count, align 4, !tbaa !5
  %14196 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14197 = load i32, ptr %14196, align 4, !tbaa !5
  %14198 = call ptr @s2n_strerror(i32 noundef %14197, ptr noundef @.str.4)
  %14199 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14200 = load i32, ptr %14199, align 4, !tbaa !5
  %14201 = call ptr @s2n_strerror_debug(i32 noundef %14200, ptr noundef @.str.4)
  %14202 = call ptr @__errno_location() #10
  %14203 = load i32, ptr %14202, align 4, !tbaa !5
  %14204 = call ptr @strerror(i32 noundef %14203) #9
  %14205 = call ptr @__errno_location() #10
  %14206 = load i32, ptr %14205, align 4, !tbaa !5
  %14207 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14194, ptr noundef @.str.2, i32 noundef %14195, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 392, ptr noundef %14198, ptr noundef %14201, ptr noundef %14204, i32 noundef %14206) #9
  br label %14225

14208:                                            ; preds = %14186, %14179
  %14209 = load i32, ptr %300, align 4, !tbaa !5
  %14210 = call ptr @__errno_location() #10
  store i32 %14209, ptr %14210, align 4, !tbaa !5
  %14211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14212 = load i32, ptr @test_count, align 4, !tbaa !5
  %14213 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14214 = load i32, ptr %14213, align 4, !tbaa !5
  %14215 = call ptr @s2n_strerror(i32 noundef %14214, ptr noundef @.str.4)
  %14216 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14217 = load i32, ptr %14216, align 4, !tbaa !5
  %14218 = call ptr @s2n_strerror_debug(i32 noundef %14217, ptr noundef @.str.4)
  %14219 = call ptr @__errno_location() #10
  %14220 = load i32, ptr %14219, align 4, !tbaa !5
  %14221 = call ptr @strerror(i32 noundef %14220) #9
  %14222 = call ptr @__errno_location() #10
  %14223 = load i32, ptr %14222, align 4, !tbaa !5
  %14224 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14211, ptr noundef @.str.5, i32 noundef %14212, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 392, ptr noundef %14215, ptr noundef %14218, ptr noundef %14221, i32 noundef %14223) #9
  br label %14225

14225:                                            ; preds = %14208, %14191
  call void @llvm.lifetime.end.p0(i64 4, ptr %300) #9
  br label %14226

14226:                                            ; preds = %14225
  br label %14227

14227:                                            ; preds = %14226
  call void @exit(i32 noundef 1) #11
  unreachable

14228:                                            ; No predecessors!
  br label %14229

14229:                                            ; preds = %14228
  br label %14230

14230:                                            ; preds = %14229, %14171
  br label %14231

14231:                                            ; preds = %14230
  br label %14232

14232:                                            ; preds = %14231
  br label %14233

14233:                                            ; preds = %14232
  %14234 = load i32, ptr @test_count, align 4, !tbaa !5
  %14235 = add nsw i32 %14234, 1
  store i32 %14235, ptr @test_count, align 4, !tbaa !5
  %14236 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14237 = load i32, ptr %14236, align 4, !tbaa !5
  %14238 = call ptr @s2n_strerror_debug(i32 noundef %14237, ptr noundef @.str.4)
  %14239 = icmp eq ptr %14238, null
  br i1 %14239, label %14240, label %14293

14240:                                            ; preds = %14233
  br label %14241

14241:                                            ; preds = %14240
  br label %14242

14242:                                            ; preds = %14241
  call void @llvm.lifetime.start.p0(i64 4, ptr %301) #9
  %14243 = call ptr @__errno_location() #10
  %14244 = load i32, ptr %14243, align 4, !tbaa !5
  store i32 %14244, ptr %301, align 4, !tbaa !5
  %14245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14246 = call i32 @s2n_print_stacktrace(ptr noundef %14245)
  %14247 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14248 = trunc i8 %14247 to i1
  br i1 %14248, label %14249, label %14271

14249:                                            ; preds = %14242
  %14250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14251 = call i32 @fileno(ptr noundef %14250) #9
  %14252 = call i32 @isatty(i32 noundef %14251) #9
  %14253 = icmp ne i32 %14252, 0
  br i1 %14253, label %14254, label %14271

14254:                                            ; preds = %14249
  %14255 = load i32, ptr %301, align 4, !tbaa !5
  %14256 = call ptr @__errno_location() #10
  store i32 %14255, ptr %14256, align 4, !tbaa !5
  %14257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14258 = load i32, ptr @test_count, align 4, !tbaa !5
  %14259 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14260 = load i32, ptr %14259, align 4, !tbaa !5
  %14261 = call ptr @s2n_strerror(i32 noundef %14260, ptr noundef @.str.4)
  %14262 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14263 = load i32, ptr %14262, align 4, !tbaa !5
  %14264 = call ptr @s2n_strerror_debug(i32 noundef %14263, ptr noundef @.str.4)
  %14265 = call ptr @__errno_location() #10
  %14266 = load i32, ptr %14265, align 4, !tbaa !5
  %14267 = call ptr @strerror(i32 noundef %14266) #9
  %14268 = call ptr @__errno_location() #10
  %14269 = load i32, ptr %14268, align 4, !tbaa !5
  %14270 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14257, ptr noundef @.str.2, i32 noundef %14258, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 392, ptr noundef %14261, ptr noundef %14264, ptr noundef %14267, i32 noundef %14269) #9
  br label %14288

14271:                                            ; preds = %14249, %14242
  %14272 = load i32, ptr %301, align 4, !tbaa !5
  %14273 = call ptr @__errno_location() #10
  store i32 %14272, ptr %14273, align 4, !tbaa !5
  %14274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14275 = load i32, ptr @test_count, align 4, !tbaa !5
  %14276 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14277 = load i32, ptr %14276, align 4, !tbaa !5
  %14278 = call ptr @s2n_strerror(i32 noundef %14277, ptr noundef @.str.4)
  %14279 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14280 = load i32, ptr %14279, align 4, !tbaa !5
  %14281 = call ptr @s2n_strerror_debug(i32 noundef %14280, ptr noundef @.str.4)
  %14282 = call ptr @__errno_location() #10
  %14283 = load i32, ptr %14282, align 4, !tbaa !5
  %14284 = call ptr @strerror(i32 noundef %14283) #9
  %14285 = call ptr @__errno_location() #10
  %14286 = load i32, ptr %14285, align 4, !tbaa !5
  %14287 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14274, ptr noundef @.str.5, i32 noundef %14275, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 392, ptr noundef %14278, ptr noundef %14281, ptr noundef %14284, i32 noundef %14286) #9
  br label %14288

14288:                                            ; preds = %14271, %14254
  call void @llvm.lifetime.end.p0(i64 4, ptr %301) #9
  br label %14289

14289:                                            ; preds = %14288
  br label %14290

14290:                                            ; preds = %14289
  call void @exit(i32 noundef 1) #11
  unreachable

14291:                                            ; No predecessors!
  br label %14292

14292:                                            ; preds = %14291
  br label %14293

14293:                                            ; preds = %14292, %14233
  br label %14294

14294:                                            ; preds = %14293
  br label %14295

14295:                                            ; preds = %14294
  br label %14296

14296:                                            ; preds = %14295
  %14297 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %14297, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %14298 = call ptr @__errno_location() #10
  store i32 0, ptr %14298, align 4, !tbaa !5
  br label %14299

14299:                                            ; preds = %14296
  br label %14300

14300:                                            ; preds = %14299
  br label %14301

14301:                                            ; preds = %14300
  br label %14302

14302:                                            ; preds = %14301
  call void @llvm.lifetime.end.p0(i64 4, ptr %298) #9
  br label %14303

14303:                                            ; preds = %14302
  br label %14304

14304:                                            ; preds = %14303
  br label %14305

14305:                                            ; preds = %14304
  br label %14306

14306:                                            ; preds = %14305
  br label %14307

14307:                                            ; preds = %14306
  br label %14308

14308:                                            ; preds = %14307
  call void @llvm.lifetime.start.p0(i64 4, ptr %302) #9
  br label %14309

14309:                                            ; preds = %14308
  br label %14310

14310:                                            ; preds = %14309
  %14311 = load i32, ptr @test_count, align 4, !tbaa !5
  %14312 = add nsw i32 %14311, 1
  store i32 %14312, ptr @test_count, align 4, !tbaa !5
  %14313 = call i32 @s2n_add_overflow(i32 noundef -2147483648, i32 noundef -2147483648, ptr noundef %302)
  %14314 = icmp eq i32 %14313, -1
  br i1 %14314, label %14368, label %14315

14315:                                            ; preds = %14310
  br label %14316

14316:                                            ; preds = %14315
  br label %14317

14317:                                            ; preds = %14316
  call void @llvm.lifetime.start.p0(i64 4, ptr %303) #9
  %14318 = call ptr @__errno_location() #10
  %14319 = load i32, ptr %14318, align 4, !tbaa !5
  store i32 %14319, ptr %303, align 4, !tbaa !5
  %14320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14321 = call i32 @s2n_print_stacktrace(ptr noundef %14320)
  %14322 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14323 = trunc i8 %14322 to i1
  br i1 %14323, label %14324, label %14346

14324:                                            ; preds = %14317
  %14325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14326 = call i32 @fileno(ptr noundef %14325) #9
  %14327 = call i32 @isatty(i32 noundef %14326) #9
  %14328 = icmp ne i32 %14327, 0
  br i1 %14328, label %14329, label %14346

14329:                                            ; preds = %14324
  %14330 = load i32, ptr %303, align 4, !tbaa !5
  %14331 = call ptr @__errno_location() #10
  store i32 %14330, ptr %14331, align 4, !tbaa !5
  %14332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14333 = load i32, ptr @test_count, align 4, !tbaa !5
  %14334 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14335 = load i32, ptr %14334, align 4, !tbaa !5
  %14336 = call ptr @s2n_strerror(i32 noundef %14335, ptr noundef @.str.4)
  %14337 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14338 = load i32, ptr %14337, align 4, !tbaa !5
  %14339 = call ptr @s2n_strerror_debug(i32 noundef %14338, ptr noundef @.str.4)
  %14340 = call ptr @__errno_location() #10
  %14341 = load i32, ptr %14340, align 4, !tbaa !5
  %14342 = call ptr @strerror(i32 noundef %14341) #9
  %14343 = call ptr @__errno_location() #10
  %14344 = load i32, ptr %14343, align 4, !tbaa !5
  %14345 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14332, ptr noundef @.str.2, i32 noundef %14333, ptr noundef @.str.132, ptr noundef @.str.1, i32 noundef 393, ptr noundef %14336, ptr noundef %14339, ptr noundef %14342, i32 noundef %14344) #9
  br label %14363

14346:                                            ; preds = %14324, %14317
  %14347 = load i32, ptr %303, align 4, !tbaa !5
  %14348 = call ptr @__errno_location() #10
  store i32 %14347, ptr %14348, align 4, !tbaa !5
  %14349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14350 = load i32, ptr @test_count, align 4, !tbaa !5
  %14351 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14352 = load i32, ptr %14351, align 4, !tbaa !5
  %14353 = call ptr @s2n_strerror(i32 noundef %14352, ptr noundef @.str.4)
  %14354 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14355 = load i32, ptr %14354, align 4, !tbaa !5
  %14356 = call ptr @s2n_strerror_debug(i32 noundef %14355, ptr noundef @.str.4)
  %14357 = call ptr @__errno_location() #10
  %14358 = load i32, ptr %14357, align 4, !tbaa !5
  %14359 = call ptr @strerror(i32 noundef %14358) #9
  %14360 = call ptr @__errno_location() #10
  %14361 = load i32, ptr %14360, align 4, !tbaa !5
  %14362 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14349, ptr noundef @.str.5, i32 noundef %14350, ptr noundef @.str.132, ptr noundef @.str.1, i32 noundef 393, ptr noundef %14353, ptr noundef %14356, ptr noundef %14359, i32 noundef %14361) #9
  br label %14363

14363:                                            ; preds = %14346, %14329
  call void @llvm.lifetime.end.p0(i64 4, ptr %303) #9
  br label %14364

14364:                                            ; preds = %14363
  br label %14365

14365:                                            ; preds = %14364
  call void @exit(i32 noundef 1) #11
  unreachable

14366:                                            ; No predecessors!
  br label %14367

14367:                                            ; preds = %14366
  br label %14368

14368:                                            ; preds = %14367, %14310
  br label %14369

14369:                                            ; preds = %14368
  br label %14370

14370:                                            ; preds = %14369
  br label %14371

14371:                                            ; preds = %14370
  %14372 = load i32, ptr @test_count, align 4, !tbaa !5
  %14373 = add nsw i32 %14372, 1
  store i32 %14373, ptr @test_count, align 4, !tbaa !5
  %14374 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14375 = load i32, ptr %14374, align 4, !tbaa !5
  %14376 = icmp eq i32 %14375, 0
  br i1 %14376, label %14377, label %14430

14377:                                            ; preds = %14371
  br label %14378

14378:                                            ; preds = %14377
  br label %14379

14379:                                            ; preds = %14378
  call void @llvm.lifetime.start.p0(i64 4, ptr %304) #9
  %14380 = call ptr @__errno_location() #10
  %14381 = load i32, ptr %14380, align 4, !tbaa !5
  store i32 %14381, ptr %304, align 4, !tbaa !5
  %14382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14383 = call i32 @s2n_print_stacktrace(ptr noundef %14382)
  %14384 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14385 = trunc i8 %14384 to i1
  br i1 %14385, label %14386, label %14408

14386:                                            ; preds = %14379
  %14387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14388 = call i32 @fileno(ptr noundef %14387) #9
  %14389 = call i32 @isatty(i32 noundef %14388) #9
  %14390 = icmp ne i32 %14389, 0
  br i1 %14390, label %14391, label %14408

14391:                                            ; preds = %14386
  %14392 = load i32, ptr %304, align 4, !tbaa !5
  %14393 = call ptr @__errno_location() #10
  store i32 %14392, ptr %14393, align 4, !tbaa !5
  %14394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14395 = load i32, ptr @test_count, align 4, !tbaa !5
  %14396 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14397 = load i32, ptr %14396, align 4, !tbaa !5
  %14398 = call ptr @s2n_strerror(i32 noundef %14397, ptr noundef @.str.4)
  %14399 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14400 = load i32, ptr %14399, align 4, !tbaa !5
  %14401 = call ptr @s2n_strerror_debug(i32 noundef %14400, ptr noundef @.str.4)
  %14402 = call ptr @__errno_location() #10
  %14403 = load i32, ptr %14402, align 4, !tbaa !5
  %14404 = call ptr @strerror(i32 noundef %14403) #9
  %14405 = call ptr @__errno_location() #10
  %14406 = load i32, ptr %14405, align 4, !tbaa !5
  %14407 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14394, ptr noundef @.str.2, i32 noundef %14395, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 393, ptr noundef %14398, ptr noundef %14401, ptr noundef %14404, i32 noundef %14406) #9
  br label %14425

14408:                                            ; preds = %14386, %14379
  %14409 = load i32, ptr %304, align 4, !tbaa !5
  %14410 = call ptr @__errno_location() #10
  store i32 %14409, ptr %14410, align 4, !tbaa !5
  %14411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14412 = load i32, ptr @test_count, align 4, !tbaa !5
  %14413 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14414 = load i32, ptr %14413, align 4, !tbaa !5
  %14415 = call ptr @s2n_strerror(i32 noundef %14414, ptr noundef @.str.4)
  %14416 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14417 = load i32, ptr %14416, align 4, !tbaa !5
  %14418 = call ptr @s2n_strerror_debug(i32 noundef %14417, ptr noundef @.str.4)
  %14419 = call ptr @__errno_location() #10
  %14420 = load i32, ptr %14419, align 4, !tbaa !5
  %14421 = call ptr @strerror(i32 noundef %14420) #9
  %14422 = call ptr @__errno_location() #10
  %14423 = load i32, ptr %14422, align 4, !tbaa !5
  %14424 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14411, ptr noundef @.str.5, i32 noundef %14412, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 393, ptr noundef %14415, ptr noundef %14418, ptr noundef %14421, i32 noundef %14423) #9
  br label %14425

14425:                                            ; preds = %14408, %14391
  call void @llvm.lifetime.end.p0(i64 4, ptr %304) #9
  br label %14426

14426:                                            ; preds = %14425
  br label %14427

14427:                                            ; preds = %14426
  call void @exit(i32 noundef 1) #11
  unreachable

14428:                                            ; No predecessors!
  br label %14429

14429:                                            ; preds = %14428
  br label %14430

14430:                                            ; preds = %14429, %14371
  br label %14431

14431:                                            ; preds = %14430
  br label %14432

14432:                                            ; preds = %14431
  br label %14433

14433:                                            ; preds = %14432
  %14434 = load i32, ptr @test_count, align 4, !tbaa !5
  %14435 = add nsw i32 %14434, 1
  store i32 %14435, ptr @test_count, align 4, !tbaa !5
  %14436 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14437 = load i32, ptr %14436, align 4, !tbaa !5
  %14438 = call ptr @s2n_strerror_debug(i32 noundef %14437, ptr noundef @.str.4)
  %14439 = icmp eq ptr %14438, null
  br i1 %14439, label %14440, label %14493

14440:                                            ; preds = %14433
  br label %14441

14441:                                            ; preds = %14440
  br label %14442

14442:                                            ; preds = %14441
  call void @llvm.lifetime.start.p0(i64 4, ptr %305) #9
  %14443 = call ptr @__errno_location() #10
  %14444 = load i32, ptr %14443, align 4, !tbaa !5
  store i32 %14444, ptr %305, align 4, !tbaa !5
  %14445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14446 = call i32 @s2n_print_stacktrace(ptr noundef %14445)
  %14447 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14448 = trunc i8 %14447 to i1
  br i1 %14448, label %14449, label %14471

14449:                                            ; preds = %14442
  %14450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14451 = call i32 @fileno(ptr noundef %14450) #9
  %14452 = call i32 @isatty(i32 noundef %14451) #9
  %14453 = icmp ne i32 %14452, 0
  br i1 %14453, label %14454, label %14471

14454:                                            ; preds = %14449
  %14455 = load i32, ptr %305, align 4, !tbaa !5
  %14456 = call ptr @__errno_location() #10
  store i32 %14455, ptr %14456, align 4, !tbaa !5
  %14457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14458 = load i32, ptr @test_count, align 4, !tbaa !5
  %14459 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14460 = load i32, ptr %14459, align 4, !tbaa !5
  %14461 = call ptr @s2n_strerror(i32 noundef %14460, ptr noundef @.str.4)
  %14462 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14463 = load i32, ptr %14462, align 4, !tbaa !5
  %14464 = call ptr @s2n_strerror_debug(i32 noundef %14463, ptr noundef @.str.4)
  %14465 = call ptr @__errno_location() #10
  %14466 = load i32, ptr %14465, align 4, !tbaa !5
  %14467 = call ptr @strerror(i32 noundef %14466) #9
  %14468 = call ptr @__errno_location() #10
  %14469 = load i32, ptr %14468, align 4, !tbaa !5
  %14470 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14457, ptr noundef @.str.2, i32 noundef %14458, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 393, ptr noundef %14461, ptr noundef %14464, ptr noundef %14467, i32 noundef %14469) #9
  br label %14488

14471:                                            ; preds = %14449, %14442
  %14472 = load i32, ptr %305, align 4, !tbaa !5
  %14473 = call ptr @__errno_location() #10
  store i32 %14472, ptr %14473, align 4, !tbaa !5
  %14474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14475 = load i32, ptr @test_count, align 4, !tbaa !5
  %14476 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14477 = load i32, ptr %14476, align 4, !tbaa !5
  %14478 = call ptr @s2n_strerror(i32 noundef %14477, ptr noundef @.str.4)
  %14479 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14480 = load i32, ptr %14479, align 4, !tbaa !5
  %14481 = call ptr @s2n_strerror_debug(i32 noundef %14480, ptr noundef @.str.4)
  %14482 = call ptr @__errno_location() #10
  %14483 = load i32, ptr %14482, align 4, !tbaa !5
  %14484 = call ptr @strerror(i32 noundef %14483) #9
  %14485 = call ptr @__errno_location() #10
  %14486 = load i32, ptr %14485, align 4, !tbaa !5
  %14487 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14474, ptr noundef @.str.5, i32 noundef %14475, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 393, ptr noundef %14478, ptr noundef %14481, ptr noundef %14484, i32 noundef %14486) #9
  br label %14488

14488:                                            ; preds = %14471, %14454
  call void @llvm.lifetime.end.p0(i64 4, ptr %305) #9
  br label %14489

14489:                                            ; preds = %14488
  br label %14490

14490:                                            ; preds = %14489
  call void @exit(i32 noundef 1) #11
  unreachable

14491:                                            ; No predecessors!
  br label %14492

14492:                                            ; preds = %14491
  br label %14493

14493:                                            ; preds = %14492, %14433
  br label %14494

14494:                                            ; preds = %14493
  br label %14495

14495:                                            ; preds = %14494
  br label %14496

14496:                                            ; preds = %14495
  %14497 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %14497, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %14498 = call ptr @__errno_location() #10
  store i32 0, ptr %14498, align 4, !tbaa !5
  br label %14499

14499:                                            ; preds = %14496
  br label %14500

14500:                                            ; preds = %14499
  br label %14501

14501:                                            ; preds = %14500
  br label %14502

14502:                                            ; preds = %14501
  call void @llvm.lifetime.end.p0(i64 4, ptr %302) #9
  br label %14503

14503:                                            ; preds = %14502
  br label %14504

14504:                                            ; preds = %14503
  br label %14505

14505:                                            ; preds = %14504
  call void @llvm.lifetime.start.p0(i64 4, ptr %306) #9
  br label %14506

14506:                                            ; preds = %14505
  br label %14507

14507:                                            ; preds = %14506
  %14508 = load i32, ptr @test_count, align 4, !tbaa !5
  %14509 = add nsw i32 %14508, 1
  store i32 %14509, ptr @test_count, align 4, !tbaa !5
  %14510 = call i32 @s2n_add_overflow(i32 noundef -2147483648, i32 noundef -2147483648, ptr noundef %306)
  %14511 = icmp eq i32 %14510, -1
  br i1 %14511, label %14565, label %14512

14512:                                            ; preds = %14507
  br label %14513

14513:                                            ; preds = %14512
  br label %14514

14514:                                            ; preds = %14513
  call void @llvm.lifetime.start.p0(i64 4, ptr %307) #9
  %14515 = call ptr @__errno_location() #10
  %14516 = load i32, ptr %14515, align 4, !tbaa !5
  store i32 %14516, ptr %307, align 4, !tbaa !5
  %14517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14518 = call i32 @s2n_print_stacktrace(ptr noundef %14517)
  %14519 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14520 = trunc i8 %14519 to i1
  br i1 %14520, label %14521, label %14543

14521:                                            ; preds = %14514
  %14522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14523 = call i32 @fileno(ptr noundef %14522) #9
  %14524 = call i32 @isatty(i32 noundef %14523) #9
  %14525 = icmp ne i32 %14524, 0
  br i1 %14525, label %14526, label %14543

14526:                                            ; preds = %14521
  %14527 = load i32, ptr %307, align 4, !tbaa !5
  %14528 = call ptr @__errno_location() #10
  store i32 %14527, ptr %14528, align 4, !tbaa !5
  %14529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14530 = load i32, ptr @test_count, align 4, !tbaa !5
  %14531 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14532 = load i32, ptr %14531, align 4, !tbaa !5
  %14533 = call ptr @s2n_strerror(i32 noundef %14532, ptr noundef @.str.4)
  %14534 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14535 = load i32, ptr %14534, align 4, !tbaa !5
  %14536 = call ptr @s2n_strerror_debug(i32 noundef %14535, ptr noundef @.str.4)
  %14537 = call ptr @__errno_location() #10
  %14538 = load i32, ptr %14537, align 4, !tbaa !5
  %14539 = call ptr @strerror(i32 noundef %14538) #9
  %14540 = call ptr @__errno_location() #10
  %14541 = load i32, ptr %14540, align 4, !tbaa !5
  %14542 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14529, ptr noundef @.str.2, i32 noundef %14530, ptr noundef @.str.132, ptr noundef @.str.1, i32 noundef 393, ptr noundef %14533, ptr noundef %14536, ptr noundef %14539, i32 noundef %14541) #9
  br label %14560

14543:                                            ; preds = %14521, %14514
  %14544 = load i32, ptr %307, align 4, !tbaa !5
  %14545 = call ptr @__errno_location() #10
  store i32 %14544, ptr %14545, align 4, !tbaa !5
  %14546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14547 = load i32, ptr @test_count, align 4, !tbaa !5
  %14548 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14549 = load i32, ptr %14548, align 4, !tbaa !5
  %14550 = call ptr @s2n_strerror(i32 noundef %14549, ptr noundef @.str.4)
  %14551 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14552 = load i32, ptr %14551, align 4, !tbaa !5
  %14553 = call ptr @s2n_strerror_debug(i32 noundef %14552, ptr noundef @.str.4)
  %14554 = call ptr @__errno_location() #10
  %14555 = load i32, ptr %14554, align 4, !tbaa !5
  %14556 = call ptr @strerror(i32 noundef %14555) #9
  %14557 = call ptr @__errno_location() #10
  %14558 = load i32, ptr %14557, align 4, !tbaa !5
  %14559 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14546, ptr noundef @.str.5, i32 noundef %14547, ptr noundef @.str.132, ptr noundef @.str.1, i32 noundef 393, ptr noundef %14550, ptr noundef %14553, ptr noundef %14556, i32 noundef %14558) #9
  br label %14560

14560:                                            ; preds = %14543, %14526
  call void @llvm.lifetime.end.p0(i64 4, ptr %307) #9
  br label %14561

14561:                                            ; preds = %14560
  br label %14562

14562:                                            ; preds = %14561
  call void @exit(i32 noundef 1) #11
  unreachable

14563:                                            ; No predecessors!
  br label %14564

14564:                                            ; preds = %14563
  br label %14565

14565:                                            ; preds = %14564, %14507
  br label %14566

14566:                                            ; preds = %14565
  br label %14567

14567:                                            ; preds = %14566
  br label %14568

14568:                                            ; preds = %14567
  %14569 = load i32, ptr @test_count, align 4, !tbaa !5
  %14570 = add nsw i32 %14569, 1
  store i32 %14570, ptr @test_count, align 4, !tbaa !5
  %14571 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14572 = load i32, ptr %14571, align 4, !tbaa !5
  %14573 = icmp eq i32 %14572, 0
  br i1 %14573, label %14574, label %14627

14574:                                            ; preds = %14568
  br label %14575

14575:                                            ; preds = %14574
  br label %14576

14576:                                            ; preds = %14575
  call void @llvm.lifetime.start.p0(i64 4, ptr %308) #9
  %14577 = call ptr @__errno_location() #10
  %14578 = load i32, ptr %14577, align 4, !tbaa !5
  store i32 %14578, ptr %308, align 4, !tbaa !5
  %14579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14580 = call i32 @s2n_print_stacktrace(ptr noundef %14579)
  %14581 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14582 = trunc i8 %14581 to i1
  br i1 %14582, label %14583, label %14605

14583:                                            ; preds = %14576
  %14584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14585 = call i32 @fileno(ptr noundef %14584) #9
  %14586 = call i32 @isatty(i32 noundef %14585) #9
  %14587 = icmp ne i32 %14586, 0
  br i1 %14587, label %14588, label %14605

14588:                                            ; preds = %14583
  %14589 = load i32, ptr %308, align 4, !tbaa !5
  %14590 = call ptr @__errno_location() #10
  store i32 %14589, ptr %14590, align 4, !tbaa !5
  %14591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14592 = load i32, ptr @test_count, align 4, !tbaa !5
  %14593 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14594 = load i32, ptr %14593, align 4, !tbaa !5
  %14595 = call ptr @s2n_strerror(i32 noundef %14594, ptr noundef @.str.4)
  %14596 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14597 = load i32, ptr %14596, align 4, !tbaa !5
  %14598 = call ptr @s2n_strerror_debug(i32 noundef %14597, ptr noundef @.str.4)
  %14599 = call ptr @__errno_location() #10
  %14600 = load i32, ptr %14599, align 4, !tbaa !5
  %14601 = call ptr @strerror(i32 noundef %14600) #9
  %14602 = call ptr @__errno_location() #10
  %14603 = load i32, ptr %14602, align 4, !tbaa !5
  %14604 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14591, ptr noundef @.str.2, i32 noundef %14592, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 393, ptr noundef %14595, ptr noundef %14598, ptr noundef %14601, i32 noundef %14603) #9
  br label %14622

14605:                                            ; preds = %14583, %14576
  %14606 = load i32, ptr %308, align 4, !tbaa !5
  %14607 = call ptr @__errno_location() #10
  store i32 %14606, ptr %14607, align 4, !tbaa !5
  %14608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14609 = load i32, ptr @test_count, align 4, !tbaa !5
  %14610 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14611 = load i32, ptr %14610, align 4, !tbaa !5
  %14612 = call ptr @s2n_strerror(i32 noundef %14611, ptr noundef @.str.4)
  %14613 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14614 = load i32, ptr %14613, align 4, !tbaa !5
  %14615 = call ptr @s2n_strerror_debug(i32 noundef %14614, ptr noundef @.str.4)
  %14616 = call ptr @__errno_location() #10
  %14617 = load i32, ptr %14616, align 4, !tbaa !5
  %14618 = call ptr @strerror(i32 noundef %14617) #9
  %14619 = call ptr @__errno_location() #10
  %14620 = load i32, ptr %14619, align 4, !tbaa !5
  %14621 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14608, ptr noundef @.str.5, i32 noundef %14609, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 393, ptr noundef %14612, ptr noundef %14615, ptr noundef %14618, i32 noundef %14620) #9
  br label %14622

14622:                                            ; preds = %14605, %14588
  call void @llvm.lifetime.end.p0(i64 4, ptr %308) #9
  br label %14623

14623:                                            ; preds = %14622
  br label %14624

14624:                                            ; preds = %14623
  call void @exit(i32 noundef 1) #11
  unreachable

14625:                                            ; No predecessors!
  br label %14626

14626:                                            ; preds = %14625
  br label %14627

14627:                                            ; preds = %14626, %14568
  br label %14628

14628:                                            ; preds = %14627
  br label %14629

14629:                                            ; preds = %14628
  br label %14630

14630:                                            ; preds = %14629
  %14631 = load i32, ptr @test_count, align 4, !tbaa !5
  %14632 = add nsw i32 %14631, 1
  store i32 %14632, ptr @test_count, align 4, !tbaa !5
  %14633 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14634 = load i32, ptr %14633, align 4, !tbaa !5
  %14635 = call ptr @s2n_strerror_debug(i32 noundef %14634, ptr noundef @.str.4)
  %14636 = icmp eq ptr %14635, null
  br i1 %14636, label %14637, label %14690

14637:                                            ; preds = %14630
  br label %14638

14638:                                            ; preds = %14637
  br label %14639

14639:                                            ; preds = %14638
  call void @llvm.lifetime.start.p0(i64 4, ptr %309) #9
  %14640 = call ptr @__errno_location() #10
  %14641 = load i32, ptr %14640, align 4, !tbaa !5
  store i32 %14641, ptr %309, align 4, !tbaa !5
  %14642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14643 = call i32 @s2n_print_stacktrace(ptr noundef %14642)
  %14644 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14645 = trunc i8 %14644 to i1
  br i1 %14645, label %14646, label %14668

14646:                                            ; preds = %14639
  %14647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14648 = call i32 @fileno(ptr noundef %14647) #9
  %14649 = call i32 @isatty(i32 noundef %14648) #9
  %14650 = icmp ne i32 %14649, 0
  br i1 %14650, label %14651, label %14668

14651:                                            ; preds = %14646
  %14652 = load i32, ptr %309, align 4, !tbaa !5
  %14653 = call ptr @__errno_location() #10
  store i32 %14652, ptr %14653, align 4, !tbaa !5
  %14654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14655 = load i32, ptr @test_count, align 4, !tbaa !5
  %14656 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14657 = load i32, ptr %14656, align 4, !tbaa !5
  %14658 = call ptr @s2n_strerror(i32 noundef %14657, ptr noundef @.str.4)
  %14659 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14660 = load i32, ptr %14659, align 4, !tbaa !5
  %14661 = call ptr @s2n_strerror_debug(i32 noundef %14660, ptr noundef @.str.4)
  %14662 = call ptr @__errno_location() #10
  %14663 = load i32, ptr %14662, align 4, !tbaa !5
  %14664 = call ptr @strerror(i32 noundef %14663) #9
  %14665 = call ptr @__errno_location() #10
  %14666 = load i32, ptr %14665, align 4, !tbaa !5
  %14667 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14654, ptr noundef @.str.2, i32 noundef %14655, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 393, ptr noundef %14658, ptr noundef %14661, ptr noundef %14664, i32 noundef %14666) #9
  br label %14685

14668:                                            ; preds = %14646, %14639
  %14669 = load i32, ptr %309, align 4, !tbaa !5
  %14670 = call ptr @__errno_location() #10
  store i32 %14669, ptr %14670, align 4, !tbaa !5
  %14671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14672 = load i32, ptr @test_count, align 4, !tbaa !5
  %14673 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14674 = load i32, ptr %14673, align 4, !tbaa !5
  %14675 = call ptr @s2n_strerror(i32 noundef %14674, ptr noundef @.str.4)
  %14676 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14677 = load i32, ptr %14676, align 4, !tbaa !5
  %14678 = call ptr @s2n_strerror_debug(i32 noundef %14677, ptr noundef @.str.4)
  %14679 = call ptr @__errno_location() #10
  %14680 = load i32, ptr %14679, align 4, !tbaa !5
  %14681 = call ptr @strerror(i32 noundef %14680) #9
  %14682 = call ptr @__errno_location() #10
  %14683 = load i32, ptr %14682, align 4, !tbaa !5
  %14684 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14671, ptr noundef @.str.5, i32 noundef %14672, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 393, ptr noundef %14675, ptr noundef %14678, ptr noundef %14681, i32 noundef %14683) #9
  br label %14685

14685:                                            ; preds = %14668, %14651
  call void @llvm.lifetime.end.p0(i64 4, ptr %309) #9
  br label %14686

14686:                                            ; preds = %14685
  br label %14687

14687:                                            ; preds = %14686
  call void @exit(i32 noundef 1) #11
  unreachable

14688:                                            ; No predecessors!
  br label %14689

14689:                                            ; preds = %14688
  br label %14690

14690:                                            ; preds = %14689, %14630
  br label %14691

14691:                                            ; preds = %14690
  br label %14692

14692:                                            ; preds = %14691
  br label %14693

14693:                                            ; preds = %14692
  %14694 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %14694, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %14695 = call ptr @__errno_location() #10
  store i32 0, ptr %14695, align 4, !tbaa !5
  br label %14696

14696:                                            ; preds = %14693
  br label %14697

14697:                                            ; preds = %14696
  br label %14698

14698:                                            ; preds = %14697
  br label %14699

14699:                                            ; preds = %14698
  call void @llvm.lifetime.end.p0(i64 4, ptr %306) #9
  br label %14700

14700:                                            ; preds = %14699
  br label %14701

14701:                                            ; preds = %14700
  br label %14702

14702:                                            ; preds = %14701
  br label %14703

14703:                                            ; preds = %14702
  br label %14704

14704:                                            ; preds = %14703
  br label %14705

14705:                                            ; preds = %14704
  call void @llvm.lifetime.start.p0(i64 4, ptr %310) #9
  br label %14706

14706:                                            ; preds = %14705
  br label %14707

14707:                                            ; preds = %14706
  %14708 = load i32, ptr @test_count, align 4, !tbaa !5
  %14709 = add nsw i32 %14708, 1
  store i32 %14709, ptr @test_count, align 4, !tbaa !5
  %14710 = call i32 @s2n_add_overflow(i32 noundef 100, i32 noundef -100, ptr noundef %310)
  %14711 = icmp eq i32 %14710, -1
  br i1 %14711, label %14765, label %14712

14712:                                            ; preds = %14707
  br label %14713

14713:                                            ; preds = %14712
  br label %14714

14714:                                            ; preds = %14713
  call void @llvm.lifetime.start.p0(i64 4, ptr %311) #9
  %14715 = call ptr @__errno_location() #10
  %14716 = load i32, ptr %14715, align 4, !tbaa !5
  store i32 %14716, ptr %311, align 4, !tbaa !5
  %14717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14718 = call i32 @s2n_print_stacktrace(ptr noundef %14717)
  %14719 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14720 = trunc i8 %14719 to i1
  br i1 %14720, label %14721, label %14743

14721:                                            ; preds = %14714
  %14722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14723 = call i32 @fileno(ptr noundef %14722) #9
  %14724 = call i32 @isatty(i32 noundef %14723) #9
  %14725 = icmp ne i32 %14724, 0
  br i1 %14725, label %14726, label %14743

14726:                                            ; preds = %14721
  %14727 = load i32, ptr %311, align 4, !tbaa !5
  %14728 = call ptr @__errno_location() #10
  store i32 %14727, ptr %14728, align 4, !tbaa !5
  %14729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14730 = load i32, ptr @test_count, align 4, !tbaa !5
  %14731 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14732 = load i32, ptr %14731, align 4, !tbaa !5
  %14733 = call ptr @s2n_strerror(i32 noundef %14732, ptr noundef @.str.4)
  %14734 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14735 = load i32, ptr %14734, align 4, !tbaa !5
  %14736 = call ptr @s2n_strerror_debug(i32 noundef %14735, ptr noundef @.str.4)
  %14737 = call ptr @__errno_location() #10
  %14738 = load i32, ptr %14737, align 4, !tbaa !5
  %14739 = call ptr @strerror(i32 noundef %14738) #9
  %14740 = call ptr @__errno_location() #10
  %14741 = load i32, ptr %14740, align 4, !tbaa !5
  %14742 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14729, ptr noundef @.str.2, i32 noundef %14730, ptr noundef @.str.133, ptr noundef @.str.1, i32 noundef 394, ptr noundef %14733, ptr noundef %14736, ptr noundef %14739, i32 noundef %14741) #9
  br label %14760

14743:                                            ; preds = %14721, %14714
  %14744 = load i32, ptr %311, align 4, !tbaa !5
  %14745 = call ptr @__errno_location() #10
  store i32 %14744, ptr %14745, align 4, !tbaa !5
  %14746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14747 = load i32, ptr @test_count, align 4, !tbaa !5
  %14748 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14749 = load i32, ptr %14748, align 4, !tbaa !5
  %14750 = call ptr @s2n_strerror(i32 noundef %14749, ptr noundef @.str.4)
  %14751 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14752 = load i32, ptr %14751, align 4, !tbaa !5
  %14753 = call ptr @s2n_strerror_debug(i32 noundef %14752, ptr noundef @.str.4)
  %14754 = call ptr @__errno_location() #10
  %14755 = load i32, ptr %14754, align 4, !tbaa !5
  %14756 = call ptr @strerror(i32 noundef %14755) #9
  %14757 = call ptr @__errno_location() #10
  %14758 = load i32, ptr %14757, align 4, !tbaa !5
  %14759 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14746, ptr noundef @.str.5, i32 noundef %14747, ptr noundef @.str.133, ptr noundef @.str.1, i32 noundef 394, ptr noundef %14750, ptr noundef %14753, ptr noundef %14756, i32 noundef %14758) #9
  br label %14760

14760:                                            ; preds = %14743, %14726
  call void @llvm.lifetime.end.p0(i64 4, ptr %311) #9
  br label %14761

14761:                                            ; preds = %14760
  br label %14762

14762:                                            ; preds = %14761
  call void @exit(i32 noundef 1) #11
  unreachable

14763:                                            ; No predecessors!
  br label %14764

14764:                                            ; preds = %14763
  br label %14765

14765:                                            ; preds = %14764, %14707
  br label %14766

14766:                                            ; preds = %14765
  br label %14767

14767:                                            ; preds = %14766
  br label %14768

14768:                                            ; preds = %14767
  %14769 = load i32, ptr @test_count, align 4, !tbaa !5
  %14770 = add nsw i32 %14769, 1
  store i32 %14770, ptr @test_count, align 4, !tbaa !5
  %14771 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14772 = load i32, ptr %14771, align 4, !tbaa !5
  %14773 = icmp eq i32 %14772, 0
  br i1 %14773, label %14774, label %14827

14774:                                            ; preds = %14768
  br label %14775

14775:                                            ; preds = %14774
  br label %14776

14776:                                            ; preds = %14775
  call void @llvm.lifetime.start.p0(i64 4, ptr %312) #9
  %14777 = call ptr @__errno_location() #10
  %14778 = load i32, ptr %14777, align 4, !tbaa !5
  store i32 %14778, ptr %312, align 4, !tbaa !5
  %14779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14780 = call i32 @s2n_print_stacktrace(ptr noundef %14779)
  %14781 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14782 = trunc i8 %14781 to i1
  br i1 %14782, label %14783, label %14805

14783:                                            ; preds = %14776
  %14784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14785 = call i32 @fileno(ptr noundef %14784) #9
  %14786 = call i32 @isatty(i32 noundef %14785) #9
  %14787 = icmp ne i32 %14786, 0
  br i1 %14787, label %14788, label %14805

14788:                                            ; preds = %14783
  %14789 = load i32, ptr %312, align 4, !tbaa !5
  %14790 = call ptr @__errno_location() #10
  store i32 %14789, ptr %14790, align 4, !tbaa !5
  %14791 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14792 = load i32, ptr @test_count, align 4, !tbaa !5
  %14793 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14794 = load i32, ptr %14793, align 4, !tbaa !5
  %14795 = call ptr @s2n_strerror(i32 noundef %14794, ptr noundef @.str.4)
  %14796 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14797 = load i32, ptr %14796, align 4, !tbaa !5
  %14798 = call ptr @s2n_strerror_debug(i32 noundef %14797, ptr noundef @.str.4)
  %14799 = call ptr @__errno_location() #10
  %14800 = load i32, ptr %14799, align 4, !tbaa !5
  %14801 = call ptr @strerror(i32 noundef %14800) #9
  %14802 = call ptr @__errno_location() #10
  %14803 = load i32, ptr %14802, align 4, !tbaa !5
  %14804 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14791, ptr noundef @.str.2, i32 noundef %14792, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 394, ptr noundef %14795, ptr noundef %14798, ptr noundef %14801, i32 noundef %14803) #9
  br label %14822

14805:                                            ; preds = %14783, %14776
  %14806 = load i32, ptr %312, align 4, !tbaa !5
  %14807 = call ptr @__errno_location() #10
  store i32 %14806, ptr %14807, align 4, !tbaa !5
  %14808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14809 = load i32, ptr @test_count, align 4, !tbaa !5
  %14810 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14811 = load i32, ptr %14810, align 4, !tbaa !5
  %14812 = call ptr @s2n_strerror(i32 noundef %14811, ptr noundef @.str.4)
  %14813 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14814 = load i32, ptr %14813, align 4, !tbaa !5
  %14815 = call ptr @s2n_strerror_debug(i32 noundef %14814, ptr noundef @.str.4)
  %14816 = call ptr @__errno_location() #10
  %14817 = load i32, ptr %14816, align 4, !tbaa !5
  %14818 = call ptr @strerror(i32 noundef %14817) #9
  %14819 = call ptr @__errno_location() #10
  %14820 = load i32, ptr %14819, align 4, !tbaa !5
  %14821 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14808, ptr noundef @.str.5, i32 noundef %14809, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 394, ptr noundef %14812, ptr noundef %14815, ptr noundef %14818, i32 noundef %14820) #9
  br label %14822

14822:                                            ; preds = %14805, %14788
  call void @llvm.lifetime.end.p0(i64 4, ptr %312) #9
  br label %14823

14823:                                            ; preds = %14822
  br label %14824

14824:                                            ; preds = %14823
  call void @exit(i32 noundef 1) #11
  unreachable

14825:                                            ; No predecessors!
  br label %14826

14826:                                            ; preds = %14825
  br label %14827

14827:                                            ; preds = %14826, %14768
  br label %14828

14828:                                            ; preds = %14827
  br label %14829

14829:                                            ; preds = %14828
  br label %14830

14830:                                            ; preds = %14829
  %14831 = load i32, ptr @test_count, align 4, !tbaa !5
  %14832 = add nsw i32 %14831, 1
  store i32 %14832, ptr @test_count, align 4, !tbaa !5
  %14833 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14834 = load i32, ptr %14833, align 4, !tbaa !5
  %14835 = call ptr @s2n_strerror_debug(i32 noundef %14834, ptr noundef @.str.4)
  %14836 = icmp eq ptr %14835, null
  br i1 %14836, label %14837, label %14890

14837:                                            ; preds = %14830
  br label %14838

14838:                                            ; preds = %14837
  br label %14839

14839:                                            ; preds = %14838
  call void @llvm.lifetime.start.p0(i64 4, ptr %313) #9
  %14840 = call ptr @__errno_location() #10
  %14841 = load i32, ptr %14840, align 4, !tbaa !5
  store i32 %14841, ptr %313, align 4, !tbaa !5
  %14842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14843 = call i32 @s2n_print_stacktrace(ptr noundef %14842)
  %14844 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14845 = trunc i8 %14844 to i1
  br i1 %14845, label %14846, label %14868

14846:                                            ; preds = %14839
  %14847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14848 = call i32 @fileno(ptr noundef %14847) #9
  %14849 = call i32 @isatty(i32 noundef %14848) #9
  %14850 = icmp ne i32 %14849, 0
  br i1 %14850, label %14851, label %14868

14851:                                            ; preds = %14846
  %14852 = load i32, ptr %313, align 4, !tbaa !5
  %14853 = call ptr @__errno_location() #10
  store i32 %14852, ptr %14853, align 4, !tbaa !5
  %14854 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14855 = load i32, ptr @test_count, align 4, !tbaa !5
  %14856 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14857 = load i32, ptr %14856, align 4, !tbaa !5
  %14858 = call ptr @s2n_strerror(i32 noundef %14857, ptr noundef @.str.4)
  %14859 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14860 = load i32, ptr %14859, align 4, !tbaa !5
  %14861 = call ptr @s2n_strerror_debug(i32 noundef %14860, ptr noundef @.str.4)
  %14862 = call ptr @__errno_location() #10
  %14863 = load i32, ptr %14862, align 4, !tbaa !5
  %14864 = call ptr @strerror(i32 noundef %14863) #9
  %14865 = call ptr @__errno_location() #10
  %14866 = load i32, ptr %14865, align 4, !tbaa !5
  %14867 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14854, ptr noundef @.str.2, i32 noundef %14855, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 394, ptr noundef %14858, ptr noundef %14861, ptr noundef %14864, i32 noundef %14866) #9
  br label %14885

14868:                                            ; preds = %14846, %14839
  %14869 = load i32, ptr %313, align 4, !tbaa !5
  %14870 = call ptr @__errno_location() #10
  store i32 %14869, ptr %14870, align 4, !tbaa !5
  %14871 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14872 = load i32, ptr @test_count, align 4, !tbaa !5
  %14873 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14874 = load i32, ptr %14873, align 4, !tbaa !5
  %14875 = call ptr @s2n_strerror(i32 noundef %14874, ptr noundef @.str.4)
  %14876 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14877 = load i32, ptr %14876, align 4, !tbaa !5
  %14878 = call ptr @s2n_strerror_debug(i32 noundef %14877, ptr noundef @.str.4)
  %14879 = call ptr @__errno_location() #10
  %14880 = load i32, ptr %14879, align 4, !tbaa !5
  %14881 = call ptr @strerror(i32 noundef %14880) #9
  %14882 = call ptr @__errno_location() #10
  %14883 = load i32, ptr %14882, align 4, !tbaa !5
  %14884 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14871, ptr noundef @.str.5, i32 noundef %14872, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 394, ptr noundef %14875, ptr noundef %14878, ptr noundef %14881, i32 noundef %14883) #9
  br label %14885

14885:                                            ; preds = %14868, %14851
  call void @llvm.lifetime.end.p0(i64 4, ptr %313) #9
  br label %14886

14886:                                            ; preds = %14885
  br label %14887

14887:                                            ; preds = %14886
  call void @exit(i32 noundef 1) #11
  unreachable

14888:                                            ; No predecessors!
  br label %14889

14889:                                            ; preds = %14888
  br label %14890

14890:                                            ; preds = %14889, %14830
  br label %14891

14891:                                            ; preds = %14890
  br label %14892

14892:                                            ; preds = %14891
  br label %14893

14893:                                            ; preds = %14892
  %14894 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %14894, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %14895 = call ptr @__errno_location() #10
  store i32 0, ptr %14895, align 4, !tbaa !5
  br label %14896

14896:                                            ; preds = %14893
  br label %14897

14897:                                            ; preds = %14896
  br label %14898

14898:                                            ; preds = %14897
  br label %14899

14899:                                            ; preds = %14898
  call void @llvm.lifetime.end.p0(i64 4, ptr %310) #9
  br label %14900

14900:                                            ; preds = %14899
  br label %14901

14901:                                            ; preds = %14900
  br label %14902

14902:                                            ; preds = %14901
  call void @llvm.lifetime.start.p0(i64 4, ptr %314) #9
  br label %14903

14903:                                            ; preds = %14902
  br label %14904

14904:                                            ; preds = %14903
  %14905 = load i32, ptr @test_count, align 4, !tbaa !5
  %14906 = add nsw i32 %14905, 1
  store i32 %14906, ptr @test_count, align 4, !tbaa !5
  %14907 = call i32 @s2n_add_overflow(i32 noundef -100, i32 noundef 100, ptr noundef %314)
  %14908 = icmp eq i32 %14907, -1
  br i1 %14908, label %14962, label %14909

14909:                                            ; preds = %14904
  br label %14910

14910:                                            ; preds = %14909
  br label %14911

14911:                                            ; preds = %14910
  call void @llvm.lifetime.start.p0(i64 4, ptr %315) #9
  %14912 = call ptr @__errno_location() #10
  %14913 = load i32, ptr %14912, align 4, !tbaa !5
  store i32 %14913, ptr %315, align 4, !tbaa !5
  %14914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14915 = call i32 @s2n_print_stacktrace(ptr noundef %14914)
  %14916 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14917 = trunc i8 %14916 to i1
  br i1 %14917, label %14918, label %14940

14918:                                            ; preds = %14911
  %14919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14920 = call i32 @fileno(ptr noundef %14919) #9
  %14921 = call i32 @isatty(i32 noundef %14920) #9
  %14922 = icmp ne i32 %14921, 0
  br i1 %14922, label %14923, label %14940

14923:                                            ; preds = %14918
  %14924 = load i32, ptr %315, align 4, !tbaa !5
  %14925 = call ptr @__errno_location() #10
  store i32 %14924, ptr %14925, align 4, !tbaa !5
  %14926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14927 = load i32, ptr @test_count, align 4, !tbaa !5
  %14928 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14929 = load i32, ptr %14928, align 4, !tbaa !5
  %14930 = call ptr @s2n_strerror(i32 noundef %14929, ptr noundef @.str.4)
  %14931 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14932 = load i32, ptr %14931, align 4, !tbaa !5
  %14933 = call ptr @s2n_strerror_debug(i32 noundef %14932, ptr noundef @.str.4)
  %14934 = call ptr @__errno_location() #10
  %14935 = load i32, ptr %14934, align 4, !tbaa !5
  %14936 = call ptr @strerror(i32 noundef %14935) #9
  %14937 = call ptr @__errno_location() #10
  %14938 = load i32, ptr %14937, align 4, !tbaa !5
  %14939 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14926, ptr noundef @.str.2, i32 noundef %14927, ptr noundef @.str.134, ptr noundef @.str.1, i32 noundef 394, ptr noundef %14930, ptr noundef %14933, ptr noundef %14936, i32 noundef %14938) #9
  br label %14957

14940:                                            ; preds = %14918, %14911
  %14941 = load i32, ptr %315, align 4, !tbaa !5
  %14942 = call ptr @__errno_location() #10
  store i32 %14941, ptr %14942, align 4, !tbaa !5
  %14943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14944 = load i32, ptr @test_count, align 4, !tbaa !5
  %14945 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14946 = load i32, ptr %14945, align 4, !tbaa !5
  %14947 = call ptr @s2n_strerror(i32 noundef %14946, ptr noundef @.str.4)
  %14948 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14949 = load i32, ptr %14948, align 4, !tbaa !5
  %14950 = call ptr @s2n_strerror_debug(i32 noundef %14949, ptr noundef @.str.4)
  %14951 = call ptr @__errno_location() #10
  %14952 = load i32, ptr %14951, align 4, !tbaa !5
  %14953 = call ptr @strerror(i32 noundef %14952) #9
  %14954 = call ptr @__errno_location() #10
  %14955 = load i32, ptr %14954, align 4, !tbaa !5
  %14956 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14943, ptr noundef @.str.5, i32 noundef %14944, ptr noundef @.str.134, ptr noundef @.str.1, i32 noundef 394, ptr noundef %14947, ptr noundef %14950, ptr noundef %14953, i32 noundef %14955) #9
  br label %14957

14957:                                            ; preds = %14940, %14923
  call void @llvm.lifetime.end.p0(i64 4, ptr %315) #9
  br label %14958

14958:                                            ; preds = %14957
  br label %14959

14959:                                            ; preds = %14958
  call void @exit(i32 noundef 1) #11
  unreachable

14960:                                            ; No predecessors!
  br label %14961

14961:                                            ; preds = %14960
  br label %14962

14962:                                            ; preds = %14961, %14904
  br label %14963

14963:                                            ; preds = %14962
  br label %14964

14964:                                            ; preds = %14963
  br label %14965

14965:                                            ; preds = %14964
  %14966 = load i32, ptr @test_count, align 4, !tbaa !5
  %14967 = add nsw i32 %14966, 1
  store i32 %14967, ptr @test_count, align 4, !tbaa !5
  %14968 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14969 = load i32, ptr %14968, align 4, !tbaa !5
  %14970 = icmp eq i32 %14969, 0
  br i1 %14970, label %14971, label %15024

14971:                                            ; preds = %14965
  br label %14972

14972:                                            ; preds = %14971
  br label %14973

14973:                                            ; preds = %14972
  call void @llvm.lifetime.start.p0(i64 4, ptr %316) #9
  %14974 = call ptr @__errno_location() #10
  %14975 = load i32, ptr %14974, align 4, !tbaa !5
  store i32 %14975, ptr %316, align 4, !tbaa !5
  %14976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14977 = call i32 @s2n_print_stacktrace(ptr noundef %14976)
  %14978 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14979 = trunc i8 %14978 to i1
  br i1 %14979, label %14980, label %15002

14980:                                            ; preds = %14973
  %14981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14982 = call i32 @fileno(ptr noundef %14981) #9
  %14983 = call i32 @isatty(i32 noundef %14982) #9
  %14984 = icmp ne i32 %14983, 0
  br i1 %14984, label %14985, label %15002

14985:                                            ; preds = %14980
  %14986 = load i32, ptr %316, align 4, !tbaa !5
  %14987 = call ptr @__errno_location() #10
  store i32 %14986, ptr %14987, align 4, !tbaa !5
  %14988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14989 = load i32, ptr @test_count, align 4, !tbaa !5
  %14990 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14991 = load i32, ptr %14990, align 4, !tbaa !5
  %14992 = call ptr @s2n_strerror(i32 noundef %14991, ptr noundef @.str.4)
  %14993 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14994 = load i32, ptr %14993, align 4, !tbaa !5
  %14995 = call ptr @s2n_strerror_debug(i32 noundef %14994, ptr noundef @.str.4)
  %14996 = call ptr @__errno_location() #10
  %14997 = load i32, ptr %14996, align 4, !tbaa !5
  %14998 = call ptr @strerror(i32 noundef %14997) #9
  %14999 = call ptr @__errno_location() #10
  %15000 = load i32, ptr %14999, align 4, !tbaa !5
  %15001 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14988, ptr noundef @.str.2, i32 noundef %14989, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 394, ptr noundef %14992, ptr noundef %14995, ptr noundef %14998, i32 noundef %15000) #9
  br label %15019

15002:                                            ; preds = %14980, %14973
  %15003 = load i32, ptr %316, align 4, !tbaa !5
  %15004 = call ptr @__errno_location() #10
  store i32 %15003, ptr %15004, align 4, !tbaa !5
  %15005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15006 = load i32, ptr @test_count, align 4, !tbaa !5
  %15007 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15008 = load i32, ptr %15007, align 4, !tbaa !5
  %15009 = call ptr @s2n_strerror(i32 noundef %15008, ptr noundef @.str.4)
  %15010 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15011 = load i32, ptr %15010, align 4, !tbaa !5
  %15012 = call ptr @s2n_strerror_debug(i32 noundef %15011, ptr noundef @.str.4)
  %15013 = call ptr @__errno_location() #10
  %15014 = load i32, ptr %15013, align 4, !tbaa !5
  %15015 = call ptr @strerror(i32 noundef %15014) #9
  %15016 = call ptr @__errno_location() #10
  %15017 = load i32, ptr %15016, align 4, !tbaa !5
  %15018 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15005, ptr noundef @.str.5, i32 noundef %15006, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 394, ptr noundef %15009, ptr noundef %15012, ptr noundef %15015, i32 noundef %15017) #9
  br label %15019

15019:                                            ; preds = %15002, %14985
  call void @llvm.lifetime.end.p0(i64 4, ptr %316) #9
  br label %15020

15020:                                            ; preds = %15019
  br label %15021

15021:                                            ; preds = %15020
  call void @exit(i32 noundef 1) #11
  unreachable

15022:                                            ; No predecessors!
  br label %15023

15023:                                            ; preds = %15022
  br label %15024

15024:                                            ; preds = %15023, %14965
  br label %15025

15025:                                            ; preds = %15024
  br label %15026

15026:                                            ; preds = %15025
  br label %15027

15027:                                            ; preds = %15026
  %15028 = load i32, ptr @test_count, align 4, !tbaa !5
  %15029 = add nsw i32 %15028, 1
  store i32 %15029, ptr @test_count, align 4, !tbaa !5
  %15030 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15031 = load i32, ptr %15030, align 4, !tbaa !5
  %15032 = call ptr @s2n_strerror_debug(i32 noundef %15031, ptr noundef @.str.4)
  %15033 = icmp eq ptr %15032, null
  br i1 %15033, label %15034, label %15087

15034:                                            ; preds = %15027
  br label %15035

15035:                                            ; preds = %15034
  br label %15036

15036:                                            ; preds = %15035
  call void @llvm.lifetime.start.p0(i64 4, ptr %317) #9
  %15037 = call ptr @__errno_location() #10
  %15038 = load i32, ptr %15037, align 4, !tbaa !5
  store i32 %15038, ptr %317, align 4, !tbaa !5
  %15039 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15040 = call i32 @s2n_print_stacktrace(ptr noundef %15039)
  %15041 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15042 = trunc i8 %15041 to i1
  br i1 %15042, label %15043, label %15065

15043:                                            ; preds = %15036
  %15044 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15045 = call i32 @fileno(ptr noundef %15044) #9
  %15046 = call i32 @isatty(i32 noundef %15045) #9
  %15047 = icmp ne i32 %15046, 0
  br i1 %15047, label %15048, label %15065

15048:                                            ; preds = %15043
  %15049 = load i32, ptr %317, align 4, !tbaa !5
  %15050 = call ptr @__errno_location() #10
  store i32 %15049, ptr %15050, align 4, !tbaa !5
  %15051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15052 = load i32, ptr @test_count, align 4, !tbaa !5
  %15053 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15054 = load i32, ptr %15053, align 4, !tbaa !5
  %15055 = call ptr @s2n_strerror(i32 noundef %15054, ptr noundef @.str.4)
  %15056 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15057 = load i32, ptr %15056, align 4, !tbaa !5
  %15058 = call ptr @s2n_strerror_debug(i32 noundef %15057, ptr noundef @.str.4)
  %15059 = call ptr @__errno_location() #10
  %15060 = load i32, ptr %15059, align 4, !tbaa !5
  %15061 = call ptr @strerror(i32 noundef %15060) #9
  %15062 = call ptr @__errno_location() #10
  %15063 = load i32, ptr %15062, align 4, !tbaa !5
  %15064 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15051, ptr noundef @.str.2, i32 noundef %15052, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 394, ptr noundef %15055, ptr noundef %15058, ptr noundef %15061, i32 noundef %15063) #9
  br label %15082

15065:                                            ; preds = %15043, %15036
  %15066 = load i32, ptr %317, align 4, !tbaa !5
  %15067 = call ptr @__errno_location() #10
  store i32 %15066, ptr %15067, align 4, !tbaa !5
  %15068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15069 = load i32, ptr @test_count, align 4, !tbaa !5
  %15070 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15071 = load i32, ptr %15070, align 4, !tbaa !5
  %15072 = call ptr @s2n_strerror(i32 noundef %15071, ptr noundef @.str.4)
  %15073 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15074 = load i32, ptr %15073, align 4, !tbaa !5
  %15075 = call ptr @s2n_strerror_debug(i32 noundef %15074, ptr noundef @.str.4)
  %15076 = call ptr @__errno_location() #10
  %15077 = load i32, ptr %15076, align 4, !tbaa !5
  %15078 = call ptr @strerror(i32 noundef %15077) #9
  %15079 = call ptr @__errno_location() #10
  %15080 = load i32, ptr %15079, align 4, !tbaa !5
  %15081 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15068, ptr noundef @.str.5, i32 noundef %15069, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 394, ptr noundef %15072, ptr noundef %15075, ptr noundef %15078, i32 noundef %15080) #9
  br label %15082

15082:                                            ; preds = %15065, %15048
  call void @llvm.lifetime.end.p0(i64 4, ptr %317) #9
  br label %15083

15083:                                            ; preds = %15082
  br label %15084

15084:                                            ; preds = %15083
  call void @exit(i32 noundef 1) #11
  unreachable

15085:                                            ; No predecessors!
  br label %15086

15086:                                            ; preds = %15085
  br label %15087

15087:                                            ; preds = %15086, %15027
  br label %15088

15088:                                            ; preds = %15087
  br label %15089

15089:                                            ; preds = %15088
  br label %15090

15090:                                            ; preds = %15089
  %15091 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %15091, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %15092 = call ptr @__errno_location() #10
  store i32 0, ptr %15092, align 4, !tbaa !5
  br label %15093

15093:                                            ; preds = %15090
  br label %15094

15094:                                            ; preds = %15093
  br label %15095

15095:                                            ; preds = %15094
  br label %15096

15096:                                            ; preds = %15095
  call void @llvm.lifetime.end.p0(i64 4, ptr %314) #9
  br label %15097

15097:                                            ; preds = %15096
  br label %15098

15098:                                            ; preds = %15097
  br label %15099

15099:                                            ; preds = %15098
  br label %15100

15100:                                            ; preds = %15099
  br label %15101

15101:                                            ; preds = %15100
  br label %15102

15102:                                            ; preds = %15101
  call void @llvm.lifetime.start.p0(i64 4, ptr %318) #9
  br label %15103

15103:                                            ; preds = %15102
  br label %15104

15104:                                            ; preds = %15103
  %15105 = load i32, ptr @test_count, align 4, !tbaa !5
  %15106 = add nsw i32 %15105, 1
  store i32 %15106, ptr @test_count, align 4, !tbaa !5
  %15107 = call i32 @s2n_add_overflow(i32 noundef 100, i32 noundef -2, ptr noundef %318)
  %15108 = icmp eq i32 %15107, -1
  br i1 %15108, label %15162, label %15109

15109:                                            ; preds = %15104
  br label %15110

15110:                                            ; preds = %15109
  br label %15111

15111:                                            ; preds = %15110
  call void @llvm.lifetime.start.p0(i64 4, ptr %319) #9
  %15112 = call ptr @__errno_location() #10
  %15113 = load i32, ptr %15112, align 4, !tbaa !5
  store i32 %15113, ptr %319, align 4, !tbaa !5
  %15114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15115 = call i32 @s2n_print_stacktrace(ptr noundef %15114)
  %15116 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15117 = trunc i8 %15116 to i1
  br i1 %15117, label %15118, label %15140

15118:                                            ; preds = %15111
  %15119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15120 = call i32 @fileno(ptr noundef %15119) #9
  %15121 = call i32 @isatty(i32 noundef %15120) #9
  %15122 = icmp ne i32 %15121, 0
  br i1 %15122, label %15123, label %15140

15123:                                            ; preds = %15118
  %15124 = load i32, ptr %319, align 4, !tbaa !5
  %15125 = call ptr @__errno_location() #10
  store i32 %15124, ptr %15125, align 4, !tbaa !5
  %15126 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15127 = load i32, ptr @test_count, align 4, !tbaa !5
  %15128 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15129 = load i32, ptr %15128, align 4, !tbaa !5
  %15130 = call ptr @s2n_strerror(i32 noundef %15129, ptr noundef @.str.4)
  %15131 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15132 = load i32, ptr %15131, align 4, !tbaa !5
  %15133 = call ptr @s2n_strerror_debug(i32 noundef %15132, ptr noundef @.str.4)
  %15134 = call ptr @__errno_location() #10
  %15135 = load i32, ptr %15134, align 4, !tbaa !5
  %15136 = call ptr @strerror(i32 noundef %15135) #9
  %15137 = call ptr @__errno_location() #10
  %15138 = load i32, ptr %15137, align 4, !tbaa !5
  %15139 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15126, ptr noundef @.str.2, i32 noundef %15127, ptr noundef @.str.135, ptr noundef @.str.1, i32 noundef 395, ptr noundef %15130, ptr noundef %15133, ptr noundef %15136, i32 noundef %15138) #9
  br label %15157

15140:                                            ; preds = %15118, %15111
  %15141 = load i32, ptr %319, align 4, !tbaa !5
  %15142 = call ptr @__errno_location() #10
  store i32 %15141, ptr %15142, align 4, !tbaa !5
  %15143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15144 = load i32, ptr @test_count, align 4, !tbaa !5
  %15145 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15146 = load i32, ptr %15145, align 4, !tbaa !5
  %15147 = call ptr @s2n_strerror(i32 noundef %15146, ptr noundef @.str.4)
  %15148 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15149 = load i32, ptr %15148, align 4, !tbaa !5
  %15150 = call ptr @s2n_strerror_debug(i32 noundef %15149, ptr noundef @.str.4)
  %15151 = call ptr @__errno_location() #10
  %15152 = load i32, ptr %15151, align 4, !tbaa !5
  %15153 = call ptr @strerror(i32 noundef %15152) #9
  %15154 = call ptr @__errno_location() #10
  %15155 = load i32, ptr %15154, align 4, !tbaa !5
  %15156 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15143, ptr noundef @.str.5, i32 noundef %15144, ptr noundef @.str.135, ptr noundef @.str.1, i32 noundef 395, ptr noundef %15147, ptr noundef %15150, ptr noundef %15153, i32 noundef %15155) #9
  br label %15157

15157:                                            ; preds = %15140, %15123
  call void @llvm.lifetime.end.p0(i64 4, ptr %319) #9
  br label %15158

15158:                                            ; preds = %15157
  br label %15159

15159:                                            ; preds = %15158
  call void @exit(i32 noundef 1) #11
  unreachable

15160:                                            ; No predecessors!
  br label %15161

15161:                                            ; preds = %15160
  br label %15162

15162:                                            ; preds = %15161, %15104
  br label %15163

15163:                                            ; preds = %15162
  br label %15164

15164:                                            ; preds = %15163
  br label %15165

15165:                                            ; preds = %15164
  %15166 = load i32, ptr @test_count, align 4, !tbaa !5
  %15167 = add nsw i32 %15166, 1
  store i32 %15167, ptr @test_count, align 4, !tbaa !5
  %15168 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15169 = load i32, ptr %15168, align 4, !tbaa !5
  %15170 = icmp eq i32 %15169, 0
  br i1 %15170, label %15171, label %15224

15171:                                            ; preds = %15165
  br label %15172

15172:                                            ; preds = %15171
  br label %15173

15173:                                            ; preds = %15172
  call void @llvm.lifetime.start.p0(i64 4, ptr %320) #9
  %15174 = call ptr @__errno_location() #10
  %15175 = load i32, ptr %15174, align 4, !tbaa !5
  store i32 %15175, ptr %320, align 4, !tbaa !5
  %15176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15177 = call i32 @s2n_print_stacktrace(ptr noundef %15176)
  %15178 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15179 = trunc i8 %15178 to i1
  br i1 %15179, label %15180, label %15202

15180:                                            ; preds = %15173
  %15181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15182 = call i32 @fileno(ptr noundef %15181) #9
  %15183 = call i32 @isatty(i32 noundef %15182) #9
  %15184 = icmp ne i32 %15183, 0
  br i1 %15184, label %15185, label %15202

15185:                                            ; preds = %15180
  %15186 = load i32, ptr %320, align 4, !tbaa !5
  %15187 = call ptr @__errno_location() #10
  store i32 %15186, ptr %15187, align 4, !tbaa !5
  %15188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15189 = load i32, ptr @test_count, align 4, !tbaa !5
  %15190 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15191 = load i32, ptr %15190, align 4, !tbaa !5
  %15192 = call ptr @s2n_strerror(i32 noundef %15191, ptr noundef @.str.4)
  %15193 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15194 = load i32, ptr %15193, align 4, !tbaa !5
  %15195 = call ptr @s2n_strerror_debug(i32 noundef %15194, ptr noundef @.str.4)
  %15196 = call ptr @__errno_location() #10
  %15197 = load i32, ptr %15196, align 4, !tbaa !5
  %15198 = call ptr @strerror(i32 noundef %15197) #9
  %15199 = call ptr @__errno_location() #10
  %15200 = load i32, ptr %15199, align 4, !tbaa !5
  %15201 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15188, ptr noundef @.str.2, i32 noundef %15189, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 395, ptr noundef %15192, ptr noundef %15195, ptr noundef %15198, i32 noundef %15200) #9
  br label %15219

15202:                                            ; preds = %15180, %15173
  %15203 = load i32, ptr %320, align 4, !tbaa !5
  %15204 = call ptr @__errno_location() #10
  store i32 %15203, ptr %15204, align 4, !tbaa !5
  %15205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15206 = load i32, ptr @test_count, align 4, !tbaa !5
  %15207 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15208 = load i32, ptr %15207, align 4, !tbaa !5
  %15209 = call ptr @s2n_strerror(i32 noundef %15208, ptr noundef @.str.4)
  %15210 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15211 = load i32, ptr %15210, align 4, !tbaa !5
  %15212 = call ptr @s2n_strerror_debug(i32 noundef %15211, ptr noundef @.str.4)
  %15213 = call ptr @__errno_location() #10
  %15214 = load i32, ptr %15213, align 4, !tbaa !5
  %15215 = call ptr @strerror(i32 noundef %15214) #9
  %15216 = call ptr @__errno_location() #10
  %15217 = load i32, ptr %15216, align 4, !tbaa !5
  %15218 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15205, ptr noundef @.str.5, i32 noundef %15206, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 395, ptr noundef %15209, ptr noundef %15212, ptr noundef %15215, i32 noundef %15217) #9
  br label %15219

15219:                                            ; preds = %15202, %15185
  call void @llvm.lifetime.end.p0(i64 4, ptr %320) #9
  br label %15220

15220:                                            ; preds = %15219
  br label %15221

15221:                                            ; preds = %15220
  call void @exit(i32 noundef 1) #11
  unreachable

15222:                                            ; No predecessors!
  br label %15223

15223:                                            ; preds = %15222
  br label %15224

15224:                                            ; preds = %15223, %15165
  br label %15225

15225:                                            ; preds = %15224
  br label %15226

15226:                                            ; preds = %15225
  br label %15227

15227:                                            ; preds = %15226
  %15228 = load i32, ptr @test_count, align 4, !tbaa !5
  %15229 = add nsw i32 %15228, 1
  store i32 %15229, ptr @test_count, align 4, !tbaa !5
  %15230 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15231 = load i32, ptr %15230, align 4, !tbaa !5
  %15232 = call ptr @s2n_strerror_debug(i32 noundef %15231, ptr noundef @.str.4)
  %15233 = icmp eq ptr %15232, null
  br i1 %15233, label %15234, label %15287

15234:                                            ; preds = %15227
  br label %15235

15235:                                            ; preds = %15234
  br label %15236

15236:                                            ; preds = %15235
  call void @llvm.lifetime.start.p0(i64 4, ptr %321) #9
  %15237 = call ptr @__errno_location() #10
  %15238 = load i32, ptr %15237, align 4, !tbaa !5
  store i32 %15238, ptr %321, align 4, !tbaa !5
  %15239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15240 = call i32 @s2n_print_stacktrace(ptr noundef %15239)
  %15241 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15242 = trunc i8 %15241 to i1
  br i1 %15242, label %15243, label %15265

15243:                                            ; preds = %15236
  %15244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15245 = call i32 @fileno(ptr noundef %15244) #9
  %15246 = call i32 @isatty(i32 noundef %15245) #9
  %15247 = icmp ne i32 %15246, 0
  br i1 %15247, label %15248, label %15265

15248:                                            ; preds = %15243
  %15249 = load i32, ptr %321, align 4, !tbaa !5
  %15250 = call ptr @__errno_location() #10
  store i32 %15249, ptr %15250, align 4, !tbaa !5
  %15251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15252 = load i32, ptr @test_count, align 4, !tbaa !5
  %15253 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15254 = load i32, ptr %15253, align 4, !tbaa !5
  %15255 = call ptr @s2n_strerror(i32 noundef %15254, ptr noundef @.str.4)
  %15256 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15257 = load i32, ptr %15256, align 4, !tbaa !5
  %15258 = call ptr @s2n_strerror_debug(i32 noundef %15257, ptr noundef @.str.4)
  %15259 = call ptr @__errno_location() #10
  %15260 = load i32, ptr %15259, align 4, !tbaa !5
  %15261 = call ptr @strerror(i32 noundef %15260) #9
  %15262 = call ptr @__errno_location() #10
  %15263 = load i32, ptr %15262, align 4, !tbaa !5
  %15264 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15251, ptr noundef @.str.2, i32 noundef %15252, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 395, ptr noundef %15255, ptr noundef %15258, ptr noundef %15261, i32 noundef %15263) #9
  br label %15282

15265:                                            ; preds = %15243, %15236
  %15266 = load i32, ptr %321, align 4, !tbaa !5
  %15267 = call ptr @__errno_location() #10
  store i32 %15266, ptr %15267, align 4, !tbaa !5
  %15268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15269 = load i32, ptr @test_count, align 4, !tbaa !5
  %15270 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15271 = load i32, ptr %15270, align 4, !tbaa !5
  %15272 = call ptr @s2n_strerror(i32 noundef %15271, ptr noundef @.str.4)
  %15273 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15274 = load i32, ptr %15273, align 4, !tbaa !5
  %15275 = call ptr @s2n_strerror_debug(i32 noundef %15274, ptr noundef @.str.4)
  %15276 = call ptr @__errno_location() #10
  %15277 = load i32, ptr %15276, align 4, !tbaa !5
  %15278 = call ptr @strerror(i32 noundef %15277) #9
  %15279 = call ptr @__errno_location() #10
  %15280 = load i32, ptr %15279, align 4, !tbaa !5
  %15281 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15268, ptr noundef @.str.5, i32 noundef %15269, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 395, ptr noundef %15272, ptr noundef %15275, ptr noundef %15278, i32 noundef %15280) #9
  br label %15282

15282:                                            ; preds = %15265, %15248
  call void @llvm.lifetime.end.p0(i64 4, ptr %321) #9
  br label %15283

15283:                                            ; preds = %15282
  br label %15284

15284:                                            ; preds = %15283
  call void @exit(i32 noundef 1) #11
  unreachable

15285:                                            ; No predecessors!
  br label %15286

15286:                                            ; preds = %15285
  br label %15287

15287:                                            ; preds = %15286, %15227
  br label %15288

15288:                                            ; preds = %15287
  br label %15289

15289:                                            ; preds = %15288
  br label %15290

15290:                                            ; preds = %15289
  %15291 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %15291, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %15292 = call ptr @__errno_location() #10
  store i32 0, ptr %15292, align 4, !tbaa !5
  br label %15293

15293:                                            ; preds = %15290
  br label %15294

15294:                                            ; preds = %15293
  br label %15295

15295:                                            ; preds = %15294
  br label %15296

15296:                                            ; preds = %15295
  call void @llvm.lifetime.end.p0(i64 4, ptr %318) #9
  br label %15297

15297:                                            ; preds = %15296
  br label %15298

15298:                                            ; preds = %15297
  br label %15299

15299:                                            ; preds = %15298
  call void @llvm.lifetime.start.p0(i64 4, ptr %322) #9
  br label %15300

15300:                                            ; preds = %15299
  br label %15301

15301:                                            ; preds = %15300
  %15302 = load i32, ptr @test_count, align 4, !tbaa !5
  %15303 = add nsw i32 %15302, 1
  store i32 %15303, ptr @test_count, align 4, !tbaa !5
  %15304 = call i32 @s2n_add_overflow(i32 noundef -2, i32 noundef 100, ptr noundef %322)
  %15305 = icmp eq i32 %15304, -1
  br i1 %15305, label %15359, label %15306

15306:                                            ; preds = %15301
  br label %15307

15307:                                            ; preds = %15306
  br label %15308

15308:                                            ; preds = %15307
  call void @llvm.lifetime.start.p0(i64 4, ptr %323) #9
  %15309 = call ptr @__errno_location() #10
  %15310 = load i32, ptr %15309, align 4, !tbaa !5
  store i32 %15310, ptr %323, align 4, !tbaa !5
  %15311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15312 = call i32 @s2n_print_stacktrace(ptr noundef %15311)
  %15313 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15314 = trunc i8 %15313 to i1
  br i1 %15314, label %15315, label %15337

15315:                                            ; preds = %15308
  %15316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15317 = call i32 @fileno(ptr noundef %15316) #9
  %15318 = call i32 @isatty(i32 noundef %15317) #9
  %15319 = icmp ne i32 %15318, 0
  br i1 %15319, label %15320, label %15337

15320:                                            ; preds = %15315
  %15321 = load i32, ptr %323, align 4, !tbaa !5
  %15322 = call ptr @__errno_location() #10
  store i32 %15321, ptr %15322, align 4, !tbaa !5
  %15323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15324 = load i32, ptr @test_count, align 4, !tbaa !5
  %15325 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15326 = load i32, ptr %15325, align 4, !tbaa !5
  %15327 = call ptr @s2n_strerror(i32 noundef %15326, ptr noundef @.str.4)
  %15328 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15329 = load i32, ptr %15328, align 4, !tbaa !5
  %15330 = call ptr @s2n_strerror_debug(i32 noundef %15329, ptr noundef @.str.4)
  %15331 = call ptr @__errno_location() #10
  %15332 = load i32, ptr %15331, align 4, !tbaa !5
  %15333 = call ptr @strerror(i32 noundef %15332) #9
  %15334 = call ptr @__errno_location() #10
  %15335 = load i32, ptr %15334, align 4, !tbaa !5
  %15336 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15323, ptr noundef @.str.2, i32 noundef %15324, ptr noundef @.str.136, ptr noundef @.str.1, i32 noundef 395, ptr noundef %15327, ptr noundef %15330, ptr noundef %15333, i32 noundef %15335) #9
  br label %15354

15337:                                            ; preds = %15315, %15308
  %15338 = load i32, ptr %323, align 4, !tbaa !5
  %15339 = call ptr @__errno_location() #10
  store i32 %15338, ptr %15339, align 4, !tbaa !5
  %15340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15341 = load i32, ptr @test_count, align 4, !tbaa !5
  %15342 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15343 = load i32, ptr %15342, align 4, !tbaa !5
  %15344 = call ptr @s2n_strerror(i32 noundef %15343, ptr noundef @.str.4)
  %15345 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15346 = load i32, ptr %15345, align 4, !tbaa !5
  %15347 = call ptr @s2n_strerror_debug(i32 noundef %15346, ptr noundef @.str.4)
  %15348 = call ptr @__errno_location() #10
  %15349 = load i32, ptr %15348, align 4, !tbaa !5
  %15350 = call ptr @strerror(i32 noundef %15349) #9
  %15351 = call ptr @__errno_location() #10
  %15352 = load i32, ptr %15351, align 4, !tbaa !5
  %15353 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15340, ptr noundef @.str.5, i32 noundef %15341, ptr noundef @.str.136, ptr noundef @.str.1, i32 noundef 395, ptr noundef %15344, ptr noundef %15347, ptr noundef %15350, i32 noundef %15352) #9
  br label %15354

15354:                                            ; preds = %15337, %15320
  call void @llvm.lifetime.end.p0(i64 4, ptr %323) #9
  br label %15355

15355:                                            ; preds = %15354
  br label %15356

15356:                                            ; preds = %15355
  call void @exit(i32 noundef 1) #11
  unreachable

15357:                                            ; No predecessors!
  br label %15358

15358:                                            ; preds = %15357
  br label %15359

15359:                                            ; preds = %15358, %15301
  br label %15360

15360:                                            ; preds = %15359
  br label %15361

15361:                                            ; preds = %15360
  br label %15362

15362:                                            ; preds = %15361
  %15363 = load i32, ptr @test_count, align 4, !tbaa !5
  %15364 = add nsw i32 %15363, 1
  store i32 %15364, ptr @test_count, align 4, !tbaa !5
  %15365 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15366 = load i32, ptr %15365, align 4, !tbaa !5
  %15367 = icmp eq i32 %15366, 0
  br i1 %15367, label %15368, label %15421

15368:                                            ; preds = %15362
  br label %15369

15369:                                            ; preds = %15368
  br label %15370

15370:                                            ; preds = %15369
  call void @llvm.lifetime.start.p0(i64 4, ptr %324) #9
  %15371 = call ptr @__errno_location() #10
  %15372 = load i32, ptr %15371, align 4, !tbaa !5
  store i32 %15372, ptr %324, align 4, !tbaa !5
  %15373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15374 = call i32 @s2n_print_stacktrace(ptr noundef %15373)
  %15375 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15376 = trunc i8 %15375 to i1
  br i1 %15376, label %15377, label %15399

15377:                                            ; preds = %15370
  %15378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15379 = call i32 @fileno(ptr noundef %15378) #9
  %15380 = call i32 @isatty(i32 noundef %15379) #9
  %15381 = icmp ne i32 %15380, 0
  br i1 %15381, label %15382, label %15399

15382:                                            ; preds = %15377
  %15383 = load i32, ptr %324, align 4, !tbaa !5
  %15384 = call ptr @__errno_location() #10
  store i32 %15383, ptr %15384, align 4, !tbaa !5
  %15385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15386 = load i32, ptr @test_count, align 4, !tbaa !5
  %15387 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15388 = load i32, ptr %15387, align 4, !tbaa !5
  %15389 = call ptr @s2n_strerror(i32 noundef %15388, ptr noundef @.str.4)
  %15390 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15391 = load i32, ptr %15390, align 4, !tbaa !5
  %15392 = call ptr @s2n_strerror_debug(i32 noundef %15391, ptr noundef @.str.4)
  %15393 = call ptr @__errno_location() #10
  %15394 = load i32, ptr %15393, align 4, !tbaa !5
  %15395 = call ptr @strerror(i32 noundef %15394) #9
  %15396 = call ptr @__errno_location() #10
  %15397 = load i32, ptr %15396, align 4, !tbaa !5
  %15398 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15385, ptr noundef @.str.2, i32 noundef %15386, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 395, ptr noundef %15389, ptr noundef %15392, ptr noundef %15395, i32 noundef %15397) #9
  br label %15416

15399:                                            ; preds = %15377, %15370
  %15400 = load i32, ptr %324, align 4, !tbaa !5
  %15401 = call ptr @__errno_location() #10
  store i32 %15400, ptr %15401, align 4, !tbaa !5
  %15402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15403 = load i32, ptr @test_count, align 4, !tbaa !5
  %15404 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15405 = load i32, ptr %15404, align 4, !tbaa !5
  %15406 = call ptr @s2n_strerror(i32 noundef %15405, ptr noundef @.str.4)
  %15407 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15408 = load i32, ptr %15407, align 4, !tbaa !5
  %15409 = call ptr @s2n_strerror_debug(i32 noundef %15408, ptr noundef @.str.4)
  %15410 = call ptr @__errno_location() #10
  %15411 = load i32, ptr %15410, align 4, !tbaa !5
  %15412 = call ptr @strerror(i32 noundef %15411) #9
  %15413 = call ptr @__errno_location() #10
  %15414 = load i32, ptr %15413, align 4, !tbaa !5
  %15415 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15402, ptr noundef @.str.5, i32 noundef %15403, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 395, ptr noundef %15406, ptr noundef %15409, ptr noundef %15412, i32 noundef %15414) #9
  br label %15416

15416:                                            ; preds = %15399, %15382
  call void @llvm.lifetime.end.p0(i64 4, ptr %324) #9
  br label %15417

15417:                                            ; preds = %15416
  br label %15418

15418:                                            ; preds = %15417
  call void @exit(i32 noundef 1) #11
  unreachable

15419:                                            ; No predecessors!
  br label %15420

15420:                                            ; preds = %15419
  br label %15421

15421:                                            ; preds = %15420, %15362
  br label %15422

15422:                                            ; preds = %15421
  br label %15423

15423:                                            ; preds = %15422
  br label %15424

15424:                                            ; preds = %15423
  %15425 = load i32, ptr @test_count, align 4, !tbaa !5
  %15426 = add nsw i32 %15425, 1
  store i32 %15426, ptr @test_count, align 4, !tbaa !5
  %15427 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15428 = load i32, ptr %15427, align 4, !tbaa !5
  %15429 = call ptr @s2n_strerror_debug(i32 noundef %15428, ptr noundef @.str.4)
  %15430 = icmp eq ptr %15429, null
  br i1 %15430, label %15431, label %15484

15431:                                            ; preds = %15424
  br label %15432

15432:                                            ; preds = %15431
  br label %15433

15433:                                            ; preds = %15432
  call void @llvm.lifetime.start.p0(i64 4, ptr %325) #9
  %15434 = call ptr @__errno_location() #10
  %15435 = load i32, ptr %15434, align 4, !tbaa !5
  store i32 %15435, ptr %325, align 4, !tbaa !5
  %15436 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15437 = call i32 @s2n_print_stacktrace(ptr noundef %15436)
  %15438 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15439 = trunc i8 %15438 to i1
  br i1 %15439, label %15440, label %15462

15440:                                            ; preds = %15433
  %15441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15442 = call i32 @fileno(ptr noundef %15441) #9
  %15443 = call i32 @isatty(i32 noundef %15442) #9
  %15444 = icmp ne i32 %15443, 0
  br i1 %15444, label %15445, label %15462

15445:                                            ; preds = %15440
  %15446 = load i32, ptr %325, align 4, !tbaa !5
  %15447 = call ptr @__errno_location() #10
  store i32 %15446, ptr %15447, align 4, !tbaa !5
  %15448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15449 = load i32, ptr @test_count, align 4, !tbaa !5
  %15450 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15451 = load i32, ptr %15450, align 4, !tbaa !5
  %15452 = call ptr @s2n_strerror(i32 noundef %15451, ptr noundef @.str.4)
  %15453 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15454 = load i32, ptr %15453, align 4, !tbaa !5
  %15455 = call ptr @s2n_strerror_debug(i32 noundef %15454, ptr noundef @.str.4)
  %15456 = call ptr @__errno_location() #10
  %15457 = load i32, ptr %15456, align 4, !tbaa !5
  %15458 = call ptr @strerror(i32 noundef %15457) #9
  %15459 = call ptr @__errno_location() #10
  %15460 = load i32, ptr %15459, align 4, !tbaa !5
  %15461 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15448, ptr noundef @.str.2, i32 noundef %15449, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 395, ptr noundef %15452, ptr noundef %15455, ptr noundef %15458, i32 noundef %15460) #9
  br label %15479

15462:                                            ; preds = %15440, %15433
  %15463 = load i32, ptr %325, align 4, !tbaa !5
  %15464 = call ptr @__errno_location() #10
  store i32 %15463, ptr %15464, align 4, !tbaa !5
  %15465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15466 = load i32, ptr @test_count, align 4, !tbaa !5
  %15467 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15468 = load i32, ptr %15467, align 4, !tbaa !5
  %15469 = call ptr @s2n_strerror(i32 noundef %15468, ptr noundef @.str.4)
  %15470 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15471 = load i32, ptr %15470, align 4, !tbaa !5
  %15472 = call ptr @s2n_strerror_debug(i32 noundef %15471, ptr noundef @.str.4)
  %15473 = call ptr @__errno_location() #10
  %15474 = load i32, ptr %15473, align 4, !tbaa !5
  %15475 = call ptr @strerror(i32 noundef %15474) #9
  %15476 = call ptr @__errno_location() #10
  %15477 = load i32, ptr %15476, align 4, !tbaa !5
  %15478 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15465, ptr noundef @.str.5, i32 noundef %15466, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 395, ptr noundef %15469, ptr noundef %15472, ptr noundef %15475, i32 noundef %15477) #9
  br label %15479

15479:                                            ; preds = %15462, %15445
  call void @llvm.lifetime.end.p0(i64 4, ptr %325) #9
  br label %15480

15480:                                            ; preds = %15479
  br label %15481

15481:                                            ; preds = %15480
  call void @exit(i32 noundef 1) #11
  unreachable

15482:                                            ; No predecessors!
  br label %15483

15483:                                            ; preds = %15482
  br label %15484

15484:                                            ; preds = %15483, %15424
  br label %15485

15485:                                            ; preds = %15484
  br label %15486

15486:                                            ; preds = %15485
  br label %15487

15487:                                            ; preds = %15486
  %15488 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %15488, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %15489 = call ptr @__errno_location() #10
  store i32 0, ptr %15489, align 4, !tbaa !5
  br label %15490

15490:                                            ; preds = %15487
  br label %15491

15491:                                            ; preds = %15490
  br label %15492

15492:                                            ; preds = %15491
  br label %15493

15493:                                            ; preds = %15492
  call void @llvm.lifetime.end.p0(i64 4, ptr %322) #9
  br label %15494

15494:                                            ; preds = %15493
  br label %15495

15495:                                            ; preds = %15494
  br label %15496

15496:                                            ; preds = %15495
  br label %15497

15497:                                            ; preds = %15496
  call void @llvm.lifetime.start.p0(i64 8, ptr %326) #9
  store i64 100, ptr %326, align 8, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 264, ptr %327) #9
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %327, ptr align 16 @__const.main.success_test_values, i64 264, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %328) #9
  store i64 0, ptr %328, align 8, !tbaa !20
  br label %15498

15498:                                            ; preds = %15651, %15497
  %15499 = load i64, ptr %328, align 8, !tbaa !20
  %15500 = icmp ult i64 %15499, 11
  br i1 %15500, label %15502, label %15501

15501:                                            ; preds = %15498
  store i32 1785, ptr %83, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %328) #9
  br label %15654

15502:                                            ; preds = %15498
  call void @llvm.lifetime.start.p0(i64 8, ptr %329) #9
  %15503 = load i64, ptr %328, align 8, !tbaa !20
  %15504 = getelementptr inbounds [11 x [3 x i64]], ptr %327, i64 0, i64 %15503
  %15505 = getelementptr inbounds [3 x i64], ptr %15504, i64 0, i64 0
  %15506 = load i64, ptr %15505, align 8, !tbaa !20
  store i64 %15506, ptr %329, align 8, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 8, ptr %330) #9
  %15507 = load i64, ptr %328, align 8, !tbaa !20
  %15508 = getelementptr inbounds [11 x [3 x i64]], ptr %327, i64 0, i64 %15507
  %15509 = getelementptr inbounds [3 x i64], ptr %15508, i64 0, i64 1
  %15510 = load i64, ptr %15509, align 8, !tbaa !20
  store i64 %15510, ptr %330, align 8, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 8, ptr %331) #9
  %15511 = load i64, ptr %328, align 8, !tbaa !20
  %15512 = getelementptr inbounds [11 x [3 x i64]], ptr %327, i64 0, i64 %15511
  %15513 = getelementptr inbounds [3 x i64], ptr %15512, i64 0, i64 2
  %15514 = load i64, ptr %15513, align 8, !tbaa !20
  store i64 %15514, ptr %331, align 8, !tbaa !20
  br label %15515

15515:                                            ; preds = %15502
  %15516 = load i32, ptr @test_count, align 4, !tbaa !5
  %15517 = add nsw i32 %15516, 1
  store i32 %15517, ptr @test_count, align 4, !tbaa !5
  %15518 = load i64, ptr %331, align 8, !tbaa !20
  %15519 = load i64, ptr %329, align 8, !tbaa !20
  %15520 = icmp uge i64 %15518, %15519
  br i1 %15520, label %15521, label %15527

15521:                                            ; preds = %15515
  %15522 = load i64, ptr %331, align 8, !tbaa !20
  %15523 = load i64, ptr %329, align 8, !tbaa !20
  %15524 = sub i64 %15522, %15523
  %15525 = load i64, ptr %330, align 8, !tbaa !20
  %15526 = icmp uge i64 %15524, %15525
  br i1 %15526, label %15580, label %15527

15527:                                            ; preds = %15521, %15515
  br label %15528

15528:                                            ; preds = %15527
  br label %15529

15529:                                            ; preds = %15528
  call void @llvm.lifetime.start.p0(i64 4, ptr %332) #9
  %15530 = call ptr @__errno_location() #10
  %15531 = load i32, ptr %15530, align 4, !tbaa !5
  store i32 %15531, ptr %332, align 4, !tbaa !5
  %15532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15533 = call i32 @s2n_print_stacktrace(ptr noundef %15532)
  %15534 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15535 = trunc i8 %15534 to i1
  br i1 %15535, label %15536, label %15558

15536:                                            ; preds = %15529
  %15537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15538 = call i32 @fileno(ptr noundef %15537) #9
  %15539 = call i32 @isatty(i32 noundef %15538) #9
  %15540 = icmp ne i32 %15539, 0
  br i1 %15540, label %15541, label %15558

15541:                                            ; preds = %15536
  %15542 = load i32, ptr %332, align 4, !tbaa !5
  %15543 = call ptr @__errno_location() #10
  store i32 %15542, ptr %15543, align 4, !tbaa !5
  %15544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15545 = load i32, ptr @test_count, align 4, !tbaa !5
  %15546 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15547 = load i32, ptr %15546, align 4, !tbaa !5
  %15548 = call ptr @s2n_strerror(i32 noundef %15547, ptr noundef @.str.4)
  %15549 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15550 = load i32, ptr %15549, align 4, !tbaa !5
  %15551 = call ptr @s2n_strerror_debug(i32 noundef %15550, ptr noundef @.str.4)
  %15552 = call ptr @__errno_location() #10
  %15553 = load i32, ptr %15552, align 4, !tbaa !5
  %15554 = call ptr @strerror(i32 noundef %15553) #9
  %15555 = call ptr @__errno_location() #10
  %15556 = load i32, ptr %15555, align 4, !tbaa !5
  %15557 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15544, ptr noundef @.str.2, i32 noundef %15545, ptr noundef @.str.137, ptr noundef @.str.1, i32 noundef 418, ptr noundef %15548, ptr noundef %15551, ptr noundef %15554, i32 noundef %15556) #9
  br label %15575

15558:                                            ; preds = %15536, %15529
  %15559 = load i32, ptr %332, align 4, !tbaa !5
  %15560 = call ptr @__errno_location() #10
  store i32 %15559, ptr %15560, align 4, !tbaa !5
  %15561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15562 = load i32, ptr @test_count, align 4, !tbaa !5
  %15563 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15564 = load i32, ptr %15563, align 4, !tbaa !5
  %15565 = call ptr @s2n_strerror(i32 noundef %15564, ptr noundef @.str.4)
  %15566 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15567 = load i32, ptr %15566, align 4, !tbaa !5
  %15568 = call ptr @s2n_strerror_debug(i32 noundef %15567, ptr noundef @.str.4)
  %15569 = call ptr @__errno_location() #10
  %15570 = load i32, ptr %15569, align 4, !tbaa !5
  %15571 = call ptr @strerror(i32 noundef %15570) #9
  %15572 = call ptr @__errno_location() #10
  %15573 = load i32, ptr %15572, align 4, !tbaa !5
  %15574 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15561, ptr noundef @.str.5, i32 noundef %15562, ptr noundef @.str.137, ptr noundef @.str.1, i32 noundef 418, ptr noundef %15565, ptr noundef %15568, ptr noundef %15571, i32 noundef %15573) #9
  br label %15575

15575:                                            ; preds = %15558, %15541
  call void @llvm.lifetime.end.p0(i64 4, ptr %332) #9
  br label %15576

15576:                                            ; preds = %15575
  br label %15577

15577:                                            ; preds = %15576
  call void @exit(i32 noundef 1) #11
  unreachable

15578:                                            ; No predecessors!
  br label %15579

15579:                                            ; preds = %15578
  br label %15580

15580:                                            ; preds = %15579, %15521
  br label %15581

15581:                                            ; preds = %15580
  br label %15582

15582:                                            ; preds = %15581
  br label %15583

15583:                                            ; preds = %15582
  %15584 = load i32, ptr @test_count, align 4, !tbaa !5
  %15585 = add nsw i32 %15584, 1
  store i32 %15585, ptr @test_count, align 4, !tbaa !5
  %15586 = load i64, ptr %331, align 8, !tbaa !20
  %15587 = load i64, ptr %330, align 8, !tbaa !20
  %15588 = icmp uge i64 %15586, %15587
  br i1 %15588, label %15589, label %15595

15589:                                            ; preds = %15583
  %15590 = load i64, ptr %331, align 8, !tbaa !20
  %15591 = load i64, ptr %330, align 8, !tbaa !20
  %15592 = sub i64 %15590, %15591
  %15593 = load i64, ptr %329, align 8, !tbaa !20
  %15594 = icmp uge i64 %15592, %15593
  br i1 %15594, label %15648, label %15595

15595:                                            ; preds = %15589, %15583
  br label %15596

15596:                                            ; preds = %15595
  br label %15597

15597:                                            ; preds = %15596
  call void @llvm.lifetime.start.p0(i64 4, ptr %333) #9
  %15598 = call ptr @__errno_location() #10
  %15599 = load i32, ptr %15598, align 4, !tbaa !5
  store i32 %15599, ptr %333, align 4, !tbaa !5
  %15600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15601 = call i32 @s2n_print_stacktrace(ptr noundef %15600)
  %15602 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15603 = trunc i8 %15602 to i1
  br i1 %15603, label %15604, label %15626

15604:                                            ; preds = %15597
  %15605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15606 = call i32 @fileno(ptr noundef %15605) #9
  %15607 = call i32 @isatty(i32 noundef %15606) #9
  %15608 = icmp ne i32 %15607, 0
  br i1 %15608, label %15609, label %15626

15609:                                            ; preds = %15604
  %15610 = load i32, ptr %333, align 4, !tbaa !5
  %15611 = call ptr @__errno_location() #10
  store i32 %15610, ptr %15611, align 4, !tbaa !5
  %15612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15613 = load i32, ptr @test_count, align 4, !tbaa !5
  %15614 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15615 = load i32, ptr %15614, align 4, !tbaa !5
  %15616 = call ptr @s2n_strerror(i32 noundef %15615, ptr noundef @.str.4)
  %15617 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15618 = load i32, ptr %15617, align 4, !tbaa !5
  %15619 = call ptr @s2n_strerror_debug(i32 noundef %15618, ptr noundef @.str.4)
  %15620 = call ptr @__errno_location() #10
  %15621 = load i32, ptr %15620, align 4, !tbaa !5
  %15622 = call ptr @strerror(i32 noundef %15621) #9
  %15623 = call ptr @__errno_location() #10
  %15624 = load i32, ptr %15623, align 4, !tbaa !5
  %15625 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15612, ptr noundef @.str.2, i32 noundef %15613, ptr noundef @.str.138, ptr noundef @.str.1, i32 noundef 419, ptr noundef %15616, ptr noundef %15619, ptr noundef %15622, i32 noundef %15624) #9
  br label %15643

15626:                                            ; preds = %15604, %15597
  %15627 = load i32, ptr %333, align 4, !tbaa !5
  %15628 = call ptr @__errno_location() #10
  store i32 %15627, ptr %15628, align 4, !tbaa !5
  %15629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15630 = load i32, ptr @test_count, align 4, !tbaa !5
  %15631 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15632 = load i32, ptr %15631, align 4, !tbaa !5
  %15633 = call ptr @s2n_strerror(i32 noundef %15632, ptr noundef @.str.4)
  %15634 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15635 = load i32, ptr %15634, align 4, !tbaa !5
  %15636 = call ptr @s2n_strerror_debug(i32 noundef %15635, ptr noundef @.str.4)
  %15637 = call ptr @__errno_location() #10
  %15638 = load i32, ptr %15637, align 4, !tbaa !5
  %15639 = call ptr @strerror(i32 noundef %15638) #9
  %15640 = call ptr @__errno_location() #10
  %15641 = load i32, ptr %15640, align 4, !tbaa !5
  %15642 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15629, ptr noundef @.str.5, i32 noundef %15630, ptr noundef @.str.138, ptr noundef @.str.1, i32 noundef 419, ptr noundef %15633, ptr noundef %15636, ptr noundef %15639, i32 noundef %15641) #9
  br label %15643

15643:                                            ; preds = %15626, %15609
  call void @llvm.lifetime.end.p0(i64 4, ptr %333) #9
  br label %15644

15644:                                            ; preds = %15643
  br label %15645

15645:                                            ; preds = %15644
  call void @exit(i32 noundef 1) #11
  unreachable

15646:                                            ; No predecessors!
  br label %15647

15647:                                            ; preds = %15646
  br label %15648

15648:                                            ; preds = %15647, %15589
  br label %15649

15649:                                            ; preds = %15648
  br label %15650

15650:                                            ; preds = %15649
  call void @llvm.lifetime.end.p0(i64 8, ptr %331) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %330) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %329) #9
  br label %15651

15651:                                            ; preds = %15650
  %15652 = load i64, ptr %328, align 8, !tbaa !20
  %15653 = add i64 %15652, 1
  store i64 %15653, ptr %328, align 8, !tbaa !20
  br label %15498, !llvm.loop !22

15654:                                            ; preds = %15501
  call void @llvm.lifetime.start.p0(i64 360, ptr %334) #9
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %334, ptr align 16 @__const.main.failure_test_values, i64 360, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %335) #9
  store i64 0, ptr %335, align 8, !tbaa !20
  br label %15655

15655:                                            ; preds = %15808, %15654
  %15656 = load i64, ptr %335, align 8, !tbaa !20
  %15657 = icmp ult i64 %15656, 15
  br i1 %15657, label %15659, label %15658

15658:                                            ; preds = %15655
  store i32 1800, ptr %83, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %335) #9
  br label %15811

15659:                                            ; preds = %15655
  call void @llvm.lifetime.start.p0(i64 8, ptr %336) #9
  %15660 = load i64, ptr %335, align 8, !tbaa !20
  %15661 = getelementptr inbounds [15 x [3 x i64]], ptr %334, i64 0, i64 %15660
  %15662 = getelementptr inbounds [3 x i64], ptr %15661, i64 0, i64 0
  %15663 = load i64, ptr %15662, align 8, !tbaa !20
  store i64 %15663, ptr %336, align 8, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 8, ptr %337) #9
  %15664 = load i64, ptr %335, align 8, !tbaa !20
  %15665 = getelementptr inbounds [15 x [3 x i64]], ptr %334, i64 0, i64 %15664
  %15666 = getelementptr inbounds [3 x i64], ptr %15665, i64 0, i64 1
  %15667 = load i64, ptr %15666, align 8, !tbaa !20
  store i64 %15667, ptr %337, align 8, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 8, ptr %338) #9
  %15668 = load i64, ptr %335, align 8, !tbaa !20
  %15669 = getelementptr inbounds [15 x [3 x i64]], ptr %334, i64 0, i64 %15668
  %15670 = getelementptr inbounds [3 x i64], ptr %15669, i64 0, i64 2
  %15671 = load i64, ptr %15670, align 8, !tbaa !20
  store i64 %15671, ptr %338, align 8, !tbaa !20
  br label %15672

15672:                                            ; preds = %15659
  %15673 = load i32, ptr @test_count, align 4, !tbaa !5
  %15674 = add nsw i32 %15673, 1
  store i32 %15674, ptr @test_count, align 4, !tbaa !5
  %15675 = load i64, ptr %338, align 8, !tbaa !20
  %15676 = load i64, ptr %336, align 8, !tbaa !20
  %15677 = icmp uge i64 %15675, %15676
  br i1 %15677, label %15678, label %15737

15678:                                            ; preds = %15672
  %15679 = load i64, ptr %338, align 8, !tbaa !20
  %15680 = load i64, ptr %336, align 8, !tbaa !20
  %15681 = sub i64 %15679, %15680
  %15682 = load i64, ptr %337, align 8, !tbaa !20
  %15683 = icmp uge i64 %15681, %15682
  br i1 %15683, label %15684, label %15737

15684:                                            ; preds = %15678
  br label %15685

15685:                                            ; preds = %15684
  br label %15686

15686:                                            ; preds = %15685
  call void @llvm.lifetime.start.p0(i64 4, ptr %339) #9
  %15687 = call ptr @__errno_location() #10
  %15688 = load i32, ptr %15687, align 4, !tbaa !5
  store i32 %15688, ptr %339, align 4, !tbaa !5
  %15689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15690 = call i32 @s2n_print_stacktrace(ptr noundef %15689)
  %15691 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15692 = trunc i8 %15691 to i1
  br i1 %15692, label %15693, label %15715

15693:                                            ; preds = %15686
  %15694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15695 = call i32 @fileno(ptr noundef %15694) #9
  %15696 = call i32 @isatty(i32 noundef %15695) #9
  %15697 = icmp ne i32 %15696, 0
  br i1 %15697, label %15698, label %15715

15698:                                            ; preds = %15693
  %15699 = load i32, ptr %339, align 4, !tbaa !5
  %15700 = call ptr @__errno_location() #10
  store i32 %15699, ptr %15700, align 4, !tbaa !5
  %15701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15702 = load i32, ptr @test_count, align 4, !tbaa !5
  %15703 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15704 = load i32, ptr %15703, align 4, !tbaa !5
  %15705 = call ptr @s2n_strerror(i32 noundef %15704, ptr noundef @.str.4)
  %15706 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15707 = load i32, ptr %15706, align 4, !tbaa !5
  %15708 = call ptr @s2n_strerror_debug(i32 noundef %15707, ptr noundef @.str.4)
  %15709 = call ptr @__errno_location() #10
  %15710 = load i32, ptr %15709, align 4, !tbaa !5
  %15711 = call ptr @strerror(i32 noundef %15710) #9
  %15712 = call ptr @__errno_location() #10
  %15713 = load i32, ptr %15712, align 4, !tbaa !5
  %15714 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15701, ptr noundef @.str.2, i32 noundef %15702, ptr noundef @.str.139, ptr noundef @.str.1, i32 noundef 443, ptr noundef %15705, ptr noundef %15708, ptr noundef %15711, i32 noundef %15713) #9
  br label %15732

15715:                                            ; preds = %15693, %15686
  %15716 = load i32, ptr %339, align 4, !tbaa !5
  %15717 = call ptr @__errno_location() #10
  store i32 %15716, ptr %15717, align 4, !tbaa !5
  %15718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15719 = load i32, ptr @test_count, align 4, !tbaa !5
  %15720 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15721 = load i32, ptr %15720, align 4, !tbaa !5
  %15722 = call ptr @s2n_strerror(i32 noundef %15721, ptr noundef @.str.4)
  %15723 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15724 = load i32, ptr %15723, align 4, !tbaa !5
  %15725 = call ptr @s2n_strerror_debug(i32 noundef %15724, ptr noundef @.str.4)
  %15726 = call ptr @__errno_location() #10
  %15727 = load i32, ptr %15726, align 4, !tbaa !5
  %15728 = call ptr @strerror(i32 noundef %15727) #9
  %15729 = call ptr @__errno_location() #10
  %15730 = load i32, ptr %15729, align 4, !tbaa !5
  %15731 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15718, ptr noundef @.str.5, i32 noundef %15719, ptr noundef @.str.139, ptr noundef @.str.1, i32 noundef 443, ptr noundef %15722, ptr noundef %15725, ptr noundef %15728, i32 noundef %15730) #9
  br label %15732

15732:                                            ; preds = %15715, %15698
  call void @llvm.lifetime.end.p0(i64 4, ptr %339) #9
  br label %15733

15733:                                            ; preds = %15732
  br label %15734

15734:                                            ; preds = %15733
  call void @exit(i32 noundef 1) #11
  unreachable

15735:                                            ; No predecessors!
  br label %15736

15736:                                            ; preds = %15735
  br label %15737

15737:                                            ; preds = %15736, %15678, %15672
  br label %15738

15738:                                            ; preds = %15737
  br label %15739

15739:                                            ; preds = %15738
  br label %15740

15740:                                            ; preds = %15739
  %15741 = load i32, ptr @test_count, align 4, !tbaa !5
  %15742 = add nsw i32 %15741, 1
  store i32 %15742, ptr @test_count, align 4, !tbaa !5
  %15743 = load i64, ptr %338, align 8, !tbaa !20
  %15744 = load i64, ptr %337, align 8, !tbaa !20
  %15745 = icmp uge i64 %15743, %15744
  br i1 %15745, label %15746, label %15805

15746:                                            ; preds = %15740
  %15747 = load i64, ptr %338, align 8, !tbaa !20
  %15748 = load i64, ptr %337, align 8, !tbaa !20
  %15749 = sub i64 %15747, %15748
  %15750 = load i64, ptr %336, align 8, !tbaa !20
  %15751 = icmp uge i64 %15749, %15750
  br i1 %15751, label %15752, label %15805

15752:                                            ; preds = %15746
  br label %15753

15753:                                            ; preds = %15752
  br label %15754

15754:                                            ; preds = %15753
  call void @llvm.lifetime.start.p0(i64 4, ptr %340) #9
  %15755 = call ptr @__errno_location() #10
  %15756 = load i32, ptr %15755, align 4, !tbaa !5
  store i32 %15756, ptr %340, align 4, !tbaa !5
  %15757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15758 = call i32 @s2n_print_stacktrace(ptr noundef %15757)
  %15759 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15760 = trunc i8 %15759 to i1
  br i1 %15760, label %15761, label %15783

15761:                                            ; preds = %15754
  %15762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15763 = call i32 @fileno(ptr noundef %15762) #9
  %15764 = call i32 @isatty(i32 noundef %15763) #9
  %15765 = icmp ne i32 %15764, 0
  br i1 %15765, label %15766, label %15783

15766:                                            ; preds = %15761
  %15767 = load i32, ptr %340, align 4, !tbaa !5
  %15768 = call ptr @__errno_location() #10
  store i32 %15767, ptr %15768, align 4, !tbaa !5
  %15769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15770 = load i32, ptr @test_count, align 4, !tbaa !5
  %15771 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15772 = load i32, ptr %15771, align 4, !tbaa !5
  %15773 = call ptr @s2n_strerror(i32 noundef %15772, ptr noundef @.str.4)
  %15774 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15775 = load i32, ptr %15774, align 4, !tbaa !5
  %15776 = call ptr @s2n_strerror_debug(i32 noundef %15775, ptr noundef @.str.4)
  %15777 = call ptr @__errno_location() #10
  %15778 = load i32, ptr %15777, align 4, !tbaa !5
  %15779 = call ptr @strerror(i32 noundef %15778) #9
  %15780 = call ptr @__errno_location() #10
  %15781 = load i32, ptr %15780, align 4, !tbaa !5
  %15782 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15769, ptr noundef @.str.2, i32 noundef %15770, ptr noundef @.str.140, ptr noundef @.str.1, i32 noundef 444, ptr noundef %15773, ptr noundef %15776, ptr noundef %15779, i32 noundef %15781) #9
  br label %15800

15783:                                            ; preds = %15761, %15754
  %15784 = load i32, ptr %340, align 4, !tbaa !5
  %15785 = call ptr @__errno_location() #10
  store i32 %15784, ptr %15785, align 4, !tbaa !5
  %15786 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15787 = load i32, ptr @test_count, align 4, !tbaa !5
  %15788 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15789 = load i32, ptr %15788, align 4, !tbaa !5
  %15790 = call ptr @s2n_strerror(i32 noundef %15789, ptr noundef @.str.4)
  %15791 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15792 = load i32, ptr %15791, align 4, !tbaa !5
  %15793 = call ptr @s2n_strerror_debug(i32 noundef %15792, ptr noundef @.str.4)
  %15794 = call ptr @__errno_location() #10
  %15795 = load i32, ptr %15794, align 4, !tbaa !5
  %15796 = call ptr @strerror(i32 noundef %15795) #9
  %15797 = call ptr @__errno_location() #10
  %15798 = load i32, ptr %15797, align 4, !tbaa !5
  %15799 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15786, ptr noundef @.str.5, i32 noundef %15787, ptr noundef @.str.140, ptr noundef @.str.1, i32 noundef 444, ptr noundef %15790, ptr noundef %15793, ptr noundef %15796, i32 noundef %15798) #9
  br label %15800

15800:                                            ; preds = %15783, %15766
  call void @llvm.lifetime.end.p0(i64 4, ptr %340) #9
  br label %15801

15801:                                            ; preds = %15800
  br label %15802

15802:                                            ; preds = %15801
  call void @exit(i32 noundef 1) #11
  unreachable

15803:                                            ; No predecessors!
  br label %15804

15804:                                            ; preds = %15803
  br label %15805

15805:                                            ; preds = %15804, %15746, %15740
  br label %15806

15806:                                            ; preds = %15805
  br label %15807

15807:                                            ; preds = %15806
  call void @llvm.lifetime.end.p0(i64 8, ptr %338) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %337) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %336) #9
  br label %15808

15808:                                            ; preds = %15807
  %15809 = load i64, ptr %335, align 8, !tbaa !20
  %15810 = add i64 %15809, 1
  store i64 %15810, ptr %335, align 8, !tbaa !20
  br label %15655, !llvm.loop !23

15811:                                            ; preds = %15658
  call void @llvm.lifetime.end.p0(i64 360, ptr %334) #9
  call void @llvm.lifetime.end.p0(i64 264, ptr %327) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %326) #9
  call void @llvm.lifetime.start.p0(i64 20, ptr %341) #9
  call void @llvm.memset.p0.i64(ptr align 16 %341, i8 0, i64 20, i1 false)
  br label %15812

15812:                                            ; preds = %15811
  %15813 = load i32, ptr @test_count, align 4, !tbaa !5
  %15814 = add nsw i32 %15813, 1
  store i32 %15814, ptr @test_count, align 4, !tbaa !5
  br label %15815

15815:                                            ; preds = %15812
  br label %15816

15816:                                            ; preds = %15815
  br label %15817

15817:                                            ; preds = %15816
  %15818 = load i32, ptr @test_count, align 4, !tbaa !5
  %15819 = add nsw i32 %15818, 1
  store i32 %15819, ptr @test_count, align 4, !tbaa !5
  br label %15820

15820:                                            ; preds = %15817
  br label %15821

15821:                                            ; preds = %15820
  call void @llvm.lifetime.start.p0(i64 20, ptr %342) #9
  call void @llvm.memset.p0.i64(ptr align 16 %342, i8 0, i64 20, i1 false)
  br label %15822

15822:                                            ; preds = %15821
  %15823 = load i32, ptr @test_count, align 4, !tbaa !5
  %15824 = add nsw i32 %15823, 1
  store i32 %15824, ptr @test_count, align 4, !tbaa !5
  br label %15825

15825:                                            ; preds = %15822
  br label %15826

15826:                                            ; preds = %15825
  call void @llvm.lifetime.end.p0(i64 20, ptr %342) #9
  call void @llvm.lifetime.end.p0(i64 20, ptr %341) #9
  br label %15827

15827:                                            ; preds = %15826
  br label %15828

15828:                                            ; preds = %15827
  %15829 = call i32 @s2n_cleanup()
  %15830 = icmp eq i32 %15829, -1
  br i1 %15830, label %15831, label %15884

15831:                                            ; preds = %15828
  br label %15832

15832:                                            ; preds = %15831
  br label %15833

15833:                                            ; preds = %15832
  call void @llvm.lifetime.start.p0(i64 4, ptr %343) #9
  %15834 = call ptr @__errno_location() #10
  %15835 = load i32, ptr %15834, align 4, !tbaa !5
  store i32 %15835, ptr %343, align 4, !tbaa !5
  %15836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15837 = call i32 @s2n_print_stacktrace(ptr noundef %15836)
  %15838 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15839 = trunc i8 %15838 to i1
  br i1 %15839, label %15840, label %15862

15840:                                            ; preds = %15833
  %15841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15842 = call i32 @fileno(ptr noundef %15841) #9
  %15843 = call i32 @isatty(i32 noundef %15842) #9
  %15844 = icmp ne i32 %15843, 0
  br i1 %15844, label %15845, label %15862

15845:                                            ; preds = %15840
  %15846 = load i32, ptr %343, align 4, !tbaa !5
  %15847 = call ptr @__errno_location() #10
  store i32 %15846, ptr %15847, align 4, !tbaa !5
  %15848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15849 = load i32, ptr @test_count, align 4, !tbaa !5
  %15850 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15851 = load i32, ptr %15850, align 4, !tbaa !5
  %15852 = call ptr @s2n_strerror(i32 noundef %15851, ptr noundef @.str.4)
  %15853 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15854 = load i32, ptr %15853, align 4, !tbaa !5
  %15855 = call ptr @s2n_strerror_debug(i32 noundef %15854, ptr noundef @.str.4)
  %15856 = call ptr @__errno_location() #10
  %15857 = load i32, ptr %15856, align 4, !tbaa !5
  %15858 = call ptr @strerror(i32 noundef %15857) #9
  %15859 = call ptr @__errno_location() #10
  %15860 = load i32, ptr %15859, align 4, !tbaa !5
  %15861 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15848, ptr noundef @.str.2, i32 noundef %15849, ptr noundef @.str.141, ptr noundef @.str.1, i32 noundef 460, ptr noundef %15852, ptr noundef %15855, ptr noundef %15858, i32 noundef %15860) #9
  br label %15879

15862:                                            ; preds = %15840, %15833
  %15863 = load i32, ptr %343, align 4, !tbaa !5
  %15864 = call ptr @__errno_location() #10
  store i32 %15863, ptr %15864, align 4, !tbaa !5
  %15865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15866 = load i32, ptr @test_count, align 4, !tbaa !5
  %15867 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15868 = load i32, ptr %15867, align 4, !tbaa !5
  %15869 = call ptr @s2n_strerror(i32 noundef %15868, ptr noundef @.str.4)
  %15870 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15871 = load i32, ptr %15870, align 4, !tbaa !5
  %15872 = call ptr @s2n_strerror_debug(i32 noundef %15871, ptr noundef @.str.4)
  %15873 = call ptr @__errno_location() #10
  %15874 = load i32, ptr %15873, align 4, !tbaa !5
  %15875 = call ptr @strerror(i32 noundef %15874) #9
  %15876 = call ptr @__errno_location() #10
  %15877 = load i32, ptr %15876, align 4, !tbaa !5
  %15878 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15865, ptr noundef @.str.5, i32 noundef %15866, ptr noundef @.str.141, ptr noundef @.str.1, i32 noundef 460, ptr noundef %15869, ptr noundef %15872, ptr noundef %15875, i32 noundef %15877) #9
  br label %15879

15879:                                            ; preds = %15862, %15845
  call void @llvm.lifetime.end.p0(i64 4, ptr %343) #9
  br label %15880

15880:                                            ; preds = %15879
  br label %15881

15881:                                            ; preds = %15880
  call void @exit(i32 noundef 1) #11
  unreachable

15882:                                            ; No predecessors!
  br label %15883

15883:                                            ; preds = %15882
  br label %15884

15884:                                            ; preds = %15883, %15828
  br label %15885

15885:                                            ; preds = %15884
  br label %15886

15886:                                            ; preds = %15885
  br label %15887

15887:                                            ; preds = %15886
  br label %15888

15888:                                            ; preds = %15887
  %15889 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false)
  %15890 = icmp eq i32 %15889, -1
  br i1 %15890, label %15891, label %15944

15891:                                            ; preds = %15888
  br label %15892

15892:                                            ; preds = %15891
  br label %15893

15893:                                            ; preds = %15892
  call void @llvm.lifetime.start.p0(i64 4, ptr %344) #9
  %15894 = call ptr @__errno_location() #10
  %15895 = load i32, ptr %15894, align 4, !tbaa !5
  store i32 %15895, ptr %344, align 4, !tbaa !5
  %15896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15897 = call i32 @s2n_print_stacktrace(ptr noundef %15896)
  %15898 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15899 = trunc i8 %15898 to i1
  br i1 %15899, label %15900, label %15922

15900:                                            ; preds = %15893
  %15901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15902 = call i32 @fileno(ptr noundef %15901) #9
  %15903 = call i32 @isatty(i32 noundef %15902) #9
  %15904 = icmp ne i32 %15903, 0
  br i1 %15904, label %15905, label %15922

15905:                                            ; preds = %15900
  %15906 = load i32, ptr %344, align 4, !tbaa !5
  %15907 = call ptr @__errno_location() #10
  store i32 %15906, ptr %15907, align 4, !tbaa !5
  %15908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15909 = load i32, ptr @test_count, align 4, !tbaa !5
  %15910 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15911 = load i32, ptr %15910, align 4, !tbaa !5
  %15912 = call ptr @s2n_strerror(i32 noundef %15911, ptr noundef @.str.4)
  %15913 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15914 = load i32, ptr %15913, align 4, !tbaa !5
  %15915 = call ptr @s2n_strerror_debug(i32 noundef %15914, ptr noundef @.str.4)
  %15916 = call ptr @__errno_location() #10
  %15917 = load i32, ptr %15916, align 4, !tbaa !5
  %15918 = call ptr @strerror(i32 noundef %15917) #9
  %15919 = call ptr @__errno_location() #10
  %15920 = load i32, ptr %15919, align 4, !tbaa !5
  %15921 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15908, ptr noundef @.str.2, i32 noundef %15909, ptr noundef @.str.142, ptr noundef @.str.1, i32 noundef 460, ptr noundef %15912, ptr noundef %15915, ptr noundef %15918, i32 noundef %15920) #9
  br label %15939

15922:                                            ; preds = %15900, %15893
  %15923 = load i32, ptr %344, align 4, !tbaa !5
  %15924 = call ptr @__errno_location() #10
  store i32 %15923, ptr %15924, align 4, !tbaa !5
  %15925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15926 = load i32, ptr @test_count, align 4, !tbaa !5
  %15927 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15928 = load i32, ptr %15927, align 4, !tbaa !5
  %15929 = call ptr @s2n_strerror(i32 noundef %15928, ptr noundef @.str.4)
  %15930 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15931 = load i32, ptr %15930, align 4, !tbaa !5
  %15932 = call ptr @s2n_strerror_debug(i32 noundef %15931, ptr noundef @.str.4)
  %15933 = call ptr @__errno_location() #10
  %15934 = load i32, ptr %15933, align 4, !tbaa !5
  %15935 = call ptr @strerror(i32 noundef %15934) #9
  %15936 = call ptr @__errno_location() #10
  %15937 = load i32, ptr %15936, align 4, !tbaa !5
  %15938 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15925, ptr noundef @.str.5, i32 noundef %15926, ptr noundef @.str.142, ptr noundef @.str.1, i32 noundef 460, ptr noundef %15929, ptr noundef %15932, ptr noundef %15935, i32 noundef %15937) #9
  br label %15939

15939:                                            ; preds = %15922, %15905
  call void @llvm.lifetime.end.p0(i64 4, ptr %344) #9
  br label %15940

15940:                                            ; preds = %15939
  br label %15941

15941:                                            ; preds = %15940
  call void @exit(i32 noundef 1) #11
  unreachable

15942:                                            ; No predecessors!
  br label %15943

15943:                                            ; preds = %15942
  br label %15944

15944:                                            ; preds = %15943, %15888
  br label %15945

15945:                                            ; preds = %15944
  br label %15946

15946:                                            ; preds = %15945
  %15947 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15948 = trunc i8 %15947 to i1
  br i1 %15948, label %15949, label %15965

15949:                                            ; preds = %15946
  %15950 = load ptr, ptr @stdout, align 8, !tbaa !9
  %15951 = call i32 @fileno(ptr noundef %15950) #9
  %15952 = call i32 @isatty(i32 noundef %15951) #9
  %15953 = icmp ne i32 %15952, 0
  br i1 %15953, label %15954, label %15965

15954:                                            ; preds = %15949
  %15955 = load i32, ptr @test_count, align 4, !tbaa !5
  %15956 = icmp ne i32 %15955, 0
  br i1 %15956, label %15957, label %15961

15957:                                            ; preds = %15954
  %15958 = load ptr, ptr @stdout, align 8, !tbaa !9
  %15959 = load i32, ptr @test_count, align 4, !tbaa !5
  %15960 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15958, ptr noundef @.str.143, i32 noundef %15959) #9
  br label %15964

15961:                                            ; preds = %15954
  %15962 = load ptr, ptr @stdout, align 8, !tbaa !9
  %15963 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15962, ptr noundef @.str.144) #9
  br label %15964

15964:                                            ; preds = %15961, %15957
  br label %15976

15965:                                            ; preds = %15949, %15946
  %15966 = load i32, ptr @test_count, align 4, !tbaa !5
  %15967 = icmp ne i32 %15966, 0
  br i1 %15967, label %15968, label %15972

15968:                                            ; preds = %15965
  %15969 = load ptr, ptr @stdout, align 8, !tbaa !9
  %15970 = load i32, ptr @test_count, align 4, !tbaa !5
  %15971 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15969, ptr noundef @.str.145, i32 noundef %15970) #9
  br label %15975

15972:                                            ; preds = %15965
  %15973 = load ptr, ptr @stdout, align 8, !tbaa !9
  %15974 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15973, ptr noundef @.str.146) #9
  br label %15975

15975:                                            ; preds = %15972, %15968
  br label %15976

15976:                                            ; preds = %15975, %15964
  store i32 0, ptr %3, align 4
  store i32 1, ptr %83, align 4
  br label %15981

15977:                                            ; No predecessors!
  br label %15978

15978:                                            ; preds = %15977
  br label %15979

15979:                                            ; preds = %15978
  br label %15980

15980:                                            ; preds = %15979
  store i32 0, ptr %83, align 4
  br label %15981

15981:                                            ; preds = %15980, %15976
  call void @llvm.lifetime.end.p0(i64 4, ptr %215) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %214) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %189) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %81) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %80) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %60) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %56) #9
  %15982 = load i32, ptr %83, align 4
  switch i32 %15982, label %15985 [
    i32 0, label %15983
    i32 1, label %15983
  ]

15983:                                            ; preds = %15981, %15981
  %15984 = load i32, ptr %3, align 4
  ret i32 %15984

15985:                                            ; preds = %15981
  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_disable_tls13_in_test(...) #2

declare void @s2n_debug_info_reset() #2

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #7

declare zeroext i1 @s2n_constant_time_equals(ptr noundef, ptr noundef, i32 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) #8

declare i32 @s2n_constant_time_copy_or_dont(ptr noundef, ptr noundef, i32 noundef, i8 noundef zeroext) #2

declare i32 @s2n_mul_overflow(i32 noundef, i32 noundef, ptr noundef) #2

declare i32 @s2n_align_to(i32 noundef, i32 noundef, ptr noundef) #2

declare i32 @s2n_add_overflow(i32 noundef, i32 noundef, ptr noundef) #2

declare i32 @s2n_cleanup() #2

; Function Attrs: nounwind uwtable
declare hidden i32 @failure_gte() #0

; Function Attrs: nounwind uwtable
declare hidden i32 @failure_lte() #0

; Function Attrs: nounwind uwtable
declare hidden i32 @failure_gt() #0

; Function Attrs: nounwind uwtable
declare hidden i32 @failure_lt() #0

; Function Attrs: nounwind uwtable
declare hidden i32 @failure_notnull() #0

; Function Attrs: nounwind uwtable
declare hidden i32 @failure_memcpy() #0

; Function Attrs: nounwind uwtable
declare hidden i32 @failure_inclusive_range_too_high() #0

; Function Attrs: nounwind uwtable
declare hidden i32 @failure_inclusive_range_too_low() #0

; Function Attrs: nounwind uwtable
declare hidden i32 @failure_exclusive_range_too_high() #0

; Function Attrs: nounwind uwtable
declare hidden i32 @failure_exclusive_range_too_low() #0

; Function Attrs: nounwind uwtable
declare hidden i32 @failure_exclusive_range_eq_high() #0

; Function Attrs: nounwind uwtable
declare hidden i32 @failure_exclusive_range_eq_low() #0

; Function Attrs: nounwind uwtable
declare hidden i32 @success_gte() #0

; Function Attrs: nounwind uwtable
declare hidden i32 @success_lte() #0

; Function Attrs: nounwind uwtable
declare hidden i32 @success_gt() #0

; Function Attrs: nounwind uwtable
declare hidden i32 @success_lt() #0

; Function Attrs: nounwind uwtable
declare hidden i32 @success_notnull() #0

; Function Attrs: nounwind uwtable
declare hidden i32 @success_memcpy() #0

; Function Attrs: nounwind uwtable
declare hidden i32 @success_inclusive_range() #0

; Function Attrs: nounwind uwtable
declare hidden i32 @success_exclusive_range() #0

; Function Attrs: nounwind uwtable
declare hidden i32 @success_ct_pkcs1() #0

; Function Attrs: nounwind uwtable
declare hidden i32 @success_ct_pkcs1_negative() #0

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: write) }
attributes #8 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #9 = { nounwind }
attributes #10 = { nounwind willreturn memory(none) }
attributes #11 = { noreturn nounwind }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"any pointer", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"_Bool", !7, i64 0}
!13 = !{i8 0, i8 2}
!14 = !{}
!15 = distinct !{!15, !16}
!16 = !{!"llvm.loop.mustprogress"}
!17 = !{!7, !7, i64 0}
!18 = distinct !{!18, !16}
!19 = distinct !{!19, !16}
!20 = !{!21, !21, i64 0}
!21 = !{!"long", !7, i64 0}
!22 = distinct !{!22, !16}
!23 = distinct !{!23, !16}


; 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"

@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 [74 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 [56 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [38 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [38 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [81 x i8], align 1
@__const.main.a = external hidden unnamed_addr constant [4 x i8], align 1
@__const.main.b = external hidden unnamed_addr constant [4 x i8], align 1
@__const.main.c = external hidden unnamed_addr constant [4 x i8], align 1
@__const.main.d = external hidden unnamed_addr constant [4 x i8], align 1
@__const.main.e = external hidden unnamed_addr constant [4 x i8], align 1
@__const.main.f = external hidden unnamed_addr constant [4 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.83 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.85 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.86 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.87 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.88 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.89 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.90 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.91 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.92 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.93 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.94 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.95 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.96 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.97 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.98 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.99 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.100 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.101 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.102 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.103 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.104 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.105 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.106 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.107 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.108 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.109 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.110 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.111 = external hidden unnamed_addr constant [38 x i8], align 1
@.str.112 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.113 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.114 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.115 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.116 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.117 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.118 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.119 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.120 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.121 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.122 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.123 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.124 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.125 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.126 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.127 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.128 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.129 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.130 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.131 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.132 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.133 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.134 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.135 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.136 = external hidden unnamed_addr constant [80 x i8], align 1
@__const.main.success_test_values = external hidden unnamed_addr constant [11 x [3 x i64]], align 16
@.str.137 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.138 = external hidden unnamed_addr constant [51 x i8], align 1
@__const.main.failure_test_values = external hidden unnamed_addr constant [15 x [3 x i64]], align 16
@.str.139 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.140 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.141 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.142 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.143 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.144 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.145 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.146 = 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 [4 x i8], align 4
  %4 = alloca [4 x i8], align 4
  %5 = alloca [4 x i8], align 4
  %6 = alloca [4 x i8], align 4
  %7 = alloca [4 x i8], align 4
  %8 = alloca [4 x i8], align 4
  %9 = alloca [4 x i8], align 4
  %10 = alloca [1 x i8], align 1
  %11 = alloca [1 x i8], align 1
  %12 = alloca i32, align 4
  %13 = alloca i32, align 4
  %14 = alloca i32, align 4
  %15 = alloca i32, align 4
  %16 = alloca i32, align 4
  %17 = alloca i32, align 4
  %18 = alloca i32, align 4
  %19 = alloca i32, align 4
  %20 = alloca i32, align 4
  %21 = alloca i32, align 4
  %22 = alloca i32, align 4
  %23 = alloca i32, align 4
  %24 = alloca i32, 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 i32, align 4
  %31 = alloca i32, align 4
  %32 = alloca i32, align 4
  %33 = alloca i32, align 4
  %34 = alloca i32, align 4
  %35 = alloca i32, align 4
  %36 = alloca i32, align 4
  %37 = alloca i32, align 4
  %38 = alloca i32, align 4
  %39 = alloca i32, align 4
  %40 = alloca i32, align 4
  %41 = alloca i32, align 4
  %42 = alloca i32, align 4
  %43 = alloca i32, align 4
  %44 = alloca i32, align 4
  %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 i32, align 4
  %57 = alloca i32, align 4
  %58 = alloca i32, align 4
  %59 = alloca i32, align 4
  %60 = alloca i32, align 4
  %61 = alloca i32, align 4
  %62 = alloca i32, align 4
  %63 = alloca i32, align 4
  %64 = alloca i32, align 4
  %65 = alloca i32, align 4
  %66 = alloca i32, align 4
  %67 = alloca i32, align 4
  %68 = alloca i32, align 4
  %69 = alloca i32, align 4
  %70 = alloca i32, align 4
  %71 = alloca i32, align 4
  %72 = alloca i32, align 4
  %73 = alloca i32, align 4
  %74 = alloca i32, align 4
  %75 = alloca i32, align 4
  %76 = alloca i32, align 4
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %77 = load ptr, ptr @stdout, align 8, !tbaa !9
  %78 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %77, ptr noundef nonnull @.str, ptr noundef nonnull @.str.1) #8
  %79 = load ptr, ptr @stdout, align 8, !tbaa !9
  %80 = tail call i32 @fflush(ptr noundef %79)
  %81 = tail call i32 @s2n_in_unit_test_set(i1 noundef zeroext true) #8
  %82 = icmp eq i32 %81, -1
  br i1 %82, label %83, label %107

83:                                               ; preds = %2
  %84 = tail call ptr @__errno_location() #9
  %85 = load i32, ptr %84, align 4, !tbaa !5
  %86 = load ptr, ptr @stderr, align 8, !tbaa !9
  %87 = tail call i32 @s2n_print_stacktrace(ptr noundef %86) #8
  %88 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %89 = trunc nuw i8 %88 to i1
  br i1 %89, label %90, label %94

90:                                               ; preds = %83
  %91 = load ptr, ptr @stderr, align 8, !tbaa !9
  %92 = tail call i32 @fileno(ptr noundef %91) #8
  %93 = tail call i32 @isatty(i32 noundef %92) #8
  %.not799 = icmp eq i32 %93, 0
  br i1 %.not799, label %94, label %95

94:                                               ; preds = %90, %83
  br label %95

95:                                               ; preds = %90, %94
  %.str.5.sink = phi ptr [ @.str.5, %94 ], [ @.str.2, %90 ]
  store i32 %85, ptr %84, align 4, !tbaa !5
  %96 = load ptr, ptr @stderr, align 8, !tbaa !9
  %97 = load i32, ptr @test_count, align 4, !tbaa !5
  %98 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %99 = load i32, ptr %98, align 4, !tbaa !5
  %100 = tail call ptr @s2n_strerror(i32 noundef %99, ptr noundef nonnull @.str.4) #8
  %101 = load i32, ptr %98, align 4, !tbaa !5
  %102 = tail call ptr @s2n_strerror_debug(i32 noundef %101, ptr noundef nonnull @.str.4) #8
  %103 = load i32, ptr %84, align 4, !tbaa !5
  %104 = tail call ptr @strerror(i32 noundef %103) #8
  %105 = load i32, ptr %84, align 4, !tbaa !5
  %106 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %96, ptr noundef nonnull %.str.5.sink, i32 noundef %97, ptr noundef nonnull @.str.3, ptr noundef nonnull @.str.1, i32 noundef 255, ptr noundef %100, ptr noundef %102, ptr noundef %104, i32 noundef %105) #10
  tail call void @exit(i32 noundef 1) #11
  unreachable

107:                                              ; preds = %2
  %108 = load i32, ptr @test_count, align 4, !tbaa !5
  %109 = add nsw i32 %108, 1
  store i32 %109, ptr @test_count, align 4, !tbaa !5
  %110 = tail call i32 @s2n_enable_atexit() #8
  %111 = icmp eq i32 %110, -1
  br i1 %111, label %112, label %136

112:                                              ; preds = %107
  %113 = tail call ptr @__errno_location() #9
  %114 = load i32, ptr %113, align 4, !tbaa !5
  %115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %116 = tail call i32 @s2n_print_stacktrace(ptr noundef %115) #8
  %117 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %118 = trunc nuw i8 %117 to i1
  br i1 %118, label %119, label %123

119:                                              ; preds = %112
  %120 = load ptr, ptr @stderr, align 8, !tbaa !9
  %121 = tail call i32 @fileno(ptr noundef %120) #8
  %122 = tail call i32 @isatty(i32 noundef %121) #8
  %.not798 = icmp eq i32 %122, 0
  br i1 %.not798, label %123, label %124

123:                                              ; preds = %119, %112
  br label %124

124:                                              ; preds = %119, %123
  %.str.5.sink841 = phi ptr [ @.str.5, %123 ], [ @.str.2, %119 ]
  store i32 %114, ptr %113, align 4, !tbaa !5
  %125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %126 = load i32, ptr @test_count, align 4, !tbaa !5
  %127 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %128 = load i32, ptr %127, align 4, !tbaa !5
  %129 = tail call ptr @s2n_strerror(i32 noundef %128, ptr noundef nonnull @.str.4) #8
  %130 = load i32, ptr %127, align 4, !tbaa !5
  %131 = tail call ptr @s2n_strerror_debug(i32 noundef %130, ptr noundef nonnull @.str.4) #8
  %132 = load i32, ptr %113, align 4, !tbaa !5
  %133 = tail call ptr @strerror(i32 noundef %132) #8
  %134 = load i32, ptr %113, align 4, !tbaa !5
  %135 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %125, ptr noundef nonnull %.str.5.sink841, i32 noundef %126, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.1, i32 noundef 255, ptr noundef %129, ptr noundef %131, ptr noundef %133, i32 noundef %134) #10
  tail call void @exit(i32 noundef 1) #11
  unreachable

136:                                              ; preds = %107
  %137 = tail call i32 @s2n_init() #8
  %138 = icmp eq i32 %137, -1
  br i1 %138, label %139, label %163

139:                                              ; preds = %136
  %140 = tail call ptr @__errno_location() #9
  %141 = load i32, ptr %140, align 4, !tbaa !5
  %142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %143 = tail call i32 @s2n_print_stacktrace(ptr noundef %142) #8
  %144 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %145 = trunc nuw i8 %144 to i1
  br i1 %145, label %146, label %150

146:                                              ; preds = %139
  %147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %148 = tail call i32 @fileno(ptr noundef %147) #8
  %149 = tail call i32 @isatty(i32 noundef %148) #8
  %.not797 = icmp eq i32 %149, 0
  br i1 %.not797, label %150, label %151

150:                                              ; preds = %146, %139
  br label %151

151:                                              ; preds = %146, %150
  %.str.5.sink852 = phi ptr [ @.str.5, %150 ], [ @.str.2, %146 ]
  store i32 %141, ptr %140, align 4, !tbaa !5
  %152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %153 = load i32, ptr @test_count, align 4, !tbaa !5
  %154 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %155 = load i32, ptr %154, align 4, !tbaa !5
  %156 = tail call ptr @s2n_strerror(i32 noundef %155, ptr noundef nonnull @.str.4) #8
  %157 = load i32, ptr %154, align 4, !tbaa !5
  %158 = tail call ptr @s2n_strerror_debug(i32 noundef %157, ptr noundef nonnull @.str.4) #8
  %159 = load i32, ptr %140, align 4, !tbaa !5
  %160 = tail call ptr @strerror(i32 noundef %159) #8
  %161 = load i32, ptr %140, align 4, !tbaa !5
  %162 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %152, ptr noundef nonnull %.str.5.sink852, i32 noundef %153, ptr noundef nonnull @.str.7, ptr noundef nonnull @.str.1, i32 noundef 255, ptr noundef %156, ptr noundef %158, ptr noundef %160, i32 noundef %161) #10
  tail call void @exit(i32 noundef 1) #11
  unreachable

163:                                              ; preds = %136
  %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 = tail call i32 (...) @s2n_disable_tls13_in_test() #8
  %167 = icmp eq i32 %166, -1
  br i1 %167, label %168, label %192

168:                                              ; preds = %163
  %169 = tail call ptr @__errno_location() #9
  %170 = load i32, ptr %169, align 4, !tbaa !5
  %171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %172 = tail call i32 @s2n_print_stacktrace(ptr noundef %171) #8
  %173 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %174 = trunc nuw i8 %173 to i1
  br i1 %174, label %175, label %179

175:                                              ; preds = %168
  %176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %177 = tail call i32 @fileno(ptr noundef %176) #8
  %178 = tail call i32 @isatty(i32 noundef %177) #8
  %.not796 = icmp eq i32 %178, 0
  br i1 %.not796, label %179, label %180

179:                                              ; preds = %175, %168
  br label %180

180:                                              ; preds = %175, %179
  %.str.5.sink863 = phi ptr [ @.str.5, %179 ], [ @.str.2, %175 ]
  store i32 %170, ptr %169, align 4, !tbaa !5
  %181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %182 = load i32, ptr @test_count, align 4, !tbaa !5
  %183 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %184 = load i32, ptr %183, align 4, !tbaa !5
  %185 = tail call ptr @s2n_strerror(i32 noundef %184, ptr noundef nonnull @.str.4) #8
  %186 = load i32, ptr %183, align 4, !tbaa !5
  %187 = tail call ptr @s2n_strerror_debug(i32 noundef %186, ptr noundef nonnull @.str.4) #8
  %188 = load i32, ptr %169, align 4, !tbaa !5
  %189 = tail call ptr @strerror(i32 noundef %188) #8
  %190 = load i32, ptr %169, align 4, !tbaa !5
  %191 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %181, ptr noundef nonnull %.str.5.sink863, i32 noundef %182, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 256, ptr noundef %185, ptr noundef %187, ptr noundef %189, i32 noundef %190) #10
  tail call void @exit(i32 noundef 1) #11
  unreachable

192:                                              ; preds = %163
  %193 = load i32, ptr @test_count, align 4, !tbaa !5
  %194 = add nsw i32 %193, 1
  store i32 %194, ptr @test_count, align 4, !tbaa !5
  %195 = tail call i32 @failure_gte()
  %196 = icmp eq i32 %195, -1
  br i1 %196, label %221, label %197

197:                                              ; preds = %192
  %198 = tail call ptr @__errno_location() #9
  %199 = load i32, ptr %198, align 4, !tbaa !5
  %200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %201 = tail call i32 @s2n_print_stacktrace(ptr noundef %200) #8
  %202 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %203 = trunc nuw i8 %202 to i1
  br i1 %203, label %204, label %208

204:                                              ; preds = %197
  %205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %206 = tail call i32 @fileno(ptr noundef %205) #8
  %207 = tail call i32 @isatty(i32 noundef %206) #8
  %.not = icmp eq i32 %207, 0
  br i1 %.not, label %208, label %209

208:                                              ; preds = %204, %197
  br label %209

209:                                              ; preds = %204, %208
  %.str.5.sink874 = phi ptr [ @.str.5, %208 ], [ @.str.2, %204 ]
  store i32 %199, ptr %198, align 4, !tbaa !5
  %210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %211 = load i32, ptr @test_count, align 4, !tbaa !5
  %212 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %213 = load i32, ptr %212, align 4, !tbaa !5
  %214 = tail call ptr @s2n_strerror(i32 noundef %213, ptr noundef nonnull @.str.4) #8
  %215 = load i32, ptr %212, align 4, !tbaa !5
  %216 = tail call ptr @s2n_strerror_debug(i32 noundef %215, ptr noundef nonnull @.str.4) #8
  %217 = load i32, ptr %198, align 4, !tbaa !5
  %218 = tail call ptr @strerror(i32 noundef %217) #8
  %219 = load i32, ptr %198, align 4, !tbaa !5
  %220 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %210, ptr noundef nonnull %.str.5.sink874, i32 noundef %211, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 258, ptr noundef %214, ptr noundef %216, ptr noundef %218, i32 noundef %219) #10
  tail call void @exit(i32 noundef 1) #11
  unreachable

221:                                              ; preds = %192
  %222 = load i32, ptr @test_count, align 4, !tbaa !5
  %223 = add nsw i32 %222, 1
  store i32 %223, ptr @test_count, align 4, !tbaa !5
  %224 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %225 = load i32, ptr %224, align 4, !tbaa !5
  %226 = icmp eq i32 %225, 0
  br i1 %226, label %227, label %250

227:                                              ; preds = %221
  %228 = tail call ptr @__errno_location() #9
  %229 = load i32, ptr %228, align 4, !tbaa !5
  %230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %231 = tail call i32 @s2n_print_stacktrace(ptr noundef %230) #8
  %232 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %233 = trunc nuw i8 %232 to i1
  br i1 %233, label %234, label %238

234:                                              ; preds = %227
  %235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %236 = tail call i32 @fileno(ptr noundef %235) #8
  %237 = tail call i32 @isatty(i32 noundef %236) #8
  %.not795 = icmp eq i32 %237, 0
  br i1 %.not795, label %238, label %239

238:                                              ; preds = %234, %227
  br label %239

239:                                              ; preds = %234, %238
  %.str.5.sink885 = phi ptr [ @.str.5, %238 ], [ @.str.2, %234 ]
  store i32 %229, ptr %228, align 4, !tbaa !5
  %240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %241 = load i32, ptr @test_count, align 4, !tbaa !5
  %242 = load i32, ptr %224, align 4, !tbaa !5
  %243 = tail call ptr @s2n_strerror(i32 noundef %242, ptr noundef nonnull @.str.4) #8
  %244 = load i32, ptr %224, align 4, !tbaa !5
  %245 = tail call ptr @s2n_strerror_debug(i32 noundef %244, ptr noundef nonnull @.str.4) #8
  %246 = load i32, ptr %228, align 4, !tbaa !5
  %247 = tail call ptr @strerror(i32 noundef %246) #8
  %248 = load i32, ptr %228, align 4, !tbaa !5
  %249 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %240, ptr noundef nonnull %.str.5.sink885, i32 noundef %241, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 258, ptr noundef %243, ptr noundef %245, ptr noundef %247, i32 noundef %248) #10
  tail call void @exit(i32 noundef 1) #11
  unreachable

250:                                              ; preds = %221
  %251 = add nsw i32 %222, 2
  store i32 %251, ptr @test_count, align 4, !tbaa !5
  %252 = tail call ptr @s2n_strerror_debug(i32 noundef %225, ptr noundef nonnull @.str.4) #8
  %253 = icmp eq ptr %252, null
  br i1 %253, label %254, label %277

254:                                              ; preds = %250
  %255 = tail call ptr @__errno_location() #9
  %256 = load i32, ptr %255, align 4, !tbaa !5
  %257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %258 = tail call i32 @s2n_print_stacktrace(ptr noundef %257) #8
  %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 = tail call i32 @fileno(ptr noundef %262) #8
  %264 = tail call i32 @isatty(i32 noundef %263) #8
  %.not794 = icmp eq i32 %264, 0
  br i1 %.not794, label %265, label %266

265:                                              ; preds = %261, %254
  br label %266

266:                                              ; preds = %261, %265
  %.str.5.sink894 = 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 = load i32, ptr %224, align 4, !tbaa !5
  %270 = tail call ptr @s2n_strerror(i32 noundef %269, ptr noundef nonnull @.str.4) #8
  %271 = load i32, ptr %224, align 4, !tbaa !5
  %272 = tail call ptr @s2n_strerror_debug(i32 noundef %271, ptr noundef nonnull @.str.4) #8
  %273 = load i32, ptr %255, align 4, !tbaa !5
  %274 = tail call ptr @strerror(i32 noundef %273) #8
  %275 = load i32, ptr %255, align 4, !tbaa !5
  %276 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %267, ptr noundef nonnull %.str.5.sink894, i32 noundef %268, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 258, ptr noundef %270, ptr noundef %272, ptr noundef %274, i32 noundef %275) #10
  tail call void @exit(i32 noundef 1) #11
  unreachable

277:                                              ; preds = %250
  store i32 0, ptr %224, align 4, !tbaa !5
  tail call void @s2n_debug_info_reset() #8
  %278 = tail call ptr @__errno_location() #9
  store i32 0, ptr %278, align 4, !tbaa !5
  %279 = load i32, ptr @test_count, align 4, !tbaa !5
  %280 = add nsw i32 %279, 1
  store i32 %280, ptr @test_count, align 4, !tbaa !5
  %281 = tail call i32 @failure_lte()
  %282 = icmp eq i32 %281, -1
  br i1 %282, label %305, label %283

283:                                              ; preds = %277
  %284 = load i32, ptr %278, align 4, !tbaa !5
  %285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %286 = tail call i32 @s2n_print_stacktrace(ptr noundef %285) #8
  %287 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %288 = trunc nuw i8 %287 to i1
  br i1 %288, label %289, label %293

289:                                              ; preds = %283
  %290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %291 = tail call i32 @fileno(ptr noundef %290) #8
  %292 = tail call i32 @isatty(i32 noundef %291) #8
  %.not545 = icmp eq i32 %292, 0
  br i1 %.not545, label %293, label %294

293:                                              ; preds = %289, %283
  br label %294

294:                                              ; preds = %289, %293
  %.str.5.sink903 = phi ptr [ @.str.5, %293 ], [ @.str.2, %289 ]
  store i32 %284, ptr %278, align 4, !tbaa !5
  %295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %296 = load i32, ptr @test_count, align 4, !tbaa !5
  %297 = load i32, ptr %224, align 4, !tbaa !5
  %298 = tail call ptr @s2n_strerror(i32 noundef %297, ptr noundef nonnull @.str.4) #8
  %299 = load i32, ptr %224, align 4, !tbaa !5
  %300 = tail call ptr @s2n_strerror_debug(i32 noundef %299, ptr noundef nonnull @.str.4) #8
  %301 = load i32, ptr %278, align 4, !tbaa !5
  %302 = tail call ptr @strerror(i32 noundef %301) #8
  %303 = load i32, ptr %278, align 4, !tbaa !5
  %304 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %295, ptr noundef nonnull %.str.5.sink903, i32 noundef %296, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 259, ptr noundef %298, ptr noundef %300, ptr noundef %302, i32 noundef %303) #10
  tail call void @exit(i32 noundef 1) #11
  unreachable

305:                                              ; preds = %277
  %306 = load i32, ptr @test_count, align 4, !tbaa !5
  %307 = add nsw i32 %306, 1
  store i32 %307, ptr @test_count, align 4, !tbaa !5
  %308 = load i32, ptr %224, align 4, !tbaa !5
  %309 = icmp eq i32 %308, 0
  br i1 %309, label %310, label %332

310:                                              ; preds = %305
  %311 = load i32, ptr %278, align 4, !tbaa !5
  %312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %313 = tail call i32 @s2n_print_stacktrace(ptr noundef %312) #8
  %314 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %315 = trunc nuw i8 %314 to i1
  br i1 %315, label %316, label %320

316:                                              ; preds = %310
  %317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %318 = tail call i32 @fileno(ptr noundef %317) #8
  %319 = tail call i32 @isatty(i32 noundef %318) #8
  %.not793 = icmp eq i32 %319, 0
  br i1 %.not793, label %320, label %321

320:                                              ; preds = %316, %310
  br label %321

321:                                              ; preds = %316, %320
  %.str.5.sink912 = phi ptr [ @.str.5, %320 ], [ @.str.2, %316 ]
  store i32 %311, ptr %278, align 4, !tbaa !5
  %322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %323 = load i32, ptr @test_count, align 4, !tbaa !5
  %324 = load i32, ptr %224, align 4, !tbaa !5
  %325 = tail call ptr @s2n_strerror(i32 noundef %324, ptr noundef nonnull @.str.4) #8
  %326 = load i32, ptr %224, align 4, !tbaa !5
  %327 = tail call ptr @s2n_strerror_debug(i32 noundef %326, ptr noundef nonnull @.str.4) #8
  %328 = load i32, ptr %278, align 4, !tbaa !5
  %329 = tail call ptr @strerror(i32 noundef %328) #8
  %330 = load i32, ptr %278, align 4, !tbaa !5
  %331 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %322, ptr noundef nonnull %.str.5.sink912, i32 noundef %323, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 259, ptr noundef %325, ptr noundef %327, ptr noundef %329, i32 noundef %330) #10
  tail call void @exit(i32 noundef 1) #11
  unreachable

332:                                              ; preds = %305
  %333 = add nsw i32 %306, 2
  store i32 %333, ptr @test_count, align 4, !tbaa !5
  %334 = tail call ptr @s2n_strerror_debug(i32 noundef %308, ptr noundef nonnull @.str.4) #8
  %335 = icmp eq ptr %334, null
  br i1 %335, label %336, label %358

336:                                              ; preds = %332
  %337 = load i32, ptr %278, align 4, !tbaa !5
  %338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %339 = tail call i32 @s2n_print_stacktrace(ptr noundef %338) #8
  %340 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %341 = trunc nuw i8 %340 to i1
  br i1 %341, label %342, label %346

342:                                              ; preds = %336
  %343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %344 = tail call i32 @fileno(ptr noundef %343) #8
  %345 = tail call i32 @isatty(i32 noundef %344) #8
  %.not792 = icmp eq i32 %345, 0
  br i1 %.not792, label %346, label %347

346:                                              ; preds = %342, %336
  br label %347

347:                                              ; preds = %342, %346
  %.str.5.sink921 = phi ptr [ @.str.5, %346 ], [ @.str.2, %342 ]
  store i32 %337, ptr %278, align 4, !tbaa !5
  %348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %349 = load i32, ptr @test_count, align 4, !tbaa !5
  %350 = load i32, ptr %224, align 4, !tbaa !5
  %351 = tail call ptr @s2n_strerror(i32 noundef %350, ptr noundef nonnull @.str.4) #8
  %352 = load i32, ptr %224, align 4, !tbaa !5
  %353 = tail call ptr @s2n_strerror_debug(i32 noundef %352, ptr noundef nonnull @.str.4) #8
  %354 = load i32, ptr %278, align 4, !tbaa !5
  %355 = tail call ptr @strerror(i32 noundef %354) #8
  %356 = load i32, ptr %278, align 4, !tbaa !5
  %357 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %348, ptr noundef nonnull %.str.5.sink921, i32 noundef %349, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 259, ptr noundef %351, ptr noundef %353, ptr noundef %355, i32 noundef %356) #10
  tail call void @exit(i32 noundef 1) #11
  unreachable

358:                                              ; preds = %332
  store i32 0, ptr %224, align 4, !tbaa !5
  tail call void @s2n_debug_info_reset() #8
  store i32 0, ptr %278, align 4, !tbaa !5
  %359 = load i32, ptr @test_count, align 4, !tbaa !5
  %360 = add nsw i32 %359, 1
  store i32 %360, ptr @test_count, align 4, !tbaa !5
  %361 = tail call i32 @failure_gt()
  %362 = icmp eq i32 %361, -1
  br i1 %362, label %385, label %363

363:                                              ; preds = %358
  %364 = load i32, ptr %278, align 4, !tbaa !5
  %365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %366 = tail call i32 @s2n_print_stacktrace(ptr noundef %365) #8
  %367 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %368 = trunc nuw i8 %367 to i1
  br i1 %368, label %369, label %373

369:                                              ; preds = %363
  %370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %371 = tail call i32 @fileno(ptr noundef %370) #8
  %372 = tail call i32 @isatty(i32 noundef %371) #8
  %.not546 = icmp eq i32 %372, 0
  br i1 %.not546, label %373, label %374

373:                                              ; preds = %369, %363
  br label %374

374:                                              ; preds = %369, %373
  %.str.5.sink930 = phi ptr [ @.str.5, %373 ], [ @.str.2, %369 ]
  store i32 %364, ptr %278, align 4, !tbaa !5
  %375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %376 = load i32, ptr @test_count, align 4, !tbaa !5
  %377 = load i32, ptr %224, align 4, !tbaa !5
  %378 = tail call ptr @s2n_strerror(i32 noundef %377, ptr noundef nonnull @.str.4) #8
  %379 = load i32, ptr %224, align 4, !tbaa !5
  %380 = tail call ptr @s2n_strerror_debug(i32 noundef %379, ptr noundef nonnull @.str.4) #8
  %381 = load i32, ptr %278, align 4, !tbaa !5
  %382 = tail call ptr @strerror(i32 noundef %381) #8
  %383 = load i32, ptr %278, align 4, !tbaa !5
  %384 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %375, ptr noundef nonnull %.str.5.sink930, i32 noundef %376, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 260, ptr noundef %378, ptr noundef %380, ptr noundef %382, i32 noundef %383) #10
  tail call void @exit(i32 noundef 1) #11
  unreachable

385:                                              ; preds = %358
  %386 = load i32, ptr @test_count, align 4, !tbaa !5
  %387 = add nsw i32 %386, 1
  store i32 %387, ptr @test_count, align 4, !tbaa !5
  %388 = load i32, ptr %224, align 4, !tbaa !5
  %389 = icmp eq i32 %388, 0
  br i1 %389, label %390, label %412

390:                                              ; preds = %385
  %391 = load i32, ptr %278, align 4, !tbaa !5
  %392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %393 = tail call i32 @s2n_print_stacktrace(ptr noundef %392) #8
  %394 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %395 = trunc nuw i8 %394 to i1
  br i1 %395, label %396, label %400

396:                                              ; preds = %390
  %397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %398 = tail call i32 @fileno(ptr noundef %397) #8
  %399 = tail call i32 @isatty(i32 noundef %398) #8
  %.not791 = icmp eq i32 %399, 0
  br i1 %.not791, label %400, label %401

400:                                              ; preds = %396, %390
  br label %401

401:                                              ; preds = %396, %400
  %.str.5.sink939 = phi ptr [ @.str.5, %400 ], [ @.str.2, %396 ]
  store i32 %391, ptr %278, align 4, !tbaa !5
  %402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %403 = load i32, ptr @test_count, align 4, !tbaa !5
  %404 = load i32, ptr %224, align 4, !tbaa !5
  %405 = tail call ptr @s2n_strerror(i32 noundef %404, ptr noundef nonnull @.str.4) #8
  %406 = load i32, ptr %224, align 4, !tbaa !5
  %407 = tail call ptr @s2n_strerror_debug(i32 noundef %406, ptr noundef nonnull @.str.4) #8
  %408 = load i32, ptr %278, align 4, !tbaa !5
  %409 = tail call ptr @strerror(i32 noundef %408) #8
  %410 = load i32, ptr %278, align 4, !tbaa !5
  %411 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %402, ptr noundef nonnull %.str.5.sink939, i32 noundef %403, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 260, ptr noundef %405, ptr noundef %407, ptr noundef %409, i32 noundef %410) #10
  tail call void @exit(i32 noundef 1) #11
  unreachable

412:                                              ; preds = %385
  %413 = add nsw i32 %386, 2
  store i32 %413, ptr @test_count, align 4, !tbaa !5
  %414 = tail call ptr @s2n_strerror_debug(i32 noundef %388, ptr noundef nonnull @.str.4) #8
  %415 = icmp eq ptr %414, null
  br i1 %415, label %416, label %438

416:                                              ; preds = %412
  %417 = load i32, ptr %278, align 4, !tbaa !5
  %418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %419 = tail call i32 @s2n_print_stacktrace(ptr noundef %418) #8
  %420 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %421 = trunc nuw i8 %420 to i1
  br i1 %421, label %422, label %426

422:                                              ; preds = %416
  %423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %424 = tail call i32 @fileno(ptr noundef %423) #8
  %425 = tail call i32 @isatty(i32 noundef %424) #8
  %.not790 = icmp eq i32 %425, 0
  br i1 %.not790, label %426, label %427

426:                                              ; preds = %422, %416
  br label %427

427:                                              ; preds = %422, %426
  %.str.5.sink948 = phi ptr [ @.str.5, %426 ], [ @.str.2, %422 ]
  store i32 %417, ptr %278, align 4, !tbaa !5
  %428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %429 = load i32, ptr @test_count, align 4, !tbaa !5
  %430 = load i32, ptr %224, align 4, !tbaa !5
  %431 = tail call ptr @s2n_strerror(i32 noundef %430, ptr noundef nonnull @.str.4) #8
  %432 = load i32, ptr %224, align 4, !tbaa !5
  %433 = tail call ptr @s2n_strerror_debug(i32 noundef %432, ptr noundef nonnull @.str.4) #8
  %434 = load i32, ptr %278, align 4, !tbaa !5
  %435 = tail call ptr @strerror(i32 noundef %434) #8
  %436 = load i32, ptr %278, align 4, !tbaa !5
  %437 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %428, ptr noundef nonnull %.str.5.sink948, i32 noundef %429, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 260, ptr noundef %431, ptr noundef %433, ptr noundef %435, i32 noundef %436) #10
  tail call void @exit(i32 noundef 1) #11
  unreachable

438:                                              ; preds = %412
  store i32 0, ptr %224, align 4, !tbaa !5
  tail call void @s2n_debug_info_reset() #8
  store i32 0, ptr %278, align 4, !tbaa !5
  %439 = load i32, ptr @test_count, align 4, !tbaa !5
  %440 = add nsw i32 %439, 1
  store i32 %440, ptr @test_count, align 4, !tbaa !5
  %441 = tail call i32 @failure_lt()
  %442 = icmp eq i32 %441, -1
  br i1 %442, label %465, label %443

443:                                              ; preds = %438
  %444 = load i32, ptr %278, align 4, !tbaa !5
  %445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %446 = tail call i32 @s2n_print_stacktrace(ptr noundef %445) #8
  %447 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %448 = trunc nuw i8 %447 to i1
  br i1 %448, label %449, label %453

449:                                              ; preds = %443
  %450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %451 = tail call i32 @fileno(ptr noundef %450) #8
  %452 = tail call i32 @isatty(i32 noundef %451) #8
  %.not547 = icmp eq i32 %452, 0
  br i1 %.not547, label %453, label %454

453:                                              ; preds = %449, %443
  br label %454

454:                                              ; preds = %449, %453
  %.str.5.sink957 = phi ptr [ @.str.5, %453 ], [ @.str.2, %449 ]
  store i32 %444, ptr %278, align 4, !tbaa !5
  %455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %456 = load i32, ptr @test_count, align 4, !tbaa !5
  %457 = load i32, ptr %224, align 4, !tbaa !5
  %458 = tail call ptr @s2n_strerror(i32 noundef %457, ptr noundef nonnull @.str.4) #8
  %459 = load i32, ptr %224, align 4, !tbaa !5
  %460 = tail call ptr @s2n_strerror_debug(i32 noundef %459, ptr noundef nonnull @.str.4) #8
  %461 = load i32, ptr %278, align 4, !tbaa !5
  %462 = tail call ptr @strerror(i32 noundef %461) #8
  %463 = load i32, ptr %278, align 4, !tbaa !5
  %464 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %455, ptr noundef nonnull %.str.5.sink957, i32 noundef %456, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 261, ptr noundef %458, ptr noundef %460, ptr noundef %462, i32 noundef %463) #10
  tail call void @exit(i32 noundef 1) #11
  unreachable

465:                                              ; preds = %438
  %466 = load i32, ptr @test_count, align 4, !tbaa !5
  %467 = add nsw i32 %466, 1
  store i32 %467, ptr @test_count, align 4, !tbaa !5
  %468 = load i32, ptr %224, align 4, !tbaa !5
  %469 = icmp eq i32 %468, 0
  br i1 %469, label %470, label %492

470:                                              ; preds = %465
  %471 = load i32, ptr %278, align 4, !tbaa !5
  %472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %473 = tail call i32 @s2n_print_stacktrace(ptr noundef %472) #8
  %474 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %475 = trunc nuw i8 %474 to i1
  br i1 %475, label %476, label %480

476:                                              ; preds = %470
  %477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %478 = tail call i32 @fileno(ptr noundef %477) #8
  %479 = tail call i32 @isatty(i32 noundef %478) #8
  %.not789 = icmp eq i32 %479, 0
  br i1 %.not789, label %480, label %481

480:                                              ; preds = %476, %470
  br label %481

481:                                              ; preds = %476, %480
  %.str.5.sink966 = phi ptr [ @.str.5, %480 ], [ @.str.2, %476 ]
  store i32 %471, ptr %278, align 4, !tbaa !5
  %482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %483 = load i32, ptr @test_count, align 4, !tbaa !5
  %484 = load i32, ptr %224, align 4, !tbaa !5
  %485 = tail call ptr @s2n_strerror(i32 noundef %484, ptr noundef nonnull @.str.4) #8
  %486 = load i32, ptr %224, align 4, !tbaa !5
  %487 = tail call ptr @s2n_strerror_debug(i32 noundef %486, ptr noundef nonnull @.str.4) #8
  %488 = load i32, ptr %278, align 4, !tbaa !5
  %489 = tail call ptr @strerror(i32 noundef %488) #8
  %490 = load i32, ptr %278, align 4, !tbaa !5
  %491 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %482, ptr noundef nonnull %.str.5.sink966, i32 noundef %483, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 261, ptr noundef %485, ptr noundef %487, ptr noundef %489, i32 noundef %490) #10
  tail call void @exit(i32 noundef 1) #11
  unreachable

492:                                              ; preds = %465
  %493 = add nsw i32 %466, 2
  store i32 %493, ptr @test_count, align 4, !tbaa !5
  %494 = tail call ptr @s2n_strerror_debug(i32 noundef %468, ptr noundef nonnull @.str.4) #8
  %495 = icmp eq ptr %494, null
  br i1 %495, label %496, label %518

496:                                              ; preds = %492
  %497 = load i32, ptr %278, align 4, !tbaa !5
  %498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %499 = tail call i32 @s2n_print_stacktrace(ptr noundef %498) #8
  %500 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %501 = trunc nuw i8 %500 to i1
  br i1 %501, label %502, label %506

502:                                              ; preds = %496
  %503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %504 = tail call i32 @fileno(ptr noundef %503) #8
  %505 = tail call i32 @isatty(i32 noundef %504) #8
  %.not788 = icmp eq i32 %505, 0
  br i1 %.not788, label %506, label %507

506:                                              ; preds = %502, %496
  br label %507

507:                                              ; preds = %502, %506
  %.str.5.sink975 = phi ptr [ @.str.5, %506 ], [ @.str.2, %502 ]
  store i32 %497, ptr %278, align 4, !tbaa !5
  %508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %509 = load i32, ptr @test_count, align 4, !tbaa !5
  %510 = load i32, ptr %224, align 4, !tbaa !5
  %511 = tail call ptr @s2n_strerror(i32 noundef %510, ptr noundef nonnull @.str.4) #8
  %512 = load i32, ptr %224, align 4, !tbaa !5
  %513 = tail call ptr @s2n_strerror_debug(i32 noundef %512, ptr noundef nonnull @.str.4) #8
  %514 = load i32, ptr %278, align 4, !tbaa !5
  %515 = tail call ptr @strerror(i32 noundef %514) #8
  %516 = load i32, ptr %278, align 4, !tbaa !5
  %517 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %508, ptr noundef nonnull %.str.5.sink975, i32 noundef %509, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 261, ptr noundef %511, ptr noundef %513, ptr noundef %515, i32 noundef %516) #10
  tail call void @exit(i32 noundef 1) #11
  unreachable

518:                                              ; preds = %492
  store i32 0, ptr %224, align 4, !tbaa !5
  tail call void @s2n_debug_info_reset() #8
  store i32 0, ptr %278, align 4, !tbaa !5
  %519 = load i32, ptr @test_count, align 4, !tbaa !5
  %520 = add nsw i32 %519, 1
  store i32 %520, ptr @test_count, align 4, !tbaa !5
  %521 = tail call i32 @failure_notnull()
  %522 = icmp eq i32 %521, -1
  br i1 %522, label %545, label %523

523:                                              ; preds = %518
  %524 = load i32, ptr %278, align 4, !tbaa !5
  %525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %526 = tail call i32 @s2n_print_stacktrace(ptr noundef %525) #8
  %527 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %528 = trunc nuw i8 %527 to i1
  br i1 %528, label %529, label %533

529:                                              ; preds = %523
  %530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %531 = tail call i32 @fileno(ptr noundef %530) #8
  %532 = tail call i32 @isatty(i32 noundef %531) #8
  %.not548 = icmp eq i32 %532, 0
  br i1 %.not548, label %533, label %534

533:                                              ; preds = %529, %523
  br label %534

534:                                              ; preds = %529, %533
  %.str.5.sink984 = phi ptr [ @.str.5, %533 ], [ @.str.2, %529 ]
  store i32 %524, ptr %278, align 4, !tbaa !5
  %535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %536 = load i32, ptr @test_count, align 4, !tbaa !5
  %537 = load i32, ptr %224, align 4, !tbaa !5
  %538 = tail call ptr @s2n_strerror(i32 noundef %537, ptr noundef nonnull @.str.4) #8
  %539 = load i32, ptr %224, align 4, !tbaa !5
  %540 = tail call ptr @s2n_strerror_debug(i32 noundef %539, ptr noundef nonnull @.str.4) #8
  %541 = load i32, ptr %278, align 4, !tbaa !5
  %542 = tail call ptr @strerror(i32 noundef %541) #8
  %543 = load i32, ptr %278, align 4, !tbaa !5
  %544 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %535, ptr noundef nonnull %.str.5.sink984, i32 noundef %536, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 262, ptr noundef %538, ptr noundef %540, ptr noundef %542, i32 noundef %543) #10
  tail call void @exit(i32 noundef 1) #11
  unreachable

545:                                              ; preds = %518
  %546 = load i32, ptr @test_count, align 4, !tbaa !5
  %547 = add nsw i32 %546, 1
  store i32 %547, ptr @test_count, align 4, !tbaa !5
  %548 = load i32, ptr %224, align 4, !tbaa !5
  %549 = icmp eq i32 %548, 0
  br i1 %549, label %550, label %572

550:                                              ; preds = %545
  %551 = load i32, ptr %278, align 4, !tbaa !5
  %552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %553 = tail call i32 @s2n_print_stacktrace(ptr noundef %552) #8
  %554 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %555 = trunc nuw i8 %554 to i1
  br i1 %555, label %556, label %560

556:                                              ; preds = %550
  %557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %558 = tail call i32 @fileno(ptr noundef %557) #8
  %559 = tail call i32 @isatty(i32 noundef %558) #8
  %.not787 = icmp eq i32 %559, 0
  br i1 %.not787, label %560, label %561

560:                                              ; preds = %556, %550
  br label %561

561:                                              ; preds = %556, %560
  %.str.5.sink993 = phi ptr [ @.str.5, %560 ], [ @.str.2, %556 ]
  store i32 %551, ptr %278, align 4, !tbaa !5
  %562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %563 = load i32, ptr @test_count, align 4, !tbaa !5
  %564 = load i32, ptr %224, align 4, !tbaa !5
  %565 = tail call ptr @s2n_strerror(i32 noundef %564, ptr noundef nonnull @.str.4) #8
  %566 = load i32, ptr %224, align 4, !tbaa !5
  %567 = tail call ptr @s2n_strerror_debug(i32 noundef %566, ptr noundef nonnull @.str.4) #8
  %568 = load i32, ptr %278, align 4, !tbaa !5
  %569 = tail call ptr @strerror(i32 noundef %568) #8
  %570 = load i32, ptr %278, align 4, !tbaa !5
  %571 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %562, ptr noundef nonnull %.str.5.sink993, i32 noundef %563, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 262, ptr noundef %565, ptr noundef %567, ptr noundef %569, i32 noundef %570) #10
  tail call void @exit(i32 noundef 1) #11
  unreachable

572:                                              ; preds = %545
  %573 = add nsw i32 %546, 2
  store i32 %573, ptr @test_count, align 4, !tbaa !5
  %574 = tail call ptr @s2n_strerror_debug(i32 noundef %548, ptr noundef nonnull @.str.4) #8
  %575 = icmp eq ptr %574, null
  br i1 %575, label %576, label %598

576:                                              ; preds = %572
  %577 = load i32, ptr %278, align 4, !tbaa !5
  %578 = load ptr, ptr @stderr, align 8, !tbaa !9
  %579 = tail call i32 @s2n_print_stacktrace(ptr noundef %578) #8
  %580 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %581 = trunc nuw i8 %580 to i1
  br i1 %581, label %582, label %586

582:                                              ; preds = %576
  %583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %584 = tail call i32 @fileno(ptr noundef %583) #8
  %585 = tail call i32 @isatty(i32 noundef %584) #8
  %.not786 = icmp eq i32 %585, 0
  br i1 %.not786, label %586, label %587

586:                                              ; preds = %582, %576
  br label %587

587:                                              ; preds = %582, %586
  %.str.5.sink1002 = phi ptr [ @.str.5, %586 ], [ @.str.2, %582 ]
  store i32 %577, ptr %278, align 4, !tbaa !5
  %588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %589 = load i32, ptr @test_count, align 4, !tbaa !5
  %590 = load i32, ptr %224, align 4, !tbaa !5
  %591 = tail call ptr @s2n_strerror(i32 noundef %590, ptr noundef nonnull @.str.4) #8
  %592 = load i32, ptr %224, align 4, !tbaa !5
  %593 = tail call ptr @s2n_strerror_debug(i32 noundef %592, ptr noundef nonnull @.str.4) #8
  %594 = load i32, ptr %278, align 4, !tbaa !5
  %595 = tail call ptr @strerror(i32 noundef %594) #8
  %596 = load i32, ptr %278, align 4, !tbaa !5
  %597 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %588, ptr noundef nonnull %.str.5.sink1002, i32 noundef %589, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 262, ptr noundef %591, ptr noundef %593, ptr noundef %595, i32 noundef %596) #10
  tail call void @exit(i32 noundef 1) #11
  unreachable

598:                                              ; preds = %572
  store i32 0, ptr %224, align 4, !tbaa !5
  tail call void @s2n_debug_info_reset() #8
  store i32 0, ptr %278, align 4, !tbaa !5
  %599 = load i32, ptr @test_count, align 4, !tbaa !5
  %600 = add nsw i32 %599, 1
  store i32 %600, ptr @test_count, align 4, !tbaa !5
  %601 = tail call i32 @failure_memcpy()
  %602 = icmp eq i32 %601, -1
  br i1 %602, label %625, label %603

603:                                              ; preds = %598
  %604 = load i32, ptr %278, align 4, !tbaa !5
  %605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %606 = tail call i32 @s2n_print_stacktrace(ptr noundef %605) #8
  %607 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %608 = trunc nuw i8 %607 to i1
  br i1 %608, label %609, label %613

609:                                              ; preds = %603
  %610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %611 = tail call i32 @fileno(ptr noundef %610) #8
  %612 = tail call i32 @isatty(i32 noundef %611) #8
  %.not549 = icmp eq i32 %612, 0
  br i1 %.not549, label %613, label %614

613:                                              ; preds = %609, %603
  br label %614

614:                                              ; preds = %609, %613
  %.str.5.sink1011 = phi ptr [ @.str.5, %613 ], [ @.str.2, %609 ]
  store i32 %604, ptr %278, align 4, !tbaa !5
  %615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %616 = load i32, ptr @test_count, align 4, !tbaa !5
  %617 = load i32, ptr %224, align 4, !tbaa !5
  %618 = tail call ptr @s2n_strerror(i32 noundef %617, ptr noundef nonnull @.str.4) #8
  %619 = load i32, ptr %224, align 4, !tbaa !5
  %620 = tail call ptr @s2n_strerror_debug(i32 noundef %619, ptr noundef nonnull @.str.4) #8
  %621 = load i32, ptr %278, align 4, !tbaa !5
  %622 = tail call ptr @strerror(i32 noundef %621) #8
  %623 = load i32, ptr %278, align 4, !tbaa !5
  %624 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %615, ptr noundef nonnull %.str.5.sink1011, i32 noundef %616, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 263, ptr noundef %618, ptr noundef %620, ptr noundef %622, i32 noundef %623) #10
  tail call void @exit(i32 noundef 1) #11
  unreachable

625:                                              ; preds = %598
  %626 = load i32, ptr @test_count, align 4, !tbaa !5
  %627 = add nsw i32 %626, 1
  store i32 %627, ptr @test_count, align 4, !tbaa !5
  %628 = load i32, ptr %224, align 4, !tbaa !5
  %629 = icmp eq i32 %628, 0
  br i1 %629, label %630, label %652

630:                                              ; preds = %625
  %631 = load i32, ptr %278, align 4, !tbaa !5
  %632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %633 = tail call i32 @s2n_print_stacktrace(ptr noundef %632) #8
  %634 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %635 = trunc nuw i8 %634 to i1
  br i1 %635, label %636, label %640

636:                                              ; preds = %630
  %637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %638 = tail call i32 @fileno(ptr noundef %637) #8
  %639 = tail call i32 @isatty(i32 noundef %638) #8
  %.not785 = icmp eq i32 %639, 0
  br i1 %.not785, label %640, label %641

640:                                              ; preds = %636, %630
  br label %641

641:                                              ; preds = %636, %640
  %.str.5.sink1020 = phi ptr [ @.str.5, %640 ], [ @.str.2, %636 ]
  store i32 %631, ptr %278, align 4, !tbaa !5
  %642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %643 = load i32, ptr @test_count, align 4, !tbaa !5
  %644 = load i32, ptr %224, align 4, !tbaa !5
  %645 = tail call ptr @s2n_strerror(i32 noundef %644, ptr noundef nonnull @.str.4) #8
  %646 = load i32, ptr %224, align 4, !tbaa !5
  %647 = tail call ptr @s2n_strerror_debug(i32 noundef %646, ptr noundef nonnull @.str.4) #8
  %648 = load i32, ptr %278, align 4, !tbaa !5
  %649 = tail call ptr @strerror(i32 noundef %648) #8
  %650 = load i32, ptr %278, align 4, !tbaa !5
  %651 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %642, ptr noundef nonnull %.str.5.sink1020, i32 noundef %643, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 263, ptr noundef %645, ptr noundef %647, ptr noundef %649, i32 noundef %650) #10
  tail call void @exit(i32 noundef 1) #11
  unreachable

652:                                              ; preds = %625
  %653 = add nsw i32 %626, 2
  store i32 %653, ptr @test_count, align 4, !tbaa !5
  %654 = tail call ptr @s2n_strerror_debug(i32 noundef %628, ptr noundef nonnull @.str.4) #8
  %655 = icmp eq ptr %654, null
  br i1 %655, label %656, label %678

656:                                              ; preds = %652
  %657 = load i32, ptr %278, align 4, !tbaa !5
  %658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %659 = tail call i32 @s2n_print_stacktrace(ptr noundef %658) #8
  %660 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %661 = trunc nuw i8 %660 to i1
  br i1 %661, label %662, label %666

662:                                              ; preds = %656
  %663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %664 = tail call i32 @fileno(ptr noundef %663) #8
  %665 = tail call i32 @isatty(i32 noundef %664) #8
  %.not784 = icmp eq i32 %665, 0
  br i1 %.not784, label %666, label %667

666:                                              ; preds = %662, %656
  br label %667

667:                                              ; preds = %662, %666
  %.str.5.sink1029 = phi ptr [ @.str.5, %666 ], [ @.str.2, %662 ]
  store i32 %657, ptr %278, align 4, !tbaa !5
  %668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %669 = load i32, ptr @test_count, align 4, !tbaa !5
  %670 = load i32, ptr %224, align 4, !tbaa !5
  %671 = tail call ptr @s2n_strerror(i32 noundef %670, ptr noundef nonnull @.str.4) #8
  %672 = load i32, ptr %224, align 4, !tbaa !5
  %673 = tail call ptr @s2n_strerror_debug(i32 noundef %672, ptr noundef nonnull @.str.4) #8
  %674 = load i32, ptr %278, align 4, !tbaa !5
  %675 = tail call ptr @strerror(i32 noundef %674) #8
  %676 = load i32, ptr %278, align 4, !tbaa !5
  %677 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %668, ptr noundef nonnull %.str.5.sink1029, i32 noundef %669, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 263, ptr noundef %671, ptr noundef %673, ptr noundef %675, i32 noundef %676) #10
  tail call void @exit(i32 noundef 1) #11
  unreachable

678:                                              ; preds = %652
  store i32 0, ptr %224, align 4, !tbaa !5
  tail call void @s2n_debug_info_reset() #8
  store i32 0, ptr %278, align 4, !tbaa !5
  %679 = load i32, ptr @test_count, align 4, !tbaa !5
  %680 = add nsw i32 %679, 1
  store i32 %680, ptr @test_count, align 4, !tbaa !5
  %681 = tail call i32 @failure_inclusive_range_too_high()
  %682 = icmp eq i32 %681, -1
  br i1 %682, label %705, label %683

683:                                              ; preds = %678
  %684 = load i32, ptr %278, align 4, !tbaa !5
  %685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %686 = tail call i32 @s2n_print_stacktrace(ptr noundef %685) #8
  %687 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %688 = trunc nuw i8 %687 to i1
  br i1 %688, label %689, label %693

689:                                              ; preds = %683
  %690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %691 = tail call i32 @fileno(ptr noundef %690) #8
  %692 = tail call i32 @isatty(i32 noundef %691) #8
  %.not550 = icmp eq i32 %692, 0
  br i1 %.not550, label %693, label %694

693:                                              ; preds = %689, %683
  br label %694

694:                                              ; preds = %689, %693
  %.str.5.sink1038 = phi ptr [ @.str.5, %693 ], [ @.str.2, %689 ]
  store i32 %684, ptr %278, align 4, !tbaa !5
  %695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %696 = load i32, ptr @test_count, align 4, !tbaa !5
  %697 = load i32, ptr %224, align 4, !tbaa !5
  %698 = tail call ptr @s2n_strerror(i32 noundef %697, ptr noundef nonnull @.str.4) #8
  %699 = load i32, ptr %224, align 4, !tbaa !5
  %700 = tail call ptr @s2n_strerror_debug(i32 noundef %699, ptr noundef nonnull @.str.4) #8
  %701 = load i32, ptr %278, align 4, !tbaa !5
  %702 = tail call ptr @strerror(i32 noundef %701) #8
  %703 = load i32, ptr %278, align 4, !tbaa !5
  %704 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %695, ptr noundef nonnull %.str.5.sink1038, i32 noundef %696, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 264, ptr noundef %698, ptr noundef %700, ptr noundef %702, i32 noundef %703) #10
  tail call void @exit(i32 noundef 1) #11
  unreachable

705:                                              ; preds = %678
  %706 = load i32, ptr @test_count, align 4, !tbaa !5
  %707 = add nsw i32 %706, 1
  store i32 %707, ptr @test_count, align 4, !tbaa !5
  %708 = load i32, ptr %224, align 4, !tbaa !5
  %709 = icmp eq i32 %708, 0
  br i1 %709, label %710, label %732

710:                                              ; preds = %705
  %711 = load i32, ptr %278, align 4, !tbaa !5
  %712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %713 = tail call i32 @s2n_print_stacktrace(ptr noundef %712) #8
  %714 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %715 = trunc nuw i8 %714 to i1
  br i1 %715, label %716, label %720

716:                                              ; preds = %710
  %717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %718 = tail call i32 @fileno(ptr noundef %717) #8
  %719 = tail call i32 @isatty(i32 noundef %718) #8
  %.not783 = icmp eq i32 %719, 0
  br i1 %.not783, label %720, label %721

720:                                              ; preds = %716, %710
  br label %721

721:                                              ; preds = %716, %720
  %.str.5.sink1047 = phi ptr [ @.str.5, %720 ], [ @.str.2, %716 ]
  store i32 %711, ptr %278, align 4, !tbaa !5
  %722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %723 = load i32, ptr @test_count, align 4, !tbaa !5
  %724 = load i32, ptr %224, align 4, !tbaa !5
  %725 = tail call ptr @s2n_strerror(i32 noundef %724, ptr noundef nonnull @.str.4) #8
  %726 = load i32, ptr %224, align 4, !tbaa !5
  %727 = tail call ptr @s2n_strerror_debug(i32 noundef %726, ptr noundef nonnull @.str.4) #8
  %728 = load i32, ptr %278, align 4, !tbaa !5
  %729 = tail call ptr @strerror(i32 noundef %728) #8
  %730 = load i32, ptr %278, align 4, !tbaa !5
  %731 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %722, ptr noundef nonnull %.str.5.sink1047, i32 noundef %723, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 264, ptr noundef %725, ptr noundef %727, ptr noundef %729, i32 noundef %730) #10
  tail call void @exit(i32 noundef 1) #11
  unreachable

732:                                              ; preds = %705
  %733 = add nsw i32 %706, 2
  store i32 %733, ptr @test_count, align 4, !tbaa !5
  %734 = tail call ptr @s2n_strerror_debug(i32 noundef %708, ptr noundef nonnull @.str.4) #8
  %735 = icmp eq ptr %734, null
  br i1 %735, label %736, label %758

736:                                              ; preds = %732
  %737 = load i32, ptr %278, align 4, !tbaa !5
  %738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %739 = tail call i32 @s2n_print_stacktrace(ptr noundef %738) #8
  %740 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %741 = trunc nuw i8 %740 to i1
  br i1 %741, label %742, label %746

742:                                              ; preds = %736
  %743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %744 = tail call i32 @fileno(ptr noundef %743) #8
  %745 = tail call i32 @isatty(i32 noundef %744) #8
  %.not782 = icmp eq i32 %745, 0
  br i1 %.not782, label %746, label %747

746:                                              ; preds = %742, %736
  br label %747

747:                                              ; preds = %742, %746
  %.str.5.sink1056 = phi ptr [ @.str.5, %746 ], [ @.str.2, %742 ]
  store i32 %737, ptr %278, align 4, !tbaa !5
  %748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %749 = load i32, ptr @test_count, align 4, !tbaa !5
  %750 = load i32, ptr %224, align 4, !tbaa !5
  %751 = tail call ptr @s2n_strerror(i32 noundef %750, ptr noundef nonnull @.str.4) #8
  %752 = load i32, ptr %224, align 4, !tbaa !5
  %753 = tail call ptr @s2n_strerror_debug(i32 noundef %752, ptr noundef nonnull @.str.4) #8
  %754 = load i32, ptr %278, align 4, !tbaa !5
  %755 = tail call ptr @strerror(i32 noundef %754) #8
  %756 = load i32, ptr %278, align 4, !tbaa !5
  %757 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %748, ptr noundef nonnull %.str.5.sink1056, i32 noundef %749, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 264, ptr noundef %751, ptr noundef %753, ptr noundef %755, i32 noundef %756) #10
  tail call void @exit(i32 noundef 1) #11
  unreachable

758:                                              ; preds = %732
  store i32 0, ptr %224, align 4, !tbaa !5
  tail call void @s2n_debug_info_reset() #8
  store i32 0, ptr %278, align 4, !tbaa !5
  %759 = load i32, ptr @test_count, align 4, !tbaa !5
  %760 = add nsw i32 %759, 1
  store i32 %760, ptr @test_count, align 4, !tbaa !5
  %761 = tail call i32 @failure_inclusive_range_too_low()
  %762 = icmp eq i32 %761, -1
  br i1 %762, label %785, label %763

763:                                              ; preds = %758
  %764 = load i32, ptr %278, align 4, !tbaa !5
  %765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %766 = tail call i32 @s2n_print_stacktrace(ptr noundef %765) #8
  %767 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %768 = trunc nuw i8 %767 to i1
  br i1 %768, label %769, label %773

769:                                              ; preds = %763
  %770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %771 = tail call i32 @fileno(ptr noundef %770) #8
  %772 = tail call i32 @isatty(i32 noundef %771) #8
  %.not551 = icmp eq i32 %772, 0
  br i1 %.not551, label %773, label %774

773:                                              ; preds = %769, %763
  br label %774

774:                                              ; preds = %769, %773
  %.str.5.sink1065 = phi ptr [ @.str.5, %773 ], [ @.str.2, %769 ]
  store i32 %764, ptr %278, align 4, !tbaa !5
  %775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %776 = load i32, ptr @test_count, align 4, !tbaa !5
  %777 = load i32, ptr %224, align 4, !tbaa !5
  %778 = tail call ptr @s2n_strerror(i32 noundef %777, ptr noundef nonnull @.str.4) #8
  %779 = load i32, ptr %224, align 4, !tbaa !5
  %780 = tail call ptr @s2n_strerror_debug(i32 noundef %779, ptr noundef nonnull @.str.4) #8
  %781 = load i32, ptr %278, align 4, !tbaa !5
  %782 = tail call ptr @strerror(i32 noundef %781) #8
  %783 = load i32, ptr %278, align 4, !tbaa !5
  %784 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %775, ptr noundef nonnull %.str.5.sink1065, i32 noundef %776, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 265, ptr noundef %778, ptr noundef %780, ptr noundef %782, i32 noundef %783) #10
  tail call void @exit(i32 noundef 1) #11
  unreachable

785:                                              ; preds = %758
  %786 = load i32, ptr @test_count, align 4, !tbaa !5
  %787 = add nsw i32 %786, 1
  store i32 %787, ptr @test_count, align 4, !tbaa !5
  %788 = load i32, ptr %224, align 4, !tbaa !5
  %789 = icmp eq i32 %788, 0
  br i1 %789, label %790, label %812

790:                                              ; preds = %785
  %791 = load i32, ptr %278, align 4, !tbaa !5
  %792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %793 = tail call i32 @s2n_print_stacktrace(ptr noundef %792) #8
  %794 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %795 = trunc nuw i8 %794 to i1
  br i1 %795, label %796, label %800

796:                                              ; preds = %790
  %797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %798 = tail call i32 @fileno(ptr noundef %797) #8
  %799 = tail call i32 @isatty(i32 noundef %798) #8
  %.not781 = icmp eq i32 %799, 0
  br i1 %.not781, label %800, label %801

800:                                              ; preds = %796, %790
  br label %801

801:                                              ; preds = %796, %800
  %.str.5.sink1074 = phi ptr [ @.str.5, %800 ], [ @.str.2, %796 ]
  store i32 %791, ptr %278, align 4, !tbaa !5
  %802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %803 = load i32, ptr @test_count, align 4, !tbaa !5
  %804 = load i32, ptr %224, align 4, !tbaa !5
  %805 = tail call ptr @s2n_strerror(i32 noundef %804, ptr noundef nonnull @.str.4) #8
  %806 = load i32, ptr %224, align 4, !tbaa !5
  %807 = tail call ptr @s2n_strerror_debug(i32 noundef %806, ptr noundef nonnull @.str.4) #8
  %808 = load i32, ptr %278, align 4, !tbaa !5
  %809 = tail call ptr @strerror(i32 noundef %808) #8
  %810 = load i32, ptr %278, align 4, !tbaa !5
  %811 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %802, ptr noundef nonnull %.str.5.sink1074, i32 noundef %803, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 265, ptr noundef %805, ptr noundef %807, ptr noundef %809, i32 noundef %810) #10
  tail call void @exit(i32 noundef 1) #11
  unreachable

812:                                              ; preds = %785
  %813 = add nsw i32 %786, 2
  store i32 %813, ptr @test_count, align 4, !tbaa !5
  %814 = tail call ptr @s2n_strerror_debug(i32 noundef %788, ptr noundef nonnull @.str.4) #8
  %815 = icmp eq ptr %814, null
  br i1 %815, label %816, label %838

816:                                              ; preds = %812
  %817 = load i32, ptr %278, align 4, !tbaa !5
  %818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %819 = tail call i32 @s2n_print_stacktrace(ptr noundef %818) #8
  %820 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %821 = trunc nuw i8 %820 to i1
  br i1 %821, label %822, label %826

822:                                              ; preds = %816
  %823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %824 = tail call i32 @fileno(ptr noundef %823) #8
  %825 = tail call i32 @isatty(i32 noundef %824) #8
  %.not780 = icmp eq i32 %825, 0
  br i1 %.not780, label %826, label %827

826:                                              ; preds = %822, %816
  br label %827

827:                                              ; preds = %822, %826
  %.str.5.sink1083 = phi ptr [ @.str.5, %826 ], [ @.str.2, %822 ]
  store i32 %817, ptr %278, align 4, !tbaa !5
  %828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %829 = load i32, ptr @test_count, align 4, !tbaa !5
  %830 = load i32, ptr %224, align 4, !tbaa !5
  %831 = tail call ptr @s2n_strerror(i32 noundef %830, ptr noundef nonnull @.str.4) #8
  %832 = load i32, ptr %224, align 4, !tbaa !5
  %833 = tail call ptr @s2n_strerror_debug(i32 noundef %832, ptr noundef nonnull @.str.4) #8
  %834 = load i32, ptr %278, align 4, !tbaa !5
  %835 = tail call ptr @strerror(i32 noundef %834) #8
  %836 = load i32, ptr %278, align 4, !tbaa !5
  %837 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %828, ptr noundef nonnull %.str.5.sink1083, i32 noundef %829, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 265, ptr noundef %831, ptr noundef %833, ptr noundef %835, i32 noundef %836) #10
  tail call void @exit(i32 noundef 1) #11
  unreachable

838:                                              ; preds = %812
  store i32 0, ptr %224, align 4, !tbaa !5
  tail call void @s2n_debug_info_reset() #8
  store i32 0, ptr %278, align 4, !tbaa !5
  %839 = load i32, ptr @test_count, align 4, !tbaa !5
  %840 = add nsw i32 %839, 1
  store i32 %840, ptr @test_count, align 4, !tbaa !5
  %841 = tail call i32 @failure_exclusive_range_too_high()
  %842 = icmp eq i32 %841, -1
  br i1 %842, label %865, label %843

843:                                              ; preds = %838
  %844 = load i32, ptr %278, align 4, !tbaa !5
  %845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %846 = tail call i32 @s2n_print_stacktrace(ptr noundef %845) #8
  %847 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %848 = trunc nuw i8 %847 to i1
  br i1 %848, label %849, label %853

849:                                              ; preds = %843
  %850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %851 = tail call i32 @fileno(ptr noundef %850) #8
  %852 = tail call i32 @isatty(i32 noundef %851) #8
  %.not552 = icmp eq i32 %852, 0
  br i1 %.not552, label %853, label %854

853:                                              ; preds = %849, %843
  br label %854

854:                                              ; preds = %849, %853
  %.str.5.sink1092 = phi ptr [ @.str.5, %853 ], [ @.str.2, %849 ]
  store i32 %844, ptr %278, align 4, !tbaa !5
  %855 = load ptr, ptr @stderr, align 8, !tbaa !9
  %856 = load i32, ptr @test_count, align 4, !tbaa !5
  %857 = load i32, ptr %224, align 4, !tbaa !5
  %858 = tail call ptr @s2n_strerror(i32 noundef %857, ptr noundef nonnull @.str.4) #8
  %859 = load i32, ptr %224, align 4, !tbaa !5
  %860 = tail call ptr @s2n_strerror_debug(i32 noundef %859, ptr noundef nonnull @.str.4) #8
  %861 = load i32, ptr %278, align 4, !tbaa !5
  %862 = tail call ptr @strerror(i32 noundef %861) #8
  %863 = load i32, ptr %278, align 4, !tbaa !5
  %864 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %855, ptr noundef nonnull %.str.5.sink1092, i32 noundef %856, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 266, ptr noundef %858, ptr noundef %860, ptr noundef %862, i32 noundef %863) #10
  tail call void @exit(i32 noundef 1) #11
  unreachable

865:                                              ; preds = %838
  %866 = load i32, ptr @test_count, align 4, !tbaa !5
  %867 = add nsw i32 %866, 1
  store i32 %867, ptr @test_count, align 4, !tbaa !5
  %868 = load i32, ptr %224, align 4, !tbaa !5
  %869 = icmp eq i32 %868, 0
  br i1 %869, label %870, label %892

870:                                              ; preds = %865
  %871 = load i32, ptr %278, align 4, !tbaa !5
  %872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %873 = tail call i32 @s2n_print_stacktrace(ptr noundef %872) #8
  %874 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %875 = trunc nuw i8 %874 to i1
  br i1 %875, label %876, label %880

876:                                              ; preds = %870
  %877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %878 = tail call i32 @fileno(ptr noundef %877) #8
  %879 = tail call i32 @isatty(i32 noundef %878) #8
  %.not779 = icmp eq i32 %879, 0
  br i1 %.not779, label %880, label %881

880:                                              ; preds = %876, %870
  br label %881

881:                                              ; preds = %876, %880
  %.str.5.sink1101 = phi ptr [ @.str.5, %880 ], [ @.str.2, %876 ]
  store i32 %871, ptr %278, align 4, !tbaa !5
  %882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %883 = load i32, ptr @test_count, align 4, !tbaa !5
  %884 = load i32, ptr %224, align 4, !tbaa !5
  %885 = tail call ptr @s2n_strerror(i32 noundef %884, ptr noundef nonnull @.str.4) #8
  %886 = load i32, ptr %224, align 4, !tbaa !5
  %887 = tail call ptr @s2n_strerror_debug(i32 noundef %886, ptr noundef nonnull @.str.4) #8
  %888 = load i32, ptr %278, align 4, !tbaa !5
  %889 = tail call ptr @strerror(i32 noundef %888) #8
  %890 = load i32, ptr %278, align 4, !tbaa !5
  %891 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %882, ptr noundef nonnull %.str.5.sink1101, i32 noundef %883, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 266, ptr noundef %885, ptr noundef %887, ptr noundef %889, i32 noundef %890) #10
  tail call void @exit(i32 noundef 1) #11
  unreachable

892:                                              ; preds = %865
  %893 = add nsw i32 %866, 2
  store i32 %893, ptr @test_count, align 4, !tbaa !5
  %894 = tail call ptr @s2n_strerror_debug(i32 noundef %868, ptr noundef nonnull @.str.4) #8
  %895 = icmp eq ptr %894, null
  br i1 %895, label %896, label %918

896:                                              ; preds = %892
  %897 = load i32, ptr %278, align 4, !tbaa !5
  %898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %899 = tail call i32 @s2n_print_stacktrace(ptr noundef %898) #8
  %900 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %901 = trunc nuw i8 %900 to i1
  br i1 %901, label %902, label %906

902:                                              ; preds = %896
  %903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %904 = tail call i32 @fileno(ptr noundef %903) #8
  %905 = tail call i32 @isatty(i32 noundef %904) #8
  %.not778 = icmp eq i32 %905, 0
  br i1 %.not778, label %906, label %907

906:                                              ; preds = %902, %896
  br label %907

907:                                              ; preds = %902, %906
  %.str.5.sink1110 = phi ptr [ @.str.5, %906 ], [ @.str.2, %902 ]
  store i32 %897, ptr %278, align 4, !tbaa !5
  %908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %909 = load i32, ptr @test_count, align 4, !tbaa !5
  %910 = load i32, ptr %224, align 4, !tbaa !5
  %911 = tail call ptr @s2n_strerror(i32 noundef %910, ptr noundef nonnull @.str.4) #8
  %912 = load i32, ptr %224, align 4, !tbaa !5
  %913 = tail call ptr @s2n_strerror_debug(i32 noundef %912, ptr noundef nonnull @.str.4) #8
  %914 = load i32, ptr %278, align 4, !tbaa !5
  %915 = tail call ptr @strerror(i32 noundef %914) #8
  %916 = load i32, ptr %278, align 4, !tbaa !5
  %917 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %908, ptr noundef nonnull %.str.5.sink1110, i32 noundef %909, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 266, ptr noundef %911, ptr noundef %913, ptr noundef %915, i32 noundef %916) #10
  tail call void @exit(i32 noundef 1) #11
  unreachable

918:                                              ; preds = %892
  store i32 0, ptr %224, align 4, !tbaa !5
  tail call void @s2n_debug_info_reset() #8
  store i32 0, ptr %278, align 4, !tbaa !5
  %919 = load i32, ptr @test_count, align 4, !tbaa !5
  %920 = add nsw i32 %919, 1
  store i32 %920, ptr @test_count, align 4, !tbaa !5
  %921 = tail call i32 @failure_exclusive_range_too_low()
  %922 = icmp eq i32 %921, -1
  br i1 %922, label %945, label %923

923:                                              ; preds = %918
  %924 = load i32, ptr %278, align 4, !tbaa !5
  %925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %926 = tail call i32 @s2n_print_stacktrace(ptr noundef %925) #8
  %927 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %928 = trunc nuw i8 %927 to i1
  br i1 %928, label %929, label %933

929:                                              ; preds = %923
  %930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %931 = tail call i32 @fileno(ptr noundef %930) #8
  %932 = tail call i32 @isatty(i32 noundef %931) #8
  %.not553 = icmp eq i32 %932, 0
  br i1 %.not553, label %933, label %934

933:                                              ; preds = %929, %923
  br label %934

934:                                              ; preds = %929, %933
  %.str.5.sink1119 = phi ptr [ @.str.5, %933 ], [ @.str.2, %929 ]
  store i32 %924, ptr %278, align 4, !tbaa !5
  %935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %936 = load i32, ptr @test_count, align 4, !tbaa !5
  %937 = load i32, ptr %224, align 4, !tbaa !5
  %938 = tail call ptr @s2n_strerror(i32 noundef %937, ptr noundef nonnull @.str.4) #8
  %939 = load i32, ptr %224, align 4, !tbaa !5
  %940 = tail call ptr @s2n_strerror_debug(i32 noundef %939, ptr noundef nonnull @.str.4) #8
  %941 = load i32, ptr %278, align 4, !tbaa !5
  %942 = tail call ptr @strerror(i32 noundef %941) #8
  %943 = load i32, ptr %278, align 4, !tbaa !5
  %944 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %935, ptr noundef nonnull %.str.5.sink1119, i32 noundef %936, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 267, ptr noundef %938, ptr noundef %940, ptr noundef %942, i32 noundef %943) #10
  tail call void @exit(i32 noundef 1) #11
  unreachable

945:                                              ; preds = %918
  %946 = load i32, ptr @test_count, align 4, !tbaa !5
  %947 = add nsw i32 %946, 1
  store i32 %947, ptr @test_count, align 4, !tbaa !5
  %948 = load i32, ptr %224, align 4, !tbaa !5
  %949 = icmp eq i32 %948, 0
  br i1 %949, label %950, label %972

950:                                              ; preds = %945
  %951 = load i32, ptr %278, align 4, !tbaa !5
  %952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %953 = tail call i32 @s2n_print_stacktrace(ptr noundef %952) #8
  %954 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %955 = trunc nuw i8 %954 to i1
  br i1 %955, label %956, label %960

956:                                              ; preds = %950
  %957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %958 = tail call i32 @fileno(ptr noundef %957) #8
  %959 = tail call i32 @isatty(i32 noundef %958) #8
  %.not777 = icmp eq i32 %959, 0
  br i1 %.not777, label %960, label %961

960:                                              ; preds = %956, %950
  br label %961

961:                                              ; preds = %956, %960
  %.str.5.sink1128 = phi ptr [ @.str.5, %960 ], [ @.str.2, %956 ]
  store i32 %951, ptr %278, align 4, !tbaa !5
  %962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %963 = load i32, ptr @test_count, align 4, !tbaa !5
  %964 = load i32, ptr %224, align 4, !tbaa !5
  %965 = tail call ptr @s2n_strerror(i32 noundef %964, ptr noundef nonnull @.str.4) #8
  %966 = load i32, ptr %224, align 4, !tbaa !5
  %967 = tail call ptr @s2n_strerror_debug(i32 noundef %966, ptr noundef nonnull @.str.4) #8
  %968 = load i32, ptr %278, align 4, !tbaa !5
  %969 = tail call ptr @strerror(i32 noundef %968) #8
  %970 = load i32, ptr %278, align 4, !tbaa !5
  %971 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %962, ptr noundef nonnull %.str.5.sink1128, i32 noundef %963, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 267, ptr noundef %965, ptr noundef %967, ptr noundef %969, i32 noundef %970) #10
  tail call void @exit(i32 noundef 1) #11
  unreachable

972:                                              ; preds = %945
  %973 = add nsw i32 %946, 2
  store i32 %973, ptr @test_count, align 4, !tbaa !5
  %974 = tail call ptr @s2n_strerror_debug(i32 noundef %948, ptr noundef nonnull @.str.4) #8
  %975 = icmp eq ptr %974, null
  br i1 %975, label %976, label %998

976:                                              ; preds = %972
  %977 = load i32, ptr %278, align 4, !tbaa !5
  %978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %979 = tail call i32 @s2n_print_stacktrace(ptr noundef %978) #8
  %980 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %981 = trunc nuw i8 %980 to i1
  br i1 %981, label %982, label %986

982:                                              ; preds = %976
  %983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %984 = tail call i32 @fileno(ptr noundef %983) #8
  %985 = tail call i32 @isatty(i32 noundef %984) #8
  %.not776 = icmp eq i32 %985, 0
  br i1 %.not776, label %986, label %987

986:                                              ; preds = %982, %976
  br label %987

987:                                              ; preds = %982, %986
  %.str.5.sink1137 = phi ptr [ @.str.5, %986 ], [ @.str.2, %982 ]
  store i32 %977, ptr %278, align 4, !tbaa !5
  %988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %989 = load i32, ptr @test_count, align 4, !tbaa !5
  %990 = load i32, ptr %224, align 4, !tbaa !5
  %991 = tail call ptr @s2n_strerror(i32 noundef %990, ptr noundef nonnull @.str.4) #8
  %992 = load i32, ptr %224, align 4, !tbaa !5
  %993 = tail call ptr @s2n_strerror_debug(i32 noundef %992, ptr noundef nonnull @.str.4) #8
  %994 = load i32, ptr %278, align 4, !tbaa !5
  %995 = tail call ptr @strerror(i32 noundef %994) #8
  %996 = load i32, ptr %278, align 4, !tbaa !5
  %997 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %988, ptr noundef nonnull %.str.5.sink1137, i32 noundef %989, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 267, ptr noundef %991, ptr noundef %993, ptr noundef %995, i32 noundef %996) #10
  tail call void @exit(i32 noundef 1) #11
  unreachable

998:                                              ; preds = %972
  store i32 0, ptr %224, align 4, !tbaa !5
  tail call void @s2n_debug_info_reset() #8
  store i32 0, ptr %278, align 4, !tbaa !5
  %999 = load i32, ptr @test_count, align 4, !tbaa !5
  %1000 = add nsw i32 %999, 1
  store i32 %1000, ptr @test_count, align 4, !tbaa !5
  %1001 = tail call i32 @failure_exclusive_range_eq_high()
  %1002 = icmp eq i32 %1001, -1
  br i1 %1002, label %1025, label %1003

1003:                                             ; preds = %998
  %1004 = load i32, ptr %278, align 4, !tbaa !5
  %1005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1006 = tail call i32 @s2n_print_stacktrace(ptr noundef %1005) #8
  %1007 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1008 = trunc nuw i8 %1007 to i1
  br i1 %1008, label %1009, label %1013

1009:                                             ; preds = %1003
  %1010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1011 = tail call i32 @fileno(ptr noundef %1010) #8
  %1012 = tail call i32 @isatty(i32 noundef %1011) #8
  %.not554 = icmp eq i32 %1012, 0
  br i1 %.not554, label %1013, label %1014

1013:                                             ; preds = %1009, %1003
  br label %1014

1014:                                             ; preds = %1009, %1013
  %.str.5.sink1146 = phi ptr [ @.str.5, %1013 ], [ @.str.2, %1009 ]
  store i32 %1004, ptr %278, align 4, !tbaa !5
  %1015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1016 = load i32, ptr @test_count, align 4, !tbaa !5
  %1017 = load i32, ptr %224, align 4, !tbaa !5
  %1018 = tail call ptr @s2n_strerror(i32 noundef %1017, ptr noundef nonnull @.str.4) #8
  %1019 = load i32, ptr %224, align 4, !tbaa !5
  %1020 = tail call ptr @s2n_strerror_debug(i32 noundef %1019, ptr noundef nonnull @.str.4) #8
  %1021 = load i32, ptr %278, align 4, !tbaa !5
  %1022 = tail call ptr @strerror(i32 noundef %1021) #8
  %1023 = load i32, ptr %278, align 4, !tbaa !5
  %1024 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1015, ptr noundef nonnull %.str.5.sink1146, i32 noundef %1016, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 268, ptr noundef %1018, ptr noundef %1020, ptr noundef %1022, i32 noundef %1023) #10
  tail call void @exit(i32 noundef 1) #11
  unreachable

1025:                                             ; preds = %998
  %1026 = load i32, ptr @test_count, align 4, !tbaa !5
  %1027 = add nsw i32 %1026, 1
  store i32 %1027, ptr @test_count, align 4, !tbaa !5
  %1028 = load i32, ptr %224, align 4, !tbaa !5
  %1029 = icmp eq i32 %1028, 0
  br i1 %1029, label %1030, label %1052

1030:                                             ; preds = %1025
  %1031 = load i32, ptr %278, align 4, !tbaa !5
  %1032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1033 = tail call i32 @s2n_print_stacktrace(ptr noundef %1032) #8
  %1034 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1035 = trunc nuw i8 %1034 to i1
  br i1 %1035, label %1036, label %1040

1036:                                             ; preds = %1030
  %1037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1038 = tail call i32 @fileno(ptr noundef %1037) #8
  %1039 = tail call i32 @isatty(i32 noundef %1038) #8
  %.not775 = icmp eq i32 %1039, 0
  br i1 %.not775, label %1040, label %1041

1040:                                             ; preds = %1036, %1030
  br label %1041

1041:                                             ; preds = %1036, %1040
  %.str.5.sink1155 = phi ptr [ @.str.5, %1040 ], [ @.str.2, %1036 ]
  store i32 %1031, ptr %278, align 4, !tbaa !5
  %1042 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1043 = load i32, ptr @test_count, align 4, !tbaa !5
  %1044 = load i32, ptr %224, align 4, !tbaa !5
  %1045 = tail call ptr @s2n_strerror(i32 noundef %1044, ptr noundef nonnull @.str.4) #8
  %1046 = load i32, ptr %224, align 4, !tbaa !5
  %1047 = tail call ptr @s2n_strerror_debug(i32 noundef %1046, ptr noundef nonnull @.str.4) #8
  %1048 = load i32, ptr %278, align 4, !tbaa !5
  %1049 = tail call ptr @strerror(i32 noundef %1048) #8
  %1050 = load i32, ptr %278, align 4, !tbaa !5
  %1051 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1042, ptr noundef nonnull %.str.5.sink1155, i32 noundef %1043, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 268, ptr noundef %1045, ptr noundef %1047, ptr noundef %1049, i32 noundef %1050) #10
  tail call void @exit(i32 noundef 1) #11
  unreachable

1052:                                             ; preds = %1025
  %1053 = add nsw i32 %1026, 2
  store i32 %1053, ptr @test_count, align 4, !tbaa !5
  %1054 = tail call ptr @s2n_strerror_debug(i32 noundef %1028, ptr noundef nonnull @.str.4) #8
  %1055 = icmp eq ptr %1054, null
  br i1 %1055, label %1056, label %1078

1056:                                             ; preds = %1052
  %1057 = load i32, ptr %278, align 4, !tbaa !5
  %1058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1059 = tail call i32 @s2n_print_stacktrace(ptr noundef %1058) #8
  %1060 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1061 = trunc nuw i8 %1060 to i1
  br i1 %1061, label %1062, label %1066

1062:                                             ; preds = %1056
  %1063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1064 = tail call i32 @fileno(ptr noundef %1063) #8
  %1065 = tail call i32 @isatty(i32 noundef %1064) #8
  %.not774 = icmp eq i32 %1065, 0
  br i1 %.not774, label %1066, label %1067

1066:                                             ; preds = %1062, %1056
  br label %1067

1067:                                             ; preds = %1062, %1066
  %.str.5.sink1164 = phi ptr [ @.str.5, %1066 ], [ @.str.2, %1062 ]
  store i32 %1057, ptr %278, align 4, !tbaa !5
  %1068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1069 = load i32, ptr @test_count, align 4, !tbaa !5
  %1070 = load i32, ptr %224, align 4, !tbaa !5
  %1071 = tail call ptr @s2n_strerror(i32 noundef %1070, ptr noundef nonnull @.str.4) #8
  %1072 = load i32, ptr %224, align 4, !tbaa !5
  %1073 = tail call ptr @s2n_strerror_debug(i32 noundef %1072, ptr noundef nonnull @.str.4) #8
  %1074 = load i32, ptr %278, align 4, !tbaa !5
  %1075 = tail call ptr @strerror(i32 noundef %1074) #8
  %1076 = load i32, ptr %278, align 4, !tbaa !5
  %1077 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1068, ptr noundef nonnull %.str.5.sink1164, i32 noundef %1069, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 268, ptr noundef %1071, ptr noundef %1073, ptr noundef %1075, i32 noundef %1076) #10
  tail call void @exit(i32 noundef 1) #11
  unreachable

1078:                                             ; preds = %1052
  store i32 0, ptr %224, align 4, !tbaa !5
  tail call void @s2n_debug_info_reset() #8
  store i32 0, ptr %278, align 4, !tbaa !5
  %1079 = load i32, ptr @test_count, align 4, !tbaa !5
  %1080 = add nsw i32 %1079, 1
  store i32 %1080, ptr @test_count, align 4, !tbaa !5
  %1081 = tail call i32 @failure_exclusive_range_eq_low()
  %1082 = icmp eq i32 %1081, -1
  br i1 %1082, label %1105, label %1083

1083:                                             ; preds = %1078
  %1084 = load i32, ptr %278, align 4, !tbaa !5
  %1085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1086 = tail call i32 @s2n_print_stacktrace(ptr noundef %1085) #8
  %1087 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1088 = trunc nuw i8 %1087 to i1
  br i1 %1088, label %1089, label %1093

1089:                                             ; preds = %1083
  %1090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1091 = tail call i32 @fileno(ptr noundef %1090) #8
  %1092 = tail call i32 @isatty(i32 noundef %1091) #8
  %.not555 = icmp eq i32 %1092, 0
  br i1 %.not555, label %1093, label %1094

1093:                                             ; preds = %1089, %1083
  br label %1094

1094:                                             ; preds = %1089, %1093
  %.str.5.sink1173 = phi ptr [ @.str.5, %1093 ], [ @.str.2, %1089 ]
  store i32 %1084, ptr %278, align 4, !tbaa !5
  %1095 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1096 = load i32, ptr @test_count, align 4, !tbaa !5
  %1097 = load i32, ptr %224, align 4, !tbaa !5
  %1098 = tail call ptr @s2n_strerror(i32 noundef %1097, ptr noundef nonnull @.str.4) #8
  %1099 = load i32, ptr %224, align 4, !tbaa !5
  %1100 = tail call ptr @s2n_strerror_debug(i32 noundef %1099, ptr noundef nonnull @.str.4) #8
  %1101 = load i32, ptr %278, align 4, !tbaa !5
  %1102 = tail call ptr @strerror(i32 noundef %1101) #8
  %1103 = load i32, ptr %278, align 4, !tbaa !5
  %1104 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1095, ptr noundef nonnull %.str.5.sink1173, i32 noundef %1096, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 269, ptr noundef %1098, ptr noundef %1100, ptr noundef %1102, i32 noundef %1103) #10
  tail call void @exit(i32 noundef 1) #11
  unreachable

1105:                                             ; preds = %1078
  %1106 = load i32, ptr @test_count, align 4, !tbaa !5
  %1107 = add nsw i32 %1106, 1
  store i32 %1107, ptr @test_count, align 4, !tbaa !5
  %1108 = load i32, ptr %224, align 4, !tbaa !5
  %1109 = icmp eq i32 %1108, 0
  br i1 %1109, label %1110, label %1132

1110:                                             ; preds = %1105
  %1111 = load i32, ptr %278, align 4, !tbaa !5
  %1112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1113 = tail call i32 @s2n_print_stacktrace(ptr noundef %1112) #8
  %1114 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1115 = trunc nuw i8 %1114 to i1
  br i1 %1115, label %1116, label %1120

1116:                                             ; preds = %1110
  %1117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1118 = tail call i32 @fileno(ptr noundef %1117) #8
  %1119 = tail call i32 @isatty(i32 noundef %1118) #8
  %.not773 = icmp eq i32 %1119, 0
  br i1 %.not773, label %1120, label %1121

1120:                                             ; preds = %1116, %1110
  br label %1121

1121:                                             ; preds = %1116, %1120
  %.str.5.sink1182 = phi ptr [ @.str.5, %1120 ], [ @.str.2, %1116 ]
  store i32 %1111, ptr %278, align 4, !tbaa !5
  %1122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1123 = load i32, ptr @test_count, align 4, !tbaa !5
  %1124 = load i32, ptr %224, align 4, !tbaa !5
  %1125 = tail call ptr @s2n_strerror(i32 noundef %1124, ptr noundef nonnull @.str.4) #8
  %1126 = load i32, ptr %224, align 4, !tbaa !5
  %1127 = tail call ptr @s2n_strerror_debug(i32 noundef %1126, ptr noundef nonnull @.str.4) #8
  %1128 = load i32, ptr %278, align 4, !tbaa !5
  %1129 = tail call ptr @strerror(i32 noundef %1128) #8
  %1130 = load i32, ptr %278, align 4, !tbaa !5
  %1131 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1122, ptr noundef nonnull %.str.5.sink1182, i32 noundef %1123, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 269, ptr noundef %1125, ptr noundef %1127, ptr noundef %1129, i32 noundef %1130) #10
  tail call void @exit(i32 noundef 1) #11
  unreachable

1132:                                             ; preds = %1105
  %1133 = add nsw i32 %1106, 2
  store i32 %1133, ptr @test_count, align 4, !tbaa !5
  %1134 = tail call ptr @s2n_strerror_debug(i32 noundef %1108, ptr noundef nonnull @.str.4) #8
  %1135 = icmp eq ptr %1134, null
  br i1 %1135, label %1136, label %1158

1136:                                             ; preds = %1132
  %1137 = load i32, ptr %278, align 4, !tbaa !5
  %1138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1139 = tail call i32 @s2n_print_stacktrace(ptr noundef %1138) #8
  %1140 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1141 = trunc nuw i8 %1140 to i1
  br i1 %1141, label %1142, label %1146

1142:                                             ; preds = %1136
  %1143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1144 = tail call i32 @fileno(ptr noundef %1143) #8
  %1145 = tail call i32 @isatty(i32 noundef %1144) #8
  %.not772 = icmp eq i32 %1145, 0
  br i1 %.not772, label %1146, label %1147

1146:                                             ; preds = %1142, %1136
  br label %1147

1147:                                             ; preds = %1142, %1146
  %.str.5.sink1191 = phi ptr [ @.str.5, %1146 ], [ @.str.2, %1142 ]
  store i32 %1137, ptr %278, align 4, !tbaa !5
  %1148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1149 = load i32, ptr @test_count, align 4, !tbaa !5
  %1150 = load i32, ptr %224, align 4, !tbaa !5
  %1151 = tail call ptr @s2n_strerror(i32 noundef %1150, ptr noundef nonnull @.str.4) #8
  %1152 = load i32, ptr %224, align 4, !tbaa !5
  %1153 = tail call ptr @s2n_strerror_debug(i32 noundef %1152, ptr noundef nonnull @.str.4) #8
  %1154 = load i32, ptr %278, align 4, !tbaa !5
  %1155 = tail call ptr @strerror(i32 noundef %1154) #8
  %1156 = load i32, ptr %278, align 4, !tbaa !5
  %1157 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1148, ptr noundef nonnull %.str.5.sink1191, i32 noundef %1149, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 269, ptr noundef %1151, ptr noundef %1153, ptr noundef %1155, i32 noundef %1156) #10
  tail call void @exit(i32 noundef 1) #11
  unreachable

1158:                                             ; preds = %1132
  store i32 0, ptr %224, align 4, !tbaa !5
  tail call void @s2n_debug_info_reset() #8
  store i32 0, ptr %278, align 4, !tbaa !5
  %1159 = load i32, ptr @test_count, align 4, !tbaa !5
  %1160 = add nsw i32 %1159, 1
  store i32 %1160, ptr @test_count, align 4, !tbaa !5
  %1161 = tail call i32 @success_gte()
  %1162 = icmp eq i32 %1161, -1
  br i1 %1162, label %1163, label %1185

1163:                                             ; preds = %1158
  %1164 = load i32, ptr %278, align 4, !tbaa !5
  %1165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1166 = tail call i32 @s2n_print_stacktrace(ptr noundef %1165) #8
  %1167 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1168 = trunc nuw i8 %1167 to i1
  br i1 %1168, label %1169, label %1173

1169:                                             ; preds = %1163
  %1170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1171 = tail call i32 @fileno(ptr noundef %1170) #8
  %1172 = tail call i32 @isatty(i32 noundef %1171) #8
  %.not771 = icmp eq i32 %1172, 0
  br i1 %.not771, label %1173, label %1174

1173:                                             ; preds = %1169, %1163
  br label %1174

1174:                                             ; preds = %1169, %1173
  %.str.5.sink1200 = phi ptr [ @.str.5, %1173 ], [ @.str.2, %1169 ]
  store i32 %1164, ptr %278, align 4, !tbaa !5
  %1175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1176 = load i32, ptr @test_count, align 4, !tbaa !5
  %1177 = load i32, ptr %224, align 4, !tbaa !5
  %1178 = tail call ptr @s2n_strerror(i32 noundef %1177, ptr noundef nonnull @.str.4) #8
  %1179 = load i32, ptr %224, align 4, !tbaa !5
  %1180 = tail call ptr @s2n_strerror_debug(i32 noundef %1179, ptr noundef nonnull @.str.4) #8
  %1181 = load i32, ptr %278, align 4, !tbaa !5
  %1182 = tail call ptr @strerror(i32 noundef %1181) #8
  %1183 = load i32, ptr %278, align 4, !tbaa !5
  %1184 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1175, ptr noundef nonnull %.str.5.sink1200, i32 noundef %1176, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 271, ptr noundef %1178, ptr noundef %1180, ptr noundef %1182, i32 noundef %1183) #10
  tail call void @exit(i32 noundef 1) #11
  unreachable

1185:                                             ; preds = %1158
  %1186 = load i32, ptr @test_count, align 4, !tbaa !5
  %1187 = add nsw i32 %1186, 1
  store i32 %1187, ptr @test_count, align 4, !tbaa !5
  %1188 = tail call i32 @success_lte()
  %1189 = icmp eq i32 %1188, -1
  br i1 %1189, label %1190, label %1212

1190:                                             ; preds = %1185
  %1191 = load i32, ptr %278, align 4, !tbaa !5
  %1192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1193 = tail call i32 @s2n_print_stacktrace(ptr noundef %1192) #8
  %1194 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1195 = trunc nuw i8 %1194 to i1
  br i1 %1195, label %1196, label %1200

1196:                                             ; preds = %1190
  %1197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1198 = tail call i32 @fileno(ptr noundef %1197) #8
  %1199 = tail call i32 @isatty(i32 noundef %1198) #8
  %.not770 = icmp eq i32 %1199, 0
  br i1 %.not770, label %1200, label %1201

1200:                                             ; preds = %1196, %1190
  br label %1201

1201:                                             ; preds = %1196, %1200
  %.str.5.sink1209 = phi ptr [ @.str.5, %1200 ], [ @.str.2, %1196 ]
  store i32 %1191, ptr %278, align 4, !tbaa !5
  %1202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1203 = load i32, ptr @test_count, align 4, !tbaa !5
  %1204 = load i32, ptr %224, align 4, !tbaa !5
  %1205 = tail call ptr @s2n_strerror(i32 noundef %1204, ptr noundef nonnull @.str.4) #8
  %1206 = load i32, ptr %224, align 4, !tbaa !5
  %1207 = tail call ptr @s2n_strerror_debug(i32 noundef %1206, ptr noundef nonnull @.str.4) #8
  %1208 = load i32, ptr %278, align 4, !tbaa !5
  %1209 = tail call ptr @strerror(i32 noundef %1208) #8
  %1210 = load i32, ptr %278, align 4, !tbaa !5
  %1211 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1202, ptr noundef nonnull %.str.5.sink1209, i32 noundef %1203, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 272, ptr noundef %1205, ptr noundef %1207, ptr noundef %1209, i32 noundef %1210) #10
  tail call void @exit(i32 noundef 1) #11
  unreachable

1212:                                             ; preds = %1185
  %1213 = load i32, ptr @test_count, align 4, !tbaa !5
  %1214 = add nsw i32 %1213, 1
  store i32 %1214, ptr @test_count, align 4, !tbaa !5
  %1215 = tail call i32 @success_gt()
  %1216 = icmp eq i32 %1215, -1
  br i1 %1216, label %1217, label %1239

1217:                                             ; preds = %1212
  %1218 = load i32, ptr %278, align 4, !tbaa !5
  %1219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1220 = tail call i32 @s2n_print_stacktrace(ptr noundef %1219) #8
  %1221 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1222 = trunc nuw i8 %1221 to i1
  br i1 %1222, label %1223, label %1227

1223:                                             ; preds = %1217
  %1224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1225 = tail call i32 @fileno(ptr noundef %1224) #8
  %1226 = tail call i32 @isatty(i32 noundef %1225) #8
  %.not769 = icmp eq i32 %1226, 0
  br i1 %.not769, label %1227, label %1228

1227:                                             ; preds = %1223, %1217
  br label %1228

1228:                                             ; preds = %1223, %1227
  %.str.5.sink1218 = phi ptr [ @.str.5, %1227 ], [ @.str.2, %1223 ]
  store i32 %1218, ptr %278, align 4, !tbaa !5
  %1229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1230 = load i32, ptr @test_count, align 4, !tbaa !5
  %1231 = load i32, ptr %224, align 4, !tbaa !5
  %1232 = tail call ptr @s2n_strerror(i32 noundef %1231, ptr noundef nonnull @.str.4) #8
  %1233 = load i32, ptr %224, align 4, !tbaa !5
  %1234 = tail call ptr @s2n_strerror_debug(i32 noundef %1233, ptr noundef nonnull @.str.4) #8
  %1235 = load i32, ptr %278, align 4, !tbaa !5
  %1236 = tail call ptr @strerror(i32 noundef %1235) #8
  %1237 = load i32, ptr %278, align 4, !tbaa !5
  %1238 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1229, ptr noundef nonnull %.str.5.sink1218, i32 noundef %1230, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 273, ptr noundef %1232, ptr noundef %1234, ptr noundef %1236, i32 noundef %1237) #10
  tail call void @exit(i32 noundef 1) #11
  unreachable

1239:                                             ; preds = %1212
  %1240 = load i32, ptr @test_count, align 4, !tbaa !5
  %1241 = add nsw i32 %1240, 1
  store i32 %1241, ptr @test_count, align 4, !tbaa !5
  %1242 = tail call i32 @success_lt()
  %1243 = icmp eq i32 %1242, -1
  br i1 %1243, label %1244, label %1266

1244:                                             ; preds = %1239
  %1245 = load i32, ptr %278, align 4, !tbaa !5
  %1246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1247 = tail call i32 @s2n_print_stacktrace(ptr noundef %1246) #8
  %1248 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1249 = trunc nuw i8 %1248 to i1
  br i1 %1249, label %1250, label %1254

1250:                                             ; preds = %1244
  %1251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1252 = tail call i32 @fileno(ptr noundef %1251) #8
  %1253 = tail call i32 @isatty(i32 noundef %1252) #8
  %.not768 = icmp eq i32 %1253, 0
  br i1 %.not768, label %1254, label %1255

1254:                                             ; preds = %1250, %1244
  br label %1255

1255:                                             ; preds = %1250, %1254
  %.str.5.sink1227 = phi ptr [ @.str.5, %1254 ], [ @.str.2, %1250 ]
  store i32 %1245, ptr %278, align 4, !tbaa !5
  %1256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1257 = load i32, ptr @test_count, align 4, !tbaa !5
  %1258 = load i32, ptr %224, align 4, !tbaa !5
  %1259 = tail call ptr @s2n_strerror(i32 noundef %1258, ptr noundef nonnull @.str.4) #8
  %1260 = load i32, ptr %224, align 4, !tbaa !5
  %1261 = tail call ptr @s2n_strerror_debug(i32 noundef %1260, ptr noundef nonnull @.str.4) #8
  %1262 = load i32, ptr %278, align 4, !tbaa !5
  %1263 = tail call ptr @strerror(i32 noundef %1262) #8
  %1264 = load i32, ptr %278, align 4, !tbaa !5
  %1265 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1256, ptr noundef nonnull %.str.5.sink1227, i32 noundef %1257, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 274, ptr noundef %1259, ptr noundef %1261, ptr noundef %1263, i32 noundef %1264) #10
  tail call void @exit(i32 noundef 1) #11
  unreachable

1266:                                             ; preds = %1239
  %1267 = load i32, ptr @test_count, align 4, !tbaa !5
  %1268 = add nsw i32 %1267, 1
  store i32 %1268, ptr @test_count, align 4, !tbaa !5
  %1269 = tail call i32 @success_notnull()
  %1270 = icmp eq i32 %1269, -1
  br i1 %1270, label %1271, label %1293

1271:                                             ; preds = %1266
  %1272 = load i32, ptr %278, align 4, !tbaa !5
  %1273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1274 = tail call i32 @s2n_print_stacktrace(ptr noundef %1273) #8
  %1275 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1276 = trunc nuw i8 %1275 to i1
  br i1 %1276, label %1277, label %1281

1277:                                             ; preds = %1271
  %1278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1279 = tail call i32 @fileno(ptr noundef %1278) #8
  %1280 = tail call i32 @isatty(i32 noundef %1279) #8
  %.not767 = icmp eq i32 %1280, 0
  br i1 %.not767, label %1281, label %1282

1281:                                             ; preds = %1277, %1271
  br label %1282

1282:                                             ; preds = %1277, %1281
  %.str.5.sink1236 = phi ptr [ @.str.5, %1281 ], [ @.str.2, %1277 ]
  store i32 %1272, ptr %278, align 4, !tbaa !5
  %1283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1284 = load i32, ptr @test_count, align 4, !tbaa !5
  %1285 = load i32, ptr %224, align 4, !tbaa !5
  %1286 = tail call ptr @s2n_strerror(i32 noundef %1285, ptr noundef nonnull @.str.4) #8
  %1287 = load i32, ptr %224, align 4, !tbaa !5
  %1288 = tail call ptr @s2n_strerror_debug(i32 noundef %1287, ptr noundef nonnull @.str.4) #8
  %1289 = load i32, ptr %278, align 4, !tbaa !5
  %1290 = tail call ptr @strerror(i32 noundef %1289) #8
  %1291 = load i32, ptr %278, align 4, !tbaa !5
  %1292 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1283, ptr noundef nonnull %.str.5.sink1236, i32 noundef %1284, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 275, ptr noundef %1286, ptr noundef %1288, ptr noundef %1290, i32 noundef %1291) #10
  tail call void @exit(i32 noundef 1) #11
  unreachable

1293:                                             ; preds = %1266
  %1294 = load i32, ptr @test_count, align 4, !tbaa !5
  %1295 = add nsw i32 %1294, 1
  store i32 %1295, ptr @test_count, align 4, !tbaa !5
  %1296 = tail call i32 @success_memcpy()
  %1297 = icmp eq i32 %1296, -1
  br i1 %1297, label %1298, label %1320

1298:                                             ; preds = %1293
  %1299 = load i32, ptr %278, align 4, !tbaa !5
  %1300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1301 = tail call i32 @s2n_print_stacktrace(ptr noundef %1300) #8
  %1302 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1303 = trunc nuw i8 %1302 to i1
  br i1 %1303, label %1304, label %1308

1304:                                             ; preds = %1298
  %1305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1306 = tail call i32 @fileno(ptr noundef %1305) #8
  %1307 = tail call i32 @isatty(i32 noundef %1306) #8
  %.not766 = icmp eq i32 %1307, 0
  br i1 %.not766, label %1308, label %1309

1308:                                             ; preds = %1304, %1298
  br label %1309

1309:                                             ; preds = %1304, %1308
  %.str.5.sink1245 = phi ptr [ @.str.5, %1308 ], [ @.str.2, %1304 ]
  store i32 %1299, ptr %278, align 4, !tbaa !5
  %1310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1311 = load i32, ptr @test_count, align 4, !tbaa !5
  %1312 = load i32, ptr %224, align 4, !tbaa !5
  %1313 = tail call ptr @s2n_strerror(i32 noundef %1312, ptr noundef nonnull @.str.4) #8
  %1314 = load i32, ptr %224, align 4, !tbaa !5
  %1315 = tail call ptr @s2n_strerror_debug(i32 noundef %1314, ptr noundef nonnull @.str.4) #8
  %1316 = load i32, ptr %278, align 4, !tbaa !5
  %1317 = tail call ptr @strerror(i32 noundef %1316) #8
  %1318 = load i32, ptr %278, align 4, !tbaa !5
  %1319 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1310, ptr noundef nonnull %.str.5.sink1245, i32 noundef %1311, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 276, ptr noundef %1313, ptr noundef %1315, ptr noundef %1317, i32 noundef %1318) #10
  tail call void @exit(i32 noundef 1) #11
  unreachable

1320:                                             ; preds = %1293
  %1321 = load i32, ptr @test_count, align 4, !tbaa !5
  %1322 = add nsw i32 %1321, 1
  store i32 %1322, ptr @test_count, align 4, !tbaa !5
  %1323 = tail call i32 @success_inclusive_range()
  %1324 = icmp eq i32 %1323, -1
  br i1 %1324, label %1325, label %1347

1325:                                             ; preds = %1320
  %1326 = load i32, ptr %278, align 4, !tbaa !5
  %1327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1328 = tail call i32 @s2n_print_stacktrace(ptr noundef %1327) #8
  %1329 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1330 = trunc nuw i8 %1329 to i1
  br i1 %1330, label %1331, label %1335

1331:                                             ; preds = %1325
  %1332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1333 = tail call i32 @fileno(ptr noundef %1332) #8
  %1334 = tail call i32 @isatty(i32 noundef %1333) #8
  %.not765 = icmp eq i32 %1334, 0
  br i1 %.not765, label %1335, label %1336

1335:                                             ; preds = %1331, %1325
  br label %1336

1336:                                             ; preds = %1331, %1335
  %.str.5.sink1254 = phi ptr [ @.str.5, %1335 ], [ @.str.2, %1331 ]
  store i32 %1326, ptr %278, align 4, !tbaa !5
  %1337 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1338 = load i32, ptr @test_count, align 4, !tbaa !5
  %1339 = load i32, ptr %224, align 4, !tbaa !5
  %1340 = tail call ptr @s2n_strerror(i32 noundef %1339, ptr noundef nonnull @.str.4) #8
  %1341 = load i32, ptr %224, align 4, !tbaa !5
  %1342 = tail call ptr @s2n_strerror_debug(i32 noundef %1341, ptr noundef nonnull @.str.4) #8
  %1343 = load i32, ptr %278, align 4, !tbaa !5
  %1344 = tail call ptr @strerror(i32 noundef %1343) #8
  %1345 = load i32, ptr %278, align 4, !tbaa !5
  %1346 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1337, ptr noundef nonnull %.str.5.sink1254, i32 noundef %1338, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 277, ptr noundef %1340, ptr noundef %1342, ptr noundef %1344, i32 noundef %1345) #10
  tail call void @exit(i32 noundef 1) #11
  unreachable

1347:                                             ; preds = %1320
  %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 = tail call i32 @success_exclusive_range()
  %1351 = icmp eq i32 %1350, -1
  br i1 %1351, label %1352, label %1374

1352:                                             ; preds = %1347
  %1353 = load i32, ptr %278, align 4, !tbaa !5
  %1354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1355 = tail call i32 @s2n_print_stacktrace(ptr noundef %1354) #8
  %1356 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1357 = trunc nuw i8 %1356 to i1
  br i1 %1357, label %1358, label %1362

1358:                                             ; preds = %1352
  %1359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1360 = tail call i32 @fileno(ptr noundef %1359) #8
  %1361 = tail call i32 @isatty(i32 noundef %1360) #8
  %.not764 = icmp eq i32 %1361, 0
  br i1 %.not764, label %1362, label %1363

1362:                                             ; preds = %1358, %1352
  br label %1363

1363:                                             ; preds = %1358, %1362
  %.str.5.sink1263 = phi ptr [ @.str.5, %1362 ], [ @.str.2, %1358 ]
  store i32 %1353, ptr %278, align 4, !tbaa !5
  %1364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1365 = load i32, ptr @test_count, align 4, !tbaa !5
  %1366 = load i32, ptr %224, align 4, !tbaa !5
  %1367 = tail call ptr @s2n_strerror(i32 noundef %1366, ptr noundef nonnull @.str.4) #8
  %1368 = load i32, ptr %224, align 4, !tbaa !5
  %1369 = tail call ptr @s2n_strerror_debug(i32 noundef %1368, ptr noundef nonnull @.str.4) #8
  %1370 = load i32, ptr %278, align 4, !tbaa !5
  %1371 = tail call ptr @strerror(i32 noundef %1370) #8
  %1372 = load i32, ptr %278, align 4, !tbaa !5
  %1373 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1364, ptr noundef nonnull %.str.5.sink1263, i32 noundef %1365, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 278, ptr noundef %1367, ptr noundef %1369, ptr noundef %1371, i32 noundef %1372) #10
  tail call void @exit(i32 noundef 1) #11
  unreachable

1374:                                             ; preds = %1347
  %1375 = load i32, ptr @test_count, align 4, !tbaa !5
  %1376 = add nsw i32 %1375, 1
  store i32 %1376, ptr @test_count, align 4, !tbaa !5
  %1377 = tail call i32 @success_ct_pkcs1()
  %1378 = icmp eq i32 %1377, -1
  br i1 %1378, label %1379, label %1401

1379:                                             ; preds = %1374
  %1380 = load i32, ptr %278, align 4, !tbaa !5
  %1381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1382 = tail call i32 @s2n_print_stacktrace(ptr noundef %1381) #8
  %1383 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1384 = trunc nuw i8 %1383 to i1
  br i1 %1384, label %1385, label %1389

1385:                                             ; preds = %1379
  %1386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1387 = tail call i32 @fileno(ptr noundef %1386) #8
  %1388 = tail call i32 @isatty(i32 noundef %1387) #8
  %.not763 = icmp eq i32 %1388, 0
  br i1 %.not763, label %1389, label %1390

1389:                                             ; preds = %1385, %1379
  br label %1390

1390:                                             ; preds = %1385, %1389
  %.str.5.sink1272 = phi ptr [ @.str.5, %1389 ], [ @.str.2, %1385 ]
  store i32 %1380, ptr %278, align 4, !tbaa !5
  %1391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1392 = load i32, ptr @test_count, align 4, !tbaa !5
  %1393 = load i32, ptr %224, align 4, !tbaa !5
  %1394 = tail call ptr @s2n_strerror(i32 noundef %1393, ptr noundef nonnull @.str.4) #8
  %1395 = load i32, ptr %224, align 4, !tbaa !5
  %1396 = tail call ptr @s2n_strerror_debug(i32 noundef %1395, ptr noundef nonnull @.str.4) #8
  %1397 = load i32, ptr %278, align 4, !tbaa !5
  %1398 = tail call ptr @strerror(i32 noundef %1397) #8
  %1399 = load i32, ptr %278, align 4, !tbaa !5
  %1400 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1391, ptr noundef nonnull %.str.5.sink1272, i32 noundef %1392, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 279, ptr noundef %1394, ptr noundef %1396, ptr noundef %1398, i32 noundef %1399) #10
  tail call void @exit(i32 noundef 1) #11
  unreachable

1401:                                             ; preds = %1374
  %1402 = load i32, ptr @test_count, align 4, !tbaa !5
  %1403 = add nsw i32 %1402, 1
  store i32 %1403, ptr @test_count, align 4, !tbaa !5
  %1404 = tail call i32 @success_ct_pkcs1_negative()
  %1405 = icmp eq i32 %1404, -1
  br i1 %1405, label %1406, label %1428

1406:                                             ; preds = %1401
  %1407 = load i32, ptr %278, align 4, !tbaa !5
  %1408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1409 = tail call i32 @s2n_print_stacktrace(ptr noundef %1408) #8
  %1410 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1411 = trunc nuw i8 %1410 to i1
  br i1 %1411, label %1412, label %1416

1412:                                             ; preds = %1406
  %1413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1414 = tail call i32 @fileno(ptr noundef %1413) #8
  %1415 = tail call i32 @isatty(i32 noundef %1414) #8
  %.not762 = icmp eq i32 %1415, 0
  br i1 %.not762, label %1416, label %1417

1416:                                             ; preds = %1412, %1406
  br label %1417

1417:                                             ; preds = %1412, %1416
  %.str.5.sink1281 = phi ptr [ @.str.5, %1416 ], [ @.str.2, %1412 ]
  store i32 %1407, ptr %278, align 4, !tbaa !5
  %1418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1419 = load i32, ptr @test_count, align 4, !tbaa !5
  %1420 = load i32, ptr %224, align 4, !tbaa !5
  %1421 = tail call ptr @s2n_strerror(i32 noundef %1420, ptr noundef nonnull @.str.4) #8
  %1422 = load i32, ptr %224, align 4, !tbaa !5
  %1423 = tail call ptr @s2n_strerror_debug(i32 noundef %1422, ptr noundef nonnull @.str.4) #8
  %1424 = load i32, ptr %278, align 4, !tbaa !5
  %1425 = tail call ptr @strerror(i32 noundef %1424) #8
  %1426 = load i32, ptr %278, align 4, !tbaa !5
  %1427 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1418, ptr noundef nonnull %.str.5.sink1281, i32 noundef %1419, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 280, ptr noundef %1421, ptr noundef %1423, ptr noundef %1425, i32 noundef %1426) #10
  tail call void @exit(i32 noundef 1) #11
  unreachable

1428:                                             ; preds = %1401
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #8
  store i32 0, ptr %3, align 4
  %1429 = load i32, ptr @test_count, align 4, !tbaa !5
  %1430 = add nsw i32 %1429, 1
  store i32 %1430, ptr @test_count, align 4, !tbaa !5
  %1431 = call zeroext i1 @s2n_constant_time_equals(ptr noundef nonnull %3, ptr noundef null, i32 noundef 4) #8
  br i1 %1431, label %1432, label %1454

1432:                                             ; preds = %1428
  %1433 = load i32, ptr %278, align 4, !tbaa !5
  %1434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1435 = call i32 @s2n_print_stacktrace(ptr noundef %1434) #8
  %1436 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1437 = trunc nuw i8 %1436 to i1
  br i1 %1437, label %1438, label %1442

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

1442:                                             ; preds = %1438, %1432
  br label %1443

1443:                                             ; preds = %1438, %1442
  %.str.5.sink1290 = phi ptr [ @.str.5, %1442 ], [ @.str.2, %1438 ]
  store i32 %1433, ptr %278, align 4, !tbaa !5
  %1444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1445 = load i32, ptr @test_count, align 4, !tbaa !5
  %1446 = load i32, ptr %224, align 4, !tbaa !5
  %1447 = call ptr @s2n_strerror(i32 noundef %1446, ptr noundef nonnull @.str.4) #8
  %1448 = load i32, ptr %224, align 4, !tbaa !5
  %1449 = call ptr @s2n_strerror_debug(i32 noundef %1448, ptr noundef nonnull @.str.4) #8
  %1450 = load i32, ptr %278, align 4, !tbaa !5
  %1451 = call ptr @strerror(i32 noundef %1450) #8
  %1452 = load i32, ptr %278, align 4, !tbaa !5
  %1453 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1444, ptr noundef nonnull %.str.5.sink1290, i32 noundef %1445, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 286, ptr noundef %1447, ptr noundef %1449, ptr noundef %1451, i32 noundef %1452) #10
  call void @exit(i32 noundef 1) #11
  unreachable

1454:                                             ; preds = %1428
  %1455 = load i32, ptr @test_count, align 4, !tbaa !5
  %1456 = add nsw i32 %1455, 1
  store i32 %1456, ptr @test_count, align 4, !tbaa !5
  %1457 = call zeroext i1 @s2n_constant_time_equals(ptr noundef null, ptr noundef nonnull %3, i32 noundef 4) #8
  br i1 %1457, label %1458, label %1480

1458:                                             ; preds = %1454
  %1459 = load i32, ptr %278, align 4, !tbaa !5
  %1460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1461 = call i32 @s2n_print_stacktrace(ptr noundef %1460) #8
  %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) #8
  %1467 = call i32 @isatty(i32 noundef %1466) #8
  %.not760 = icmp eq i32 %1467, 0
  br i1 %.not760, label %1468, label %1469

1468:                                             ; preds = %1464, %1458
  br label %1469

1469:                                             ; preds = %1464, %1468
  %.str.5.sink1299 = phi ptr [ @.str.5, %1468 ], [ @.str.2, %1464 ]
  store i32 %1459, ptr %278, 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 %224, align 4, !tbaa !5
  %1473 = call ptr @s2n_strerror(i32 noundef %1472, ptr noundef nonnull @.str.4) #8
  %1474 = load i32, ptr %224, align 4, !tbaa !5
  %1475 = call ptr @s2n_strerror_debug(i32 noundef %1474, ptr noundef nonnull @.str.4) #8
  %1476 = load i32, ptr %278, align 4, !tbaa !5
  %1477 = call ptr @strerror(i32 noundef %1476) #8
  %1478 = load i32, ptr %278, align 4, !tbaa !5
  %1479 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1470, ptr noundef nonnull %.str.5.sink1299, i32 noundef %1471, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 287, ptr noundef %1473, ptr noundef %1475, ptr noundef %1477, i32 noundef %1478) #10
  call void @exit(i32 noundef 1) #11
  unreachable

1480:                                             ; preds = %1454
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %4) #8
  %1481 = load i32, ptr @__const.main.a, align 1
  store i32 %1481, ptr %4, align 4
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %5) #8
  %1482 = load i32, ptr @__const.main.b, align 1
  store i32 %1482, ptr %5, align 4
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %6) #8
  %1483 = load i32, ptr @__const.main.c, align 1
  store i32 %1483, ptr %6, align 4
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %7) #8
  %1484 = load i32, ptr @__const.main.d, align 1
  store i32 %1484, ptr %7, align 4
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %8) #8
  %1485 = load i32, ptr @__const.main.e, align 1
  store i32 %1485, ptr %8, align 4
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %9) #8
  %1486 = load i32, ptr @__const.main.f, align 1
  store i32 %1486, ptr %9, align 4
  %1487 = load i32, ptr @test_count, align 4, !tbaa !5
  %1488 = add nsw i32 %1487, 1
  store i32 %1488, ptr @test_count, align 4, !tbaa !5
  %1489 = call zeroext i1 @s2n_constant_time_equals(ptr noundef nonnull %4, ptr noundef nonnull %5, i32 noundef 4) #8
  br i1 %1489, label %1512, label %1490

1490:                                             ; preds = %1480
  %1491 = load i32, ptr %278, align 4, !tbaa !5
  %1492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1493 = call i32 @s2n_print_stacktrace(ptr noundef %1492) #8
  %1494 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1495 = trunc nuw i8 %1494 to i1
  br i1 %1495, label %1496, label %1500

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

1500:                                             ; preds = %1496, %1490
  br label %1501

1501:                                             ; preds = %1496, %1500
  %.str.5.sink1308 = phi ptr [ @.str.5, %1500 ], [ @.str.2, %1496 ]
  store i32 %1491, ptr %278, align 4, !tbaa !5
  %1502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1503 = load i32, ptr @test_count, align 4, !tbaa !5
  %1504 = load i32, ptr %224, align 4, !tbaa !5
  %1505 = call ptr @s2n_strerror(i32 noundef %1504, ptr noundef nonnull @.str.4) #8
  %1506 = load i32, ptr %224, align 4, !tbaa !5
  %1507 = call ptr @s2n_strerror_debug(i32 noundef %1506, ptr noundef nonnull @.str.4) #8
  %1508 = load i32, ptr %278, align 4, !tbaa !5
  %1509 = call ptr @strerror(i32 noundef %1508) #8
  %1510 = load i32, ptr %278, align 4, !tbaa !5
  %1511 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1502, ptr noundef nonnull %.str.5.sink1308, i32 noundef %1503, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 296, ptr noundef %1505, ptr noundef %1507, ptr noundef %1509, i32 noundef %1510) #10
  call void @exit(i32 noundef 1) #11
  unreachable

1512:                                             ; preds = %1480
  %1513 = load i32, ptr @test_count, align 4, !tbaa !5
  %1514 = add nsw i32 %1513, 1
  store i32 %1514, ptr @test_count, align 4, !tbaa !5
  %1515 = call zeroext i1 @s2n_constant_time_equals(ptr noundef nonnull %4, ptr noundef nonnull %6, i32 noundef 4) #8
  br i1 %1515, label %1516, label %1538

1516:                                             ; preds = %1512
  %1517 = load i32, ptr %278, align 4, !tbaa !5
  %1518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1519 = call i32 @s2n_print_stacktrace(ptr noundef %1518) #8
  %1520 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1521 = trunc nuw i8 %1520 to i1
  br i1 %1521, label %1522, label %1526

1522:                                             ; preds = %1516
  %1523 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1524 = call i32 @fileno(ptr noundef %1523) #8
  %1525 = call i32 @isatty(i32 noundef %1524) #8
  %.not759 = icmp eq i32 %1525, 0
  br i1 %.not759, label %1526, label %1527

1526:                                             ; preds = %1522, %1516
  br label %1527

1527:                                             ; preds = %1522, %1526
  %.str.5.sink1317 = phi ptr [ @.str.5, %1526 ], [ @.str.2, %1522 ]
  store i32 %1517, ptr %278, align 4, !tbaa !5
  %1528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1529 = load i32, ptr @test_count, align 4, !tbaa !5
  %1530 = load i32, ptr %224, align 4, !tbaa !5
  %1531 = call ptr @s2n_strerror(i32 noundef %1530, ptr noundef nonnull @.str.4) #8
  %1532 = load i32, ptr %224, align 4, !tbaa !5
  %1533 = call ptr @s2n_strerror_debug(i32 noundef %1532, ptr noundef nonnull @.str.4) #8
  %1534 = load i32, ptr %278, align 4, !tbaa !5
  %1535 = call ptr @strerror(i32 noundef %1534) #8
  %1536 = load i32, ptr %278, align 4, !tbaa !5
  %1537 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1528, ptr noundef nonnull %.str.5.sink1317, i32 noundef %1529, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 297, ptr noundef %1531, ptr noundef %1533, ptr noundef %1535, i32 noundef %1536) #10
  call void @exit(i32 noundef 1) #11
  unreachable

1538:                                             ; preds = %1512
  %1539 = load i32, ptr @test_count, align 4, !tbaa !5
  %1540 = add nsw i32 %1539, 1
  store i32 %1540, ptr @test_count, align 4, !tbaa !5
  %1541 = call zeroext i1 @s2n_constant_time_equals(ptr noundef nonnull %4, ptr noundef null, i32 noundef 4) #8
  br i1 %1541, label %1542, label %1564

1542:                                             ; preds = %1538
  %1543 = load i32, ptr %278, align 4, !tbaa !5
  %1544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1545 = call i32 @s2n_print_stacktrace(ptr noundef %1544) #8
  %1546 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1547 = trunc nuw i8 %1546 to i1
  br i1 %1547, label %1548, label %1552

1548:                                             ; preds = %1542
  %1549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1550 = call i32 @fileno(ptr noundef %1549) #8
  %1551 = call i32 @isatty(i32 noundef %1550) #8
  %.not758 = icmp eq i32 %1551, 0
  br i1 %.not758, label %1552, label %1553

1552:                                             ; preds = %1548, %1542
  br label %1553

1553:                                             ; preds = %1548, %1552
  %.str.5.sink1326 = phi ptr [ @.str.5, %1552 ], [ @.str.2, %1548 ]
  store i32 %1543, ptr %278, align 4, !tbaa !5
  %1554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1555 = load i32, ptr @test_count, align 4, !tbaa !5
  %1556 = load i32, ptr %224, align 4, !tbaa !5
  %1557 = call ptr @s2n_strerror(i32 noundef %1556, ptr noundef nonnull @.str.4) #8
  %1558 = load i32, ptr %224, align 4, !tbaa !5
  %1559 = call ptr @s2n_strerror_debug(i32 noundef %1558, ptr noundef nonnull @.str.4) #8
  %1560 = load i32, ptr %278, align 4, !tbaa !5
  %1561 = call ptr @strerror(i32 noundef %1560) #8
  %1562 = load i32, ptr %278, align 4, !tbaa !5
  %1563 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1554, ptr noundef nonnull %.str.5.sink1326, i32 noundef %1555, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 298, ptr noundef %1557, ptr noundef %1559, ptr noundef %1561, i32 noundef %1562) #10
  call void @exit(i32 noundef 1) #11
  unreachable

1564:                                             ; preds = %1538
  %1565 = load i32, ptr @test_count, align 4, !tbaa !5
  %1566 = add nsw i32 %1565, 1
  store i32 %1566, ptr @test_count, align 4, !tbaa !5
  %1567 = call zeroext i1 @s2n_constant_time_equals(ptr noundef null, ptr noundef nonnull %5, i32 noundef 4) #8
  br i1 %1567, label %1568, label %1590

1568:                                             ; preds = %1564
  %1569 = load i32, ptr %278, align 4, !tbaa !5
  %1570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1571 = call i32 @s2n_print_stacktrace(ptr noundef %1570) #8
  %1572 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1573 = trunc nuw i8 %1572 to i1
  br i1 %1573, label %1574, label %1578

1574:                                             ; preds = %1568
  %1575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1576 = call i32 @fileno(ptr noundef %1575) #8
  %1577 = call i32 @isatty(i32 noundef %1576) #8
  %.not757 = icmp eq i32 %1577, 0
  br i1 %.not757, label %1578, label %1579

1578:                                             ; preds = %1574, %1568
  br label %1579

1579:                                             ; preds = %1574, %1578
  %.str.5.sink1335 = phi ptr [ @.str.5, %1578 ], [ @.str.2, %1574 ]
  store i32 %1569, ptr %278, align 4, !tbaa !5
  %1580 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1581 = load i32, ptr @test_count, align 4, !tbaa !5
  %1582 = load i32, ptr %224, align 4, !tbaa !5
  %1583 = call ptr @s2n_strerror(i32 noundef %1582, ptr noundef nonnull @.str.4) #8
  %1584 = load i32, ptr %224, align 4, !tbaa !5
  %1585 = call ptr @s2n_strerror_debug(i32 noundef %1584, ptr noundef nonnull @.str.4) #8
  %1586 = load i32, ptr %278, align 4, !tbaa !5
  %1587 = call ptr @strerror(i32 noundef %1586) #8
  %1588 = load i32, ptr %278, align 4, !tbaa !5
  %1589 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1580, ptr noundef nonnull %.str.5.sink1335, i32 noundef %1581, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 299, ptr noundef %1583, ptr noundef %1585, ptr noundef %1587, i32 noundef %1588) #10
  call void @exit(i32 noundef 1) #11
  unreachable

1590:                                             ; preds = %1564
  %1591 = load i32, ptr @test_count, align 4, !tbaa !5
  %1592 = add nsw i32 %1591, 1
  store i32 %1592, ptr @test_count, align 4, !tbaa !5
  %1593 = call zeroext i1 @s2n_constant_time_equals(ptr noundef null, ptr noundef null, i32 noundef 0) #8
  br i1 %1593, label %1616, label %1594

1594:                                             ; preds = %1590
  %1595 = load i32, ptr %278, align 4, !tbaa !5
  %1596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1597 = call i32 @s2n_print_stacktrace(ptr noundef %1596) #8
  %1598 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1599 = trunc nuw i8 %1598 to i1
  br i1 %1599, label %1600, label %1604

1600:                                             ; preds = %1594
  %1601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1602 = call i32 @fileno(ptr noundef %1601) #8
  %1603 = call i32 @isatty(i32 noundef %1602) #8
  %.not557 = icmp eq i32 %1603, 0
  br i1 %.not557, label %1604, label %1605

1604:                                             ; preds = %1600, %1594
  br label %1605

1605:                                             ; preds = %1600, %1604
  %.str.5.sink1344 = phi ptr [ @.str.5, %1604 ], [ @.str.2, %1600 ]
  store i32 %1595, ptr %278, align 4, !tbaa !5
  %1606 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1607 = load i32, ptr @test_count, align 4, !tbaa !5
  %1608 = load i32, ptr %224, align 4, !tbaa !5
  %1609 = call ptr @s2n_strerror(i32 noundef %1608, ptr noundef nonnull @.str.4) #8
  %1610 = load i32, ptr %224, align 4, !tbaa !5
  %1611 = call ptr @s2n_strerror_debug(i32 noundef %1610, ptr noundef nonnull @.str.4) #8
  %1612 = load i32, ptr %278, align 4, !tbaa !5
  %1613 = call ptr @strerror(i32 noundef %1612) #8
  %1614 = load i32, ptr %278, align 4, !tbaa !5
  %1615 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1606, ptr noundef nonnull %.str.5.sink1344, i32 noundef %1607, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 300, ptr noundef %1609, ptr noundef %1611, ptr noundef %1613, i32 noundef %1614) #10
  call void @exit(i32 noundef 1) #11
  unreachable

1616:                                             ; preds = %1590
  %1617 = load i32, ptr @test_count, align 4, !tbaa !5
  %1618 = add nsw i32 %1617, 1
  store i32 %1618, ptr @test_count, align 4, !tbaa !5
  %1619 = call zeroext i1 @s2n_constant_time_equals(ptr noundef null, ptr noundef null, i32 noundef 4) #8
  br i1 %1619, label %1620, label %1642

1620:                                             ; preds = %1616
  %1621 = load i32, ptr %278, align 4, !tbaa !5
  %1622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1623 = call i32 @s2n_print_stacktrace(ptr noundef %1622) #8
  %1624 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1625 = trunc nuw i8 %1624 to i1
  br i1 %1625, label %1626, label %1630

1626:                                             ; preds = %1620
  %1627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1628 = call i32 @fileno(ptr noundef %1627) #8
  %1629 = call i32 @isatty(i32 noundef %1628) #8
  %.not756 = icmp eq i32 %1629, 0
  br i1 %.not756, label %1630, label %1631

1630:                                             ; preds = %1626, %1620
  br label %1631

1631:                                             ; preds = %1626, %1630
  %.str.5.sink1353 = phi ptr [ @.str.5, %1630 ], [ @.str.2, %1626 ]
  store i32 %1621, ptr %278, align 4, !tbaa !5
  %1632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1633 = load i32, ptr @test_count, align 4, !tbaa !5
  %1634 = load i32, ptr %224, align 4, !tbaa !5
  %1635 = call ptr @s2n_strerror(i32 noundef %1634, ptr noundef nonnull @.str.4) #8
  %1636 = load i32, ptr %224, align 4, !tbaa !5
  %1637 = call ptr @s2n_strerror_debug(i32 noundef %1636, ptr noundef nonnull @.str.4) #8
  %1638 = load i32, ptr %278, align 4, !tbaa !5
  %1639 = call ptr @strerror(i32 noundef %1638) #8
  %1640 = load i32, ptr %278, align 4, !tbaa !5
  %1641 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1632, ptr noundef nonnull %.str.5.sink1353, i32 noundef %1633, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 301, ptr noundef %1635, ptr noundef %1637, ptr noundef %1639, i32 noundef %1640) #10
  call void @exit(i32 noundef 1) #11
  unreachable

1642:                                             ; preds = %1616
  %1643 = load i32, ptr @test_count, align 4, !tbaa !5
  %1644 = add nsw i32 %1643, 1
  store i32 %1644, ptr @test_count, align 4, !tbaa !5
  %1645 = call zeroext i1 @s2n_constant_time_equals(ptr noundef nonnull %4, ptr noundef nonnull %6, i32 noundef 0) #8
  br i1 %1645, label %1668, label %1646

1646:                                             ; preds = %1642
  %1647 = load i32, ptr %278, align 4, !tbaa !5
  %1648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1649 = call i32 @s2n_print_stacktrace(ptr noundef %1648) #8
  %1650 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1651 = trunc nuw i8 %1650 to i1
  br i1 %1651, label %1652, label %1656

1652:                                             ; preds = %1646
  %1653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1654 = call i32 @fileno(ptr noundef %1653) #8
  %1655 = call i32 @isatty(i32 noundef %1654) #8
  %.not558 = icmp eq i32 %1655, 0
  br i1 %.not558, label %1656, label %1657

1656:                                             ; preds = %1652, %1646
  br label %1657

1657:                                             ; preds = %1652, %1656
  %.str.5.sink1362 = phi ptr [ @.str.5, %1656 ], [ @.str.2, %1652 ]
  store i32 %1647, ptr %278, align 4, !tbaa !5
  %1658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1659 = load i32, ptr @test_count, align 4, !tbaa !5
  %1660 = load i32, ptr %224, align 4, !tbaa !5
  %1661 = call ptr @s2n_strerror(i32 noundef %1660, ptr noundef nonnull @.str.4) #8
  %1662 = load i32, ptr %224, align 4, !tbaa !5
  %1663 = call ptr @s2n_strerror_debug(i32 noundef %1662, ptr noundef nonnull @.str.4) #8
  %1664 = load i32, ptr %278, align 4, !tbaa !5
  %1665 = call ptr @strerror(i32 noundef %1664) #8
  %1666 = load i32, ptr %278, align 4, !tbaa !5
  %1667 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1658, ptr noundef nonnull %.str.5.sink1362, i32 noundef %1659, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 302, ptr noundef %1661, ptr noundef %1663, ptr noundef %1665, i32 noundef %1666) #10
  call void @exit(i32 noundef 1) #11
  unreachable

1668:                                             ; preds = %1642
  %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 zeroext i1 @s2n_constant_time_equals(ptr noundef nonnull %4, ptr noundef nonnull %9, i32 noundef 3) #8
  br i1 %1671, label %1694, label %1672

1672:                                             ; preds = %1668
  %1673 = load i32, ptr %278, align 4, !tbaa !5
  %1674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1675 = call i32 @s2n_print_stacktrace(ptr noundef %1674) #8
  %1676 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1677 = trunc nuw i8 %1676 to i1
  br i1 %1677, label %1678, label %1682

1678:                                             ; preds = %1672
  %1679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1680 = call i32 @fileno(ptr noundef %1679) #8
  %1681 = call i32 @isatty(i32 noundef %1680) #8
  %.not559 = icmp eq i32 %1681, 0
  br i1 %.not559, label %1682, label %1683

1682:                                             ; preds = %1678, %1672
  br label %1683

1683:                                             ; preds = %1678, %1682
  %.str.5.sink1371 = phi ptr [ @.str.5, %1682 ], [ @.str.2, %1678 ]
  store i32 %1673, ptr %278, align 4, !tbaa !5
  %1684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1685 = load i32, ptr @test_count, align 4, !tbaa !5
  %1686 = load i32, ptr %224, align 4, !tbaa !5
  %1687 = call ptr @s2n_strerror(i32 noundef %1686, ptr noundef nonnull @.str.4) #8
  %1688 = load i32, ptr %224, align 4, !tbaa !5
  %1689 = call ptr @s2n_strerror_debug(i32 noundef %1688, ptr noundef nonnull @.str.4) #8
  %1690 = load i32, ptr %278, align 4, !tbaa !5
  %1691 = call ptr @strerror(i32 noundef %1690) #8
  %1692 = load i32, ptr %278, align 4, !tbaa !5
  %1693 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1684, ptr noundef nonnull %.str.5.sink1371, i32 noundef %1685, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 304, ptr noundef %1687, ptr noundef %1689, ptr noundef %1691, i32 noundef %1692) #10
  call void @exit(i32 noundef 1) #11
  unreachable

1694:                                             ; preds = %1668
  %1695 = load i32, ptr @test_count, align 4, !tbaa !5
  %1696 = add nsw i32 %1695, 1
  store i32 %1696, ptr @test_count, align 4, !tbaa !5
  %1697 = call zeroext i1 @s2n_constant_time_equals(ptr noundef nonnull %4, ptr noundef nonnull %9, i32 noundef 4) #8
  br i1 %1697, label %1698, label %1720

1698:                                             ; preds = %1694
  %1699 = load i32, ptr %278, align 4, !tbaa !5
  %1700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1701 = call i32 @s2n_print_stacktrace(ptr noundef %1700) #8
  %1702 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1703 = trunc nuw i8 %1702 to i1
  br i1 %1703, label %1704, label %1708

1704:                                             ; preds = %1698
  %1705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1706 = call i32 @fileno(ptr noundef %1705) #8
  %1707 = call i32 @isatty(i32 noundef %1706) #8
  %.not755 = icmp eq i32 %1707, 0
  br i1 %.not755, label %1708, label %1709

1708:                                             ; preds = %1704, %1698
  br label %1709

1709:                                             ; preds = %1704, %1708
  %.str.5.sink1380 = phi ptr [ @.str.5, %1708 ], [ @.str.2, %1704 ]
  store i32 %1699, ptr %278, align 4, !tbaa !5
  %1710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1711 = load i32, ptr @test_count, align 4, !tbaa !5
  %1712 = load i32, ptr %224, align 4, !tbaa !5
  %1713 = call ptr @s2n_strerror(i32 noundef %1712, ptr noundef nonnull @.str.4) #8
  %1714 = load i32, ptr %224, align 4, !tbaa !5
  %1715 = call ptr @s2n_strerror_debug(i32 noundef %1714, ptr noundef nonnull @.str.4) #8
  %1716 = load i32, ptr %278, align 4, !tbaa !5
  %1717 = call ptr @strerror(i32 noundef %1716) #8
  %1718 = load i32, ptr %278, align 4, !tbaa !5
  %1719 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1710, ptr noundef nonnull %.str.5.sink1380, i32 noundef %1711, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 305, ptr noundef %1713, ptr noundef %1715, ptr noundef %1717, i32 noundef %1718) #10
  call void @exit(i32 noundef 1) #11
  unreachable

1720:                                             ; preds = %1694
  %1721 = load i32, ptr @test_count, align 4, !tbaa !5
  %1722 = add nsw i32 %1721, 1
  store i32 %1722, ptr @test_count, align 4, !tbaa !5
  %1723 = call i32 @s2n_constant_time_copy_or_dont(ptr noundef nonnull %4, ptr noundef nonnull %6, i32 noundef 4, i8 noundef zeroext 0) #8
  %1724 = icmp eq i32 %1723, -1
  br i1 %1724, label %1725, label %1747

1725:                                             ; preds = %1720
  %1726 = load i32, ptr %278, align 4, !tbaa !5
  %1727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1728 = call i32 @s2n_print_stacktrace(ptr noundef %1727) #8
  %1729 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1730 = trunc nuw i8 %1729 to i1
  br i1 %1730, label %1731, label %1735

1731:                                             ; preds = %1725
  %1732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1733 = call i32 @fileno(ptr noundef %1732) #8
  %1734 = call i32 @isatty(i32 noundef %1733) #8
  %.not754 = icmp eq i32 %1734, 0
  br i1 %.not754, label %1735, label %1736

1735:                                             ; preds = %1731, %1725
  br label %1736

1736:                                             ; preds = %1731, %1735
  %.str.5.sink1389 = phi ptr [ @.str.5, %1735 ], [ @.str.2, %1731 ]
  store i32 %1726, ptr %278, align 4, !tbaa !5
  %1737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1738 = load i32, ptr @test_count, align 4, !tbaa !5
  %1739 = load i32, ptr %224, align 4, !tbaa !5
  %1740 = call ptr @s2n_strerror(i32 noundef %1739, ptr noundef nonnull @.str.4) #8
  %1741 = load i32, ptr %224, align 4, !tbaa !5
  %1742 = call ptr @s2n_strerror_debug(i32 noundef %1741, ptr noundef nonnull @.str.4) #8
  %1743 = load i32, ptr %278, align 4, !tbaa !5
  %1744 = call ptr @strerror(i32 noundef %1743) #8
  %1745 = load i32, ptr %278, align 4, !tbaa !5
  %1746 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1737, ptr noundef nonnull %.str.5.sink1389, i32 noundef %1738, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 307, ptr noundef %1740, ptr noundef %1742, ptr noundef %1744, i32 noundef %1745) #10
  call void @exit(i32 noundef 1) #11
  unreachable

1747:                                             ; preds = %1720
  %1748 = load i32, ptr @test_count, align 4, !tbaa !5
  %1749 = add nsw i32 %1748, 1
  store i32 %1749, ptr @test_count, align 4, !tbaa !5
  %1750 = call zeroext i1 @s2n_constant_time_equals(ptr noundef nonnull %4, ptr noundef nonnull %6, i32 noundef 4) #8
  br i1 %1750, label %.preheader804, label %1751

1751:                                             ; preds = %1747
  %1752 = load i32, ptr %278, align 4, !tbaa !5
  %1753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1754 = call i32 @s2n_print_stacktrace(ptr noundef %1753) #8
  %1755 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1756 = trunc nuw i8 %1755 to i1
  br i1 %1756, label %1757, label %1761

1757:                                             ; preds = %1751
  %1758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1759 = call i32 @fileno(ptr noundef %1758) #8
  %1760 = call i32 @isatty(i32 noundef %1759) #8
  %.not560 = icmp eq i32 %1760, 0
  br i1 %.not560, label %1761, label %1762

1761:                                             ; preds = %1757, %1751
  br label %1762

1762:                                             ; preds = %1757, %1761
  %.str.5.sink1398 = phi ptr [ @.str.5, %1761 ], [ @.str.2, %1757 ]
  store i32 %1752, ptr %278, align 4, !tbaa !5
  %1763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1764 = load i32, ptr @test_count, align 4, !tbaa !5
  %1765 = load i32, ptr %224, align 4, !tbaa !5
  %1766 = call ptr @s2n_strerror(i32 noundef %1765, ptr noundef nonnull @.str.4) #8
  %1767 = load i32, ptr %224, align 4, !tbaa !5
  %1768 = call ptr @s2n_strerror_debug(i32 noundef %1767, ptr noundef nonnull @.str.4) #8
  %1769 = load i32, ptr %278, align 4, !tbaa !5
  %1770 = call ptr @strerror(i32 noundef %1769) #8
  %1771 = load i32, ptr %278, align 4, !tbaa !5
  %1772 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1763, ptr noundef nonnull %.str.5.sink1398, i32 noundef %1764, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.1, i32 noundef 308, ptr noundef %1766, ptr noundef %1768, ptr noundef %1770, i32 noundef %1771) #10
  call void @exit(i32 noundef 1) #11
  unreachable

1773:                                             ; preds = %1829
  %1774 = add nuw nsw i32 %.0805, 1
  %exitcond.not = icmp eq i32 %1774, 256
  br i1 %exitcond.not, label %1775, label %.preheader804, !llvm.loop !15

1775:                                             ; preds = %1773
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %10) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %11) #8
  br label %.preheader803

.preheader804:                                    ; preds = %1747, %1773
  %.0805 = phi i32 [ %1774, %1773 ], [ 1, %1747 ]
  %1776 = load i32, ptr @test_count, align 4, !tbaa !5
  %1777 = add nsw i32 %1776, 1
  store i32 %1777, ptr @test_count, align 4, !tbaa !5
  %1778 = trunc nuw i32 %.0805 to i8
  %1779 = call i32 @s2n_constant_time_copy_or_dont(ptr noundef nonnull %5, ptr noundef nonnull %7, i32 noundef 4, i8 noundef zeroext %1778) #8
  %1780 = icmp eq i32 %1779, -1
  br i1 %1780, label %1781, label %1803

1781:                                             ; preds = %.preheader804
  %1782 = load i32, ptr %278, align 4, !tbaa !5
  %1783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1784 = call i32 @s2n_print_stacktrace(ptr noundef %1783) #8
  %1785 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1786 = trunc nuw i8 %1785 to i1
  br i1 %1786, label %1787, label %1791

1787:                                             ; preds = %1781
  %1788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1789 = call i32 @fileno(ptr noundef %1788) #8
  %1790 = call i32 @isatty(i32 noundef %1789) #8
  %.not753 = icmp eq i32 %1790, 0
  br i1 %.not753, label %1791, label %1792

1791:                                             ; preds = %1787, %1781
  br label %1792

1792:                                             ; preds = %1787, %1791
  %.str.5.sink1407 = phi ptr [ @.str.5, %1791 ], [ @.str.2, %1787 ]
  store i32 %1782, ptr %278, align 4, !tbaa !5
  %1793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1794 = load i32, ptr @test_count, align 4, !tbaa !5
  %1795 = load i32, ptr %224, align 4, !tbaa !5
  %1796 = call ptr @s2n_strerror(i32 noundef %1795, ptr noundef nonnull @.str.4) #8
  %1797 = load i32, ptr %224, align 4, !tbaa !5
  %1798 = call ptr @s2n_strerror_debug(i32 noundef %1797, ptr noundef nonnull @.str.4) #8
  %1799 = load i32, ptr %278, align 4, !tbaa !5
  %1800 = call ptr @strerror(i32 noundef %1799) #8
  %1801 = load i32, ptr %278, align 4, !tbaa !5
  %1802 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1793, ptr noundef nonnull %.str.5.sink1407, i32 noundef %1794, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.1, i32 noundef 311, ptr noundef %1796, ptr noundef %1798, ptr noundef %1800, i32 noundef %1801) #10
  call void @exit(i32 noundef 1) #11
  unreachable

1803:                                             ; preds = %.preheader804
  %1804 = load i32, ptr @test_count, align 4, !tbaa !5
  %1805 = add nsw i32 %1804, 1
  store i32 %1805, ptr @test_count, align 4, !tbaa !5
  %1806 = call zeroext i1 @s2n_constant_time_equals(ptr noundef nonnull %5, ptr noundef nonnull %7, i32 noundef 4) #8
  br i1 %1806, label %1807, label %1829

1807:                                             ; preds = %1803
  %1808 = load i32, ptr %278, align 4, !tbaa !5
  %1809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1810 = call i32 @s2n_print_stacktrace(ptr noundef %1809) #8
  %1811 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1812 = trunc nuw i8 %1811 to i1
  br i1 %1812, label %1813, label %1817

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

1817:                                             ; preds = %1813, %1807
  br label %1818

1818:                                             ; preds = %1813, %1817
  %.str.5.sink1416 = phi ptr [ @.str.5, %1817 ], [ @.str.2, %1813 ]
  store i32 %1808, ptr %278, align 4, !tbaa !5
  %1819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1820 = load i32, ptr @test_count, align 4, !tbaa !5
  %1821 = load i32, ptr %224, align 4, !tbaa !5
  %1822 = call ptr @s2n_strerror(i32 noundef %1821, ptr noundef nonnull @.str.4) #8
  %1823 = load i32, ptr %224, align 4, !tbaa !5
  %1824 = call ptr @s2n_strerror_debug(i32 noundef %1823, ptr noundef nonnull @.str.4) #8
  %1825 = load i32, ptr %278, align 4, !tbaa !5
  %1826 = call ptr @strerror(i32 noundef %1825) #8
  %1827 = load i32, ptr %278, align 4, !tbaa !5
  %1828 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1819, ptr noundef nonnull %.str.5.sink1416, i32 noundef %1820, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.1, i32 noundef 312, ptr noundef %1822, ptr noundef %1824, ptr noundef %1826, i32 noundef %1827) #10
  call void @exit(i32 noundef 1) #11
  unreachable

1829:                                             ; preds = %1803
  %1830 = load i32, ptr @test_count, align 4, !tbaa !5
  %1831 = add nsw i32 %1830, 1
  store i32 %1831, ptr @test_count, align 4, !tbaa !5
  %1832 = call zeroext i1 @s2n_constant_time_equals(ptr noundef nonnull %5, ptr noundef nonnull %8, i32 noundef 4) #8
  br i1 %1832, label %1773, label %1833

1833:                                             ; preds = %1829
  %1834 = load i32, ptr %278, align 4, !tbaa !5
  %1835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1836 = call i32 @s2n_print_stacktrace(ptr noundef %1835) #8
  %1837 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1838 = trunc nuw i8 %1837 to i1
  br i1 %1838, label %1839, label %1843

1839:                                             ; preds = %1833
  %1840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1841 = call i32 @fileno(ptr noundef %1840) #8
  %1842 = call i32 @isatty(i32 noundef %1841) #8
  %.not752 = icmp eq i32 %1842, 0
  br i1 %.not752, label %1843, label %1844

1843:                                             ; preds = %1839, %1833
  br label %1844

1844:                                             ; preds = %1839, %1843
  %.str.5.sink1425 = phi ptr [ @.str.5, %1843 ], [ @.str.2, %1839 ]
  store i32 %1834, ptr %278, align 4, !tbaa !5
  %1845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1846 = load i32, ptr @test_count, align 4, !tbaa !5
  %1847 = load i32, ptr %224, align 4, !tbaa !5
  %1848 = call ptr @s2n_strerror(i32 noundef %1847, ptr noundef nonnull @.str.4) #8
  %1849 = load i32, ptr %224, align 4, !tbaa !5
  %1850 = call ptr @s2n_strerror_debug(i32 noundef %1849, ptr noundef nonnull @.str.4) #8
  %1851 = load i32, ptr %278, align 4, !tbaa !5
  %1852 = call ptr @strerror(i32 noundef %1851) #8
  %1853 = load i32, ptr %278, align 4, !tbaa !5
  %1854 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1845, ptr noundef nonnull %.str.5.sink1425, i32 noundef %1846, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 313, ptr noundef %1848, ptr noundef %1850, ptr noundef %1852, i32 noundef %1853) #10
  call void @exit(i32 noundef 1) #11
  unreachable

.preheader803:                                    ; preds = %1775, %1863
  %.0533807 = phi i32 [ 0, %1775 ], [ %1864, %1863 ]
  %1855 = trunc nuw i32 %.0533807 to i8
  br label %1865

1856:                                             ; preds = %1863
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %12) #8
  %1857 = load i32, ptr @test_count, align 4, !tbaa !5
  %1858 = add nsw i32 %1857, 1
  store i32 %1858, ptr @test_count, align 4, !tbaa !5
  %1859 = call i32 @s2n_mul_overflow(i32 noundef 0, i32 noundef 0, ptr noundef nonnull %12) #8
  %1860 = icmp eq i32 %1859, -1
  br i1 %1860, label %1894, label %1916

1861:                                             ; preds = %1865
  %1862 = add nuw nsw i32 %.0534806, 1
  %exitcond827.not = icmp eq i32 %1862, 256
  br i1 %exitcond827.not, label %1863, label %1865, !llvm.loop !17

1863:                                             ; preds = %1861
  %1864 = add nuw nsw i32 %.0533807, 1
  %exitcond828.not = icmp eq i32 %1864, 256
  br i1 %exitcond828.not, label %1856, label %.preheader803, !llvm.loop !18

1865:                                             ; preds = %.preheader803, %1861
  %.0534806 = phi i32 [ 0, %.preheader803 ], [ %1862, %1861 ]
  store i8 %1855, ptr %10, align 1, !tbaa !19
  %1866 = trunc nuw i32 %.0534806 to i8
  store i8 %1866, ptr %11, align 1, !tbaa !19
  %1867 = load i32, ptr @test_count, align 4, !tbaa !5
  %1868 = add nsw i32 %1867, 1
  store i32 %1868, ptr @test_count, align 4, !tbaa !5
  %1869 = call zeroext i1 @s2n_constant_time_equals(ptr noundef nonnull %10, ptr noundef nonnull %11, i32 noundef 1) #8
  %1870 = icmp ne i32 %.0533807, %.0534806
  %1871 = xor i1 %1870, %1869
  br i1 %1871, label %1861, label %1872

1872:                                             ; preds = %1865
  %1873 = load i32, ptr %278, align 4, !tbaa !5
  %1874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1875 = call i32 @s2n_print_stacktrace(ptr noundef %1874) #8
  %1876 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1877 = trunc nuw i8 %1876 to i1
  br i1 %1877, label %1878, label %1882

1878:                                             ; preds = %1872
  %1879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1880 = call i32 @fileno(ptr noundef %1879) #8
  %1881 = call i32 @isatty(i32 noundef %1880) #8
  %.not750 = icmp eq i32 %1881, 0
  br i1 %.not750, label %1882, label %1883

1882:                                             ; preds = %1878, %1872
  br label %1883

1883:                                             ; preds = %1878, %1882
  %.str.5.sink1434 = phi ptr [ @.str.5, %1882 ], [ @.str.2, %1878 ]
  store i32 %1873, ptr %278, align 4, !tbaa !5
  %1884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1885 = load i32, ptr @test_count, align 4, !tbaa !5
  %1886 = load i32, ptr %224, align 4, !tbaa !5
  %1887 = call ptr @s2n_strerror(i32 noundef %1886, ptr noundef nonnull @.str.4) #8
  %1888 = load i32, ptr %224, align 4, !tbaa !5
  %1889 = call ptr @s2n_strerror_debug(i32 noundef %1888, ptr noundef nonnull @.str.4) #8
  %1890 = load i32, ptr %278, align 4, !tbaa !5
  %1891 = call ptr @strerror(i32 noundef %1890) #8
  %1892 = load i32, ptr %278, align 4, !tbaa !5
  %1893 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1884, ptr noundef nonnull %.str.5.sink1434, i32 noundef %1885, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.1, i32 noundef 330, ptr noundef %1887, ptr noundef %1889, ptr noundef %1891, i32 noundef %1892) #10
  call void @exit(i32 noundef 1) #11
  unreachable

1894:                                             ; preds = %1856
  %1895 = load i32, ptr %278, align 4, !tbaa !5
  %1896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1897 = call i32 @s2n_print_stacktrace(ptr noundef %1896) #8
  %1898 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1899 = trunc nuw i8 %1898 to i1
  br i1 %1899, label %1900, label %1904

1900:                                             ; preds = %1894
  %1901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1902 = call i32 @fileno(ptr noundef %1901) #8
  %1903 = call i32 @isatty(i32 noundef %1902) #8
  %.not749 = icmp eq i32 %1903, 0
  br i1 %.not749, label %1904, label %1905

1904:                                             ; preds = %1900, %1894
  br label %1905

1905:                                             ; preds = %1900, %1904
  %.str.5.sink1443 = phi ptr [ @.str.5, %1904 ], [ @.str.2, %1900 ]
  store i32 %1895, ptr %278, align 4, !tbaa !5
  %1906 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1907 = load i32, ptr @test_count, align 4, !tbaa !5
  %1908 = load i32, ptr %224, align 4, !tbaa !5
  %1909 = call ptr @s2n_strerror(i32 noundef %1908, ptr noundef nonnull @.str.4) #8
  %1910 = load i32, ptr %224, align 4, !tbaa !5
  %1911 = call ptr @s2n_strerror_debug(i32 noundef %1910, ptr noundef nonnull @.str.4) #8
  %1912 = load i32, ptr %278, align 4, !tbaa !5
  %1913 = call ptr @strerror(i32 noundef %1912) #8
  %1914 = load i32, ptr %278, align 4, !tbaa !5
  %1915 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1906, ptr noundef nonnull %.str.5.sink1443, i32 noundef %1907, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 334, ptr noundef %1909, ptr noundef %1911, ptr noundef %1913, i32 noundef %1914) #10
  call void @exit(i32 noundef 1) #11
  unreachable

1916:                                             ; preds = %1856
  %1917 = load i32, ptr @test_count, align 4, !tbaa !5
  %1918 = add nsw i32 %1917, 1
  store i32 %1918, ptr @test_count, align 4, !tbaa !5
  %1919 = load i32, ptr %12, align 4, !tbaa !5
  %1920 = icmp eq i32 %1919, 0
  br i1 %1920, label %1943, label %1921

1921:                                             ; preds = %1916
  %1922 = load i32, ptr %278, align 4, !tbaa !5
  %1923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1924 = call i32 @s2n_print_stacktrace(ptr noundef %1923) #8
  %1925 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1926 = trunc nuw i8 %1925 to i1
  br i1 %1926, label %1927, label %1931

1927:                                             ; preds = %1921
  %1928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1929 = call i32 @fileno(ptr noundef %1928) #8
  %1930 = call i32 @isatty(i32 noundef %1929) #8
  %.not561 = icmp eq i32 %1930, 0
  br i1 %.not561, label %1931, label %1932

1931:                                             ; preds = %1927, %1921
  br label %1932

1932:                                             ; preds = %1927, %1931
  %.str.5.sink1452 = phi ptr [ @.str.5, %1931 ], [ @.str.2, %1927 ]
  store i32 %1922, ptr %278, align 4, !tbaa !5
  %1933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1934 = load i32, ptr @test_count, align 4, !tbaa !5
  %1935 = load i32, ptr %224, align 4, !tbaa !5
  %1936 = call ptr @s2n_strerror(i32 noundef %1935, ptr noundef nonnull @.str.4) #8
  %1937 = load i32, ptr %224, align 4, !tbaa !5
  %1938 = call ptr @s2n_strerror_debug(i32 noundef %1937, ptr noundef nonnull @.str.4) #8
  %1939 = load i32, ptr %278, align 4, !tbaa !5
  %1940 = call ptr @strerror(i32 noundef %1939) #8
  %1941 = load i32, ptr %278, align 4, !tbaa !5
  %1942 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1933, ptr noundef nonnull %.str.5.sink1452, i32 noundef %1934, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.1, i32 noundef 334, ptr noundef %1936, ptr noundef %1938, ptr noundef %1940, i32 noundef %1941) #10
  call void @exit(i32 noundef 1) #11
  unreachable

1943:                                             ; preds = %1916
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %12) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %13) #8
  %1944 = add nsw i32 %1917, 2
  store i32 %1944, ptr @test_count, align 4, !tbaa !5
  %1945 = call i32 @s2n_mul_overflow(i32 noundef 0, i32 noundef 0, ptr noundef nonnull %13) #8
  %1946 = icmp eq i32 %1945, -1
  br i1 %1946, label %1947, label %1969

1947:                                             ; preds = %1943
  %1948 = load i32, ptr %278, align 4, !tbaa !5
  %1949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1950 = call i32 @s2n_print_stacktrace(ptr noundef %1949) #8
  %1951 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1952 = trunc nuw i8 %1951 to i1
  br i1 %1952, label %1953, label %1957

1953:                                             ; preds = %1947
  %1954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1955 = call i32 @fileno(ptr noundef %1954) #8
  %1956 = call i32 @isatty(i32 noundef %1955) #8
  %.not748 = icmp eq i32 %1956, 0
  br i1 %.not748, label %1957, label %1958

1957:                                             ; preds = %1953, %1947
  br label %1958

1958:                                             ; preds = %1953, %1957
  %.str.5.sink1461 = phi ptr [ @.str.5, %1957 ], [ @.str.2, %1953 ]
  store i32 %1948, ptr %278, align 4, !tbaa !5
  %1959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1960 = load i32, ptr @test_count, align 4, !tbaa !5
  %1961 = load i32, ptr %224, align 4, !tbaa !5
  %1962 = call ptr @s2n_strerror(i32 noundef %1961, ptr noundef nonnull @.str.4) #8
  %1963 = load i32, ptr %224, align 4, !tbaa !5
  %1964 = call ptr @s2n_strerror_debug(i32 noundef %1963, ptr noundef nonnull @.str.4) #8
  %1965 = load i32, ptr %278, align 4, !tbaa !5
  %1966 = call ptr @strerror(i32 noundef %1965) #8
  %1967 = load i32, ptr %278, align 4, !tbaa !5
  %1968 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1959, ptr noundef nonnull %.str.5.sink1461, i32 noundef %1960, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 334, ptr noundef %1962, ptr noundef %1964, ptr noundef %1966, i32 noundef %1967) #10
  call void @exit(i32 noundef 1) #11
  unreachable

1969:                                             ; preds = %1943
  %1970 = load i32, ptr @test_count, align 4, !tbaa !5
  %1971 = add nsw i32 %1970, 1
  store i32 %1971, ptr @test_count, align 4, !tbaa !5
  %1972 = load i32, ptr %13, align 4, !tbaa !5
  %1973 = icmp eq i32 %1972, 0
  br i1 %1973, label %1996, label %1974

1974:                                             ; preds = %1969
  %1975 = load i32, ptr %278, align 4, !tbaa !5
  %1976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1977 = call i32 @s2n_print_stacktrace(ptr noundef %1976) #8
  %1978 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1979 = trunc nuw i8 %1978 to i1
  br i1 %1979, label %1980, label %1984

1980:                                             ; preds = %1974
  %1981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1982 = call i32 @fileno(ptr noundef %1981) #8
  %1983 = call i32 @isatty(i32 noundef %1982) #8
  %.not562 = icmp eq i32 %1983, 0
  br i1 %.not562, label %1984, label %1985

1984:                                             ; preds = %1980, %1974
  br label %1985

1985:                                             ; preds = %1980, %1984
  %.str.5.sink1470 = phi ptr [ @.str.5, %1984 ], [ @.str.2, %1980 ]
  store i32 %1975, ptr %278, align 4, !tbaa !5
  %1986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1987 = load i32, ptr @test_count, align 4, !tbaa !5
  %1988 = load i32, ptr %224, align 4, !tbaa !5
  %1989 = call ptr @s2n_strerror(i32 noundef %1988, ptr noundef nonnull @.str.4) #8
  %1990 = load i32, ptr %224, align 4, !tbaa !5
  %1991 = call ptr @s2n_strerror_debug(i32 noundef %1990, ptr noundef nonnull @.str.4) #8
  %1992 = load i32, ptr %278, align 4, !tbaa !5
  %1993 = call ptr @strerror(i32 noundef %1992) #8
  %1994 = load i32, ptr %278, align 4, !tbaa !5
  %1995 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1986, ptr noundef nonnull %.str.5.sink1470, i32 noundef %1987, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.1, i32 noundef 334, ptr noundef %1989, ptr noundef %1991, ptr noundef %1993, i32 noundef %1994) #10
  call void @exit(i32 noundef 1) #11
  unreachable

1996:                                             ; preds = %1969
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %13) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %14) #8
  %1997 = add nsw i32 %1970, 2
  store i32 %1997, ptr @test_count, align 4, !tbaa !5
  %1998 = call i32 @s2n_mul_overflow(i32 noundef 0, i32 noundef 1, ptr noundef nonnull %14) #8
  %1999 = icmp eq i32 %1998, -1
  br i1 %1999, label %2000, label %2022

2000:                                             ; preds = %1996
  %2001 = load i32, ptr %278, align 4, !tbaa !5
  %2002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2003 = call i32 @s2n_print_stacktrace(ptr noundef %2002) #8
  %2004 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2005 = trunc nuw i8 %2004 to i1
  br i1 %2005, label %2006, label %2010

2006:                                             ; preds = %2000
  %2007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2008 = call i32 @fileno(ptr noundef %2007) #8
  %2009 = call i32 @isatty(i32 noundef %2008) #8
  %.not747 = icmp eq i32 %2009, 0
  br i1 %.not747, label %2010, label %2011

2010:                                             ; preds = %2006, %2000
  br label %2011

2011:                                             ; preds = %2006, %2010
  %.str.5.sink1479 = phi ptr [ @.str.5, %2010 ], [ @.str.2, %2006 ]
  store i32 %2001, ptr %278, align 4, !tbaa !5
  %2012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2013 = load i32, ptr @test_count, align 4, !tbaa !5
  %2014 = load i32, ptr %224, align 4, !tbaa !5
  %2015 = call ptr @s2n_strerror(i32 noundef %2014, ptr noundef nonnull @.str.4) #8
  %2016 = load i32, ptr %224, align 4, !tbaa !5
  %2017 = call ptr @s2n_strerror_debug(i32 noundef %2016, ptr noundef nonnull @.str.4) #8
  %2018 = load i32, ptr %278, align 4, !tbaa !5
  %2019 = call ptr @strerror(i32 noundef %2018) #8
  %2020 = load i32, ptr %278, align 4, !tbaa !5
  %2021 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2012, ptr noundef nonnull %.str.5.sink1479, i32 noundef %2013, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.1, i32 noundef 335, ptr noundef %2015, ptr noundef %2017, ptr noundef %2019, i32 noundef %2020) #10
  call void @exit(i32 noundef 1) #11
  unreachable

2022:                                             ; preds = %1996
  %2023 = load i32, ptr @test_count, align 4, !tbaa !5
  %2024 = add nsw i32 %2023, 1
  store i32 %2024, ptr @test_count, align 4, !tbaa !5
  %2025 = load i32, ptr %14, align 4, !tbaa !5
  %2026 = icmp eq i32 %2025, 0
  br i1 %2026, label %2049, label %2027

2027:                                             ; preds = %2022
  %2028 = load i32, ptr %278, align 4, !tbaa !5
  %2029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2030 = call i32 @s2n_print_stacktrace(ptr noundef %2029) #8
  %2031 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2032 = trunc nuw i8 %2031 to i1
  br i1 %2032, label %2033, label %2037

2033:                                             ; preds = %2027
  %2034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2035 = call i32 @fileno(ptr noundef %2034) #8
  %2036 = call i32 @isatty(i32 noundef %2035) #8
  %.not563 = icmp eq i32 %2036, 0
  br i1 %.not563, label %2037, label %2038

2037:                                             ; preds = %2033, %2027
  br label %2038

2038:                                             ; preds = %2033, %2037
  %.str.5.sink1488 = phi ptr [ @.str.5, %2037 ], [ @.str.2, %2033 ]
  store i32 %2028, ptr %278, align 4, !tbaa !5
  %2039 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2040 = load i32, ptr @test_count, align 4, !tbaa !5
  %2041 = load i32, ptr %224, align 4, !tbaa !5
  %2042 = call ptr @s2n_strerror(i32 noundef %2041, ptr noundef nonnull @.str.4) #8
  %2043 = load i32, ptr %224, align 4, !tbaa !5
  %2044 = call ptr @s2n_strerror_debug(i32 noundef %2043, ptr noundef nonnull @.str.4) #8
  %2045 = load i32, ptr %278, align 4, !tbaa !5
  %2046 = call ptr @strerror(i32 noundef %2045) #8
  %2047 = load i32, ptr %278, align 4, !tbaa !5
  %2048 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2039, ptr noundef nonnull %.str.5.sink1488, i32 noundef %2040, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.1, i32 noundef 335, ptr noundef %2042, ptr noundef %2044, ptr noundef %2046, i32 noundef %2047) #10
  call void @exit(i32 noundef 1) #11
  unreachable

2049:                                             ; preds = %2022
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %14) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %15) #8
  %2050 = add nsw i32 %2023, 2
  store i32 %2050, ptr @test_count, align 4, !tbaa !5
  %2051 = call i32 @s2n_mul_overflow(i32 noundef 1, i32 noundef 0, ptr noundef nonnull %15) #8
  %2052 = icmp eq i32 %2051, -1
  br i1 %2052, label %2053, label %2075

2053:                                             ; preds = %2049
  %2054 = load i32, ptr %278, align 4, !tbaa !5
  %2055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2056 = call i32 @s2n_print_stacktrace(ptr noundef %2055) #8
  %2057 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2058 = trunc nuw i8 %2057 to i1
  br i1 %2058, label %2059, label %2063

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

2063:                                             ; preds = %2059, %2053
  br label %2064

2064:                                             ; preds = %2059, %2063
  %.str.5.sink1497 = phi ptr [ @.str.5, %2063 ], [ @.str.2, %2059 ]
  store i32 %2054, ptr %278, align 4, !tbaa !5
  %2065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2066 = load i32, ptr @test_count, align 4, !tbaa !5
  %2067 = load i32, ptr %224, align 4, !tbaa !5
  %2068 = call ptr @s2n_strerror(i32 noundef %2067, ptr noundef nonnull @.str.4) #8
  %2069 = load i32, ptr %224, align 4, !tbaa !5
  %2070 = call ptr @s2n_strerror_debug(i32 noundef %2069, ptr noundef nonnull @.str.4) #8
  %2071 = load i32, ptr %278, align 4, !tbaa !5
  %2072 = call ptr @strerror(i32 noundef %2071) #8
  %2073 = load i32, ptr %278, align 4, !tbaa !5
  %2074 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2065, ptr noundef nonnull %.str.5.sink1497, i32 noundef %2066, ptr noundef nonnull @.str.53, ptr noundef nonnull @.str.1, i32 noundef 335, ptr noundef %2068, ptr noundef %2070, ptr noundef %2072, i32 noundef %2073) #10
  call void @exit(i32 noundef 1) #11
  unreachable

2075:                                             ; preds = %2049
  %2076 = load i32, ptr @test_count, align 4, !tbaa !5
  %2077 = add nsw i32 %2076, 1
  store i32 %2077, ptr @test_count, align 4, !tbaa !5
  %2078 = load i32, ptr %15, align 4, !tbaa !5
  %2079 = icmp eq i32 %2078, 0
  br i1 %2079, label %2102, label %2080

2080:                                             ; preds = %2075
  %2081 = load i32, ptr %278, align 4, !tbaa !5
  %2082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2083 = call i32 @s2n_print_stacktrace(ptr noundef %2082) #8
  %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) #8
  %2089 = call i32 @isatty(i32 noundef %2088) #8
  %.not564 = icmp eq i32 %2089, 0
  br i1 %.not564, label %2090, label %2091

2090:                                             ; preds = %2086, %2080
  br label %2091

2091:                                             ; preds = %2086, %2090
  %.str.5.sink1506 = phi ptr [ @.str.5, %2090 ], [ @.str.2, %2086 ]
  store i32 %2081, ptr %278, 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 %224, align 4, !tbaa !5
  %2095 = call ptr @s2n_strerror(i32 noundef %2094, ptr noundef nonnull @.str.4) #8
  %2096 = load i32, ptr %224, align 4, !tbaa !5
  %2097 = call ptr @s2n_strerror_debug(i32 noundef %2096, ptr noundef nonnull @.str.4) #8
  %2098 = load i32, ptr %278, align 4, !tbaa !5
  %2099 = call ptr @strerror(i32 noundef %2098) #8
  %2100 = load i32, ptr %278, align 4, !tbaa !5
  %2101 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2092, ptr noundef nonnull %.str.5.sink1506, i32 noundef %2093, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.1, i32 noundef 335, ptr noundef %2095, ptr noundef %2097, ptr noundef %2099, i32 noundef %2100) #10
  call void @exit(i32 noundef 1) #11
  unreachable

2102:                                             ; preds = %2075
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %15) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %16) #8
  %2103 = add nsw i32 %2076, 2
  store i32 %2103, ptr @test_count, align 4, !tbaa !5
  %2104 = call i32 @s2n_mul_overflow(i32 noundef 0, i32 noundef -1, ptr noundef nonnull %16) #8
  %2105 = icmp eq i32 %2104, -1
  br i1 %2105, label %2106, label %2128

2106:                                             ; preds = %2102
  %2107 = load i32, ptr %278, align 4, !tbaa !5
  %2108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2109 = call i32 @s2n_print_stacktrace(ptr noundef %2108) #8
  %2110 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2111 = trunc nuw i8 %2110 to i1
  br i1 %2111, label %2112, label %2116

2112:                                             ; preds = %2106
  %2113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2114 = call i32 @fileno(ptr noundef %2113) #8
  %2115 = call i32 @isatty(i32 noundef %2114) #8
  %.not745 = icmp eq i32 %2115, 0
  br i1 %.not745, label %2116, label %2117

2116:                                             ; preds = %2112, %2106
  br label %2117

2117:                                             ; preds = %2112, %2116
  %.str.5.sink1515 = phi ptr [ @.str.5, %2116 ], [ @.str.2, %2112 ]
  store i32 %2107, ptr %278, align 4, !tbaa !5
  %2118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2119 = load i32, ptr @test_count, align 4, !tbaa !5
  %2120 = load i32, ptr %224, align 4, !tbaa !5
  %2121 = call ptr @s2n_strerror(i32 noundef %2120, ptr noundef nonnull @.str.4) #8
  %2122 = load i32, ptr %224, align 4, !tbaa !5
  %2123 = call ptr @s2n_strerror_debug(i32 noundef %2122, ptr noundef nonnull @.str.4) #8
  %2124 = load i32, ptr %278, align 4, !tbaa !5
  %2125 = call ptr @strerror(i32 noundef %2124) #8
  %2126 = load i32, ptr %278, align 4, !tbaa !5
  %2127 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2118, ptr noundef nonnull %.str.5.sink1515, i32 noundef %2119, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.1, i32 noundef 336, ptr noundef %2121, ptr noundef %2123, ptr noundef %2125, i32 noundef %2126) #10
  call void @exit(i32 noundef 1) #11
  unreachable

2128:                                             ; preds = %2102
  %2129 = load i32, ptr @test_count, align 4, !tbaa !5
  %2130 = add nsw i32 %2129, 1
  store i32 %2130, ptr @test_count, align 4, !tbaa !5
  %2131 = load i32, ptr %16, align 4, !tbaa !5
  %2132 = icmp eq i32 %2131, 0
  br i1 %2132, label %2155, label %2133

2133:                                             ; preds = %2128
  %2134 = load i32, ptr %278, align 4, !tbaa !5
  %2135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2136 = call i32 @s2n_print_stacktrace(ptr noundef %2135) #8
  %2137 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2138 = trunc nuw i8 %2137 to i1
  br i1 %2138, label %2139, label %2143

2139:                                             ; preds = %2133
  %2140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2141 = call i32 @fileno(ptr noundef %2140) #8
  %2142 = call i32 @isatty(i32 noundef %2141) #8
  %.not565 = icmp eq i32 %2142, 0
  br i1 %.not565, label %2143, label %2144

2143:                                             ; preds = %2139, %2133
  br label %2144

2144:                                             ; preds = %2139, %2143
  %.str.5.sink1524 = phi ptr [ @.str.5, %2143 ], [ @.str.2, %2139 ]
  store i32 %2134, ptr %278, align 4, !tbaa !5
  %2145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2146 = load i32, ptr @test_count, align 4, !tbaa !5
  %2147 = load i32, ptr %224, align 4, !tbaa !5
  %2148 = call ptr @s2n_strerror(i32 noundef %2147, ptr noundef nonnull @.str.4) #8
  %2149 = load i32, ptr %224, align 4, !tbaa !5
  %2150 = call ptr @s2n_strerror_debug(i32 noundef %2149, ptr noundef nonnull @.str.4) #8
  %2151 = load i32, ptr %278, align 4, !tbaa !5
  %2152 = call ptr @strerror(i32 noundef %2151) #8
  %2153 = load i32, ptr %278, align 4, !tbaa !5
  %2154 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2145, ptr noundef nonnull %.str.5.sink1524, i32 noundef %2146, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.1, i32 noundef 336, ptr noundef %2148, ptr noundef %2150, ptr noundef %2152, i32 noundef %2153) #10
  call void @exit(i32 noundef 1) #11
  unreachable

2155:                                             ; preds = %2128
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %16) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %17) #8
  %2156 = add nsw i32 %2129, 2
  store i32 %2156, ptr @test_count, align 4, !tbaa !5
  %2157 = call i32 @s2n_mul_overflow(i32 noundef -1, i32 noundef 0, ptr noundef nonnull %17) #8
  %2158 = icmp eq i32 %2157, -1
  br i1 %2158, label %2159, label %2181

2159:                                             ; preds = %2155
  %2160 = load i32, ptr %278, align 4, !tbaa !5
  %2161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2162 = call i32 @s2n_print_stacktrace(ptr noundef %2161) #8
  %2163 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2164 = trunc nuw i8 %2163 to i1
  br i1 %2164, label %2165, label %2169

2165:                                             ; preds = %2159
  %2166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2167 = call i32 @fileno(ptr noundef %2166) #8
  %2168 = call i32 @isatty(i32 noundef %2167) #8
  %.not744 = icmp eq i32 %2168, 0
  br i1 %.not744, label %2169, label %2170

2169:                                             ; preds = %2165, %2159
  br label %2170

2170:                                             ; preds = %2165, %2169
  %.str.5.sink1533 = phi ptr [ @.str.5, %2169 ], [ @.str.2, %2165 ]
  store i32 %2160, ptr %278, align 4, !tbaa !5
  %2171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2172 = load i32, ptr @test_count, align 4, !tbaa !5
  %2173 = load i32, ptr %224, align 4, !tbaa !5
  %2174 = call ptr @s2n_strerror(i32 noundef %2173, ptr noundef nonnull @.str.4) #8
  %2175 = load i32, ptr %224, align 4, !tbaa !5
  %2176 = call ptr @s2n_strerror_debug(i32 noundef %2175, ptr noundef nonnull @.str.4) #8
  %2177 = load i32, ptr %278, align 4, !tbaa !5
  %2178 = call ptr @strerror(i32 noundef %2177) #8
  %2179 = load i32, ptr %278, align 4, !tbaa !5
  %2180 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2171, ptr noundef nonnull %.str.5.sink1533, i32 noundef %2172, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 336, ptr noundef %2174, ptr noundef %2176, ptr noundef %2178, i32 noundef %2179) #10
  call void @exit(i32 noundef 1) #11
  unreachable

2181:                                             ; preds = %2155
  %2182 = load i32, ptr @test_count, align 4, !tbaa !5
  %2183 = add nsw i32 %2182, 1
  store i32 %2183, ptr @test_count, align 4, !tbaa !5
  %2184 = load i32, ptr %17, align 4, !tbaa !5
  %2185 = icmp eq i32 %2184, 0
  br i1 %2185, label %2208, label %2186

2186:                                             ; preds = %2181
  %2187 = load i32, ptr %278, align 4, !tbaa !5
  %2188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2189 = call i32 @s2n_print_stacktrace(ptr noundef %2188) #8
  %2190 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2191 = trunc nuw i8 %2190 to i1
  br i1 %2191, label %2192, label %2196

2192:                                             ; preds = %2186
  %2193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2194 = call i32 @fileno(ptr noundef %2193) #8
  %2195 = call i32 @isatty(i32 noundef %2194) #8
  %.not566 = icmp eq i32 %2195, 0
  br i1 %.not566, label %2196, label %2197

2196:                                             ; preds = %2192, %2186
  br label %2197

2197:                                             ; preds = %2192, %2196
  %.str.5.sink1542 = phi ptr [ @.str.5, %2196 ], [ @.str.2, %2192 ]
  store i32 %2187, ptr %278, align 4, !tbaa !5
  %2198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2199 = load i32, ptr @test_count, align 4, !tbaa !5
  %2200 = load i32, ptr %224, align 4, !tbaa !5
  %2201 = call ptr @s2n_strerror(i32 noundef %2200, ptr noundef nonnull @.str.4) #8
  %2202 = load i32, ptr %224, align 4, !tbaa !5
  %2203 = call ptr @s2n_strerror_debug(i32 noundef %2202, ptr noundef nonnull @.str.4) #8
  %2204 = load i32, ptr %278, align 4, !tbaa !5
  %2205 = call ptr @strerror(i32 noundef %2204) #8
  %2206 = load i32, ptr %278, align 4, !tbaa !5
  %2207 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2198, ptr noundef nonnull %.str.5.sink1542, i32 noundef %2199, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.1, i32 noundef 336, ptr noundef %2201, ptr noundef %2203, ptr noundef %2205, i32 noundef %2206) #10
  call void @exit(i32 noundef 1) #11
  unreachable

2208:                                             ; preds = %2181
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %17) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %18) #8
  %2209 = add nsw i32 %2182, 2
  store i32 %2209, ptr @test_count, align 4, !tbaa !5
  %2210 = call i32 @s2n_mul_overflow(i32 noundef 4, i32 noundef 5, ptr noundef nonnull %18) #8
  %2211 = icmp eq i32 %2210, -1
  br i1 %2211, label %2212, label %2234

2212:                                             ; preds = %2208
  %2213 = load i32, ptr %278, align 4, !tbaa !5
  %2214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2215 = call i32 @s2n_print_stacktrace(ptr noundef %2214) #8
  %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) #8
  %2221 = call i32 @isatty(i32 noundef %2220) #8
  %.not743 = icmp eq i32 %2221, 0
  br i1 %.not743, label %2222, label %2223

2222:                                             ; preds = %2218, %2212
  br label %2223

2223:                                             ; preds = %2218, %2222
  %.str.5.sink1551 = phi ptr [ @.str.5, %2222 ], [ @.str.2, %2218 ]
  store i32 %2213, ptr %278, 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 %224, align 4, !tbaa !5
  %2227 = call ptr @s2n_strerror(i32 noundef %2226, ptr noundef nonnull @.str.4) #8
  %2228 = load i32, ptr %224, align 4, !tbaa !5
  %2229 = call ptr @s2n_strerror_debug(i32 noundef %2228, ptr noundef nonnull @.str.4) #8
  %2230 = load i32, ptr %278, align 4, !tbaa !5
  %2231 = call ptr @strerror(i32 noundef %2230) #8
  %2232 = load i32, ptr %278, align 4, !tbaa !5
  %2233 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2224, ptr noundef nonnull %.str.5.sink1551, i32 noundef %2225, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.1, i32 noundef 337, ptr noundef %2227, ptr noundef %2229, ptr noundef %2231, i32 noundef %2232) #10
  call void @exit(i32 noundef 1) #11
  unreachable

2234:                                             ; preds = %2208
  %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 %18, align 4, !tbaa !5
  %2238 = icmp eq i32 %2237, 20
  br i1 %2238, label %2261, label %2239

2239:                                             ; preds = %2234
  %2240 = load i32, ptr %278, align 4, !tbaa !5
  %2241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2242 = call i32 @s2n_print_stacktrace(ptr noundef %2241) #8
  %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) #8
  %2248 = call i32 @isatty(i32 noundef %2247) #8
  %.not567 = icmp eq i32 %2248, 0
  br i1 %.not567, label %2249, label %2250

2249:                                             ; preds = %2245, %2239
  br label %2250

2250:                                             ; preds = %2245, %2249
  %.str.5.sink1560 = phi ptr [ @.str.5, %2249 ], [ @.str.2, %2245 ]
  store i32 %2240, ptr %278, 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 %224, align 4, !tbaa !5
  %2254 = call ptr @s2n_strerror(i32 noundef %2253, ptr noundef nonnull @.str.4) #8
  %2255 = load i32, ptr %224, align 4, !tbaa !5
  %2256 = call ptr @s2n_strerror_debug(i32 noundef %2255, ptr noundef nonnull @.str.4) #8
  %2257 = load i32, ptr %278, align 4, !tbaa !5
  %2258 = call ptr @strerror(i32 noundef %2257) #8
  %2259 = load i32, ptr %278, align 4, !tbaa !5
  %2260 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2251, ptr noundef nonnull %.str.5.sink1560, i32 noundef %2252, ptr noundef nonnull @.str.57, ptr noundef nonnull @.str.1, i32 noundef 337, ptr noundef %2254, ptr noundef %2256, ptr noundef %2258, i32 noundef %2259) #10
  call void @exit(i32 noundef 1) #11
  unreachable

2261:                                             ; preds = %2234
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %18) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %19) #8
  %2262 = add nsw i32 %2235, 2
  store i32 %2262, ptr @test_count, align 4, !tbaa !5
  %2263 = call i32 @s2n_mul_overflow(i32 noundef 5, i32 noundef 4, ptr noundef nonnull %19) #8
  %2264 = icmp eq i32 %2263, -1
  br i1 %2264, label %2265, label %2287

2265:                                             ; preds = %2261
  %2266 = load i32, ptr %278, align 4, !tbaa !5
  %2267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2268 = call i32 @s2n_print_stacktrace(ptr noundef %2267) #8
  %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) #8
  %2274 = call i32 @isatty(i32 noundef %2273) #8
  %.not742 = icmp eq i32 %2274, 0
  br i1 %.not742, label %2275, label %2276

2275:                                             ; preds = %2271, %2265
  br label %2276

2276:                                             ; preds = %2271, %2275
  %.str.5.sink1569 = phi ptr [ @.str.5, %2275 ], [ @.str.2, %2271 ]
  store i32 %2266, ptr %278, 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 %224, align 4, !tbaa !5
  %2280 = call ptr @s2n_strerror(i32 noundef %2279, ptr noundef nonnull @.str.4) #8
  %2281 = load i32, ptr %224, align 4, !tbaa !5
  %2282 = call ptr @s2n_strerror_debug(i32 noundef %2281, ptr noundef nonnull @.str.4) #8
  %2283 = load i32, ptr %278, align 4, !tbaa !5
  %2284 = call ptr @strerror(i32 noundef %2283) #8
  %2285 = load i32, ptr %278, align 4, !tbaa !5
  %2286 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2277, ptr noundef nonnull %.str.5.sink1569, i32 noundef %2278, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.1, i32 noundef 337, ptr noundef %2280, ptr noundef %2282, ptr noundef %2284, i32 noundef %2285) #10
  call void @exit(i32 noundef 1) #11
  unreachable

2287:                                             ; preds = %2261
  %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 %19, align 4, !tbaa !5
  %2291 = icmp eq i32 %2290, 20
  br i1 %2291, label %2314, label %2292

2292:                                             ; preds = %2287
  %2293 = load i32, ptr %278, align 4, !tbaa !5
  %2294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2295 = call i32 @s2n_print_stacktrace(ptr noundef %2294) #8
  %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) #8
  %2301 = call i32 @isatty(i32 noundef %2300) #8
  %.not568 = icmp eq i32 %2301, 0
  br i1 %.not568, label %2302, label %2303

2302:                                             ; preds = %2298, %2292
  br label %2303

2303:                                             ; preds = %2298, %2302
  %.str.5.sink1578 = phi ptr [ @.str.5, %2302 ], [ @.str.2, %2298 ]
  store i32 %2293, ptr %278, 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 %224, align 4, !tbaa !5
  %2307 = call ptr @s2n_strerror(i32 noundef %2306, ptr noundef nonnull @.str.4) #8
  %2308 = load i32, ptr %224, align 4, !tbaa !5
  %2309 = call ptr @s2n_strerror_debug(i32 noundef %2308, ptr noundef nonnull @.str.4) #8
  %2310 = load i32, ptr %278, align 4, !tbaa !5
  %2311 = call ptr @strerror(i32 noundef %2310) #8
  %2312 = load i32, ptr %278, align 4, !tbaa !5
  %2313 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2304, ptr noundef nonnull %.str.5.sink1578, i32 noundef %2305, ptr noundef nonnull @.str.57, ptr noundef nonnull @.str.1, i32 noundef 337, ptr noundef %2307, ptr noundef %2309, ptr noundef %2311, i32 noundef %2312) #10
  call void @exit(i32 noundef 1) #11
  unreachable

2314:                                             ; preds = %2287
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %19) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %20) #8
  %2315 = add nsw i32 %2288, 2
  store i32 %2315, ptr @test_count, align 4, !tbaa !5
  %2316 = call i32 @s2n_mul_overflow(i32 noundef 1234, i32 noundef 4321, ptr noundef nonnull %20) #8
  %2317 = icmp eq i32 %2316, -1
  br i1 %2317, label %2318, label %2340

2318:                                             ; preds = %2314
  %2319 = load i32, ptr %278, align 4, !tbaa !5
  %2320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2321 = call i32 @s2n_print_stacktrace(ptr noundef %2320) #8
  %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) #8
  %2327 = call i32 @isatty(i32 noundef %2326) #8
  %.not741 = icmp eq i32 %2327, 0
  br i1 %.not741, label %2328, label %2329

2328:                                             ; preds = %2324, %2318
  br label %2329

2329:                                             ; preds = %2324, %2328
  %.str.5.sink1587 = phi ptr [ @.str.5, %2328 ], [ @.str.2, %2324 ]
  store i32 %2319, ptr %278, 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 %224, align 4, !tbaa !5
  %2333 = call ptr @s2n_strerror(i32 noundef %2332, ptr noundef nonnull @.str.4) #8
  %2334 = load i32, ptr %224, align 4, !tbaa !5
  %2335 = call ptr @s2n_strerror_debug(i32 noundef %2334, ptr noundef nonnull @.str.4) #8
  %2336 = load i32, ptr %278, align 4, !tbaa !5
  %2337 = call ptr @strerror(i32 noundef %2336) #8
  %2338 = load i32, ptr %278, align 4, !tbaa !5
  %2339 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2330, ptr noundef nonnull %.str.5.sink1587, i32 noundef %2331, ptr noundef nonnull @.str.59, ptr noundef nonnull @.str.1, i32 noundef 338, ptr noundef %2333, ptr noundef %2335, ptr noundef %2337, i32 noundef %2338) #10
  call void @exit(i32 noundef 1) #11
  unreachable

2340:                                             ; preds = %2314
  %2341 = load i32, ptr @test_count, align 4, !tbaa !5
  %2342 = add nsw i32 %2341, 1
  store i32 %2342, ptr @test_count, align 4, !tbaa !5
  %2343 = load i32, ptr %20, align 4, !tbaa !5
  %2344 = icmp eq i32 %2343, 5332114
  br i1 %2344, label %2367, label %2345

2345:                                             ; preds = %2340
  %2346 = load i32, ptr %278, align 4, !tbaa !5
  %2347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2348 = call i32 @s2n_print_stacktrace(ptr noundef %2347) #8
  %2349 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2350 = trunc nuw i8 %2349 to i1
  br i1 %2350, label %2351, label %2355

2351:                                             ; preds = %2345
  %2352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2353 = call i32 @fileno(ptr noundef %2352) #8
  %2354 = call i32 @isatty(i32 noundef %2353) #8
  %.not569 = icmp eq i32 %2354, 0
  br i1 %.not569, label %2355, label %2356

2355:                                             ; preds = %2351, %2345
  br label %2356

2356:                                             ; preds = %2351, %2355
  %.str.5.sink1596 = phi ptr [ @.str.5, %2355 ], [ @.str.2, %2351 ]
  store i32 %2346, ptr %278, align 4, !tbaa !5
  %2357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2358 = load i32, ptr @test_count, align 4, !tbaa !5
  %2359 = load i32, ptr %224, align 4, !tbaa !5
  %2360 = call ptr @s2n_strerror(i32 noundef %2359, ptr noundef nonnull @.str.4) #8
  %2361 = load i32, ptr %224, align 4, !tbaa !5
  %2362 = call ptr @s2n_strerror_debug(i32 noundef %2361, ptr noundef nonnull @.str.4) #8
  %2363 = load i32, ptr %278, align 4, !tbaa !5
  %2364 = call ptr @strerror(i32 noundef %2363) #8
  %2365 = load i32, ptr %278, align 4, !tbaa !5
  %2366 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2357, ptr noundef nonnull %.str.5.sink1596, i32 noundef %2358, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.1, i32 noundef 338, ptr noundef %2360, ptr noundef %2362, ptr noundef %2364, i32 noundef %2365) #10
  call void @exit(i32 noundef 1) #11
  unreachable

2367:                                             ; preds = %2340
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %20) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %21) #8
  %2368 = add nsw i32 %2341, 2
  store i32 %2368, ptr @test_count, align 4, !tbaa !5
  %2369 = call i32 @s2n_mul_overflow(i32 noundef 4321, i32 noundef 1234, ptr noundef nonnull %21) #8
  %2370 = icmp eq i32 %2369, -1
  br i1 %2370, label %2371, label %2393

2371:                                             ; preds = %2367
  %2372 = load i32, ptr %278, align 4, !tbaa !5
  %2373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2374 = call i32 @s2n_print_stacktrace(ptr noundef %2373) #8
  %2375 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2376 = trunc nuw i8 %2375 to i1
  br i1 %2376, label %2377, label %2381

2377:                                             ; preds = %2371
  %2378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2379 = call i32 @fileno(ptr noundef %2378) #8
  %2380 = call i32 @isatty(i32 noundef %2379) #8
  %.not740 = icmp eq i32 %2380, 0
  br i1 %.not740, label %2381, label %2382

2381:                                             ; preds = %2377, %2371
  br label %2382

2382:                                             ; preds = %2377, %2381
  %.str.5.sink1605 = phi ptr [ @.str.5, %2381 ], [ @.str.2, %2377 ]
  store i32 %2372, ptr %278, align 4, !tbaa !5
  %2383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2384 = load i32, ptr @test_count, align 4, !tbaa !5
  %2385 = load i32, ptr %224, align 4, !tbaa !5
  %2386 = call ptr @s2n_strerror(i32 noundef %2385, ptr noundef nonnull @.str.4) #8
  %2387 = load i32, ptr %224, align 4, !tbaa !5
  %2388 = call ptr @s2n_strerror_debug(i32 noundef %2387, ptr noundef nonnull @.str.4) #8
  %2389 = load i32, ptr %278, align 4, !tbaa !5
  %2390 = call ptr @strerror(i32 noundef %2389) #8
  %2391 = load i32, ptr %278, align 4, !tbaa !5
  %2392 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2383, ptr noundef nonnull %.str.5.sink1605, i32 noundef %2384, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.1, i32 noundef 338, ptr noundef %2386, ptr noundef %2388, ptr noundef %2390, i32 noundef %2391) #10
  call void @exit(i32 noundef 1) #11
  unreachable

2393:                                             ; preds = %2367
  %2394 = load i32, ptr @test_count, align 4, !tbaa !5
  %2395 = add nsw i32 %2394, 1
  store i32 %2395, ptr @test_count, align 4, !tbaa !5
  %2396 = load i32, ptr %21, align 4, !tbaa !5
  %2397 = icmp eq i32 %2396, 5332114
  br i1 %2397, label %2420, label %2398

2398:                                             ; preds = %2393
  %2399 = load i32, ptr %278, align 4, !tbaa !5
  %2400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2401 = call i32 @s2n_print_stacktrace(ptr noundef %2400) #8
  %2402 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2403 = trunc nuw i8 %2402 to i1
  br i1 %2403, label %2404, label %2408

2404:                                             ; preds = %2398
  %2405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2406 = call i32 @fileno(ptr noundef %2405) #8
  %2407 = call i32 @isatty(i32 noundef %2406) #8
  %.not570 = icmp eq i32 %2407, 0
  br i1 %.not570, label %2408, label %2409

2408:                                             ; preds = %2404, %2398
  br label %2409

2409:                                             ; preds = %2404, %2408
  %.str.5.sink1614 = phi ptr [ @.str.5, %2408 ], [ @.str.2, %2404 ]
  store i32 %2399, ptr %278, align 4, !tbaa !5
  %2410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2411 = load i32, ptr @test_count, align 4, !tbaa !5
  %2412 = load i32, ptr %224, align 4, !tbaa !5
  %2413 = call ptr @s2n_strerror(i32 noundef %2412, ptr noundef nonnull @.str.4) #8
  %2414 = load i32, ptr %224, align 4, !tbaa !5
  %2415 = call ptr @s2n_strerror_debug(i32 noundef %2414, ptr noundef nonnull @.str.4) #8
  %2416 = load i32, ptr %278, align 4, !tbaa !5
  %2417 = call ptr @strerror(i32 noundef %2416) #8
  %2418 = load i32, ptr %278, align 4, !tbaa !5
  %2419 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2410, ptr noundef nonnull %.str.5.sink1614, i32 noundef %2411, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.1, i32 noundef 338, ptr noundef %2413, ptr noundef %2415, ptr noundef %2417, i32 noundef %2418) #10
  call void @exit(i32 noundef 1) #11
  unreachable

2420:                                             ; preds = %2393
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %21) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %22) #8
  %2421 = add nsw i32 %2394, 2
  store i32 %2421, ptr @test_count, align 4, !tbaa !5
  %2422 = call i32 @s2n_mul_overflow(i32 noundef -1, i32 noundef 1, ptr noundef nonnull %22) #8
  %2423 = icmp eq i32 %2422, -1
  br i1 %2423, label %2424, label %2446

2424:                                             ; preds = %2420
  %2425 = load i32, ptr %278, align 4, !tbaa !5
  %2426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2427 = call i32 @s2n_print_stacktrace(ptr noundef %2426) #8
  %2428 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2429 = trunc nuw i8 %2428 to i1
  br i1 %2429, label %2430, label %2434

2430:                                             ; preds = %2424
  %2431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2432 = call i32 @fileno(ptr noundef %2431) #8
  %2433 = call i32 @isatty(i32 noundef %2432) #8
  %.not739 = icmp eq i32 %2433, 0
  br i1 %.not739, label %2434, label %2435

2434:                                             ; preds = %2430, %2424
  br label %2435

2435:                                             ; preds = %2430, %2434
  %.str.5.sink1623 = phi ptr [ @.str.5, %2434 ], [ @.str.2, %2430 ]
  store i32 %2425, ptr %278, align 4, !tbaa !5
  %2436 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2437 = load i32, ptr @test_count, align 4, !tbaa !5
  %2438 = load i32, ptr %224, align 4, !tbaa !5
  %2439 = call ptr @s2n_strerror(i32 noundef %2438, ptr noundef nonnull @.str.4) #8
  %2440 = load i32, ptr %224, align 4, !tbaa !5
  %2441 = call ptr @s2n_strerror_debug(i32 noundef %2440, ptr noundef nonnull @.str.4) #8
  %2442 = load i32, ptr %278, align 4, !tbaa !5
  %2443 = call ptr @strerror(i32 noundef %2442) #8
  %2444 = load i32, ptr %278, align 4, !tbaa !5
  %2445 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2436, ptr noundef nonnull %.str.5.sink1623, i32 noundef %2437, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.1, i32 noundef 340, ptr noundef %2439, ptr noundef %2441, ptr noundef %2443, i32 noundef %2444) #10
  call void @exit(i32 noundef 1) #11
  unreachable

2446:                                             ; preds = %2420
  %2447 = load i32, ptr @test_count, align 4, !tbaa !5
  %2448 = add nsw i32 %2447, 1
  store i32 %2448, ptr @test_count, align 4, !tbaa !5
  %2449 = load i32, ptr %22, align 4, !tbaa !5
  %2450 = icmp eq i32 %2449, -1
  br i1 %2450, label %2473, label %2451

2451:                                             ; preds = %2446
  %2452 = load i32, ptr %278, align 4, !tbaa !5
  %2453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2454 = call i32 @s2n_print_stacktrace(ptr noundef %2453) #8
  %2455 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2456 = trunc nuw i8 %2455 to i1
  br i1 %2456, label %2457, label %2461

2457:                                             ; preds = %2451
  %2458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2459 = call i32 @fileno(ptr noundef %2458) #8
  %2460 = call i32 @isatty(i32 noundef %2459) #8
  %.not571 = icmp eq i32 %2460, 0
  br i1 %.not571, label %2461, label %2462

2461:                                             ; preds = %2457, %2451
  br label %2462

2462:                                             ; preds = %2457, %2461
  %.str.5.sink1632 = phi ptr [ @.str.5, %2461 ], [ @.str.2, %2457 ]
  store i32 %2452, ptr %278, align 4, !tbaa !5
  %2463 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2464 = load i32, ptr @test_count, align 4, !tbaa !5
  %2465 = load i32, ptr %224, align 4, !tbaa !5
  %2466 = call ptr @s2n_strerror(i32 noundef %2465, ptr noundef nonnull @.str.4) #8
  %2467 = load i32, ptr %224, align 4, !tbaa !5
  %2468 = call ptr @s2n_strerror_debug(i32 noundef %2467, ptr noundef nonnull @.str.4) #8
  %2469 = load i32, ptr %278, align 4, !tbaa !5
  %2470 = call ptr @strerror(i32 noundef %2469) #8
  %2471 = load i32, ptr %278, align 4, !tbaa !5
  %2472 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2463, ptr noundef nonnull %.str.5.sink1632, i32 noundef %2464, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.1, i32 noundef 340, ptr noundef %2466, ptr noundef %2468, ptr noundef %2470, i32 noundef %2471) #10
  call void @exit(i32 noundef 1) #11
  unreachable

2473:                                             ; preds = %2446
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %22) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %23) #8
  %2474 = add nsw i32 %2447, 2
  store i32 %2474, ptr @test_count, align 4, !tbaa !5
  %2475 = call i32 @s2n_mul_overflow(i32 noundef 1, i32 noundef -1, ptr noundef nonnull %23) #8
  %2476 = icmp eq i32 %2475, -1
  br i1 %2476, label %2477, label %2499

2477:                                             ; preds = %2473
  %2478 = load i32, ptr %278, align 4, !tbaa !5
  %2479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2480 = call i32 @s2n_print_stacktrace(ptr noundef %2479) #8
  %2481 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2482 = trunc nuw i8 %2481 to i1
  br i1 %2482, label %2483, label %2487

2483:                                             ; preds = %2477
  %2484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2485 = call i32 @fileno(ptr noundef %2484) #8
  %2486 = call i32 @isatty(i32 noundef %2485) #8
  %.not738 = icmp eq i32 %2486, 0
  br i1 %.not738, label %2487, label %2488

2487:                                             ; preds = %2483, %2477
  br label %2488

2488:                                             ; preds = %2483, %2487
  %.str.5.sink1641 = phi ptr [ @.str.5, %2487 ], [ @.str.2, %2483 ]
  store i32 %2478, ptr %278, align 4, !tbaa !5
  %2489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2490 = load i32, ptr @test_count, align 4, !tbaa !5
  %2491 = load i32, ptr %224, align 4, !tbaa !5
  %2492 = call ptr @s2n_strerror(i32 noundef %2491, ptr noundef nonnull @.str.4) #8
  %2493 = load i32, ptr %224, align 4, !tbaa !5
  %2494 = call ptr @s2n_strerror_debug(i32 noundef %2493, ptr noundef nonnull @.str.4) #8
  %2495 = load i32, ptr %278, align 4, !tbaa !5
  %2496 = call ptr @strerror(i32 noundef %2495) #8
  %2497 = load i32, ptr %278, align 4, !tbaa !5
  %2498 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2489, ptr noundef nonnull %.str.5.sink1641, i32 noundef %2490, ptr noundef nonnull @.str.64, ptr noundef nonnull @.str.1, i32 noundef 340, ptr noundef %2492, ptr noundef %2494, ptr noundef %2496, i32 noundef %2497) #10
  call void @exit(i32 noundef 1) #11
  unreachable

2499:                                             ; preds = %2473
  %2500 = load i32, ptr @test_count, align 4, !tbaa !5
  %2501 = add nsw i32 %2500, 1
  store i32 %2501, ptr @test_count, align 4, !tbaa !5
  %2502 = load i32, ptr %23, align 4, !tbaa !5
  %2503 = icmp eq i32 %2502, -1
  br i1 %2503, label %2526, label %2504

2504:                                             ; preds = %2499
  %2505 = load i32, ptr %278, align 4, !tbaa !5
  %2506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2507 = call i32 @s2n_print_stacktrace(ptr noundef %2506) #8
  %2508 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2509 = trunc nuw i8 %2508 to i1
  br i1 %2509, label %2510, label %2514

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

2514:                                             ; preds = %2510, %2504
  br label %2515

2515:                                             ; preds = %2510, %2514
  %.str.5.sink1650 = phi ptr [ @.str.5, %2514 ], [ @.str.2, %2510 ]
  store i32 %2505, ptr %278, align 4, !tbaa !5
  %2516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2517 = load i32, ptr @test_count, align 4, !tbaa !5
  %2518 = load i32, ptr %224, align 4, !tbaa !5
  %2519 = call ptr @s2n_strerror(i32 noundef %2518, ptr noundef nonnull @.str.4) #8
  %2520 = load i32, ptr %224, align 4, !tbaa !5
  %2521 = call ptr @s2n_strerror_debug(i32 noundef %2520, ptr noundef nonnull @.str.4) #8
  %2522 = load i32, ptr %278, align 4, !tbaa !5
  %2523 = call ptr @strerror(i32 noundef %2522) #8
  %2524 = load i32, ptr %278, align 4, !tbaa !5
  %2525 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2516, ptr noundef nonnull %.str.5.sink1650, i32 noundef %2517, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.1, i32 noundef 340, ptr noundef %2519, ptr noundef %2521, ptr noundef %2523, i32 noundef %2524) #10
  call void @exit(i32 noundef 1) #11
  unreachable

2526:                                             ; preds = %2499
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %23) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %24) #8
  %2527 = add nsw i32 %2500, 2
  store i32 %2527, ptr @test_count, align 4, !tbaa !5
  %2528 = call i32 @s2n_mul_overflow(i32 noundef 65535, i32 noundef 1, ptr noundef nonnull %24) #8
  %2529 = icmp eq i32 %2528, -1
  br i1 %2529, label %2530, label %2552

2530:                                             ; preds = %2526
  %2531 = load i32, ptr %278, align 4, !tbaa !5
  %2532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2533 = call i32 @s2n_print_stacktrace(ptr noundef %2532) #8
  %2534 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2535 = trunc nuw i8 %2534 to i1
  br i1 %2535, label %2536, label %2540

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

2540:                                             ; preds = %2536, %2530
  br label %2541

2541:                                             ; preds = %2536, %2540
  %.str.5.sink1659 = phi ptr [ @.str.5, %2540 ], [ @.str.2, %2536 ]
  store i32 %2531, ptr %278, align 4, !tbaa !5
  %2542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2543 = load i32, ptr @test_count, align 4, !tbaa !5
  %2544 = load i32, ptr %224, align 4, !tbaa !5
  %2545 = call ptr @s2n_strerror(i32 noundef %2544, ptr noundef nonnull @.str.4) #8
  %2546 = load i32, ptr %224, align 4, !tbaa !5
  %2547 = call ptr @s2n_strerror_debug(i32 noundef %2546, ptr noundef nonnull @.str.4) #8
  %2548 = load i32, ptr %278, align 4, !tbaa !5
  %2549 = call ptr @strerror(i32 noundef %2548) #8
  %2550 = load i32, ptr %278, align 4, !tbaa !5
  %2551 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2542, ptr noundef nonnull %.str.5.sink1659, i32 noundef %2543, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.1, i32 noundef 341, ptr noundef %2545, ptr noundef %2547, ptr noundef %2549, i32 noundef %2550) #10
  call void @exit(i32 noundef 1) #11
  unreachable

2552:                                             ; preds = %2526
  %2553 = load i32, ptr @test_count, align 4, !tbaa !5
  %2554 = add nsw i32 %2553, 1
  store i32 %2554, ptr @test_count, align 4, !tbaa !5
  %2555 = load i32, ptr %24, align 4, !tbaa !5
  %2556 = icmp eq i32 %2555, 65535
  br i1 %2556, label %2579, label %2557

2557:                                             ; preds = %2552
  %2558 = load i32, ptr %278, align 4, !tbaa !5
  %2559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2560 = call i32 @s2n_print_stacktrace(ptr noundef %2559) #8
  %2561 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2562 = trunc nuw i8 %2561 to i1
  br i1 %2562, label %2563, label %2567

2563:                                             ; preds = %2557
  %2564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2565 = call i32 @fileno(ptr noundef %2564) #8
  %2566 = call i32 @isatty(i32 noundef %2565) #8
  %.not573 = icmp eq i32 %2566, 0
  br i1 %.not573, label %2567, label %2568

2567:                                             ; preds = %2563, %2557
  br label %2568

2568:                                             ; preds = %2563, %2567
  %.str.5.sink1668 = phi ptr [ @.str.5, %2567 ], [ @.str.2, %2563 ]
  store i32 %2558, ptr %278, align 4, !tbaa !5
  %2569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2570 = load i32, ptr @test_count, align 4, !tbaa !5
  %2571 = load i32, ptr %224, align 4, !tbaa !5
  %2572 = call ptr @s2n_strerror(i32 noundef %2571, ptr noundef nonnull @.str.4) #8
  %2573 = load i32, ptr %224, align 4, !tbaa !5
  %2574 = call ptr @s2n_strerror_debug(i32 noundef %2573, ptr noundef nonnull @.str.4) #8
  %2575 = load i32, ptr %278, align 4, !tbaa !5
  %2576 = call ptr @strerror(i32 noundef %2575) #8
  %2577 = load i32, ptr %278, align 4, !tbaa !5
  %2578 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2569, ptr noundef nonnull %.str.5.sink1668, i32 noundef %2570, ptr noundef nonnull @.str.66, ptr noundef nonnull @.str.1, i32 noundef 341, ptr noundef %2572, ptr noundef %2574, ptr noundef %2576, i32 noundef %2577) #10
  call void @exit(i32 noundef 1) #11
  unreachable

2579:                                             ; preds = %2552
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %24) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %25) #8
  %2580 = add nsw i32 %2553, 2
  store i32 %2580, ptr @test_count, align 4, !tbaa !5
  %2581 = call i32 @s2n_mul_overflow(i32 noundef 1, i32 noundef 65535, ptr noundef nonnull %25) #8
  %2582 = icmp eq i32 %2581, -1
  br i1 %2582, label %2583, label %2605

2583:                                             ; preds = %2579
  %2584 = load i32, ptr %278, align 4, !tbaa !5
  %2585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2586 = call i32 @s2n_print_stacktrace(ptr noundef %2585) #8
  %2587 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2588 = trunc nuw i8 %2587 to i1
  br i1 %2588, label %2589, label %2593

2589:                                             ; preds = %2583
  %2590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2591 = call i32 @fileno(ptr noundef %2590) #8
  %2592 = call i32 @isatty(i32 noundef %2591) #8
  %.not736 = icmp eq i32 %2592, 0
  br i1 %.not736, label %2593, label %2594

2593:                                             ; preds = %2589, %2583
  br label %2594

2594:                                             ; preds = %2589, %2593
  %.str.5.sink1677 = phi ptr [ @.str.5, %2593 ], [ @.str.2, %2589 ]
  store i32 %2584, ptr %278, align 4, !tbaa !5
  %2595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2596 = load i32, ptr @test_count, align 4, !tbaa !5
  %2597 = load i32, ptr %224, align 4, !tbaa !5
  %2598 = call ptr @s2n_strerror(i32 noundef %2597, ptr noundef nonnull @.str.4) #8
  %2599 = load i32, ptr %224, align 4, !tbaa !5
  %2600 = call ptr @s2n_strerror_debug(i32 noundef %2599, ptr noundef nonnull @.str.4) #8
  %2601 = load i32, ptr %278, align 4, !tbaa !5
  %2602 = call ptr @strerror(i32 noundef %2601) #8
  %2603 = load i32, ptr %278, align 4, !tbaa !5
  %2604 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2595, ptr noundef nonnull %.str.5.sink1677, i32 noundef %2596, ptr noundef nonnull @.str.67, ptr noundef nonnull @.str.1, i32 noundef 341, ptr noundef %2598, ptr noundef %2600, ptr noundef %2602, i32 noundef %2603) #10
  call void @exit(i32 noundef 1) #11
  unreachable

2605:                                             ; preds = %2579
  %2606 = load i32, ptr @test_count, align 4, !tbaa !5
  %2607 = add nsw i32 %2606, 1
  store i32 %2607, ptr @test_count, align 4, !tbaa !5
  %2608 = load i32, ptr %25, align 4, !tbaa !5
  %2609 = icmp eq i32 %2608, 65535
  br i1 %2609, label %2632, label %2610

2610:                                             ; preds = %2605
  %2611 = load i32, ptr %278, align 4, !tbaa !5
  %2612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2613 = call i32 @s2n_print_stacktrace(ptr noundef %2612) #8
  %2614 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2615 = trunc nuw i8 %2614 to i1
  br i1 %2615, label %2616, label %2620

2616:                                             ; preds = %2610
  %2617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2618 = call i32 @fileno(ptr noundef %2617) #8
  %2619 = call i32 @isatty(i32 noundef %2618) #8
  %.not574 = icmp eq i32 %2619, 0
  br i1 %.not574, label %2620, label %2621

2620:                                             ; preds = %2616, %2610
  br label %2621

2621:                                             ; preds = %2616, %2620
  %.str.5.sink1686 = phi ptr [ @.str.5, %2620 ], [ @.str.2, %2616 ]
  store i32 %2611, ptr %278, align 4, !tbaa !5
  %2622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2623 = load i32, ptr @test_count, align 4, !tbaa !5
  %2624 = load i32, ptr %224, align 4, !tbaa !5
  %2625 = call ptr @s2n_strerror(i32 noundef %2624, ptr noundef nonnull @.str.4) #8
  %2626 = load i32, ptr %224, align 4, !tbaa !5
  %2627 = call ptr @s2n_strerror_debug(i32 noundef %2626, ptr noundef nonnull @.str.4) #8
  %2628 = load i32, ptr %278, align 4, !tbaa !5
  %2629 = call ptr @strerror(i32 noundef %2628) #8
  %2630 = load i32, ptr %278, align 4, !tbaa !5
  %2631 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2622, ptr noundef nonnull %.str.5.sink1686, i32 noundef %2623, ptr noundef nonnull @.str.66, ptr noundef nonnull @.str.1, i32 noundef 341, ptr noundef %2625, ptr noundef %2627, ptr noundef %2629, i32 noundef %2630) #10
  call void @exit(i32 noundef 1) #11
  unreachable

2632:                                             ; preds = %2605
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %25) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %26) #8
  %2633 = add nsw i32 %2606, 2
  store i32 %2633, ptr @test_count, align 4, !tbaa !5
  %2634 = call i32 @s2n_mul_overflow(i32 noundef 65535, i32 noundef 65535, ptr noundef nonnull %26) #8
  %2635 = icmp eq i32 %2634, -1
  br i1 %2635, label %2636, label %2658

2636:                                             ; preds = %2632
  %2637 = load i32, ptr %278, align 4, !tbaa !5
  %2638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2639 = call i32 @s2n_print_stacktrace(ptr noundef %2638) #8
  %2640 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2641 = trunc nuw i8 %2640 to i1
  br i1 %2641, label %2642, label %2646

2642:                                             ; preds = %2636
  %2643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2644 = call i32 @fileno(ptr noundef %2643) #8
  %2645 = call i32 @isatty(i32 noundef %2644) #8
  %.not735 = icmp eq i32 %2645, 0
  br i1 %.not735, label %2646, label %2647

2646:                                             ; preds = %2642, %2636
  br label %2647

2647:                                             ; preds = %2642, %2646
  %.str.5.sink1695 = phi ptr [ @.str.5, %2646 ], [ @.str.2, %2642 ]
  store i32 %2637, ptr %278, align 4, !tbaa !5
  %2648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2649 = load i32, ptr @test_count, align 4, !tbaa !5
  %2650 = load i32, ptr %224, align 4, !tbaa !5
  %2651 = call ptr @s2n_strerror(i32 noundef %2650, ptr noundef nonnull @.str.4) #8
  %2652 = load i32, ptr %224, align 4, !tbaa !5
  %2653 = call ptr @s2n_strerror_debug(i32 noundef %2652, ptr noundef nonnull @.str.4) #8
  %2654 = load i32, ptr %278, align 4, !tbaa !5
  %2655 = call ptr @strerror(i32 noundef %2654) #8
  %2656 = load i32, ptr %278, align 4, !tbaa !5
  %2657 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2648, ptr noundef nonnull %.str.5.sink1695, i32 noundef %2649, ptr noundef nonnull @.str.68, ptr noundef nonnull @.str.1, i32 noundef 342, ptr noundef %2651, ptr noundef %2653, ptr noundef %2655, i32 noundef %2656) #10
  call void @exit(i32 noundef 1) #11
  unreachable

2658:                                             ; preds = %2632
  %2659 = load i32, ptr @test_count, align 4, !tbaa !5
  %2660 = add nsw i32 %2659, 1
  store i32 %2660, ptr @test_count, align 4, !tbaa !5
  %2661 = load i32, ptr %26, align 4, !tbaa !5
  %2662 = icmp eq i32 %2661, -131071
  br i1 %2662, label %2685, label %2663

2663:                                             ; preds = %2658
  %2664 = load i32, ptr %278, align 4, !tbaa !5
  %2665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2666 = call i32 @s2n_print_stacktrace(ptr noundef %2665) #8
  %2667 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2668 = trunc nuw i8 %2667 to i1
  br i1 %2668, label %2669, label %2673

2669:                                             ; preds = %2663
  %2670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2671 = call i32 @fileno(ptr noundef %2670) #8
  %2672 = call i32 @isatty(i32 noundef %2671) #8
  %.not575 = icmp eq i32 %2672, 0
  br i1 %.not575, label %2673, label %2674

2673:                                             ; preds = %2669, %2663
  br label %2674

2674:                                             ; preds = %2669, %2673
  %.str.5.sink1704 = phi ptr [ @.str.5, %2673 ], [ @.str.2, %2669 ]
  store i32 %2664, ptr %278, align 4, !tbaa !5
  %2675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2676 = load i32, ptr @test_count, align 4, !tbaa !5
  %2677 = load i32, ptr %224, align 4, !tbaa !5
  %2678 = call ptr @s2n_strerror(i32 noundef %2677, ptr noundef nonnull @.str.4) #8
  %2679 = load i32, ptr %224, align 4, !tbaa !5
  %2680 = call ptr @s2n_strerror_debug(i32 noundef %2679, ptr noundef nonnull @.str.4) #8
  %2681 = load i32, ptr %278, align 4, !tbaa !5
  %2682 = call ptr @strerror(i32 noundef %2681) #8
  %2683 = load i32, ptr %278, align 4, !tbaa !5
  %2684 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2675, ptr noundef nonnull %.str.5.sink1704, i32 noundef %2676, ptr noundef nonnull @.str.69, ptr noundef nonnull @.str.1, i32 noundef 342, ptr noundef %2678, ptr noundef %2680, ptr noundef %2682, i32 noundef %2683) #10
  call void @exit(i32 noundef 1) #11
  unreachable

2685:                                             ; preds = %2658
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %26) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %27) #8
  %2686 = add nsw i32 %2659, 2
  store i32 %2686, ptr @test_count, align 4, !tbaa !5
  %2687 = call i32 @s2n_mul_overflow(i32 noundef 65535, i32 noundef 65535, ptr noundef nonnull %27) #8
  %2688 = icmp eq i32 %2687, -1
  br i1 %2688, label %2689, label %2711

2689:                                             ; preds = %2685
  %2690 = load i32, ptr %278, align 4, !tbaa !5
  %2691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2692 = call i32 @s2n_print_stacktrace(ptr noundef %2691) #8
  %2693 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2694 = trunc nuw i8 %2693 to i1
  br i1 %2694, label %2695, label %2699

2695:                                             ; preds = %2689
  %2696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2697 = call i32 @fileno(ptr noundef %2696) #8
  %2698 = call i32 @isatty(i32 noundef %2697) #8
  %.not734 = icmp eq i32 %2698, 0
  br i1 %.not734, label %2699, label %2700

2699:                                             ; preds = %2695, %2689
  br label %2700

2700:                                             ; preds = %2695, %2699
  %.str.5.sink1713 = phi ptr [ @.str.5, %2699 ], [ @.str.2, %2695 ]
  store i32 %2690, ptr %278, align 4, !tbaa !5
  %2701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2702 = load i32, ptr @test_count, align 4, !tbaa !5
  %2703 = load i32, ptr %224, align 4, !tbaa !5
  %2704 = call ptr @s2n_strerror(i32 noundef %2703, ptr noundef nonnull @.str.4) #8
  %2705 = load i32, ptr %224, align 4, !tbaa !5
  %2706 = call ptr @s2n_strerror_debug(i32 noundef %2705, ptr noundef nonnull @.str.4) #8
  %2707 = load i32, ptr %278, align 4, !tbaa !5
  %2708 = call ptr @strerror(i32 noundef %2707) #8
  %2709 = load i32, ptr %278, align 4, !tbaa !5
  %2710 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2701, ptr noundef nonnull %.str.5.sink1713, i32 noundef %2702, ptr noundef nonnull @.str.68, ptr noundef nonnull @.str.1, i32 noundef 342, ptr noundef %2704, ptr noundef %2706, ptr noundef %2708, i32 noundef %2709) #10
  call void @exit(i32 noundef 1) #11
  unreachable

2711:                                             ; preds = %2685
  %2712 = load i32, ptr @test_count, align 4, !tbaa !5
  %2713 = add nsw i32 %2712, 1
  store i32 %2713, ptr @test_count, align 4, !tbaa !5
  %2714 = load i32, ptr %27, align 4, !tbaa !5
  %2715 = icmp eq i32 %2714, -131071
  br i1 %2715, label %2738, label %2716

2716:                                             ; preds = %2711
  %2717 = load i32, ptr %278, align 4, !tbaa !5
  %2718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2719 = call i32 @s2n_print_stacktrace(ptr noundef %2718) #8
  %2720 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2721 = trunc nuw i8 %2720 to i1
  br i1 %2721, label %2722, label %2726

2722:                                             ; preds = %2716
  %2723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2724 = call i32 @fileno(ptr noundef %2723) #8
  %2725 = call i32 @isatty(i32 noundef %2724) #8
  %.not576 = icmp eq i32 %2725, 0
  br i1 %.not576, label %2726, label %2727

2726:                                             ; preds = %2722, %2716
  br label %2727

2727:                                             ; preds = %2722, %2726
  %.str.5.sink1722 = phi ptr [ @.str.5, %2726 ], [ @.str.2, %2722 ]
  store i32 %2717, ptr %278, align 4, !tbaa !5
  %2728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2729 = load i32, ptr @test_count, align 4, !tbaa !5
  %2730 = load i32, ptr %224, align 4, !tbaa !5
  %2731 = call ptr @s2n_strerror(i32 noundef %2730, ptr noundef nonnull @.str.4) #8
  %2732 = load i32, ptr %224, align 4, !tbaa !5
  %2733 = call ptr @s2n_strerror_debug(i32 noundef %2732, ptr noundef nonnull @.str.4) #8
  %2734 = load i32, ptr %278, align 4, !tbaa !5
  %2735 = call ptr @strerror(i32 noundef %2734) #8
  %2736 = load i32, ptr %278, align 4, !tbaa !5
  %2737 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2728, ptr noundef nonnull %.str.5.sink1722, i32 noundef %2729, ptr noundef nonnull @.str.69, ptr noundef nonnull @.str.1, i32 noundef 342, ptr noundef %2731, ptr noundef %2733, ptr noundef %2735, i32 noundef %2736) #10
  call void @exit(i32 noundef 1) #11
  unreachable

2738:                                             ; preds = %2711
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %27) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %28) #8
  %2739 = add nsw i32 %2712, 2
  store i32 %2739, ptr @test_count, align 4, !tbaa !5
  %2740 = call i32 @s2n_mul_overflow(i32 noundef 65536, i32 noundef 65535, ptr noundef nonnull %28) #8
  %2741 = icmp eq i32 %2740, -1
  br i1 %2741, label %2742, label %2764

2742:                                             ; preds = %2738
  %2743 = load i32, ptr %278, align 4, !tbaa !5
  %2744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2745 = call i32 @s2n_print_stacktrace(ptr noundef %2744) #8
  %2746 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2747 = trunc nuw i8 %2746 to i1
  br i1 %2747, label %2748, label %2752

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

2752:                                             ; preds = %2748, %2742
  br label %2753

2753:                                             ; preds = %2748, %2752
  %.str.5.sink1731 = phi ptr [ @.str.5, %2752 ], [ @.str.2, %2748 ]
  store i32 %2743, ptr %278, align 4, !tbaa !5
  %2754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2755 = load i32, ptr @test_count, align 4, !tbaa !5
  %2756 = load i32, ptr %224, align 4, !tbaa !5
  %2757 = call ptr @s2n_strerror(i32 noundef %2756, ptr noundef nonnull @.str.4) #8
  %2758 = load i32, ptr %224, align 4, !tbaa !5
  %2759 = call ptr @s2n_strerror_debug(i32 noundef %2758, ptr noundef nonnull @.str.4) #8
  %2760 = load i32, ptr %278, align 4, !tbaa !5
  %2761 = call ptr @strerror(i32 noundef %2760) #8
  %2762 = load i32, ptr %278, align 4, !tbaa !5
  %2763 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2754, ptr noundef nonnull %.str.5.sink1731, i32 noundef %2755, ptr noundef nonnull @.str.70, ptr noundef nonnull @.str.1, i32 noundef 343, ptr noundef %2757, ptr noundef %2759, ptr noundef %2761, i32 noundef %2762) #10
  call void @exit(i32 noundef 1) #11
  unreachable

2764:                                             ; preds = %2738
  %2765 = load i32, ptr @test_count, align 4, !tbaa !5
  %2766 = add nsw i32 %2765, 1
  store i32 %2766, ptr @test_count, align 4, !tbaa !5
  %2767 = load i32, ptr %28, align 4, !tbaa !5
  %2768 = icmp eq i32 %2767, -65536
  br i1 %2768, label %2791, label %2769

2769:                                             ; preds = %2764
  %2770 = load i32, ptr %278, align 4, !tbaa !5
  %2771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2772 = call i32 @s2n_print_stacktrace(ptr noundef %2771) #8
  %2773 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2774 = trunc nuw i8 %2773 to i1
  br i1 %2774, label %2775, label %2779

2775:                                             ; preds = %2769
  %2776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2777 = call i32 @fileno(ptr noundef %2776) #8
  %2778 = call i32 @isatty(i32 noundef %2777) #8
  %.not577 = icmp eq i32 %2778, 0
  br i1 %.not577, label %2779, label %2780

2779:                                             ; preds = %2775, %2769
  br label %2780

2780:                                             ; preds = %2775, %2779
  %.str.5.sink1740 = phi ptr [ @.str.5, %2779 ], [ @.str.2, %2775 ]
  store i32 %2770, ptr %278, align 4, !tbaa !5
  %2781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2782 = load i32, ptr @test_count, align 4, !tbaa !5
  %2783 = load i32, ptr %224, align 4, !tbaa !5
  %2784 = call ptr @s2n_strerror(i32 noundef %2783, ptr noundef nonnull @.str.4) #8
  %2785 = load i32, ptr %224, align 4, !tbaa !5
  %2786 = call ptr @s2n_strerror_debug(i32 noundef %2785, ptr noundef nonnull @.str.4) #8
  %2787 = load i32, ptr %278, align 4, !tbaa !5
  %2788 = call ptr @strerror(i32 noundef %2787) #8
  %2789 = load i32, ptr %278, align 4, !tbaa !5
  %2790 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2781, ptr noundef nonnull %.str.5.sink1740, i32 noundef %2782, ptr noundef nonnull @.str.71, ptr noundef nonnull @.str.1, i32 noundef 343, ptr noundef %2784, ptr noundef %2786, ptr noundef %2788, i32 noundef %2789) #10
  call void @exit(i32 noundef 1) #11
  unreachable

2791:                                             ; preds = %2764
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %28) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %29) #8
  %2792 = add nsw i32 %2765, 2
  store i32 %2792, ptr @test_count, align 4, !tbaa !5
  %2793 = call i32 @s2n_mul_overflow(i32 noundef 65535, i32 noundef 65536, ptr noundef nonnull %29) #8
  %2794 = icmp eq i32 %2793, -1
  br i1 %2794, label %2795, label %2817

2795:                                             ; preds = %2791
  %2796 = load i32, ptr %278, align 4, !tbaa !5
  %2797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2798 = call i32 @s2n_print_stacktrace(ptr noundef %2797) #8
  %2799 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2800 = trunc nuw i8 %2799 to i1
  br i1 %2800, label %2801, label %2805

2801:                                             ; preds = %2795
  %2802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2803 = call i32 @fileno(ptr noundef %2802) #8
  %2804 = call i32 @isatty(i32 noundef %2803) #8
  %.not732 = icmp eq i32 %2804, 0
  br i1 %.not732, label %2805, label %2806

2805:                                             ; preds = %2801, %2795
  br label %2806

2806:                                             ; preds = %2801, %2805
  %.str.5.sink1749 = phi ptr [ @.str.5, %2805 ], [ @.str.2, %2801 ]
  store i32 %2796, ptr %278, align 4, !tbaa !5
  %2807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2808 = load i32, ptr @test_count, align 4, !tbaa !5
  %2809 = load i32, ptr %224, align 4, !tbaa !5
  %2810 = call ptr @s2n_strerror(i32 noundef %2809, ptr noundef nonnull @.str.4) #8
  %2811 = load i32, ptr %224, align 4, !tbaa !5
  %2812 = call ptr @s2n_strerror_debug(i32 noundef %2811, ptr noundef nonnull @.str.4) #8
  %2813 = load i32, ptr %278, align 4, !tbaa !5
  %2814 = call ptr @strerror(i32 noundef %2813) #8
  %2815 = load i32, ptr %278, align 4, !tbaa !5
  %2816 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2807, ptr noundef nonnull %.str.5.sink1749, i32 noundef %2808, ptr noundef nonnull @.str.72, ptr noundef nonnull @.str.1, i32 noundef 343, ptr noundef %2810, ptr noundef %2812, ptr noundef %2814, i32 noundef %2815) #10
  call void @exit(i32 noundef 1) #11
  unreachable

2817:                                             ; preds = %2791
  %2818 = load i32, ptr @test_count, align 4, !tbaa !5
  %2819 = add nsw i32 %2818, 1
  store i32 %2819, ptr @test_count, align 4, !tbaa !5
  %2820 = load i32, ptr %29, align 4, !tbaa !5
  %2821 = icmp eq i32 %2820, -65536
  br i1 %2821, label %2844, label %2822

2822:                                             ; preds = %2817
  %2823 = load i32, ptr %278, align 4, !tbaa !5
  %2824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2825 = call i32 @s2n_print_stacktrace(ptr noundef %2824) #8
  %2826 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2827 = trunc nuw i8 %2826 to i1
  br i1 %2827, label %2828, label %2832

2828:                                             ; preds = %2822
  %2829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2830 = call i32 @fileno(ptr noundef %2829) #8
  %2831 = call i32 @isatty(i32 noundef %2830) #8
  %.not578 = icmp eq i32 %2831, 0
  br i1 %.not578, label %2832, label %2833

2832:                                             ; preds = %2828, %2822
  br label %2833

2833:                                             ; preds = %2828, %2832
  %.str.5.sink1758 = phi ptr [ @.str.5, %2832 ], [ @.str.2, %2828 ]
  store i32 %2823, ptr %278, align 4, !tbaa !5
  %2834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2835 = load i32, ptr @test_count, align 4, !tbaa !5
  %2836 = load i32, ptr %224, align 4, !tbaa !5
  %2837 = call ptr @s2n_strerror(i32 noundef %2836, ptr noundef nonnull @.str.4) #8
  %2838 = load i32, ptr %224, align 4, !tbaa !5
  %2839 = call ptr @s2n_strerror_debug(i32 noundef %2838, ptr noundef nonnull @.str.4) #8
  %2840 = load i32, ptr %278, align 4, !tbaa !5
  %2841 = call ptr @strerror(i32 noundef %2840) #8
  %2842 = load i32, ptr %278, align 4, !tbaa !5
  %2843 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2834, ptr noundef nonnull %.str.5.sink1758, i32 noundef %2835, ptr noundef nonnull @.str.71, ptr noundef nonnull @.str.1, i32 noundef 343, ptr noundef %2837, ptr noundef %2839, ptr noundef %2841, i32 noundef %2842) #10
  call void @exit(i32 noundef 1) #11
  unreachable

2844:                                             ; preds = %2817
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %29) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %30) #8
  %2845 = add nsw i32 %2818, 2
  store i32 %2845, ptr @test_count, align 4, !tbaa !5
  %2846 = call i32 @s2n_mul_overflow(i32 noundef 65537, i32 noundef 65535, ptr noundef nonnull %30) #8
  %2847 = icmp eq i32 %2846, -1
  br i1 %2847, label %2848, label %2870

2848:                                             ; preds = %2844
  %2849 = load i32, ptr %278, align 4, !tbaa !5
  %2850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2851 = call i32 @s2n_print_stacktrace(ptr noundef %2850) #8
  %2852 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2853 = trunc nuw i8 %2852 to i1
  br i1 %2853, label %2854, label %2858

2854:                                             ; preds = %2848
  %2855 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2856 = call i32 @fileno(ptr noundef %2855) #8
  %2857 = call i32 @isatty(i32 noundef %2856) #8
  %.not731 = icmp eq i32 %2857, 0
  br i1 %.not731, label %2858, label %2859

2858:                                             ; preds = %2854, %2848
  br label %2859

2859:                                             ; preds = %2854, %2858
  %.str.5.sink1767 = phi ptr [ @.str.5, %2858 ], [ @.str.2, %2854 ]
  store i32 %2849, ptr %278, align 4, !tbaa !5
  %2860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2861 = load i32, ptr @test_count, align 4, !tbaa !5
  %2862 = load i32, ptr %224, align 4, !tbaa !5
  %2863 = call ptr @s2n_strerror(i32 noundef %2862, ptr noundef nonnull @.str.4) #8
  %2864 = load i32, ptr %224, align 4, !tbaa !5
  %2865 = call ptr @s2n_strerror_debug(i32 noundef %2864, ptr noundef nonnull @.str.4) #8
  %2866 = load i32, ptr %278, align 4, !tbaa !5
  %2867 = call ptr @strerror(i32 noundef %2866) #8
  %2868 = load i32, ptr %278, align 4, !tbaa !5
  %2869 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2860, ptr noundef nonnull %.str.5.sink1767, i32 noundef %2861, ptr noundef nonnull @.str.73, ptr noundef nonnull @.str.1, i32 noundef 344, ptr noundef %2863, ptr noundef %2865, ptr noundef %2867, i32 noundef %2868) #10
  call void @exit(i32 noundef 1) #11
  unreachable

2870:                                             ; preds = %2844
  %2871 = load i32, ptr @test_count, align 4, !tbaa !5
  %2872 = add nsw i32 %2871, 1
  store i32 %2872, ptr @test_count, align 4, !tbaa !5
  %2873 = load i32, ptr %30, align 4, !tbaa !5
  %2874 = icmp eq i32 %2873, -1
  br i1 %2874, label %2897, label %2875

2875:                                             ; preds = %2870
  %2876 = load i32, ptr %278, align 4, !tbaa !5
  %2877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2878 = call i32 @s2n_print_stacktrace(ptr noundef %2877) #8
  %2879 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2880 = trunc nuw i8 %2879 to i1
  br i1 %2880, label %2881, label %2885

2881:                                             ; preds = %2875
  %2882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2883 = call i32 @fileno(ptr noundef %2882) #8
  %2884 = call i32 @isatty(i32 noundef %2883) #8
  %.not579 = icmp eq i32 %2884, 0
  br i1 %.not579, label %2885, label %2886

2885:                                             ; preds = %2881, %2875
  br label %2886

2886:                                             ; preds = %2881, %2885
  %.str.5.sink1776 = phi ptr [ @.str.5, %2885 ], [ @.str.2, %2881 ]
  store i32 %2876, ptr %278, align 4, !tbaa !5
  %2887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2888 = load i32, ptr @test_count, align 4, !tbaa !5
  %2889 = load i32, ptr %224, align 4, !tbaa !5
  %2890 = call ptr @s2n_strerror(i32 noundef %2889, ptr noundef nonnull @.str.4) #8
  %2891 = load i32, ptr %224, align 4, !tbaa !5
  %2892 = call ptr @s2n_strerror_debug(i32 noundef %2891, ptr noundef nonnull @.str.4) #8
  %2893 = load i32, ptr %278, align 4, !tbaa !5
  %2894 = call ptr @strerror(i32 noundef %2893) #8
  %2895 = load i32, ptr %278, align 4, !tbaa !5
  %2896 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2887, ptr noundef nonnull %.str.5.sink1776, i32 noundef %2888, ptr noundef nonnull @.str.74, ptr noundef nonnull @.str.1, i32 noundef 344, ptr noundef %2890, ptr noundef %2892, ptr noundef %2894, i32 noundef %2895) #10
  call void @exit(i32 noundef 1) #11
  unreachable

2897:                                             ; preds = %2870
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %30) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %31) #8
  %2898 = add nsw i32 %2871, 2
  store i32 %2898, ptr @test_count, align 4, !tbaa !5
  %2899 = call i32 @s2n_mul_overflow(i32 noundef 65535, i32 noundef 65537, ptr noundef nonnull %31) #8
  %2900 = icmp eq i32 %2899, -1
  br i1 %2900, label %2901, label %2923

2901:                                             ; preds = %2897
  %2902 = load i32, ptr %278, align 4, !tbaa !5
  %2903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2904 = call i32 @s2n_print_stacktrace(ptr noundef %2903) #8
  %2905 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2906 = trunc nuw i8 %2905 to i1
  br i1 %2906, label %2907, label %2911

2907:                                             ; preds = %2901
  %2908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2909 = call i32 @fileno(ptr noundef %2908) #8
  %2910 = call i32 @isatty(i32 noundef %2909) #8
  %.not730 = icmp eq i32 %2910, 0
  br i1 %.not730, label %2911, label %2912

2911:                                             ; preds = %2907, %2901
  br label %2912

2912:                                             ; preds = %2907, %2911
  %.str.5.sink1785 = phi ptr [ @.str.5, %2911 ], [ @.str.2, %2907 ]
  store i32 %2902, ptr %278, align 4, !tbaa !5
  %2913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2914 = load i32, ptr @test_count, align 4, !tbaa !5
  %2915 = load i32, ptr %224, align 4, !tbaa !5
  %2916 = call ptr @s2n_strerror(i32 noundef %2915, ptr noundef nonnull @.str.4) #8
  %2917 = load i32, ptr %224, align 4, !tbaa !5
  %2918 = call ptr @s2n_strerror_debug(i32 noundef %2917, ptr noundef nonnull @.str.4) #8
  %2919 = load i32, ptr %278, align 4, !tbaa !5
  %2920 = call ptr @strerror(i32 noundef %2919) #8
  %2921 = load i32, ptr %278, align 4, !tbaa !5
  %2922 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2913, ptr noundef nonnull %.str.5.sink1785, i32 noundef %2914, ptr noundef nonnull @.str.75, ptr noundef nonnull @.str.1, i32 noundef 344, ptr noundef %2916, ptr noundef %2918, ptr noundef %2920, i32 noundef %2921) #10
  call void @exit(i32 noundef 1) #11
  unreachable

2923:                                             ; preds = %2897
  %2924 = load i32, ptr @test_count, align 4, !tbaa !5
  %2925 = add nsw i32 %2924, 1
  store i32 %2925, ptr @test_count, align 4, !tbaa !5
  %2926 = load i32, ptr %31, align 4, !tbaa !5
  %2927 = icmp eq i32 %2926, -1
  br i1 %2927, label %2950, label %2928

2928:                                             ; preds = %2923
  %2929 = load i32, ptr %278, align 4, !tbaa !5
  %2930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2931 = call i32 @s2n_print_stacktrace(ptr noundef %2930) #8
  %2932 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2933 = trunc nuw i8 %2932 to i1
  br i1 %2933, label %2934, label %2938

2934:                                             ; preds = %2928
  %2935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2936 = call i32 @fileno(ptr noundef %2935) #8
  %2937 = call i32 @isatty(i32 noundef %2936) #8
  %.not580 = icmp eq i32 %2937, 0
  br i1 %.not580, label %2938, label %2939

2938:                                             ; preds = %2934, %2928
  br label %2939

2939:                                             ; preds = %2934, %2938
  %.str.5.sink1794 = phi ptr [ @.str.5, %2938 ], [ @.str.2, %2934 ]
  store i32 %2929, ptr %278, align 4, !tbaa !5
  %2940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2941 = load i32, ptr @test_count, align 4, !tbaa !5
  %2942 = load i32, ptr %224, align 4, !tbaa !5
  %2943 = call ptr @s2n_strerror(i32 noundef %2942, ptr noundef nonnull @.str.4) #8
  %2944 = load i32, ptr %224, align 4, !tbaa !5
  %2945 = call ptr @s2n_strerror_debug(i32 noundef %2944, ptr noundef nonnull @.str.4) #8
  %2946 = load i32, ptr %278, align 4, !tbaa !5
  %2947 = call ptr @strerror(i32 noundef %2946) #8
  %2948 = load i32, ptr %278, align 4, !tbaa !5
  %2949 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2940, ptr noundef nonnull %.str.5.sink1794, i32 noundef %2941, ptr noundef nonnull @.str.74, ptr noundef nonnull @.str.1, i32 noundef 344, ptr noundef %2943, ptr noundef %2945, ptr noundef %2947, i32 noundef %2948) #10
  call void @exit(i32 noundef 1) #11
  unreachable

2950:                                             ; preds = %2923
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %31) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %32) #8
  %2951 = add nsw i32 %2924, 2
  store i32 %2951, ptr @test_count, align 4, !tbaa !5
  %2952 = call i32 @s2n_mul_overflow(i32 noundef 65537, i32 noundef 65534, ptr noundef nonnull %32) #8
  %2953 = icmp eq i32 %2952, -1
  br i1 %2953, label %2954, label %2976

2954:                                             ; preds = %2950
  %2955 = load i32, ptr %278, align 4, !tbaa !5
  %2956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2957 = call i32 @s2n_print_stacktrace(ptr noundef %2956) #8
  %2958 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2959 = trunc nuw i8 %2958 to i1
  br i1 %2959, label %2960, label %2964

2960:                                             ; preds = %2954
  %2961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2962 = call i32 @fileno(ptr noundef %2961) #8
  %2963 = call i32 @isatty(i32 noundef %2962) #8
  %.not729 = icmp eq i32 %2963, 0
  br i1 %.not729, label %2964, label %2965

2964:                                             ; preds = %2960, %2954
  br label %2965

2965:                                             ; preds = %2960, %2964
  %.str.5.sink1803 = phi ptr [ @.str.5, %2964 ], [ @.str.2, %2960 ]
  store i32 %2955, ptr %278, align 4, !tbaa !5
  %2966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2967 = load i32, ptr @test_count, align 4, !tbaa !5
  %2968 = load i32, ptr %224, align 4, !tbaa !5
  %2969 = call ptr @s2n_strerror(i32 noundef %2968, ptr noundef nonnull @.str.4) #8
  %2970 = load i32, ptr %224, align 4, !tbaa !5
  %2971 = call ptr @s2n_strerror_debug(i32 noundef %2970, ptr noundef nonnull @.str.4) #8
  %2972 = load i32, ptr %278, align 4, !tbaa !5
  %2973 = call ptr @strerror(i32 noundef %2972) #8
  %2974 = load i32, ptr %278, align 4, !tbaa !5
  %2975 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2966, ptr noundef nonnull %.str.5.sink1803, i32 noundef %2967, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.1, i32 noundef 345, ptr noundef %2969, ptr noundef %2971, ptr noundef %2973, i32 noundef %2974) #10
  call void @exit(i32 noundef 1) #11
  unreachable

2976:                                             ; preds = %2950
  %2977 = load i32, ptr @test_count, align 4, !tbaa !5
  %2978 = add nsw i32 %2977, 1
  store i32 %2978, ptr @test_count, align 4, !tbaa !5
  %2979 = load i32, ptr %32, align 4, !tbaa !5
  %2980 = icmp eq i32 %2979, -65538
  br i1 %2980, label %3003, label %2981

2981:                                             ; preds = %2976
  %2982 = load i32, ptr %278, align 4, !tbaa !5
  %2983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2984 = call i32 @s2n_print_stacktrace(ptr noundef %2983) #8
  %2985 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2986 = trunc nuw i8 %2985 to i1
  br i1 %2986, label %2987, label %2991

2987:                                             ; preds = %2981
  %2988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2989 = call i32 @fileno(ptr noundef %2988) #8
  %2990 = call i32 @isatty(i32 noundef %2989) #8
  %.not581 = icmp eq i32 %2990, 0
  br i1 %.not581, label %2991, label %2992

2991:                                             ; preds = %2987, %2981
  br label %2992

2992:                                             ; preds = %2987, %2991
  %.str.5.sink1812 = phi ptr [ @.str.5, %2991 ], [ @.str.2, %2987 ]
  store i32 %2982, ptr %278, align 4, !tbaa !5
  %2993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2994 = load i32, ptr @test_count, align 4, !tbaa !5
  %2995 = load i32, ptr %224, align 4, !tbaa !5
  %2996 = call ptr @s2n_strerror(i32 noundef %2995, ptr noundef nonnull @.str.4) #8
  %2997 = load i32, ptr %224, align 4, !tbaa !5
  %2998 = call ptr @s2n_strerror_debug(i32 noundef %2997, ptr noundef nonnull @.str.4) #8
  %2999 = load i32, ptr %278, align 4, !tbaa !5
  %3000 = call ptr @strerror(i32 noundef %2999) #8
  %3001 = load i32, ptr %278, align 4, !tbaa !5
  %3002 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2993, ptr noundef nonnull %.str.5.sink1812, i32 noundef %2994, ptr noundef nonnull @.str.77, ptr noundef nonnull @.str.1, i32 noundef 345, ptr noundef %2996, ptr noundef %2998, ptr noundef %3000, i32 noundef %3001) #10
  call void @exit(i32 noundef 1) #11
  unreachable

3003:                                             ; preds = %2976
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %32) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %33) #8
  %3004 = add nsw i32 %2977, 2
  store i32 %3004, ptr @test_count, align 4, !tbaa !5
  %3005 = call i32 @s2n_mul_overflow(i32 noundef 65534, i32 noundef 65537, ptr noundef nonnull %33) #8
  %3006 = icmp eq i32 %3005, -1
  br i1 %3006, label %3007, label %3029

3007:                                             ; preds = %3003
  %3008 = load i32, ptr %278, align 4, !tbaa !5
  %3009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3010 = call i32 @s2n_print_stacktrace(ptr noundef %3009) #8
  %3011 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3012 = trunc nuw i8 %3011 to i1
  br i1 %3012, label %3013, label %3017

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

3017:                                             ; preds = %3013, %3007
  br label %3018

3018:                                             ; preds = %3013, %3017
  %.str.5.sink1821 = phi ptr [ @.str.5, %3017 ], [ @.str.2, %3013 ]
  store i32 %3008, ptr %278, align 4, !tbaa !5
  %3019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3020 = load i32, ptr @test_count, align 4, !tbaa !5
  %3021 = load i32, ptr %224, align 4, !tbaa !5
  %3022 = call ptr @s2n_strerror(i32 noundef %3021, ptr noundef nonnull @.str.4) #8
  %3023 = load i32, ptr %224, align 4, !tbaa !5
  %3024 = call ptr @s2n_strerror_debug(i32 noundef %3023, ptr noundef nonnull @.str.4) #8
  %3025 = load i32, ptr %278, align 4, !tbaa !5
  %3026 = call ptr @strerror(i32 noundef %3025) #8
  %3027 = load i32, ptr %278, align 4, !tbaa !5
  %3028 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3019, ptr noundef nonnull %.str.5.sink1821, i32 noundef %3020, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.1, i32 noundef 345, ptr noundef %3022, ptr noundef %3024, ptr noundef %3026, i32 noundef %3027) #10
  call void @exit(i32 noundef 1) #11
  unreachable

3029:                                             ; preds = %3003
  %3030 = load i32, ptr @test_count, align 4, !tbaa !5
  %3031 = add nsw i32 %3030, 1
  store i32 %3031, ptr @test_count, align 4, !tbaa !5
  %3032 = load i32, ptr %33, align 4, !tbaa !5
  %3033 = icmp eq i32 %3032, -65538
  br i1 %3033, label %3056, label %3034

3034:                                             ; preds = %3029
  %3035 = load i32, ptr %278, align 4, !tbaa !5
  %3036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3037 = call i32 @s2n_print_stacktrace(ptr noundef %3036) #8
  %3038 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3039 = trunc nuw i8 %3038 to i1
  br i1 %3039, label %3040, label %3044

3040:                                             ; preds = %3034
  %3041 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3042 = call i32 @fileno(ptr noundef %3041) #8
  %3043 = call i32 @isatty(i32 noundef %3042) #8
  %.not582 = icmp eq i32 %3043, 0
  br i1 %.not582, label %3044, label %3045

3044:                                             ; preds = %3040, %3034
  br label %3045

3045:                                             ; preds = %3040, %3044
  %.str.5.sink1830 = phi ptr [ @.str.5, %3044 ], [ @.str.2, %3040 ]
  store i32 %3035, ptr %278, align 4, !tbaa !5
  %3046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3047 = load i32, ptr @test_count, align 4, !tbaa !5
  %3048 = load i32, ptr %224, align 4, !tbaa !5
  %3049 = call ptr @s2n_strerror(i32 noundef %3048, ptr noundef nonnull @.str.4) #8
  %3050 = load i32, ptr %224, align 4, !tbaa !5
  %3051 = call ptr @s2n_strerror_debug(i32 noundef %3050, ptr noundef nonnull @.str.4) #8
  %3052 = load i32, ptr %278, align 4, !tbaa !5
  %3053 = call ptr @strerror(i32 noundef %3052) #8
  %3054 = load i32, ptr %278, align 4, !tbaa !5
  %3055 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3046, ptr noundef nonnull %.str.5.sink1830, i32 noundef %3047, ptr noundef nonnull @.str.77, ptr noundef nonnull @.str.1, i32 noundef 345, ptr noundef %3049, ptr noundef %3051, ptr noundef %3053, i32 noundef %3054) #10
  call void @exit(i32 noundef 1) #11
  unreachable

3056:                                             ; preds = %3029
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %33) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %34) #8
  %3057 = add nsw i32 %3030, 2
  store i32 %3057, ptr @test_count, align 4, !tbaa !5
  %3058 = call i32 @s2n_mul_overflow(i32 noundef 65538, i32 noundef 65534, ptr noundef nonnull %34) #8
  %3059 = icmp eq i32 %3058, -1
  br i1 %3059, label %3060, label %3082

3060:                                             ; preds = %3056
  %3061 = load i32, ptr %278, align 4, !tbaa !5
  %3062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3063 = call i32 @s2n_print_stacktrace(ptr noundef %3062) #8
  %3064 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3065 = trunc nuw i8 %3064 to i1
  br i1 %3065, label %3066, label %3070

3066:                                             ; preds = %3060
  %3067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3068 = call i32 @fileno(ptr noundef %3067) #8
  %3069 = call i32 @isatty(i32 noundef %3068) #8
  %.not727 = icmp eq i32 %3069, 0
  br i1 %.not727, label %3070, label %3071

3070:                                             ; preds = %3066, %3060
  br label %3071

3071:                                             ; preds = %3066, %3070
  %.str.5.sink1839 = phi ptr [ @.str.5, %3070 ], [ @.str.2, %3066 ]
  store i32 %3061, ptr %278, align 4, !tbaa !5
  %3072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3073 = load i32, ptr @test_count, align 4, !tbaa !5
  %3074 = load i32, ptr %224, align 4, !tbaa !5
  %3075 = call ptr @s2n_strerror(i32 noundef %3074, ptr noundef nonnull @.str.4) #8
  %3076 = load i32, ptr %224, align 4, !tbaa !5
  %3077 = call ptr @s2n_strerror_debug(i32 noundef %3076, ptr noundef nonnull @.str.4) #8
  %3078 = load i32, ptr %278, align 4, !tbaa !5
  %3079 = call ptr @strerror(i32 noundef %3078) #8
  %3080 = load i32, ptr %278, align 4, !tbaa !5
  %3081 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3072, ptr noundef nonnull %.str.5.sink1839, i32 noundef %3073, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.1, i32 noundef 346, ptr noundef %3075, ptr noundef %3077, ptr noundef %3079, i32 noundef %3080) #10
  call void @exit(i32 noundef 1) #11
  unreachable

3082:                                             ; preds = %3056
  %3083 = load i32, ptr @test_count, align 4, !tbaa !5
  %3084 = add nsw i32 %3083, 1
  store i32 %3084, ptr @test_count, align 4, !tbaa !5
  %3085 = load i32, ptr %34, align 4, !tbaa !5
  %3086 = icmp eq i32 %3085, -4
  br i1 %3086, label %3109, label %3087

3087:                                             ; preds = %3082
  %3088 = load i32, ptr %278, align 4, !tbaa !5
  %3089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3090 = call i32 @s2n_print_stacktrace(ptr noundef %3089) #8
  %3091 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3092 = trunc nuw i8 %3091 to i1
  br i1 %3092, label %3093, label %3097

3093:                                             ; preds = %3087
  %3094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3095 = call i32 @fileno(ptr noundef %3094) #8
  %3096 = call i32 @isatty(i32 noundef %3095) #8
  %.not583 = icmp eq i32 %3096, 0
  br i1 %.not583, label %3097, label %3098

3097:                                             ; preds = %3093, %3087
  br label %3098

3098:                                             ; preds = %3093, %3097
  %.str.5.sink1848 = phi ptr [ @.str.5, %3097 ], [ @.str.2, %3093 ]
  store i32 %3088, ptr %278, align 4, !tbaa !5
  %3099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3100 = load i32, ptr @test_count, align 4, !tbaa !5
  %3101 = load i32, ptr %224, align 4, !tbaa !5
  %3102 = call ptr @s2n_strerror(i32 noundef %3101, ptr noundef nonnull @.str.4) #8
  %3103 = load i32, ptr %224, align 4, !tbaa !5
  %3104 = call ptr @s2n_strerror_debug(i32 noundef %3103, ptr noundef nonnull @.str.4) #8
  %3105 = load i32, ptr %278, align 4, !tbaa !5
  %3106 = call ptr @strerror(i32 noundef %3105) #8
  %3107 = load i32, ptr %278, align 4, !tbaa !5
  %3108 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3099, ptr noundef nonnull %.str.5.sink1848, i32 noundef %3100, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.1, i32 noundef 346, ptr noundef %3102, ptr noundef %3104, ptr noundef %3106, i32 noundef %3107) #10
  call void @exit(i32 noundef 1) #11
  unreachable

3109:                                             ; preds = %3082
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %34) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %35) #8
  %3110 = add nsw i32 %3083, 2
  store i32 %3110, ptr @test_count, align 4, !tbaa !5
  %3111 = call i32 @s2n_mul_overflow(i32 noundef 65534, i32 noundef 65538, ptr noundef nonnull %35) #8
  %3112 = icmp eq i32 %3111, -1
  br i1 %3112, label %3113, label %3135

3113:                                             ; preds = %3109
  %3114 = load i32, ptr %278, align 4, !tbaa !5
  %3115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3116 = call i32 @s2n_print_stacktrace(ptr noundef %3115) #8
  %3117 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3118 = trunc nuw i8 %3117 to i1
  br i1 %3118, label %3119, label %3123

3119:                                             ; preds = %3113
  %3120 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3121 = call i32 @fileno(ptr noundef %3120) #8
  %3122 = call i32 @isatty(i32 noundef %3121) #8
  %.not726 = icmp eq i32 %3122, 0
  br i1 %.not726, label %3123, label %3124

3123:                                             ; preds = %3119, %3113
  br label %3124

3124:                                             ; preds = %3119, %3123
  %.str.5.sink1857 = phi ptr [ @.str.5, %3123 ], [ @.str.2, %3119 ]
  store i32 %3114, ptr %278, align 4, !tbaa !5
  %3125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3126 = load i32, ptr @test_count, align 4, !tbaa !5
  %3127 = load i32, ptr %224, align 4, !tbaa !5
  %3128 = call ptr @s2n_strerror(i32 noundef %3127, ptr noundef nonnull @.str.4) #8
  %3129 = load i32, ptr %224, align 4, !tbaa !5
  %3130 = call ptr @s2n_strerror_debug(i32 noundef %3129, ptr noundef nonnull @.str.4) #8
  %3131 = load i32, ptr %278, align 4, !tbaa !5
  %3132 = call ptr @strerror(i32 noundef %3131) #8
  %3133 = load i32, ptr %278, align 4, !tbaa !5
  %3134 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3125, ptr noundef nonnull %.str.5.sink1857, i32 noundef %3126, ptr noundef nonnull @.str.81, ptr noundef nonnull @.str.1, i32 noundef 346, ptr noundef %3128, ptr noundef %3130, ptr noundef %3132, i32 noundef %3133) #10
  call void @exit(i32 noundef 1) #11
  unreachable

3135:                                             ; preds = %3109
  %3136 = load i32, ptr @test_count, align 4, !tbaa !5
  %3137 = add nsw i32 %3136, 1
  store i32 %3137, ptr @test_count, align 4, !tbaa !5
  %3138 = load i32, ptr %35, align 4, !tbaa !5
  %3139 = icmp eq i32 %3138, -4
  br i1 %3139, label %3162, label %3140

3140:                                             ; preds = %3135
  %3141 = load i32, ptr %278, align 4, !tbaa !5
  %3142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3143 = call i32 @s2n_print_stacktrace(ptr noundef %3142) #8
  %3144 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3145 = trunc nuw i8 %3144 to i1
  br i1 %3145, label %3146, label %3150

3146:                                             ; preds = %3140
  %3147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3148 = call i32 @fileno(ptr noundef %3147) #8
  %3149 = call i32 @isatty(i32 noundef %3148) #8
  %.not584 = icmp eq i32 %3149, 0
  br i1 %.not584, label %3150, label %3151

3150:                                             ; preds = %3146, %3140
  br label %3151

3151:                                             ; preds = %3146, %3150
  %.str.5.sink1866 = phi ptr [ @.str.5, %3150 ], [ @.str.2, %3146 ]
  store i32 %3141, ptr %278, align 4, !tbaa !5
  %3152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3153 = load i32, ptr @test_count, align 4, !tbaa !5
  %3154 = load i32, ptr %224, align 4, !tbaa !5
  %3155 = call ptr @s2n_strerror(i32 noundef %3154, ptr noundef nonnull @.str.4) #8
  %3156 = load i32, ptr %224, align 4, !tbaa !5
  %3157 = call ptr @s2n_strerror_debug(i32 noundef %3156, ptr noundef nonnull @.str.4) #8
  %3158 = load i32, ptr %278, align 4, !tbaa !5
  %3159 = call ptr @strerror(i32 noundef %3158) #8
  %3160 = load i32, ptr %278, align 4, !tbaa !5
  %3161 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3152, ptr noundef nonnull %.str.5.sink1866, i32 noundef %3153, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.1, i32 noundef 346, ptr noundef %3155, ptr noundef %3157, ptr noundef %3159, i32 noundef %3160) #10
  call void @exit(i32 noundef 1) #11
  unreachable

3162:                                             ; preds = %3135
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %35) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %36) #8
  %3163 = add nsw i32 %3136, 2
  store i32 %3163, ptr @test_count, align 4, !tbaa !5
  %3164 = call i32 @s2n_mul_overflow(i32 noundef 65539, i32 noundef 65534, ptr noundef nonnull %36) #8
  %3165 = icmp eq i32 %3164, -1
  br i1 %3165, label %3188, label %3166

3166:                                             ; preds = %3162
  %3167 = load i32, ptr %278, align 4, !tbaa !5
  %3168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3169 = call i32 @s2n_print_stacktrace(ptr noundef %3168) #8
  %3170 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3171 = trunc nuw i8 %3170 to i1
  br i1 %3171, label %3172, label %3176

3172:                                             ; preds = %3166
  %3173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3174 = call i32 @fileno(ptr noundef %3173) #8
  %3175 = call i32 @isatty(i32 noundef %3174) #8
  %.not585 = icmp eq i32 %3175, 0
  br i1 %.not585, label %3176, label %3177

3176:                                             ; preds = %3172, %3166
  br label %3177

3177:                                             ; preds = %3172, %3176
  %.str.5.sink1875 = phi ptr [ @.str.5, %3176 ], [ @.str.2, %3172 ]
  store i32 %3167, ptr %278, align 4, !tbaa !5
  %3178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3179 = load i32, ptr @test_count, align 4, !tbaa !5
  %3180 = load i32, ptr %224, align 4, !tbaa !5
  %3181 = call ptr @s2n_strerror(i32 noundef %3180, ptr noundef nonnull @.str.4) #8
  %3182 = load i32, ptr %224, align 4, !tbaa !5
  %3183 = call ptr @s2n_strerror_debug(i32 noundef %3182, ptr noundef nonnull @.str.4) #8
  %3184 = load i32, ptr %278, align 4, !tbaa !5
  %3185 = call ptr @strerror(i32 noundef %3184) #8
  %3186 = load i32, ptr %278, align 4, !tbaa !5
  %3187 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3178, ptr noundef nonnull %.str.5.sink1875, i32 noundef %3179, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.1, i32 noundef 347, ptr noundef %3181, ptr noundef %3183, ptr noundef %3185, i32 noundef %3186) #10
  call void @exit(i32 noundef 1) #11
  unreachable

3188:                                             ; preds = %3162
  %3189 = load i32, ptr @test_count, align 4, !tbaa !5
  %3190 = add nsw i32 %3189, 1
  store i32 %3190, ptr @test_count, align 4, !tbaa !5
  %3191 = load i32, ptr %224, align 4, !tbaa !5
  %3192 = icmp eq i32 %3191, 0
  br i1 %3192, label %3193, label %3215

3193:                                             ; preds = %3188
  %3194 = load i32, ptr %278, align 4, !tbaa !5
  %3195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3196 = call i32 @s2n_print_stacktrace(ptr noundef %3195) #8
  %3197 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3198 = trunc nuw i8 %3197 to i1
  br i1 %3198, label %3199, label %3203

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

3203:                                             ; preds = %3199, %3193
  br label %3204

3204:                                             ; preds = %3199, %3203
  %.str.5.sink1884 = phi ptr [ @.str.5, %3203 ], [ @.str.2, %3199 ]
  store i32 %3194, ptr %278, align 4, !tbaa !5
  %3205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3206 = load i32, ptr @test_count, align 4, !tbaa !5
  %3207 = load i32, ptr %224, align 4, !tbaa !5
  %3208 = call ptr @s2n_strerror(i32 noundef %3207, ptr noundef nonnull @.str.4) #8
  %3209 = load i32, ptr %224, align 4, !tbaa !5
  %3210 = call ptr @s2n_strerror_debug(i32 noundef %3209, ptr noundef nonnull @.str.4) #8
  %3211 = load i32, ptr %278, align 4, !tbaa !5
  %3212 = call ptr @strerror(i32 noundef %3211) #8
  %3213 = load i32, ptr %278, align 4, !tbaa !5
  %3214 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3205, ptr noundef nonnull %.str.5.sink1884, i32 noundef %3206, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 347, ptr noundef %3208, ptr noundef %3210, ptr noundef %3212, i32 noundef %3213) #10
  call void @exit(i32 noundef 1) #11
  unreachable

3215:                                             ; preds = %3188
  %3216 = add nsw i32 %3189, 2
  store i32 %3216, ptr @test_count, align 4, !tbaa !5
  %3217 = call ptr @s2n_strerror_debug(i32 noundef %3191, ptr noundef nonnull @.str.4) #8
  %3218 = icmp eq ptr %3217, null
  br i1 %3218, label %3219, label %3241

3219:                                             ; preds = %3215
  %3220 = load i32, ptr %278, align 4, !tbaa !5
  %3221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3222 = call i32 @s2n_print_stacktrace(ptr noundef %3221) #8
  %3223 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3224 = trunc nuw i8 %3223 to i1
  br i1 %3224, label %3225, label %3229

3225:                                             ; preds = %3219
  %3226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3227 = call i32 @fileno(ptr noundef %3226) #8
  %3228 = call i32 @isatty(i32 noundef %3227) #8
  %.not724 = icmp eq i32 %3228, 0
  br i1 %.not724, label %3229, label %3230

3229:                                             ; preds = %3225, %3219
  br label %3230

3230:                                             ; preds = %3225, %3229
  %.str.5.sink1893 = phi ptr [ @.str.5, %3229 ], [ @.str.2, %3225 ]
  store i32 %3220, ptr %278, align 4, !tbaa !5
  %3231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3232 = load i32, ptr @test_count, align 4, !tbaa !5
  %3233 = load i32, ptr %224, align 4, !tbaa !5
  %3234 = call ptr @s2n_strerror(i32 noundef %3233, ptr noundef nonnull @.str.4) #8
  %3235 = load i32, ptr %224, align 4, !tbaa !5
  %3236 = call ptr @s2n_strerror_debug(i32 noundef %3235, ptr noundef nonnull @.str.4) #8
  %3237 = load i32, ptr %278, align 4, !tbaa !5
  %3238 = call ptr @strerror(i32 noundef %3237) #8
  %3239 = load i32, ptr %278, align 4, !tbaa !5
  %3240 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3231, ptr noundef nonnull %.str.5.sink1893, i32 noundef %3232, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 347, ptr noundef %3234, ptr noundef %3236, ptr noundef %3238, i32 noundef %3239) #10
  call void @exit(i32 noundef 1) #11
  unreachable

3241:                                             ; preds = %3215
  store i32 0, ptr %224, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #8
  store i32 0, ptr %278, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %36) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %37) #8
  %3242 = load i32, ptr @test_count, align 4, !tbaa !5
  %3243 = add nsw i32 %3242, 1
  store i32 %3243, ptr @test_count, align 4, !tbaa !5
  %3244 = call i32 @s2n_mul_overflow(i32 noundef 65534, i32 noundef 65539, ptr noundef nonnull %37) #8
  %3245 = icmp eq i32 %3244, -1
  br i1 %3245, label %3268, label %3246

3246:                                             ; preds = %3241
  %3247 = load i32, ptr %278, align 4, !tbaa !5
  %3248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3249 = call i32 @s2n_print_stacktrace(ptr noundef %3248) #8
  %3250 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3251 = trunc nuw i8 %3250 to i1
  br i1 %3251, label %3252, label %3256

3252:                                             ; preds = %3246
  %3253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3254 = call i32 @fileno(ptr noundef %3253) #8
  %3255 = call i32 @isatty(i32 noundef %3254) #8
  %.not586 = icmp eq i32 %3255, 0
  br i1 %.not586, label %3256, label %3257

3256:                                             ; preds = %3252, %3246
  br label %3257

3257:                                             ; preds = %3252, %3256
  %.str.5.sink1902 = phi ptr [ @.str.5, %3256 ], [ @.str.2, %3252 ]
  store i32 %3247, ptr %278, align 4, !tbaa !5
  %3258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3259 = load i32, ptr @test_count, align 4, !tbaa !5
  %3260 = load i32, ptr %224, align 4, !tbaa !5
  %3261 = call ptr @s2n_strerror(i32 noundef %3260, ptr noundef nonnull @.str.4) #8
  %3262 = load i32, ptr %224, align 4, !tbaa !5
  %3263 = call ptr @s2n_strerror_debug(i32 noundef %3262, ptr noundef nonnull @.str.4) #8
  %3264 = load i32, ptr %278, align 4, !tbaa !5
  %3265 = call ptr @strerror(i32 noundef %3264) #8
  %3266 = load i32, ptr %278, align 4, !tbaa !5
  %3267 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3258, ptr noundef nonnull %.str.5.sink1902, i32 noundef %3259, ptr noundef nonnull @.str.83, ptr noundef nonnull @.str.1, i32 noundef 347, ptr noundef %3261, ptr noundef %3263, ptr noundef %3265, i32 noundef %3266) #10
  call void @exit(i32 noundef 1) #11
  unreachable

3268:                                             ; preds = %3241
  %3269 = load i32, ptr @test_count, align 4, !tbaa !5
  %3270 = add nsw i32 %3269, 1
  store i32 %3270, ptr @test_count, align 4, !tbaa !5
  %3271 = load i32, ptr %224, align 4, !tbaa !5
  %3272 = icmp eq i32 %3271, 0
  br i1 %3272, label %3273, label %3295

3273:                                             ; preds = %3268
  %3274 = load i32, ptr %278, align 4, !tbaa !5
  %3275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3276 = call i32 @s2n_print_stacktrace(ptr noundef %3275) #8
  %3277 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3278 = trunc nuw i8 %3277 to i1
  br i1 %3278, label %3279, label %3283

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

3283:                                             ; preds = %3279, %3273
  br label %3284

3284:                                             ; preds = %3279, %3283
  %.str.5.sink1911 = phi ptr [ @.str.5, %3283 ], [ @.str.2, %3279 ]
  store i32 %3274, ptr %278, align 4, !tbaa !5
  %3285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3286 = load i32, ptr @test_count, align 4, !tbaa !5
  %3287 = load i32, ptr %224, align 4, !tbaa !5
  %3288 = call ptr @s2n_strerror(i32 noundef %3287, ptr noundef nonnull @.str.4) #8
  %3289 = load i32, ptr %224, align 4, !tbaa !5
  %3290 = call ptr @s2n_strerror_debug(i32 noundef %3289, ptr noundef nonnull @.str.4) #8
  %3291 = load i32, ptr %278, align 4, !tbaa !5
  %3292 = call ptr @strerror(i32 noundef %3291) #8
  %3293 = load i32, ptr %278, align 4, !tbaa !5
  %3294 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3285, ptr noundef nonnull %.str.5.sink1911, i32 noundef %3286, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 347, ptr noundef %3288, ptr noundef %3290, ptr noundef %3292, i32 noundef %3293) #10
  call void @exit(i32 noundef 1) #11
  unreachable

3295:                                             ; preds = %3268
  %3296 = add nsw i32 %3269, 2
  store i32 %3296, ptr @test_count, align 4, !tbaa !5
  %3297 = call ptr @s2n_strerror_debug(i32 noundef %3271, ptr noundef nonnull @.str.4) #8
  %3298 = icmp eq ptr %3297, null
  br i1 %3298, label %3299, label %3321

3299:                                             ; preds = %3295
  %3300 = load i32, ptr %278, align 4, !tbaa !5
  %3301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3302 = call i32 @s2n_print_stacktrace(ptr noundef %3301) #8
  %3303 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3304 = trunc nuw i8 %3303 to i1
  br i1 %3304, label %3305, label %3309

3305:                                             ; preds = %3299
  %3306 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3307 = call i32 @fileno(ptr noundef %3306) #8
  %3308 = call i32 @isatty(i32 noundef %3307) #8
  %.not722 = icmp eq i32 %3308, 0
  br i1 %.not722, label %3309, label %3310

3309:                                             ; preds = %3305, %3299
  br label %3310

3310:                                             ; preds = %3305, %3309
  %.str.5.sink1920 = phi ptr [ @.str.5, %3309 ], [ @.str.2, %3305 ]
  store i32 %3300, ptr %278, align 4, !tbaa !5
  %3311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3312 = load i32, ptr @test_count, align 4, !tbaa !5
  %3313 = load i32, ptr %224, align 4, !tbaa !5
  %3314 = call ptr @s2n_strerror(i32 noundef %3313, ptr noundef nonnull @.str.4) #8
  %3315 = load i32, ptr %224, align 4, !tbaa !5
  %3316 = call ptr @s2n_strerror_debug(i32 noundef %3315, ptr noundef nonnull @.str.4) #8
  %3317 = load i32, ptr %278, align 4, !tbaa !5
  %3318 = call ptr @strerror(i32 noundef %3317) #8
  %3319 = load i32, ptr %278, align 4, !tbaa !5
  %3320 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3311, ptr noundef nonnull %.str.5.sink1920, i32 noundef %3312, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 347, ptr noundef %3314, ptr noundef %3316, ptr noundef %3318, i32 noundef %3319) #10
  call void @exit(i32 noundef 1) #11
  unreachable

3321:                                             ; preds = %3295
  store i32 0, ptr %224, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #8
  store i32 0, ptr %278, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %37) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %38) #8
  %3322 = load i32, ptr @test_count, align 4, !tbaa !5
  %3323 = add nsw i32 %3322, 1
  store i32 %3323, ptr @test_count, align 4, !tbaa !5
  %3324 = call i32 @s2n_mul_overflow(i32 noundef 65534, i32 noundef 65534, ptr noundef nonnull %38) #8
  %3325 = icmp eq i32 %3324, -1
  br i1 %3325, label %3326, label %3348

3326:                                             ; preds = %3321
  %3327 = load i32, ptr %278, align 4, !tbaa !5
  %3328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3329 = call i32 @s2n_print_stacktrace(ptr noundef %3328) #8
  %3330 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3331 = trunc nuw i8 %3330 to i1
  br i1 %3331, label %3332, label %3336

3332:                                             ; preds = %3326
  %3333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3334 = call i32 @fileno(ptr noundef %3333) #8
  %3335 = call i32 @isatty(i32 noundef %3334) #8
  %.not721 = icmp eq i32 %3335, 0
  br i1 %.not721, label %3336, label %3337

3336:                                             ; preds = %3332, %3326
  br label %3337

3337:                                             ; preds = %3332, %3336
  %.str.5.sink1929 = phi ptr [ @.str.5, %3336 ], [ @.str.2, %3332 ]
  store i32 %3327, ptr %278, align 4, !tbaa !5
  %3338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3339 = load i32, ptr @test_count, align 4, !tbaa !5
  %3340 = load i32, ptr %224, align 4, !tbaa !5
  %3341 = call ptr @s2n_strerror(i32 noundef %3340, ptr noundef nonnull @.str.4) #8
  %3342 = load i32, ptr %224, align 4, !tbaa !5
  %3343 = call ptr @s2n_strerror_debug(i32 noundef %3342, ptr noundef nonnull @.str.4) #8
  %3344 = load i32, ptr %278, align 4, !tbaa !5
  %3345 = call ptr @strerror(i32 noundef %3344) #8
  %3346 = load i32, ptr %278, align 4, !tbaa !5
  %3347 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3338, ptr noundef nonnull %.str.5.sink1929, i32 noundef %3339, ptr noundef nonnull @.str.84, ptr noundef nonnull @.str.1, i32 noundef 348, ptr noundef %3341, ptr noundef %3343, ptr noundef %3345, i32 noundef %3346) #10
  call void @exit(i32 noundef 1) #11
  unreachable

3348:                                             ; preds = %3321
  %3349 = load i32, ptr @test_count, align 4, !tbaa !5
  %3350 = add nsw i32 %3349, 1
  store i32 %3350, ptr @test_count, align 4, !tbaa !5
  %3351 = load i32, ptr %38, align 4, !tbaa !5
  %3352 = icmp eq i32 %3351, -262140
  br i1 %3352, label %3375, label %3353

3353:                                             ; preds = %3348
  %3354 = load i32, ptr %278, align 4, !tbaa !5
  %3355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3356 = call i32 @s2n_print_stacktrace(ptr noundef %3355) #8
  %3357 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3358 = trunc nuw i8 %3357 to i1
  br i1 %3358, label %3359, label %3363

3359:                                             ; preds = %3353
  %3360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3361 = call i32 @fileno(ptr noundef %3360) #8
  %3362 = call i32 @isatty(i32 noundef %3361) #8
  %.not587 = icmp eq i32 %3362, 0
  br i1 %.not587, label %3363, label %3364

3363:                                             ; preds = %3359, %3353
  br label %3364

3364:                                             ; preds = %3359, %3363
  %.str.5.sink1938 = phi ptr [ @.str.5, %3363 ], [ @.str.2, %3359 ]
  store i32 %3354, ptr %278, align 4, !tbaa !5
  %3365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3366 = load i32, ptr @test_count, align 4, !tbaa !5
  %3367 = load i32, ptr %224, align 4, !tbaa !5
  %3368 = call ptr @s2n_strerror(i32 noundef %3367, ptr noundef nonnull @.str.4) #8
  %3369 = load i32, ptr %224, align 4, !tbaa !5
  %3370 = call ptr @s2n_strerror_debug(i32 noundef %3369, ptr noundef nonnull @.str.4) #8
  %3371 = load i32, ptr %278, align 4, !tbaa !5
  %3372 = call ptr @strerror(i32 noundef %3371) #8
  %3373 = load i32, ptr %278, align 4, !tbaa !5
  %3374 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3365, ptr noundef nonnull %.str.5.sink1938, i32 noundef %3366, ptr noundef nonnull @.str.85, ptr noundef nonnull @.str.1, i32 noundef 348, ptr noundef %3368, ptr noundef %3370, ptr noundef %3372, i32 noundef %3373) #10
  call void @exit(i32 noundef 1) #11
  unreachable

3375:                                             ; preds = %3348
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %38) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %39) #8
  %3376 = add nsw i32 %3349, 2
  store i32 %3376, ptr @test_count, align 4, !tbaa !5
  %3377 = call i32 @s2n_mul_overflow(i32 noundef 65534, i32 noundef 65534, ptr noundef nonnull %39) #8
  %3378 = icmp eq i32 %3377, -1
  br i1 %3378, label %3379, label %3401

3379:                                             ; preds = %3375
  %3380 = load i32, ptr %278, align 4, !tbaa !5
  %3381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3382 = call i32 @s2n_print_stacktrace(ptr noundef %3381) #8
  %3383 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3384 = trunc nuw i8 %3383 to i1
  br i1 %3384, label %3385, label %3389

3385:                                             ; preds = %3379
  %3386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3387 = call i32 @fileno(ptr noundef %3386) #8
  %3388 = call i32 @isatty(i32 noundef %3387) #8
  %.not720 = icmp eq i32 %3388, 0
  br i1 %.not720, label %3389, label %3390

3389:                                             ; preds = %3385, %3379
  br label %3390

3390:                                             ; preds = %3385, %3389
  %.str.5.sink1947 = phi ptr [ @.str.5, %3389 ], [ @.str.2, %3385 ]
  store i32 %3380, ptr %278, align 4, !tbaa !5
  %3391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3392 = load i32, ptr @test_count, align 4, !tbaa !5
  %3393 = load i32, ptr %224, align 4, !tbaa !5
  %3394 = call ptr @s2n_strerror(i32 noundef %3393, ptr noundef nonnull @.str.4) #8
  %3395 = load i32, ptr %224, align 4, !tbaa !5
  %3396 = call ptr @s2n_strerror_debug(i32 noundef %3395, ptr noundef nonnull @.str.4) #8
  %3397 = load i32, ptr %278, align 4, !tbaa !5
  %3398 = call ptr @strerror(i32 noundef %3397) #8
  %3399 = load i32, ptr %278, align 4, !tbaa !5
  %3400 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3391, ptr noundef nonnull %.str.5.sink1947, i32 noundef %3392, ptr noundef nonnull @.str.84, ptr noundef nonnull @.str.1, i32 noundef 348, ptr noundef %3394, ptr noundef %3396, ptr noundef %3398, i32 noundef %3399) #10
  call void @exit(i32 noundef 1) #11
  unreachable

3401:                                             ; preds = %3375
  %3402 = load i32, ptr @test_count, align 4, !tbaa !5
  %3403 = add nsw i32 %3402, 1
  store i32 %3403, ptr @test_count, align 4, !tbaa !5
  %3404 = load i32, ptr %39, align 4, !tbaa !5
  %3405 = icmp eq i32 %3404, -262140
  br i1 %3405, label %3428, label %3406

3406:                                             ; preds = %3401
  %3407 = load i32, ptr %278, align 4, !tbaa !5
  %3408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3409 = call i32 @s2n_print_stacktrace(ptr noundef %3408) #8
  %3410 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3411 = trunc nuw i8 %3410 to i1
  br i1 %3411, label %3412, label %3416

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

3416:                                             ; preds = %3412, %3406
  br label %3417

3417:                                             ; preds = %3412, %3416
  %.str.5.sink1956 = phi ptr [ @.str.5, %3416 ], [ @.str.2, %3412 ]
  store i32 %3407, ptr %278, align 4, !tbaa !5
  %3418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3419 = load i32, ptr @test_count, align 4, !tbaa !5
  %3420 = load i32, ptr %224, align 4, !tbaa !5
  %3421 = call ptr @s2n_strerror(i32 noundef %3420, ptr noundef nonnull @.str.4) #8
  %3422 = load i32, ptr %224, align 4, !tbaa !5
  %3423 = call ptr @s2n_strerror_debug(i32 noundef %3422, ptr noundef nonnull @.str.4) #8
  %3424 = load i32, ptr %278, align 4, !tbaa !5
  %3425 = call ptr @strerror(i32 noundef %3424) #8
  %3426 = load i32, ptr %278, align 4, !tbaa !5
  %3427 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3418, ptr noundef nonnull %.str.5.sink1956, i32 noundef %3419, ptr noundef nonnull @.str.85, ptr noundef nonnull @.str.1, i32 noundef 348, ptr noundef %3421, ptr noundef %3423, ptr noundef %3425, i32 noundef %3426) #10
  call void @exit(i32 noundef 1) #11
  unreachable

3428:                                             ; preds = %3401
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %39) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %40) #8
  %3429 = add nsw i32 %3402, 2
  store i32 %3429, ptr @test_count, align 4, !tbaa !5
  %3430 = call i32 @s2n_mul_overflow(i32 noundef 131071, i32 noundef 131071, ptr noundef nonnull %40) #8
  %3431 = icmp eq i32 %3430, -1
  br i1 %3431, label %3454, label %3432

3432:                                             ; preds = %3428
  %3433 = load i32, ptr %278, align 4, !tbaa !5
  %3434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3435 = call i32 @s2n_print_stacktrace(ptr noundef %3434) #8
  %3436 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3437 = trunc nuw i8 %3436 to i1
  br i1 %3437, label %3438, label %3442

3438:                                             ; preds = %3432
  %3439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3440 = call i32 @fileno(ptr noundef %3439) #8
  %3441 = call i32 @isatty(i32 noundef %3440) #8
  %.not589 = icmp eq i32 %3441, 0
  br i1 %.not589, label %3442, label %3443

3442:                                             ; preds = %3438, %3432
  br label %3443

3443:                                             ; preds = %3438, %3442
  %.str.5.sink1965 = phi ptr [ @.str.5, %3442 ], [ @.str.2, %3438 ]
  store i32 %3433, ptr %278, align 4, !tbaa !5
  %3444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3445 = load i32, ptr @test_count, align 4, !tbaa !5
  %3446 = load i32, ptr %224, align 4, !tbaa !5
  %3447 = call ptr @s2n_strerror(i32 noundef %3446, ptr noundef nonnull @.str.4) #8
  %3448 = load i32, ptr %224, align 4, !tbaa !5
  %3449 = call ptr @s2n_strerror_debug(i32 noundef %3448, ptr noundef nonnull @.str.4) #8
  %3450 = load i32, ptr %278, align 4, !tbaa !5
  %3451 = call ptr @strerror(i32 noundef %3450) #8
  %3452 = load i32, ptr %278, align 4, !tbaa !5
  %3453 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3444, ptr noundef nonnull %.str.5.sink1965, i32 noundef %3445, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.1, i32 noundef 349, ptr noundef %3447, ptr noundef %3449, ptr noundef %3451, i32 noundef %3452) #10
  call void @exit(i32 noundef 1) #11
  unreachable

3454:                                             ; preds = %3428
  %3455 = load i32, ptr @test_count, align 4, !tbaa !5
  %3456 = add nsw i32 %3455, 1
  store i32 %3456, ptr @test_count, align 4, !tbaa !5
  %3457 = load i32, ptr %224, align 4, !tbaa !5
  %3458 = icmp eq i32 %3457, 0
  br i1 %3458, label %3459, label %3481

3459:                                             ; preds = %3454
  %3460 = load i32, ptr %278, align 4, !tbaa !5
  %3461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3462 = call i32 @s2n_print_stacktrace(ptr noundef %3461) #8
  %3463 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3464 = trunc nuw i8 %3463 to i1
  br i1 %3464, label %3465, label %3469

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

3469:                                             ; preds = %3465, %3459
  br label %3470

3470:                                             ; preds = %3465, %3469
  %.str.5.sink1974 = phi ptr [ @.str.5, %3469 ], [ @.str.2, %3465 ]
  store i32 %3460, ptr %278, align 4, !tbaa !5
  %3471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3472 = load i32, ptr @test_count, align 4, !tbaa !5
  %3473 = load i32, ptr %224, align 4, !tbaa !5
  %3474 = call ptr @s2n_strerror(i32 noundef %3473, ptr noundef nonnull @.str.4) #8
  %3475 = load i32, ptr %224, align 4, !tbaa !5
  %3476 = call ptr @s2n_strerror_debug(i32 noundef %3475, ptr noundef nonnull @.str.4) #8
  %3477 = load i32, ptr %278, align 4, !tbaa !5
  %3478 = call ptr @strerror(i32 noundef %3477) #8
  %3479 = load i32, ptr %278, align 4, !tbaa !5
  %3480 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3471, ptr noundef nonnull %.str.5.sink1974, i32 noundef %3472, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 349, ptr noundef %3474, ptr noundef %3476, ptr noundef %3478, i32 noundef %3479) #10
  call void @exit(i32 noundef 1) #11
  unreachable

3481:                                             ; preds = %3454
  %3482 = add nsw i32 %3455, 2
  store i32 %3482, ptr @test_count, align 4, !tbaa !5
  %3483 = call ptr @s2n_strerror_debug(i32 noundef %3457, ptr noundef nonnull @.str.4) #8
  %3484 = icmp eq ptr %3483, null
  br i1 %3484, label %3485, label %3507

3485:                                             ; preds = %3481
  %3486 = load i32, ptr %278, align 4, !tbaa !5
  %3487 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3488 = call i32 @s2n_print_stacktrace(ptr noundef %3487) #8
  %3489 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3490 = trunc nuw i8 %3489 to i1
  br i1 %3490, label %3491, label %3495

3491:                                             ; preds = %3485
  %3492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3493 = call i32 @fileno(ptr noundef %3492) #8
  %3494 = call i32 @isatty(i32 noundef %3493) #8
  %.not718 = icmp eq i32 %3494, 0
  br i1 %.not718, label %3495, label %3496

3495:                                             ; preds = %3491, %3485
  br label %3496

3496:                                             ; preds = %3491, %3495
  %.str.5.sink1983 = phi ptr [ @.str.5, %3495 ], [ @.str.2, %3491 ]
  store i32 %3486, ptr %278, align 4, !tbaa !5
  %3497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3498 = load i32, ptr @test_count, align 4, !tbaa !5
  %3499 = load i32, ptr %224, align 4, !tbaa !5
  %3500 = call ptr @s2n_strerror(i32 noundef %3499, ptr noundef nonnull @.str.4) #8
  %3501 = load i32, ptr %224, align 4, !tbaa !5
  %3502 = call ptr @s2n_strerror_debug(i32 noundef %3501, ptr noundef nonnull @.str.4) #8
  %3503 = load i32, ptr %278, align 4, !tbaa !5
  %3504 = call ptr @strerror(i32 noundef %3503) #8
  %3505 = load i32, ptr %278, align 4, !tbaa !5
  %3506 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3497, ptr noundef nonnull %.str.5.sink1983, i32 noundef %3498, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 349, ptr noundef %3500, ptr noundef %3502, ptr noundef %3504, i32 noundef %3505) #10
  call void @exit(i32 noundef 1) #11
  unreachable

3507:                                             ; preds = %3481
  store i32 0, ptr %224, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #8
  store i32 0, ptr %278, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %40) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %41) #8
  %3508 = load i32, ptr @test_count, align 4, !tbaa !5
  %3509 = add nsw i32 %3508, 1
  store i32 %3509, ptr @test_count, align 4, !tbaa !5
  %3510 = call i32 @s2n_mul_overflow(i32 noundef 131071, i32 noundef 131071, ptr noundef nonnull %41) #8
  %3511 = icmp eq i32 %3510, -1
  br i1 %3511, label %3534, label %3512

3512:                                             ; preds = %3507
  %3513 = load i32, ptr %278, align 4, !tbaa !5
  %3514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3515 = call i32 @s2n_print_stacktrace(ptr noundef %3514) #8
  %3516 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3517 = trunc nuw i8 %3516 to i1
  br i1 %3517, label %3518, label %3522

3518:                                             ; preds = %3512
  %3519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3520 = call i32 @fileno(ptr noundef %3519) #8
  %3521 = call i32 @isatty(i32 noundef %3520) #8
  %.not590 = icmp eq i32 %3521, 0
  br i1 %.not590, label %3522, label %3523

3522:                                             ; preds = %3518, %3512
  br label %3523

3523:                                             ; preds = %3518, %3522
  %.str.5.sink1992 = phi ptr [ @.str.5, %3522 ], [ @.str.2, %3518 ]
  store i32 %3513, ptr %278, align 4, !tbaa !5
  %3524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3525 = load i32, ptr @test_count, align 4, !tbaa !5
  %3526 = load i32, ptr %224, align 4, !tbaa !5
  %3527 = call ptr @s2n_strerror(i32 noundef %3526, ptr noundef nonnull @.str.4) #8
  %3528 = load i32, ptr %224, align 4, !tbaa !5
  %3529 = call ptr @s2n_strerror_debug(i32 noundef %3528, ptr noundef nonnull @.str.4) #8
  %3530 = load i32, ptr %278, align 4, !tbaa !5
  %3531 = call ptr @strerror(i32 noundef %3530) #8
  %3532 = load i32, ptr %278, align 4, !tbaa !5
  %3533 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3524, ptr noundef nonnull %.str.5.sink1992, i32 noundef %3525, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.1, i32 noundef 349, ptr noundef %3527, ptr noundef %3529, ptr noundef %3531, i32 noundef %3532) #10
  call void @exit(i32 noundef 1) #11
  unreachable

3534:                                             ; preds = %3507
  %3535 = load i32, ptr @test_count, align 4, !tbaa !5
  %3536 = add nsw i32 %3535, 1
  store i32 %3536, ptr @test_count, align 4, !tbaa !5
  %3537 = load i32, ptr %224, align 4, !tbaa !5
  %3538 = icmp eq i32 %3537, 0
  br i1 %3538, label %3539, label %3561

3539:                                             ; preds = %3534
  %3540 = load i32, ptr %278, align 4, !tbaa !5
  %3541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3542 = call i32 @s2n_print_stacktrace(ptr noundef %3541) #8
  %3543 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3544 = trunc nuw i8 %3543 to i1
  br i1 %3544, label %3545, label %3549

3545:                                             ; preds = %3539
  %3546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3547 = call i32 @fileno(ptr noundef %3546) #8
  %3548 = call i32 @isatty(i32 noundef %3547) #8
  %.not717 = icmp eq i32 %3548, 0
  br i1 %.not717, label %3549, label %3550

3549:                                             ; preds = %3545, %3539
  br label %3550

3550:                                             ; preds = %3545, %3549
  %.str.5.sink2001 = phi ptr [ @.str.5, %3549 ], [ @.str.2, %3545 ]
  store i32 %3540, ptr %278, align 4, !tbaa !5
  %3551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3552 = load i32, ptr @test_count, align 4, !tbaa !5
  %3553 = load i32, ptr %224, align 4, !tbaa !5
  %3554 = call ptr @s2n_strerror(i32 noundef %3553, ptr noundef nonnull @.str.4) #8
  %3555 = load i32, ptr %224, align 4, !tbaa !5
  %3556 = call ptr @s2n_strerror_debug(i32 noundef %3555, ptr noundef nonnull @.str.4) #8
  %3557 = load i32, ptr %278, align 4, !tbaa !5
  %3558 = call ptr @strerror(i32 noundef %3557) #8
  %3559 = load i32, ptr %278, align 4, !tbaa !5
  %3560 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3551, ptr noundef nonnull %.str.5.sink2001, i32 noundef %3552, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 349, ptr noundef %3554, ptr noundef %3556, ptr noundef %3558, i32 noundef %3559) #10
  call void @exit(i32 noundef 1) #11
  unreachable

3561:                                             ; preds = %3534
  %3562 = add nsw i32 %3535, 2
  store i32 %3562, ptr @test_count, align 4, !tbaa !5
  %3563 = call ptr @s2n_strerror_debug(i32 noundef %3537, ptr noundef nonnull @.str.4) #8
  %3564 = icmp eq ptr %3563, null
  br i1 %3564, label %3565, label %3587

3565:                                             ; preds = %3561
  %3566 = load i32, ptr %278, align 4, !tbaa !5
  %3567 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3568 = call i32 @s2n_print_stacktrace(ptr noundef %3567) #8
  %3569 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3570 = trunc nuw i8 %3569 to i1
  br i1 %3570, label %3571, label %3575

3571:                                             ; preds = %3565
  %3572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3573 = call i32 @fileno(ptr noundef %3572) #8
  %3574 = call i32 @isatty(i32 noundef %3573) #8
  %.not716 = icmp eq i32 %3574, 0
  br i1 %.not716, label %3575, label %3576

3575:                                             ; preds = %3571, %3565
  br label %3576

3576:                                             ; preds = %3571, %3575
  %.str.5.sink2010 = phi ptr [ @.str.5, %3575 ], [ @.str.2, %3571 ]
  store i32 %3566, ptr %278, align 4, !tbaa !5
  %3577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3578 = load i32, ptr @test_count, align 4, !tbaa !5
  %3579 = load i32, ptr %224, align 4, !tbaa !5
  %3580 = call ptr @s2n_strerror(i32 noundef %3579, ptr noundef nonnull @.str.4) #8
  %3581 = load i32, ptr %224, align 4, !tbaa !5
  %3582 = call ptr @s2n_strerror_debug(i32 noundef %3581, ptr noundef nonnull @.str.4) #8
  %3583 = load i32, ptr %278, align 4, !tbaa !5
  %3584 = call ptr @strerror(i32 noundef %3583) #8
  %3585 = load i32, ptr %278, align 4, !tbaa !5
  %3586 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3577, ptr noundef nonnull %.str.5.sink2010, i32 noundef %3578, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 349, ptr noundef %3580, ptr noundef %3582, ptr noundef %3584, i32 noundef %3585) #10
  call void @exit(i32 noundef 1) #11
  unreachable

3587:                                             ; preds = %3561
  store i32 0, ptr %224, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #8
  store i32 0, ptr %278, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %41) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %42) #8
  %3588 = load i32, ptr @test_count, align 4, !tbaa !5
  %3589 = add nsw i32 %3588, 1
  store i32 %3589, ptr @test_count, align 4, !tbaa !5
  %3590 = call i32 @s2n_mul_overflow(i32 noundef -1, i32 noundef -1, ptr noundef nonnull %42) #8
  %3591 = icmp eq i32 %3590, -1
  br i1 %3591, label %3614, label %3592

3592:                                             ; preds = %3587
  %3593 = load i32, ptr %278, align 4, !tbaa !5
  %3594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3595 = call i32 @s2n_print_stacktrace(ptr noundef %3594) #8
  %3596 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3597 = trunc nuw i8 %3596 to i1
  br i1 %3597, label %3598, label %3602

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

3602:                                             ; preds = %3598, %3592
  br label %3603

3603:                                             ; preds = %3598, %3602
  %.str.5.sink2019 = phi ptr [ @.str.5, %3602 ], [ @.str.2, %3598 ]
  store i32 %3593, ptr %278, align 4, !tbaa !5
  %3604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3605 = load i32, ptr @test_count, align 4, !tbaa !5
  %3606 = load i32, ptr %224, align 4, !tbaa !5
  %3607 = call ptr @s2n_strerror(i32 noundef %3606, ptr noundef nonnull @.str.4) #8
  %3608 = load i32, ptr %224, align 4, !tbaa !5
  %3609 = call ptr @s2n_strerror_debug(i32 noundef %3608, ptr noundef nonnull @.str.4) #8
  %3610 = load i32, ptr %278, align 4, !tbaa !5
  %3611 = call ptr @strerror(i32 noundef %3610) #8
  %3612 = load i32, ptr %278, align 4, !tbaa !5
  %3613 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3604, ptr noundef nonnull %.str.5.sink2019, i32 noundef %3605, ptr noundef nonnull @.str.87, ptr noundef nonnull @.str.1, i32 noundef 350, ptr noundef %3607, ptr noundef %3609, ptr noundef %3611, i32 noundef %3612) #10
  call void @exit(i32 noundef 1) #11
  unreachable

3614:                                             ; preds = %3587
  %3615 = load i32, ptr @test_count, align 4, !tbaa !5
  %3616 = add nsw i32 %3615, 1
  store i32 %3616, ptr @test_count, align 4, !tbaa !5
  %3617 = load i32, ptr %224, align 4, !tbaa !5
  %3618 = icmp eq i32 %3617, 0
  br i1 %3618, label %3619, label %3641

3619:                                             ; preds = %3614
  %3620 = load i32, ptr %278, align 4, !tbaa !5
  %3621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3622 = call i32 @s2n_print_stacktrace(ptr noundef %3621) #8
  %3623 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3624 = trunc nuw i8 %3623 to i1
  br i1 %3624, label %3625, label %3629

3625:                                             ; preds = %3619
  %3626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3627 = call i32 @fileno(ptr noundef %3626) #8
  %3628 = call i32 @isatty(i32 noundef %3627) #8
  %.not715 = icmp eq i32 %3628, 0
  br i1 %.not715, label %3629, label %3630

3629:                                             ; preds = %3625, %3619
  br label %3630

3630:                                             ; preds = %3625, %3629
  %.str.5.sink2028 = phi ptr [ @.str.5, %3629 ], [ @.str.2, %3625 ]
  store i32 %3620, ptr %278, align 4, !tbaa !5
  %3631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3632 = load i32, ptr @test_count, align 4, !tbaa !5
  %3633 = load i32, ptr %224, align 4, !tbaa !5
  %3634 = call ptr @s2n_strerror(i32 noundef %3633, ptr noundef nonnull @.str.4) #8
  %3635 = load i32, ptr %224, align 4, !tbaa !5
  %3636 = call ptr @s2n_strerror_debug(i32 noundef %3635, ptr noundef nonnull @.str.4) #8
  %3637 = load i32, ptr %278, align 4, !tbaa !5
  %3638 = call ptr @strerror(i32 noundef %3637) #8
  %3639 = load i32, ptr %278, align 4, !tbaa !5
  %3640 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3631, ptr noundef nonnull %.str.5.sink2028, i32 noundef %3632, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 350, ptr noundef %3634, ptr noundef %3636, ptr noundef %3638, i32 noundef %3639) #10
  call void @exit(i32 noundef 1) #11
  unreachable

3641:                                             ; preds = %3614
  %3642 = add nsw i32 %3615, 2
  store i32 %3642, ptr @test_count, align 4, !tbaa !5
  %3643 = call ptr @s2n_strerror_debug(i32 noundef %3617, ptr noundef nonnull @.str.4) #8
  %3644 = icmp eq ptr %3643, null
  br i1 %3644, label %3645, label %3667

3645:                                             ; preds = %3641
  %3646 = load i32, ptr %278, align 4, !tbaa !5
  %3647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3648 = call i32 @s2n_print_stacktrace(ptr noundef %3647) #8
  %3649 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3650 = trunc nuw i8 %3649 to i1
  br i1 %3650, label %3651, label %3655

3651:                                             ; preds = %3645
  %3652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3653 = call i32 @fileno(ptr noundef %3652) #8
  %3654 = call i32 @isatty(i32 noundef %3653) #8
  %.not714 = icmp eq i32 %3654, 0
  br i1 %.not714, label %3655, label %3656

3655:                                             ; preds = %3651, %3645
  br label %3656

3656:                                             ; preds = %3651, %3655
  %.str.5.sink2037 = phi ptr [ @.str.5, %3655 ], [ @.str.2, %3651 ]
  store i32 %3646, ptr %278, align 4, !tbaa !5
  %3657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3658 = load i32, ptr @test_count, align 4, !tbaa !5
  %3659 = load i32, ptr %224, align 4, !tbaa !5
  %3660 = call ptr @s2n_strerror(i32 noundef %3659, ptr noundef nonnull @.str.4) #8
  %3661 = load i32, ptr %224, align 4, !tbaa !5
  %3662 = call ptr @s2n_strerror_debug(i32 noundef %3661, ptr noundef nonnull @.str.4) #8
  %3663 = load i32, ptr %278, align 4, !tbaa !5
  %3664 = call ptr @strerror(i32 noundef %3663) #8
  %3665 = load i32, ptr %278, align 4, !tbaa !5
  %3666 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3657, ptr noundef nonnull %.str.5.sink2037, i32 noundef %3658, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 350, ptr noundef %3660, ptr noundef %3662, ptr noundef %3664, i32 noundef %3665) #10
  call void @exit(i32 noundef 1) #11
  unreachable

3667:                                             ; preds = %3641
  store i32 0, ptr %224, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #8
  store i32 0, ptr %278, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %42) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %43) #8
  %3668 = load i32, ptr @test_count, align 4, !tbaa !5
  %3669 = add nsw i32 %3668, 1
  store i32 %3669, ptr @test_count, align 4, !tbaa !5
  %3670 = call i32 @s2n_mul_overflow(i32 noundef -1, i32 noundef -1, ptr noundef nonnull %43) #8
  %3671 = icmp eq i32 %3670, -1
  br i1 %3671, label %3694, label %3672

3672:                                             ; preds = %3667
  %3673 = load i32, ptr %278, align 4, !tbaa !5
  %3674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3675 = call i32 @s2n_print_stacktrace(ptr noundef %3674) #8
  %3676 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3677 = trunc nuw i8 %3676 to i1
  br i1 %3677, label %3678, label %3682

3678:                                             ; preds = %3672
  %3679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3680 = call i32 @fileno(ptr noundef %3679) #8
  %3681 = call i32 @isatty(i32 noundef %3680) #8
  %.not592 = icmp eq i32 %3681, 0
  br i1 %.not592, label %3682, label %3683

3682:                                             ; preds = %3678, %3672
  br label %3683

3683:                                             ; preds = %3678, %3682
  %.str.5.sink2046 = phi ptr [ @.str.5, %3682 ], [ @.str.2, %3678 ]
  store i32 %3673, ptr %278, align 4, !tbaa !5
  %3684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3685 = load i32, ptr @test_count, align 4, !tbaa !5
  %3686 = load i32, ptr %224, align 4, !tbaa !5
  %3687 = call ptr @s2n_strerror(i32 noundef %3686, ptr noundef nonnull @.str.4) #8
  %3688 = load i32, ptr %224, align 4, !tbaa !5
  %3689 = call ptr @s2n_strerror_debug(i32 noundef %3688, ptr noundef nonnull @.str.4) #8
  %3690 = load i32, ptr %278, align 4, !tbaa !5
  %3691 = call ptr @strerror(i32 noundef %3690) #8
  %3692 = load i32, ptr %278, align 4, !tbaa !5
  %3693 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3684, ptr noundef nonnull %.str.5.sink2046, i32 noundef %3685, ptr noundef nonnull @.str.87, ptr noundef nonnull @.str.1, i32 noundef 350, ptr noundef %3687, ptr noundef %3689, ptr noundef %3691, i32 noundef %3692) #10
  call void @exit(i32 noundef 1) #11
  unreachable

3694:                                             ; preds = %3667
  %3695 = load i32, ptr @test_count, align 4, !tbaa !5
  %3696 = add nsw i32 %3695, 1
  store i32 %3696, ptr @test_count, align 4, !tbaa !5
  %3697 = load i32, ptr %224, align 4, !tbaa !5
  %3698 = icmp eq i32 %3697, 0
  br i1 %3698, label %3699, label %3721

3699:                                             ; preds = %3694
  %3700 = load i32, ptr %278, align 4, !tbaa !5
  %3701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3702 = call i32 @s2n_print_stacktrace(ptr noundef %3701) #8
  %3703 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3704 = trunc nuw i8 %3703 to i1
  br i1 %3704, label %3705, label %3709

3705:                                             ; preds = %3699
  %3706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3707 = call i32 @fileno(ptr noundef %3706) #8
  %3708 = call i32 @isatty(i32 noundef %3707) #8
  %.not713 = icmp eq i32 %3708, 0
  br i1 %.not713, label %3709, label %3710

3709:                                             ; preds = %3705, %3699
  br label %3710

3710:                                             ; preds = %3705, %3709
  %.str.5.sink2055 = phi ptr [ @.str.5, %3709 ], [ @.str.2, %3705 ]
  store i32 %3700, ptr %278, align 4, !tbaa !5
  %3711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3712 = load i32, ptr @test_count, align 4, !tbaa !5
  %3713 = load i32, ptr %224, align 4, !tbaa !5
  %3714 = call ptr @s2n_strerror(i32 noundef %3713, ptr noundef nonnull @.str.4) #8
  %3715 = load i32, ptr %224, align 4, !tbaa !5
  %3716 = call ptr @s2n_strerror_debug(i32 noundef %3715, ptr noundef nonnull @.str.4) #8
  %3717 = load i32, ptr %278, align 4, !tbaa !5
  %3718 = call ptr @strerror(i32 noundef %3717) #8
  %3719 = load i32, ptr %278, align 4, !tbaa !5
  %3720 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3711, ptr noundef nonnull %.str.5.sink2055, i32 noundef %3712, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 350, ptr noundef %3714, ptr noundef %3716, ptr noundef %3718, i32 noundef %3719) #10
  call void @exit(i32 noundef 1) #11
  unreachable

3721:                                             ; preds = %3694
  %3722 = add nsw i32 %3695, 2
  store i32 %3722, ptr @test_count, align 4, !tbaa !5
  %3723 = call ptr @s2n_strerror_debug(i32 noundef %3697, ptr noundef nonnull @.str.4) #8
  %3724 = icmp eq ptr %3723, null
  br i1 %3724, label %3725, label %3747

3725:                                             ; preds = %3721
  %3726 = load i32, ptr %278, align 4, !tbaa !5
  %3727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3728 = call i32 @s2n_print_stacktrace(ptr noundef %3727) #8
  %3729 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3730 = trunc nuw i8 %3729 to i1
  br i1 %3730, label %3731, label %3735

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

3735:                                             ; preds = %3731, %3725
  br label %3736

3736:                                             ; preds = %3731, %3735
  %.str.5.sink2064 = phi ptr [ @.str.5, %3735 ], [ @.str.2, %3731 ]
  store i32 %3726, ptr %278, align 4, !tbaa !5
  %3737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3738 = load i32, ptr @test_count, align 4, !tbaa !5
  %3739 = load i32, ptr %224, align 4, !tbaa !5
  %3740 = call ptr @s2n_strerror(i32 noundef %3739, ptr noundef nonnull @.str.4) #8
  %3741 = load i32, ptr %224, align 4, !tbaa !5
  %3742 = call ptr @s2n_strerror_debug(i32 noundef %3741, ptr noundef nonnull @.str.4) #8
  %3743 = load i32, ptr %278, align 4, !tbaa !5
  %3744 = call ptr @strerror(i32 noundef %3743) #8
  %3745 = load i32, ptr %278, align 4, !tbaa !5
  %3746 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3737, ptr noundef nonnull %.str.5.sink2064, i32 noundef %3738, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 350, ptr noundef %3740, ptr noundef %3742, ptr noundef %3744, i32 noundef %3745) #10
  call void @exit(i32 noundef 1) #11
  unreachable

3747:                                             ; preds = %3721
  store i32 0, ptr %224, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #8
  store i32 0, ptr %278, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %43) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %44) #8
  store i32 1, ptr %44, align 4, !tbaa !5
  %3748 = load i32, ptr @test_count, align 4, !tbaa !5
  %3749 = add nsw i32 %3748, 1
  store i32 %3749, ptr @test_count, align 4, !tbaa !5
  %3750 = call i32 @s2n_align_to(i32 noundef 0, i32 noundef 10, ptr noundef nonnull %44) #8
  %3751 = icmp eq i32 %3750, -1
  br i1 %3751, label %3752, label %3774

3752:                                             ; preds = %3747
  %3753 = load i32, ptr %278, align 4, !tbaa !5
  %3754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3755 = call i32 @s2n_print_stacktrace(ptr noundef %3754) #8
  %3756 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3757 = trunc nuw i8 %3756 to i1
  br i1 %3757, label %3758, label %3762

3758:                                             ; preds = %3752
  %3759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3760 = call i32 @fileno(ptr noundef %3759) #8
  %3761 = call i32 @isatty(i32 noundef %3760) #8
  %.not711 = icmp eq i32 %3761, 0
  br i1 %.not711, label %3762, label %3763

3762:                                             ; preds = %3758, %3752
  br label %3763

3763:                                             ; preds = %3758, %3762
  %.str.5.sink2073 = phi ptr [ @.str.5, %3762 ], [ @.str.2, %3758 ]
  store i32 %3753, ptr %278, align 4, !tbaa !5
  %3764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3765 = load i32, ptr @test_count, align 4, !tbaa !5
  %3766 = load i32, ptr %224, align 4, !tbaa !5
  %3767 = call ptr @s2n_strerror(i32 noundef %3766, ptr noundef nonnull @.str.4) #8
  %3768 = load i32, ptr %224, align 4, !tbaa !5
  %3769 = call ptr @s2n_strerror_debug(i32 noundef %3768, ptr noundef nonnull @.str.4) #8
  %3770 = load i32, ptr %278, align 4, !tbaa !5
  %3771 = call ptr @strerror(i32 noundef %3770) #8
  %3772 = load i32, ptr %278, align 4, !tbaa !5
  %3773 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3764, ptr noundef nonnull %.str.5.sink2073, i32 noundef %3765, ptr noundef nonnull @.str.88, ptr noundef nonnull @.str.1, i32 noundef 353, ptr noundef %3767, ptr noundef %3769, ptr noundef %3771, i32 noundef %3772) #10
  call void @exit(i32 noundef 1) #11
  unreachable

3774:                                             ; preds = %3747
  %3775 = load i32, ptr @test_count, align 4, !tbaa !5
  %3776 = add nsw i32 %3775, 1
  store i32 %3776, ptr @test_count, align 4, !tbaa !5
  %3777 = load i32, ptr %44, align 4, !tbaa !5
  %3778 = icmp eq i32 %3777, 0
  br i1 %3778, label %3801, label %3779

3779:                                             ; preds = %3774
  %3780 = load i32, ptr %278, align 4, !tbaa !5
  %3781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3782 = call i32 @s2n_print_stacktrace(ptr noundef %3781) #8
  %3783 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3784 = trunc nuw i8 %3783 to i1
  br i1 %3784, label %3785, label %3789

3785:                                             ; preds = %3779
  %3786 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3787 = call i32 @fileno(ptr noundef %3786) #8
  %3788 = call i32 @isatty(i32 noundef %3787) #8
  %.not593 = icmp eq i32 %3788, 0
  br i1 %.not593, label %3789, label %3790

3789:                                             ; preds = %3785, %3779
  br label %3790

3790:                                             ; preds = %3785, %3789
  %.str.5.sink2082 = phi ptr [ @.str.5, %3789 ], [ @.str.2, %3785 ]
  store i32 %3780, ptr %278, align 4, !tbaa !5
  %3791 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3792 = load i32, ptr @test_count, align 4, !tbaa !5
  %3793 = load i32, ptr %224, align 4, !tbaa !5
  %3794 = call ptr @s2n_strerror(i32 noundef %3793, ptr noundef nonnull @.str.4) #8
  %3795 = load i32, ptr %224, align 4, !tbaa !5
  %3796 = call ptr @s2n_strerror_debug(i32 noundef %3795, ptr noundef nonnull @.str.4) #8
  %3797 = load i32, ptr %278, align 4, !tbaa !5
  %3798 = call ptr @strerror(i32 noundef %3797) #8
  %3799 = load i32, ptr %278, align 4, !tbaa !5
  %3800 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3791, ptr noundef nonnull %.str.5.sink2082, i32 noundef %3792, ptr noundef nonnull @.str.89, ptr noundef nonnull @.str.1, i32 noundef 354, ptr noundef %3794, ptr noundef %3796, ptr noundef %3798, i32 noundef %3799) #10
  call void @exit(i32 noundef 1) #11
  unreachable

3801:                                             ; preds = %3774
  %3802 = add nsw i32 %3775, 2
  store i32 %3802, ptr @test_count, align 4, !tbaa !5
  %3803 = call i32 @s2n_align_to(i32 noundef 1, i32 noundef 0, ptr noundef nonnull %44) #8
  %3804 = icmp eq i32 %3803, -1
  br i1 %3804, label %3827, label %3805

3805:                                             ; preds = %3801
  %3806 = load i32, ptr %278, align 4, !tbaa !5
  %3807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3808 = call i32 @s2n_print_stacktrace(ptr noundef %3807) #8
  %3809 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3810 = trunc nuw i8 %3809 to i1
  br i1 %3810, label %3811, label %3815

3811:                                             ; preds = %3805
  %3812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3813 = call i32 @fileno(ptr noundef %3812) #8
  %3814 = call i32 @isatty(i32 noundef %3813) #8
  %.not594 = icmp eq i32 %3814, 0
  br i1 %.not594, label %3815, label %3816

3815:                                             ; preds = %3811, %3805
  br label %3816

3816:                                             ; preds = %3811, %3815
  %.str.5.sink2091 = phi ptr [ @.str.5, %3815 ], [ @.str.2, %3811 ]
  store i32 %3806, ptr %278, align 4, !tbaa !5
  %3817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3818 = load i32, ptr @test_count, align 4, !tbaa !5
  %3819 = load i32, ptr %224, align 4, !tbaa !5
  %3820 = call ptr @s2n_strerror(i32 noundef %3819, ptr noundef nonnull @.str.4) #8
  %3821 = load i32, ptr %224, align 4, !tbaa !5
  %3822 = call ptr @s2n_strerror_debug(i32 noundef %3821, ptr noundef nonnull @.str.4) #8
  %3823 = load i32, ptr %278, align 4, !tbaa !5
  %3824 = call ptr @strerror(i32 noundef %3823) #8
  %3825 = load i32, ptr %278, align 4, !tbaa !5
  %3826 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3817, ptr noundef nonnull %.str.5.sink2091, i32 noundef %3818, ptr noundef nonnull @.str.90, ptr noundef nonnull @.str.1, i32 noundef 356, ptr noundef %3820, ptr noundef %3822, ptr noundef %3824, i32 noundef %3825) #10
  call void @exit(i32 noundef 1) #11
  unreachable

3827:                                             ; preds = %3801
  %3828 = load i32, ptr @test_count, align 4, !tbaa !5
  %3829 = add nsw i32 %3828, 1
  store i32 %3829, ptr @test_count, align 4, !tbaa !5
  %3830 = load i32, ptr %224, align 4, !tbaa !5
  %3831 = icmp eq i32 %3830, 0
  br i1 %3831, label %3832, label %3854

3832:                                             ; preds = %3827
  %3833 = load i32, ptr %278, align 4, !tbaa !5
  %3834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3835 = call i32 @s2n_print_stacktrace(ptr noundef %3834) #8
  %3836 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3837 = trunc nuw i8 %3836 to i1
  br i1 %3837, label %3838, label %3842

3838:                                             ; preds = %3832
  %3839 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3840 = call i32 @fileno(ptr noundef %3839) #8
  %3841 = call i32 @isatty(i32 noundef %3840) #8
  %.not710 = icmp eq i32 %3841, 0
  br i1 %.not710, label %3842, label %3843

3842:                                             ; preds = %3838, %3832
  br label %3843

3843:                                             ; preds = %3838, %3842
  %.str.5.sink2100 = phi ptr [ @.str.5, %3842 ], [ @.str.2, %3838 ]
  store i32 %3833, ptr %278, align 4, !tbaa !5
  %3844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3845 = load i32, ptr @test_count, align 4, !tbaa !5
  %3846 = load i32, ptr %224, align 4, !tbaa !5
  %3847 = call ptr @s2n_strerror(i32 noundef %3846, ptr noundef nonnull @.str.4) #8
  %3848 = load i32, ptr %224, align 4, !tbaa !5
  %3849 = call ptr @s2n_strerror_debug(i32 noundef %3848, ptr noundef nonnull @.str.4) #8
  %3850 = load i32, ptr %278, align 4, !tbaa !5
  %3851 = call ptr @strerror(i32 noundef %3850) #8
  %3852 = load i32, ptr %278, align 4, !tbaa !5
  %3853 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3844, ptr noundef nonnull %.str.5.sink2100, i32 noundef %3845, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 356, ptr noundef %3847, ptr noundef %3849, ptr noundef %3851, i32 noundef %3852) #10
  call void @exit(i32 noundef 1) #11
  unreachable

3854:                                             ; preds = %3827
  %3855 = add nsw i32 %3828, 2
  store i32 %3855, ptr @test_count, align 4, !tbaa !5
  %3856 = call ptr @s2n_strerror_debug(i32 noundef %3830, ptr noundef nonnull @.str.4) #8
  %3857 = icmp eq ptr %3856, null
  br i1 %3857, label %3858, label %3880

3858:                                             ; preds = %3854
  %3859 = load i32, ptr %278, align 4, !tbaa !5
  %3860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3861 = call i32 @s2n_print_stacktrace(ptr noundef %3860) #8
  %3862 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3863 = trunc nuw i8 %3862 to i1
  br i1 %3863, label %3864, label %3868

3864:                                             ; preds = %3858
  %3865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3866 = call i32 @fileno(ptr noundef %3865) #8
  %3867 = call i32 @isatty(i32 noundef %3866) #8
  %.not709 = icmp eq i32 %3867, 0
  br i1 %.not709, label %3868, label %3869

3868:                                             ; preds = %3864, %3858
  br label %3869

3869:                                             ; preds = %3864, %3868
  %.str.5.sink2109 = phi ptr [ @.str.5, %3868 ], [ @.str.2, %3864 ]
  store i32 %3859, ptr %278, align 4, !tbaa !5
  %3870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3871 = load i32, ptr @test_count, align 4, !tbaa !5
  %3872 = load i32, ptr %224, align 4, !tbaa !5
  %3873 = call ptr @s2n_strerror(i32 noundef %3872, ptr noundef nonnull @.str.4) #8
  %3874 = load i32, ptr %224, align 4, !tbaa !5
  %3875 = call ptr @s2n_strerror_debug(i32 noundef %3874, ptr noundef nonnull @.str.4) #8
  %3876 = load i32, ptr %278, align 4, !tbaa !5
  %3877 = call ptr @strerror(i32 noundef %3876) #8
  %3878 = load i32, ptr %278, align 4, !tbaa !5
  %3879 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3870, ptr noundef nonnull %.str.5.sink2109, i32 noundef %3871, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 356, ptr noundef %3873, ptr noundef %3875, ptr noundef %3877, i32 noundef %3878) #10
  call void @exit(i32 noundef 1) #11
  unreachable

3880:                                             ; preds = %3854
  store i32 0, ptr %224, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #8
  store i32 0, ptr %278, align 4, !tbaa !5
  %3881 = load i32, ptr @test_count, align 4, !tbaa !5
  %3882 = add nsw i32 %3881, 1
  store i32 %3882, ptr @test_count, align 4, !tbaa !5
  %3883 = call i32 @s2n_align_to(i32 noundef 10, i32 noundef 16, ptr noundef nonnull %44) #8
  %3884 = icmp eq i32 %3883, -1
  br i1 %3884, label %3885, label %3907

3885:                                             ; preds = %3880
  %3886 = load i32, ptr %278, align 4, !tbaa !5
  %3887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3888 = call i32 @s2n_print_stacktrace(ptr noundef %3887) #8
  %3889 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3890 = trunc nuw i8 %3889 to i1
  br i1 %3890, label %3891, label %3895

3891:                                             ; preds = %3885
  %3892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3893 = call i32 @fileno(ptr noundef %3892) #8
  %3894 = call i32 @isatty(i32 noundef %3893) #8
  %.not708 = icmp eq i32 %3894, 0
  br i1 %.not708, label %3895, label %3896

3895:                                             ; preds = %3891, %3885
  br label %3896

3896:                                             ; preds = %3891, %3895
  %.str.5.sink2118 = phi ptr [ @.str.5, %3895 ], [ @.str.2, %3891 ]
  store i32 %3886, ptr %278, align 4, !tbaa !5
  %3897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3898 = load i32, ptr @test_count, align 4, !tbaa !5
  %3899 = load i32, ptr %224, align 4, !tbaa !5
  %3900 = call ptr @s2n_strerror(i32 noundef %3899, ptr noundef nonnull @.str.4) #8
  %3901 = load i32, ptr %224, align 4, !tbaa !5
  %3902 = call ptr @s2n_strerror_debug(i32 noundef %3901, ptr noundef nonnull @.str.4) #8
  %3903 = load i32, ptr %278, align 4, !tbaa !5
  %3904 = call ptr @strerror(i32 noundef %3903) #8
  %3905 = load i32, ptr %278, align 4, !tbaa !5
  %3906 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3897, ptr noundef nonnull %.str.5.sink2118, i32 noundef %3898, ptr noundef nonnull @.str.91, ptr noundef nonnull @.str.1, i32 noundef 358, ptr noundef %3900, ptr noundef %3902, ptr noundef %3904, i32 noundef %3905) #10
  call void @exit(i32 noundef 1) #11
  unreachable

3907:                                             ; preds = %3880
  %3908 = load i32, ptr @test_count, align 4, !tbaa !5
  %3909 = add nsw i32 %3908, 1
  store i32 %3909, ptr @test_count, align 4, !tbaa !5
  %3910 = load i32, ptr %44, align 4, !tbaa !5
  %3911 = icmp eq i32 %3910, 16
  br i1 %3911, label %3934, label %3912

3912:                                             ; preds = %3907
  %3913 = load i32, ptr %278, align 4, !tbaa !5
  %3914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3915 = call i32 @s2n_print_stacktrace(ptr noundef %3914) #8
  %3916 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3917 = trunc nuw i8 %3916 to i1
  br i1 %3917, label %3918, label %3922

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

3922:                                             ; preds = %3918, %3912
  br label %3923

3923:                                             ; preds = %3918, %3922
  %.str.5.sink2127 = phi ptr [ @.str.5, %3922 ], [ @.str.2, %3918 ]
  store i32 %3913, ptr %278, align 4, !tbaa !5
  %3924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3925 = load i32, ptr @test_count, align 4, !tbaa !5
  %3926 = load i32, ptr %224, align 4, !tbaa !5
  %3927 = call ptr @s2n_strerror(i32 noundef %3926, ptr noundef nonnull @.str.4) #8
  %3928 = load i32, ptr %224, align 4, !tbaa !5
  %3929 = call ptr @s2n_strerror_debug(i32 noundef %3928, ptr noundef nonnull @.str.4) #8
  %3930 = load i32, ptr %278, align 4, !tbaa !5
  %3931 = call ptr @strerror(i32 noundef %3930) #8
  %3932 = load i32, ptr %278, align 4, !tbaa !5
  %3933 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3924, ptr noundef nonnull %.str.5.sink2127, i32 noundef %3925, ptr noundef nonnull @.str.92, ptr noundef nonnull @.str.1, i32 noundef 359, ptr noundef %3927, ptr noundef %3929, ptr noundef %3931, i32 noundef %3932) #10
  call void @exit(i32 noundef 1) #11
  unreachable

3934:                                             ; preds = %3907
  %3935 = add nsw i32 %3908, 2
  store i32 %3935, ptr @test_count, align 4, !tbaa !5
  %3936 = call i32 @s2n_align_to(i32 noundef 20, i32 noundef 16, ptr noundef nonnull %44) #8
  %3937 = icmp eq i32 %3936, -1
  br i1 %3937, label %3938, label %3960

3938:                                             ; preds = %3934
  %3939 = load i32, ptr %278, align 4, !tbaa !5
  %3940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3941 = call i32 @s2n_print_stacktrace(ptr noundef %3940) #8
  %3942 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3943 = trunc nuw i8 %3942 to i1
  br i1 %3943, label %3944, label %3948

3944:                                             ; preds = %3938
  %3945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3946 = call i32 @fileno(ptr noundef %3945) #8
  %3947 = call i32 @isatty(i32 noundef %3946) #8
  %.not707 = icmp eq i32 %3947, 0
  br i1 %.not707, label %3948, label %3949

3948:                                             ; preds = %3944, %3938
  br label %3949

3949:                                             ; preds = %3944, %3948
  %.str.5.sink2136 = phi ptr [ @.str.5, %3948 ], [ @.str.2, %3944 ]
  store i32 %3939, ptr %278, align 4, !tbaa !5
  %3950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3951 = load i32, ptr @test_count, align 4, !tbaa !5
  %3952 = load i32, ptr %224, align 4, !tbaa !5
  %3953 = call ptr @s2n_strerror(i32 noundef %3952, ptr noundef nonnull @.str.4) #8
  %3954 = load i32, ptr %224, align 4, !tbaa !5
  %3955 = call ptr @s2n_strerror_debug(i32 noundef %3954, ptr noundef nonnull @.str.4) #8
  %3956 = load i32, ptr %278, align 4, !tbaa !5
  %3957 = call ptr @strerror(i32 noundef %3956) #8
  %3958 = load i32, ptr %278, align 4, !tbaa !5
  %3959 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3950, ptr noundef nonnull %.str.5.sink2136, i32 noundef %3951, ptr noundef nonnull @.str.93, ptr noundef nonnull @.str.1, i32 noundef 361, ptr noundef %3953, ptr noundef %3955, ptr noundef %3957, i32 noundef %3958) #10
  call void @exit(i32 noundef 1) #11
  unreachable

3960:                                             ; preds = %3934
  %3961 = load i32, ptr @test_count, align 4, !tbaa !5
  %3962 = add nsw i32 %3961, 1
  store i32 %3962, ptr @test_count, align 4, !tbaa !5
  %3963 = load i32, ptr %44, align 4, !tbaa !5
  %3964 = icmp eq i32 %3963, 32
  br i1 %3964, label %3987, label %3965

3965:                                             ; preds = %3960
  %3966 = load i32, ptr %278, align 4, !tbaa !5
  %3967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3968 = call i32 @s2n_print_stacktrace(ptr noundef %3967) #8
  %3969 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3970 = trunc nuw i8 %3969 to i1
  br i1 %3970, label %3971, label %3975

3971:                                             ; preds = %3965
  %3972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3973 = call i32 @fileno(ptr noundef %3972) #8
  %3974 = call i32 @isatty(i32 noundef %3973) #8
  %.not596 = icmp eq i32 %3974, 0
  br i1 %.not596, label %3975, label %3976

3975:                                             ; preds = %3971, %3965
  br label %3976

3976:                                             ; preds = %3971, %3975
  %.str.5.sink2145 = phi ptr [ @.str.5, %3975 ], [ @.str.2, %3971 ]
  store i32 %3966, ptr %278, align 4, !tbaa !5
  %3977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3978 = load i32, ptr @test_count, align 4, !tbaa !5
  %3979 = load i32, ptr %224, align 4, !tbaa !5
  %3980 = call ptr @s2n_strerror(i32 noundef %3979, ptr noundef nonnull @.str.4) #8
  %3981 = load i32, ptr %224, align 4, !tbaa !5
  %3982 = call ptr @s2n_strerror_debug(i32 noundef %3981, ptr noundef nonnull @.str.4) #8
  %3983 = load i32, ptr %278, align 4, !tbaa !5
  %3984 = call ptr @strerror(i32 noundef %3983) #8
  %3985 = load i32, ptr %278, align 4, !tbaa !5
  %3986 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3977, ptr noundef nonnull %.str.5.sink2145, i32 noundef %3978, ptr noundef nonnull @.str.94, ptr noundef nonnull @.str.1, i32 noundef 362, ptr noundef %3980, ptr noundef %3982, ptr noundef %3984, i32 noundef %3985) #10
  call void @exit(i32 noundef 1) #11
  unreachable

3987:                                             ; preds = %3960
  %3988 = add nsw i32 %3961, 2
  store i32 %3988, ptr @test_count, align 4, !tbaa !5
  %3989 = call i32 @s2n_align_to(i32 noundef -1, i32 noundef 4, ptr noundef nonnull %44) #8
  %3990 = icmp eq i32 %3989, -1
  br i1 %3990, label %4013, label %3991

3991:                                             ; preds = %3987
  %3992 = load i32, ptr %278, align 4, !tbaa !5
  %3993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3994 = call i32 @s2n_print_stacktrace(ptr noundef %3993) #8
  %3995 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3996 = trunc nuw i8 %3995 to i1
  br i1 %3996, label %3997, label %4001

3997:                                             ; preds = %3991
  %3998 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3999 = call i32 @fileno(ptr noundef %3998) #8
  %4000 = call i32 @isatty(i32 noundef %3999) #8
  %.not597 = icmp eq i32 %4000, 0
  br i1 %.not597, label %4001, label %4002

4001:                                             ; preds = %3997, %3991
  br label %4002

4002:                                             ; preds = %3997, %4001
  %.str.5.sink2154 = phi ptr [ @.str.5, %4001 ], [ @.str.2, %3997 ]
  store i32 %3992, ptr %278, align 4, !tbaa !5
  %4003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4004 = load i32, ptr @test_count, align 4, !tbaa !5
  %4005 = load i32, ptr %224, align 4, !tbaa !5
  %4006 = call ptr @s2n_strerror(i32 noundef %4005, ptr noundef nonnull @.str.4) #8
  %4007 = load i32, ptr %224, align 4, !tbaa !5
  %4008 = call ptr @s2n_strerror_debug(i32 noundef %4007, ptr noundef nonnull @.str.4) #8
  %4009 = load i32, ptr %278, align 4, !tbaa !5
  %4010 = call ptr @strerror(i32 noundef %4009) #8
  %4011 = load i32, ptr %278, align 4, !tbaa !5
  %4012 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4003, ptr noundef nonnull %.str.5.sink2154, i32 noundef %4004, ptr noundef nonnull @.str.95, ptr noundef nonnull @.str.1, i32 noundef 364, ptr noundef %4006, ptr noundef %4008, ptr noundef %4010, i32 noundef %4011) #10
  call void @exit(i32 noundef 1) #11
  unreachable

4013:                                             ; preds = %3987
  %4014 = load i32, ptr @test_count, align 4, !tbaa !5
  %4015 = add nsw i32 %4014, 1
  store i32 %4015, ptr @test_count, align 4, !tbaa !5
  %4016 = load i32, ptr %224, align 4, !tbaa !5
  %4017 = icmp eq i32 %4016, 0
  br i1 %4017, label %4018, label %4040

4018:                                             ; preds = %4013
  %4019 = load i32, ptr %278, align 4, !tbaa !5
  %4020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4021 = call i32 @s2n_print_stacktrace(ptr noundef %4020) #8
  %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) #8
  %4027 = call i32 @isatty(i32 noundef %4026) #8
  %.not706 = icmp eq i32 %4027, 0
  br i1 %.not706, label %4028, label %4029

4028:                                             ; preds = %4024, %4018
  br label %4029

4029:                                             ; preds = %4024, %4028
  %.str.5.sink2163 = phi ptr [ @.str.5, %4028 ], [ @.str.2, %4024 ]
  store i32 %4019, ptr %278, 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 %224, align 4, !tbaa !5
  %4033 = call ptr @s2n_strerror(i32 noundef %4032, ptr noundef nonnull @.str.4) #8
  %4034 = load i32, ptr %224, align 4, !tbaa !5
  %4035 = call ptr @s2n_strerror_debug(i32 noundef %4034, ptr noundef nonnull @.str.4) #8
  %4036 = load i32, ptr %278, align 4, !tbaa !5
  %4037 = call ptr @strerror(i32 noundef %4036) #8
  %4038 = load i32, ptr %278, align 4, !tbaa !5
  %4039 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4030, ptr noundef nonnull %.str.5.sink2163, i32 noundef %4031, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 364, ptr noundef %4033, ptr noundef %4035, ptr noundef %4037, i32 noundef %4038) #10
  call void @exit(i32 noundef 1) #11
  unreachable

4040:                                             ; preds = %4013
  %4041 = add nsw i32 %4014, 2
  store i32 %4041, ptr @test_count, align 4, !tbaa !5
  %4042 = call ptr @s2n_strerror_debug(i32 noundef %4016, ptr noundef nonnull @.str.4) #8
  %4043 = icmp eq ptr %4042, null
  br i1 %4043, label %4044, label %4066

4044:                                             ; preds = %4040
  %4045 = load i32, ptr %278, align 4, !tbaa !5
  %4046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4047 = call i32 @s2n_print_stacktrace(ptr noundef %4046) #8
  %4048 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4049 = trunc nuw i8 %4048 to i1
  br i1 %4049, label %4050, label %4054

4050:                                             ; preds = %4044
  %4051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4052 = call i32 @fileno(ptr noundef %4051) #8
  %4053 = call i32 @isatty(i32 noundef %4052) #8
  %.not705 = icmp eq i32 %4053, 0
  br i1 %.not705, label %4054, label %4055

4054:                                             ; preds = %4050, %4044
  br label %4055

4055:                                             ; preds = %4050, %4054
  %.str.5.sink2172 = phi ptr [ @.str.5, %4054 ], [ @.str.2, %4050 ]
  store i32 %4045, ptr %278, align 4, !tbaa !5
  %4056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4057 = load i32, ptr @test_count, align 4, !tbaa !5
  %4058 = load i32, ptr %224, align 4, !tbaa !5
  %4059 = call ptr @s2n_strerror(i32 noundef %4058, ptr noundef nonnull @.str.4) #8
  %4060 = load i32, ptr %224, align 4, !tbaa !5
  %4061 = call ptr @s2n_strerror_debug(i32 noundef %4060, ptr noundef nonnull @.str.4) #8
  %4062 = load i32, ptr %278, align 4, !tbaa !5
  %4063 = call ptr @strerror(i32 noundef %4062) #8
  %4064 = load i32, ptr %278, align 4, !tbaa !5
  %4065 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4056, ptr noundef nonnull %.str.5.sink2172, i32 noundef %4057, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 364, ptr noundef %4059, ptr noundef %4061, ptr noundef %4063, i32 noundef %4064) #10
  call void @exit(i32 noundef 1) #11
  unreachable

4066:                                             ; preds = %4040
  store i32 0, ptr %224, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #8
  store i32 0, ptr %278, align 4, !tbaa !5
  %4067 = load i32, ptr @test_count, align 4, !tbaa !5
  %4068 = add nsw i32 %4067, 1
  store i32 %4068, ptr @test_count, align 4, !tbaa !5
  %4069 = call i32 @s2n_align_to(i32 noundef 10, i32 noundef 4096, ptr noundef nonnull %44) #8
  %4070 = icmp eq i32 %4069, -1
  br i1 %4070, label %4071, label %4093

4071:                                             ; preds = %4066
  %4072 = load i32, ptr %278, align 4, !tbaa !5
  %4073 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4074 = call i32 @s2n_print_stacktrace(ptr noundef %4073) #8
  %4075 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4076 = trunc nuw i8 %4075 to i1
  br i1 %4076, label %4077, label %4081

4077:                                             ; preds = %4071
  %4078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4079 = call i32 @fileno(ptr noundef %4078) #8
  %4080 = call i32 @isatty(i32 noundef %4079) #8
  %.not704 = icmp eq i32 %4080, 0
  br i1 %.not704, label %4081, label %4082

4081:                                             ; preds = %4077, %4071
  br label %4082

4082:                                             ; preds = %4077, %4081
  %.str.5.sink2181 = phi ptr [ @.str.5, %4081 ], [ @.str.2, %4077 ]
  store i32 %4072, ptr %278, align 4, !tbaa !5
  %4083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4084 = load i32, ptr @test_count, align 4, !tbaa !5
  %4085 = load i32, ptr %224, align 4, !tbaa !5
  %4086 = call ptr @s2n_strerror(i32 noundef %4085, ptr noundef nonnull @.str.4) #8
  %4087 = load i32, ptr %224, align 4, !tbaa !5
  %4088 = call ptr @s2n_strerror_debug(i32 noundef %4087, ptr noundef nonnull @.str.4) #8
  %4089 = load i32, ptr %278, align 4, !tbaa !5
  %4090 = call ptr @strerror(i32 noundef %4089) #8
  %4091 = load i32, ptr %278, align 4, !tbaa !5
  %4092 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4083, ptr noundef nonnull %.str.5.sink2181, i32 noundef %4084, ptr noundef nonnull @.str.96, ptr noundef nonnull @.str.1, i32 noundef 366, ptr noundef %4086, ptr noundef %4088, ptr noundef %4090, i32 noundef %4091) #10
  call void @exit(i32 noundef 1) #11
  unreachable

4093:                                             ; preds = %4066
  %4094 = load i32, ptr @test_count, align 4, !tbaa !5
  %4095 = add nsw i32 %4094, 1
  store i32 %4095, ptr @test_count, align 4, !tbaa !5
  %4096 = load i32, ptr %44, align 4, !tbaa !5
  %4097 = icmp eq i32 %4096, 4096
  br i1 %4097, label %4120, label %4098

4098:                                             ; preds = %4093
  %4099 = load i32, ptr %278, align 4, !tbaa !5
  %4100 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4101 = call i32 @s2n_print_stacktrace(ptr noundef %4100) #8
  %4102 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4103 = trunc nuw i8 %4102 to i1
  br i1 %4103, label %4104, label %4108

4104:                                             ; preds = %4098
  %4105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4106 = call i32 @fileno(ptr noundef %4105) #8
  %4107 = call i32 @isatty(i32 noundef %4106) #8
  %.not598 = icmp eq i32 %4107, 0
  br i1 %.not598, label %4108, label %4109

4108:                                             ; preds = %4104, %4098
  br label %4109

4109:                                             ; preds = %4104, %4108
  %.str.5.sink2190 = phi ptr [ @.str.5, %4108 ], [ @.str.2, %4104 ]
  store i32 %4099, ptr %278, align 4, !tbaa !5
  %4110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4111 = load i32, ptr @test_count, align 4, !tbaa !5
  %4112 = load i32, ptr %224, align 4, !tbaa !5
  %4113 = call ptr @s2n_strerror(i32 noundef %4112, ptr noundef nonnull @.str.4) #8
  %4114 = load i32, ptr %224, align 4, !tbaa !5
  %4115 = call ptr @s2n_strerror_debug(i32 noundef %4114, ptr noundef nonnull @.str.4) #8
  %4116 = load i32, ptr %278, align 4, !tbaa !5
  %4117 = call ptr @strerror(i32 noundef %4116) #8
  %4118 = load i32, ptr %278, align 4, !tbaa !5
  %4119 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4110, ptr noundef nonnull %.str.5.sink2190, i32 noundef %4111, ptr noundef nonnull @.str.97, ptr noundef nonnull @.str.1, i32 noundef 367, ptr noundef %4113, ptr noundef %4115, ptr noundef %4117, i32 noundef %4118) #10
  call void @exit(i32 noundef 1) #11
  unreachable

4120:                                             ; preds = %4093
  %4121 = add nsw i32 %4094, 2
  store i32 %4121, ptr @test_count, align 4, !tbaa !5
  %4122 = call i32 @s2n_align_to(i32 noundef 4097, i32 noundef 4096, ptr noundef nonnull %44) #8
  %4123 = icmp eq i32 %4122, -1
  br i1 %4123, label %4124, label %4146

4124:                                             ; preds = %4120
  %4125 = load i32, ptr %278, align 4, !tbaa !5
  %4126 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4127 = call i32 @s2n_print_stacktrace(ptr noundef %4126) #8
  %4128 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4129 = trunc nuw i8 %4128 to i1
  br i1 %4129, label %4130, label %4134

4130:                                             ; preds = %4124
  %4131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4132 = call i32 @fileno(ptr noundef %4131) #8
  %4133 = call i32 @isatty(i32 noundef %4132) #8
  %.not703 = icmp eq i32 %4133, 0
  br i1 %.not703, label %4134, label %4135

4134:                                             ; preds = %4130, %4124
  br label %4135

4135:                                             ; preds = %4130, %4134
  %.str.5.sink2199 = phi ptr [ @.str.5, %4134 ], [ @.str.2, %4130 ]
  store i32 %4125, ptr %278, align 4, !tbaa !5
  %4136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4137 = load i32, ptr @test_count, align 4, !tbaa !5
  %4138 = load i32, ptr %224, align 4, !tbaa !5
  %4139 = call ptr @s2n_strerror(i32 noundef %4138, ptr noundef nonnull @.str.4) #8
  %4140 = load i32, ptr %224, align 4, !tbaa !5
  %4141 = call ptr @s2n_strerror_debug(i32 noundef %4140, ptr noundef nonnull @.str.4) #8
  %4142 = load i32, ptr %278, align 4, !tbaa !5
  %4143 = call ptr @strerror(i32 noundef %4142) #8
  %4144 = load i32, ptr %278, align 4, !tbaa !5
  %4145 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4136, ptr noundef nonnull %.str.5.sink2199, i32 noundef %4137, ptr noundef nonnull @.str.98, ptr noundef nonnull @.str.1, i32 noundef 369, ptr noundef %4139, ptr noundef %4141, ptr noundef %4143, i32 noundef %4144) #10
  call void @exit(i32 noundef 1) #11
  unreachable

4146:                                             ; preds = %4120
  %4147 = load i32, ptr @test_count, align 4, !tbaa !5
  %4148 = add nsw i32 %4147, 1
  store i32 %4148, ptr @test_count, align 4, !tbaa !5
  %4149 = load i32, ptr %44, align 4, !tbaa !5
  %4150 = icmp eq i32 %4149, 8192
  br i1 %4150, label %4173, label %4151

4151:                                             ; preds = %4146
  %4152 = load i32, ptr %278, align 4, !tbaa !5
  %4153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4154 = call i32 @s2n_print_stacktrace(ptr noundef %4153) #8
  %4155 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4156 = trunc nuw i8 %4155 to i1
  br i1 %4156, label %4157, label %4161

4157:                                             ; preds = %4151
  %4158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4159 = call i32 @fileno(ptr noundef %4158) #8
  %4160 = call i32 @isatty(i32 noundef %4159) #8
  %.not599 = icmp eq i32 %4160, 0
  br i1 %.not599, label %4161, label %4162

4161:                                             ; preds = %4157, %4151
  br label %4162

4162:                                             ; preds = %4157, %4161
  %.str.5.sink2208 = phi ptr [ @.str.5, %4161 ], [ @.str.2, %4157 ]
  store i32 %4152, ptr %278, align 4, !tbaa !5
  %4163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4164 = load i32, ptr @test_count, align 4, !tbaa !5
  %4165 = load i32, ptr %224, align 4, !tbaa !5
  %4166 = call ptr @s2n_strerror(i32 noundef %4165, ptr noundef nonnull @.str.4) #8
  %4167 = load i32, ptr %224, align 4, !tbaa !5
  %4168 = call ptr @s2n_strerror_debug(i32 noundef %4167, ptr noundef nonnull @.str.4) #8
  %4169 = load i32, ptr %278, align 4, !tbaa !5
  %4170 = call ptr @strerror(i32 noundef %4169) #8
  %4171 = load i32, ptr %278, align 4, !tbaa !5
  %4172 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4163, ptr noundef nonnull %.str.5.sink2208, i32 noundef %4164, ptr noundef nonnull @.str.99, ptr noundef nonnull @.str.1, i32 noundef 370, ptr noundef %4166, ptr noundef %4168, ptr noundef %4170, i32 noundef %4171) #10
  call void @exit(i32 noundef 1) #11
  unreachable

4173:                                             ; preds = %4146
  %4174 = add nsw i32 %4147, 2
  store i32 %4174, ptr @test_count, align 4, !tbaa !5
  %4175 = call i32 @s2n_align_to(i32 noundef 4096, i32 noundef 4096, ptr noundef nonnull %44) #8
  %4176 = icmp eq i32 %4175, -1
  br i1 %4176, label %4177, label %4199

4177:                                             ; preds = %4173
  %4178 = load i32, ptr %278, align 4, !tbaa !5
  %4179 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4180 = call i32 @s2n_print_stacktrace(ptr noundef %4179) #8
  %4181 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4182 = trunc nuw i8 %4181 to i1
  br i1 %4182, label %4183, label %4187

4183:                                             ; preds = %4177
  %4184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4185 = call i32 @fileno(ptr noundef %4184) #8
  %4186 = call i32 @isatty(i32 noundef %4185) #8
  %.not702 = icmp eq i32 %4186, 0
  br i1 %.not702, label %4187, label %4188

4187:                                             ; preds = %4183, %4177
  br label %4188

4188:                                             ; preds = %4183, %4187
  %.str.5.sink2217 = phi ptr [ @.str.5, %4187 ], [ @.str.2, %4183 ]
  store i32 %4178, ptr %278, align 4, !tbaa !5
  %4189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4190 = load i32, ptr @test_count, align 4, !tbaa !5
  %4191 = load i32, ptr %224, align 4, !tbaa !5
  %4192 = call ptr @s2n_strerror(i32 noundef %4191, ptr noundef nonnull @.str.4) #8
  %4193 = load i32, ptr %224, align 4, !tbaa !5
  %4194 = call ptr @s2n_strerror_debug(i32 noundef %4193, ptr noundef nonnull @.str.4) #8
  %4195 = load i32, ptr %278, align 4, !tbaa !5
  %4196 = call ptr @strerror(i32 noundef %4195) #8
  %4197 = load i32, ptr %278, align 4, !tbaa !5
  %4198 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4189, ptr noundef nonnull %.str.5.sink2217, i32 noundef %4190, ptr noundef nonnull @.str.100, ptr noundef nonnull @.str.1, i32 noundef 372, ptr noundef %4192, ptr noundef %4194, ptr noundef %4196, i32 noundef %4197) #10
  call void @exit(i32 noundef 1) #11
  unreachable

4199:                                             ; preds = %4173
  %4200 = load i32, ptr @test_count, align 4, !tbaa !5
  %4201 = add nsw i32 %4200, 1
  store i32 %4201, ptr @test_count, align 4, !tbaa !5
  %4202 = load i32, ptr %44, align 4, !tbaa !5
  %4203 = icmp eq i32 %4202, 4096
  br i1 %4203, label %4226, label %4204

4204:                                             ; preds = %4199
  %4205 = load i32, ptr %278, align 4, !tbaa !5
  %4206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4207 = call i32 @s2n_print_stacktrace(ptr noundef %4206) #8
  %4208 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4209 = trunc nuw i8 %4208 to i1
  br i1 %4209, label %4210, label %4214

4210:                                             ; preds = %4204
  %4211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4212 = call i32 @fileno(ptr noundef %4211) #8
  %4213 = call i32 @isatty(i32 noundef %4212) #8
  %.not600 = icmp eq i32 %4213, 0
  br i1 %.not600, label %4214, label %4215

4214:                                             ; preds = %4210, %4204
  br label %4215

4215:                                             ; preds = %4210, %4214
  %.str.5.sink2226 = phi ptr [ @.str.5, %4214 ], [ @.str.2, %4210 ]
  store i32 %4205, ptr %278, align 4, !tbaa !5
  %4216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4217 = load i32, ptr @test_count, align 4, !tbaa !5
  %4218 = load i32, ptr %224, align 4, !tbaa !5
  %4219 = call ptr @s2n_strerror(i32 noundef %4218, ptr noundef nonnull @.str.4) #8
  %4220 = load i32, ptr %224, align 4, !tbaa !5
  %4221 = call ptr @s2n_strerror_debug(i32 noundef %4220, ptr noundef nonnull @.str.4) #8
  %4222 = load i32, ptr %278, align 4, !tbaa !5
  %4223 = call ptr @strerror(i32 noundef %4222) #8
  %4224 = load i32, ptr %278, align 4, !tbaa !5
  %4225 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4216, ptr noundef nonnull %.str.5.sink2226, i32 noundef %4217, ptr noundef nonnull @.str.97, ptr noundef nonnull @.str.1, i32 noundef 373, ptr noundef %4219, ptr noundef %4221, ptr noundef %4223, i32 noundef %4224) #10
  call void @exit(i32 noundef 1) #11
  unreachable

4226:                                             ; preds = %4199
  %4227 = add nsw i32 %4200, 2
  store i32 %4227, ptr @test_count, align 4, !tbaa !5
  %4228 = call i32 @s2n_align_to(i32 noundef -4001, i32 noundef 4096, ptr noundef nonnull %44) #8
  %4229 = icmp eq i32 %4228, -1
  br i1 %4229, label %4252, label %4230

4230:                                             ; preds = %4226
  %4231 = load i32, ptr %278, align 4, !tbaa !5
  %4232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4233 = call i32 @s2n_print_stacktrace(ptr noundef %4232) #8
  %4234 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4235 = trunc nuw i8 %4234 to i1
  br i1 %4235, label %4236, label %4240

4236:                                             ; preds = %4230
  %4237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4238 = call i32 @fileno(ptr noundef %4237) #8
  %4239 = call i32 @isatty(i32 noundef %4238) #8
  %.not601 = icmp eq i32 %4239, 0
  br i1 %.not601, label %4240, label %4241

4240:                                             ; preds = %4236, %4230
  br label %4241

4241:                                             ; preds = %4236, %4240
  %.str.5.sink2235 = phi ptr [ @.str.5, %4240 ], [ @.str.2, %4236 ]
  store i32 %4231, ptr %278, align 4, !tbaa !5
  %4242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4243 = load i32, ptr @test_count, align 4, !tbaa !5
  %4244 = load i32, ptr %224, align 4, !tbaa !5
  %4245 = call ptr @s2n_strerror(i32 noundef %4244, ptr noundef nonnull @.str.4) #8
  %4246 = load i32, ptr %224, align 4, !tbaa !5
  %4247 = call ptr @s2n_strerror_debug(i32 noundef %4246, ptr noundef nonnull @.str.4) #8
  %4248 = load i32, ptr %278, align 4, !tbaa !5
  %4249 = call ptr @strerror(i32 noundef %4248) #8
  %4250 = load i32, ptr %278, align 4, !tbaa !5
  %4251 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4242, ptr noundef nonnull %.str.5.sink2235, i32 noundef %4243, ptr noundef nonnull @.str.101, ptr noundef nonnull @.str.1, i32 noundef 375, ptr noundef %4245, ptr noundef %4247, ptr noundef %4249, i32 noundef %4250) #10
  call void @exit(i32 noundef 1) #11
  unreachable

4252:                                             ; preds = %4226
  %4253 = load i32, ptr @test_count, align 4, !tbaa !5
  %4254 = add nsw i32 %4253, 1
  store i32 %4254, ptr @test_count, align 4, !tbaa !5
  %4255 = load i32, ptr %224, align 4, !tbaa !5
  %4256 = icmp eq i32 %4255, 0
  br i1 %4256, label %4257, label %4279

4257:                                             ; preds = %4252
  %4258 = load i32, ptr %278, align 4, !tbaa !5
  %4259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4260 = call i32 @s2n_print_stacktrace(ptr noundef %4259) #8
  %4261 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4262 = trunc nuw i8 %4261 to i1
  br i1 %4262, label %4263, label %4267

4263:                                             ; preds = %4257
  %4264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4265 = call i32 @fileno(ptr noundef %4264) #8
  %4266 = call i32 @isatty(i32 noundef %4265) #8
  %.not701 = icmp eq i32 %4266, 0
  br i1 %.not701, label %4267, label %4268

4267:                                             ; preds = %4263, %4257
  br label %4268

4268:                                             ; preds = %4263, %4267
  %.str.5.sink2244 = phi ptr [ @.str.5, %4267 ], [ @.str.2, %4263 ]
  store i32 %4258, ptr %278, align 4, !tbaa !5
  %4269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4270 = load i32, ptr @test_count, align 4, !tbaa !5
  %4271 = load i32, ptr %224, align 4, !tbaa !5
  %4272 = call ptr @s2n_strerror(i32 noundef %4271, ptr noundef nonnull @.str.4) #8
  %4273 = load i32, ptr %224, align 4, !tbaa !5
  %4274 = call ptr @s2n_strerror_debug(i32 noundef %4273, ptr noundef nonnull @.str.4) #8
  %4275 = load i32, ptr %278, align 4, !tbaa !5
  %4276 = call ptr @strerror(i32 noundef %4275) #8
  %4277 = load i32, ptr %278, align 4, !tbaa !5
  %4278 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4269, ptr noundef nonnull %.str.5.sink2244, i32 noundef %4270, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 375, ptr noundef %4272, ptr noundef %4274, ptr noundef %4276, i32 noundef %4277) #10
  call void @exit(i32 noundef 1) #11
  unreachable

4279:                                             ; preds = %4252
  %4280 = add nsw i32 %4253, 2
  store i32 %4280, ptr @test_count, align 4, !tbaa !5
  %4281 = call ptr @s2n_strerror_debug(i32 noundef %4255, ptr noundef nonnull @.str.4) #8
  %4282 = icmp eq ptr %4281, null
  br i1 %4282, label %4283, label %4305

4283:                                             ; preds = %4279
  %4284 = load i32, ptr %278, align 4, !tbaa !5
  %4285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4286 = call i32 @s2n_print_stacktrace(ptr noundef %4285) #8
  %4287 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4288 = trunc nuw i8 %4287 to i1
  br i1 %4288, label %4289, label %4293

4289:                                             ; preds = %4283
  %4290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4291 = call i32 @fileno(ptr noundef %4290) #8
  %4292 = call i32 @isatty(i32 noundef %4291) #8
  %.not700 = icmp eq i32 %4292, 0
  br i1 %.not700, label %4293, label %4294

4293:                                             ; preds = %4289, %4283
  br label %4294

4294:                                             ; preds = %4289, %4293
  %.str.5.sink2253 = phi ptr [ @.str.5, %4293 ], [ @.str.2, %4289 ]
  store i32 %4284, ptr %278, align 4, !tbaa !5
  %4295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4296 = load i32, ptr @test_count, align 4, !tbaa !5
  %4297 = load i32, ptr %224, align 4, !tbaa !5
  %4298 = call ptr @s2n_strerror(i32 noundef %4297, ptr noundef nonnull @.str.4) #8
  %4299 = load i32, ptr %224, align 4, !tbaa !5
  %4300 = call ptr @s2n_strerror_debug(i32 noundef %4299, ptr noundef nonnull @.str.4) #8
  %4301 = load i32, ptr %278, align 4, !tbaa !5
  %4302 = call ptr @strerror(i32 noundef %4301) #8
  %4303 = load i32, ptr %278, align 4, !tbaa !5
  %4304 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4295, ptr noundef nonnull %.str.5.sink2253, i32 noundef %4296, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 375, ptr noundef %4298, ptr noundef %4300, ptr noundef %4302, i32 noundef %4303) #10
  call void @exit(i32 noundef 1) #11
  unreachable

4305:                                             ; preds = %4279
  store i32 0, ptr %224, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #8
  store i32 0, ptr %278, align 4, !tbaa !5
  %4306 = load i32, ptr @test_count, align 4, !tbaa !5
  %4307 = add nsw i32 %4306, 1
  store i32 %4307, ptr @test_count, align 4, !tbaa !5
  %4308 = call i32 @s2n_align_to(i32 noundef -1, i32 noundef 4096, ptr noundef nonnull %44) #8
  %4309 = icmp eq i32 %4308, -1
  br i1 %4309, label %4332, label %4310

4310:                                             ; preds = %4305
  %4311 = load i32, ptr %278, align 4, !tbaa !5
  %4312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4313 = call i32 @s2n_print_stacktrace(ptr noundef %4312) #8
  %4314 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4315 = trunc nuw i8 %4314 to i1
  br i1 %4315, label %4316, label %4320

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

4320:                                             ; preds = %4316, %4310
  br label %4321

4321:                                             ; preds = %4316, %4320
  %.str.5.sink2262 = phi ptr [ @.str.5, %4320 ], [ @.str.2, %4316 ]
  store i32 %4311, ptr %278, align 4, !tbaa !5
  %4322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4323 = load i32, ptr @test_count, align 4, !tbaa !5
  %4324 = load i32, ptr %224, align 4, !tbaa !5
  %4325 = call ptr @s2n_strerror(i32 noundef %4324, ptr noundef nonnull @.str.4) #8
  %4326 = load i32, ptr %224, align 4, !tbaa !5
  %4327 = call ptr @s2n_strerror_debug(i32 noundef %4326, ptr noundef nonnull @.str.4) #8
  %4328 = load i32, ptr %278, align 4, !tbaa !5
  %4329 = call ptr @strerror(i32 noundef %4328) #8
  %4330 = load i32, ptr %278, align 4, !tbaa !5
  %4331 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4322, ptr noundef nonnull %.str.5.sink2262, i32 noundef %4323, ptr noundef nonnull @.str.102, ptr noundef nonnull @.str.1, i32 noundef 376, ptr noundef %4325, ptr noundef %4327, ptr noundef %4329, i32 noundef %4330) #10
  call void @exit(i32 noundef 1) #11
  unreachable

4332:                                             ; preds = %4305
  %4333 = load i32, ptr @test_count, align 4, !tbaa !5
  %4334 = add nsw i32 %4333, 1
  store i32 %4334, ptr @test_count, align 4, !tbaa !5
  %4335 = load i32, ptr %224, align 4, !tbaa !5
  %4336 = icmp eq i32 %4335, 0
  br i1 %4336, label %4337, label %4359

4337:                                             ; preds = %4332
  %4338 = load i32, ptr %278, align 4, !tbaa !5
  %4339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4340 = call i32 @s2n_print_stacktrace(ptr noundef %4339) #8
  %4341 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4342 = trunc nuw i8 %4341 to i1
  br i1 %4342, label %4343, label %4347

4343:                                             ; preds = %4337
  %4344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4345 = call i32 @fileno(ptr noundef %4344) #8
  %4346 = call i32 @isatty(i32 noundef %4345) #8
  %.not699 = icmp eq i32 %4346, 0
  br i1 %.not699, label %4347, label %4348

4347:                                             ; preds = %4343, %4337
  br label %4348

4348:                                             ; preds = %4343, %4347
  %.str.5.sink2271 = phi ptr [ @.str.5, %4347 ], [ @.str.2, %4343 ]
  store i32 %4338, ptr %278, align 4, !tbaa !5
  %4349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4350 = load i32, ptr @test_count, align 4, !tbaa !5
  %4351 = load i32, ptr %224, align 4, !tbaa !5
  %4352 = call ptr @s2n_strerror(i32 noundef %4351, ptr noundef nonnull @.str.4) #8
  %4353 = load i32, ptr %224, align 4, !tbaa !5
  %4354 = call ptr @s2n_strerror_debug(i32 noundef %4353, ptr noundef nonnull @.str.4) #8
  %4355 = load i32, ptr %278, align 4, !tbaa !5
  %4356 = call ptr @strerror(i32 noundef %4355) #8
  %4357 = load i32, ptr %278, align 4, !tbaa !5
  %4358 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4349, ptr noundef nonnull %.str.5.sink2271, i32 noundef %4350, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 376, ptr noundef %4352, ptr noundef %4354, ptr noundef %4356, i32 noundef %4357) #10
  call void @exit(i32 noundef 1) #11
  unreachable

4359:                                             ; preds = %4332
  %4360 = add nsw i32 %4333, 2
  store i32 %4360, ptr @test_count, align 4, !tbaa !5
  %4361 = call ptr @s2n_strerror_debug(i32 noundef %4335, ptr noundef nonnull @.str.4) #8
  %4362 = icmp eq ptr %4361, null
  br i1 %4362, label %4363, label %4385

4363:                                             ; preds = %4359
  %4364 = load i32, ptr %278, align 4, !tbaa !5
  %4365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4366 = call i32 @s2n_print_stacktrace(ptr noundef %4365) #8
  %4367 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4368 = trunc nuw i8 %4367 to i1
  br i1 %4368, label %4369, label %4373

4369:                                             ; preds = %4363
  %4370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4371 = call i32 @fileno(ptr noundef %4370) #8
  %4372 = call i32 @isatty(i32 noundef %4371) #8
  %.not698 = icmp eq i32 %4372, 0
  br i1 %.not698, label %4373, label %4374

4373:                                             ; preds = %4369, %4363
  br label %4374

4374:                                             ; preds = %4369, %4373
  %.str.5.sink2280 = phi ptr [ @.str.5, %4373 ], [ @.str.2, %4369 ]
  store i32 %4364, ptr %278, align 4, !tbaa !5
  %4375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4376 = load i32, ptr @test_count, align 4, !tbaa !5
  %4377 = load i32, ptr %224, align 4, !tbaa !5
  %4378 = call ptr @s2n_strerror(i32 noundef %4377, ptr noundef nonnull @.str.4) #8
  %4379 = load i32, ptr %224, align 4, !tbaa !5
  %4380 = call ptr @s2n_strerror_debug(i32 noundef %4379, ptr noundef nonnull @.str.4) #8
  %4381 = load i32, ptr %278, align 4, !tbaa !5
  %4382 = call ptr @strerror(i32 noundef %4381) #8
  %4383 = load i32, ptr %278, align 4, !tbaa !5
  %4384 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4375, ptr noundef nonnull %.str.5.sink2280, i32 noundef %4376, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 376, ptr noundef %4378, ptr noundef %4380, ptr noundef %4382, i32 noundef %4383) #10
  call void @exit(i32 noundef 1) #11
  unreachable

4385:                                             ; preds = %4359
  store i32 0, ptr %224, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #8
  store i32 0, ptr %278, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %45) #8
  %4386 = load i32, ptr @test_count, align 4, !tbaa !5
  %4387 = add nsw i32 %4386, 1
  store i32 %4387, ptr @test_count, align 4, !tbaa !5
  %4388 = call i32 @s2n_add_overflow(i32 noundef 0, i32 noundef 0, ptr noundef nonnull %45) #8
  %4389 = icmp eq i32 %4388, -1
  br i1 %4389, label %4390, label %4412

4390:                                             ; preds = %4385
  %4391 = load i32, ptr %278, align 4, !tbaa !5
  %4392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4393 = call i32 @s2n_print_stacktrace(ptr noundef %4392) #8
  %4394 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4395 = trunc nuw i8 %4394 to i1
  br i1 %4395, label %4396, label %4400

4396:                                             ; preds = %4390
  %4397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4398 = call i32 @fileno(ptr noundef %4397) #8
  %4399 = call i32 @isatty(i32 noundef %4398) #8
  %.not697 = icmp eq i32 %4399, 0
  br i1 %.not697, label %4400, label %4401

4400:                                             ; preds = %4396, %4390
  br label %4401

4401:                                             ; preds = %4396, %4400
  %.str.5.sink2289 = phi ptr [ @.str.5, %4400 ], [ @.str.2, %4396 ]
  store i32 %4391, ptr %278, align 4, !tbaa !5
  %4402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4403 = load i32, ptr @test_count, align 4, !tbaa !5
  %4404 = load i32, ptr %224, align 4, !tbaa !5
  %4405 = call ptr @s2n_strerror(i32 noundef %4404, ptr noundef nonnull @.str.4) #8
  %4406 = load i32, ptr %224, align 4, !tbaa !5
  %4407 = call ptr @s2n_strerror_debug(i32 noundef %4406, ptr noundef nonnull @.str.4) #8
  %4408 = load i32, ptr %278, align 4, !tbaa !5
  %4409 = call ptr @strerror(i32 noundef %4408) #8
  %4410 = load i32, ptr %278, align 4, !tbaa !5
  %4411 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4402, ptr noundef nonnull %.str.5.sink2289, i32 noundef %4403, ptr noundef nonnull @.str.103, ptr noundef nonnull @.str.1, i32 noundef 380, ptr noundef %4405, ptr noundef %4407, ptr noundef %4409, i32 noundef %4410) #10
  call void @exit(i32 noundef 1) #11
  unreachable

4412:                                             ; preds = %4385
  %4413 = load i32, ptr @test_count, align 4, !tbaa !5
  %4414 = add nsw i32 %4413, 1
  store i32 %4414, ptr @test_count, align 4, !tbaa !5
  %4415 = load i32, ptr %45, align 4, !tbaa !5
  %4416 = icmp eq i32 %4415, 0
  br i1 %4416, label %4439, label %4417

4417:                                             ; preds = %4412
  %4418 = load i32, ptr %278, align 4, !tbaa !5
  %4419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4420 = call i32 @s2n_print_stacktrace(ptr noundef %4419) #8
  %4421 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4422 = trunc nuw i8 %4421 to i1
  br i1 %4422, label %4423, label %4427

4423:                                             ; preds = %4417
  %4424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4425 = call i32 @fileno(ptr noundef %4424) #8
  %4426 = call i32 @isatty(i32 noundef %4425) #8
  %.not603 = icmp eq i32 %4426, 0
  br i1 %.not603, label %4427, label %4428

4427:                                             ; preds = %4423, %4417
  br label %4428

4428:                                             ; preds = %4423, %4427
  %.str.5.sink2298 = phi ptr [ @.str.5, %4427 ], [ @.str.2, %4423 ]
  store i32 %4418, ptr %278, align 4, !tbaa !5
  %4429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4430 = load i32, ptr @test_count, align 4, !tbaa !5
  %4431 = load i32, ptr %224, align 4, !tbaa !5
  %4432 = call ptr @s2n_strerror(i32 noundef %4431, ptr noundef nonnull @.str.4) #8
  %4433 = load i32, ptr %224, align 4, !tbaa !5
  %4434 = call ptr @s2n_strerror_debug(i32 noundef %4433, ptr noundef nonnull @.str.4) #8
  %4435 = load i32, ptr %278, align 4, !tbaa !5
  %4436 = call ptr @strerror(i32 noundef %4435) #8
  %4437 = load i32, ptr %278, align 4, !tbaa !5
  %4438 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4429, ptr noundef nonnull %.str.5.sink2298, i32 noundef %4430, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.1, i32 noundef 380, ptr noundef %4432, ptr noundef %4434, ptr noundef %4436, i32 noundef %4437) #10
  call void @exit(i32 noundef 1) #11
  unreachable

4439:                                             ; preds = %4412
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %45) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %46) #8
  %4440 = add nsw i32 %4413, 2
  store i32 %4440, ptr @test_count, align 4, !tbaa !5
  %4441 = call i32 @s2n_add_overflow(i32 noundef 0, i32 noundef 0, ptr noundef nonnull %46) #8
  %4442 = icmp eq i32 %4441, -1
  br i1 %4442, label %4443, label %4465

4443:                                             ; preds = %4439
  %4444 = load i32, ptr %278, align 4, !tbaa !5
  %4445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4446 = call i32 @s2n_print_stacktrace(ptr noundef %4445) #8
  %4447 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4448 = trunc nuw i8 %4447 to i1
  br i1 %4448, label %4449, label %4453

4449:                                             ; preds = %4443
  %4450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4451 = call i32 @fileno(ptr noundef %4450) #8
  %4452 = call i32 @isatty(i32 noundef %4451) #8
  %.not696 = icmp eq i32 %4452, 0
  br i1 %.not696, label %4453, label %4454

4453:                                             ; preds = %4449, %4443
  br label %4454

4454:                                             ; preds = %4449, %4453
  %.str.5.sink2307 = phi ptr [ @.str.5, %4453 ], [ @.str.2, %4449 ]
  store i32 %4444, ptr %278, align 4, !tbaa !5
  %4455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4456 = load i32, ptr @test_count, align 4, !tbaa !5
  %4457 = load i32, ptr %224, align 4, !tbaa !5
  %4458 = call ptr @s2n_strerror(i32 noundef %4457, ptr noundef nonnull @.str.4) #8
  %4459 = load i32, ptr %224, align 4, !tbaa !5
  %4460 = call ptr @s2n_strerror_debug(i32 noundef %4459, ptr noundef nonnull @.str.4) #8
  %4461 = load i32, ptr %278, align 4, !tbaa !5
  %4462 = call ptr @strerror(i32 noundef %4461) #8
  %4463 = load i32, ptr %278, align 4, !tbaa !5
  %4464 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4455, ptr noundef nonnull %.str.5.sink2307, i32 noundef %4456, ptr noundef nonnull @.str.103, ptr noundef nonnull @.str.1, i32 noundef 380, ptr noundef %4458, ptr noundef %4460, ptr noundef %4462, i32 noundef %4463) #10
  call void @exit(i32 noundef 1) #11
  unreachable

4465:                                             ; preds = %4439
  %4466 = load i32, ptr @test_count, align 4, !tbaa !5
  %4467 = add nsw i32 %4466, 1
  store i32 %4467, ptr @test_count, align 4, !tbaa !5
  %4468 = load i32, ptr %46, align 4, !tbaa !5
  %4469 = icmp eq i32 %4468, 0
  br i1 %4469, label %4492, label %4470

4470:                                             ; preds = %4465
  %4471 = load i32, ptr %278, align 4, !tbaa !5
  %4472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4473 = call i32 @s2n_print_stacktrace(ptr noundef %4472) #8
  %4474 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4475 = trunc nuw i8 %4474 to i1
  br i1 %4475, label %4476, label %4480

4476:                                             ; preds = %4470
  %4477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4478 = call i32 @fileno(ptr noundef %4477) #8
  %4479 = call i32 @isatty(i32 noundef %4478) #8
  %.not604 = icmp eq i32 %4479, 0
  br i1 %.not604, label %4480, label %4481

4480:                                             ; preds = %4476, %4470
  br label %4481

4481:                                             ; preds = %4476, %4480
  %.str.5.sink2316 = phi ptr [ @.str.5, %4480 ], [ @.str.2, %4476 ]
  store i32 %4471, ptr %278, align 4, !tbaa !5
  %4482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4483 = load i32, ptr @test_count, align 4, !tbaa !5
  %4484 = load i32, ptr %224, align 4, !tbaa !5
  %4485 = call ptr @s2n_strerror(i32 noundef %4484, ptr noundef nonnull @.str.4) #8
  %4486 = load i32, ptr %224, align 4, !tbaa !5
  %4487 = call ptr @s2n_strerror_debug(i32 noundef %4486, ptr noundef nonnull @.str.4) #8
  %4488 = load i32, ptr %278, align 4, !tbaa !5
  %4489 = call ptr @strerror(i32 noundef %4488) #8
  %4490 = load i32, ptr %278, align 4, !tbaa !5
  %4491 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4482, ptr noundef nonnull %.str.5.sink2316, i32 noundef %4483, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.1, i32 noundef 380, ptr noundef %4485, ptr noundef %4487, ptr noundef %4489, i32 noundef %4490) #10
  call void @exit(i32 noundef 1) #11
  unreachable

4492:                                             ; preds = %4465
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %46) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %47) #8
  %4493 = add nsw i32 %4466, 2
  store i32 %4493, ptr @test_count, align 4, !tbaa !5
  %4494 = call i32 @s2n_add_overflow(i32 noundef 0, i32 noundef 1, ptr noundef nonnull %47) #8
  %4495 = icmp eq i32 %4494, -1
  br i1 %4495, label %4496, label %4518

4496:                                             ; preds = %4492
  %4497 = load i32, ptr %278, align 4, !tbaa !5
  %4498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4499 = call i32 @s2n_print_stacktrace(ptr noundef %4498) #8
  %4500 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4501 = trunc nuw i8 %4500 to i1
  br i1 %4501, label %4502, label %4506

4502:                                             ; preds = %4496
  %4503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4504 = call i32 @fileno(ptr noundef %4503) #8
  %4505 = call i32 @isatty(i32 noundef %4504) #8
  %.not695 = icmp eq i32 %4505, 0
  br i1 %.not695, label %4506, label %4507

4506:                                             ; preds = %4502, %4496
  br label %4507

4507:                                             ; preds = %4502, %4506
  %.str.5.sink2325 = phi ptr [ @.str.5, %4506 ], [ @.str.2, %4502 ]
  store i32 %4497, ptr %278, align 4, !tbaa !5
  %4508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4509 = load i32, ptr @test_count, align 4, !tbaa !5
  %4510 = load i32, ptr %224, align 4, !tbaa !5
  %4511 = call ptr @s2n_strerror(i32 noundef %4510, ptr noundef nonnull @.str.4) #8
  %4512 = load i32, ptr %224, align 4, !tbaa !5
  %4513 = call ptr @s2n_strerror_debug(i32 noundef %4512, ptr noundef nonnull @.str.4) #8
  %4514 = load i32, ptr %278, align 4, !tbaa !5
  %4515 = call ptr @strerror(i32 noundef %4514) #8
  %4516 = load i32, ptr %278, align 4, !tbaa !5
  %4517 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4508, ptr noundef nonnull %.str.5.sink2325, i32 noundef %4509, ptr noundef nonnull @.str.104, ptr noundef nonnull @.str.1, i32 noundef 381, ptr noundef %4511, ptr noundef %4513, ptr noundef %4515, i32 noundef %4516) #10
  call void @exit(i32 noundef 1) #11
  unreachable

4518:                                             ; preds = %4492
  %4519 = load i32, ptr @test_count, align 4, !tbaa !5
  %4520 = add nsw i32 %4519, 1
  store i32 %4520, ptr @test_count, align 4, !tbaa !5
  %4521 = load i32, ptr %47, align 4, !tbaa !5
  %4522 = icmp eq i32 %4521, 1
  br i1 %4522, label %4545, label %4523

4523:                                             ; preds = %4518
  %4524 = load i32, ptr %278, align 4, !tbaa !5
  %4525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4526 = call i32 @s2n_print_stacktrace(ptr noundef %4525) #8
  %4527 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4528 = trunc nuw i8 %4527 to i1
  br i1 %4528, label %4529, label %4533

4529:                                             ; preds = %4523
  %4530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4531 = call i32 @fileno(ptr noundef %4530) #8
  %4532 = call i32 @isatty(i32 noundef %4531) #8
  %.not605 = icmp eq i32 %4532, 0
  br i1 %.not605, label %4533, label %4534

4533:                                             ; preds = %4529, %4523
  br label %4534

4534:                                             ; preds = %4529, %4533
  %.str.5.sink2334 = phi ptr [ @.str.5, %4533 ], [ @.str.2, %4529 ]
  store i32 %4524, ptr %278, align 4, !tbaa !5
  %4535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4536 = load i32, ptr @test_count, align 4, !tbaa !5
  %4537 = load i32, ptr %224, align 4, !tbaa !5
  %4538 = call ptr @s2n_strerror(i32 noundef %4537, ptr noundef nonnull @.str.4) #8
  %4539 = load i32, ptr %224, align 4, !tbaa !5
  %4540 = call ptr @s2n_strerror_debug(i32 noundef %4539, ptr noundef nonnull @.str.4) #8
  %4541 = load i32, ptr %278, align 4, !tbaa !5
  %4542 = call ptr @strerror(i32 noundef %4541) #8
  %4543 = load i32, ptr %278, align 4, !tbaa !5
  %4544 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4535, ptr noundef nonnull %.str.5.sink2334, i32 noundef %4536, ptr noundef nonnull @.str.105, ptr noundef nonnull @.str.1, i32 noundef 381, ptr noundef %4538, ptr noundef %4540, ptr noundef %4542, i32 noundef %4543) #10
  call void @exit(i32 noundef 1) #11
  unreachable

4545:                                             ; preds = %4518
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %47) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %48) #8
  %4546 = add nsw i32 %4519, 2
  store i32 %4546, ptr @test_count, align 4, !tbaa !5
  %4547 = call i32 @s2n_add_overflow(i32 noundef 1, i32 noundef 0, ptr noundef nonnull %48) #8
  %4548 = icmp eq i32 %4547, -1
  br i1 %4548, label %4549, label %4571

4549:                                             ; preds = %4545
  %4550 = load i32, ptr %278, align 4, !tbaa !5
  %4551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4552 = call i32 @s2n_print_stacktrace(ptr noundef %4551) #8
  %4553 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4554 = trunc nuw i8 %4553 to i1
  br i1 %4554, label %4555, label %4559

4555:                                             ; preds = %4549
  %4556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4557 = call i32 @fileno(ptr noundef %4556) #8
  %4558 = call i32 @isatty(i32 noundef %4557) #8
  %.not694 = icmp eq i32 %4558, 0
  br i1 %.not694, label %4559, label %4560

4559:                                             ; preds = %4555, %4549
  br label %4560

4560:                                             ; preds = %4555, %4559
  %.str.5.sink2343 = phi ptr [ @.str.5, %4559 ], [ @.str.2, %4555 ]
  store i32 %4550, ptr %278, align 4, !tbaa !5
  %4561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4562 = load i32, ptr @test_count, align 4, !tbaa !5
  %4563 = load i32, ptr %224, align 4, !tbaa !5
  %4564 = call ptr @s2n_strerror(i32 noundef %4563, ptr noundef nonnull @.str.4) #8
  %4565 = load i32, ptr %224, align 4, !tbaa !5
  %4566 = call ptr @s2n_strerror_debug(i32 noundef %4565, ptr noundef nonnull @.str.4) #8
  %4567 = load i32, ptr %278, align 4, !tbaa !5
  %4568 = call ptr @strerror(i32 noundef %4567) #8
  %4569 = load i32, ptr %278, align 4, !tbaa !5
  %4570 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4561, ptr noundef nonnull %.str.5.sink2343, i32 noundef %4562, ptr noundef nonnull @.str.106, ptr noundef nonnull @.str.1, i32 noundef 381, ptr noundef %4564, ptr noundef %4566, ptr noundef %4568, i32 noundef %4569) #10
  call void @exit(i32 noundef 1) #11
  unreachable

4571:                                             ; preds = %4545
  %4572 = load i32, ptr @test_count, align 4, !tbaa !5
  %4573 = add nsw i32 %4572, 1
  store i32 %4573, ptr @test_count, align 4, !tbaa !5
  %4574 = load i32, ptr %48, align 4, !tbaa !5
  %4575 = icmp eq i32 %4574, 1
  br i1 %4575, label %4598, label %4576

4576:                                             ; preds = %4571
  %4577 = load i32, ptr %278, align 4, !tbaa !5
  %4578 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4579 = call i32 @s2n_print_stacktrace(ptr noundef %4578) #8
  %4580 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4581 = trunc nuw i8 %4580 to i1
  br i1 %4581, label %4582, label %4586

4582:                                             ; preds = %4576
  %4583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4584 = call i32 @fileno(ptr noundef %4583) #8
  %4585 = call i32 @isatty(i32 noundef %4584) #8
  %.not606 = icmp eq i32 %4585, 0
  br i1 %.not606, label %4586, label %4587

4586:                                             ; preds = %4582, %4576
  br label %4587

4587:                                             ; preds = %4582, %4586
  %.str.5.sink2352 = phi ptr [ @.str.5, %4586 ], [ @.str.2, %4582 ]
  store i32 %4577, ptr %278, align 4, !tbaa !5
  %4588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4589 = load i32, ptr @test_count, align 4, !tbaa !5
  %4590 = load i32, ptr %224, align 4, !tbaa !5
  %4591 = call ptr @s2n_strerror(i32 noundef %4590, ptr noundef nonnull @.str.4) #8
  %4592 = load i32, ptr %224, align 4, !tbaa !5
  %4593 = call ptr @s2n_strerror_debug(i32 noundef %4592, ptr noundef nonnull @.str.4) #8
  %4594 = load i32, ptr %278, align 4, !tbaa !5
  %4595 = call ptr @strerror(i32 noundef %4594) #8
  %4596 = load i32, ptr %278, align 4, !tbaa !5
  %4597 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4588, ptr noundef nonnull %.str.5.sink2352, i32 noundef %4589, ptr noundef nonnull @.str.105, ptr noundef nonnull @.str.1, i32 noundef 381, ptr noundef %4591, ptr noundef %4593, ptr noundef %4595, i32 noundef %4596) #10
  call void @exit(i32 noundef 1) #11
  unreachable

4598:                                             ; preds = %4571
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %48) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %49) #8
  %4599 = add nsw i32 %4572, 2
  store i32 %4599, ptr @test_count, align 4, !tbaa !5
  %4600 = call i32 @s2n_add_overflow(i32 noundef 4, i32 noundef 5, ptr noundef nonnull %49) #8
  %4601 = icmp eq i32 %4600, -1
  br i1 %4601, label %4602, label %4624

4602:                                             ; preds = %4598
  %4603 = load i32, ptr %278, align 4, !tbaa !5
  %4604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4605 = call i32 @s2n_print_stacktrace(ptr noundef %4604) #8
  %4606 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4607 = trunc nuw i8 %4606 to i1
  br i1 %4607, label %4608, label %4612

4608:                                             ; preds = %4602
  %4609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4610 = call i32 @fileno(ptr noundef %4609) #8
  %4611 = call i32 @isatty(i32 noundef %4610) #8
  %.not693 = icmp eq i32 %4611, 0
  br i1 %.not693, label %4612, label %4613

4612:                                             ; preds = %4608, %4602
  br label %4613

4613:                                             ; preds = %4608, %4612
  %.str.5.sink2361 = phi ptr [ @.str.5, %4612 ], [ @.str.2, %4608 ]
  store i32 %4603, ptr %278, align 4, !tbaa !5
  %4614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4615 = load i32, ptr @test_count, align 4, !tbaa !5
  %4616 = load i32, ptr %224, align 4, !tbaa !5
  %4617 = call ptr @s2n_strerror(i32 noundef %4616, ptr noundef nonnull @.str.4) #8
  %4618 = load i32, ptr %224, align 4, !tbaa !5
  %4619 = call ptr @s2n_strerror_debug(i32 noundef %4618, ptr noundef nonnull @.str.4) #8
  %4620 = load i32, ptr %278, align 4, !tbaa !5
  %4621 = call ptr @strerror(i32 noundef %4620) #8
  %4622 = load i32, ptr %278, align 4, !tbaa !5
  %4623 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4614, ptr noundef nonnull %.str.5.sink2361, i32 noundef %4615, ptr noundef nonnull @.str.107, ptr noundef nonnull @.str.1, i32 noundef 382, ptr noundef %4617, ptr noundef %4619, ptr noundef %4621, i32 noundef %4622) #10
  call void @exit(i32 noundef 1) #11
  unreachable

4624:                                             ; preds = %4598
  %4625 = load i32, ptr @test_count, align 4, !tbaa !5
  %4626 = add nsw i32 %4625, 1
  store i32 %4626, ptr @test_count, align 4, !tbaa !5
  %4627 = load i32, ptr %49, align 4, !tbaa !5
  %4628 = icmp eq i32 %4627, 9
  br i1 %4628, label %4651, label %4629

4629:                                             ; preds = %4624
  %4630 = load i32, ptr %278, align 4, !tbaa !5
  %4631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4632 = call i32 @s2n_print_stacktrace(ptr noundef %4631) #8
  %4633 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4634 = trunc nuw i8 %4633 to i1
  br i1 %4634, label %4635, label %4639

4635:                                             ; preds = %4629
  %4636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4637 = call i32 @fileno(ptr noundef %4636) #8
  %4638 = call i32 @isatty(i32 noundef %4637) #8
  %.not607 = icmp eq i32 %4638, 0
  br i1 %.not607, label %4639, label %4640

4639:                                             ; preds = %4635, %4629
  br label %4640

4640:                                             ; preds = %4635, %4639
  %.str.5.sink2370 = phi ptr [ @.str.5, %4639 ], [ @.str.2, %4635 ]
  store i32 %4630, ptr %278, align 4, !tbaa !5
  %4641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4642 = load i32, ptr @test_count, align 4, !tbaa !5
  %4643 = load i32, ptr %224, align 4, !tbaa !5
  %4644 = call ptr @s2n_strerror(i32 noundef %4643, ptr noundef nonnull @.str.4) #8
  %4645 = load i32, ptr %224, align 4, !tbaa !5
  %4646 = call ptr @s2n_strerror_debug(i32 noundef %4645, ptr noundef nonnull @.str.4) #8
  %4647 = load i32, ptr %278, align 4, !tbaa !5
  %4648 = call ptr @strerror(i32 noundef %4647) #8
  %4649 = load i32, ptr %278, align 4, !tbaa !5
  %4650 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4641, ptr noundef nonnull %.str.5.sink2370, i32 noundef %4642, ptr noundef nonnull @.str.108, ptr noundef nonnull @.str.1, i32 noundef 382, ptr noundef %4644, ptr noundef %4646, ptr noundef %4648, i32 noundef %4649) #10
  call void @exit(i32 noundef 1) #11
  unreachable

4651:                                             ; preds = %4624
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %49) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %50) #8
  %4652 = add nsw i32 %4625, 2
  store i32 %4652, ptr @test_count, align 4, !tbaa !5
  %4653 = call i32 @s2n_add_overflow(i32 noundef 5, i32 noundef 4, ptr noundef nonnull %50) #8
  %4654 = icmp eq i32 %4653, -1
  br i1 %4654, label %4655, label %4677

4655:                                             ; preds = %4651
  %4656 = load i32, ptr %278, align 4, !tbaa !5
  %4657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4658 = call i32 @s2n_print_stacktrace(ptr noundef %4657) #8
  %4659 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4660 = trunc nuw i8 %4659 to i1
  br i1 %4660, label %4661, label %4665

4661:                                             ; preds = %4655
  %4662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4663 = call i32 @fileno(ptr noundef %4662) #8
  %4664 = call i32 @isatty(i32 noundef %4663) #8
  %.not692 = icmp eq i32 %4664, 0
  br i1 %.not692, label %4665, label %4666

4665:                                             ; preds = %4661, %4655
  br label %4666

4666:                                             ; preds = %4661, %4665
  %.str.5.sink2379 = phi ptr [ @.str.5, %4665 ], [ @.str.2, %4661 ]
  store i32 %4656, ptr %278, align 4, !tbaa !5
  %4667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4668 = load i32, ptr @test_count, align 4, !tbaa !5
  %4669 = load i32, ptr %224, align 4, !tbaa !5
  %4670 = call ptr @s2n_strerror(i32 noundef %4669, ptr noundef nonnull @.str.4) #8
  %4671 = load i32, ptr %224, align 4, !tbaa !5
  %4672 = call ptr @s2n_strerror_debug(i32 noundef %4671, ptr noundef nonnull @.str.4) #8
  %4673 = load i32, ptr %278, align 4, !tbaa !5
  %4674 = call ptr @strerror(i32 noundef %4673) #8
  %4675 = load i32, ptr %278, align 4, !tbaa !5
  %4676 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4667, ptr noundef nonnull %.str.5.sink2379, i32 noundef %4668, ptr noundef nonnull @.str.109, ptr noundef nonnull @.str.1, i32 noundef 382, ptr noundef %4670, ptr noundef %4672, ptr noundef %4674, i32 noundef %4675) #10
  call void @exit(i32 noundef 1) #11
  unreachable

4677:                                             ; preds = %4651
  %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 = load i32, ptr %50, align 4, !tbaa !5
  %4681 = icmp eq i32 %4680, 9
  br i1 %4681, label %4704, label %4682

4682:                                             ; preds = %4677
  %4683 = load i32, ptr %278, align 4, !tbaa !5
  %4684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4685 = call i32 @s2n_print_stacktrace(ptr noundef %4684) #8
  %4686 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4687 = trunc nuw i8 %4686 to i1
  br i1 %4687, label %4688, label %4692

4688:                                             ; preds = %4682
  %4689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4690 = call i32 @fileno(ptr noundef %4689) #8
  %4691 = call i32 @isatty(i32 noundef %4690) #8
  %.not608 = icmp eq i32 %4691, 0
  br i1 %.not608, label %4692, label %4693

4692:                                             ; preds = %4688, %4682
  br label %4693

4693:                                             ; preds = %4688, %4692
  %.str.5.sink2388 = phi ptr [ @.str.5, %4692 ], [ @.str.2, %4688 ]
  store i32 %4683, ptr %278, align 4, !tbaa !5
  %4694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4695 = load i32, ptr @test_count, align 4, !tbaa !5
  %4696 = load i32, ptr %224, align 4, !tbaa !5
  %4697 = call ptr @s2n_strerror(i32 noundef %4696, ptr noundef nonnull @.str.4) #8
  %4698 = load i32, ptr %224, align 4, !tbaa !5
  %4699 = call ptr @s2n_strerror_debug(i32 noundef %4698, ptr noundef nonnull @.str.4) #8
  %4700 = load i32, ptr %278, align 4, !tbaa !5
  %4701 = call ptr @strerror(i32 noundef %4700) #8
  %4702 = load i32, ptr %278, align 4, !tbaa !5
  %4703 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4694, ptr noundef nonnull %.str.5.sink2388, i32 noundef %4695, ptr noundef nonnull @.str.108, ptr noundef nonnull @.str.1, i32 noundef 382, ptr noundef %4697, ptr noundef %4699, ptr noundef %4701, i32 noundef %4702) #10
  call void @exit(i32 noundef 1) #11
  unreachable

4704:                                             ; preds = %4677
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %50) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %51) #8
  %4705 = add nsw i32 %4678, 2
  store i32 %4705, ptr @test_count, align 4, !tbaa !5
  %4706 = call i32 @s2n_add_overflow(i32 noundef 1234, i32 noundef 4321, ptr noundef nonnull %51) #8
  %4707 = icmp eq i32 %4706, -1
  br i1 %4707, label %4708, label %4730

4708:                                             ; preds = %4704
  %4709 = load i32, ptr %278, align 4, !tbaa !5
  %4710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4711 = call i32 @s2n_print_stacktrace(ptr noundef %4710) #8
  %4712 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4713 = trunc nuw i8 %4712 to i1
  br i1 %4713, label %4714, label %4718

4714:                                             ; preds = %4708
  %4715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4716 = call i32 @fileno(ptr noundef %4715) #8
  %4717 = call i32 @isatty(i32 noundef %4716) #8
  %.not691 = icmp eq i32 %4717, 0
  br i1 %.not691, label %4718, label %4719

4718:                                             ; preds = %4714, %4708
  br label %4719

4719:                                             ; preds = %4714, %4718
  %.str.5.sink2397 = phi ptr [ @.str.5, %4718 ], [ @.str.2, %4714 ]
  store i32 %4709, ptr %278, align 4, !tbaa !5
  %4720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4721 = load i32, ptr @test_count, align 4, !tbaa !5
  %4722 = load i32, ptr %224, align 4, !tbaa !5
  %4723 = call ptr @s2n_strerror(i32 noundef %4722, ptr noundef nonnull @.str.4) #8
  %4724 = load i32, ptr %224, align 4, !tbaa !5
  %4725 = call ptr @s2n_strerror_debug(i32 noundef %4724, ptr noundef nonnull @.str.4) #8
  %4726 = load i32, ptr %278, align 4, !tbaa !5
  %4727 = call ptr @strerror(i32 noundef %4726) #8
  %4728 = load i32, ptr %278, align 4, !tbaa !5
  %4729 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4720, ptr noundef nonnull %.str.5.sink2397, i32 noundef %4721, ptr noundef nonnull @.str.110, ptr noundef nonnull @.str.1, i32 noundef 383, ptr noundef %4723, ptr noundef %4725, ptr noundef %4727, i32 noundef %4728) #10
  call void @exit(i32 noundef 1) #11
  unreachable

4730:                                             ; preds = %4704
  %4731 = load i32, ptr @test_count, align 4, !tbaa !5
  %4732 = add nsw i32 %4731, 1
  store i32 %4732, ptr @test_count, align 4, !tbaa !5
  %4733 = load i32, ptr %51, align 4, !tbaa !5
  %4734 = icmp eq i32 %4733, 5555
  br i1 %4734, label %4757, label %4735

4735:                                             ; preds = %4730
  %4736 = load i32, ptr %278, align 4, !tbaa !5
  %4737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4738 = call i32 @s2n_print_stacktrace(ptr noundef %4737) #8
  %4739 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4740 = trunc nuw i8 %4739 to i1
  br i1 %4740, label %4741, label %4745

4741:                                             ; preds = %4735
  %4742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4743 = call i32 @fileno(ptr noundef %4742) #8
  %4744 = call i32 @isatty(i32 noundef %4743) #8
  %.not609 = icmp eq i32 %4744, 0
  br i1 %.not609, label %4745, label %4746

4745:                                             ; preds = %4741, %4735
  br label %4746

4746:                                             ; preds = %4741, %4745
  %.str.5.sink2406 = phi ptr [ @.str.5, %4745 ], [ @.str.2, %4741 ]
  store i32 %4736, ptr %278, align 4, !tbaa !5
  %4747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4748 = load i32, ptr @test_count, align 4, !tbaa !5
  %4749 = load i32, ptr %224, align 4, !tbaa !5
  %4750 = call ptr @s2n_strerror(i32 noundef %4749, ptr noundef nonnull @.str.4) #8
  %4751 = load i32, ptr %224, align 4, !tbaa !5
  %4752 = call ptr @s2n_strerror_debug(i32 noundef %4751, ptr noundef nonnull @.str.4) #8
  %4753 = load i32, ptr %278, align 4, !tbaa !5
  %4754 = call ptr @strerror(i32 noundef %4753) #8
  %4755 = load i32, ptr %278, align 4, !tbaa !5
  %4756 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4747, ptr noundef nonnull %.str.5.sink2406, i32 noundef %4748, ptr noundef nonnull @.str.111, ptr noundef nonnull @.str.1, i32 noundef 383, ptr noundef %4750, ptr noundef %4752, ptr noundef %4754, i32 noundef %4755) #10
  call void @exit(i32 noundef 1) #11
  unreachable

4757:                                             ; preds = %4730
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %51) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %52) #8
  %4758 = add nsw i32 %4731, 2
  store i32 %4758, ptr @test_count, align 4, !tbaa !5
  %4759 = call i32 @s2n_add_overflow(i32 noundef 4321, i32 noundef 1234, ptr noundef nonnull %52) #8
  %4760 = icmp eq i32 %4759, -1
  br i1 %4760, label %4761, label %4783

4761:                                             ; preds = %4757
  %4762 = load i32, ptr %278, align 4, !tbaa !5
  %4763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4764 = call i32 @s2n_print_stacktrace(ptr noundef %4763) #8
  %4765 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4766 = trunc nuw i8 %4765 to i1
  br i1 %4766, label %4767, label %4771

4767:                                             ; preds = %4761
  %4768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4769 = call i32 @fileno(ptr noundef %4768) #8
  %4770 = call i32 @isatty(i32 noundef %4769) #8
  %.not690 = icmp eq i32 %4770, 0
  br i1 %.not690, label %4771, label %4772

4771:                                             ; preds = %4767, %4761
  br label %4772

4772:                                             ; preds = %4767, %4771
  %.str.5.sink2415 = phi ptr [ @.str.5, %4771 ], [ @.str.2, %4767 ]
  store i32 %4762, ptr %278, align 4, !tbaa !5
  %4773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4774 = load i32, ptr @test_count, align 4, !tbaa !5
  %4775 = load i32, ptr %224, align 4, !tbaa !5
  %4776 = call ptr @s2n_strerror(i32 noundef %4775, ptr noundef nonnull @.str.4) #8
  %4777 = load i32, ptr %224, align 4, !tbaa !5
  %4778 = call ptr @s2n_strerror_debug(i32 noundef %4777, ptr noundef nonnull @.str.4) #8
  %4779 = load i32, ptr %278, align 4, !tbaa !5
  %4780 = call ptr @strerror(i32 noundef %4779) #8
  %4781 = load i32, ptr %278, align 4, !tbaa !5
  %4782 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4773, ptr noundef nonnull %.str.5.sink2415, i32 noundef %4774, ptr noundef nonnull @.str.112, ptr noundef nonnull @.str.1, i32 noundef 383, ptr noundef %4776, ptr noundef %4778, ptr noundef %4780, i32 noundef %4781) #10
  call void @exit(i32 noundef 1) #11
  unreachable

4783:                                             ; preds = %4757
  %4784 = load i32, ptr @test_count, align 4, !tbaa !5
  %4785 = add nsw i32 %4784, 1
  store i32 %4785, ptr @test_count, align 4, !tbaa !5
  %4786 = load i32, ptr %52, align 4, !tbaa !5
  %4787 = icmp eq i32 %4786, 5555
  br i1 %4787, label %4810, label %4788

4788:                                             ; preds = %4783
  %4789 = load i32, ptr %278, align 4, !tbaa !5
  %4790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4791 = call i32 @s2n_print_stacktrace(ptr noundef %4790) #8
  %4792 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4793 = trunc nuw i8 %4792 to i1
  br i1 %4793, label %4794, label %4798

4794:                                             ; preds = %4788
  %4795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4796 = call i32 @fileno(ptr noundef %4795) #8
  %4797 = call i32 @isatty(i32 noundef %4796) #8
  %.not610 = icmp eq i32 %4797, 0
  br i1 %.not610, label %4798, label %4799

4798:                                             ; preds = %4794, %4788
  br label %4799

4799:                                             ; preds = %4794, %4798
  %.str.5.sink2424 = phi ptr [ @.str.5, %4798 ], [ @.str.2, %4794 ]
  store i32 %4789, ptr %278, align 4, !tbaa !5
  %4800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4801 = load i32, ptr @test_count, align 4, !tbaa !5
  %4802 = load i32, ptr %224, align 4, !tbaa !5
  %4803 = call ptr @s2n_strerror(i32 noundef %4802, ptr noundef nonnull @.str.4) #8
  %4804 = load i32, ptr %224, align 4, !tbaa !5
  %4805 = call ptr @s2n_strerror_debug(i32 noundef %4804, ptr noundef nonnull @.str.4) #8
  %4806 = load i32, ptr %278, align 4, !tbaa !5
  %4807 = call ptr @strerror(i32 noundef %4806) #8
  %4808 = load i32, ptr %278, align 4, !tbaa !5
  %4809 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4800, ptr noundef nonnull %.str.5.sink2424, i32 noundef %4801, ptr noundef nonnull @.str.111, ptr noundef nonnull @.str.1, i32 noundef 383, ptr noundef %4803, ptr noundef %4805, ptr noundef %4807, i32 noundef %4808) #10
  call void @exit(i32 noundef 1) #11
  unreachable

4810:                                             ; preds = %4783
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %52) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %53) #8
  %4811 = add nsw i32 %4784, 2
  store i32 %4811, ptr @test_count, align 4, !tbaa !5
  %4812 = call i32 @s2n_add_overflow(i32 noundef 0, i32 noundef -1, ptr noundef nonnull %53) #8
  %4813 = icmp eq i32 %4812, -1
  br i1 %4813, label %4814, label %4836

4814:                                             ; preds = %4810
  %4815 = load i32, ptr %278, align 4, !tbaa !5
  %4816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4817 = call i32 @s2n_print_stacktrace(ptr noundef %4816) #8
  %4818 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4819 = trunc nuw i8 %4818 to i1
  br i1 %4819, label %4820, label %4824

4820:                                             ; preds = %4814
  %4821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4822 = call i32 @fileno(ptr noundef %4821) #8
  %4823 = call i32 @isatty(i32 noundef %4822) #8
  %.not689 = icmp eq i32 %4823, 0
  br i1 %.not689, label %4824, label %4825

4824:                                             ; preds = %4820, %4814
  br label %4825

4825:                                             ; preds = %4820, %4824
  %.str.5.sink2433 = phi ptr [ @.str.5, %4824 ], [ @.str.2, %4820 ]
  store i32 %4815, ptr %278, align 4, !tbaa !5
  %4826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4827 = load i32, ptr @test_count, align 4, !tbaa !5
  %4828 = load i32, ptr %224, align 4, !tbaa !5
  %4829 = call ptr @s2n_strerror(i32 noundef %4828, ptr noundef nonnull @.str.4) #8
  %4830 = load i32, ptr %224, align 4, !tbaa !5
  %4831 = call ptr @s2n_strerror_debug(i32 noundef %4830, ptr noundef nonnull @.str.4) #8
  %4832 = load i32, ptr %278, align 4, !tbaa !5
  %4833 = call ptr @strerror(i32 noundef %4832) #8
  %4834 = load i32, ptr %278, align 4, !tbaa !5
  %4835 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4826, ptr noundef nonnull %.str.5.sink2433, i32 noundef %4827, ptr noundef nonnull @.str.113, ptr noundef nonnull @.str.1, i32 noundef 384, ptr noundef %4829, ptr noundef %4831, ptr noundef %4833, i32 noundef %4834) #10
  call void @exit(i32 noundef 1) #11
  unreachable

4836:                                             ; preds = %4810
  %4837 = load i32, ptr @test_count, align 4, !tbaa !5
  %4838 = add nsw i32 %4837, 1
  store i32 %4838, ptr @test_count, align 4, !tbaa !5
  %4839 = load i32, ptr %53, align 4, !tbaa !5
  %4840 = icmp eq i32 %4839, -1
  br i1 %4840, label %4863, label %4841

4841:                                             ; preds = %4836
  %4842 = load i32, ptr %278, align 4, !tbaa !5
  %4843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4844 = call i32 @s2n_print_stacktrace(ptr noundef %4843) #8
  %4845 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4846 = trunc nuw i8 %4845 to i1
  br i1 %4846, label %4847, label %4851

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

4851:                                             ; preds = %4847, %4841
  br label %4852

4852:                                             ; preds = %4847, %4851
  %.str.5.sink2442 = phi ptr [ @.str.5, %4851 ], [ @.str.2, %4847 ]
  store i32 %4842, ptr %278, align 4, !tbaa !5
  %4853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4854 = load i32, ptr @test_count, align 4, !tbaa !5
  %4855 = load i32, ptr %224, align 4, !tbaa !5
  %4856 = call ptr @s2n_strerror(i32 noundef %4855, ptr noundef nonnull @.str.4) #8
  %4857 = load i32, ptr %224, align 4, !tbaa !5
  %4858 = call ptr @s2n_strerror_debug(i32 noundef %4857, ptr noundef nonnull @.str.4) #8
  %4859 = load i32, ptr %278, align 4, !tbaa !5
  %4860 = call ptr @strerror(i32 noundef %4859) #8
  %4861 = load i32, ptr %278, align 4, !tbaa !5
  %4862 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4853, ptr noundef nonnull %.str.5.sink2442, i32 noundef %4854, ptr noundef nonnull @.str.114, ptr noundef nonnull @.str.1, i32 noundef 384, ptr noundef %4856, ptr noundef %4858, ptr noundef %4860, i32 noundef %4861) #10
  call void @exit(i32 noundef 1) #11
  unreachable

4863:                                             ; preds = %4836
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %53) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %54) #8
  %4864 = add nsw i32 %4837, 2
  store i32 %4864, ptr @test_count, align 4, !tbaa !5
  %4865 = call i32 @s2n_add_overflow(i32 noundef -1, i32 noundef 0, ptr noundef nonnull %54) #8
  %4866 = icmp eq i32 %4865, -1
  br i1 %4866, label %4867, label %4889

4867:                                             ; preds = %4863
  %4868 = load i32, ptr %278, align 4, !tbaa !5
  %4869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4870 = call i32 @s2n_print_stacktrace(ptr noundef %4869) #8
  %4871 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4872 = trunc nuw i8 %4871 to i1
  br i1 %4872, label %4873, label %4877

4873:                                             ; preds = %4867
  %4874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4875 = call i32 @fileno(ptr noundef %4874) #8
  %4876 = call i32 @isatty(i32 noundef %4875) #8
  %.not688 = icmp eq i32 %4876, 0
  br i1 %.not688, label %4877, label %4878

4877:                                             ; preds = %4873, %4867
  br label %4878

4878:                                             ; preds = %4873, %4877
  %.str.5.sink2451 = phi ptr [ @.str.5, %4877 ], [ @.str.2, %4873 ]
  store i32 %4868, ptr %278, align 4, !tbaa !5
  %4879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4880 = load i32, ptr @test_count, align 4, !tbaa !5
  %4881 = load i32, ptr %224, align 4, !tbaa !5
  %4882 = call ptr @s2n_strerror(i32 noundef %4881, ptr noundef nonnull @.str.4) #8
  %4883 = load i32, ptr %224, align 4, !tbaa !5
  %4884 = call ptr @s2n_strerror_debug(i32 noundef %4883, ptr noundef nonnull @.str.4) #8
  %4885 = load i32, ptr %278, align 4, !tbaa !5
  %4886 = call ptr @strerror(i32 noundef %4885) #8
  %4887 = load i32, ptr %278, align 4, !tbaa !5
  %4888 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4879, ptr noundef nonnull %.str.5.sink2451, i32 noundef %4880, ptr noundef nonnull @.str.115, ptr noundef nonnull @.str.1, i32 noundef 384, ptr noundef %4882, ptr noundef %4884, ptr noundef %4886, i32 noundef %4887) #10
  call void @exit(i32 noundef 1) #11
  unreachable

4889:                                             ; preds = %4863
  %4890 = load i32, ptr @test_count, align 4, !tbaa !5
  %4891 = add nsw i32 %4890, 1
  store i32 %4891, ptr @test_count, align 4, !tbaa !5
  %4892 = load i32, ptr %54, align 4, !tbaa !5
  %4893 = icmp eq i32 %4892, -1
  br i1 %4893, label %4916, label %4894

4894:                                             ; preds = %4889
  %4895 = load i32, ptr %278, align 4, !tbaa !5
  %4896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4897 = call i32 @s2n_print_stacktrace(ptr noundef %4896) #8
  %4898 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4899 = trunc nuw i8 %4898 to i1
  br i1 %4899, label %4900, label %4904

4900:                                             ; preds = %4894
  %4901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4902 = call i32 @fileno(ptr noundef %4901) #8
  %4903 = call i32 @isatty(i32 noundef %4902) #8
  %.not612 = icmp eq i32 %4903, 0
  br i1 %.not612, label %4904, label %4905

4904:                                             ; preds = %4900, %4894
  br label %4905

4905:                                             ; preds = %4900, %4904
  %.str.5.sink2460 = phi ptr [ @.str.5, %4904 ], [ @.str.2, %4900 ]
  store i32 %4895, ptr %278, align 4, !tbaa !5
  %4906 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4907 = load i32, ptr @test_count, align 4, !tbaa !5
  %4908 = load i32, ptr %224, align 4, !tbaa !5
  %4909 = call ptr @s2n_strerror(i32 noundef %4908, ptr noundef nonnull @.str.4) #8
  %4910 = load i32, ptr %224, align 4, !tbaa !5
  %4911 = call ptr @s2n_strerror_debug(i32 noundef %4910, ptr noundef nonnull @.str.4) #8
  %4912 = load i32, ptr %278, align 4, !tbaa !5
  %4913 = call ptr @strerror(i32 noundef %4912) #8
  %4914 = load i32, ptr %278, align 4, !tbaa !5
  %4915 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4906, ptr noundef nonnull %.str.5.sink2460, i32 noundef %4907, ptr noundef nonnull @.str.114, ptr noundef nonnull @.str.1, i32 noundef 384, ptr noundef %4909, ptr noundef %4911, ptr noundef %4913, i32 noundef %4914) #10
  call void @exit(i32 noundef 1) #11
  unreachable

4916:                                             ; preds = %4889
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %54) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %55) #8
  %4917 = add nsw i32 %4890, 2
  store i32 %4917, ptr @test_count, align 4, !tbaa !5
  %4918 = call i32 @s2n_add_overflow(i32 noundef 2147483647, i32 noundef 2147483647, ptr noundef nonnull %55) #8
  %4919 = icmp eq i32 %4918, -1
  br i1 %4919, label %4920, label %4942

4920:                                             ; preds = %4916
  %4921 = load i32, ptr %278, align 4, !tbaa !5
  %4922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4923 = call i32 @s2n_print_stacktrace(ptr noundef %4922) #8
  %4924 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4925 = trunc nuw i8 %4924 to i1
  br i1 %4925, label %4926, label %4930

4926:                                             ; preds = %4920
  %4927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4928 = call i32 @fileno(ptr noundef %4927) #8
  %4929 = call i32 @isatty(i32 noundef %4928) #8
  %.not687 = icmp eq i32 %4929, 0
  br i1 %.not687, label %4930, label %4931

4930:                                             ; preds = %4926, %4920
  br label %4931

4931:                                             ; preds = %4926, %4930
  %.str.5.sink2469 = phi ptr [ @.str.5, %4930 ], [ @.str.2, %4926 ]
  store i32 %4921, ptr %278, align 4, !tbaa !5
  %4932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4933 = load i32, ptr @test_count, align 4, !tbaa !5
  %4934 = load i32, ptr %224, align 4, !tbaa !5
  %4935 = call ptr @s2n_strerror(i32 noundef %4934, ptr noundef nonnull @.str.4) #8
  %4936 = load i32, ptr %224, align 4, !tbaa !5
  %4937 = call ptr @s2n_strerror_debug(i32 noundef %4936, ptr noundef nonnull @.str.4) #8
  %4938 = load i32, ptr %278, align 4, !tbaa !5
  %4939 = call ptr @strerror(i32 noundef %4938) #8
  %4940 = load i32, ptr %278, align 4, !tbaa !5
  %4941 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4932, ptr noundef nonnull %.str.5.sink2469, i32 noundef %4933, ptr noundef nonnull @.str.116, ptr noundef nonnull @.str.1, i32 noundef 385, ptr noundef %4935, ptr noundef %4937, ptr noundef %4939, i32 noundef %4940) #10
  call void @exit(i32 noundef 1) #11
  unreachable

4942:                                             ; preds = %4916
  %4943 = load i32, ptr @test_count, align 4, !tbaa !5
  %4944 = add nsw i32 %4943, 1
  store i32 %4944, ptr @test_count, align 4, !tbaa !5
  %4945 = load i32, ptr %55, align 4, !tbaa !5
  %4946 = icmp eq i32 %4945, -2
  br i1 %4946, label %4969, label %4947

4947:                                             ; preds = %4942
  %4948 = load i32, ptr %278, align 4, !tbaa !5
  %4949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4950 = call i32 @s2n_print_stacktrace(ptr noundef %4949) #8
  %4951 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4952 = trunc nuw i8 %4951 to i1
  br i1 %4952, label %4953, label %4957

4953:                                             ; preds = %4947
  %4954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4955 = call i32 @fileno(ptr noundef %4954) #8
  %4956 = call i32 @isatty(i32 noundef %4955) #8
  %.not613 = icmp eq i32 %4956, 0
  br i1 %.not613, label %4957, label %4958

4957:                                             ; preds = %4953, %4947
  br label %4958

4958:                                             ; preds = %4953, %4957
  %.str.5.sink2478 = phi ptr [ @.str.5, %4957 ], [ @.str.2, %4953 ]
  store i32 %4948, ptr %278, align 4, !tbaa !5
  %4959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4960 = load i32, ptr @test_count, align 4, !tbaa !5
  %4961 = load i32, ptr %224, align 4, !tbaa !5
  %4962 = call ptr @s2n_strerror(i32 noundef %4961, ptr noundef nonnull @.str.4) #8
  %4963 = load i32, ptr %224, align 4, !tbaa !5
  %4964 = call ptr @s2n_strerror_debug(i32 noundef %4963, ptr noundef nonnull @.str.4) #8
  %4965 = load i32, ptr %278, align 4, !tbaa !5
  %4966 = call ptr @strerror(i32 noundef %4965) #8
  %4967 = load i32, ptr %278, align 4, !tbaa !5
  %4968 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4959, ptr noundef nonnull %.str.5.sink2478, i32 noundef %4960, ptr noundef nonnull @.str.117, ptr noundef nonnull @.str.1, i32 noundef 385, ptr noundef %4962, ptr noundef %4964, ptr noundef %4966, i32 noundef %4967) #10
  call void @exit(i32 noundef 1) #11
  unreachable

4969:                                             ; preds = %4942
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %55) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %56) #8
  %4970 = add nsw i32 %4943, 2
  store i32 %4970, ptr @test_count, align 4, !tbaa !5
  %4971 = call i32 @s2n_add_overflow(i32 noundef 2147483647, i32 noundef 2147483647, ptr noundef nonnull %56) #8
  %4972 = icmp eq i32 %4971, -1
  br i1 %4972, label %4973, label %4995

4973:                                             ; preds = %4969
  %4974 = load i32, ptr %278, align 4, !tbaa !5
  %4975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4976 = call i32 @s2n_print_stacktrace(ptr noundef %4975) #8
  %4977 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4978 = trunc nuw i8 %4977 to i1
  br i1 %4978, label %4979, label %4983

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

4983:                                             ; preds = %4979, %4973
  br label %4984

4984:                                             ; preds = %4979, %4983
  %.str.5.sink2487 = phi ptr [ @.str.5, %4983 ], [ @.str.2, %4979 ]
  store i32 %4974, ptr %278, align 4, !tbaa !5
  %4985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4986 = load i32, ptr @test_count, align 4, !tbaa !5
  %4987 = load i32, ptr %224, align 4, !tbaa !5
  %4988 = call ptr @s2n_strerror(i32 noundef %4987, ptr noundef nonnull @.str.4) #8
  %4989 = load i32, ptr %224, align 4, !tbaa !5
  %4990 = call ptr @s2n_strerror_debug(i32 noundef %4989, ptr noundef nonnull @.str.4) #8
  %4991 = load i32, ptr %278, align 4, !tbaa !5
  %4992 = call ptr @strerror(i32 noundef %4991) #8
  %4993 = load i32, ptr %278, align 4, !tbaa !5
  %4994 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4985, ptr noundef nonnull %.str.5.sink2487, i32 noundef %4986, ptr noundef nonnull @.str.116, ptr noundef nonnull @.str.1, i32 noundef 385, ptr noundef %4988, ptr noundef %4990, ptr noundef %4992, i32 noundef %4993) #10
  call void @exit(i32 noundef 1) #11
  unreachable

4995:                                             ; preds = %4969
  %4996 = load i32, ptr @test_count, align 4, !tbaa !5
  %4997 = add nsw i32 %4996, 1
  store i32 %4997, ptr @test_count, align 4, !tbaa !5
  %4998 = load i32, ptr %56, align 4, !tbaa !5
  %4999 = icmp eq i32 %4998, -2
  br i1 %4999, label %5022, label %5000

5000:                                             ; preds = %4995
  %5001 = load i32, ptr %278, align 4, !tbaa !5
  %5002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5003 = call i32 @s2n_print_stacktrace(ptr noundef %5002) #8
  %5004 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5005 = trunc nuw i8 %5004 to i1
  br i1 %5005, label %5006, label %5010

5006:                                             ; preds = %5000
  %5007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5008 = call i32 @fileno(ptr noundef %5007) #8
  %5009 = call i32 @isatty(i32 noundef %5008) #8
  %.not614 = icmp eq i32 %5009, 0
  br i1 %.not614, label %5010, label %5011

5010:                                             ; preds = %5006, %5000
  br label %5011

5011:                                             ; preds = %5006, %5010
  %.str.5.sink2496 = phi ptr [ @.str.5, %5010 ], [ @.str.2, %5006 ]
  store i32 %5001, ptr %278, align 4, !tbaa !5
  %5012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5013 = load i32, ptr @test_count, align 4, !tbaa !5
  %5014 = load i32, ptr %224, align 4, !tbaa !5
  %5015 = call ptr @s2n_strerror(i32 noundef %5014, ptr noundef nonnull @.str.4) #8
  %5016 = load i32, ptr %224, align 4, !tbaa !5
  %5017 = call ptr @s2n_strerror_debug(i32 noundef %5016, ptr noundef nonnull @.str.4) #8
  %5018 = load i32, ptr %278, align 4, !tbaa !5
  %5019 = call ptr @strerror(i32 noundef %5018) #8
  %5020 = load i32, ptr %278, align 4, !tbaa !5
  %5021 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5012, ptr noundef nonnull %.str.5.sink2496, i32 noundef %5013, ptr noundef nonnull @.str.117, ptr noundef nonnull @.str.1, i32 noundef 385, ptr noundef %5015, ptr noundef %5017, ptr noundef %5019, i32 noundef %5020) #10
  call void @exit(i32 noundef 1) #11
  unreachable

5022:                                             ; preds = %4995
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %56) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %57) #8
  %5023 = add nsw i32 %4996, 2
  store i32 %5023, ptr @test_count, align 4, !tbaa !5
  %5024 = call i32 @s2n_add_overflow(i32 noundef -2147483648, i32 noundef 2147483647, ptr noundef nonnull %57) #8
  %5025 = icmp eq i32 %5024, -1
  br i1 %5025, label %5026, label %5048

5026:                                             ; preds = %5022
  %5027 = load i32, ptr %278, align 4, !tbaa !5
  %5028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5029 = call i32 @s2n_print_stacktrace(ptr noundef %5028) #8
  %5030 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5031 = trunc nuw i8 %5030 to i1
  br i1 %5031, label %5032, label %5036

5032:                                             ; preds = %5026
  %5033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5034 = call i32 @fileno(ptr noundef %5033) #8
  %5035 = call i32 @isatty(i32 noundef %5034) #8
  %.not685 = icmp eq i32 %5035, 0
  br i1 %.not685, label %5036, label %5037

5036:                                             ; preds = %5032, %5026
  br label %5037

5037:                                             ; preds = %5032, %5036
  %.str.5.sink2505 = phi ptr [ @.str.5, %5036 ], [ @.str.2, %5032 ]
  store i32 %5027, ptr %278, align 4, !tbaa !5
  %5038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5039 = load i32, ptr @test_count, align 4, !tbaa !5
  %5040 = load i32, ptr %224, align 4, !tbaa !5
  %5041 = call ptr @s2n_strerror(i32 noundef %5040, ptr noundef nonnull @.str.4) #8
  %5042 = load i32, ptr %224, align 4, !tbaa !5
  %5043 = call ptr @s2n_strerror_debug(i32 noundef %5042, ptr noundef nonnull @.str.4) #8
  %5044 = load i32, ptr %278, align 4, !tbaa !5
  %5045 = call ptr @strerror(i32 noundef %5044) #8
  %5046 = load i32, ptr %278, align 4, !tbaa !5
  %5047 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5038, ptr noundef nonnull %.str.5.sink2505, i32 noundef %5039, ptr noundef nonnull @.str.118, ptr noundef nonnull @.str.1, i32 noundef 386, ptr noundef %5041, ptr noundef %5043, ptr noundef %5045, i32 noundef %5046) #10
  call void @exit(i32 noundef 1) #11
  unreachable

5048:                                             ; preds = %5022
  %5049 = load i32, ptr @test_count, align 4, !tbaa !5
  %5050 = add nsw i32 %5049, 1
  store i32 %5050, ptr @test_count, align 4, !tbaa !5
  %5051 = load i32, ptr %57, align 4, !tbaa !5
  %5052 = icmp eq i32 %5051, -1
  br i1 %5052, label %5075, label %5053

5053:                                             ; preds = %5048
  %5054 = load i32, ptr %278, align 4, !tbaa !5
  %5055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5056 = call i32 @s2n_print_stacktrace(ptr noundef %5055) #8
  %5057 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5058 = trunc nuw i8 %5057 to i1
  br i1 %5058, label %5059, label %5063

5059:                                             ; preds = %5053
  %5060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5061 = call i32 @fileno(ptr noundef %5060) #8
  %5062 = call i32 @isatty(i32 noundef %5061) #8
  %.not615 = icmp eq i32 %5062, 0
  br i1 %.not615, label %5063, label %5064

5063:                                             ; preds = %5059, %5053
  br label %5064

5064:                                             ; preds = %5059, %5063
  %.str.5.sink2514 = phi ptr [ @.str.5, %5063 ], [ @.str.2, %5059 ]
  store i32 %5054, ptr %278, align 4, !tbaa !5
  %5065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5066 = load i32, ptr @test_count, align 4, !tbaa !5
  %5067 = load i32, ptr %224, align 4, !tbaa !5
  %5068 = call ptr @s2n_strerror(i32 noundef %5067, ptr noundef nonnull @.str.4) #8
  %5069 = load i32, ptr %224, align 4, !tbaa !5
  %5070 = call ptr @s2n_strerror_debug(i32 noundef %5069, ptr noundef nonnull @.str.4) #8
  %5071 = load i32, ptr %278, align 4, !tbaa !5
  %5072 = call ptr @strerror(i32 noundef %5071) #8
  %5073 = load i32, ptr %278, align 4, !tbaa !5
  %5074 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5065, ptr noundef nonnull %.str.5.sink2514, i32 noundef %5066, ptr noundef nonnull @.str.114, ptr noundef nonnull @.str.1, i32 noundef 386, ptr noundef %5068, ptr noundef %5070, ptr noundef %5072, i32 noundef %5073) #10
  call void @exit(i32 noundef 1) #11
  unreachable

5075:                                             ; preds = %5048
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %57) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %58) #8
  %5076 = add nsw i32 %5049, 2
  store i32 %5076, ptr @test_count, align 4, !tbaa !5
  %5077 = call i32 @s2n_add_overflow(i32 noundef 2147483647, i32 noundef -2147483648, ptr noundef nonnull %58) #8
  %5078 = icmp eq i32 %5077, -1
  br i1 %5078, label %5079, label %5101

5079:                                             ; preds = %5075
  %5080 = load i32, ptr %278, align 4, !tbaa !5
  %5081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5082 = call i32 @s2n_print_stacktrace(ptr noundef %5081) #8
  %5083 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5084 = trunc nuw i8 %5083 to i1
  br i1 %5084, label %5085, label %5089

5085:                                             ; preds = %5079
  %5086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5087 = call i32 @fileno(ptr noundef %5086) #8
  %5088 = call i32 @isatty(i32 noundef %5087) #8
  %.not684 = icmp eq i32 %5088, 0
  br i1 %.not684, label %5089, label %5090

5089:                                             ; preds = %5085, %5079
  br label %5090

5090:                                             ; preds = %5085, %5089
  %.str.5.sink2523 = phi ptr [ @.str.5, %5089 ], [ @.str.2, %5085 ]
  store i32 %5080, ptr %278, align 4, !tbaa !5
  %5091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5092 = load i32, ptr @test_count, align 4, !tbaa !5
  %5093 = load i32, ptr %224, align 4, !tbaa !5
  %5094 = call ptr @s2n_strerror(i32 noundef %5093, ptr noundef nonnull @.str.4) #8
  %5095 = load i32, ptr %224, align 4, !tbaa !5
  %5096 = call ptr @s2n_strerror_debug(i32 noundef %5095, ptr noundef nonnull @.str.4) #8
  %5097 = load i32, ptr %278, align 4, !tbaa !5
  %5098 = call ptr @strerror(i32 noundef %5097) #8
  %5099 = load i32, ptr %278, align 4, !tbaa !5
  %5100 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5091, ptr noundef nonnull %.str.5.sink2523, i32 noundef %5092, ptr noundef nonnull @.str.119, ptr noundef nonnull @.str.1, i32 noundef 386, ptr noundef %5094, ptr noundef %5096, ptr noundef %5098, i32 noundef %5099) #10
  call void @exit(i32 noundef 1) #11
  unreachable

5101:                                             ; preds = %5075
  %5102 = load i32, ptr @test_count, align 4, !tbaa !5
  %5103 = add nsw i32 %5102, 1
  store i32 %5103, ptr @test_count, align 4, !tbaa !5
  %5104 = load i32, ptr %58, align 4, !tbaa !5
  %5105 = icmp eq i32 %5104, -1
  br i1 %5105, label %5128, label %5106

5106:                                             ; preds = %5101
  %5107 = load i32, ptr %278, align 4, !tbaa !5
  %5108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5109 = call i32 @s2n_print_stacktrace(ptr noundef %5108) #8
  %5110 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5111 = trunc nuw i8 %5110 to i1
  br i1 %5111, label %5112, label %5116

5112:                                             ; preds = %5106
  %5113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5114 = call i32 @fileno(ptr noundef %5113) #8
  %5115 = call i32 @isatty(i32 noundef %5114) #8
  %.not616 = icmp eq i32 %5115, 0
  br i1 %.not616, label %5116, label %5117

5116:                                             ; preds = %5112, %5106
  br label %5117

5117:                                             ; preds = %5112, %5116
  %.str.5.sink2532 = phi ptr [ @.str.5, %5116 ], [ @.str.2, %5112 ]
  store i32 %5107, ptr %278, align 4, !tbaa !5
  %5118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5119 = load i32, ptr @test_count, align 4, !tbaa !5
  %5120 = load i32, ptr %224, align 4, !tbaa !5
  %5121 = call ptr @s2n_strerror(i32 noundef %5120, ptr noundef nonnull @.str.4) #8
  %5122 = load i32, ptr %224, align 4, !tbaa !5
  %5123 = call ptr @s2n_strerror_debug(i32 noundef %5122, ptr noundef nonnull @.str.4) #8
  %5124 = load i32, ptr %278, align 4, !tbaa !5
  %5125 = call ptr @strerror(i32 noundef %5124) #8
  %5126 = load i32, ptr %278, align 4, !tbaa !5
  %5127 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5118, ptr noundef nonnull %.str.5.sink2532, i32 noundef %5119, ptr noundef nonnull @.str.114, ptr noundef nonnull @.str.1, i32 noundef 386, ptr noundef %5121, ptr noundef %5123, ptr noundef %5125, i32 noundef %5126) #10
  call void @exit(i32 noundef 1) #11
  unreachable

5128:                                             ; preds = %5101
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %58) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %59) #8
  %5129 = add nsw i32 %5102, 2
  store i32 %5129, ptr @test_count, align 4, !tbaa !5
  %5130 = call i32 @s2n_add_overflow(i32 noundef 100, i32 noundef -103, ptr noundef nonnull %59) #8
  %5131 = icmp eq i32 %5130, -1
  br i1 %5131, label %5132, label %5154

5132:                                             ; preds = %5128
  %5133 = load i32, ptr %278, align 4, !tbaa !5
  %5134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5135 = call i32 @s2n_print_stacktrace(ptr noundef %5134) #8
  %5136 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5137 = trunc nuw i8 %5136 to i1
  br i1 %5137, label %5138, label %5142

5138:                                             ; preds = %5132
  %5139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5140 = call i32 @fileno(ptr noundef %5139) #8
  %5141 = call i32 @isatty(i32 noundef %5140) #8
  %.not683 = icmp eq i32 %5141, 0
  br i1 %.not683, label %5142, label %5143

5142:                                             ; preds = %5138, %5132
  br label %5143

5143:                                             ; preds = %5138, %5142
  %.str.5.sink2541 = phi ptr [ @.str.5, %5142 ], [ @.str.2, %5138 ]
  store i32 %5133, ptr %278, align 4, !tbaa !5
  %5144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5145 = load i32, ptr @test_count, align 4, !tbaa !5
  %5146 = load i32, ptr %224, align 4, !tbaa !5
  %5147 = call ptr @s2n_strerror(i32 noundef %5146, ptr noundef nonnull @.str.4) #8
  %5148 = load i32, ptr %224, align 4, !tbaa !5
  %5149 = call ptr @s2n_strerror_debug(i32 noundef %5148, ptr noundef nonnull @.str.4) #8
  %5150 = load i32, ptr %278, align 4, !tbaa !5
  %5151 = call ptr @strerror(i32 noundef %5150) #8
  %5152 = load i32, ptr %278, align 4, !tbaa !5
  %5153 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5144, ptr noundef nonnull %.str.5.sink2541, i32 noundef %5145, ptr noundef nonnull @.str.120, ptr noundef nonnull @.str.1, i32 noundef 387, ptr noundef %5147, ptr noundef %5149, ptr noundef %5151, i32 noundef %5152) #10
  call void @exit(i32 noundef 1) #11
  unreachable

5154:                                             ; preds = %5128
  %5155 = load i32, ptr @test_count, align 4, !tbaa !5
  %5156 = add nsw i32 %5155, 1
  store i32 %5156, ptr @test_count, align 4, !tbaa !5
  %5157 = load i32, ptr %59, align 4, !tbaa !5
  %5158 = icmp eq i32 %5157, -3
  br i1 %5158, label %5181, label %5159

5159:                                             ; preds = %5154
  %5160 = load i32, ptr %278, align 4, !tbaa !5
  %5161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5162 = call i32 @s2n_print_stacktrace(ptr noundef %5161) #8
  %5163 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5164 = trunc nuw i8 %5163 to i1
  br i1 %5164, label %5165, label %5169

5165:                                             ; preds = %5159
  %5166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5167 = call i32 @fileno(ptr noundef %5166) #8
  %5168 = call i32 @isatty(i32 noundef %5167) #8
  %.not617 = icmp eq i32 %5168, 0
  br i1 %.not617, label %5169, label %5170

5169:                                             ; preds = %5165, %5159
  br label %5170

5170:                                             ; preds = %5165, %5169
  %.str.5.sink2550 = phi ptr [ @.str.5, %5169 ], [ @.str.2, %5165 ]
  store i32 %5160, ptr %278, align 4, !tbaa !5
  %5171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5172 = load i32, ptr @test_count, align 4, !tbaa !5
  %5173 = load i32, ptr %224, align 4, !tbaa !5
  %5174 = call ptr @s2n_strerror(i32 noundef %5173, ptr noundef nonnull @.str.4) #8
  %5175 = load i32, ptr %224, align 4, !tbaa !5
  %5176 = call ptr @s2n_strerror_debug(i32 noundef %5175, ptr noundef nonnull @.str.4) #8
  %5177 = load i32, ptr %278, align 4, !tbaa !5
  %5178 = call ptr @strerror(i32 noundef %5177) #8
  %5179 = load i32, ptr %278, align 4, !tbaa !5
  %5180 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5171, ptr noundef nonnull %.str.5.sink2550, i32 noundef %5172, ptr noundef nonnull @.str.121, ptr noundef nonnull @.str.1, i32 noundef 387, ptr noundef %5174, ptr noundef %5176, ptr noundef %5178, i32 noundef %5179) #10
  call void @exit(i32 noundef 1) #11
  unreachable

5181:                                             ; preds = %5154
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %59) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %60) #8
  %5182 = add nsw i32 %5155, 2
  store i32 %5182, ptr @test_count, align 4, !tbaa !5
  %5183 = call i32 @s2n_add_overflow(i32 noundef -103, i32 noundef 100, ptr noundef nonnull %60) #8
  %5184 = icmp eq i32 %5183, -1
  br i1 %5184, label %5185, label %5207

5185:                                             ; preds = %5181
  %5186 = load i32, ptr %278, align 4, !tbaa !5
  %5187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5188 = call i32 @s2n_print_stacktrace(ptr noundef %5187) #8
  %5189 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5190 = trunc nuw i8 %5189 to i1
  br i1 %5190, label %5191, label %5195

5191:                                             ; preds = %5185
  %5192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5193 = call i32 @fileno(ptr noundef %5192) #8
  %5194 = call i32 @isatty(i32 noundef %5193) #8
  %.not682 = icmp eq i32 %5194, 0
  br i1 %.not682, label %5195, label %5196

5195:                                             ; preds = %5191, %5185
  br label %5196

5196:                                             ; preds = %5191, %5195
  %.str.5.sink2559 = phi ptr [ @.str.5, %5195 ], [ @.str.2, %5191 ]
  store i32 %5186, ptr %278, align 4, !tbaa !5
  %5197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5198 = load i32, ptr @test_count, align 4, !tbaa !5
  %5199 = load i32, ptr %224, align 4, !tbaa !5
  %5200 = call ptr @s2n_strerror(i32 noundef %5199, ptr noundef nonnull @.str.4) #8
  %5201 = load i32, ptr %224, align 4, !tbaa !5
  %5202 = call ptr @s2n_strerror_debug(i32 noundef %5201, ptr noundef nonnull @.str.4) #8
  %5203 = load i32, ptr %278, align 4, !tbaa !5
  %5204 = call ptr @strerror(i32 noundef %5203) #8
  %5205 = load i32, ptr %278, align 4, !tbaa !5
  %5206 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5197, ptr noundef nonnull %.str.5.sink2559, i32 noundef %5198, ptr noundef nonnull @.str.122, ptr noundef nonnull @.str.1, i32 noundef 387, ptr noundef %5200, ptr noundef %5202, ptr noundef %5204, i32 noundef %5205) #10
  call void @exit(i32 noundef 1) #11
  unreachable

5207:                                             ; preds = %5181
  %5208 = load i32, ptr @test_count, align 4, !tbaa !5
  %5209 = add nsw i32 %5208, 1
  store i32 %5209, ptr @test_count, align 4, !tbaa !5
  %5210 = load i32, ptr %60, align 4, !tbaa !5
  %5211 = icmp eq i32 %5210, -3
  br i1 %5211, label %5234, label %5212

5212:                                             ; preds = %5207
  %5213 = load i32, ptr %278, align 4, !tbaa !5
  %5214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5215 = call i32 @s2n_print_stacktrace(ptr noundef %5214) #8
  %5216 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5217 = trunc nuw i8 %5216 to i1
  br i1 %5217, label %5218, label %5222

5218:                                             ; preds = %5212
  %5219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5220 = call i32 @fileno(ptr noundef %5219) #8
  %5221 = call i32 @isatty(i32 noundef %5220) #8
  %.not618 = icmp eq i32 %5221, 0
  br i1 %.not618, label %5222, label %5223

5222:                                             ; preds = %5218, %5212
  br label %5223

5223:                                             ; preds = %5218, %5222
  %.str.5.sink2568 = phi ptr [ @.str.5, %5222 ], [ @.str.2, %5218 ]
  store i32 %5213, ptr %278, align 4, !tbaa !5
  %5224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5225 = load i32, ptr @test_count, align 4, !tbaa !5
  %5226 = load i32, ptr %224, align 4, !tbaa !5
  %5227 = call ptr @s2n_strerror(i32 noundef %5226, ptr noundef nonnull @.str.4) #8
  %5228 = load i32, ptr %224, align 4, !tbaa !5
  %5229 = call ptr @s2n_strerror_debug(i32 noundef %5228, ptr noundef nonnull @.str.4) #8
  %5230 = load i32, ptr %278, align 4, !tbaa !5
  %5231 = call ptr @strerror(i32 noundef %5230) #8
  %5232 = load i32, ptr %278, align 4, !tbaa !5
  %5233 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5224, ptr noundef nonnull %.str.5.sink2568, i32 noundef %5225, ptr noundef nonnull @.str.121, ptr noundef nonnull @.str.1, i32 noundef 387, ptr noundef %5227, ptr noundef %5229, ptr noundef %5231, i32 noundef %5232) #10
  call void @exit(i32 noundef 1) #11
  unreachable

5234:                                             ; preds = %5207
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %60) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %61) #8
  %5235 = add nsw i32 %5208, 2
  store i32 %5235, ptr @test_count, align 4, !tbaa !5
  %5236 = call i32 @s2n_add_overflow(i32 noundef 100, i32 noundef -101, ptr noundef nonnull %61) #8
  %5237 = icmp eq i32 %5236, -1
  br i1 %5237, label %5238, label %5260

5238:                                             ; preds = %5234
  %5239 = load i32, ptr %278, align 4, !tbaa !5
  %5240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5241 = call i32 @s2n_print_stacktrace(ptr noundef %5240) #8
  %5242 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5243 = trunc nuw i8 %5242 to i1
  br i1 %5243, label %5244, label %5248

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

5248:                                             ; preds = %5244, %5238
  br label %5249

5249:                                             ; preds = %5244, %5248
  %.str.5.sink2577 = phi ptr [ @.str.5, %5248 ], [ @.str.2, %5244 ]
  store i32 %5239, ptr %278, align 4, !tbaa !5
  %5250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5251 = load i32, ptr @test_count, align 4, !tbaa !5
  %5252 = load i32, ptr %224, align 4, !tbaa !5
  %5253 = call ptr @s2n_strerror(i32 noundef %5252, ptr noundef nonnull @.str.4) #8
  %5254 = load i32, ptr %224, align 4, !tbaa !5
  %5255 = call ptr @s2n_strerror_debug(i32 noundef %5254, ptr noundef nonnull @.str.4) #8
  %5256 = load i32, ptr %278, align 4, !tbaa !5
  %5257 = call ptr @strerror(i32 noundef %5256) #8
  %5258 = load i32, ptr %278, align 4, !tbaa !5
  %5259 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5250, ptr noundef nonnull %.str.5.sink2577, i32 noundef %5251, ptr noundef nonnull @.str.123, ptr noundef nonnull @.str.1, i32 noundef 388, ptr noundef %5253, ptr noundef %5255, ptr noundef %5257, i32 noundef %5258) #10
  call void @exit(i32 noundef 1) #11
  unreachable

5260:                                             ; preds = %5234
  %5261 = load i32, ptr @test_count, align 4, !tbaa !5
  %5262 = add nsw i32 %5261, 1
  store i32 %5262, ptr @test_count, align 4, !tbaa !5
  %5263 = load i32, ptr %61, align 4, !tbaa !5
  %5264 = icmp eq i32 %5263, -1
  br i1 %5264, label %5287, label %5265

5265:                                             ; preds = %5260
  %5266 = load i32, ptr %278, align 4, !tbaa !5
  %5267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5268 = call i32 @s2n_print_stacktrace(ptr noundef %5267) #8
  %5269 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5270 = trunc nuw i8 %5269 to i1
  br i1 %5270, label %5271, label %5275

5271:                                             ; preds = %5265
  %5272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5273 = call i32 @fileno(ptr noundef %5272) #8
  %5274 = call i32 @isatty(i32 noundef %5273) #8
  %.not619 = icmp eq i32 %5274, 0
  br i1 %.not619, label %5275, label %5276

5275:                                             ; preds = %5271, %5265
  br label %5276

5276:                                             ; preds = %5271, %5275
  %.str.5.sink2586 = phi ptr [ @.str.5, %5275 ], [ @.str.2, %5271 ]
  store i32 %5266, ptr %278, align 4, !tbaa !5
  %5277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5278 = load i32, ptr @test_count, align 4, !tbaa !5
  %5279 = load i32, ptr %224, align 4, !tbaa !5
  %5280 = call ptr @s2n_strerror(i32 noundef %5279, ptr noundef nonnull @.str.4) #8
  %5281 = load i32, ptr %224, align 4, !tbaa !5
  %5282 = call ptr @s2n_strerror_debug(i32 noundef %5281, ptr noundef nonnull @.str.4) #8
  %5283 = load i32, ptr %278, align 4, !tbaa !5
  %5284 = call ptr @strerror(i32 noundef %5283) #8
  %5285 = load i32, ptr %278, align 4, !tbaa !5
  %5286 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5277, ptr noundef nonnull %.str.5.sink2586, i32 noundef %5278, ptr noundef nonnull @.str.114, ptr noundef nonnull @.str.1, i32 noundef 388, ptr noundef %5280, ptr noundef %5282, ptr noundef %5284, i32 noundef %5285) #10
  call void @exit(i32 noundef 1) #11
  unreachable

5287:                                             ; preds = %5260
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %61) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %62) #8
  %5288 = add nsw i32 %5261, 2
  store i32 %5288, ptr @test_count, align 4, !tbaa !5
  %5289 = call i32 @s2n_add_overflow(i32 noundef -101, i32 noundef 100, ptr noundef nonnull %62) #8
  %5290 = icmp eq i32 %5289, -1
  br i1 %5290, label %5291, label %5313

5291:                                             ; preds = %5287
  %5292 = load i32, ptr %278, align 4, !tbaa !5
  %5293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5294 = call i32 @s2n_print_stacktrace(ptr noundef %5293) #8
  %5295 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5296 = trunc nuw i8 %5295 to i1
  br i1 %5296, label %5297, label %5301

5297:                                             ; preds = %5291
  %5298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5299 = call i32 @fileno(ptr noundef %5298) #8
  %5300 = call i32 @isatty(i32 noundef %5299) #8
  %.not680 = icmp eq i32 %5300, 0
  br i1 %.not680, label %5301, label %5302

5301:                                             ; preds = %5297, %5291
  br label %5302

5302:                                             ; preds = %5297, %5301
  %.str.5.sink2595 = phi ptr [ @.str.5, %5301 ], [ @.str.2, %5297 ]
  store i32 %5292, ptr %278, align 4, !tbaa !5
  %5303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5304 = load i32, ptr @test_count, align 4, !tbaa !5
  %5305 = load i32, ptr %224, align 4, !tbaa !5
  %5306 = call ptr @s2n_strerror(i32 noundef %5305, ptr noundef nonnull @.str.4) #8
  %5307 = load i32, ptr %224, align 4, !tbaa !5
  %5308 = call ptr @s2n_strerror_debug(i32 noundef %5307, ptr noundef nonnull @.str.4) #8
  %5309 = load i32, ptr %278, align 4, !tbaa !5
  %5310 = call ptr @strerror(i32 noundef %5309) #8
  %5311 = load i32, ptr %278, align 4, !tbaa !5
  %5312 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5303, ptr noundef nonnull %.str.5.sink2595, i32 noundef %5304, ptr noundef nonnull @.str.124, ptr noundef nonnull @.str.1, i32 noundef 388, ptr noundef %5306, ptr noundef %5308, ptr noundef %5310, i32 noundef %5311) #10
  call void @exit(i32 noundef 1) #11
  unreachable

5313:                                             ; preds = %5287
  %5314 = load i32, ptr @test_count, align 4, !tbaa !5
  %5315 = add nsw i32 %5314, 1
  store i32 %5315, ptr @test_count, align 4, !tbaa !5
  %5316 = load i32, ptr %62, align 4, !tbaa !5
  %5317 = icmp eq i32 %5316, -1
  br i1 %5317, label %5340, label %5318

5318:                                             ; preds = %5313
  %5319 = load i32, ptr %278, align 4, !tbaa !5
  %5320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5321 = call i32 @s2n_print_stacktrace(ptr noundef %5320) #8
  %5322 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5323 = trunc nuw i8 %5322 to i1
  br i1 %5323, label %5324, label %5328

5324:                                             ; preds = %5318
  %5325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5326 = call i32 @fileno(ptr noundef %5325) #8
  %5327 = call i32 @isatty(i32 noundef %5326) #8
  %.not620 = icmp eq i32 %5327, 0
  br i1 %.not620, label %5328, label %5329

5328:                                             ; preds = %5324, %5318
  br label %5329

5329:                                             ; preds = %5324, %5328
  %.str.5.sink2604 = phi ptr [ @.str.5, %5328 ], [ @.str.2, %5324 ]
  store i32 %5319, ptr %278, align 4, !tbaa !5
  %5330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5331 = load i32, ptr @test_count, align 4, !tbaa !5
  %5332 = load i32, ptr %224, align 4, !tbaa !5
  %5333 = call ptr @s2n_strerror(i32 noundef %5332, ptr noundef nonnull @.str.4) #8
  %5334 = load i32, ptr %224, align 4, !tbaa !5
  %5335 = call ptr @s2n_strerror_debug(i32 noundef %5334, ptr noundef nonnull @.str.4) #8
  %5336 = load i32, ptr %278, align 4, !tbaa !5
  %5337 = call ptr @strerror(i32 noundef %5336) #8
  %5338 = load i32, ptr %278, align 4, !tbaa !5
  %5339 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5330, ptr noundef nonnull %.str.5.sink2604, i32 noundef %5331, ptr noundef nonnull @.str.114, ptr noundef nonnull @.str.1, i32 noundef 388, ptr noundef %5333, ptr noundef %5335, ptr noundef %5337, i32 noundef %5338) #10
  call void @exit(i32 noundef 1) #11
  unreachable

5340:                                             ; preds = %5313
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %62) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %63) #8
  %5341 = add nsw i32 %5314, 2
  store i32 %5341, ptr @test_count, align 4, !tbaa !5
  %5342 = call i32 @s2n_add_overflow(i32 noundef 1, i32 noundef -1, ptr noundef nonnull %63) #8
  %5343 = icmp eq i32 %5342, -1
  br i1 %5343, label %5366, label %5344

5344:                                             ; preds = %5340
  %5345 = load i32, ptr %278, align 4, !tbaa !5
  %5346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5347 = call i32 @s2n_print_stacktrace(ptr noundef %5346) #8
  %5348 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5349 = trunc nuw i8 %5348 to i1
  br i1 %5349, label %5350, label %5354

5350:                                             ; preds = %5344
  %5351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5352 = call i32 @fileno(ptr noundef %5351) #8
  %5353 = call i32 @isatty(i32 noundef %5352) #8
  %.not621 = icmp eq i32 %5353, 0
  br i1 %.not621, label %5354, label %5355

5354:                                             ; preds = %5350, %5344
  br label %5355

5355:                                             ; preds = %5350, %5354
  %.str.5.sink2613 = phi ptr [ @.str.5, %5354 ], [ @.str.2, %5350 ]
  store i32 %5345, ptr %278, align 4, !tbaa !5
  %5356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5357 = load i32, ptr @test_count, align 4, !tbaa !5
  %5358 = load i32, ptr %224, align 4, !tbaa !5
  %5359 = call ptr @s2n_strerror(i32 noundef %5358, ptr noundef nonnull @.str.4) #8
  %5360 = load i32, ptr %224, align 4, !tbaa !5
  %5361 = call ptr @s2n_strerror_debug(i32 noundef %5360, ptr noundef nonnull @.str.4) #8
  %5362 = load i32, ptr %278, align 4, !tbaa !5
  %5363 = call ptr @strerror(i32 noundef %5362) #8
  %5364 = load i32, ptr %278, align 4, !tbaa !5
  %5365 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5356, ptr noundef nonnull %.str.5.sink2613, i32 noundef %5357, ptr noundef nonnull @.str.125, ptr noundef nonnull @.str.1, i32 noundef 389, ptr noundef %5359, ptr noundef %5361, ptr noundef %5363, i32 noundef %5364) #10
  call void @exit(i32 noundef 1) #11
  unreachable

5366:                                             ; preds = %5340
  %5367 = load i32, ptr @test_count, align 4, !tbaa !5
  %5368 = add nsw i32 %5367, 1
  store i32 %5368, ptr @test_count, align 4, !tbaa !5
  %5369 = load i32, ptr %224, align 4, !tbaa !5
  %5370 = icmp eq i32 %5369, 0
  br i1 %5370, label %5371, label %5393

5371:                                             ; preds = %5366
  %5372 = load i32, ptr %278, align 4, !tbaa !5
  %5373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5374 = call i32 @s2n_print_stacktrace(ptr noundef %5373) #8
  %5375 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5376 = trunc nuw i8 %5375 to i1
  br i1 %5376, label %5377, label %5381

5377:                                             ; preds = %5371
  %5378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5379 = call i32 @fileno(ptr noundef %5378) #8
  %5380 = call i32 @isatty(i32 noundef %5379) #8
  %.not679 = icmp eq i32 %5380, 0
  br i1 %.not679, label %5381, label %5382

5381:                                             ; preds = %5377, %5371
  br label %5382

5382:                                             ; preds = %5377, %5381
  %.str.5.sink2622 = phi ptr [ @.str.5, %5381 ], [ @.str.2, %5377 ]
  store i32 %5372, ptr %278, align 4, !tbaa !5
  %5383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5384 = load i32, ptr @test_count, align 4, !tbaa !5
  %5385 = load i32, ptr %224, align 4, !tbaa !5
  %5386 = call ptr @s2n_strerror(i32 noundef %5385, ptr noundef nonnull @.str.4) #8
  %5387 = load i32, ptr %224, align 4, !tbaa !5
  %5388 = call ptr @s2n_strerror_debug(i32 noundef %5387, ptr noundef nonnull @.str.4) #8
  %5389 = load i32, ptr %278, align 4, !tbaa !5
  %5390 = call ptr @strerror(i32 noundef %5389) #8
  %5391 = load i32, ptr %278, align 4, !tbaa !5
  %5392 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5383, ptr noundef nonnull %.str.5.sink2622, i32 noundef %5384, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 389, ptr noundef %5386, ptr noundef %5388, ptr noundef %5390, i32 noundef %5391) #10
  call void @exit(i32 noundef 1) #11
  unreachable

5393:                                             ; preds = %5366
  %5394 = add nsw i32 %5367, 2
  store i32 %5394, ptr @test_count, align 4, !tbaa !5
  %5395 = call ptr @s2n_strerror_debug(i32 noundef %5369, ptr noundef nonnull @.str.4) #8
  %5396 = icmp eq ptr %5395, null
  br i1 %5396, label %5397, label %5419

5397:                                             ; preds = %5393
  %5398 = load i32, ptr %278, align 4, !tbaa !5
  %5399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5400 = call i32 @s2n_print_stacktrace(ptr noundef %5399) #8
  %5401 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5402 = trunc nuw i8 %5401 to i1
  br i1 %5402, label %5403, label %5407

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

5407:                                             ; preds = %5403, %5397
  br label %5408

5408:                                             ; preds = %5403, %5407
  %.str.5.sink2631 = phi ptr [ @.str.5, %5407 ], [ @.str.2, %5403 ]
  store i32 %5398, ptr %278, align 4, !tbaa !5
  %5409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5410 = load i32, ptr @test_count, align 4, !tbaa !5
  %5411 = load i32, ptr %224, align 4, !tbaa !5
  %5412 = call ptr @s2n_strerror(i32 noundef %5411, ptr noundef nonnull @.str.4) #8
  %5413 = load i32, ptr %224, align 4, !tbaa !5
  %5414 = call ptr @s2n_strerror_debug(i32 noundef %5413, ptr noundef nonnull @.str.4) #8
  %5415 = load i32, ptr %278, align 4, !tbaa !5
  %5416 = call ptr @strerror(i32 noundef %5415) #8
  %5417 = load i32, ptr %278, align 4, !tbaa !5
  %5418 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5409, ptr noundef nonnull %.str.5.sink2631, i32 noundef %5410, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 389, ptr noundef %5412, ptr noundef %5414, ptr noundef %5416, i32 noundef %5417) #10
  call void @exit(i32 noundef 1) #11
  unreachable

5419:                                             ; preds = %5393
  store i32 0, ptr %224, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #8
  store i32 0, ptr %278, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %63) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %64) #8
  %5420 = load i32, ptr @test_count, align 4, !tbaa !5
  %5421 = add nsw i32 %5420, 1
  store i32 %5421, ptr @test_count, align 4, !tbaa !5
  %5422 = call i32 @s2n_add_overflow(i32 noundef -1, i32 noundef 1, ptr noundef nonnull %64) #8
  %5423 = icmp eq i32 %5422, -1
  br i1 %5423, label %5446, label %5424

5424:                                             ; preds = %5419
  %5425 = load i32, ptr %278, align 4, !tbaa !5
  %5426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5427 = call i32 @s2n_print_stacktrace(ptr noundef %5426) #8
  %5428 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5429 = trunc nuw i8 %5428 to i1
  br i1 %5429, label %5430, label %5434

5430:                                             ; preds = %5424
  %5431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5432 = call i32 @fileno(ptr noundef %5431) #8
  %5433 = call i32 @isatty(i32 noundef %5432) #8
  %.not622 = icmp eq i32 %5433, 0
  br i1 %.not622, label %5434, label %5435

5434:                                             ; preds = %5430, %5424
  br label %5435

5435:                                             ; preds = %5430, %5434
  %.str.5.sink2640 = phi ptr [ @.str.5, %5434 ], [ @.str.2, %5430 ]
  store i32 %5425, ptr %278, align 4, !tbaa !5
  %5436 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5437 = load i32, ptr @test_count, align 4, !tbaa !5
  %5438 = load i32, ptr %224, align 4, !tbaa !5
  %5439 = call ptr @s2n_strerror(i32 noundef %5438, ptr noundef nonnull @.str.4) #8
  %5440 = load i32, ptr %224, align 4, !tbaa !5
  %5441 = call ptr @s2n_strerror_debug(i32 noundef %5440, ptr noundef nonnull @.str.4) #8
  %5442 = load i32, ptr %278, align 4, !tbaa !5
  %5443 = call ptr @strerror(i32 noundef %5442) #8
  %5444 = load i32, ptr %278, align 4, !tbaa !5
  %5445 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5436, ptr noundef nonnull %.str.5.sink2640, i32 noundef %5437, ptr noundef nonnull @.str.126, ptr noundef nonnull @.str.1, i32 noundef 389, ptr noundef %5439, ptr noundef %5441, ptr noundef %5443, i32 noundef %5444) #10
  call void @exit(i32 noundef 1) #11
  unreachable

5446:                                             ; preds = %5419
  %5447 = load i32, ptr @test_count, align 4, !tbaa !5
  %5448 = add nsw i32 %5447, 1
  store i32 %5448, ptr @test_count, align 4, !tbaa !5
  %5449 = load i32, ptr %224, align 4, !tbaa !5
  %5450 = icmp eq i32 %5449, 0
  br i1 %5450, label %5451, label %5473

5451:                                             ; preds = %5446
  %5452 = load i32, ptr %278, align 4, !tbaa !5
  %5453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5454 = call i32 @s2n_print_stacktrace(ptr noundef %5453) #8
  %5455 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5456 = trunc nuw i8 %5455 to i1
  br i1 %5456, label %5457, label %5461

5457:                                             ; preds = %5451
  %5458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5459 = call i32 @fileno(ptr noundef %5458) #8
  %5460 = call i32 @isatty(i32 noundef %5459) #8
  %.not677 = icmp eq i32 %5460, 0
  br i1 %.not677, label %5461, label %5462

5461:                                             ; preds = %5457, %5451
  br label %5462

5462:                                             ; preds = %5457, %5461
  %.str.5.sink2649 = phi ptr [ @.str.5, %5461 ], [ @.str.2, %5457 ]
  store i32 %5452, ptr %278, align 4, !tbaa !5
  %5463 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5464 = load i32, ptr @test_count, align 4, !tbaa !5
  %5465 = load i32, ptr %224, align 4, !tbaa !5
  %5466 = call ptr @s2n_strerror(i32 noundef %5465, ptr noundef nonnull @.str.4) #8
  %5467 = load i32, ptr %224, align 4, !tbaa !5
  %5468 = call ptr @s2n_strerror_debug(i32 noundef %5467, ptr noundef nonnull @.str.4) #8
  %5469 = load i32, ptr %278, align 4, !tbaa !5
  %5470 = call ptr @strerror(i32 noundef %5469) #8
  %5471 = load i32, ptr %278, align 4, !tbaa !5
  %5472 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5463, ptr noundef nonnull %.str.5.sink2649, i32 noundef %5464, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 389, ptr noundef %5466, ptr noundef %5468, ptr noundef %5470, i32 noundef %5471) #10
  call void @exit(i32 noundef 1) #11
  unreachable

5473:                                             ; preds = %5446
  %5474 = add nsw i32 %5447, 2
  store i32 %5474, ptr @test_count, align 4, !tbaa !5
  %5475 = call ptr @s2n_strerror_debug(i32 noundef %5449, ptr noundef nonnull @.str.4) #8
  %5476 = icmp eq ptr %5475, null
  br i1 %5476, label %5477, label %5499

5477:                                             ; preds = %5473
  %5478 = load i32, ptr %278, align 4, !tbaa !5
  %5479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5480 = call i32 @s2n_print_stacktrace(ptr noundef %5479) #8
  %5481 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5482 = trunc nuw i8 %5481 to i1
  br i1 %5482, label %5483, label %5487

5483:                                             ; preds = %5477
  %5484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5485 = call i32 @fileno(ptr noundef %5484) #8
  %5486 = call i32 @isatty(i32 noundef %5485) #8
  %.not676 = icmp eq i32 %5486, 0
  br i1 %.not676, label %5487, label %5488

5487:                                             ; preds = %5483, %5477
  br label %5488

5488:                                             ; preds = %5483, %5487
  %.str.5.sink2658 = phi ptr [ @.str.5, %5487 ], [ @.str.2, %5483 ]
  store i32 %5478, ptr %278, align 4, !tbaa !5
  %5489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5490 = load i32, ptr @test_count, align 4, !tbaa !5
  %5491 = load i32, ptr %224, align 4, !tbaa !5
  %5492 = call ptr @s2n_strerror(i32 noundef %5491, ptr noundef nonnull @.str.4) #8
  %5493 = load i32, ptr %224, align 4, !tbaa !5
  %5494 = call ptr @s2n_strerror_debug(i32 noundef %5493, ptr noundef nonnull @.str.4) #8
  %5495 = load i32, ptr %278, align 4, !tbaa !5
  %5496 = call ptr @strerror(i32 noundef %5495) #8
  %5497 = load i32, ptr %278, align 4, !tbaa !5
  %5498 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5489, ptr noundef nonnull %.str.5.sink2658, i32 noundef %5490, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 389, ptr noundef %5492, ptr noundef %5494, ptr noundef %5496, i32 noundef %5497) #10
  call void @exit(i32 noundef 1) #11
  unreachable

5499:                                             ; preds = %5473
  store i32 0, ptr %224, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #8
  store i32 0, ptr %278, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %64) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %65) #8
  %5500 = load i32, ptr @test_count, align 4, !tbaa !5
  %5501 = add nsw i32 %5500, 1
  store i32 %5501, ptr @test_count, align 4, !tbaa !5
  %5502 = call i32 @s2n_add_overflow(i32 noundef 100, i32 noundef -1, ptr noundef nonnull %65) #8
  %5503 = icmp eq i32 %5502, -1
  br i1 %5503, label %5526, label %5504

5504:                                             ; preds = %5499
  %5505 = load i32, ptr %278, align 4, !tbaa !5
  %5506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5507 = call i32 @s2n_print_stacktrace(ptr noundef %5506) #8
  %5508 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5509 = trunc nuw i8 %5508 to i1
  br i1 %5509, label %5510, label %5514

5510:                                             ; preds = %5504
  %5511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5512 = call i32 @fileno(ptr noundef %5511) #8
  %5513 = call i32 @isatty(i32 noundef %5512) #8
  %.not623 = icmp eq i32 %5513, 0
  br i1 %.not623, label %5514, label %5515

5514:                                             ; preds = %5510, %5504
  br label %5515

5515:                                             ; preds = %5510, %5514
  %.str.5.sink2667 = phi ptr [ @.str.5, %5514 ], [ @.str.2, %5510 ]
  store i32 %5505, ptr %278, align 4, !tbaa !5
  %5516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5517 = load i32, ptr @test_count, align 4, !tbaa !5
  %5518 = load i32, ptr %224, align 4, !tbaa !5
  %5519 = call ptr @s2n_strerror(i32 noundef %5518, ptr noundef nonnull @.str.4) #8
  %5520 = load i32, ptr %224, align 4, !tbaa !5
  %5521 = call ptr @s2n_strerror_debug(i32 noundef %5520, ptr noundef nonnull @.str.4) #8
  %5522 = load i32, ptr %278, align 4, !tbaa !5
  %5523 = call ptr @strerror(i32 noundef %5522) #8
  %5524 = load i32, ptr %278, align 4, !tbaa !5
  %5525 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5516, ptr noundef nonnull %.str.5.sink2667, i32 noundef %5517, ptr noundef nonnull @.str.127, ptr noundef nonnull @.str.1, i32 noundef 390, ptr noundef %5519, ptr noundef %5521, ptr noundef %5523, i32 noundef %5524) #10
  call void @exit(i32 noundef 1) #11
  unreachable

5526:                                             ; preds = %5499
  %5527 = load i32, ptr @test_count, align 4, !tbaa !5
  %5528 = add nsw i32 %5527, 1
  store i32 %5528, ptr @test_count, align 4, !tbaa !5
  %5529 = load i32, ptr %224, align 4, !tbaa !5
  %5530 = icmp eq i32 %5529, 0
  br i1 %5530, label %5531, label %5553

5531:                                             ; preds = %5526
  %5532 = load i32, ptr %278, align 4, !tbaa !5
  %5533 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5534 = call i32 @s2n_print_stacktrace(ptr noundef %5533) #8
  %5535 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5536 = trunc nuw i8 %5535 to i1
  br i1 %5536, label %5537, label %5541

5537:                                             ; preds = %5531
  %5538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5539 = call i32 @fileno(ptr noundef %5538) #8
  %5540 = call i32 @isatty(i32 noundef %5539) #8
  %.not675 = icmp eq i32 %5540, 0
  br i1 %.not675, label %5541, label %5542

5541:                                             ; preds = %5537, %5531
  br label %5542

5542:                                             ; preds = %5537, %5541
  %.str.5.sink2676 = phi ptr [ @.str.5, %5541 ], [ @.str.2, %5537 ]
  store i32 %5532, ptr %278, align 4, !tbaa !5
  %5543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5544 = load i32, ptr @test_count, align 4, !tbaa !5
  %5545 = load i32, ptr %224, align 4, !tbaa !5
  %5546 = call ptr @s2n_strerror(i32 noundef %5545, ptr noundef nonnull @.str.4) #8
  %5547 = load i32, ptr %224, align 4, !tbaa !5
  %5548 = call ptr @s2n_strerror_debug(i32 noundef %5547, ptr noundef nonnull @.str.4) #8
  %5549 = load i32, ptr %278, align 4, !tbaa !5
  %5550 = call ptr @strerror(i32 noundef %5549) #8
  %5551 = load i32, ptr %278, align 4, !tbaa !5
  %5552 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5543, ptr noundef nonnull %.str.5.sink2676, i32 noundef %5544, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 390, ptr noundef %5546, ptr noundef %5548, ptr noundef %5550, i32 noundef %5551) #10
  call void @exit(i32 noundef 1) #11
  unreachable

5553:                                             ; preds = %5526
  %5554 = add nsw i32 %5527, 2
  store i32 %5554, ptr @test_count, align 4, !tbaa !5
  %5555 = call ptr @s2n_strerror_debug(i32 noundef %5529, ptr noundef nonnull @.str.4) #8
  %5556 = icmp eq ptr %5555, null
  br i1 %5556, label %5557, label %5579

5557:                                             ; preds = %5553
  %5558 = load i32, ptr %278, align 4, !tbaa !5
  %5559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5560 = call i32 @s2n_print_stacktrace(ptr noundef %5559) #8
  %5561 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5562 = trunc nuw i8 %5561 to i1
  br i1 %5562, label %5563, label %5567

5563:                                             ; preds = %5557
  %5564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5565 = call i32 @fileno(ptr noundef %5564) #8
  %5566 = call i32 @isatty(i32 noundef %5565) #8
  %.not674 = icmp eq i32 %5566, 0
  br i1 %.not674, label %5567, label %5568

5567:                                             ; preds = %5563, %5557
  br label %5568

5568:                                             ; preds = %5563, %5567
  %.str.5.sink2685 = phi ptr [ @.str.5, %5567 ], [ @.str.2, %5563 ]
  store i32 %5558, ptr %278, align 4, !tbaa !5
  %5569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5570 = load i32, ptr @test_count, align 4, !tbaa !5
  %5571 = load i32, ptr %224, align 4, !tbaa !5
  %5572 = call ptr @s2n_strerror(i32 noundef %5571, ptr noundef nonnull @.str.4) #8
  %5573 = load i32, ptr %224, align 4, !tbaa !5
  %5574 = call ptr @s2n_strerror_debug(i32 noundef %5573, ptr noundef nonnull @.str.4) #8
  %5575 = load i32, ptr %278, align 4, !tbaa !5
  %5576 = call ptr @strerror(i32 noundef %5575) #8
  %5577 = load i32, ptr %278, align 4, !tbaa !5
  %5578 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5569, ptr noundef nonnull %.str.5.sink2685, i32 noundef %5570, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 390, ptr noundef %5572, ptr noundef %5574, ptr noundef %5576, i32 noundef %5577) #10
  call void @exit(i32 noundef 1) #11
  unreachable

5579:                                             ; preds = %5553
  store i32 0, ptr %224, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #8
  store i32 0, ptr %278, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %65) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %66) #8
  %5580 = load i32, ptr @test_count, align 4, !tbaa !5
  %5581 = add nsw i32 %5580, 1
  store i32 %5581, ptr @test_count, align 4, !tbaa !5
  %5582 = call i32 @s2n_add_overflow(i32 noundef -1, i32 noundef 100, ptr noundef nonnull %66) #8
  %5583 = icmp eq i32 %5582, -1
  br i1 %5583, label %5606, label %5584

5584:                                             ; preds = %5579
  %5585 = load i32, ptr %278, align 4, !tbaa !5
  %5586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5587 = call i32 @s2n_print_stacktrace(ptr noundef %5586) #8
  %5588 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5589 = trunc nuw i8 %5588 to i1
  br i1 %5589, label %5590, label %5594

5590:                                             ; preds = %5584
  %5591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5592 = call i32 @fileno(ptr noundef %5591) #8
  %5593 = call i32 @isatty(i32 noundef %5592) #8
  %.not624 = icmp eq i32 %5593, 0
  br i1 %.not624, label %5594, label %5595

5594:                                             ; preds = %5590, %5584
  br label %5595

5595:                                             ; preds = %5590, %5594
  %.str.5.sink2694 = phi ptr [ @.str.5, %5594 ], [ @.str.2, %5590 ]
  store i32 %5585, ptr %278, align 4, !tbaa !5
  %5596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5597 = load i32, ptr @test_count, align 4, !tbaa !5
  %5598 = load i32, ptr %224, align 4, !tbaa !5
  %5599 = call ptr @s2n_strerror(i32 noundef %5598, ptr noundef nonnull @.str.4) #8
  %5600 = load i32, ptr %224, align 4, !tbaa !5
  %5601 = call ptr @s2n_strerror_debug(i32 noundef %5600, ptr noundef nonnull @.str.4) #8
  %5602 = load i32, ptr %278, align 4, !tbaa !5
  %5603 = call ptr @strerror(i32 noundef %5602) #8
  %5604 = load i32, ptr %278, align 4, !tbaa !5
  %5605 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5596, ptr noundef nonnull %.str.5.sink2694, i32 noundef %5597, ptr noundef nonnull @.str.128, ptr noundef nonnull @.str.1, i32 noundef 390, ptr noundef %5599, ptr noundef %5601, ptr noundef %5603, i32 noundef %5604) #10
  call void @exit(i32 noundef 1) #11
  unreachable

5606:                                             ; preds = %5579
  %5607 = load i32, ptr @test_count, align 4, !tbaa !5
  %5608 = add nsw i32 %5607, 1
  store i32 %5608, ptr @test_count, align 4, !tbaa !5
  %5609 = load i32, ptr %224, align 4, !tbaa !5
  %5610 = icmp eq i32 %5609, 0
  br i1 %5610, label %5611, label %5633

5611:                                             ; preds = %5606
  %5612 = load i32, ptr %278, align 4, !tbaa !5
  %5613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5614 = call i32 @s2n_print_stacktrace(ptr noundef %5613) #8
  %5615 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5616 = trunc nuw i8 %5615 to i1
  br i1 %5616, label %5617, label %5621

5617:                                             ; preds = %5611
  %5618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5619 = call i32 @fileno(ptr noundef %5618) #8
  %5620 = call i32 @isatty(i32 noundef %5619) #8
  %.not673 = icmp eq i32 %5620, 0
  br i1 %.not673, label %5621, label %5622

5621:                                             ; preds = %5617, %5611
  br label %5622

5622:                                             ; preds = %5617, %5621
  %.str.5.sink2703 = phi ptr [ @.str.5, %5621 ], [ @.str.2, %5617 ]
  store i32 %5612, ptr %278, align 4, !tbaa !5
  %5623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5624 = load i32, ptr @test_count, align 4, !tbaa !5
  %5625 = load i32, ptr %224, align 4, !tbaa !5
  %5626 = call ptr @s2n_strerror(i32 noundef %5625, ptr noundef nonnull @.str.4) #8
  %5627 = load i32, ptr %224, align 4, !tbaa !5
  %5628 = call ptr @s2n_strerror_debug(i32 noundef %5627, ptr noundef nonnull @.str.4) #8
  %5629 = load i32, ptr %278, align 4, !tbaa !5
  %5630 = call ptr @strerror(i32 noundef %5629) #8
  %5631 = load i32, ptr %278, align 4, !tbaa !5
  %5632 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5623, ptr noundef nonnull %.str.5.sink2703, i32 noundef %5624, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 390, ptr noundef %5626, ptr noundef %5628, ptr noundef %5630, i32 noundef %5631) #10
  call void @exit(i32 noundef 1) #11
  unreachable

5633:                                             ; preds = %5606
  %5634 = add nsw i32 %5607, 2
  store i32 %5634, ptr @test_count, align 4, !tbaa !5
  %5635 = call ptr @s2n_strerror_debug(i32 noundef %5609, ptr noundef nonnull @.str.4) #8
  %5636 = icmp eq ptr %5635, null
  br i1 %5636, label %5637, label %5659

5637:                                             ; preds = %5633
  %5638 = load i32, ptr %278, align 4, !tbaa !5
  %5639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5640 = call i32 @s2n_print_stacktrace(ptr noundef %5639) #8
  %5641 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5642 = trunc nuw i8 %5641 to i1
  br i1 %5642, label %5643, label %5647

5643:                                             ; preds = %5637
  %5644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5645 = call i32 @fileno(ptr noundef %5644) #8
  %5646 = call i32 @isatty(i32 noundef %5645) #8
  %.not672 = icmp eq i32 %5646, 0
  br i1 %.not672, label %5647, label %5648

5647:                                             ; preds = %5643, %5637
  br label %5648

5648:                                             ; preds = %5643, %5647
  %.str.5.sink2712 = phi ptr [ @.str.5, %5647 ], [ @.str.2, %5643 ]
  store i32 %5638, ptr %278, align 4, !tbaa !5
  %5649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5650 = load i32, ptr @test_count, align 4, !tbaa !5
  %5651 = load i32, ptr %224, align 4, !tbaa !5
  %5652 = call ptr @s2n_strerror(i32 noundef %5651, ptr noundef nonnull @.str.4) #8
  %5653 = load i32, ptr %224, align 4, !tbaa !5
  %5654 = call ptr @s2n_strerror_debug(i32 noundef %5653, ptr noundef nonnull @.str.4) #8
  %5655 = load i32, ptr %278, align 4, !tbaa !5
  %5656 = call ptr @strerror(i32 noundef %5655) #8
  %5657 = load i32, ptr %278, align 4, !tbaa !5
  %5658 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5649, ptr noundef nonnull %.str.5.sink2712, i32 noundef %5650, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 390, ptr noundef %5652, ptr noundef %5654, ptr noundef %5656, i32 noundef %5657) #10
  call void @exit(i32 noundef 1) #11
  unreachable

5659:                                             ; preds = %5633
  store i32 0, ptr %224, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #8
  store i32 0, ptr %278, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %66) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %67) #8
  %5660 = load i32, ptr @test_count, align 4, !tbaa !5
  %5661 = add nsw i32 %5660, 1
  store i32 %5661, ptr @test_count, align 4, !tbaa !5
  %5662 = call i32 @s2n_add_overflow(i32 noundef 2147483647, i32 noundef -1, ptr noundef nonnull %67) #8
  %5663 = icmp eq i32 %5662, -1
  br i1 %5663, label %5686, label %5664

5664:                                             ; preds = %5659
  %5665 = load i32, ptr %278, align 4, !tbaa !5
  %5666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5667 = call i32 @s2n_print_stacktrace(ptr noundef %5666) #8
  %5668 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5669 = trunc nuw i8 %5668 to i1
  br i1 %5669, label %5670, label %5674

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

5674:                                             ; preds = %5670, %5664
  br label %5675

5675:                                             ; preds = %5670, %5674
  %.str.5.sink2721 = phi ptr [ @.str.5, %5674 ], [ @.str.2, %5670 ]
  store i32 %5665, ptr %278, align 4, !tbaa !5
  %5676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5677 = load i32, ptr @test_count, align 4, !tbaa !5
  %5678 = load i32, ptr %224, align 4, !tbaa !5
  %5679 = call ptr @s2n_strerror(i32 noundef %5678, ptr noundef nonnull @.str.4) #8
  %5680 = load i32, ptr %224, align 4, !tbaa !5
  %5681 = call ptr @s2n_strerror_debug(i32 noundef %5680, ptr noundef nonnull @.str.4) #8
  %5682 = load i32, ptr %278, align 4, !tbaa !5
  %5683 = call ptr @strerror(i32 noundef %5682) #8
  %5684 = load i32, ptr %278, align 4, !tbaa !5
  %5685 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5676, ptr noundef nonnull %.str.5.sink2721, i32 noundef %5677, ptr noundef nonnull @.str.129, ptr noundef nonnull @.str.1, i32 noundef 391, ptr noundef %5679, ptr noundef %5681, ptr noundef %5683, i32 noundef %5684) #10
  call void @exit(i32 noundef 1) #11
  unreachable

5686:                                             ; preds = %5659
  %5687 = load i32, ptr @test_count, align 4, !tbaa !5
  %5688 = add nsw i32 %5687, 1
  store i32 %5688, ptr @test_count, align 4, !tbaa !5
  %5689 = load i32, ptr %224, align 4, !tbaa !5
  %5690 = icmp eq i32 %5689, 0
  br i1 %5690, label %5691, label %5713

5691:                                             ; preds = %5686
  %5692 = load i32, ptr %278, align 4, !tbaa !5
  %5693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5694 = call i32 @s2n_print_stacktrace(ptr noundef %5693) #8
  %5695 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5696 = trunc nuw i8 %5695 to i1
  br i1 %5696, label %5697, label %5701

5697:                                             ; preds = %5691
  %5698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5699 = call i32 @fileno(ptr noundef %5698) #8
  %5700 = call i32 @isatty(i32 noundef %5699) #8
  %.not671 = icmp eq i32 %5700, 0
  br i1 %.not671, label %5701, label %5702

5701:                                             ; preds = %5697, %5691
  br label %5702

5702:                                             ; preds = %5697, %5701
  %.str.5.sink2730 = phi ptr [ @.str.5, %5701 ], [ @.str.2, %5697 ]
  store i32 %5692, ptr %278, align 4, !tbaa !5
  %5703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5704 = load i32, ptr @test_count, align 4, !tbaa !5
  %5705 = load i32, ptr %224, align 4, !tbaa !5
  %5706 = call ptr @s2n_strerror(i32 noundef %5705, ptr noundef nonnull @.str.4) #8
  %5707 = load i32, ptr %224, align 4, !tbaa !5
  %5708 = call ptr @s2n_strerror_debug(i32 noundef %5707, ptr noundef nonnull @.str.4) #8
  %5709 = load i32, ptr %278, align 4, !tbaa !5
  %5710 = call ptr @strerror(i32 noundef %5709) #8
  %5711 = load i32, ptr %278, align 4, !tbaa !5
  %5712 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5703, ptr noundef nonnull %.str.5.sink2730, i32 noundef %5704, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 391, ptr noundef %5706, ptr noundef %5708, ptr noundef %5710, i32 noundef %5711) #10
  call void @exit(i32 noundef 1) #11
  unreachable

5713:                                             ; preds = %5686
  %5714 = add nsw i32 %5687, 2
  store i32 %5714, ptr @test_count, align 4, !tbaa !5
  %5715 = call ptr @s2n_strerror_debug(i32 noundef %5689, ptr noundef nonnull @.str.4) #8
  %5716 = icmp eq ptr %5715, null
  br i1 %5716, label %5717, label %5739

5717:                                             ; preds = %5713
  %5718 = load i32, ptr %278, align 4, !tbaa !5
  %5719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5720 = call i32 @s2n_print_stacktrace(ptr noundef %5719) #8
  %5721 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5722 = trunc nuw i8 %5721 to i1
  br i1 %5722, label %5723, label %5727

5723:                                             ; preds = %5717
  %5724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5725 = call i32 @fileno(ptr noundef %5724) #8
  %5726 = call i32 @isatty(i32 noundef %5725) #8
  %.not670 = icmp eq i32 %5726, 0
  br i1 %.not670, label %5727, label %5728

5727:                                             ; preds = %5723, %5717
  br label %5728

5728:                                             ; preds = %5723, %5727
  %.str.5.sink2739 = phi ptr [ @.str.5, %5727 ], [ @.str.2, %5723 ]
  store i32 %5718, ptr %278, align 4, !tbaa !5
  %5729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5730 = load i32, ptr @test_count, align 4, !tbaa !5
  %5731 = load i32, ptr %224, align 4, !tbaa !5
  %5732 = call ptr @s2n_strerror(i32 noundef %5731, ptr noundef nonnull @.str.4) #8
  %5733 = load i32, ptr %224, align 4, !tbaa !5
  %5734 = call ptr @s2n_strerror_debug(i32 noundef %5733, ptr noundef nonnull @.str.4) #8
  %5735 = load i32, ptr %278, align 4, !tbaa !5
  %5736 = call ptr @strerror(i32 noundef %5735) #8
  %5737 = load i32, ptr %278, align 4, !tbaa !5
  %5738 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5729, ptr noundef nonnull %.str.5.sink2739, i32 noundef %5730, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 391, ptr noundef %5732, ptr noundef %5734, ptr noundef %5736, i32 noundef %5737) #10
  call void @exit(i32 noundef 1) #11
  unreachable

5739:                                             ; preds = %5713
  store i32 0, ptr %224, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #8
  store i32 0, ptr %278, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %67) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %68) #8
  %5740 = load i32, ptr @test_count, align 4, !tbaa !5
  %5741 = add nsw i32 %5740, 1
  store i32 %5741, ptr @test_count, align 4, !tbaa !5
  %5742 = call i32 @s2n_add_overflow(i32 noundef -1, i32 noundef 2147483647, ptr noundef nonnull %68) #8
  %5743 = icmp eq i32 %5742, -1
  br i1 %5743, label %5766, label %5744

5744:                                             ; preds = %5739
  %5745 = load i32, ptr %278, align 4, !tbaa !5
  %5746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5747 = call i32 @s2n_print_stacktrace(ptr noundef %5746) #8
  %5748 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5749 = trunc nuw i8 %5748 to i1
  br i1 %5749, label %5750, label %5754

5750:                                             ; preds = %5744
  %5751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5752 = call i32 @fileno(ptr noundef %5751) #8
  %5753 = call i32 @isatty(i32 noundef %5752) #8
  %.not626 = icmp eq i32 %5753, 0
  br i1 %.not626, label %5754, label %5755

5754:                                             ; preds = %5750, %5744
  br label %5755

5755:                                             ; preds = %5750, %5754
  %.str.5.sink2748 = phi ptr [ @.str.5, %5754 ], [ @.str.2, %5750 ]
  store i32 %5745, ptr %278, align 4, !tbaa !5
  %5756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5757 = load i32, ptr @test_count, align 4, !tbaa !5
  %5758 = load i32, ptr %224, align 4, !tbaa !5
  %5759 = call ptr @s2n_strerror(i32 noundef %5758, ptr noundef nonnull @.str.4) #8
  %5760 = load i32, ptr %224, align 4, !tbaa !5
  %5761 = call ptr @s2n_strerror_debug(i32 noundef %5760, ptr noundef nonnull @.str.4) #8
  %5762 = load i32, ptr %278, align 4, !tbaa !5
  %5763 = call ptr @strerror(i32 noundef %5762) #8
  %5764 = load i32, ptr %278, align 4, !tbaa !5
  %5765 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5756, ptr noundef nonnull %.str.5.sink2748, i32 noundef %5757, ptr noundef nonnull @.str.130, ptr noundef nonnull @.str.1, i32 noundef 391, ptr noundef %5759, ptr noundef %5761, ptr noundef %5763, i32 noundef %5764) #10
  call void @exit(i32 noundef 1) #11
  unreachable

5766:                                             ; preds = %5739
  %5767 = load i32, ptr @test_count, align 4, !tbaa !5
  %5768 = add nsw i32 %5767, 1
  store i32 %5768, ptr @test_count, align 4, !tbaa !5
  %5769 = load i32, ptr %224, align 4, !tbaa !5
  %5770 = icmp eq i32 %5769, 0
  br i1 %5770, label %5771, label %5793

5771:                                             ; preds = %5766
  %5772 = load i32, ptr %278, align 4, !tbaa !5
  %5773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5774 = call i32 @s2n_print_stacktrace(ptr noundef %5773) #8
  %5775 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5776 = trunc nuw i8 %5775 to i1
  br i1 %5776, label %5777, label %5781

5777:                                             ; preds = %5771
  %5778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5779 = call i32 @fileno(ptr noundef %5778) #8
  %5780 = call i32 @isatty(i32 noundef %5779) #8
  %.not669 = icmp eq i32 %5780, 0
  br i1 %.not669, label %5781, label %5782

5781:                                             ; preds = %5777, %5771
  br label %5782

5782:                                             ; preds = %5777, %5781
  %.str.5.sink2757 = phi ptr [ @.str.5, %5781 ], [ @.str.2, %5777 ]
  store i32 %5772, ptr %278, align 4, !tbaa !5
  %5783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5784 = load i32, ptr @test_count, align 4, !tbaa !5
  %5785 = load i32, ptr %224, align 4, !tbaa !5
  %5786 = call ptr @s2n_strerror(i32 noundef %5785, ptr noundef nonnull @.str.4) #8
  %5787 = load i32, ptr %224, align 4, !tbaa !5
  %5788 = call ptr @s2n_strerror_debug(i32 noundef %5787, ptr noundef nonnull @.str.4) #8
  %5789 = load i32, ptr %278, align 4, !tbaa !5
  %5790 = call ptr @strerror(i32 noundef %5789) #8
  %5791 = load i32, ptr %278, align 4, !tbaa !5
  %5792 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5783, ptr noundef nonnull %.str.5.sink2757, i32 noundef %5784, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 391, ptr noundef %5786, ptr noundef %5788, ptr noundef %5790, i32 noundef %5791) #10
  call void @exit(i32 noundef 1) #11
  unreachable

5793:                                             ; preds = %5766
  %5794 = add nsw i32 %5767, 2
  store i32 %5794, ptr @test_count, align 4, !tbaa !5
  %5795 = call ptr @s2n_strerror_debug(i32 noundef %5769, ptr noundef nonnull @.str.4) #8
  %5796 = icmp eq ptr %5795, null
  br i1 %5796, label %5797, label %5819

5797:                                             ; preds = %5793
  %5798 = load i32, ptr %278, align 4, !tbaa !5
  %5799 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5800 = call i32 @s2n_print_stacktrace(ptr noundef %5799) #8
  %5801 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5802 = trunc nuw i8 %5801 to i1
  br i1 %5802, label %5803, label %5807

5803:                                             ; preds = %5797
  %5804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5805 = call i32 @fileno(ptr noundef %5804) #8
  %5806 = call i32 @isatty(i32 noundef %5805) #8
  %.not668 = icmp eq i32 %5806, 0
  br i1 %.not668, label %5807, label %5808

5807:                                             ; preds = %5803, %5797
  br label %5808

5808:                                             ; preds = %5803, %5807
  %.str.5.sink2766 = phi ptr [ @.str.5, %5807 ], [ @.str.2, %5803 ]
  store i32 %5798, ptr %278, align 4, !tbaa !5
  %5809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5810 = load i32, ptr @test_count, align 4, !tbaa !5
  %5811 = load i32, ptr %224, align 4, !tbaa !5
  %5812 = call ptr @s2n_strerror(i32 noundef %5811, ptr noundef nonnull @.str.4) #8
  %5813 = load i32, ptr %224, align 4, !tbaa !5
  %5814 = call ptr @s2n_strerror_debug(i32 noundef %5813, ptr noundef nonnull @.str.4) #8
  %5815 = load i32, ptr %278, align 4, !tbaa !5
  %5816 = call ptr @strerror(i32 noundef %5815) #8
  %5817 = load i32, ptr %278, align 4, !tbaa !5
  %5818 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5809, ptr noundef nonnull %.str.5.sink2766, i32 noundef %5810, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 391, ptr noundef %5812, ptr noundef %5814, ptr noundef %5816, i32 noundef %5817) #10
  call void @exit(i32 noundef 1) #11
  unreachable

5819:                                             ; preds = %5793
  store i32 0, ptr %224, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #8
  store i32 0, ptr %278, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %68) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %69) #8
  %5820 = load i32, ptr @test_count, align 4, !tbaa !5
  %5821 = add nsw i32 %5820, 1
  store i32 %5821, ptr @test_count, align 4, !tbaa !5
  %5822 = call i32 @s2n_add_overflow(i32 noundef -1, i32 noundef -1, ptr noundef nonnull %69) #8
  %5823 = icmp eq i32 %5822, -1
  br i1 %5823, label %5846, label %5824

5824:                                             ; preds = %5819
  %5825 = load i32, ptr %278, align 4, !tbaa !5
  %5826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5827 = call i32 @s2n_print_stacktrace(ptr noundef %5826) #8
  %5828 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5829 = trunc nuw i8 %5828 to i1
  br i1 %5829, label %5830, label %5834

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

5834:                                             ; preds = %5830, %5824
  br label %5835

5835:                                             ; preds = %5830, %5834
  %.str.5.sink2775 = phi ptr [ @.str.5, %5834 ], [ @.str.2, %5830 ]
  store i32 %5825, ptr %278, align 4, !tbaa !5
  %5836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5837 = load i32, ptr @test_count, align 4, !tbaa !5
  %5838 = load i32, ptr %224, align 4, !tbaa !5
  %5839 = call ptr @s2n_strerror(i32 noundef %5838, ptr noundef nonnull @.str.4) #8
  %5840 = load i32, ptr %224, align 4, !tbaa !5
  %5841 = call ptr @s2n_strerror_debug(i32 noundef %5840, ptr noundef nonnull @.str.4) #8
  %5842 = load i32, ptr %278, align 4, !tbaa !5
  %5843 = call ptr @strerror(i32 noundef %5842) #8
  %5844 = load i32, ptr %278, align 4, !tbaa !5
  %5845 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5836, ptr noundef nonnull %.str.5.sink2775, i32 noundef %5837, ptr noundef nonnull @.str.131, ptr noundef nonnull @.str.1, i32 noundef 392, ptr noundef %5839, ptr noundef %5841, ptr noundef %5843, i32 noundef %5844) #10
  call void @exit(i32 noundef 1) #11
  unreachable

5846:                                             ; preds = %5819
  %5847 = load i32, ptr @test_count, align 4, !tbaa !5
  %5848 = add nsw i32 %5847, 1
  store i32 %5848, ptr @test_count, align 4, !tbaa !5
  %5849 = load i32, ptr %224, align 4, !tbaa !5
  %5850 = icmp eq i32 %5849, 0
  br i1 %5850, label %5851, label %5873

5851:                                             ; preds = %5846
  %5852 = load i32, ptr %278, align 4, !tbaa !5
  %5853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5854 = call i32 @s2n_print_stacktrace(ptr noundef %5853) #8
  %5855 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5856 = trunc nuw i8 %5855 to i1
  br i1 %5856, label %5857, label %5861

5857:                                             ; preds = %5851
  %5858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5859 = call i32 @fileno(ptr noundef %5858) #8
  %5860 = call i32 @isatty(i32 noundef %5859) #8
  %.not667 = icmp eq i32 %5860, 0
  br i1 %.not667, label %5861, label %5862

5861:                                             ; preds = %5857, %5851
  br label %5862

5862:                                             ; preds = %5857, %5861
  %.str.5.sink2784 = phi ptr [ @.str.5, %5861 ], [ @.str.2, %5857 ]
  store i32 %5852, ptr %278, align 4, !tbaa !5
  %5863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5864 = load i32, ptr @test_count, align 4, !tbaa !5
  %5865 = load i32, ptr %224, align 4, !tbaa !5
  %5866 = call ptr @s2n_strerror(i32 noundef %5865, ptr noundef nonnull @.str.4) #8
  %5867 = load i32, ptr %224, align 4, !tbaa !5
  %5868 = call ptr @s2n_strerror_debug(i32 noundef %5867, ptr noundef nonnull @.str.4) #8
  %5869 = load i32, ptr %278, align 4, !tbaa !5
  %5870 = call ptr @strerror(i32 noundef %5869) #8
  %5871 = load i32, ptr %278, align 4, !tbaa !5
  %5872 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5863, ptr noundef nonnull %.str.5.sink2784, i32 noundef %5864, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 392, ptr noundef %5866, ptr noundef %5868, ptr noundef %5870, i32 noundef %5871) #10
  call void @exit(i32 noundef 1) #11
  unreachable

5873:                                             ; preds = %5846
  %5874 = add nsw i32 %5847, 2
  store i32 %5874, ptr @test_count, align 4, !tbaa !5
  %5875 = call ptr @s2n_strerror_debug(i32 noundef %5849, ptr noundef nonnull @.str.4) #8
  %5876 = icmp eq ptr %5875, null
  br i1 %5876, label %5877, label %5899

5877:                                             ; preds = %5873
  %5878 = load i32, ptr %278, align 4, !tbaa !5
  %5879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5880 = call i32 @s2n_print_stacktrace(ptr noundef %5879) #8
  %5881 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5882 = trunc nuw i8 %5881 to i1
  br i1 %5882, label %5883, label %5887

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

5887:                                             ; preds = %5883, %5877
  br label %5888

5888:                                             ; preds = %5883, %5887
  %.str.5.sink2793 = phi ptr [ @.str.5, %5887 ], [ @.str.2, %5883 ]
  store i32 %5878, ptr %278, align 4, !tbaa !5
  %5889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5890 = load i32, ptr @test_count, align 4, !tbaa !5
  %5891 = load i32, ptr %224, align 4, !tbaa !5
  %5892 = call ptr @s2n_strerror(i32 noundef %5891, ptr noundef nonnull @.str.4) #8
  %5893 = load i32, ptr %224, align 4, !tbaa !5
  %5894 = call ptr @s2n_strerror_debug(i32 noundef %5893, ptr noundef nonnull @.str.4) #8
  %5895 = load i32, ptr %278, align 4, !tbaa !5
  %5896 = call ptr @strerror(i32 noundef %5895) #8
  %5897 = load i32, ptr %278, align 4, !tbaa !5
  %5898 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5889, ptr noundef nonnull %.str.5.sink2793, i32 noundef %5890, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 392, ptr noundef %5892, ptr noundef %5894, ptr noundef %5896, i32 noundef %5897) #10
  call void @exit(i32 noundef 1) #11
  unreachable

5899:                                             ; preds = %5873
  store i32 0, ptr %224, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #8
  store i32 0, ptr %278, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %69) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %70) #8
  %5900 = load i32, ptr @test_count, align 4, !tbaa !5
  %5901 = add nsw i32 %5900, 1
  store i32 %5901, ptr @test_count, align 4, !tbaa !5
  %5902 = call i32 @s2n_add_overflow(i32 noundef -1, i32 noundef -1, ptr noundef nonnull %70) #8
  %5903 = icmp eq i32 %5902, -1
  br i1 %5903, label %5926, label %5904

5904:                                             ; preds = %5899
  %5905 = load i32, ptr %278, align 4, !tbaa !5
  %5906 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5907 = call i32 @s2n_print_stacktrace(ptr noundef %5906) #8
  %5908 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5909 = trunc nuw i8 %5908 to i1
  br i1 %5909, label %5910, label %5914

5910:                                             ; preds = %5904
  %5911 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5912 = call i32 @fileno(ptr noundef %5911) #8
  %5913 = call i32 @isatty(i32 noundef %5912) #8
  %.not628 = icmp eq i32 %5913, 0
  br i1 %.not628, label %5914, label %5915

5914:                                             ; preds = %5910, %5904
  br label %5915

5915:                                             ; preds = %5910, %5914
  %.str.5.sink2802 = phi ptr [ @.str.5, %5914 ], [ @.str.2, %5910 ]
  store i32 %5905, ptr %278, align 4, !tbaa !5
  %5916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5917 = load i32, ptr @test_count, align 4, !tbaa !5
  %5918 = load i32, ptr %224, align 4, !tbaa !5
  %5919 = call ptr @s2n_strerror(i32 noundef %5918, ptr noundef nonnull @.str.4) #8
  %5920 = load i32, ptr %224, align 4, !tbaa !5
  %5921 = call ptr @s2n_strerror_debug(i32 noundef %5920, ptr noundef nonnull @.str.4) #8
  %5922 = load i32, ptr %278, align 4, !tbaa !5
  %5923 = call ptr @strerror(i32 noundef %5922) #8
  %5924 = load i32, ptr %278, align 4, !tbaa !5
  %5925 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5916, ptr noundef nonnull %.str.5.sink2802, i32 noundef %5917, ptr noundef nonnull @.str.131, ptr noundef nonnull @.str.1, i32 noundef 392, ptr noundef %5919, ptr noundef %5921, ptr noundef %5923, i32 noundef %5924) #10
  call void @exit(i32 noundef 1) #11
  unreachable

5926:                                             ; preds = %5899
  %5927 = load i32, ptr @test_count, align 4, !tbaa !5
  %5928 = add nsw i32 %5927, 1
  store i32 %5928, ptr @test_count, align 4, !tbaa !5
  %5929 = load i32, ptr %224, align 4, !tbaa !5
  %5930 = icmp eq i32 %5929, 0
  br i1 %5930, label %5931, label %5953

5931:                                             ; preds = %5926
  %5932 = load i32, ptr %278, align 4, !tbaa !5
  %5933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5934 = call i32 @s2n_print_stacktrace(ptr noundef %5933) #8
  %5935 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5936 = trunc nuw i8 %5935 to i1
  br i1 %5936, label %5937, label %5941

5937:                                             ; preds = %5931
  %5938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5939 = call i32 @fileno(ptr noundef %5938) #8
  %5940 = call i32 @isatty(i32 noundef %5939) #8
  %.not665 = icmp eq i32 %5940, 0
  br i1 %.not665, label %5941, label %5942

5941:                                             ; preds = %5937, %5931
  br label %5942

5942:                                             ; preds = %5937, %5941
  %.str.5.sink2811 = phi ptr [ @.str.5, %5941 ], [ @.str.2, %5937 ]
  store i32 %5932, ptr %278, align 4, !tbaa !5
  %5943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5944 = load i32, ptr @test_count, align 4, !tbaa !5
  %5945 = load i32, ptr %224, align 4, !tbaa !5
  %5946 = call ptr @s2n_strerror(i32 noundef %5945, ptr noundef nonnull @.str.4) #8
  %5947 = load i32, ptr %224, align 4, !tbaa !5
  %5948 = call ptr @s2n_strerror_debug(i32 noundef %5947, ptr noundef nonnull @.str.4) #8
  %5949 = load i32, ptr %278, align 4, !tbaa !5
  %5950 = call ptr @strerror(i32 noundef %5949) #8
  %5951 = load i32, ptr %278, align 4, !tbaa !5
  %5952 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5943, ptr noundef nonnull %.str.5.sink2811, i32 noundef %5944, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 392, ptr noundef %5946, ptr noundef %5948, ptr noundef %5950, i32 noundef %5951) #10
  call void @exit(i32 noundef 1) #11
  unreachable

5953:                                             ; preds = %5926
  %5954 = add nsw i32 %5927, 2
  store i32 %5954, ptr @test_count, align 4, !tbaa !5
  %5955 = call ptr @s2n_strerror_debug(i32 noundef %5929, ptr noundef nonnull @.str.4) #8
  %5956 = icmp eq ptr %5955, null
  br i1 %5956, label %5957, label %5979

5957:                                             ; preds = %5953
  %5958 = load i32, ptr %278, align 4, !tbaa !5
  %5959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5960 = call i32 @s2n_print_stacktrace(ptr noundef %5959) #8
  %5961 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5962 = trunc nuw i8 %5961 to i1
  br i1 %5962, label %5963, label %5967

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

5967:                                             ; preds = %5963, %5957
  br label %5968

5968:                                             ; preds = %5963, %5967
  %.str.5.sink2820 = phi ptr [ @.str.5, %5967 ], [ @.str.2, %5963 ]
  store i32 %5958, ptr %278, align 4, !tbaa !5
  %5969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5970 = load i32, ptr @test_count, align 4, !tbaa !5
  %5971 = load i32, ptr %224, align 4, !tbaa !5
  %5972 = call ptr @s2n_strerror(i32 noundef %5971, ptr noundef nonnull @.str.4) #8
  %5973 = load i32, ptr %224, align 4, !tbaa !5
  %5974 = call ptr @s2n_strerror_debug(i32 noundef %5973, ptr noundef nonnull @.str.4) #8
  %5975 = load i32, ptr %278, align 4, !tbaa !5
  %5976 = call ptr @strerror(i32 noundef %5975) #8
  %5977 = load i32, ptr %278, align 4, !tbaa !5
  %5978 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5969, ptr noundef nonnull %.str.5.sink2820, i32 noundef %5970, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 392, ptr noundef %5972, ptr noundef %5974, ptr noundef %5976, i32 noundef %5977) #10
  call void @exit(i32 noundef 1) #11
  unreachable

5979:                                             ; preds = %5953
  store i32 0, ptr %224, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #8
  store i32 0, ptr %278, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %70) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %71) #8
  %5980 = load i32, ptr @test_count, align 4, !tbaa !5
  %5981 = add nsw i32 %5980, 1
  store i32 %5981, ptr @test_count, align 4, !tbaa !5
  %5982 = call i32 @s2n_add_overflow(i32 noundef -2147483648, i32 noundef -2147483648, ptr noundef nonnull %71) #8
  %5983 = icmp eq i32 %5982, -1
  br i1 %5983, label %6006, label %5984

5984:                                             ; preds = %5979
  %5985 = load i32, ptr %278, align 4, !tbaa !5
  %5986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5987 = call i32 @s2n_print_stacktrace(ptr noundef %5986) #8
  %5988 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5989 = trunc nuw i8 %5988 to i1
  br i1 %5989, label %5990, label %5994

5990:                                             ; preds = %5984
  %5991 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5992 = call i32 @fileno(ptr noundef %5991) #8
  %5993 = call i32 @isatty(i32 noundef %5992) #8
  %.not629 = icmp eq i32 %5993, 0
  br i1 %.not629, label %5994, label %5995

5994:                                             ; preds = %5990, %5984
  br label %5995

5995:                                             ; preds = %5990, %5994
  %.str.5.sink2829 = phi ptr [ @.str.5, %5994 ], [ @.str.2, %5990 ]
  store i32 %5985, ptr %278, align 4, !tbaa !5
  %5996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5997 = load i32, ptr @test_count, align 4, !tbaa !5
  %5998 = load i32, ptr %224, align 4, !tbaa !5
  %5999 = call ptr @s2n_strerror(i32 noundef %5998, ptr noundef nonnull @.str.4) #8
  %6000 = load i32, ptr %224, align 4, !tbaa !5
  %6001 = call ptr @s2n_strerror_debug(i32 noundef %6000, ptr noundef nonnull @.str.4) #8
  %6002 = load i32, ptr %278, align 4, !tbaa !5
  %6003 = call ptr @strerror(i32 noundef %6002) #8
  %6004 = load i32, ptr %278, align 4, !tbaa !5
  %6005 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5996, ptr noundef nonnull %.str.5.sink2829, i32 noundef %5997, ptr noundef nonnull @.str.132, ptr noundef nonnull @.str.1, i32 noundef 393, ptr noundef %5999, ptr noundef %6001, ptr noundef %6003, i32 noundef %6004) #10
  call void @exit(i32 noundef 1) #11
  unreachable

6006:                                             ; preds = %5979
  %6007 = load i32, ptr @test_count, align 4, !tbaa !5
  %6008 = add nsw i32 %6007, 1
  store i32 %6008, ptr @test_count, align 4, !tbaa !5
  %6009 = load i32, ptr %224, align 4, !tbaa !5
  %6010 = icmp eq i32 %6009, 0
  br i1 %6010, label %6011, label %6033

6011:                                             ; preds = %6006
  %6012 = load i32, ptr %278, align 4, !tbaa !5
  %6013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6014 = call i32 @s2n_print_stacktrace(ptr noundef %6013) #8
  %6015 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6016 = trunc nuw i8 %6015 to i1
  br i1 %6016, label %6017, label %6021

6017:                                             ; preds = %6011
  %6018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6019 = call i32 @fileno(ptr noundef %6018) #8
  %6020 = call i32 @isatty(i32 noundef %6019) #8
  %.not663 = icmp eq i32 %6020, 0
  br i1 %.not663, label %6021, label %6022

6021:                                             ; preds = %6017, %6011
  br label %6022

6022:                                             ; preds = %6017, %6021
  %.str.5.sink2838 = phi ptr [ @.str.5, %6021 ], [ @.str.2, %6017 ]
  store i32 %6012, ptr %278, align 4, !tbaa !5
  %6023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6024 = load i32, ptr @test_count, align 4, !tbaa !5
  %6025 = load i32, ptr %224, align 4, !tbaa !5
  %6026 = call ptr @s2n_strerror(i32 noundef %6025, ptr noundef nonnull @.str.4) #8
  %6027 = load i32, ptr %224, align 4, !tbaa !5
  %6028 = call ptr @s2n_strerror_debug(i32 noundef %6027, ptr noundef nonnull @.str.4) #8
  %6029 = load i32, ptr %278, align 4, !tbaa !5
  %6030 = call ptr @strerror(i32 noundef %6029) #8
  %6031 = load i32, ptr %278, align 4, !tbaa !5
  %6032 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6023, ptr noundef nonnull %.str.5.sink2838, i32 noundef %6024, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 393, ptr noundef %6026, ptr noundef %6028, ptr noundef %6030, i32 noundef %6031) #10
  call void @exit(i32 noundef 1) #11
  unreachable

6033:                                             ; preds = %6006
  %6034 = add nsw i32 %6007, 2
  store i32 %6034, ptr @test_count, align 4, !tbaa !5
  %6035 = call ptr @s2n_strerror_debug(i32 noundef %6009, ptr noundef nonnull @.str.4) #8
  %6036 = icmp eq ptr %6035, null
  br i1 %6036, label %6037, label %6059

6037:                                             ; preds = %6033
  %6038 = load i32, ptr %278, align 4, !tbaa !5
  %6039 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6040 = call i32 @s2n_print_stacktrace(ptr noundef %6039) #8
  %6041 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6042 = trunc nuw i8 %6041 to i1
  br i1 %6042, label %6043, label %6047

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

6047:                                             ; preds = %6043, %6037
  br label %6048

6048:                                             ; preds = %6043, %6047
  %.str.5.sink2847 = phi ptr [ @.str.5, %6047 ], [ @.str.2, %6043 ]
  store i32 %6038, ptr %278, align 4, !tbaa !5
  %6049 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6050 = load i32, ptr @test_count, align 4, !tbaa !5
  %6051 = load i32, ptr %224, align 4, !tbaa !5
  %6052 = call ptr @s2n_strerror(i32 noundef %6051, ptr noundef nonnull @.str.4) #8
  %6053 = load i32, ptr %224, align 4, !tbaa !5
  %6054 = call ptr @s2n_strerror_debug(i32 noundef %6053, ptr noundef nonnull @.str.4) #8
  %6055 = load i32, ptr %278, align 4, !tbaa !5
  %6056 = call ptr @strerror(i32 noundef %6055) #8
  %6057 = load i32, ptr %278, align 4, !tbaa !5
  %6058 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6049, ptr noundef nonnull %.str.5.sink2847, i32 noundef %6050, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 393, ptr noundef %6052, ptr noundef %6054, ptr noundef %6056, i32 noundef %6057) #10
  call void @exit(i32 noundef 1) #11
  unreachable

6059:                                             ; preds = %6033
  store i32 0, ptr %224, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #8
  store i32 0, ptr %278, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %71) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %72) #8
  %6060 = load i32, ptr @test_count, align 4, !tbaa !5
  %6061 = add nsw i32 %6060, 1
  store i32 %6061, ptr @test_count, align 4, !tbaa !5
  %6062 = call i32 @s2n_add_overflow(i32 noundef -2147483648, i32 noundef -2147483648, ptr noundef nonnull %72) #8
  %6063 = icmp eq i32 %6062, -1
  br i1 %6063, label %6086, label %6064

6064:                                             ; preds = %6059
  %6065 = load i32, ptr %278, align 4, !tbaa !5
  %6066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6067 = call i32 @s2n_print_stacktrace(ptr noundef %6066) #8
  %6068 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6069 = trunc nuw i8 %6068 to i1
  br i1 %6069, label %6070, label %6074

6070:                                             ; preds = %6064
  %6071 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6072 = call i32 @fileno(ptr noundef %6071) #8
  %6073 = call i32 @isatty(i32 noundef %6072) #8
  %.not630 = icmp eq i32 %6073, 0
  br i1 %.not630, label %6074, label %6075

6074:                                             ; preds = %6070, %6064
  br label %6075

6075:                                             ; preds = %6070, %6074
  %.str.5.sink2856 = phi ptr [ @.str.5, %6074 ], [ @.str.2, %6070 ]
  store i32 %6065, ptr %278, align 4, !tbaa !5
  %6076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6077 = load i32, ptr @test_count, align 4, !tbaa !5
  %6078 = load i32, ptr %224, align 4, !tbaa !5
  %6079 = call ptr @s2n_strerror(i32 noundef %6078, ptr noundef nonnull @.str.4) #8
  %6080 = load i32, ptr %224, align 4, !tbaa !5
  %6081 = call ptr @s2n_strerror_debug(i32 noundef %6080, ptr noundef nonnull @.str.4) #8
  %6082 = load i32, ptr %278, align 4, !tbaa !5
  %6083 = call ptr @strerror(i32 noundef %6082) #8
  %6084 = load i32, ptr %278, align 4, !tbaa !5
  %6085 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6076, ptr noundef nonnull %.str.5.sink2856, i32 noundef %6077, ptr noundef nonnull @.str.132, ptr noundef nonnull @.str.1, i32 noundef 393, ptr noundef %6079, ptr noundef %6081, ptr noundef %6083, i32 noundef %6084) #10
  call void @exit(i32 noundef 1) #11
  unreachable

6086:                                             ; preds = %6059
  %6087 = load i32, ptr @test_count, align 4, !tbaa !5
  %6088 = add nsw i32 %6087, 1
  store i32 %6088, ptr @test_count, align 4, !tbaa !5
  %6089 = load i32, ptr %224, align 4, !tbaa !5
  %6090 = icmp eq i32 %6089, 0
  br i1 %6090, label %6091, label %6113

6091:                                             ; preds = %6086
  %6092 = load i32, ptr %278, align 4, !tbaa !5
  %6093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6094 = call i32 @s2n_print_stacktrace(ptr noundef %6093) #8
  %6095 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6096 = trunc nuw i8 %6095 to i1
  br i1 %6096, label %6097, label %6101

6097:                                             ; preds = %6091
  %6098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6099 = call i32 @fileno(ptr noundef %6098) #8
  %6100 = call i32 @isatty(i32 noundef %6099) #8
  %.not661 = icmp eq i32 %6100, 0
  br i1 %.not661, label %6101, label %6102

6101:                                             ; preds = %6097, %6091
  br label %6102

6102:                                             ; preds = %6097, %6101
  %.str.5.sink2865 = phi ptr [ @.str.5, %6101 ], [ @.str.2, %6097 ]
  store i32 %6092, ptr %278, align 4, !tbaa !5
  %6103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6104 = load i32, ptr @test_count, align 4, !tbaa !5
  %6105 = load i32, ptr %224, align 4, !tbaa !5
  %6106 = call ptr @s2n_strerror(i32 noundef %6105, ptr noundef nonnull @.str.4) #8
  %6107 = load i32, ptr %224, align 4, !tbaa !5
  %6108 = call ptr @s2n_strerror_debug(i32 noundef %6107, ptr noundef nonnull @.str.4) #8
  %6109 = load i32, ptr %278, align 4, !tbaa !5
  %6110 = call ptr @strerror(i32 noundef %6109) #8
  %6111 = load i32, ptr %278, align 4, !tbaa !5
  %6112 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6103, ptr noundef nonnull %.str.5.sink2865, i32 noundef %6104, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 393, ptr noundef %6106, ptr noundef %6108, ptr noundef %6110, i32 noundef %6111) #10
  call void @exit(i32 noundef 1) #11
  unreachable

6113:                                             ; preds = %6086
  %6114 = add nsw i32 %6087, 2
  store i32 %6114, ptr @test_count, align 4, !tbaa !5
  %6115 = call ptr @s2n_strerror_debug(i32 noundef %6089, ptr noundef nonnull @.str.4) #8
  %6116 = icmp eq ptr %6115, null
  br i1 %6116, label %6117, label %6139

6117:                                             ; preds = %6113
  %6118 = load i32, ptr %278, align 4, !tbaa !5
  %6119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6120 = call i32 @s2n_print_stacktrace(ptr noundef %6119) #8
  %6121 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6122 = trunc nuw i8 %6121 to i1
  br i1 %6122, label %6123, label %6127

6123:                                             ; preds = %6117
  %6124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6125 = call i32 @fileno(ptr noundef %6124) #8
  %6126 = call i32 @isatty(i32 noundef %6125) #8
  %.not660 = icmp eq i32 %6126, 0
  br i1 %.not660, label %6127, label %6128

6127:                                             ; preds = %6123, %6117
  br label %6128

6128:                                             ; preds = %6123, %6127
  %.str.5.sink2874 = phi ptr [ @.str.5, %6127 ], [ @.str.2, %6123 ]
  store i32 %6118, ptr %278, align 4, !tbaa !5
  %6129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6130 = load i32, ptr @test_count, align 4, !tbaa !5
  %6131 = load i32, ptr %224, align 4, !tbaa !5
  %6132 = call ptr @s2n_strerror(i32 noundef %6131, ptr noundef nonnull @.str.4) #8
  %6133 = load i32, ptr %224, align 4, !tbaa !5
  %6134 = call ptr @s2n_strerror_debug(i32 noundef %6133, ptr noundef nonnull @.str.4) #8
  %6135 = load i32, ptr %278, align 4, !tbaa !5
  %6136 = call ptr @strerror(i32 noundef %6135) #8
  %6137 = load i32, ptr %278, align 4, !tbaa !5
  %6138 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6129, ptr noundef nonnull %.str.5.sink2874, i32 noundef %6130, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 393, ptr noundef %6132, ptr noundef %6134, ptr noundef %6136, i32 noundef %6137) #10
  call void @exit(i32 noundef 1) #11
  unreachable

6139:                                             ; preds = %6113
  store i32 0, ptr %224, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #8
  store i32 0, ptr %278, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %72) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %73) #8
  %6140 = load i32, ptr @test_count, align 4, !tbaa !5
  %6141 = add nsw i32 %6140, 1
  store i32 %6141, ptr @test_count, align 4, !tbaa !5
  %6142 = call i32 @s2n_add_overflow(i32 noundef 100, i32 noundef -100, ptr noundef nonnull %73) #8
  %6143 = icmp eq i32 %6142, -1
  br i1 %6143, label %6166, label %6144

6144:                                             ; preds = %6139
  %6145 = load i32, ptr %278, align 4, !tbaa !5
  %6146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6147 = call i32 @s2n_print_stacktrace(ptr noundef %6146) #8
  %6148 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6149 = trunc nuw i8 %6148 to i1
  br i1 %6149, label %6150, label %6154

6150:                                             ; preds = %6144
  %6151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6152 = call i32 @fileno(ptr noundef %6151) #8
  %6153 = call i32 @isatty(i32 noundef %6152) #8
  %.not631 = icmp eq i32 %6153, 0
  br i1 %.not631, label %6154, label %6155

6154:                                             ; preds = %6150, %6144
  br label %6155

6155:                                             ; preds = %6150, %6154
  %.str.5.sink2883 = phi ptr [ @.str.5, %6154 ], [ @.str.2, %6150 ]
  store i32 %6145, ptr %278, align 4, !tbaa !5
  %6156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6157 = load i32, ptr @test_count, align 4, !tbaa !5
  %6158 = load i32, ptr %224, align 4, !tbaa !5
  %6159 = call ptr @s2n_strerror(i32 noundef %6158, ptr noundef nonnull @.str.4) #8
  %6160 = load i32, ptr %224, align 4, !tbaa !5
  %6161 = call ptr @s2n_strerror_debug(i32 noundef %6160, ptr noundef nonnull @.str.4) #8
  %6162 = load i32, ptr %278, align 4, !tbaa !5
  %6163 = call ptr @strerror(i32 noundef %6162) #8
  %6164 = load i32, ptr %278, align 4, !tbaa !5
  %6165 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6156, ptr noundef nonnull %.str.5.sink2883, i32 noundef %6157, ptr noundef nonnull @.str.133, ptr noundef nonnull @.str.1, i32 noundef 394, ptr noundef %6159, ptr noundef %6161, ptr noundef %6163, i32 noundef %6164) #10
  call void @exit(i32 noundef 1) #11
  unreachable

6166:                                             ; preds = %6139
  %6167 = load i32, ptr @test_count, align 4, !tbaa !5
  %6168 = add nsw i32 %6167, 1
  store i32 %6168, ptr @test_count, align 4, !tbaa !5
  %6169 = load i32, ptr %224, align 4, !tbaa !5
  %6170 = icmp eq i32 %6169, 0
  br i1 %6170, label %6171, label %6193

6171:                                             ; preds = %6166
  %6172 = load i32, ptr %278, align 4, !tbaa !5
  %6173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6174 = call i32 @s2n_print_stacktrace(ptr noundef %6173) #8
  %6175 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6176 = trunc nuw i8 %6175 to i1
  br i1 %6176, label %6177, label %6181

6177:                                             ; preds = %6171
  %6178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6179 = call i32 @fileno(ptr noundef %6178) #8
  %6180 = call i32 @isatty(i32 noundef %6179) #8
  %.not659 = icmp eq i32 %6180, 0
  br i1 %.not659, label %6181, label %6182

6181:                                             ; preds = %6177, %6171
  br label %6182

6182:                                             ; preds = %6177, %6181
  %.str.5.sink2892 = phi ptr [ @.str.5, %6181 ], [ @.str.2, %6177 ]
  store i32 %6172, ptr %278, align 4, !tbaa !5
  %6183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6184 = load i32, ptr @test_count, align 4, !tbaa !5
  %6185 = load i32, ptr %224, align 4, !tbaa !5
  %6186 = call ptr @s2n_strerror(i32 noundef %6185, ptr noundef nonnull @.str.4) #8
  %6187 = load i32, ptr %224, align 4, !tbaa !5
  %6188 = call ptr @s2n_strerror_debug(i32 noundef %6187, ptr noundef nonnull @.str.4) #8
  %6189 = load i32, ptr %278, align 4, !tbaa !5
  %6190 = call ptr @strerror(i32 noundef %6189) #8
  %6191 = load i32, ptr %278, align 4, !tbaa !5
  %6192 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6183, ptr noundef nonnull %.str.5.sink2892, i32 noundef %6184, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 394, ptr noundef %6186, ptr noundef %6188, ptr noundef %6190, i32 noundef %6191) #10
  call void @exit(i32 noundef 1) #11
  unreachable

6193:                                             ; preds = %6166
  %6194 = add nsw i32 %6167, 2
  store i32 %6194, ptr @test_count, align 4, !tbaa !5
  %6195 = call ptr @s2n_strerror_debug(i32 noundef %6169, ptr noundef nonnull @.str.4) #8
  %6196 = icmp eq ptr %6195, null
  br i1 %6196, label %6197, label %6219

6197:                                             ; preds = %6193
  %6198 = load i32, ptr %278, align 4, !tbaa !5
  %6199 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6200 = call i32 @s2n_print_stacktrace(ptr noundef %6199) #8
  %6201 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6202 = trunc nuw i8 %6201 to i1
  br i1 %6202, label %6203, label %6207

6203:                                             ; preds = %6197
  %6204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6205 = call i32 @fileno(ptr noundef %6204) #8
  %6206 = call i32 @isatty(i32 noundef %6205) #8
  %.not658 = icmp eq i32 %6206, 0
  br i1 %.not658, label %6207, label %6208

6207:                                             ; preds = %6203, %6197
  br label %6208

6208:                                             ; preds = %6203, %6207
  %.str.5.sink2901 = phi ptr [ @.str.5, %6207 ], [ @.str.2, %6203 ]
  store i32 %6198, ptr %278, align 4, !tbaa !5
  %6209 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6210 = load i32, ptr @test_count, align 4, !tbaa !5
  %6211 = load i32, ptr %224, align 4, !tbaa !5
  %6212 = call ptr @s2n_strerror(i32 noundef %6211, ptr noundef nonnull @.str.4) #8
  %6213 = load i32, ptr %224, align 4, !tbaa !5
  %6214 = call ptr @s2n_strerror_debug(i32 noundef %6213, ptr noundef nonnull @.str.4) #8
  %6215 = load i32, ptr %278, align 4, !tbaa !5
  %6216 = call ptr @strerror(i32 noundef %6215) #8
  %6217 = load i32, ptr %278, align 4, !tbaa !5
  %6218 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6209, ptr noundef nonnull %.str.5.sink2901, i32 noundef %6210, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 394, ptr noundef %6212, ptr noundef %6214, ptr noundef %6216, i32 noundef %6217) #10
  call void @exit(i32 noundef 1) #11
  unreachable

6219:                                             ; preds = %6193
  store i32 0, ptr %224, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #8
  store i32 0, ptr %278, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %73) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %74) #8
  %6220 = load i32, ptr @test_count, align 4, !tbaa !5
  %6221 = add nsw i32 %6220, 1
  store i32 %6221, ptr @test_count, align 4, !tbaa !5
  %6222 = call i32 @s2n_add_overflow(i32 noundef -100, i32 noundef 100, ptr noundef nonnull %74) #8
  %6223 = icmp eq i32 %6222, -1
  br i1 %6223, label %6246, label %6224

6224:                                             ; preds = %6219
  %6225 = load i32, ptr %278, align 4, !tbaa !5
  %6226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6227 = call i32 @s2n_print_stacktrace(ptr noundef %6226) #8
  %6228 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6229 = trunc nuw i8 %6228 to i1
  br i1 %6229, label %6230, label %6234

6230:                                             ; preds = %6224
  %6231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6232 = call i32 @fileno(ptr noundef %6231) #8
  %6233 = call i32 @isatty(i32 noundef %6232) #8
  %.not632 = icmp eq i32 %6233, 0
  br i1 %.not632, label %6234, label %6235

6234:                                             ; preds = %6230, %6224
  br label %6235

6235:                                             ; preds = %6230, %6234
  %.str.5.sink2910 = phi ptr [ @.str.5, %6234 ], [ @.str.2, %6230 ]
  store i32 %6225, ptr %278, align 4, !tbaa !5
  %6236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6237 = load i32, ptr @test_count, align 4, !tbaa !5
  %6238 = load i32, ptr %224, align 4, !tbaa !5
  %6239 = call ptr @s2n_strerror(i32 noundef %6238, ptr noundef nonnull @.str.4) #8
  %6240 = load i32, ptr %224, align 4, !tbaa !5
  %6241 = call ptr @s2n_strerror_debug(i32 noundef %6240, ptr noundef nonnull @.str.4) #8
  %6242 = load i32, ptr %278, align 4, !tbaa !5
  %6243 = call ptr @strerror(i32 noundef %6242) #8
  %6244 = load i32, ptr %278, align 4, !tbaa !5
  %6245 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6236, ptr noundef nonnull %.str.5.sink2910, i32 noundef %6237, ptr noundef nonnull @.str.134, ptr noundef nonnull @.str.1, i32 noundef 394, ptr noundef %6239, ptr noundef %6241, ptr noundef %6243, i32 noundef %6244) #10
  call void @exit(i32 noundef 1) #11
  unreachable

6246:                                             ; preds = %6219
  %6247 = load i32, ptr @test_count, align 4, !tbaa !5
  %6248 = add nsw i32 %6247, 1
  store i32 %6248, ptr @test_count, align 4, !tbaa !5
  %6249 = load i32, ptr %224, align 4, !tbaa !5
  %6250 = icmp eq i32 %6249, 0
  br i1 %6250, label %6251, label %6273

6251:                                             ; preds = %6246
  %6252 = load i32, ptr %278, align 4, !tbaa !5
  %6253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6254 = call i32 @s2n_print_stacktrace(ptr noundef %6253) #8
  %6255 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6256 = trunc nuw i8 %6255 to i1
  br i1 %6256, label %6257, label %6261

6257:                                             ; preds = %6251
  %6258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6259 = call i32 @fileno(ptr noundef %6258) #8
  %6260 = call i32 @isatty(i32 noundef %6259) #8
  %.not657 = icmp eq i32 %6260, 0
  br i1 %.not657, label %6261, label %6262

6261:                                             ; preds = %6257, %6251
  br label %6262

6262:                                             ; preds = %6257, %6261
  %.str.5.sink2919 = phi ptr [ @.str.5, %6261 ], [ @.str.2, %6257 ]
  store i32 %6252, ptr %278, align 4, !tbaa !5
  %6263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6264 = load i32, ptr @test_count, align 4, !tbaa !5
  %6265 = load i32, ptr %224, align 4, !tbaa !5
  %6266 = call ptr @s2n_strerror(i32 noundef %6265, ptr noundef nonnull @.str.4) #8
  %6267 = load i32, ptr %224, align 4, !tbaa !5
  %6268 = call ptr @s2n_strerror_debug(i32 noundef %6267, ptr noundef nonnull @.str.4) #8
  %6269 = load i32, ptr %278, align 4, !tbaa !5
  %6270 = call ptr @strerror(i32 noundef %6269) #8
  %6271 = load i32, ptr %278, align 4, !tbaa !5
  %6272 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6263, ptr noundef nonnull %.str.5.sink2919, i32 noundef %6264, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 394, ptr noundef %6266, ptr noundef %6268, ptr noundef %6270, i32 noundef %6271) #10
  call void @exit(i32 noundef 1) #11
  unreachable

6273:                                             ; preds = %6246
  %6274 = add nsw i32 %6247, 2
  store i32 %6274, ptr @test_count, align 4, !tbaa !5
  %6275 = call ptr @s2n_strerror_debug(i32 noundef %6249, ptr noundef nonnull @.str.4) #8
  %6276 = icmp eq ptr %6275, null
  br i1 %6276, label %6277, label %6299

6277:                                             ; preds = %6273
  %6278 = load i32, ptr %278, align 4, !tbaa !5
  %6279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6280 = call i32 @s2n_print_stacktrace(ptr noundef %6279) #8
  %6281 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6282 = trunc nuw i8 %6281 to i1
  br i1 %6282, label %6283, label %6287

6283:                                             ; preds = %6277
  %6284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6285 = call i32 @fileno(ptr noundef %6284) #8
  %6286 = call i32 @isatty(i32 noundef %6285) #8
  %.not656 = icmp eq i32 %6286, 0
  br i1 %.not656, label %6287, label %6288

6287:                                             ; preds = %6283, %6277
  br label %6288

6288:                                             ; preds = %6283, %6287
  %.str.5.sink2928 = phi ptr [ @.str.5, %6287 ], [ @.str.2, %6283 ]
  store i32 %6278, ptr %278, align 4, !tbaa !5
  %6289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6290 = load i32, ptr @test_count, align 4, !tbaa !5
  %6291 = load i32, ptr %224, align 4, !tbaa !5
  %6292 = call ptr @s2n_strerror(i32 noundef %6291, ptr noundef nonnull @.str.4) #8
  %6293 = load i32, ptr %224, align 4, !tbaa !5
  %6294 = call ptr @s2n_strerror_debug(i32 noundef %6293, ptr noundef nonnull @.str.4) #8
  %6295 = load i32, ptr %278, align 4, !tbaa !5
  %6296 = call ptr @strerror(i32 noundef %6295) #8
  %6297 = load i32, ptr %278, align 4, !tbaa !5
  %6298 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6289, ptr noundef nonnull %.str.5.sink2928, i32 noundef %6290, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 394, ptr noundef %6292, ptr noundef %6294, ptr noundef %6296, i32 noundef %6297) #10
  call void @exit(i32 noundef 1) #11
  unreachable

6299:                                             ; preds = %6273
  store i32 0, ptr %224, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #8
  store i32 0, ptr %278, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %74) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %75) #8
  %6300 = load i32, ptr @test_count, align 4, !tbaa !5
  %6301 = add nsw i32 %6300, 1
  store i32 %6301, ptr @test_count, align 4, !tbaa !5
  %6302 = call i32 @s2n_add_overflow(i32 noundef 100, i32 noundef -2, ptr noundef nonnull %75) #8
  %6303 = icmp eq i32 %6302, -1
  br i1 %6303, label %6326, label %6304

6304:                                             ; preds = %6299
  %6305 = load i32, ptr %278, align 4, !tbaa !5
  %6306 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6307 = call i32 @s2n_print_stacktrace(ptr noundef %6306) #8
  %6308 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6309 = trunc nuw i8 %6308 to i1
  br i1 %6309, label %6310, label %6314

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

6314:                                             ; preds = %6310, %6304
  br label %6315

6315:                                             ; preds = %6310, %6314
  %.str.5.sink2937 = phi ptr [ @.str.5, %6314 ], [ @.str.2, %6310 ]
  store i32 %6305, ptr %278, align 4, !tbaa !5
  %6316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6317 = load i32, ptr @test_count, align 4, !tbaa !5
  %6318 = load i32, ptr %224, align 4, !tbaa !5
  %6319 = call ptr @s2n_strerror(i32 noundef %6318, ptr noundef nonnull @.str.4) #8
  %6320 = load i32, ptr %224, align 4, !tbaa !5
  %6321 = call ptr @s2n_strerror_debug(i32 noundef %6320, ptr noundef nonnull @.str.4) #8
  %6322 = load i32, ptr %278, align 4, !tbaa !5
  %6323 = call ptr @strerror(i32 noundef %6322) #8
  %6324 = load i32, ptr %278, align 4, !tbaa !5
  %6325 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6316, ptr noundef nonnull %.str.5.sink2937, i32 noundef %6317, ptr noundef nonnull @.str.135, ptr noundef nonnull @.str.1, i32 noundef 395, ptr noundef %6319, ptr noundef %6321, ptr noundef %6323, i32 noundef %6324) #10
  call void @exit(i32 noundef 1) #11
  unreachable

6326:                                             ; preds = %6299
  %6327 = load i32, ptr @test_count, align 4, !tbaa !5
  %6328 = add nsw i32 %6327, 1
  store i32 %6328, ptr @test_count, align 4, !tbaa !5
  %6329 = load i32, ptr %224, align 4, !tbaa !5
  %6330 = icmp eq i32 %6329, 0
  br i1 %6330, label %6331, label %6353

6331:                                             ; preds = %6326
  %6332 = load i32, ptr %278, align 4, !tbaa !5
  %6333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6334 = call i32 @s2n_print_stacktrace(ptr noundef %6333) #8
  %6335 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6336 = trunc nuw i8 %6335 to i1
  br i1 %6336, label %6337, label %6341

6337:                                             ; preds = %6331
  %6338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6339 = call i32 @fileno(ptr noundef %6338) #8
  %6340 = call i32 @isatty(i32 noundef %6339) #8
  %.not655 = icmp eq i32 %6340, 0
  br i1 %.not655, label %6341, label %6342

6341:                                             ; preds = %6337, %6331
  br label %6342

6342:                                             ; preds = %6337, %6341
  %.str.5.sink2946 = phi ptr [ @.str.5, %6341 ], [ @.str.2, %6337 ]
  store i32 %6332, ptr %278, align 4, !tbaa !5
  %6343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6344 = load i32, ptr @test_count, align 4, !tbaa !5
  %6345 = load i32, ptr %224, align 4, !tbaa !5
  %6346 = call ptr @s2n_strerror(i32 noundef %6345, ptr noundef nonnull @.str.4) #8
  %6347 = load i32, ptr %224, align 4, !tbaa !5
  %6348 = call ptr @s2n_strerror_debug(i32 noundef %6347, ptr noundef nonnull @.str.4) #8
  %6349 = load i32, ptr %278, align 4, !tbaa !5
  %6350 = call ptr @strerror(i32 noundef %6349) #8
  %6351 = load i32, ptr %278, align 4, !tbaa !5
  %6352 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6343, ptr noundef nonnull %.str.5.sink2946, i32 noundef %6344, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 395, ptr noundef %6346, ptr noundef %6348, ptr noundef %6350, i32 noundef %6351) #10
  call void @exit(i32 noundef 1) #11
  unreachable

6353:                                             ; preds = %6326
  %6354 = add nsw i32 %6327, 2
  store i32 %6354, ptr @test_count, align 4, !tbaa !5
  %6355 = call ptr @s2n_strerror_debug(i32 noundef %6329, ptr noundef nonnull @.str.4) #8
  %6356 = icmp eq ptr %6355, null
  br i1 %6356, label %6357, label %6379

6357:                                             ; preds = %6353
  %6358 = load i32, ptr %278, align 4, !tbaa !5
  %6359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6360 = call i32 @s2n_print_stacktrace(ptr noundef %6359) #8
  %6361 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6362 = trunc nuw i8 %6361 to i1
  br i1 %6362, label %6363, label %6367

6363:                                             ; preds = %6357
  %6364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6365 = call i32 @fileno(ptr noundef %6364) #8
  %6366 = call i32 @isatty(i32 noundef %6365) #8
  %.not654 = icmp eq i32 %6366, 0
  br i1 %.not654, label %6367, label %6368

6367:                                             ; preds = %6363, %6357
  br label %6368

6368:                                             ; preds = %6363, %6367
  %.str.5.sink2955 = phi ptr [ @.str.5, %6367 ], [ @.str.2, %6363 ]
  store i32 %6358, ptr %278, align 4, !tbaa !5
  %6369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6370 = load i32, ptr @test_count, align 4, !tbaa !5
  %6371 = load i32, ptr %224, align 4, !tbaa !5
  %6372 = call ptr @s2n_strerror(i32 noundef %6371, ptr noundef nonnull @.str.4) #8
  %6373 = load i32, ptr %224, align 4, !tbaa !5
  %6374 = call ptr @s2n_strerror_debug(i32 noundef %6373, ptr noundef nonnull @.str.4) #8
  %6375 = load i32, ptr %278, align 4, !tbaa !5
  %6376 = call ptr @strerror(i32 noundef %6375) #8
  %6377 = load i32, ptr %278, align 4, !tbaa !5
  %6378 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6369, ptr noundef nonnull %.str.5.sink2955, i32 noundef %6370, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 395, ptr noundef %6372, ptr noundef %6374, ptr noundef %6376, i32 noundef %6377) #10
  call void @exit(i32 noundef 1) #11
  unreachable

6379:                                             ; preds = %6353
  store i32 0, ptr %224, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #8
  store i32 0, ptr %278, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %75) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %76) #8
  %6380 = load i32, ptr @test_count, align 4, !tbaa !5
  %6381 = add nsw i32 %6380, 1
  store i32 %6381, ptr @test_count, align 4, !tbaa !5
  %6382 = call i32 @s2n_add_overflow(i32 noundef -2, i32 noundef 100, ptr noundef nonnull %76) #8
  %6383 = icmp eq i32 %6382, -1
  br i1 %6383, label %6406, label %6384

6384:                                             ; preds = %6379
  %6385 = load i32, ptr %278, align 4, !tbaa !5
  %6386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6387 = call i32 @s2n_print_stacktrace(ptr noundef %6386) #8
  %6388 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6389 = trunc nuw i8 %6388 to i1
  br i1 %6389, label %6390, label %6394

6390:                                             ; preds = %6384
  %6391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6392 = call i32 @fileno(ptr noundef %6391) #8
  %6393 = call i32 @isatty(i32 noundef %6392) #8
  %.not634 = icmp eq i32 %6393, 0
  br i1 %.not634, label %6394, label %6395

6394:                                             ; preds = %6390, %6384
  br label %6395

6395:                                             ; preds = %6390, %6394
  %.str.5.sink2964 = phi ptr [ @.str.5, %6394 ], [ @.str.2, %6390 ]
  store i32 %6385, ptr %278, align 4, !tbaa !5
  %6396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6397 = load i32, ptr @test_count, align 4, !tbaa !5
  %6398 = load i32, ptr %224, align 4, !tbaa !5
  %6399 = call ptr @s2n_strerror(i32 noundef %6398, ptr noundef nonnull @.str.4) #8
  %6400 = load i32, ptr %224, align 4, !tbaa !5
  %6401 = call ptr @s2n_strerror_debug(i32 noundef %6400, ptr noundef nonnull @.str.4) #8
  %6402 = load i32, ptr %278, align 4, !tbaa !5
  %6403 = call ptr @strerror(i32 noundef %6402) #8
  %6404 = load i32, ptr %278, align 4, !tbaa !5
  %6405 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6396, ptr noundef nonnull %.str.5.sink2964, i32 noundef %6397, ptr noundef nonnull @.str.136, ptr noundef nonnull @.str.1, i32 noundef 395, ptr noundef %6399, ptr noundef %6401, ptr noundef %6403, i32 noundef %6404) #10
  call void @exit(i32 noundef 1) #11
  unreachable

6406:                                             ; preds = %6379
  %6407 = load i32, ptr @test_count, align 4, !tbaa !5
  %6408 = add nsw i32 %6407, 1
  store i32 %6408, ptr @test_count, align 4, !tbaa !5
  %6409 = load i32, ptr %224, align 4, !tbaa !5
  %6410 = icmp eq i32 %6409, 0
  br i1 %6410, label %6411, label %6433

6411:                                             ; preds = %6406
  %6412 = load i32, ptr %278, align 4, !tbaa !5
  %6413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6414 = call i32 @s2n_print_stacktrace(ptr noundef %6413) #8
  %6415 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6416 = trunc nuw i8 %6415 to i1
  br i1 %6416, label %6417, label %6421

6417:                                             ; preds = %6411
  %6418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6419 = call i32 @fileno(ptr noundef %6418) #8
  %6420 = call i32 @isatty(i32 noundef %6419) #8
  %.not653 = icmp eq i32 %6420, 0
  br i1 %.not653, label %6421, label %6422

6421:                                             ; preds = %6417, %6411
  br label %6422

6422:                                             ; preds = %6417, %6421
  %.str.5.sink2973 = phi ptr [ @.str.5, %6421 ], [ @.str.2, %6417 ]
  store i32 %6412, ptr %278, align 4, !tbaa !5
  %6423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6424 = load i32, ptr @test_count, align 4, !tbaa !5
  %6425 = load i32, ptr %224, align 4, !tbaa !5
  %6426 = call ptr @s2n_strerror(i32 noundef %6425, ptr noundef nonnull @.str.4) #8
  %6427 = load i32, ptr %224, align 4, !tbaa !5
  %6428 = call ptr @s2n_strerror_debug(i32 noundef %6427, ptr noundef nonnull @.str.4) #8
  %6429 = load i32, ptr %278, align 4, !tbaa !5
  %6430 = call ptr @strerror(i32 noundef %6429) #8
  %6431 = load i32, ptr %278, align 4, !tbaa !5
  %6432 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6423, ptr noundef nonnull %.str.5.sink2973, i32 noundef %6424, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 395, ptr noundef %6426, ptr noundef %6428, ptr noundef %6430, i32 noundef %6431) #10
  call void @exit(i32 noundef 1) #11
  unreachable

6433:                                             ; preds = %6406
  %6434 = add nsw i32 %6407, 2
  store i32 %6434, ptr @test_count, align 4, !tbaa !5
  %6435 = call ptr @s2n_strerror_debug(i32 noundef %6409, ptr noundef nonnull @.str.4) #8
  %6436 = icmp eq ptr %6435, null
  br i1 %6436, label %6437, label %6459

6437:                                             ; preds = %6433
  %6438 = load i32, ptr %278, align 4, !tbaa !5
  %6439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6440 = call i32 @s2n_print_stacktrace(ptr noundef %6439) #8
  %6441 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6442 = trunc nuw i8 %6441 to i1
  br i1 %6442, label %6443, label %6447

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

6447:                                             ; preds = %6443, %6437
  br label %6448

6448:                                             ; preds = %6443, %6447
  %.str.5.sink2982 = phi ptr [ @.str.5, %6447 ], [ @.str.2, %6443 ]
  store i32 %6438, ptr %278, align 4, !tbaa !5
  %6449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6450 = load i32, ptr @test_count, align 4, !tbaa !5
  %6451 = load i32, ptr %224, align 4, !tbaa !5
  %6452 = call ptr @s2n_strerror(i32 noundef %6451, ptr noundef nonnull @.str.4) #8
  %6453 = load i32, ptr %224, align 4, !tbaa !5
  %6454 = call ptr @s2n_strerror_debug(i32 noundef %6453, ptr noundef nonnull @.str.4) #8
  %6455 = load i32, ptr %278, align 4, !tbaa !5
  %6456 = call ptr @strerror(i32 noundef %6455) #8
  %6457 = load i32, ptr %278, align 4, !tbaa !5
  %6458 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6449, ptr noundef nonnull %.str.5.sink2982, i32 noundef %6450, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 395, ptr noundef %6452, ptr noundef %6454, ptr noundef %6456, i32 noundef %6457) #10
  call void @exit(i32 noundef 1) #11
  unreachable

6459:                                             ; preds = %6433
  store i32 0, ptr %224, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #8
  store i32 0, ptr %278, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %76) #8
  %test_count.promoted = load i32, ptr @test_count, align 4, !tbaa !5
  %6460 = add i32 %test_count.promoted, 22
  %6461 = load i64, ptr @__const.main.success_test_values, align 16, !tbaa !20
  %6462 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.success_test_values, i64 8), align 8, !tbaa !20
  %6463 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.success_test_values, i64 16), align 16, !tbaa !20
  %.not646 = icmp ult i64 %6463, %6461
  %6464 = sub i64 %6463, %6461
  %.not647 = icmp ult i64 %6464, %6462
  %or.cond = select i1 %.not646, i1 true, i1 %.not647
  br i1 %or.cond, label %6548, label %6571

6465:                                             ; preds = %6571
  %6466 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.success_test_values, i64 24), align 8, !tbaa !20
  %6467 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.success_test_values, i64 32), align 16, !tbaa !20
  %6468 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.success_test_values, i64 40), align 8, !tbaa !20
  %.not646.1 = icmp ult i64 %6468, %6466
  %6469 = sub i64 %6468, %6466
  %.not647.1 = icmp ult i64 %6469, %6467
  %or.cond.1 = select i1 %.not646.1, i1 true, i1 %.not647.1
  br i1 %or.cond.1, label %6548, label %6470

6470:                                             ; preds = %6465
  %6471 = add nsw i32 %test_count.promoted, 4
  %.not649.1 = icmp ult i64 %6468, %6467
  %6472 = sub i64 %6468, %6467
  %.not650.1 = icmp ult i64 %6472, %6466
  %or.cond800.1 = or i1 %.not649.1, %.not650.1
  br i1 %or.cond800.1, label %6574, label %6473

6473:                                             ; preds = %6470
  %6474 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.success_test_values, i64 48), align 16, !tbaa !20
  %6475 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.success_test_values, i64 56), align 8, !tbaa !20
  %6476 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.success_test_values, i64 64), align 16, !tbaa !20
  %.not646.2 = icmp ult i64 %6476, %6474
  %6477 = sub i64 %6476, %6474
  %.not647.2 = icmp ult i64 %6477, %6475
  %or.cond.2 = select i1 %.not646.2, i1 true, i1 %.not647.2
  br i1 %or.cond.2, label %6548, label %6478

6478:                                             ; preds = %6473
  %6479 = add nsw i32 %test_count.promoted, 6
  %.not649.2 = icmp ult i64 %6476, %6475
  %6480 = sub i64 %6476, %6475
  %.not650.2 = icmp ult i64 %6480, %6474
  %or.cond800.2 = or i1 %.not649.2, %.not650.2
  br i1 %or.cond800.2, label %6574, label %6481

6481:                                             ; preds = %6478
  %6482 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.success_test_values, i64 72), align 8, !tbaa !20
  %6483 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.success_test_values, i64 80), align 16, !tbaa !20
  %6484 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.success_test_values, i64 88), align 8, !tbaa !20
  %.not646.3 = icmp ult i64 %6484, %6482
  %6485 = sub i64 %6484, %6482
  %.not647.3 = icmp ult i64 %6485, %6483
  %or.cond.3 = select i1 %.not646.3, i1 true, i1 %.not647.3
  br i1 %or.cond.3, label %6548, label %6486

6486:                                             ; preds = %6481
  %6487 = add nsw i32 %test_count.promoted, 8
  %.not649.3 = icmp ult i64 %6484, %6483
  %6488 = sub i64 %6484, %6483
  %.not650.3 = icmp ult i64 %6488, %6482
  %or.cond800.3 = or i1 %.not649.3, %.not650.3
  br i1 %or.cond800.3, label %6574, label %6489

6489:                                             ; preds = %6486
  %6490 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.success_test_values, i64 96), align 16, !tbaa !20
  %6491 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.success_test_values, i64 104), align 8, !tbaa !20
  %6492 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.success_test_values, i64 112), align 16, !tbaa !20
  %.not646.4 = icmp ult i64 %6492, %6490
  %6493 = sub i64 %6492, %6490
  %.not647.4 = icmp ult i64 %6493, %6491
  %or.cond.4 = select i1 %.not646.4, i1 true, i1 %.not647.4
  br i1 %or.cond.4, label %6548, label %6494

6494:                                             ; preds = %6489
  %6495 = add nsw i32 %test_count.promoted, 10
  %.not649.4 = icmp ult i64 %6492, %6491
  %6496 = sub i64 %6492, %6491
  %.not650.4 = icmp ult i64 %6496, %6490
  %or.cond800.4 = or i1 %.not649.4, %.not650.4
  br i1 %or.cond800.4, label %6574, label %6497

6497:                                             ; preds = %6494
  %6498 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.success_test_values, i64 120), align 8, !tbaa !20
  %6499 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.success_test_values, i64 128), align 16, !tbaa !20
  %6500 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.success_test_values, i64 136), align 8, !tbaa !20
  %.not646.5 = icmp ult i64 %6500, %6498
  %6501 = sub i64 %6500, %6498
  %.not647.5 = icmp ult i64 %6501, %6499
  %or.cond.5 = select i1 %.not646.5, i1 true, i1 %.not647.5
  br i1 %or.cond.5, label %6548, label %6502

6502:                                             ; preds = %6497
  %6503 = add nsw i32 %test_count.promoted, 12
  %.not649.5 = icmp ult i64 %6500, %6499
  %6504 = sub i64 %6500, %6499
  %.not650.5 = icmp ult i64 %6504, %6498
  %or.cond800.5 = or i1 %.not649.5, %.not650.5
  br i1 %or.cond800.5, label %6574, label %6505

6505:                                             ; preds = %6502
  %6506 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.success_test_values, i64 144), align 16, !tbaa !20
  %6507 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.success_test_values, i64 152), align 8, !tbaa !20
  %6508 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.success_test_values, i64 160), align 16, !tbaa !20
  %.not646.6 = icmp ult i64 %6508, %6506
  %6509 = sub i64 %6508, %6506
  %.not647.6 = icmp ult i64 %6509, %6507
  %or.cond.6 = select i1 %.not646.6, i1 true, i1 %.not647.6
  br i1 %or.cond.6, label %6548, label %6510

6510:                                             ; preds = %6505
  %6511 = add nsw i32 %test_count.promoted, 14
  %.not649.6 = icmp ult i64 %6508, %6507
  %6512 = sub i64 %6508, %6507
  %.not650.6 = icmp ult i64 %6512, %6506
  %or.cond800.6 = or i1 %.not649.6, %.not650.6
  br i1 %or.cond800.6, label %6574, label %6513

6513:                                             ; preds = %6510
  %6514 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.success_test_values, i64 168), align 8, !tbaa !20
  %6515 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.success_test_values, i64 176), align 16, !tbaa !20
  %6516 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.success_test_values, i64 184), align 8, !tbaa !20
  %.not646.7 = icmp ult i64 %6516, %6514
  %6517 = sub i64 %6516, %6514
  %.not647.7 = icmp ult i64 %6517, %6515
  %or.cond.7 = select i1 %.not646.7, i1 true, i1 %.not647.7
  br i1 %or.cond.7, label %6548, label %6518

6518:                                             ; preds = %6513
  %6519 = add nsw i32 %test_count.promoted, 16
  %.not649.7 = icmp ult i64 %6516, %6515
  %6520 = sub i64 %6516, %6515
  %.not650.7 = icmp ult i64 %6520, %6514
  %or.cond800.7 = or i1 %.not649.7, %.not650.7
  br i1 %or.cond800.7, label %6574, label %6521

6521:                                             ; preds = %6518
  %6522 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.success_test_values, i64 192), align 16, !tbaa !20
  %6523 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.success_test_values, i64 200), align 8, !tbaa !20
  %6524 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.success_test_values, i64 208), align 16, !tbaa !20
  %.not646.8 = icmp ult i64 %6524, %6522
  %6525 = sub i64 %6524, %6522
  %.not647.8 = icmp ult i64 %6525, %6523
  %or.cond.8 = select i1 %.not646.8, i1 true, i1 %.not647.8
  br i1 %or.cond.8, label %6548, label %6526

6526:                                             ; preds = %6521
  %6527 = add nsw i32 %test_count.promoted, 18
  %.not649.8 = icmp ult i64 %6524, %6523
  %6528 = sub i64 %6524, %6523
  %.not650.8 = icmp ult i64 %6528, %6522
  %or.cond800.8 = or i1 %.not649.8, %.not650.8
  br i1 %or.cond800.8, label %6574, label %6529

6529:                                             ; preds = %6526
  %6530 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.success_test_values, i64 216), align 8, !tbaa !20
  %6531 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.success_test_values, i64 224), align 16, !tbaa !20
  %6532 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.success_test_values, i64 232), align 8, !tbaa !20
  %.not646.9 = icmp ult i64 %6532, %6530
  %6533 = sub i64 %6532, %6530
  %.not647.9 = icmp ult i64 %6533, %6531
  %or.cond.9 = select i1 %.not646.9, i1 true, i1 %.not647.9
  br i1 %or.cond.9, label %6548, label %6534

6534:                                             ; preds = %6529
  %6535 = add nsw i32 %test_count.promoted, 20
  %.not649.9 = icmp ult i64 %6532, %6531
  %6536 = sub i64 %6532, %6531
  %.not650.9 = icmp ult i64 %6536, %6530
  %or.cond800.9 = or i1 %.not649.9, %.not650.9
  br i1 %or.cond800.9, label %6574, label %6537

6537:                                             ; preds = %6534
  %6538 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.success_test_values, i64 240), align 16, !tbaa !20
  %6539 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.success_test_values, i64 248), align 8, !tbaa !20
  %6540 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.success_test_values, i64 256), align 16, !tbaa !20
  %.not646.10 = icmp ult i64 %6540, %6538
  %6541 = sub i64 %6540, %6538
  %.not647.10 = icmp ult i64 %6541, %6539
  %or.cond.10 = select i1 %.not646.10, i1 true, i1 %.not647.10
  br i1 %or.cond.10, label %6548, label %6542

6542:                                             ; preds = %6537
  %.not649.10 = icmp ult i64 %6540, %6539
  %6543 = sub i64 %6540, %6539
  %.not650.10 = icmp ult i64 %6543, %6538
  %or.cond800.10 = or i1 %.not649.10, %.not650.10
  br i1 %or.cond800.10, label %6574, label %.preheader

.preheader:                                       ; preds = %6542
  %6544 = load i64, ptr @__const.main.failure_test_values, align 16, !tbaa !20
  %6545 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.failure_test_values, i64 8), align 8, !tbaa !20
  %6546 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.failure_test_values, i64 16), align 16, !tbaa !20
  %.not640 = icmp ult i64 %6546, %6544
  %6547 = sub i64 %6546, %6544
  %.not641 = icmp ult i64 %6547, %6545
  %or.cond801 = select i1 %.not640, i1 true, i1 %.not641
  br i1 %or.cond801, label %6735, label %6712

6548:                                             ; preds = %6537, %6529, %6521, %6513, %6505, %6497, %6489, %6481, %6473, %6465, %6459
  %.lcssa822 = phi i32 [ %test_count.promoted, %6459 ], [ %6572, %6465 ], [ %6471, %6473 ], [ %6479, %6481 ], [ %6487, %6489 ], [ %6495, %6497 ], [ %6503, %6505 ], [ %6511, %6513 ], [ %6519, %6521 ], [ %6527, %6529 ], [ %6535, %6537 ]
  %6549 = add nsw i32 %.lcssa822, 1
  store i32 %6549, ptr @test_count, align 4, !tbaa !5
  %6550 = load i32, ptr %278, align 4, !tbaa !5
  %6551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6552 = call i32 @s2n_print_stacktrace(ptr noundef %6551) #8
  %6553 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6554 = trunc nuw i8 %6553 to i1
  br i1 %6554, label %6555, label %6559

6555:                                             ; preds = %6548
  %6556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6557 = call i32 @fileno(ptr noundef %6556) #8
  %6558 = call i32 @isatty(i32 noundef %6557) #8
  %.not648 = icmp eq i32 %6558, 0
  br i1 %.not648, label %6559, label %6560

6559:                                             ; preds = %6555, %6548
  br label %6560

6560:                                             ; preds = %6555, %6559
  %.str.5.sink2991 = phi ptr [ @.str.5, %6559 ], [ @.str.2, %6555 ]
  store i32 %6550, ptr %278, align 4, !tbaa !5
  %6561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6562 = load i32, ptr @test_count, align 4, !tbaa !5
  %6563 = load i32, ptr %224, align 4, !tbaa !5
  %6564 = call ptr @s2n_strerror(i32 noundef %6563, ptr noundef nonnull @.str.4) #8
  %6565 = load i32, ptr %224, align 4, !tbaa !5
  %6566 = call ptr @s2n_strerror_debug(i32 noundef %6565, ptr noundef nonnull @.str.4) #8
  %6567 = load i32, ptr %278, align 4, !tbaa !5
  %6568 = call ptr @strerror(i32 noundef %6567) #8
  %6569 = load i32, ptr %278, align 4, !tbaa !5
  %6570 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6561, ptr noundef nonnull %.str.5.sink2991, i32 noundef %6562, ptr noundef nonnull @.str.137, ptr noundef nonnull @.str.1, i32 noundef 418, ptr noundef %6564, ptr noundef %6566, ptr noundef %6568, i32 noundef %6569) #10
  call void @exit(i32 noundef 1) #11
  unreachable

6571:                                             ; preds = %6459
  %6572 = add nsw i32 %test_count.promoted, 2
  %.not649 = icmp ult i64 %6463, %6462
  %6573 = sub i64 %6463, %6462
  %.not650 = icmp ult i64 %6573, %6461
  %or.cond800 = or i1 %.not649, %.not650
  br i1 %or.cond800, label %6574, label %6465

6574:                                             ; preds = %6542, %6534, %6526, %6518, %6510, %6502, %6494, %6486, %6478, %6470, %6571
  %.lcssa825 = phi i32 [ %6572, %6571 ], [ %6471, %6470 ], [ %6479, %6478 ], [ %6487, %6486 ], [ %6495, %6494 ], [ %6503, %6502 ], [ %6511, %6510 ], [ %6519, %6518 ], [ %6527, %6526 ], [ %6535, %6534 ], [ %6460, %6542 ]
  store i32 %.lcssa825, ptr @test_count, align 4, !tbaa !5
  %6575 = load i32, ptr %278, align 4, !tbaa !5
  %6576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6577 = call i32 @s2n_print_stacktrace(ptr noundef %6576) #8
  %6578 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6579 = trunc nuw i8 %6578 to i1
  br i1 %6579, label %6580, label %6584

6580:                                             ; preds = %6574
  %6581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6582 = call i32 @fileno(ptr noundef %6581) #8
  %6583 = call i32 @isatty(i32 noundef %6582) #8
  %.not651 = icmp eq i32 %6583, 0
  br i1 %.not651, label %6584, label %6585

6584:                                             ; preds = %6580, %6574
  br label %6585

6585:                                             ; preds = %6580, %6584
  %.str.5.sink3000 = phi ptr [ @.str.5, %6584 ], [ @.str.2, %6580 ]
  store i32 %6575, ptr %278, align 4, !tbaa !5
  %6586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6587 = load i32, ptr @test_count, align 4, !tbaa !5
  %6588 = load i32, ptr %224, align 4, !tbaa !5
  %6589 = call ptr @s2n_strerror(i32 noundef %6588, ptr noundef nonnull @.str.4) #8
  %6590 = load i32, ptr %224, align 4, !tbaa !5
  %6591 = call ptr @s2n_strerror_debug(i32 noundef %6590, ptr noundef nonnull @.str.4) #8
  %6592 = load i32, ptr %278, align 4, !tbaa !5
  %6593 = call ptr @strerror(i32 noundef %6592) #8
  %6594 = load i32, ptr %278, align 4, !tbaa !5
  %6595 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6586, ptr noundef nonnull %.str.5.sink3000, i32 noundef %6587, ptr noundef nonnull @.str.138, ptr noundef nonnull @.str.1, i32 noundef 419, ptr noundef %6589, ptr noundef %6591, ptr noundef %6593, i32 noundef %6594) #10
  call void @exit(i32 noundef 1) #11
  unreachable

6596:                                             ; preds = %6735
  %6597 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.failure_test_values, i64 24), align 8, !tbaa !20
  %6598 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.failure_test_values, i64 32), align 16, !tbaa !20
  %6599 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.failure_test_values, i64 40), align 8, !tbaa !20
  %.not640.1 = icmp ult i64 %6599, %6597
  %6600 = sub i64 %6599, %6597
  %.not641.1 = icmp ult i64 %6600, %6598
  %or.cond801.1 = select i1 %.not640.1, i1 true, i1 %.not641.1
  br i1 %or.cond801.1, label %6601, label %6712

6601:                                             ; preds = %6596
  %6602 = add i32 %test_count.promoted, 26
  %.not642.1 = icmp ult i64 %6599, %6598
  %6603 = sub i64 %6599, %6598
  %.not643.1 = icmp ult i64 %6603, %6597
  %or.cond802.1 = or i1 %.not642.1, %.not643.1
  br i1 %or.cond802.1, label %6604, label %6738

6604:                                             ; preds = %6601
  %6605 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.failure_test_values, i64 48), align 16, !tbaa !20
  %6606 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.failure_test_values, i64 56), align 8, !tbaa !20
  %6607 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.failure_test_values, i64 64), align 16, !tbaa !20
  %.not640.2 = icmp ult i64 %6607, %6605
  %6608 = sub i64 %6607, %6605
  %.not641.2 = icmp ult i64 %6608, %6606
  %or.cond801.2 = select i1 %.not640.2, i1 true, i1 %.not641.2
  br i1 %or.cond801.2, label %6609, label %6712

6609:                                             ; preds = %6604
  %6610 = add i32 %test_count.promoted, 28
  %.not642.2 = icmp ult i64 %6607, %6606
  %6611 = sub i64 %6607, %6606
  %.not643.2 = icmp ult i64 %6611, %6605
  %or.cond802.2 = or i1 %.not642.2, %.not643.2
  br i1 %or.cond802.2, label %6612, label %6738

6612:                                             ; preds = %6609
  %6613 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.failure_test_values, i64 72), align 8, !tbaa !20
  %6614 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.failure_test_values, i64 80), align 16, !tbaa !20
  %6615 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.failure_test_values, i64 88), align 8, !tbaa !20
  %.not640.3 = icmp ult i64 %6615, %6613
  %6616 = sub i64 %6615, %6613
  %.not641.3 = icmp ult i64 %6616, %6614
  %or.cond801.3 = select i1 %.not640.3, i1 true, i1 %.not641.3
  br i1 %or.cond801.3, label %6617, label %6712

6617:                                             ; preds = %6612
  %6618 = add i32 %test_count.promoted, 30
  %.not642.3 = icmp ult i64 %6615, %6614
  %6619 = sub i64 %6615, %6614
  %.not643.3 = icmp ult i64 %6619, %6613
  %or.cond802.3 = or i1 %.not642.3, %.not643.3
  br i1 %or.cond802.3, label %6620, label %6738

6620:                                             ; preds = %6617
  %6621 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.failure_test_values, i64 96), align 16, !tbaa !20
  %6622 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.failure_test_values, i64 104), align 8, !tbaa !20
  %6623 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.failure_test_values, i64 112), align 16, !tbaa !20
  %.not640.4 = icmp ult i64 %6623, %6621
  %6624 = sub i64 %6623, %6621
  %.not641.4 = icmp ult i64 %6624, %6622
  %or.cond801.4 = select i1 %.not640.4, i1 true, i1 %.not641.4
  br i1 %or.cond801.4, label %6625, label %6712

6625:                                             ; preds = %6620
  %6626 = add i32 %test_count.promoted, 32
  %.not642.4 = icmp ult i64 %6623, %6622
  %6627 = sub i64 %6623, %6622
  %.not643.4 = icmp ult i64 %6627, %6621
  %or.cond802.4 = or i1 %.not642.4, %.not643.4
  br i1 %or.cond802.4, label %6628, label %6738

6628:                                             ; preds = %6625
  %6629 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.failure_test_values, i64 120), align 8, !tbaa !20
  %6630 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.failure_test_values, i64 128), align 16, !tbaa !20
  %6631 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.failure_test_values, i64 136), align 8, !tbaa !20
  %.not640.5 = icmp ult i64 %6631, %6629
  %6632 = sub i64 %6631, %6629
  %.not641.5 = icmp ult i64 %6632, %6630
  %or.cond801.5 = select i1 %.not640.5, i1 true, i1 %.not641.5
  br i1 %or.cond801.5, label %6633, label %6712

6633:                                             ; preds = %6628
  %6634 = add i32 %test_count.promoted, 34
  %.not642.5 = icmp ult i64 %6631, %6630
  %6635 = sub i64 %6631, %6630
  %.not643.5 = icmp ult i64 %6635, %6629
  %or.cond802.5 = or i1 %.not642.5, %.not643.5
  br i1 %or.cond802.5, label %6636, label %6738

6636:                                             ; preds = %6633
  %6637 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.failure_test_values, i64 144), align 16, !tbaa !20
  %6638 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.failure_test_values, i64 152), align 8, !tbaa !20
  %6639 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.failure_test_values, i64 160), align 16, !tbaa !20
  %.not640.6 = icmp ult i64 %6639, %6637
  %6640 = sub i64 %6639, %6637
  %.not641.6 = icmp ult i64 %6640, %6638
  %or.cond801.6 = select i1 %.not640.6, i1 true, i1 %.not641.6
  br i1 %or.cond801.6, label %6641, label %6712

6641:                                             ; preds = %6636
  %6642 = add i32 %test_count.promoted, 36
  %.not642.6 = icmp ult i64 %6639, %6638
  %6643 = sub i64 %6639, %6638
  %.not643.6 = icmp ult i64 %6643, %6637
  %or.cond802.6 = or i1 %.not642.6, %.not643.6
  br i1 %or.cond802.6, label %6644, label %6738

6644:                                             ; preds = %6641
  %6645 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.failure_test_values, i64 168), align 8, !tbaa !20
  %6646 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.failure_test_values, i64 176), align 16, !tbaa !20
  %6647 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.failure_test_values, i64 184), align 8, !tbaa !20
  %.not640.7 = icmp ult i64 %6647, %6645
  %6648 = sub i64 %6647, %6645
  %.not641.7 = icmp ult i64 %6648, %6646
  %or.cond801.7 = select i1 %.not640.7, i1 true, i1 %.not641.7
  br i1 %or.cond801.7, label %6649, label %6712

6649:                                             ; preds = %6644
  %6650 = add i32 %test_count.promoted, 38
  %.not642.7 = icmp ult i64 %6647, %6646
  %6651 = sub i64 %6647, %6646
  %.not643.7 = icmp ult i64 %6651, %6645
  %or.cond802.7 = or i1 %.not642.7, %.not643.7
  br i1 %or.cond802.7, label %6652, label %6738

6652:                                             ; preds = %6649
  %6653 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.failure_test_values, i64 192), align 16, !tbaa !20
  %6654 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.failure_test_values, i64 200), align 8, !tbaa !20
  %6655 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.failure_test_values, i64 208), align 16, !tbaa !20
  %.not640.8 = icmp ult i64 %6655, %6653
  %6656 = sub i64 %6655, %6653
  %.not641.8 = icmp ult i64 %6656, %6654
  %or.cond801.8 = select i1 %.not640.8, i1 true, i1 %.not641.8
  br i1 %or.cond801.8, label %6657, label %6712

6657:                                             ; preds = %6652
  %6658 = add i32 %test_count.promoted, 40
  %.not642.8 = icmp ult i64 %6655, %6654
  %6659 = sub i64 %6655, %6654
  %.not643.8 = icmp ult i64 %6659, %6653
  %or.cond802.8 = or i1 %.not642.8, %.not643.8
  br i1 %or.cond802.8, label %6660, label %6738

6660:                                             ; preds = %6657
  %6661 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.failure_test_values, i64 216), align 8, !tbaa !20
  %6662 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.failure_test_values, i64 224), align 16, !tbaa !20
  %6663 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.failure_test_values, i64 232), align 8, !tbaa !20
  %.not640.9 = icmp ult i64 %6663, %6661
  %6664 = sub i64 %6663, %6661
  %.not641.9 = icmp ult i64 %6664, %6662
  %or.cond801.9 = select i1 %.not640.9, i1 true, i1 %.not641.9
  br i1 %or.cond801.9, label %6665, label %6712

6665:                                             ; preds = %6660
  %6666 = add i32 %test_count.promoted, 42
  %.not642.9 = icmp ult i64 %6663, %6662
  %6667 = sub i64 %6663, %6662
  %.not643.9 = icmp ult i64 %6667, %6661
  %or.cond802.9 = or i1 %.not642.9, %.not643.9
  br i1 %or.cond802.9, label %6668, label %6738

6668:                                             ; preds = %6665
  %6669 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.failure_test_values, i64 240), align 16, !tbaa !20
  %6670 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.failure_test_values, i64 248), align 8, !tbaa !20
  %6671 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.failure_test_values, i64 256), align 16, !tbaa !20
  %.not640.10 = icmp ult i64 %6671, %6669
  %6672 = sub i64 %6671, %6669
  %.not641.10 = icmp ult i64 %6672, %6670
  %or.cond801.10 = select i1 %.not640.10, i1 true, i1 %.not641.10
  br i1 %or.cond801.10, label %6673, label %6712

6673:                                             ; preds = %6668
  %6674 = add i32 %test_count.promoted, 44
  %.not642.10 = icmp ult i64 %6671, %6670
  %6675 = sub i64 %6671, %6670
  %.not643.10 = icmp ult i64 %6675, %6669
  %or.cond802.10 = or i1 %.not642.10, %.not643.10
  br i1 %or.cond802.10, label %6676, label %6738

6676:                                             ; preds = %6673
  %6677 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.failure_test_values, i64 264), align 8, !tbaa !20
  %6678 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.failure_test_values, i64 272), align 16, !tbaa !20
  %6679 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.failure_test_values, i64 280), align 8, !tbaa !20
  %.not640.11 = icmp ult i64 %6679, %6677
  %6680 = sub i64 %6679, %6677
  %.not641.11 = icmp ult i64 %6680, %6678
  %or.cond801.11 = select i1 %.not640.11, i1 true, i1 %.not641.11
  br i1 %or.cond801.11, label %6681, label %6712

6681:                                             ; preds = %6676
  %6682 = add i32 %test_count.promoted, 46
  %.not642.11 = icmp ult i64 %6679, %6678
  %6683 = sub i64 %6679, %6678
  %.not643.11 = icmp ult i64 %6683, %6677
  %or.cond802.11 = or i1 %.not642.11, %.not643.11
  br i1 %or.cond802.11, label %6684, label %6738

6684:                                             ; preds = %6681
  %6685 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.failure_test_values, i64 288), align 16, !tbaa !20
  %6686 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.failure_test_values, i64 296), align 8, !tbaa !20
  %6687 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.failure_test_values, i64 304), align 16, !tbaa !20
  %.not640.12 = icmp ult i64 %6687, %6685
  %6688 = sub i64 %6687, %6685
  %.not641.12 = icmp ult i64 %6688, %6686
  %or.cond801.12 = select i1 %.not640.12, i1 true, i1 %.not641.12
  br i1 %or.cond801.12, label %6689, label %6712

6689:                                             ; preds = %6684
  %6690 = add i32 %test_count.promoted, 48
  %.not642.12 = icmp ult i64 %6687, %6686
  %6691 = sub i64 %6687, %6686
  %.not643.12 = icmp ult i64 %6691, %6685
  %or.cond802.12 = or i1 %.not642.12, %.not643.12
  br i1 %or.cond802.12, label %6692, label %6738

6692:                                             ; preds = %6689
  %6693 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.failure_test_values, i64 312), align 8, !tbaa !20
  %6694 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.failure_test_values, i64 320), align 16, !tbaa !20
  %6695 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.failure_test_values, i64 328), align 8, !tbaa !20
  %.not640.13 = icmp ult i64 %6695, %6693
  %6696 = sub i64 %6695, %6693
  %.not641.13 = icmp ult i64 %6696, %6694
  %or.cond801.13 = select i1 %.not640.13, i1 true, i1 %.not641.13
  br i1 %or.cond801.13, label %6697, label %6712

6697:                                             ; preds = %6692
  %6698 = add i32 %test_count.promoted, 50
  %.not642.13 = icmp ult i64 %6695, %6694
  %6699 = sub i64 %6695, %6694
  %.not643.13 = icmp ult i64 %6699, %6693
  %or.cond802.13 = or i1 %.not642.13, %.not643.13
  br i1 %or.cond802.13, label %6700, label %6738

6700:                                             ; preds = %6697
  %6701 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.failure_test_values, i64 336), align 16, !tbaa !20
  %6702 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.failure_test_values, i64 344), align 8, !tbaa !20
  %6703 = load i64, ptr getelementptr inbounds (i8, ptr @__const.main.failure_test_values, i64 352), align 16, !tbaa !20
  %.not640.14 = icmp ult i64 %6703, %6701
  %6704 = sub i64 %6703, %6701
  %.not641.14 = icmp ult i64 %6704, %6702
  %or.cond801.14 = select i1 %.not640.14, i1 true, i1 %.not641.14
  br i1 %or.cond801.14, label %6705, label %6712

6705:                                             ; preds = %6700
  %6706 = add i32 %test_count.promoted, 52
  %.not642.14 = icmp ult i64 %6703, %6702
  %6707 = sub i64 %6703, %6702
  %.not643.14 = icmp ult i64 %6707, %6701
  %or.cond802.14 = or i1 %.not642.14, %.not643.14
  br i1 %or.cond802.14, label %6708, label %6738

6708:                                             ; preds = %6705
  %6709 = add i32 %test_count.promoted, 55
  store i32 %6709, ptr @test_count, align 4, !tbaa !5
  %6710 = call i32 @s2n_cleanup() #8
  %6711 = icmp eq i32 %6710, -1
  br i1 %6711, label %6760, label %6782

6712:                                             ; preds = %6700, %6692, %6684, %6676, %6668, %6660, %6652, %6644, %6636, %6628, %6620, %6612, %6604, %6596, %.preheader
  %.lcssa = phi i32 [ %6460, %.preheader ], [ %6736, %6596 ], [ %6602, %6604 ], [ %6610, %6612 ], [ %6618, %6620 ], [ %6626, %6628 ], [ %6634, %6636 ], [ %6642, %6644 ], [ %6650, %6652 ], [ %6658, %6660 ], [ %6666, %6668 ], [ %6674, %6676 ], [ %6682, %6684 ], [ %6690, %6692 ], [ %6698, %6700 ]
  %6713 = add nsw i32 %.lcssa, 1
  store i32 %6713, ptr @test_count, align 4, !tbaa !5
  %6714 = load i32, ptr %278, align 4, !tbaa !5
  %6715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6716 = call i32 @s2n_print_stacktrace(ptr noundef %6715) #8
  %6717 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6718 = trunc nuw i8 %6717 to i1
  br i1 %6718, label %6719, label %6723

6719:                                             ; preds = %6712
  %6720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6721 = call i32 @fileno(ptr noundef %6720) #8
  %6722 = call i32 @isatty(i32 noundef %6721) #8
  %.not645 = icmp eq i32 %6722, 0
  br i1 %.not645, label %6723, label %6724

6723:                                             ; preds = %6719, %6712
  br label %6724

6724:                                             ; preds = %6719, %6723
  %.str.5.sink3009 = phi ptr [ @.str.5, %6723 ], [ @.str.2, %6719 ]
  store i32 %6714, ptr %278, align 4, !tbaa !5
  %6725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6726 = load i32, ptr @test_count, align 4, !tbaa !5
  %6727 = load i32, ptr %224, align 4, !tbaa !5
  %6728 = call ptr @s2n_strerror(i32 noundef %6727, ptr noundef nonnull @.str.4) #8
  %6729 = load i32, ptr %224, align 4, !tbaa !5
  %6730 = call ptr @s2n_strerror_debug(i32 noundef %6729, ptr noundef nonnull @.str.4) #8
  %6731 = load i32, ptr %278, align 4, !tbaa !5
  %6732 = call ptr @strerror(i32 noundef %6731) #8
  %6733 = load i32, ptr %278, align 4, !tbaa !5
  %6734 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6725, ptr noundef nonnull %.str.5.sink3009, i32 noundef %6726, ptr noundef nonnull @.str.139, ptr noundef nonnull @.str.1, i32 noundef 443, ptr noundef %6728, ptr noundef %6730, ptr noundef %6732, i32 noundef %6733) #10
  call void @exit(i32 noundef 1) #11
  unreachable

6735:                                             ; preds = %.preheader
  %6736 = add i32 %test_count.promoted, 24
  %.not642 = icmp ult i64 %6546, %6545
  %6737 = sub i64 %6546, %6545
  %.not643 = icmp ult i64 %6737, %6544
  %or.cond802 = or i1 %.not642, %.not643
  br i1 %or.cond802, label %6596, label %6738

6738:                                             ; preds = %6705, %6697, %6689, %6681, %6673, %6665, %6657, %6649, %6641, %6633, %6625, %6617, %6609, %6601, %6735
  %.lcssa820 = phi i32 [ %6736, %6735 ], [ %6602, %6601 ], [ %6610, %6609 ], [ %6618, %6617 ], [ %6626, %6625 ], [ %6634, %6633 ], [ %6642, %6641 ], [ %6650, %6649 ], [ %6658, %6657 ], [ %6666, %6665 ], [ %6674, %6673 ], [ %6682, %6681 ], [ %6690, %6689 ], [ %6698, %6697 ], [ %6706, %6705 ]
  store i32 %.lcssa820, ptr @test_count, align 4, !tbaa !5
  %6739 = load i32, ptr %278, align 4, !tbaa !5
  %6740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6741 = call i32 @s2n_print_stacktrace(ptr noundef %6740) #8
  %6742 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6743 = trunc nuw i8 %6742 to i1
  br i1 %6743, label %6744, label %6748

6744:                                             ; preds = %6738
  %6745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6746 = call i32 @fileno(ptr noundef %6745) #8
  %6747 = call i32 @isatty(i32 noundef %6746) #8
  %.not644 = icmp eq i32 %6747, 0
  br i1 %.not644, label %6748, label %6749

6748:                                             ; preds = %6744, %6738
  br label %6749

6749:                                             ; preds = %6744, %6748
  %.str.5.sink3018 = phi ptr [ @.str.5, %6748 ], [ @.str.2, %6744 ]
  store i32 %6739, ptr %278, align 4, !tbaa !5
  %6750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6751 = load i32, ptr @test_count, align 4, !tbaa !5
  %6752 = load i32, ptr %224, align 4, !tbaa !5
  %6753 = call ptr @s2n_strerror(i32 noundef %6752, ptr noundef nonnull @.str.4) #8
  %6754 = load i32, ptr %224, align 4, !tbaa !5
  %6755 = call ptr @s2n_strerror_debug(i32 noundef %6754, ptr noundef nonnull @.str.4) #8
  %6756 = load i32, ptr %278, align 4, !tbaa !5
  %6757 = call ptr @strerror(i32 noundef %6756) #8
  %6758 = load i32, ptr %278, align 4, !tbaa !5
  %6759 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6750, ptr noundef nonnull %.str.5.sink3018, i32 noundef %6751, ptr noundef nonnull @.str.140, ptr noundef nonnull @.str.1, i32 noundef 444, ptr noundef %6753, ptr noundef %6755, ptr noundef %6757, i32 noundef %6758) #10
  call void @exit(i32 noundef 1) #11
  unreachable

6760:                                             ; preds = %6708
  %6761 = load i32, ptr %278, align 4, !tbaa !5
  %6762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6763 = call i32 @s2n_print_stacktrace(ptr noundef %6762) #8
  %6764 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6765 = trunc nuw i8 %6764 to i1
  br i1 %6765, label %6766, label %6770

6766:                                             ; preds = %6760
  %6767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6768 = call i32 @fileno(ptr noundef %6767) #8
  %6769 = call i32 @isatty(i32 noundef %6768) #8
  %.not639 = icmp eq i32 %6769, 0
  br i1 %.not639, label %6770, label %6771

6770:                                             ; preds = %6766, %6760
  br label %6771

6771:                                             ; preds = %6766, %6770
  %.str.5.sink3027 = phi ptr [ @.str.5, %6770 ], [ @.str.2, %6766 ]
  store i32 %6761, ptr %278, align 4, !tbaa !5
  %6772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6773 = load i32, ptr @test_count, align 4, !tbaa !5
  %6774 = load i32, ptr %224, align 4, !tbaa !5
  %6775 = call ptr @s2n_strerror(i32 noundef %6774, ptr noundef nonnull @.str.4) #8
  %6776 = load i32, ptr %224, align 4, !tbaa !5
  %6777 = call ptr @s2n_strerror_debug(i32 noundef %6776, ptr noundef nonnull @.str.4) #8
  %6778 = load i32, ptr %278, align 4, !tbaa !5
  %6779 = call ptr @strerror(i32 noundef %6778) #8
  %6780 = load i32, ptr %278, align 4, !tbaa !5
  %6781 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6772, ptr noundef nonnull %.str.5.sink3027, i32 noundef %6773, ptr noundef nonnull @.str.141, ptr noundef nonnull @.str.1, i32 noundef 460, ptr noundef %6775, ptr noundef %6777, ptr noundef %6779, i32 noundef %6780) #10
  call void @exit(i32 noundef 1) #11
  unreachable

6782:                                             ; preds = %6708
  %6783 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false) #8
  %6784 = icmp eq i32 %6783, -1
  br i1 %6784, label %6785, label %6807

6785:                                             ; preds = %6782
  %6786 = load i32, ptr %278, align 4, !tbaa !5
  %6787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6788 = call i32 @s2n_print_stacktrace(ptr noundef %6787) #8
  %6789 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6790 = trunc nuw i8 %6789 to i1
  br i1 %6790, label %6791, label %6795

6791:                                             ; preds = %6785
  %6792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6793 = call i32 @fileno(ptr noundef %6792) #8
  %6794 = call i32 @isatty(i32 noundef %6793) #8
  %.not638 = icmp eq i32 %6794, 0
  br i1 %.not638, label %6795, label %6796

6795:                                             ; preds = %6791, %6785
  br label %6796

6796:                                             ; preds = %6791, %6795
  %.str.5.sink3036 = phi ptr [ @.str.5, %6795 ], [ @.str.2, %6791 ]
  store i32 %6786, ptr %278, align 4, !tbaa !5
  %6797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6798 = load i32, ptr @test_count, align 4, !tbaa !5
  %6799 = load i32, ptr %224, align 4, !tbaa !5
  %6800 = call ptr @s2n_strerror(i32 noundef %6799, ptr noundef nonnull @.str.4) #8
  %6801 = load i32, ptr %224, align 4, !tbaa !5
  %6802 = call ptr @s2n_strerror_debug(i32 noundef %6801, ptr noundef nonnull @.str.4) #8
  %6803 = load i32, ptr %278, align 4, !tbaa !5
  %6804 = call ptr @strerror(i32 noundef %6803) #8
  %6805 = load i32, ptr %278, align 4, !tbaa !5
  %6806 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6797, ptr noundef nonnull %.str.5.sink3036, i32 noundef %6798, ptr noundef nonnull @.str.142, ptr noundef nonnull @.str.1, i32 noundef 460, ptr noundef %6800, ptr noundef %6802, ptr noundef %6804, i32 noundef %6805) #10
  call void @exit(i32 noundef 1) #11
  unreachable

6807:                                             ; preds = %6782
  %6808 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6809 = trunc nuw i8 %6808 to i1
  br i1 %6809, label %6810, label %6821

6810:                                             ; preds = %6807
  %6811 = load ptr, ptr @stdout, align 8, !tbaa !9
  %6812 = call i32 @fileno(ptr noundef %6811) #8
  %6813 = call i32 @isatty(i32 noundef %6812) #8
  %.not635 = icmp eq i32 %6813, 0
  br i1 %.not635, label %6821, label %6814

6814:                                             ; preds = %6810
  %6815 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not637 = icmp eq i32 %6815, 0
  %6816 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not637, label %6819, label %6817

6817:                                             ; preds = %6814
  %6818 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6816, ptr noundef nonnull @.str.143, i32 noundef %6815) #8
  br label %6828

6819:                                             ; preds = %6814
  %6820 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6816, ptr noundef nonnull @.str.144) #8
  br label %6828

6821:                                             ; preds = %6810, %6807
  %6822 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not636 = icmp eq i32 %6822, 0
  %6823 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not636, label %6826, label %6824

6824:                                             ; preds = %6821
  %6825 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6823, ptr noundef nonnull @.str.145, i32 noundef %6822) #8
  br label %6828

6826:                                             ; preds = %6821
  %6827 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6823, ptr noundef nonnull @.str.146) #8
  br label %6828

6828:                                             ; preds = %6824, %6826, %6817, %6819
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %44) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %11) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %10) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %9) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %8) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %7) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %6) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %5) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %4) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #8
  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_disable_tls13_in_test(...) local_unnamed_addr #2

declare void @s2n_debug_info_reset() local_unnamed_addr #2

declare zeroext i1 @s2n_constant_time_equals(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_constant_time_copy_or_dont(ptr noundef, ptr noundef, i32 noundef, i8 noundef zeroext) local_unnamed_addr #2

declare i32 @s2n_mul_overflow(i32 noundef, i32 noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_align_to(i32 noundef, i32 noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_add_overflow(i32 noundef, i32 noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_cleanup() local_unnamed_addr #2

; Function Attrs: nounwind uwtable
declare hidden i32 @failure_gte() local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare hidden i32 @failure_lte() local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare hidden i32 @failure_gt() local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare hidden i32 @failure_lt() local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare hidden i32 @failure_notnull() local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare hidden i32 @failure_memcpy() local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare hidden i32 @failure_inclusive_range_too_high() local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare hidden i32 @failure_inclusive_range_too_low() local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare hidden i32 @failure_exclusive_range_too_high() local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare hidden i32 @failure_exclusive_range_too_low() local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare hidden i32 @failure_exclusive_range_eq_high() local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare hidden i32 @failure_exclusive_range_eq_low() local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare hidden i32 @success_gte() local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare hidden i32 @success_lte() local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare hidden i32 @success_gt() local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare hidden i32 @success_lt() local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare hidden i32 @success_notnull() local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare hidden i32 @success_memcpy() local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare hidden i32 @success_inclusive_range() local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare hidden i32 @success_exclusive_range() local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare hidden i32 @success_ct_pkcs1() local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare hidden i32 @success_ct_pkcs1_negative() local_unnamed_addr #0

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 = { nounwind }
attributes #9 = { nounwind willreturn memory(none) }
attributes #10 = { cold nounwind }
attributes #11 = { noreturn nounwind }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"any pointer", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"_Bool", !7, i64 0}
!13 = !{i8 0, i8 2}
!14 = !{}
!15 = distinct !{!15, !16}
!16 = !{!"llvm.loop.mustprogress"}
!17 = distinct !{!17, !16}
!18 = distinct !{!18, !16}
!19 = !{!7, !7, i64 0}
!20 = !{!21, !21, i64 0}
!21 = !{!"long", !7, i64 0}


; Effective O3 passes: DSEPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferAlignmentPass,InferFunctionAttrsPass,InstCombinePass,LCSSAPass,LICMPass,LoopInstSimplifyPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,PostOrderFunctionAttrsPass,ReassociatePass,SROAPass,SimplifyCFGPass,TailCallElimPass