; LLVM IR from tensorflow/tflite-micro :: tensorflow/lite/micro/memory_planner (greedy_memory_planner_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"

%"class.tflite::GreedyMemoryPlanner" = type <{ %"class.tflite::MicroMemoryPlanner", i32, i32, ptr, ptr, ptr, ptr, i32, i32, ptr, i8, [7 x i8] }>
%"class.tflite::MicroMemoryPlanner" = type { ptr }

@_ZN10micro_test12tests_passedE = external dso_local global i32, align 4
@_ZN10micro_test12tests_failedE = external dso_local global i32, align 4
@_ZN10micro_test16is_test_completeE = external dso_local global i8, align 1
@_ZN10micro_test13did_test_failE = external dso_local global i8, align 1
@.str = external hidden unnamed_addr constant [31 x i8], align 1
@__const.main.a_values = external hidden unnamed_addr constant [10 x i32], align 16
@__const.main.a_ids = external hidden unnamed_addr constant [10 x i32], align 16
@__const.main.a_expected_values = external hidden unnamed_addr constant [10 x i32], align 16
@__const.main.a_expected_ids = external hidden unnamed_addr constant [10 x i32], align 16
@.str.1 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [124 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [57 x i8], align 1
@__const.main.b_values = external hidden unnamed_addr constant [10 x i32], align 16
@__const.main.b_ids = external hidden unnamed_addr constant [10 x i32], align 16
@__const.main.b_expected_values = external hidden unnamed_addr constant [10 x i32], align 16
@__const.main.b_expected_ids = external hidden unnamed_addr constant [10 x i32], align 16
@.str.8 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [57 x i8], align 1
@__const.main.c_values = external hidden unnamed_addr constant [100 x i32], align 16
@__const.main.c_ids = external hidden unnamed_addr constant [100 x i32], align 16
@__const.main.c_expected_values = external hidden unnamed_addr constant [100 x i32], align 16
@__const.main.c_expected_ids = external hidden unnamed_addr constant [100 x i32], align 16
@.str.12 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [25 x i8], align 1
@_ZN12_GLOBAL__N_116g_scratch_bufferE = external hidden global [4096 x i8], align 4
@.str.17 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.83 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.85 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.86 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.87 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.88 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.89 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.90 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.91 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.92 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.93 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.94 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.95 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.96 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.97 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.98 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.99 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.100 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.101 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.102 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.103 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.104 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.105 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.106 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.107 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.108 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.109 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.110 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.111 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.112 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.113 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.114 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.115 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.116 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.117 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.118 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.119 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.120 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.121 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.122 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.123 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.124 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.125 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.126 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.127 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.128 = external hidden unnamed_addr constant [25 x i8], align 1

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

380:                                              ; preds = %748, %2
  %381 = load i8, ptr @_ZN10micro_test16is_test_completeE, align 1, !tbaa !11, !range !13, !noundef !14
  %382 = trunc i8 %381 to i1
  %383 = xor i1 %382, true
  br i1 %383, label %384, label %761

384:                                              ; preds = %380
  call void @llvm.lifetime.start.p0(i64 4, ptr %6) #7
  store i32 10, ptr %6, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 40, ptr %7) #7
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %7, ptr align 16 @__const.main.a_values, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr %8) #7
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %8, ptr align 16 @__const.main.a_ids, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr %9) #7
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %9, ptr align 16 @__const.main.a_expected_values, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr %10) #7
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %10, ptr align 16 @__const.main.a_expected_ids, i64 40, i1 false)
  %385 = getelementptr inbounds [10 x i32], ptr %7, i64 0, i64 0
  %386 = getelementptr inbounds [10 x i32], ptr %8, i64 0, i64 0
  call void @_ZN6tflite18ReverseSortInPlaceEPiS0_i(ptr noundef %385, ptr noundef %386, i32 noundef 10)
  call void @llvm.lifetime.start.p0(i64 4, ptr %11) #7
  store i32 0, ptr %11, align 4, !tbaa !5
  br label %387

387:                                              ; preds = %502, %384
  %388 = load i32, ptr %11, align 4, !tbaa !5
  %389 = icmp slt i32 %388, 10
  br i1 %389, label %391, label %390

390:                                              ; preds = %387
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #7
  br label %505

391:                                              ; preds = %387
  br label %392

392:                                              ; preds = %391
  call void @llvm.lifetime.start.p0(i64 4, ptr %12) #7
  %393 = load i32, ptr %11, align 4, !tbaa !5
  %394 = sext i32 %393 to i64
  %395 = getelementptr inbounds [10 x i32], ptr %9, i64 0, i64 %394
  %396 = load i32, ptr %395, align 4, !tbaa !5
  store i32 %396, ptr %12, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %13) #7
  %397 = load i32, ptr %11, align 4, !tbaa !5
  %398 = sext i32 %397 to i64
  %399 = getelementptr inbounds [10 x i32], ptr %7, i64 0, i64 %398
  %400 = load i32, ptr %399, align 4, !tbaa !5
  store i32 %400, ptr %13, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %14) #7
  store i8 0, ptr %14, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %15) #7
  store i8 0, ptr %15, align 1, !tbaa !11
  %401 = load i8, ptr %14, align 1, !tbaa !11, !range !13, !noundef !14
  %402 = trunc i8 %401 to i1
  br i1 %402, label %403, label %429

403:                                              ; preds = %392
  %404 = load i8, ptr %15, align 1, !tbaa !11, !range !13, !noundef !14
  %405 = trunc i8 %404 to i1
  br i1 %405, label %406, label %429

406:                                              ; preds = %403
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #7
  %407 = load i32, ptr %12, align 4, !tbaa !5
  %408 = load i32, ptr %13, align 4, !tbaa !5
  %409 = icmp sgt i32 %407, %408
  br i1 %409, label %410, label %414

410:                                              ; preds = %406
  %411 = load i32, ptr %12, align 4, !tbaa !5
  %412 = load i32, ptr %13, align 4, !tbaa !5
  %413 = sub nsw i32 %411, %412
  br label %418

414:                                              ; preds = %406
  %415 = load i32, ptr %13, align 4, !tbaa !5
  %416 = load i32, ptr %12, align 4, !tbaa !5
  %417 = sub nsw i32 %415, %416
  br label %418

418:                                              ; preds = %414, %410
  %419 = phi i32 [ %413, %410 ], [ %417, %414 ]
  store i32 %419, ptr %16, align 4, !tbaa !5
  %420 = load i32, ptr %16, align 4, !tbaa !5
  %421 = call noundef i32 @_ZNSt14numeric_limitsIiE7epsilonEv() #7
  %422 = icmp sgt i32 %420, %421
  br i1 %422, label %423, label %428

423:                                              ; preds = %418
  %424 = load i32, ptr %12, align 4, !tbaa !5
  %425 = sitofp i32 %424 to double
  %426 = load i32, ptr %13, align 4, !tbaa !5
  %427 = sitofp i32 %426 to double
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.1, ptr noundef @.str.2, i32 noundef 41, double noundef %425, double noundef %427)
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %428

428:                                              ; preds = %423, %418
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #7
  br label %444

429:                                              ; preds = %403, %392
  %430 = load i32, ptr %12, align 4, !tbaa !5
  %431 = load i32, ptr %13, align 4, !tbaa !5
  %432 = icmp ne i32 %430, %431
  br i1 %432, label %433, label %443

433:                                              ; preds = %429
  %434 = load i32, ptr %12, align 4, !tbaa !5
  %435 = load i32, ptr %13, align 4, !tbaa !5
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.3, ptr noundef @.str.2, i32 noundef 41, i32 noundef %434, i32 noundef %435)
  %436 = load i8, ptr %14, align 1, !tbaa !11, !range !13, !noundef !14
  %437 = trunc i8 %436 to i1
  br i1 %437, label %441, label %438

438:                                              ; preds = %433
  %439 = load i8, ptr %15, align 1, !tbaa !11, !range !13, !noundef !14
  %440 = trunc i8 %439 to i1
  br i1 %440, label %441, label %442

441:                                              ; preds = %438, %433
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
  br label %442

442:                                              ; preds = %441, %438
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %443

443:                                              ; preds = %442, %429
  br label %444

444:                                              ; preds = %443, %428
  call void @llvm.lifetime.end.p0(i64 1, ptr %15) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %14) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #7
  br label %445

445:                                              ; preds = %444
  br label %446

446:                                              ; preds = %445
  br label %447

447:                                              ; preds = %446
  call void @llvm.lifetime.start.p0(i64 4, ptr %17) #7
  %448 = load i32, ptr %11, align 4, !tbaa !5
  %449 = sext i32 %448 to i64
  %450 = getelementptr inbounds [10 x i32], ptr %10, i64 0, i64 %449
  %451 = load i32, ptr %450, align 4, !tbaa !5
  store i32 %451, ptr %17, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %18) #7
  %452 = load i32, ptr %11, align 4, !tbaa !5
  %453 = sext i32 %452 to i64
  %454 = getelementptr inbounds [10 x i32], ptr %8, i64 0, i64 %453
  %455 = load i32, ptr %454, align 4, !tbaa !5
  store i32 %455, ptr %18, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %19) #7
  store i8 0, ptr %19, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %20) #7
  store i8 0, ptr %20, align 1, !tbaa !11
  %456 = load i8, ptr %19, align 1, !tbaa !11, !range !13, !noundef !14
  %457 = trunc i8 %456 to i1
  br i1 %457, label %458, label %484

458:                                              ; preds = %447
  %459 = load i8, ptr %20, align 1, !tbaa !11, !range !13, !noundef !14
  %460 = trunc i8 %459 to i1
  br i1 %460, label %461, label %484

461:                                              ; preds = %458
  call void @llvm.lifetime.start.p0(i64 4, ptr %21) #7
  %462 = load i32, ptr %17, align 4, !tbaa !5
  %463 = load i32, ptr %18, align 4, !tbaa !5
  %464 = icmp sgt i32 %462, %463
  br i1 %464, label %465, label %469

465:                                              ; preds = %461
  %466 = load i32, ptr %17, align 4, !tbaa !5
  %467 = load i32, ptr %18, align 4, !tbaa !5
  %468 = sub nsw i32 %466, %467
  br label %473

469:                                              ; preds = %461
  %470 = load i32, ptr %18, align 4, !tbaa !5
  %471 = load i32, ptr %17, align 4, !tbaa !5
  %472 = sub nsw i32 %470, %471
  br label %473

473:                                              ; preds = %469, %465
  %474 = phi i32 [ %468, %465 ], [ %472, %469 ]
  store i32 %474, ptr %21, align 4, !tbaa !5
  %475 = load i32, ptr %21, align 4, !tbaa !5
  %476 = call noundef i32 @_ZNSt14numeric_limitsIiE7epsilonEv() #7
  %477 = icmp sgt i32 %475, %476
  br i1 %477, label %478, label %483

478:                                              ; preds = %473
  %479 = load i32, ptr %17, align 4, !tbaa !5
  %480 = sitofp i32 %479 to double
  %481 = load i32, ptr %18, align 4, !tbaa !5
  %482 = sitofp i32 %481 to double
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.6, ptr noundef @.str.2, i32 noundef 42, double noundef %480, double noundef %482)
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %483

483:                                              ; preds = %478, %473
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #7
  br label %499

484:                                              ; preds = %458, %447
  %485 = load i32, ptr %17, align 4, !tbaa !5
  %486 = load i32, ptr %18, align 4, !tbaa !5
  %487 = icmp ne i32 %485, %486
  br i1 %487, label %488, label %498

488:                                              ; preds = %484
  %489 = load i32, ptr %17, align 4, !tbaa !5
  %490 = load i32, ptr %18, align 4, !tbaa !5
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.7, ptr noundef @.str.2, i32 noundef 42, i32 noundef %489, i32 noundef %490)
  %491 = load i8, ptr %19, align 1, !tbaa !11, !range !13, !noundef !14
  %492 = trunc i8 %491 to i1
  br i1 %492, label %496, label %493

493:                                              ; preds = %488
  %494 = load i8, ptr %20, align 1, !tbaa !11, !range !13, !noundef !14
  %495 = trunc i8 %494 to i1
  br i1 %495, label %496, label %497

496:                                              ; preds = %493, %488
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
  br label %497

497:                                              ; preds = %496, %493
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %498

498:                                              ; preds = %497, %484
  br label %499

499:                                              ; preds = %498, %483
  call void @llvm.lifetime.end.p0(i64 1, ptr %20) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %19) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #7
  br label %500

500:                                              ; preds = %499
  br label %501

501:                                              ; preds = %500
  br label %502

502:                                              ; preds = %501
  %503 = load i32, ptr %11, align 4, !tbaa !5
  %504 = add nsw i32 %503, 1
  store i32 %504, ptr %11, align 4, !tbaa !5
  br label %387, !llvm.loop !15

505:                                              ; preds = %390
  call void @llvm.lifetime.start.p0(i64 4, ptr %22) #7
  store i32 10, ptr %22, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 40, ptr %23) #7
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %23, ptr align 16 @__const.main.b_values, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr %24) #7
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %24, ptr align 16 @__const.main.b_ids, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr %25) #7
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %25, ptr align 16 @__const.main.b_expected_values, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr %26) #7
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %26, ptr align 16 @__const.main.b_expected_ids, i64 40, i1 false)
  %506 = getelementptr inbounds [10 x i32], ptr %23, i64 0, i64 0
  %507 = getelementptr inbounds [10 x i32], ptr %24, i64 0, i64 0
  call void @_ZN6tflite18ReverseSortInPlaceEPiS0_i(ptr noundef %506, ptr noundef %507, i32 noundef 10)
  call void @llvm.lifetime.start.p0(i64 4, ptr %27) #7
  store i32 0, ptr %27, align 4, !tbaa !5
  br label %508

508:                                              ; preds = %623, %505
  %509 = load i32, ptr %27, align 4, !tbaa !5
  %510 = icmp slt i32 %509, 10
  br i1 %510, label %512, label %511

511:                                              ; preds = %508
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #7
  br label %626

512:                                              ; preds = %508
  br label %513

513:                                              ; preds = %512
  call void @llvm.lifetime.start.p0(i64 4, ptr %28) #7
  %514 = load i32, ptr %27, align 4, !tbaa !5
  %515 = sext i32 %514 to i64
  %516 = getelementptr inbounds [10 x i32], ptr %25, i64 0, i64 %515
  %517 = load i32, ptr %516, align 4, !tbaa !5
  store i32 %517, ptr %28, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %29) #7
  %518 = load i32, ptr %27, align 4, !tbaa !5
  %519 = sext i32 %518 to i64
  %520 = getelementptr inbounds [10 x i32], ptr %23, i64 0, i64 %519
  %521 = load i32, ptr %520, align 4, !tbaa !5
  store i32 %521, ptr %29, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %30) #7
  store i8 0, ptr %30, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %31) #7
  store i8 0, ptr %31, align 1, !tbaa !11
  %522 = load i8, ptr %30, align 1, !tbaa !11, !range !13, !noundef !14
  %523 = trunc i8 %522 to i1
  br i1 %523, label %524, label %550

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

527:                                              ; preds = %524
  call void @llvm.lifetime.start.p0(i64 4, ptr %32) #7
  %528 = load i32, ptr %28, align 4, !tbaa !5
  %529 = load i32, ptr %29, align 4, !tbaa !5
  %530 = icmp sgt i32 %528, %529
  br i1 %530, label %531, label %535

531:                                              ; preds = %527
  %532 = load i32, ptr %28, align 4, !tbaa !5
  %533 = load i32, ptr %29, align 4, !tbaa !5
  %534 = sub nsw i32 %532, %533
  br label %539

535:                                              ; preds = %527
  %536 = load i32, ptr %29, align 4, !tbaa !5
  %537 = load i32, ptr %28, align 4, !tbaa !5
  %538 = sub nsw i32 %536, %537
  br label %539

539:                                              ; preds = %535, %531
  %540 = phi i32 [ %534, %531 ], [ %538, %535 ]
  store i32 %540, ptr %32, align 4, !tbaa !5
  %541 = load i32, ptr %32, align 4, !tbaa !5
  %542 = call noundef i32 @_ZNSt14numeric_limitsIiE7epsilonEv() #7
  %543 = icmp sgt i32 %541, %542
  br i1 %543, label %544, label %549

544:                                              ; preds = %539
  %545 = load i32, ptr %28, align 4, !tbaa !5
  %546 = sitofp i32 %545 to double
  %547 = load i32, ptr %29, align 4, !tbaa !5
  %548 = sitofp i32 %547 to double
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.8, ptr noundef @.str.2, i32 noundef 52, double noundef %546, double noundef %548)
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %549

549:                                              ; preds = %544, %539
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #7
  br label %565

550:                                              ; preds = %524, %513
  %551 = load i32, ptr %28, align 4, !tbaa !5
  %552 = load i32, ptr %29, align 4, !tbaa !5
  %553 = icmp ne i32 %551, %552
  br i1 %553, label %554, label %564

554:                                              ; preds = %550
  %555 = load i32, ptr %28, align 4, !tbaa !5
  %556 = load i32, ptr %29, align 4, !tbaa !5
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.9, ptr noundef @.str.2, i32 noundef 52, i32 noundef %555, i32 noundef %556)
  %557 = load i8, ptr %30, align 1, !tbaa !11, !range !13, !noundef !14
  %558 = trunc i8 %557 to i1
  br i1 %558, label %562, label %559

559:                                              ; preds = %554
  %560 = load i8, ptr %31, align 1, !tbaa !11, !range !13, !noundef !14
  %561 = trunc i8 %560 to i1
  br i1 %561, label %562, label %563

562:                                              ; preds = %559, %554
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
  br label %563

563:                                              ; preds = %562, %559
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %564

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

565:                                              ; preds = %564, %549
  call void @llvm.lifetime.end.p0(i64 1, ptr %31) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %30) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #7
  br label %566

566:                                              ; preds = %565
  br label %567

567:                                              ; preds = %566
  br label %568

568:                                              ; preds = %567
  call void @llvm.lifetime.start.p0(i64 4, ptr %33) #7
  %569 = load i32, ptr %27, align 4, !tbaa !5
  %570 = sext i32 %569 to i64
  %571 = getelementptr inbounds [10 x i32], ptr %26, i64 0, i64 %570
  %572 = load i32, ptr %571, align 4, !tbaa !5
  store i32 %572, ptr %33, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %34) #7
  %573 = load i32, ptr %27, align 4, !tbaa !5
  %574 = sext i32 %573 to i64
  %575 = getelementptr inbounds [10 x i32], ptr %24, i64 0, i64 %574
  %576 = load i32, ptr %575, align 4, !tbaa !5
  store i32 %576, ptr %34, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %35) #7
  store i8 0, ptr %35, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %36) #7
  store i8 0, ptr %36, align 1, !tbaa !11
  %577 = load i8, ptr %35, align 1, !tbaa !11, !range !13, !noundef !14
  %578 = trunc i8 %577 to i1
  br i1 %578, label %579, label %605

579:                                              ; preds = %568
  %580 = load i8, ptr %36, align 1, !tbaa !11, !range !13, !noundef !14
  %581 = trunc i8 %580 to i1
  br i1 %581, label %582, label %605

582:                                              ; preds = %579
  call void @llvm.lifetime.start.p0(i64 4, ptr %37) #7
  %583 = load i32, ptr %33, align 4, !tbaa !5
  %584 = load i32, ptr %34, align 4, !tbaa !5
  %585 = icmp sgt i32 %583, %584
  br i1 %585, label %586, label %590

586:                                              ; preds = %582
  %587 = load i32, ptr %33, align 4, !tbaa !5
  %588 = load i32, ptr %34, align 4, !tbaa !5
  %589 = sub nsw i32 %587, %588
  br label %594

590:                                              ; preds = %582
  %591 = load i32, ptr %34, align 4, !tbaa !5
  %592 = load i32, ptr %33, align 4, !tbaa !5
  %593 = sub nsw i32 %591, %592
  br label %594

594:                                              ; preds = %590, %586
  %595 = phi i32 [ %589, %586 ], [ %593, %590 ]
  store i32 %595, ptr %37, align 4, !tbaa !5
  %596 = load i32, ptr %37, align 4, !tbaa !5
  %597 = call noundef i32 @_ZNSt14numeric_limitsIiE7epsilonEv() #7
  %598 = icmp sgt i32 %596, %597
  br i1 %598, label %599, label %604

599:                                              ; preds = %594
  %600 = load i32, ptr %33, align 4, !tbaa !5
  %601 = sitofp i32 %600 to double
  %602 = load i32, ptr %34, align 4, !tbaa !5
  %603 = sitofp i32 %602 to double
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.10, ptr noundef @.str.2, i32 noundef 53, double noundef %601, double noundef %603)
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %604

604:                                              ; preds = %599, %594
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #7
  br label %620

605:                                              ; preds = %579, %568
  %606 = load i32, ptr %33, align 4, !tbaa !5
  %607 = load i32, ptr %34, align 4, !tbaa !5
  %608 = icmp ne i32 %606, %607
  br i1 %608, label %609, label %619

609:                                              ; preds = %605
  %610 = load i32, ptr %33, align 4, !tbaa !5
  %611 = load i32, ptr %34, align 4, !tbaa !5
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.11, ptr noundef @.str.2, i32 noundef 53, i32 noundef %610, i32 noundef %611)
  %612 = load i8, ptr %35, align 1, !tbaa !11, !range !13, !noundef !14
  %613 = trunc i8 %612 to i1
  br i1 %613, label %617, label %614

614:                                              ; preds = %609
  %615 = load i8, ptr %36, align 1, !tbaa !11, !range !13, !noundef !14
  %616 = trunc i8 %615 to i1
  br i1 %616, label %617, label %618

617:                                              ; preds = %614, %609
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
  br label %618

618:                                              ; preds = %617, %614
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %619

619:                                              ; preds = %618, %605
  br label %620

620:                                              ; preds = %619, %604
  call void @llvm.lifetime.end.p0(i64 1, ptr %36) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %35) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #7
  br label %621

621:                                              ; preds = %620
  br label %622

622:                                              ; preds = %621
  br label %623

623:                                              ; preds = %622
  %624 = load i32, ptr %27, align 4, !tbaa !5
  %625 = add nsw i32 %624, 1
  store i32 %625, ptr %27, align 4, !tbaa !5
  br label %508, !llvm.loop !17

626:                                              ; preds = %511
  call void @llvm.lifetime.start.p0(i64 4, ptr %38) #7
  store i32 100, ptr %38, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 400, ptr %39) #7
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %39, ptr align 16 @__const.main.c_values, i64 400, i1 false)
  call void @llvm.lifetime.start.p0(i64 400, ptr %40) #7
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %40, ptr align 16 @__const.main.c_ids, i64 400, i1 false)
  call void @llvm.lifetime.start.p0(i64 400, ptr %41) #7
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %41, ptr align 16 @__const.main.c_expected_values, i64 400, i1 false)
  call void @llvm.lifetime.start.p0(i64 400, ptr %42) #7
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %42, ptr align 16 @__const.main.c_expected_ids, i64 400, i1 false)
  %627 = getelementptr inbounds [100 x i32], ptr %39, i64 0, i64 0
  %628 = getelementptr inbounds [100 x i32], ptr %40, i64 0, i64 0
  call void @_ZN6tflite18ReverseSortInPlaceEPiS0_i(ptr noundef %627, ptr noundef %628, i32 noundef 100)
  call void @llvm.lifetime.start.p0(i64 4, ptr %43) #7
  store i32 0, ptr %43, align 4, !tbaa !5
  br label %629

629:                                              ; preds = %744, %626
  %630 = load i32, ptr %43, align 4, !tbaa !5
  %631 = icmp slt i32 %630, 100
  br i1 %631, label %633, label %632

632:                                              ; preds = %629
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #7
  br label %747

633:                                              ; preds = %629
  br label %634

634:                                              ; preds = %633
  call void @llvm.lifetime.start.p0(i64 4, ptr %44) #7
  %635 = load i32, ptr %43, align 4, !tbaa !5
  %636 = sext i32 %635 to i64
  %637 = getelementptr inbounds [100 x i32], ptr %41, i64 0, i64 %636
  %638 = load i32, ptr %637, align 4, !tbaa !5
  store i32 %638, ptr %44, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %45) #7
  %639 = load i32, ptr %43, align 4, !tbaa !5
  %640 = sext i32 %639 to i64
  %641 = getelementptr inbounds [100 x i32], ptr %39, i64 0, i64 %640
  %642 = load i32, ptr %641, align 4, !tbaa !5
  store i32 %642, ptr %45, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %46) #7
  store i8 0, ptr %46, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %47) #7
  store i8 0, ptr %47, align 1, !tbaa !11
  %643 = load i8, ptr %46, align 1, !tbaa !11, !range !13, !noundef !14
  %644 = trunc i8 %643 to i1
  br i1 %644, label %645, label %671

645:                                              ; preds = %634
  %646 = load i8, ptr %47, align 1, !tbaa !11, !range !13, !noundef !14
  %647 = trunc i8 %646 to i1
  br i1 %647, label %648, label %671

648:                                              ; preds = %645
  call void @llvm.lifetime.start.p0(i64 4, ptr %48) #7
  %649 = load i32, ptr %44, align 4, !tbaa !5
  %650 = load i32, ptr %45, align 4, !tbaa !5
  %651 = icmp sgt i32 %649, %650
  br i1 %651, label %652, label %656

652:                                              ; preds = %648
  %653 = load i32, ptr %44, align 4, !tbaa !5
  %654 = load i32, ptr %45, align 4, !tbaa !5
  %655 = sub nsw i32 %653, %654
  br label %660

656:                                              ; preds = %648
  %657 = load i32, ptr %45, align 4, !tbaa !5
  %658 = load i32, ptr %44, align 4, !tbaa !5
  %659 = sub nsw i32 %657, %658
  br label %660

660:                                              ; preds = %656, %652
  %661 = phi i32 [ %655, %652 ], [ %659, %656 ]
  store i32 %661, ptr %48, align 4, !tbaa !5
  %662 = load i32, ptr %48, align 4, !tbaa !5
  %663 = call noundef i32 @_ZNSt14numeric_limitsIiE7epsilonEv() #7
  %664 = icmp sgt i32 %662, %663
  br i1 %664, label %665, label %670

665:                                              ; preds = %660
  %666 = load i32, ptr %44, align 4, !tbaa !5
  %667 = sitofp i32 %666 to double
  %668 = load i32, ptr %45, align 4, !tbaa !5
  %669 = sitofp i32 %668 to double
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.12, ptr noundef @.str.2, i32 noundef 85, double noundef %667, double noundef %669)
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %670

670:                                              ; preds = %665, %660
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #7
  br label %686

671:                                              ; preds = %645, %634
  %672 = load i32, ptr %44, align 4, !tbaa !5
  %673 = load i32, ptr %45, align 4, !tbaa !5
  %674 = icmp ne i32 %672, %673
  br i1 %674, label %675, label %685

675:                                              ; preds = %671
  %676 = load i32, ptr %44, align 4, !tbaa !5
  %677 = load i32, ptr %45, align 4, !tbaa !5
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 85, i32 noundef %676, i32 noundef %677)
  %678 = load i8, ptr %46, align 1, !tbaa !11, !range !13, !noundef !14
  %679 = trunc i8 %678 to i1
  br i1 %679, label %683, label %680

680:                                              ; preds = %675
  %681 = load i8, ptr %47, align 1, !tbaa !11, !range !13, !noundef !14
  %682 = trunc i8 %681 to i1
  br i1 %682, label %683, label %684

683:                                              ; preds = %680, %675
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
  br label %684

684:                                              ; preds = %683, %680
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %685

685:                                              ; preds = %684, %671
  br label %686

686:                                              ; preds = %685, %670
  call void @llvm.lifetime.end.p0(i64 1, ptr %47) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %46) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %45) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %44) #7
  br label %687

687:                                              ; preds = %686
  br label %688

688:                                              ; preds = %687
  br label %689

689:                                              ; preds = %688
  call void @llvm.lifetime.start.p0(i64 4, ptr %49) #7
  %690 = load i32, ptr %43, align 4, !tbaa !5
  %691 = sext i32 %690 to i64
  %692 = getelementptr inbounds [100 x i32], ptr %42, i64 0, i64 %691
  %693 = load i32, ptr %692, align 4, !tbaa !5
  store i32 %693, ptr %49, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %50) #7
  %694 = load i32, ptr %43, align 4, !tbaa !5
  %695 = sext i32 %694 to i64
  %696 = getelementptr inbounds [100 x i32], ptr %40, i64 0, i64 %695
  %697 = load i32, ptr %696, align 4, !tbaa !5
  store i32 %697, ptr %50, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %51) #7
  store i8 0, ptr %51, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %52) #7
  store i8 0, ptr %52, align 1, !tbaa !11
  %698 = load i8, ptr %51, align 1, !tbaa !11, !range !13, !noundef !14
  %699 = trunc i8 %698 to i1
  br i1 %699, label %700, label %726

700:                                              ; preds = %689
  %701 = load i8, ptr %52, align 1, !tbaa !11, !range !13, !noundef !14
  %702 = trunc i8 %701 to i1
  br i1 %702, label %703, label %726

703:                                              ; preds = %700
  call void @llvm.lifetime.start.p0(i64 4, ptr %53) #7
  %704 = load i32, ptr %49, align 4, !tbaa !5
  %705 = load i32, ptr %50, align 4, !tbaa !5
  %706 = icmp sgt i32 %704, %705
  br i1 %706, label %707, label %711

707:                                              ; preds = %703
  %708 = load i32, ptr %49, align 4, !tbaa !5
  %709 = load i32, ptr %50, align 4, !tbaa !5
  %710 = sub nsw i32 %708, %709
  br label %715

711:                                              ; preds = %703
  %712 = load i32, ptr %50, align 4, !tbaa !5
  %713 = load i32, ptr %49, align 4, !tbaa !5
  %714 = sub nsw i32 %712, %713
  br label %715

715:                                              ; preds = %711, %707
  %716 = phi i32 [ %710, %707 ], [ %714, %711 ]
  store i32 %716, ptr %53, align 4, !tbaa !5
  %717 = load i32, ptr %53, align 4, !tbaa !5
  %718 = call noundef i32 @_ZNSt14numeric_limitsIiE7epsilonEv() #7
  %719 = icmp sgt i32 %717, %718
  br i1 %719, label %720, label %725

720:                                              ; preds = %715
  %721 = load i32, ptr %49, align 4, !tbaa !5
  %722 = sitofp i32 %721 to double
  %723 = load i32, ptr %50, align 4, !tbaa !5
  %724 = sitofp i32 %723 to double
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.14, ptr noundef @.str.2, i32 noundef 86, double noundef %722, double noundef %724)
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %725

725:                                              ; preds = %720, %715
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #7
  br label %741

726:                                              ; preds = %700, %689
  %727 = load i32, ptr %49, align 4, !tbaa !5
  %728 = load i32, ptr %50, align 4, !tbaa !5
  %729 = icmp ne i32 %727, %728
  br i1 %729, label %730, label %740

730:                                              ; preds = %726
  %731 = load i32, ptr %49, align 4, !tbaa !5
  %732 = load i32, ptr %50, align 4, !tbaa !5
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.15, ptr noundef @.str.2, i32 noundef 86, i32 noundef %731, i32 noundef %732)
  %733 = load i8, ptr %51, align 1, !tbaa !11, !range !13, !noundef !14
  %734 = trunc i8 %733 to i1
  br i1 %734, label %738, label %735

735:                                              ; preds = %730
  %736 = load i8, ptr %52, align 1, !tbaa !11, !range !13, !noundef !14
  %737 = trunc i8 %736 to i1
  br i1 %737, label %738, label %739

738:                                              ; preds = %735, %730
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
  br label %739

739:                                              ; preds = %738, %735
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %740

740:                                              ; preds = %739, %726
  br label %741

741:                                              ; preds = %740, %725
  call void @llvm.lifetime.end.p0(i64 1, ptr %52) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %51) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #7
  br label %742

742:                                              ; preds = %741
  br label %743

743:                                              ; preds = %742
  br label %744

744:                                              ; preds = %743
  %745 = load i32, ptr %43, align 4, !tbaa !5
  %746 = add nsw i32 %745, 1
  store i32 %746, ptr %43, align 4, !tbaa !5
  br label %629, !llvm.loop !18

747:                                              ; preds = %632
  call void @llvm.lifetime.end.p0(i64 400, ptr %42) #7
  call void @llvm.lifetime.end.p0(i64 400, ptr %41) #7
  call void @llvm.lifetime.end.p0(i64 400, ptr %40) #7
  call void @llvm.lifetime.end.p0(i64 400, ptr %39) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %26) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %25) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %24) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %23) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %10) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %9) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %8) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %7) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #7
  br label %748

748:                                              ; preds = %747
  store i8 1, ptr @_ZN10micro_test16is_test_completeE, align 1, !tbaa !11
  %749 = load i8, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11, !range !13, !noundef !14
  %750 = trunc i8 %749 to i1
  %751 = zext i1 %750 to i64
  %752 = select i1 %750, i32 0, i32 1
  %753 = load i32, ptr @_ZN10micro_test12tests_passedE, align 4, !tbaa !5
  %754 = add nsw i32 %753, %752
  store i32 %754, ptr @_ZN10micro_test12tests_passedE, align 4, !tbaa !5
  %755 = load i8, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11, !range !13, !noundef !14
  %756 = trunc i8 %755 to i1
  %757 = zext i1 %756 to i64
  %758 = select i1 %756, i32 1, i32 0
  %759 = load i32, ptr @_ZN10micro_test12tests_failedE, align 4, !tbaa !5
  %760 = add nsw i32 %759, %758
  store i32 %760, ptr @_ZN10micro_test12tests_failedE, align 4, !tbaa !5
  br label %380, !llvm.loop !19

761:                                              ; preds = %380
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.16)
  store i8 0, ptr @_ZN10micro_test16is_test_completeE, align 1, !tbaa !11
  store i8 0, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %762

762:                                              ; preds = %1321, %761
  %763 = load i8, ptr @_ZN10micro_test16is_test_completeE, align 1, !tbaa !11, !range !13, !noundef !14
  %764 = trunc i8 %763 to i1
  %765 = xor i1 %764, true
  br i1 %765, label %766, label %1337

766:                                              ; preds = %762
  call void @llvm.lifetime.start.p0(i64 72, ptr %54) #7
  call void @_ZN6tflite19GreedyMemoryPlannerC1Ev(ptr noundef nonnull align 8 dereferenceable(65) %54)
  %767 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner4InitEPhi(ptr noundef nonnull align 8 dereferenceable(65) %54, ptr noundef @_ZN12_GLOBAL__N_116g_scratch_bufferE, i32 noundef 4096)
          to label %768 unwind label %800

768:                                              ; preds = %766
  br label %769

769:                                              ; preds = %768
  call void @llvm.lifetime.start.p0(i64 4, ptr %57) #7
  store i32 0, ptr %57, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 4, ptr %58) #7
  %770 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %54, i32 noundef 10, i32 noundef 0, i32 noundef 1)
          to label %771 unwind label %804

771:                                              ; preds = %769
  store i32 %770, ptr %58, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 1, ptr %59) #7
  store i8 0, ptr %59, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %60) #7
  store i8 0, ptr %60, align 1, !tbaa !11
  %772 = load i8, ptr %59, align 1, !tbaa !11, !range !13, !noundef !14
  %773 = trunc i8 %772 to i1
  br i1 %773, label %774, label %813

774:                                              ; preds = %771
  %775 = load i8, ptr %60, align 1, !tbaa !11, !range !13, !noundef !14
  %776 = trunc i8 %775 to i1
  br i1 %776, label %777, label %813

777:                                              ; preds = %774
  call void @llvm.lifetime.start.p0(i64 4, ptr %61) #7
  %778 = load i32, ptr %57, align 4, !tbaa !20
  %779 = load i32, ptr %58, align 4, !tbaa !20
  %780 = icmp sgt i32 %778, %779
  br i1 %780, label %781, label %785

781:                                              ; preds = %777
  %782 = load i32, ptr %57, align 4, !tbaa !20
  %783 = load i32, ptr %58, align 4, !tbaa !20
  %784 = sub nsw i32 %782, %783
  br label %789

785:                                              ; preds = %777
  %786 = load i32, ptr %58, align 4, !tbaa !20
  %787 = load i32, ptr %57, align 4, !tbaa !20
  %788 = sub nsw i32 %786, %787
  br label %789

789:                                              ; preds = %785, %781
  %790 = phi i32 [ %784, %781 ], [ %788, %785 ]
  store i32 %790, ptr %61, align 4, !tbaa !5
  %791 = load i32, ptr %61, align 4, !tbaa !5
  %792 = call noundef i32 @_ZNSt14numeric_limitsIiE7epsilonEv() #7
  %793 = icmp sgt i32 %791, %792
  br i1 %793, label %794, label %812

794:                                              ; preds = %789
  %795 = load i32, ptr %57, align 4, !tbaa !20
  %796 = uitofp i32 %795 to double
  %797 = load i32, ptr %58, align 4, !tbaa !20
  %798 = uitofp i32 %797 to double
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.17, ptr noundef @.str.2, i32 noundef 93, double noundef %796, double noundef %798)
          to label %799 unwind label %808

799:                                              ; preds = %794
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %812

800:                                              ; preds = %766
  %801 = landingpad { ptr, i32 }
          cleanup
  %802 = extractvalue { ptr, i32 } %801, 0
  store ptr %802, ptr %55, align 8
  %803 = extractvalue { ptr, i32 } %801, 1
  store i32 %803, ptr %56, align 4
  br label %1336

804:                                              ; preds = %769
  %805 = landingpad { ptr, i32 }
          cleanup
  %806 = extractvalue { ptr, i32 } %805, 0
  store ptr %806, ptr %55, align 8
  %807 = extractvalue { ptr, i32 } %805, 1
  store i32 %807, ptr %56, align 4
  br label %870

808:                                              ; preds = %794
  %809 = landingpad { ptr, i32 }
          cleanup
  %810 = extractvalue { ptr, i32 } %809, 0
  store ptr %810, ptr %55, align 8
  %811 = extractvalue { ptr, i32 } %809, 1
  store i32 %811, ptr %56, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #7
  br label %869

812:                                              ; preds = %799, %789
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #7
  br label %835

813:                                              ; preds = %774, %771
  %814 = load i32, ptr %57, align 4, !tbaa !20
  %815 = load i32, ptr %58, align 4, !tbaa !20
  %816 = icmp ne i32 %814, %815
  br i1 %816, label %817, label %834

817:                                              ; preds = %813
  %818 = load i32, ptr %57, align 4, !tbaa !20
  %819 = load i32, ptr %58, align 4, !tbaa !20
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.18, ptr noundef @.str.2, i32 noundef 93, i32 noundef %818, i32 noundef %819)
          to label %820 unwind label %829

820:                                              ; preds = %817
  %821 = load i8, ptr %59, align 1, !tbaa !11, !range !13, !noundef !14
  %822 = trunc i8 %821 to i1
  br i1 %822, label %826, label %823

823:                                              ; preds = %820
  %824 = load i8, ptr %60, align 1, !tbaa !11, !range !13, !noundef !14
  %825 = trunc i8 %824 to i1
  br i1 %825, label %826, label %833

826:                                              ; preds = %823, %820
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
          to label %827 unwind label %829

827:                                              ; preds = %826
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
          to label %828 unwind label %829

828:                                              ; preds = %827
  br label %833

829:                                              ; preds = %827, %826, %817
  %830 = landingpad { ptr, i32 }
          cleanup
  %831 = extractvalue { ptr, i32 } %830, 0
  store ptr %831, ptr %55, align 8
  %832 = extractvalue { ptr, i32 } %830, 1
  store i32 %832, ptr %56, align 4
  br label %869

833:                                              ; preds = %828, %823
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %834

834:                                              ; preds = %833, %813
  br label %835

835:                                              ; preds = %834, %812
  call void @llvm.lifetime.end.p0(i64 1, ptr %60) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %59) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #7
  br label %836

836:                                              ; preds = %835
  br label %837

837:                                              ; preds = %836
  br label %838

838:                                              ; preds = %837
  call void @llvm.lifetime.start.p0(i64 4, ptr %62) #7
  store i32 0, ptr %62, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 4, ptr %63) #7
  %839 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %54, i32 noundef 20, i32 noundef 2, i32 noundef 3)
          to label %840 unwind label %871

840:                                              ; preds = %838
  store i32 %839, ptr %63, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 1, ptr %64) #7
  store i8 0, ptr %64, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %65) #7
  store i8 0, ptr %65, align 1, !tbaa !11
  %841 = load i8, ptr %64, align 1, !tbaa !11, !range !13, !noundef !14
  %842 = trunc i8 %841 to i1
  br i1 %842, label %843, label %880

843:                                              ; preds = %840
  %844 = load i8, ptr %65, align 1, !tbaa !11, !range !13, !noundef !14
  %845 = trunc i8 %844 to i1
  br i1 %845, label %846, label %880

846:                                              ; preds = %843
  call void @llvm.lifetime.start.p0(i64 4, ptr %66) #7
  %847 = load i32, ptr %62, align 4, !tbaa !20
  %848 = load i32, ptr %63, align 4, !tbaa !20
  %849 = icmp sgt i32 %847, %848
  br i1 %849, label %850, label %854

850:                                              ; preds = %846
  %851 = load i32, ptr %62, align 4, !tbaa !20
  %852 = load i32, ptr %63, align 4, !tbaa !20
  %853 = sub nsw i32 %851, %852
  br label %858

854:                                              ; preds = %846
  %855 = load i32, ptr %63, align 4, !tbaa !20
  %856 = load i32, ptr %62, align 4, !tbaa !20
  %857 = sub nsw i32 %855, %856
  br label %858

858:                                              ; preds = %854, %850
  %859 = phi i32 [ %853, %850 ], [ %857, %854 ]
  store i32 %859, ptr %66, align 4, !tbaa !5
  %860 = load i32, ptr %66, align 4, !tbaa !5
  %861 = call noundef i32 @_ZNSt14numeric_limitsIiE7epsilonEv() #7
  %862 = icmp sgt i32 %860, %861
  br i1 %862, label %863, label %879

863:                                              ; preds = %858
  %864 = load i32, ptr %62, align 4, !tbaa !20
  %865 = uitofp i32 %864 to double
  %866 = load i32, ptr %63, align 4, !tbaa !20
  %867 = uitofp i32 %866 to double
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.19, ptr noundef @.str.2, i32 noundef 94, double noundef %865, double noundef %867)
          to label %868 unwind label %875

868:                                              ; preds = %863
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %879

869:                                              ; preds = %829, %808
  call void @llvm.lifetime.end.p0(i64 1, ptr %60) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %59) #7
  br label %870

870:                                              ; preds = %869, %804
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #7
  br label %1336

871:                                              ; preds = %838
  %872 = landingpad { ptr, i32 }
          cleanup
  %873 = extractvalue { ptr, i32 } %872, 0
  store ptr %873, ptr %55, align 8
  %874 = extractvalue { ptr, i32 } %872, 1
  store i32 %874, ptr %56, align 4
  br label %952

875:                                              ; preds = %863
  %876 = landingpad { ptr, i32 }
          cleanup
  %877 = extractvalue { ptr, i32 } %876, 0
  store ptr %877, ptr %55, align 8
  %878 = extractvalue { ptr, i32 } %876, 1
  store i32 %878, ptr %56, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #7
  br label %951

879:                                              ; preds = %868, %858
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #7
  br label %902

880:                                              ; preds = %843, %840
  %881 = load i32, ptr %62, align 4, !tbaa !20
  %882 = load i32, ptr %63, align 4, !tbaa !20
  %883 = icmp ne i32 %881, %882
  br i1 %883, label %884, label %901

884:                                              ; preds = %880
  %885 = load i32, ptr %62, align 4, !tbaa !20
  %886 = load i32, ptr %63, align 4, !tbaa !20
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.20, ptr noundef @.str.2, i32 noundef 94, i32 noundef %885, i32 noundef %886)
          to label %887 unwind label %896

887:                                              ; preds = %884
  %888 = load i8, ptr %64, align 1, !tbaa !11, !range !13, !noundef !14
  %889 = trunc i8 %888 to i1
  br i1 %889, label %893, label %890

890:                                              ; preds = %887
  %891 = load i8, ptr %65, align 1, !tbaa !11, !range !13, !noundef !14
  %892 = trunc i8 %891 to i1
  br i1 %892, label %893, label %900

893:                                              ; preds = %890, %887
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
          to label %894 unwind label %896

894:                                              ; preds = %893
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
          to label %895 unwind label %896

895:                                              ; preds = %894
  br label %900

896:                                              ; preds = %894, %893, %884
  %897 = landingpad { ptr, i32 }
          cleanup
  %898 = extractvalue { ptr, i32 } %897, 0
  store ptr %898, ptr %55, align 8
  %899 = extractvalue { ptr, i32 } %897, 1
  store i32 %899, ptr %56, align 4
  br label %951

900:                                              ; preds = %895, %890
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %901

901:                                              ; preds = %900, %880
  br label %902

902:                                              ; preds = %901, %879
  call void @llvm.lifetime.end.p0(i64 1, ptr %65) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %64) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #7
  br label %903

903:                                              ; preds = %902
  br label %904

904:                                              ; preds = %903
  br label %905

905:                                              ; preds = %904
  call void @llvm.lifetime.start.p0(i64 1, ptr %67) #7
  store i8 0, ptr %67, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %68) #7
  %906 = invoke noundef zeroext i1 @_ZN6tflite19GreedyMemoryPlanner19DoAnyBuffersOverlapEv(ptr noundef nonnull align 8 dereferenceable(65) %54)
          to label %907 unwind label %953

907:                                              ; preds = %905
  %908 = zext i1 %906 to i8
  store i8 %908, ptr %68, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %69) #7
  store i8 0, ptr %69, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %70) #7
  store i8 0, ptr %70, align 1, !tbaa !11
  %909 = load i8, ptr %69, align 1, !tbaa !11, !range !13, !noundef !14
  %910 = trunc i8 %909 to i1
  br i1 %910, label %911, label %962

911:                                              ; preds = %907
  %912 = load i8, ptr %70, align 1, !tbaa !11, !range !13, !noundef !14
  %913 = trunc i8 %912 to i1
  br i1 %913, label %914, label %962

914:                                              ; preds = %911
  call void @llvm.lifetime.start.p0(i64 4, ptr %71) #7
  %915 = load i8, ptr %67, align 1, !tbaa !11, !range !13, !noundef !14
  %916 = trunc i8 %915 to i1
  %917 = zext i1 %916 to i32
  %918 = load i8, ptr %68, align 1, !tbaa !11, !range !13, !noundef !14
  %919 = trunc i8 %918 to i1
  %920 = zext i1 %919 to i32
  %921 = icmp sgt i32 %917, %920
  br i1 %921, label %922, label %930

922:                                              ; preds = %914
  %923 = load i8, ptr %67, align 1, !tbaa !11, !range !13, !noundef !14
  %924 = trunc i8 %923 to i1
  %925 = zext i1 %924 to i32
  %926 = load i8, ptr %68, align 1, !tbaa !11, !range !13, !noundef !14
  %927 = trunc i8 %926 to i1
  %928 = zext i1 %927 to i32
  %929 = sub nsw i32 %925, %928
  br label %938

930:                                              ; preds = %914
  %931 = load i8, ptr %68, align 1, !tbaa !11, !range !13, !noundef !14
  %932 = trunc i8 %931 to i1
  %933 = zext i1 %932 to i32
  %934 = load i8, ptr %67, align 1, !tbaa !11, !range !13, !noundef !14
  %935 = trunc i8 %934 to i1
  %936 = zext i1 %935 to i32
  %937 = sub nsw i32 %933, %936
  br label %938

938:                                              ; preds = %930, %922
  %939 = phi i32 [ %929, %922 ], [ %937, %930 ]
  store i32 %939, ptr %71, align 4, !tbaa !5
  %940 = load i32, ptr %71, align 4, !tbaa !5
  %941 = call noundef i32 @_ZNSt14numeric_limitsIiE7epsilonEv() #7
  %942 = icmp sgt i32 %940, %941
  br i1 %942, label %943, label %961

943:                                              ; preds = %938
  %944 = load i8, ptr %67, align 1, !tbaa !11, !range !13, !noundef !14
  %945 = trunc i8 %944 to i1
  %946 = uitofp i1 %945 to double
  %947 = load i8, ptr %68, align 1, !tbaa !11, !range !13, !noundef !14
  %948 = trunc i8 %947 to i1
  %949 = uitofp i1 %948 to double
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.21, ptr noundef @.str.2, i32 noundef 96, double noundef %946, double noundef %949)
          to label %950 unwind label %957

950:                                              ; preds = %943
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %961

951:                                              ; preds = %896, %875
  call void @llvm.lifetime.end.p0(i64 1, ptr %65) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %64) #7
  br label %952

952:                                              ; preds = %951, %871
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #7
  br label %1336

953:                                              ; preds = %905
  %954 = landingpad { ptr, i32 }
          cleanup
  %955 = extractvalue { ptr, i32 } %954, 0
  store ptr %955, ptr %55, align 8
  %956 = extractvalue { ptr, i32 } %954, 1
  store i32 %956, ptr %56, align 4
  br label %1027

957:                                              ; preds = %943
  %958 = landingpad { ptr, i32 }
          cleanup
  %959 = extractvalue { ptr, i32 } %958, 0
  store ptr %959, ptr %55, align 8
  %960 = extractvalue { ptr, i32 } %958, 1
  store i32 %960, ptr %56, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %71) #7
  br label %1026

961:                                              ; preds = %950, %938
  call void @llvm.lifetime.end.p0(i64 4, ptr %71) #7
  br label %992

962:                                              ; preds = %911, %907
  %963 = load i8, ptr %67, align 1, !tbaa !11, !range !13, !noundef !14
  %964 = trunc i8 %963 to i1
  %965 = zext i1 %964 to i32
  %966 = load i8, ptr %68, align 1, !tbaa !11, !range !13, !noundef !14
  %967 = trunc i8 %966 to i1
  %968 = zext i1 %967 to i32
  %969 = icmp ne i32 %965, %968
  br i1 %969, label %970, label %991

970:                                              ; preds = %962
  %971 = load i8, ptr %67, align 1, !tbaa !11, !range !13, !noundef !14
  %972 = trunc i8 %971 to i1
  %973 = zext i1 %972 to i32
  %974 = load i8, ptr %68, align 1, !tbaa !11, !range !13, !noundef !14
  %975 = trunc i8 %974 to i1
  %976 = zext i1 %975 to i32
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.22, ptr noundef @.str.2, i32 noundef 96, i32 noundef %973, i32 noundef %976)
          to label %977 unwind label %986

977:                                              ; preds = %970
  %978 = load i8, ptr %69, align 1, !tbaa !11, !range !13, !noundef !14
  %979 = trunc i8 %978 to i1
  br i1 %979, label %983, label %980

980:                                              ; preds = %977
  %981 = load i8, ptr %70, align 1, !tbaa !11, !range !13, !noundef !14
  %982 = trunc i8 %981 to i1
  br i1 %982, label %983, label %990

983:                                              ; preds = %980, %977
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
          to label %984 unwind label %986

984:                                              ; preds = %983
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
          to label %985 unwind label %986

985:                                              ; preds = %984
  br label %990

986:                                              ; preds = %984, %983, %970
  %987 = landingpad { ptr, i32 }
          cleanup
  %988 = extractvalue { ptr, i32 } %987, 0
  store ptr %988, ptr %55, align 8
  %989 = extractvalue { ptr, i32 } %987, 1
  store i32 %989, ptr %56, align 4
  br label %1026

990:                                              ; preds = %985, %980
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %991

991:                                              ; preds = %990, %962
  br label %992

992:                                              ; preds = %991, %961
  call void @llvm.lifetime.end.p0(i64 1, ptr %70) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %69) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %68) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %67) #7
  br label %993

993:                                              ; preds = %992
  br label %994

994:                                              ; preds = %993
  br label %995

995:                                              ; preds = %994
  call void @llvm.lifetime.start.p0(i64 8, ptr %72) #7
  store i64 20, ptr %72, align 8, !tbaa !22
  call void @llvm.lifetime.start.p0(i64 8, ptr %73) #7
  %996 = invoke noundef i64 @_ZN6tflite19GreedyMemoryPlanner20GetMaximumMemorySizeEv(ptr noundef nonnull align 8 dereferenceable(65) %54)
          to label %997 unwind label %1028

997:                                              ; preds = %995
  store i64 %996, ptr %73, align 8, !tbaa !22
  call void @llvm.lifetime.start.p0(i64 1, ptr %74) #7
  store i8 0, ptr %74, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %75) #7
  store i8 0, ptr %75, align 1, !tbaa !11
  %998 = load i8, ptr %74, align 1, !tbaa !11, !range !13, !noundef !14
  %999 = trunc i8 %998 to i1
  br i1 %999, label %1000, label %1037

1000:                                             ; preds = %997
  %1001 = load i8, ptr %75, align 1, !tbaa !11, !range !13, !noundef !14
  %1002 = trunc i8 %1001 to i1
  br i1 %1002, label %1003, label %1037

1003:                                             ; preds = %1000
  call void @llvm.lifetime.start.p0(i64 8, ptr %76) #7
  %1004 = load i64, ptr %72, align 8, !tbaa !22
  %1005 = load i64, ptr %73, align 8, !tbaa !22
  %1006 = icmp ugt i64 %1004, %1005
  br i1 %1006, label %1007, label %1011

1007:                                             ; preds = %1003
  %1008 = load i64, ptr %72, align 8, !tbaa !22
  %1009 = load i64, ptr %73, align 8, !tbaa !22
  %1010 = sub i64 %1008, %1009
  br label %1015

1011:                                             ; preds = %1003
  %1012 = load i64, ptr %73, align 8, !tbaa !22
  %1013 = load i64, ptr %72, align 8, !tbaa !22
  %1014 = sub i64 %1012, %1013
  br label %1015

1015:                                             ; preds = %1011, %1007
  %1016 = phi i64 [ %1010, %1007 ], [ %1014, %1011 ]
  store i64 %1016, ptr %76, align 8, !tbaa !22
  %1017 = load i64, ptr %76, align 8, !tbaa !22
  %1018 = call noundef i64 @_ZNSt14numeric_limitsImE7epsilonEv() #7
  %1019 = icmp ugt i64 %1017, %1018
  br i1 %1019, label %1020, label %1036

1020:                                             ; preds = %1015
  %1021 = load i64, ptr %72, align 8, !tbaa !22
  %1022 = uitofp i64 %1021 to double
  %1023 = load i64, ptr %73, align 8, !tbaa !22
  %1024 = uitofp i64 %1023 to double
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.23, ptr noundef @.str.2, i32 noundef 99, double noundef %1022, double noundef %1024)
          to label %1025 unwind label %1032

1025:                                             ; preds = %1020
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %1036

1026:                                             ; preds = %986, %957
  call void @llvm.lifetime.end.p0(i64 1, ptr %70) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %69) #7
  br label %1027

1027:                                             ; preds = %1026, %953
  call void @llvm.lifetime.end.p0(i64 1, ptr %68) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %67) #7
  br label %1336

1028:                                             ; preds = %995
  %1029 = landingpad { ptr, i32 }
          cleanup
  %1030 = extractvalue { ptr, i32 } %1029, 0
  store ptr %1030, ptr %55, align 8
  %1031 = extractvalue { ptr, i32 } %1029, 1
  store i32 %1031, ptr %56, align 4
  br label %1096

1032:                                             ; preds = %1020
  %1033 = landingpad { ptr, i32 }
          cleanup
  %1034 = extractvalue { ptr, i32 } %1033, 0
  store ptr %1034, ptr %55, align 8
  %1035 = extractvalue { ptr, i32 } %1033, 1
  store i32 %1035, ptr %56, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %76) #7
  br label %1095

1036:                                             ; preds = %1025, %1015
  call void @llvm.lifetime.end.p0(i64 8, ptr %76) #7
  br label %1061

1037:                                             ; preds = %1000, %997
  %1038 = load i64, ptr %72, align 8, !tbaa !22
  %1039 = load i64, ptr %73, align 8, !tbaa !22
  %1040 = icmp ne i64 %1038, %1039
  br i1 %1040, label %1041, label %1060

1041:                                             ; preds = %1037
  %1042 = load i64, ptr %72, align 8, !tbaa !22
  %1043 = trunc i64 %1042 to i32
  %1044 = load i64, ptr %73, align 8, !tbaa !22
  %1045 = trunc i64 %1044 to i32
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.24, ptr noundef @.str.2, i32 noundef 99, i32 noundef %1043, i32 noundef %1045)
          to label %1046 unwind label %1055

1046:                                             ; preds = %1041
  %1047 = load i8, ptr %74, align 1, !tbaa !11, !range !13, !noundef !14
  %1048 = trunc i8 %1047 to i1
  br i1 %1048, label %1052, label %1049

1049:                                             ; preds = %1046
  %1050 = load i8, ptr %75, align 1, !tbaa !11, !range !13, !noundef !14
  %1051 = trunc i8 %1050 to i1
  br i1 %1051, label %1052, label %1059

1052:                                             ; preds = %1049, %1046
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
          to label %1053 unwind label %1055

1053:                                             ; preds = %1052
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
          to label %1054 unwind label %1055

1054:                                             ; preds = %1053
  br label %1059

1055:                                             ; preds = %1053, %1052, %1041
  %1056 = landingpad { ptr, i32 }
          cleanup
  %1057 = extractvalue { ptr, i32 } %1056, 0
  store ptr %1057, ptr %55, align 8
  %1058 = extractvalue { ptr, i32 } %1056, 1
  store i32 %1058, ptr %56, align 4
  br label %1095

1059:                                             ; preds = %1054, %1049
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %1060

1060:                                             ; preds = %1059, %1037
  br label %1061

1061:                                             ; preds = %1060, %1036
  call void @llvm.lifetime.end.p0(i64 1, ptr %75) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %74) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %73) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %72) #7
  br label %1062

1062:                                             ; preds = %1061
  br label %1063

1063:                                             ; preds = %1062
  call void @llvm.lifetime.start.p0(i64 4, ptr %77) #7
  store i32 -1, ptr %77, align 4, !tbaa !5
  br label %1064

1064:                                             ; preds = %1063
  call void @llvm.lifetime.start.p0(i64 4, ptr %78) #7
  store i32 0, ptr %78, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 4, ptr %79) #7
  %1065 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner18GetOffsetForBufferEiPi(ptr noundef nonnull align 8 dereferenceable(65) %54, i32 noundef 0, ptr noundef %77)
          to label %1066 unwind label %1097

1066:                                             ; preds = %1064
  store i32 %1065, ptr %79, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 1, ptr %80) #7
  store i8 0, ptr %80, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %81) #7
  store i8 0, ptr %81, align 1, !tbaa !11
  %1067 = load i8, ptr %80, align 1, !tbaa !11, !range !13, !noundef !14
  %1068 = trunc i8 %1067 to i1
  br i1 %1068, label %1069, label %1106

1069:                                             ; preds = %1066
  %1070 = load i8, ptr %81, align 1, !tbaa !11, !range !13, !noundef !14
  %1071 = trunc i8 %1070 to i1
  br i1 %1071, label %1072, label %1106

1072:                                             ; preds = %1069
  call void @llvm.lifetime.start.p0(i64 4, ptr %82) #7
  %1073 = load i32, ptr %78, align 4, !tbaa !20
  %1074 = load i32, ptr %79, align 4, !tbaa !20
  %1075 = icmp sgt i32 %1073, %1074
  br i1 %1075, label %1076, label %1080

1076:                                             ; preds = %1072
  %1077 = load i32, ptr %78, align 4, !tbaa !20
  %1078 = load i32, ptr %79, align 4, !tbaa !20
  %1079 = sub nsw i32 %1077, %1078
  br label %1084

1080:                                             ; preds = %1072
  %1081 = load i32, ptr %79, align 4, !tbaa !20
  %1082 = load i32, ptr %78, align 4, !tbaa !20
  %1083 = sub nsw i32 %1081, %1082
  br label %1084

1084:                                             ; preds = %1080, %1076
  %1085 = phi i32 [ %1079, %1076 ], [ %1083, %1080 ]
  store i32 %1085, ptr %82, align 4, !tbaa !5
  %1086 = load i32, ptr %82, align 4, !tbaa !5
  %1087 = call noundef i32 @_ZNSt14numeric_limitsIiE7epsilonEv() #7
  %1088 = icmp sgt i32 %1086, %1087
  br i1 %1088, label %1089, label %1105

1089:                                             ; preds = %1084
  %1090 = load i32, ptr %78, align 4, !tbaa !20
  %1091 = uitofp i32 %1090 to double
  %1092 = load i32, ptr %79, align 4, !tbaa !20
  %1093 = uitofp i32 %1092 to double
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.25, ptr noundef @.str.2, i32 noundef 102, double noundef %1091, double noundef %1093)
          to label %1094 unwind label %1101

1094:                                             ; preds = %1089
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %1105

1095:                                             ; preds = %1055, %1032
  call void @llvm.lifetime.end.p0(i64 1, ptr %75) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %74) #7
  br label %1096

1096:                                             ; preds = %1095, %1028
  call void @llvm.lifetime.end.p0(i64 8, ptr %73) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %72) #7
  br label %1336

1097:                                             ; preds = %1064
  %1098 = landingpad { ptr, i32 }
          cleanup
  %1099 = extractvalue { ptr, i32 } %1098, 0
  store ptr %1099, ptr %55, align 8
  %1100 = extractvalue { ptr, i32 } %1098, 1
  store i32 %1100, ptr %56, align 4
  br label %1162

1101:                                             ; preds = %1089
  %1102 = landingpad { ptr, i32 }
          cleanup
  %1103 = extractvalue { ptr, i32 } %1102, 0
  store ptr %1103, ptr %55, align 8
  %1104 = extractvalue { ptr, i32 } %1102, 1
  store i32 %1104, ptr %56, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #7
  br label %1161

1105:                                             ; preds = %1094, %1084
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #7
  br label %1128

1106:                                             ; preds = %1069, %1066
  %1107 = load i32, ptr %78, align 4, !tbaa !20
  %1108 = load i32, ptr %79, align 4, !tbaa !20
  %1109 = icmp ne i32 %1107, %1108
  br i1 %1109, label %1110, label %1127

1110:                                             ; preds = %1106
  %1111 = load i32, ptr %78, align 4, !tbaa !20
  %1112 = load i32, ptr %79, align 4, !tbaa !20
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.26, ptr noundef @.str.2, i32 noundef 102, i32 noundef %1111, i32 noundef %1112)
          to label %1113 unwind label %1122

1113:                                             ; preds = %1110
  %1114 = load i8, ptr %80, align 1, !tbaa !11, !range !13, !noundef !14
  %1115 = trunc i8 %1114 to i1
  br i1 %1115, label %1119, label %1116

1116:                                             ; preds = %1113
  %1117 = load i8, ptr %81, align 1, !tbaa !11, !range !13, !noundef !14
  %1118 = trunc i8 %1117 to i1
  br i1 %1118, label %1119, label %1126

1119:                                             ; preds = %1116, %1113
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
          to label %1120 unwind label %1122

1120:                                             ; preds = %1119
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
          to label %1121 unwind label %1122

1121:                                             ; preds = %1120
  br label %1126

1122:                                             ; preds = %1120, %1119, %1110
  %1123 = landingpad { ptr, i32 }
          cleanup
  %1124 = extractvalue { ptr, i32 } %1123, 0
  store ptr %1124, ptr %55, align 8
  %1125 = extractvalue { ptr, i32 } %1123, 1
  store i32 %1125, ptr %56, align 4
  br label %1161

1126:                                             ; preds = %1121, %1116
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %1127

1127:                                             ; preds = %1126, %1106
  br label %1128

1128:                                             ; preds = %1127, %1105
  call void @llvm.lifetime.end.p0(i64 1, ptr %81) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %80) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %79) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %78) #7
  br label %1129

1129:                                             ; preds = %1128
  br label %1130

1130:                                             ; preds = %1129
  br label %1131

1131:                                             ; preds = %1130
  call void @llvm.lifetime.start.p0(i64 4, ptr %83) #7
  store i32 0, ptr %83, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %84) #7
  %1132 = load i32, ptr %77, align 4, !tbaa !5
  store i32 %1132, ptr %84, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %85) #7
  store i8 0, ptr %85, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %86) #7
  store i8 0, ptr %86, align 1, !tbaa !11
  %1133 = load i8, ptr %85, align 1, !tbaa !11, !range !13, !noundef !14
  %1134 = trunc i8 %1133 to i1
  br i1 %1134, label %1135, label %1168

1135:                                             ; preds = %1131
  %1136 = load i8, ptr %86, align 1, !tbaa !11, !range !13, !noundef !14
  %1137 = trunc i8 %1136 to i1
  br i1 %1137, label %1138, label %1168

1138:                                             ; preds = %1135
  call void @llvm.lifetime.start.p0(i64 4, ptr %87) #7
  %1139 = load i32, ptr %83, align 4, !tbaa !5
  %1140 = load i32, ptr %84, align 4, !tbaa !5
  %1141 = icmp sgt i32 %1139, %1140
  br i1 %1141, label %1142, label %1146

1142:                                             ; preds = %1138
  %1143 = load i32, ptr %83, align 4, !tbaa !5
  %1144 = load i32, ptr %84, align 4, !tbaa !5
  %1145 = sub nsw i32 %1143, %1144
  br label %1150

1146:                                             ; preds = %1138
  %1147 = load i32, ptr %84, align 4, !tbaa !5
  %1148 = load i32, ptr %83, align 4, !tbaa !5
  %1149 = sub nsw i32 %1147, %1148
  br label %1150

1150:                                             ; preds = %1146, %1142
  %1151 = phi i32 [ %1145, %1142 ], [ %1149, %1146 ]
  store i32 %1151, ptr %87, align 4, !tbaa !5
  %1152 = load i32, ptr %87, align 4, !tbaa !5
  %1153 = call noundef i32 @_ZNSt14numeric_limitsIiE7epsilonEv() #7
  %1154 = icmp sgt i32 %1152, %1153
  br i1 %1154, label %1155, label %1167

1155:                                             ; preds = %1150
  %1156 = load i32, ptr %83, align 4, !tbaa !5
  %1157 = sitofp i32 %1156 to double
  %1158 = load i32, ptr %84, align 4, !tbaa !5
  %1159 = sitofp i32 %1158 to double
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.27, ptr noundef @.str.2, i32 noundef 103, double noundef %1157, double noundef %1159)
          to label %1160 unwind label %1163

1160:                                             ; preds = %1155
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %1167

1161:                                             ; preds = %1122, %1101
  call void @llvm.lifetime.end.p0(i64 1, ptr %81) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %80) #7
  br label %1162

1162:                                             ; preds = %1161, %1097
  call void @llvm.lifetime.end.p0(i64 4, ptr %79) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %78) #7
  br label %1335

1163:                                             ; preds = %1155
  %1164 = landingpad { ptr, i32 }
          cleanup
  %1165 = extractvalue { ptr, i32 } %1164, 0
  store ptr %1165, ptr %55, align 8
  %1166 = extractvalue { ptr, i32 } %1164, 1
  store i32 %1166, ptr %56, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %87) #7
  br label %1224

1167:                                             ; preds = %1160, %1150
  call void @llvm.lifetime.end.p0(i64 4, ptr %87) #7
  br label %1190

1168:                                             ; preds = %1135, %1131
  %1169 = load i32, ptr %83, align 4, !tbaa !5
  %1170 = load i32, ptr %84, align 4, !tbaa !5
  %1171 = icmp ne i32 %1169, %1170
  br i1 %1171, label %1172, label %1189

1172:                                             ; preds = %1168
  %1173 = load i32, ptr %83, align 4, !tbaa !5
  %1174 = load i32, ptr %84, align 4, !tbaa !5
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.28, ptr noundef @.str.2, i32 noundef 103, i32 noundef %1173, i32 noundef %1174)
          to label %1175 unwind label %1184

1175:                                             ; preds = %1172
  %1176 = load i8, ptr %85, align 1, !tbaa !11, !range !13, !noundef !14
  %1177 = trunc i8 %1176 to i1
  br i1 %1177, label %1181, label %1178

1178:                                             ; preds = %1175
  %1179 = load i8, ptr %86, align 1, !tbaa !11, !range !13, !noundef !14
  %1180 = trunc i8 %1179 to i1
  br i1 %1180, label %1181, label %1188

1181:                                             ; preds = %1178, %1175
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
          to label %1182 unwind label %1184

1182:                                             ; preds = %1181
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
          to label %1183 unwind label %1184

1183:                                             ; preds = %1182
  br label %1188

1184:                                             ; preds = %1182, %1181, %1172
  %1185 = landingpad { ptr, i32 }
          cleanup
  %1186 = extractvalue { ptr, i32 } %1185, 0
  store ptr %1186, ptr %55, align 8
  %1187 = extractvalue { ptr, i32 } %1185, 1
  store i32 %1187, ptr %56, align 4
  br label %1224

1188:                                             ; preds = %1183, %1178
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %1189

1189:                                             ; preds = %1188, %1168
  br label %1190

1190:                                             ; preds = %1189, %1167
  call void @llvm.lifetime.end.p0(i64 1, ptr %86) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %85) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #7
  br label %1191

1191:                                             ; preds = %1190
  br label %1192

1192:                                             ; preds = %1191
  br label %1193

1193:                                             ; preds = %1192
  call void @llvm.lifetime.start.p0(i64 4, ptr %88) #7
  store i32 0, ptr %88, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 4, ptr %89) #7
  %1194 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner18GetOffsetForBufferEiPi(ptr noundef nonnull align 8 dereferenceable(65) %54, i32 noundef 1, ptr noundef %77)
          to label %1195 unwind label %1225

1195:                                             ; preds = %1193
  store i32 %1194, ptr %89, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 1, ptr %90) #7
  store i8 0, ptr %90, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %91) #7
  store i8 0, ptr %91, align 1, !tbaa !11
  %1196 = load i8, ptr %90, align 1, !tbaa !11, !range !13, !noundef !14
  %1197 = trunc i8 %1196 to i1
  br i1 %1197, label %1198, label %1234

1198:                                             ; preds = %1195
  %1199 = load i8, ptr %91, align 1, !tbaa !11, !range !13, !noundef !14
  %1200 = trunc i8 %1199 to i1
  br i1 %1200, label %1201, label %1234

1201:                                             ; preds = %1198
  call void @llvm.lifetime.start.p0(i64 4, ptr %92) #7
  %1202 = load i32, ptr %88, align 4, !tbaa !20
  %1203 = load i32, ptr %89, align 4, !tbaa !20
  %1204 = icmp sgt i32 %1202, %1203
  br i1 %1204, label %1205, label %1209

1205:                                             ; preds = %1201
  %1206 = load i32, ptr %88, align 4, !tbaa !20
  %1207 = load i32, ptr %89, align 4, !tbaa !20
  %1208 = sub nsw i32 %1206, %1207
  br label %1213

1209:                                             ; preds = %1201
  %1210 = load i32, ptr %89, align 4, !tbaa !20
  %1211 = load i32, ptr %88, align 4, !tbaa !20
  %1212 = sub nsw i32 %1210, %1211
  br label %1213

1213:                                             ; preds = %1209, %1205
  %1214 = phi i32 [ %1208, %1205 ], [ %1212, %1209 ]
  store i32 %1214, ptr %92, align 4, !tbaa !5
  %1215 = load i32, ptr %92, align 4, !tbaa !5
  %1216 = call noundef i32 @_ZNSt14numeric_limitsIiE7epsilonEv() #7
  %1217 = icmp sgt i32 %1215, %1216
  br i1 %1217, label %1218, label %1233

1218:                                             ; preds = %1213
  %1219 = load i32, ptr %88, align 4, !tbaa !20
  %1220 = uitofp i32 %1219 to double
  %1221 = load i32, ptr %89, align 4, !tbaa !20
  %1222 = uitofp i32 %1221 to double
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.29, ptr noundef @.str.2, i32 noundef 105, double noundef %1220, double noundef %1222)
          to label %1223 unwind label %1229

1223:                                             ; preds = %1218
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %1233

1224:                                             ; preds = %1184, %1163
  call void @llvm.lifetime.end.p0(i64 1, ptr %86) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %85) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #7
  br label %1335

1225:                                             ; preds = %1193
  %1226 = landingpad { ptr, i32 }
          cleanup
  %1227 = extractvalue { ptr, i32 } %1226, 0
  store ptr %1227, ptr %55, align 8
  %1228 = extractvalue { ptr, i32 } %1226, 1
  store i32 %1228, ptr %56, align 4
  br label %1290

1229:                                             ; preds = %1218
  %1230 = landingpad { ptr, i32 }
          cleanup
  %1231 = extractvalue { ptr, i32 } %1230, 0
  store ptr %1231, ptr %55, align 8
  %1232 = extractvalue { ptr, i32 } %1230, 1
  store i32 %1232, ptr %56, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %92) #7
  br label %1289

1233:                                             ; preds = %1223, %1213
  call void @llvm.lifetime.end.p0(i64 4, ptr %92) #7
  br label %1256

1234:                                             ; preds = %1198, %1195
  %1235 = load i32, ptr %88, align 4, !tbaa !20
  %1236 = load i32, ptr %89, align 4, !tbaa !20
  %1237 = icmp ne i32 %1235, %1236
  br i1 %1237, label %1238, label %1255

1238:                                             ; preds = %1234
  %1239 = load i32, ptr %88, align 4, !tbaa !20
  %1240 = load i32, ptr %89, align 4, !tbaa !20
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.30, ptr noundef @.str.2, i32 noundef 105, i32 noundef %1239, i32 noundef %1240)
          to label %1241 unwind label %1250

1241:                                             ; preds = %1238
  %1242 = load i8, ptr %90, align 1, !tbaa !11, !range !13, !noundef !14
  %1243 = trunc i8 %1242 to i1
  br i1 %1243, label %1247, label %1244

1244:                                             ; preds = %1241
  %1245 = load i8, ptr %91, align 1, !tbaa !11, !range !13, !noundef !14
  %1246 = trunc i8 %1245 to i1
  br i1 %1246, label %1247, label %1254

1247:                                             ; preds = %1244, %1241
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
          to label %1248 unwind label %1250

1248:                                             ; preds = %1247
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
          to label %1249 unwind label %1250

1249:                                             ; preds = %1248
  br label %1254

1250:                                             ; preds = %1248, %1247, %1238
  %1251 = landingpad { ptr, i32 }
          cleanup
  %1252 = extractvalue { ptr, i32 } %1251, 0
  store ptr %1252, ptr %55, align 8
  %1253 = extractvalue { ptr, i32 } %1251, 1
  store i32 %1253, ptr %56, align 4
  br label %1289

1254:                                             ; preds = %1249, %1244
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %1255

1255:                                             ; preds = %1254, %1234
  br label %1256

1256:                                             ; preds = %1255, %1233
  call void @llvm.lifetime.end.p0(i64 1, ptr %91) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %90) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %89) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %88) #7
  br label %1257

1257:                                             ; preds = %1256
  br label %1258

1258:                                             ; preds = %1257
  br label %1259

1259:                                             ; preds = %1258
  call void @llvm.lifetime.start.p0(i64 4, ptr %93) #7
  store i32 0, ptr %93, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %94) #7
  %1260 = load i32, ptr %77, align 4, !tbaa !5
  store i32 %1260, ptr %94, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %95) #7
  store i8 0, ptr %95, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %96) #7
  store i8 0, ptr %96, align 1, !tbaa !11
  %1261 = load i8, ptr %95, align 1, !tbaa !11, !range !13, !noundef !14
  %1262 = trunc i8 %1261 to i1
  br i1 %1262, label %1263, label %1296

1263:                                             ; preds = %1259
  %1264 = load i8, ptr %96, align 1, !tbaa !11, !range !13, !noundef !14
  %1265 = trunc i8 %1264 to i1
  br i1 %1265, label %1266, label %1296

1266:                                             ; preds = %1263
  call void @llvm.lifetime.start.p0(i64 4, ptr %97) #7
  %1267 = load i32, ptr %93, align 4, !tbaa !5
  %1268 = load i32, ptr %94, align 4, !tbaa !5
  %1269 = icmp sgt i32 %1267, %1268
  br i1 %1269, label %1270, label %1274

1270:                                             ; preds = %1266
  %1271 = load i32, ptr %93, align 4, !tbaa !5
  %1272 = load i32, ptr %94, align 4, !tbaa !5
  %1273 = sub nsw i32 %1271, %1272
  br label %1278

1274:                                             ; preds = %1266
  %1275 = load i32, ptr %94, align 4, !tbaa !5
  %1276 = load i32, ptr %93, align 4, !tbaa !5
  %1277 = sub nsw i32 %1275, %1276
  br label %1278

1278:                                             ; preds = %1274, %1270
  %1279 = phi i32 [ %1273, %1270 ], [ %1277, %1274 ]
  store i32 %1279, ptr %97, align 4, !tbaa !5
  %1280 = load i32, ptr %97, align 4, !tbaa !5
  %1281 = call noundef i32 @_ZNSt14numeric_limitsIiE7epsilonEv() #7
  %1282 = icmp sgt i32 %1280, %1281
  br i1 %1282, label %1283, label %1295

1283:                                             ; preds = %1278
  %1284 = load i32, ptr %93, align 4, !tbaa !5
  %1285 = sitofp i32 %1284 to double
  %1286 = load i32, ptr %94, align 4, !tbaa !5
  %1287 = sitofp i32 %1286 to double
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.27, ptr noundef @.str.2, i32 noundef 106, double noundef %1285, double noundef %1287)
          to label %1288 unwind label %1291

1288:                                             ; preds = %1283
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %1295

1289:                                             ; preds = %1250, %1229
  call void @llvm.lifetime.end.p0(i64 1, ptr %91) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %90) #7
  br label %1290

1290:                                             ; preds = %1289, %1225
  call void @llvm.lifetime.end.p0(i64 4, ptr %89) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %88) #7
  br label %1335

1291:                                             ; preds = %1283
  %1292 = landingpad { ptr, i32 }
          cleanup
  %1293 = extractvalue { ptr, i32 } %1292, 0
  store ptr %1293, ptr %55, align 8
  %1294 = extractvalue { ptr, i32 } %1292, 1
  store i32 %1294, ptr %56, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %97) #7
  br label %1334

1295:                                             ; preds = %1288, %1278
  call void @llvm.lifetime.end.p0(i64 4, ptr %97) #7
  br label %1318

1296:                                             ; preds = %1263, %1259
  %1297 = load i32, ptr %93, align 4, !tbaa !5
  %1298 = load i32, ptr %94, align 4, !tbaa !5
  %1299 = icmp ne i32 %1297, %1298
  br i1 %1299, label %1300, label %1317

1300:                                             ; preds = %1296
  %1301 = load i32, ptr %93, align 4, !tbaa !5
  %1302 = load i32, ptr %94, align 4, !tbaa !5
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.28, ptr noundef @.str.2, i32 noundef 106, i32 noundef %1301, i32 noundef %1302)
          to label %1303 unwind label %1312

1303:                                             ; preds = %1300
  %1304 = load i8, ptr %95, align 1, !tbaa !11, !range !13, !noundef !14
  %1305 = trunc i8 %1304 to i1
  br i1 %1305, label %1309, label %1306

1306:                                             ; preds = %1303
  %1307 = load i8, ptr %96, align 1, !tbaa !11, !range !13, !noundef !14
  %1308 = trunc i8 %1307 to i1
  br i1 %1308, label %1309, label %1316

1309:                                             ; preds = %1306, %1303
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
          to label %1310 unwind label %1312

1310:                                             ; preds = %1309
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
          to label %1311 unwind label %1312

1311:                                             ; preds = %1310
  br label %1316

1312:                                             ; preds = %1310, %1309, %1300
  %1313 = landingpad { ptr, i32 }
          cleanup
  %1314 = extractvalue { ptr, i32 } %1313, 0
  store ptr %1314, ptr %55, align 8
  %1315 = extractvalue { ptr, i32 } %1313, 1
  store i32 %1315, ptr %56, align 4
  br label %1334

1316:                                             ; preds = %1311, %1306
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %1317

1317:                                             ; preds = %1316, %1296
  br label %1318

1318:                                             ; preds = %1317, %1295
  call void @llvm.lifetime.end.p0(i64 1, ptr %96) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %95) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %94) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %93) #7
  br label %1319

1319:                                             ; preds = %1318
  br label %1320

1320:                                             ; preds = %1319
  call void @llvm.lifetime.end.p0(i64 4, ptr %77) #7
  call void @_ZN6tflite19GreedyMemoryPlannerD1Ev(ptr noundef nonnull align 8 dereferenceable(65) %54) #7
  call void @llvm.lifetime.end.p0(i64 72, ptr %54) #7
  br label %1321

1321:                                             ; preds = %1320
  store i8 1, ptr @_ZN10micro_test16is_test_completeE, align 1, !tbaa !11
  %1322 = load i8, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11, !range !13, !noundef !14
  %1323 = trunc i8 %1322 to i1
  %1324 = zext i1 %1323 to i64
  %1325 = select i1 %1323, i32 0, i32 1
  %1326 = load i32, ptr @_ZN10micro_test12tests_passedE, align 4, !tbaa !5
  %1327 = add nsw i32 %1326, %1325
  store i32 %1327, ptr @_ZN10micro_test12tests_passedE, align 4, !tbaa !5
  %1328 = load i8, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11, !range !13, !noundef !14
  %1329 = trunc i8 %1328 to i1
  %1330 = zext i1 %1329 to i64
  %1331 = select i1 %1329, i32 1, i32 0
  %1332 = load i32, ptr @_ZN10micro_test12tests_failedE, align 4, !tbaa !5
  %1333 = add nsw i32 %1332, %1331
  store i32 %1333, ptr @_ZN10micro_test12tests_failedE, align 4, !tbaa !5
  br label %762, !llvm.loop !24

1334:                                             ; preds = %1312, %1291
  call void @llvm.lifetime.end.p0(i64 1, ptr %96) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %95) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %94) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %93) #7
  br label %1335

1335:                                             ; preds = %1334, %1290, %1224, %1162
  call void @llvm.lifetime.end.p0(i64 4, ptr %77) #7
  br label %1336

1336:                                             ; preds = %1335, %1096, %1027, %952, %870, %800
  call void @_ZN6tflite19GreedyMemoryPlannerD1Ev(ptr noundef nonnull align 8 dereferenceable(65) %54) #7
  call void @llvm.lifetime.end.p0(i64 72, ptr %54) #7
  br label %5198

1337:                                             ; preds = %762
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.31)
  store i8 0, ptr @_ZN10micro_test16is_test_completeE, align 1, !tbaa !11
  store i8 0, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %1338

1338:                                             ; preds = %2486, %1337
  %1339 = load i8, ptr @_ZN10micro_test16is_test_completeE, align 1, !tbaa !11, !range !13, !noundef !14
  %1340 = trunc i8 %1339 to i1
  %1341 = xor i1 %1340, true
  br i1 %1341, label %1342, label %2503

1342:                                             ; preds = %1338
  call void @llvm.lifetime.start.p0(i64 72, ptr %98) #7
  call void @_ZN6tflite19GreedyMemoryPlannerC1Ev(ptr noundef nonnull align 8 dereferenceable(65) %98)
  %1343 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner4InitEPhi(ptr noundef nonnull align 8 dereferenceable(65) %98, ptr noundef @_ZN12_GLOBAL__N_116g_scratch_bufferE, i32 noundef 4096)
          to label %1344 unwind label %1376

1344:                                             ; preds = %1342
  br label %1345

1345:                                             ; preds = %1344
  call void @llvm.lifetime.start.p0(i64 4, ptr %99) #7
  store i32 0, ptr %99, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 4, ptr %100) #7
  %1346 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %98, i32 noundef 10, i32 noundef 0, i32 noundef 1)
          to label %1347 unwind label %1380

1347:                                             ; preds = %1345
  store i32 %1346, ptr %100, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 1, ptr %101) #7
  store i8 0, ptr %101, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %102) #7
  store i8 0, ptr %102, align 1, !tbaa !11
  %1348 = load i8, ptr %101, align 1, !tbaa !11, !range !13, !noundef !14
  %1349 = trunc i8 %1348 to i1
  br i1 %1349, label %1350, label %1389

1350:                                             ; preds = %1347
  %1351 = load i8, ptr %102, align 1, !tbaa !11, !range !13, !noundef !14
  %1352 = trunc i8 %1351 to i1
  br i1 %1352, label %1353, label %1389

1353:                                             ; preds = %1350
  call void @llvm.lifetime.start.p0(i64 4, ptr %103) #7
  %1354 = load i32, ptr %99, align 4, !tbaa !20
  %1355 = load i32, ptr %100, align 4, !tbaa !20
  %1356 = icmp sgt i32 %1354, %1355
  br i1 %1356, label %1357, label %1361

1357:                                             ; preds = %1353
  %1358 = load i32, ptr %99, align 4, !tbaa !20
  %1359 = load i32, ptr %100, align 4, !tbaa !20
  %1360 = sub nsw i32 %1358, %1359
  br label %1365

1361:                                             ; preds = %1353
  %1362 = load i32, ptr %100, align 4, !tbaa !20
  %1363 = load i32, ptr %99, align 4, !tbaa !20
  %1364 = sub nsw i32 %1362, %1363
  br label %1365

1365:                                             ; preds = %1361, %1357
  %1366 = phi i32 [ %1360, %1357 ], [ %1364, %1361 ]
  store i32 %1366, ptr %103, align 4, !tbaa !5
  %1367 = load i32, ptr %103, align 4, !tbaa !5
  %1368 = call noundef i32 @_ZNSt14numeric_limitsIiE7epsilonEv() #7
  %1369 = icmp sgt i32 %1367, %1368
  br i1 %1369, label %1370, label %1388

1370:                                             ; preds = %1365
  %1371 = load i32, ptr %99, align 4, !tbaa !20
  %1372 = uitofp i32 %1371 to double
  %1373 = load i32, ptr %100, align 4, !tbaa !20
  %1374 = uitofp i32 %1373 to double
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.17, ptr noundef @.str.2, i32 noundef 112, double noundef %1372, double noundef %1374)
          to label %1375 unwind label %1384

1375:                                             ; preds = %1370
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %1388

1376:                                             ; preds = %1342
  %1377 = landingpad { ptr, i32 }
          cleanup
  %1378 = extractvalue { ptr, i32 } %1377, 0
  store ptr %1378, ptr %55, align 8
  %1379 = extractvalue { ptr, i32 } %1377, 1
  store i32 %1379, ptr %56, align 4
  br label %2502

1380:                                             ; preds = %1345
  %1381 = landingpad { ptr, i32 }
          cleanup
  %1382 = extractvalue { ptr, i32 } %1381, 0
  store ptr %1382, ptr %55, align 8
  %1383 = extractvalue { ptr, i32 } %1381, 1
  store i32 %1383, ptr %56, align 4
  br label %1446

1384:                                             ; preds = %1370
  %1385 = landingpad { ptr, i32 }
          cleanup
  %1386 = extractvalue { ptr, i32 } %1385, 0
  store ptr %1386, ptr %55, align 8
  %1387 = extractvalue { ptr, i32 } %1385, 1
  store i32 %1387, ptr %56, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %103) #7
  br label %1445

1388:                                             ; preds = %1375, %1365
  call void @llvm.lifetime.end.p0(i64 4, ptr %103) #7
  br label %1411

1389:                                             ; preds = %1350, %1347
  %1390 = load i32, ptr %99, align 4, !tbaa !20
  %1391 = load i32, ptr %100, align 4, !tbaa !20
  %1392 = icmp ne i32 %1390, %1391
  br i1 %1392, label %1393, label %1410

1393:                                             ; preds = %1389
  %1394 = load i32, ptr %99, align 4, !tbaa !20
  %1395 = load i32, ptr %100, align 4, !tbaa !20
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.18, ptr noundef @.str.2, i32 noundef 112, i32 noundef %1394, i32 noundef %1395)
          to label %1396 unwind label %1405

1396:                                             ; preds = %1393
  %1397 = load i8, ptr %101, align 1, !tbaa !11, !range !13, !noundef !14
  %1398 = trunc i8 %1397 to i1
  br i1 %1398, label %1402, label %1399

1399:                                             ; preds = %1396
  %1400 = load i8, ptr %102, align 1, !tbaa !11, !range !13, !noundef !14
  %1401 = trunc i8 %1400 to i1
  br i1 %1401, label %1402, label %1409

1402:                                             ; preds = %1399, %1396
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
          to label %1403 unwind label %1405

1403:                                             ; preds = %1402
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
          to label %1404 unwind label %1405

1404:                                             ; preds = %1403
  br label %1409

1405:                                             ; preds = %1403, %1402, %1393
  %1406 = landingpad { ptr, i32 }
          cleanup
  %1407 = extractvalue { ptr, i32 } %1406, 0
  store ptr %1407, ptr %55, align 8
  %1408 = extractvalue { ptr, i32 } %1406, 1
  store i32 %1408, ptr %56, align 4
  br label %1445

1409:                                             ; preds = %1404, %1399
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %1410

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

1411:                                             ; preds = %1410, %1388
  call void @llvm.lifetime.end.p0(i64 1, ptr %102) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %101) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %100) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %99) #7
  br label %1412

1412:                                             ; preds = %1411
  br label %1413

1413:                                             ; preds = %1412
  br label %1414

1414:                                             ; preds = %1413
  call void @llvm.lifetime.start.p0(i64 4, ptr %104) #7
  store i32 0, ptr %104, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 4, ptr %105) #7
  %1415 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %98, i32 noundef 20, i32 noundef 1, i32 noundef 2)
          to label %1416 unwind label %1447

1416:                                             ; preds = %1414
  store i32 %1415, ptr %105, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 1, ptr %106) #7
  store i8 0, ptr %106, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %107) #7
  store i8 0, ptr %107, align 1, !tbaa !11
  %1417 = load i8, ptr %106, align 1, !tbaa !11, !range !13, !noundef !14
  %1418 = trunc i8 %1417 to i1
  br i1 %1418, label %1419, label %1456

1419:                                             ; preds = %1416
  %1420 = load i8, ptr %107, align 1, !tbaa !11, !range !13, !noundef !14
  %1421 = trunc i8 %1420 to i1
  br i1 %1421, label %1422, label %1456

1422:                                             ; preds = %1419
  call void @llvm.lifetime.start.p0(i64 4, ptr %108) #7
  %1423 = load i32, ptr %104, align 4, !tbaa !20
  %1424 = load i32, ptr %105, align 4, !tbaa !20
  %1425 = icmp sgt i32 %1423, %1424
  br i1 %1425, label %1426, label %1430

1426:                                             ; preds = %1422
  %1427 = load i32, ptr %104, align 4, !tbaa !20
  %1428 = load i32, ptr %105, align 4, !tbaa !20
  %1429 = sub nsw i32 %1427, %1428
  br label %1434

1430:                                             ; preds = %1422
  %1431 = load i32, ptr %105, align 4, !tbaa !20
  %1432 = load i32, ptr %104, align 4, !tbaa !20
  %1433 = sub nsw i32 %1431, %1432
  br label %1434

1434:                                             ; preds = %1430, %1426
  %1435 = phi i32 [ %1429, %1426 ], [ %1433, %1430 ]
  store i32 %1435, ptr %108, align 4, !tbaa !5
  %1436 = load i32, ptr %108, align 4, !tbaa !5
  %1437 = call noundef i32 @_ZNSt14numeric_limitsIiE7epsilonEv() #7
  %1438 = icmp sgt i32 %1436, %1437
  br i1 %1438, label %1439, label %1455

1439:                                             ; preds = %1434
  %1440 = load i32, ptr %104, align 4, !tbaa !20
  %1441 = uitofp i32 %1440 to double
  %1442 = load i32, ptr %105, align 4, !tbaa !20
  %1443 = uitofp i32 %1442 to double
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.32, ptr noundef @.str.2, i32 noundef 113, double noundef %1441, double noundef %1443)
          to label %1444 unwind label %1451

1444:                                             ; preds = %1439
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %1455

1445:                                             ; preds = %1405, %1384
  call void @llvm.lifetime.end.p0(i64 1, ptr %102) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %101) #7
  br label %1446

1446:                                             ; preds = %1445, %1380
  call void @llvm.lifetime.end.p0(i64 4, ptr %100) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %99) #7
  br label %2502

1447:                                             ; preds = %1414
  %1448 = landingpad { ptr, i32 }
          cleanup
  %1449 = extractvalue { ptr, i32 } %1448, 0
  store ptr %1449, ptr %55, align 8
  %1450 = extractvalue { ptr, i32 } %1448, 1
  store i32 %1450, ptr %56, align 4
  br label %1513

1451:                                             ; preds = %1439
  %1452 = landingpad { ptr, i32 }
          cleanup
  %1453 = extractvalue { ptr, i32 } %1452, 0
  store ptr %1453, ptr %55, align 8
  %1454 = extractvalue { ptr, i32 } %1452, 1
  store i32 %1454, ptr %56, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %108) #7
  br label %1512

1455:                                             ; preds = %1444, %1434
  call void @llvm.lifetime.end.p0(i64 4, ptr %108) #7
  br label %1478

1456:                                             ; preds = %1419, %1416
  %1457 = load i32, ptr %104, align 4, !tbaa !20
  %1458 = load i32, ptr %105, align 4, !tbaa !20
  %1459 = icmp ne i32 %1457, %1458
  br i1 %1459, label %1460, label %1477

1460:                                             ; preds = %1456
  %1461 = load i32, ptr %104, align 4, !tbaa !20
  %1462 = load i32, ptr %105, align 4, !tbaa !20
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.33, ptr noundef @.str.2, i32 noundef 113, i32 noundef %1461, i32 noundef %1462)
          to label %1463 unwind label %1472

1463:                                             ; preds = %1460
  %1464 = load i8, ptr %106, align 1, !tbaa !11, !range !13, !noundef !14
  %1465 = trunc i8 %1464 to i1
  br i1 %1465, label %1469, label %1466

1466:                                             ; preds = %1463
  %1467 = load i8, ptr %107, align 1, !tbaa !11, !range !13, !noundef !14
  %1468 = trunc i8 %1467 to i1
  br i1 %1468, label %1469, label %1476

1469:                                             ; preds = %1466, %1463
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
          to label %1470 unwind label %1472

1470:                                             ; preds = %1469
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
          to label %1471 unwind label %1472

1471:                                             ; preds = %1470
  br label %1476

1472:                                             ; preds = %1470, %1469, %1460
  %1473 = landingpad { ptr, i32 }
          cleanup
  %1474 = extractvalue { ptr, i32 } %1473, 0
  store ptr %1474, ptr %55, align 8
  %1475 = extractvalue { ptr, i32 } %1473, 1
  store i32 %1475, ptr %56, align 4
  br label %1512

1476:                                             ; preds = %1471, %1466
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %1477

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

1478:                                             ; preds = %1477, %1455
  call void @llvm.lifetime.end.p0(i64 1, ptr %107) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %106) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %105) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %104) #7
  br label %1479

1479:                                             ; preds = %1478
  br label %1480

1480:                                             ; preds = %1479
  br label %1481

1481:                                             ; preds = %1480
  call void @llvm.lifetime.start.p0(i64 4, ptr %109) #7
  store i32 0, ptr %109, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 4, ptr %110) #7
  %1482 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %98, i32 noundef 30, i32 noundef 2, i32 noundef 3)
          to label %1483 unwind label %1514

1483:                                             ; preds = %1481
  store i32 %1482, ptr %110, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 1, ptr %111) #7
  store i8 0, ptr %111, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %112) #7
  store i8 0, ptr %112, align 1, !tbaa !11
  %1484 = load i8, ptr %111, align 1, !tbaa !11, !range !13, !noundef !14
  %1485 = trunc i8 %1484 to i1
  br i1 %1485, label %1486, label %1523

1486:                                             ; preds = %1483
  %1487 = load i8, ptr %112, align 1, !tbaa !11, !range !13, !noundef !14
  %1488 = trunc i8 %1487 to i1
  br i1 %1488, label %1489, label %1523

1489:                                             ; preds = %1486
  call void @llvm.lifetime.start.p0(i64 4, ptr %113) #7
  %1490 = load i32, ptr %109, align 4, !tbaa !20
  %1491 = load i32, ptr %110, align 4, !tbaa !20
  %1492 = icmp sgt i32 %1490, %1491
  br i1 %1492, label %1493, label %1497

1493:                                             ; preds = %1489
  %1494 = load i32, ptr %109, align 4, !tbaa !20
  %1495 = load i32, ptr %110, align 4, !tbaa !20
  %1496 = sub nsw i32 %1494, %1495
  br label %1501

1497:                                             ; preds = %1489
  %1498 = load i32, ptr %110, align 4, !tbaa !20
  %1499 = load i32, ptr %109, align 4, !tbaa !20
  %1500 = sub nsw i32 %1498, %1499
  br label %1501

1501:                                             ; preds = %1497, %1493
  %1502 = phi i32 [ %1496, %1493 ], [ %1500, %1497 ]
  store i32 %1502, ptr %113, align 4, !tbaa !5
  %1503 = load i32, ptr %113, align 4, !tbaa !5
  %1504 = call noundef i32 @_ZNSt14numeric_limitsIiE7epsilonEv() #7
  %1505 = icmp sgt i32 %1503, %1504
  br i1 %1505, label %1506, label %1522

1506:                                             ; preds = %1501
  %1507 = load i32, ptr %109, align 4, !tbaa !20
  %1508 = uitofp i32 %1507 to double
  %1509 = load i32, ptr %110, align 4, !tbaa !20
  %1510 = uitofp i32 %1509 to double
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.34, ptr noundef @.str.2, i32 noundef 114, double noundef %1508, double noundef %1510)
          to label %1511 unwind label %1518

1511:                                             ; preds = %1506
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %1522

1512:                                             ; preds = %1472, %1451
  call void @llvm.lifetime.end.p0(i64 1, ptr %107) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %106) #7
  br label %1513

1513:                                             ; preds = %1512, %1447
  call void @llvm.lifetime.end.p0(i64 4, ptr %105) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %104) #7
  br label %2502

1514:                                             ; preds = %1481
  %1515 = landingpad { ptr, i32 }
          cleanup
  %1516 = extractvalue { ptr, i32 } %1515, 0
  store ptr %1516, ptr %55, align 8
  %1517 = extractvalue { ptr, i32 } %1515, 1
  store i32 %1517, ptr %56, align 4
  br label %1580

1518:                                             ; preds = %1506
  %1519 = landingpad { ptr, i32 }
          cleanup
  %1520 = extractvalue { ptr, i32 } %1519, 0
  store ptr %1520, ptr %55, align 8
  %1521 = extractvalue { ptr, i32 } %1519, 1
  store i32 %1521, ptr %56, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %113) #7
  br label %1579

1522:                                             ; preds = %1511, %1501
  call void @llvm.lifetime.end.p0(i64 4, ptr %113) #7
  br label %1545

1523:                                             ; preds = %1486, %1483
  %1524 = load i32, ptr %109, align 4, !tbaa !20
  %1525 = load i32, ptr %110, align 4, !tbaa !20
  %1526 = icmp ne i32 %1524, %1525
  br i1 %1526, label %1527, label %1544

1527:                                             ; preds = %1523
  %1528 = load i32, ptr %109, align 4, !tbaa !20
  %1529 = load i32, ptr %110, align 4, !tbaa !20
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.35, ptr noundef @.str.2, i32 noundef 114, i32 noundef %1528, i32 noundef %1529)
          to label %1530 unwind label %1539

1530:                                             ; preds = %1527
  %1531 = load i8, ptr %111, align 1, !tbaa !11, !range !13, !noundef !14
  %1532 = trunc i8 %1531 to i1
  br i1 %1532, label %1536, label %1533

1533:                                             ; preds = %1530
  %1534 = load i8, ptr %112, align 1, !tbaa !11, !range !13, !noundef !14
  %1535 = trunc i8 %1534 to i1
  br i1 %1535, label %1536, label %1543

1536:                                             ; preds = %1533, %1530
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
          to label %1537 unwind label %1539

1537:                                             ; preds = %1536
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
          to label %1538 unwind label %1539

1538:                                             ; preds = %1537
  br label %1543

1539:                                             ; preds = %1537, %1536, %1527
  %1540 = landingpad { ptr, i32 }
          cleanup
  %1541 = extractvalue { ptr, i32 } %1540, 0
  store ptr %1541, ptr %55, align 8
  %1542 = extractvalue { ptr, i32 } %1540, 1
  store i32 %1542, ptr %56, align 4
  br label %1579

1543:                                             ; preds = %1538, %1533
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %1544

1544:                                             ; preds = %1543, %1523
  br label %1545

1545:                                             ; preds = %1544, %1522
  call void @llvm.lifetime.end.p0(i64 1, ptr %112) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %111) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %110) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %109) #7
  br label %1546

1546:                                             ; preds = %1545
  br label %1547

1547:                                             ; preds = %1546
  br label %1548

1548:                                             ; preds = %1547
  call void @llvm.lifetime.start.p0(i64 4, ptr %114) #7
  store i32 0, ptr %114, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 4, ptr %115) #7
  %1549 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %98, i32 noundef 40, i32 noundef 3, i32 noundef 4)
          to label %1550 unwind label %1581

1550:                                             ; preds = %1548
  store i32 %1549, ptr %115, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 1, ptr %116) #7
  store i8 0, ptr %116, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %117) #7
  store i8 0, ptr %117, align 1, !tbaa !11
  %1551 = load i8, ptr %116, align 1, !tbaa !11, !range !13, !noundef !14
  %1552 = trunc i8 %1551 to i1
  br i1 %1552, label %1553, label %1590

1553:                                             ; preds = %1550
  %1554 = load i8, ptr %117, align 1, !tbaa !11, !range !13, !noundef !14
  %1555 = trunc i8 %1554 to i1
  br i1 %1555, label %1556, label %1590

1556:                                             ; preds = %1553
  call void @llvm.lifetime.start.p0(i64 4, ptr %118) #7
  %1557 = load i32, ptr %114, align 4, !tbaa !20
  %1558 = load i32, ptr %115, align 4, !tbaa !20
  %1559 = icmp sgt i32 %1557, %1558
  br i1 %1559, label %1560, label %1564

1560:                                             ; preds = %1556
  %1561 = load i32, ptr %114, align 4, !tbaa !20
  %1562 = load i32, ptr %115, align 4, !tbaa !20
  %1563 = sub nsw i32 %1561, %1562
  br label %1568

1564:                                             ; preds = %1556
  %1565 = load i32, ptr %115, align 4, !tbaa !20
  %1566 = load i32, ptr %114, align 4, !tbaa !20
  %1567 = sub nsw i32 %1565, %1566
  br label %1568

1568:                                             ; preds = %1564, %1560
  %1569 = phi i32 [ %1563, %1560 ], [ %1567, %1564 ]
  store i32 %1569, ptr %118, align 4, !tbaa !5
  %1570 = load i32, ptr %118, align 4, !tbaa !5
  %1571 = call noundef i32 @_ZNSt14numeric_limitsIiE7epsilonEv() #7
  %1572 = icmp sgt i32 %1570, %1571
  br i1 %1572, label %1573, label %1589

1573:                                             ; preds = %1568
  %1574 = load i32, ptr %114, align 4, !tbaa !20
  %1575 = uitofp i32 %1574 to double
  %1576 = load i32, ptr %115, align 4, !tbaa !20
  %1577 = uitofp i32 %1576 to double
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.36, ptr noundef @.str.2, i32 noundef 115, double noundef %1575, double noundef %1577)
          to label %1578 unwind label %1585

1578:                                             ; preds = %1573
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %1589

1579:                                             ; preds = %1539, %1518
  call void @llvm.lifetime.end.p0(i64 1, ptr %112) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %111) #7
  br label %1580

1580:                                             ; preds = %1579, %1514
  call void @llvm.lifetime.end.p0(i64 4, ptr %110) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %109) #7
  br label %2502

1581:                                             ; preds = %1548
  %1582 = landingpad { ptr, i32 }
          cleanup
  %1583 = extractvalue { ptr, i32 } %1582, 0
  store ptr %1583, ptr %55, align 8
  %1584 = extractvalue { ptr, i32 } %1582, 1
  store i32 %1584, ptr %56, align 4
  br label %1647

1585:                                             ; preds = %1573
  %1586 = landingpad { ptr, i32 }
          cleanup
  %1587 = extractvalue { ptr, i32 } %1586, 0
  store ptr %1587, ptr %55, align 8
  %1588 = extractvalue { ptr, i32 } %1586, 1
  store i32 %1588, ptr %56, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %118) #7
  br label %1646

1589:                                             ; preds = %1578, %1568
  call void @llvm.lifetime.end.p0(i64 4, ptr %118) #7
  br label %1612

1590:                                             ; preds = %1553, %1550
  %1591 = load i32, ptr %114, align 4, !tbaa !20
  %1592 = load i32, ptr %115, align 4, !tbaa !20
  %1593 = icmp ne i32 %1591, %1592
  br i1 %1593, label %1594, label %1611

1594:                                             ; preds = %1590
  %1595 = load i32, ptr %114, align 4, !tbaa !20
  %1596 = load i32, ptr %115, align 4, !tbaa !20
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.37, ptr noundef @.str.2, i32 noundef 115, i32 noundef %1595, i32 noundef %1596)
          to label %1597 unwind label %1606

1597:                                             ; preds = %1594
  %1598 = load i8, ptr %116, align 1, !tbaa !11, !range !13, !noundef !14
  %1599 = trunc i8 %1598 to i1
  br i1 %1599, label %1603, label %1600

1600:                                             ; preds = %1597
  %1601 = load i8, ptr %117, align 1, !tbaa !11, !range !13, !noundef !14
  %1602 = trunc i8 %1601 to i1
  br i1 %1602, label %1603, label %1610

1603:                                             ; preds = %1600, %1597
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
          to label %1604 unwind label %1606

1604:                                             ; preds = %1603
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
          to label %1605 unwind label %1606

1605:                                             ; preds = %1604
  br label %1610

1606:                                             ; preds = %1604, %1603, %1594
  %1607 = landingpad { ptr, i32 }
          cleanup
  %1608 = extractvalue { ptr, i32 } %1607, 0
  store ptr %1608, ptr %55, align 8
  %1609 = extractvalue { ptr, i32 } %1607, 1
  store i32 %1609, ptr %56, align 4
  br label %1646

1610:                                             ; preds = %1605, %1600
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %1611

1611:                                             ; preds = %1610, %1590
  br label %1612

1612:                                             ; preds = %1611, %1589
  call void @llvm.lifetime.end.p0(i64 1, ptr %117) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %116) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %115) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %114) #7
  br label %1613

1613:                                             ; preds = %1612
  br label %1614

1614:                                             ; preds = %1613
  br label %1615

1615:                                             ; preds = %1614
  call void @llvm.lifetime.start.p0(i64 4, ptr %119) #7
  store i32 0, ptr %119, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 4, ptr %120) #7
  %1616 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %98, i32 noundef 50, i32 noundef 0, i32 noundef 1)
          to label %1617 unwind label %1648

1617:                                             ; preds = %1615
  store i32 %1616, ptr %120, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 1, ptr %121) #7
  store i8 0, ptr %121, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %122) #7
  store i8 0, ptr %122, align 1, !tbaa !11
  %1618 = load i8, ptr %121, align 1, !tbaa !11, !range !13, !noundef !14
  %1619 = trunc i8 %1618 to i1
  br i1 %1619, label %1620, label %1657

1620:                                             ; preds = %1617
  %1621 = load i8, ptr %122, align 1, !tbaa !11, !range !13, !noundef !14
  %1622 = trunc i8 %1621 to i1
  br i1 %1622, label %1623, label %1657

1623:                                             ; preds = %1620
  call void @llvm.lifetime.start.p0(i64 4, ptr %123) #7
  %1624 = load i32, ptr %119, align 4, !tbaa !20
  %1625 = load i32, ptr %120, align 4, !tbaa !20
  %1626 = icmp sgt i32 %1624, %1625
  br i1 %1626, label %1627, label %1631

1627:                                             ; preds = %1623
  %1628 = load i32, ptr %119, align 4, !tbaa !20
  %1629 = load i32, ptr %120, align 4, !tbaa !20
  %1630 = sub nsw i32 %1628, %1629
  br label %1635

1631:                                             ; preds = %1623
  %1632 = load i32, ptr %120, align 4, !tbaa !20
  %1633 = load i32, ptr %119, align 4, !tbaa !20
  %1634 = sub nsw i32 %1632, %1633
  br label %1635

1635:                                             ; preds = %1631, %1627
  %1636 = phi i32 [ %1630, %1627 ], [ %1634, %1631 ]
  store i32 %1636, ptr %123, align 4, !tbaa !5
  %1637 = load i32, ptr %123, align 4, !tbaa !5
  %1638 = call noundef i32 @_ZNSt14numeric_limitsIiE7epsilonEv() #7
  %1639 = icmp sgt i32 %1637, %1638
  br i1 %1639, label %1640, label %1656

1640:                                             ; preds = %1635
  %1641 = load i32, ptr %119, align 4, !tbaa !20
  %1642 = uitofp i32 %1641 to double
  %1643 = load i32, ptr %120, align 4, !tbaa !20
  %1644 = uitofp i32 %1643 to double
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.38, ptr noundef @.str.2, i32 noundef 116, double noundef %1642, double noundef %1644)
          to label %1645 unwind label %1652

1645:                                             ; preds = %1640
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %1656

1646:                                             ; preds = %1606, %1585
  call void @llvm.lifetime.end.p0(i64 1, ptr %117) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %116) #7
  br label %1647

1647:                                             ; preds = %1646, %1581
  call void @llvm.lifetime.end.p0(i64 4, ptr %115) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %114) #7
  br label %2502

1648:                                             ; preds = %1615
  %1649 = landingpad { ptr, i32 }
          cleanup
  %1650 = extractvalue { ptr, i32 } %1649, 0
  store ptr %1650, ptr %55, align 8
  %1651 = extractvalue { ptr, i32 } %1649, 1
  store i32 %1651, ptr %56, align 4
  br label %1714

1652:                                             ; preds = %1640
  %1653 = landingpad { ptr, i32 }
          cleanup
  %1654 = extractvalue { ptr, i32 } %1653, 0
  store ptr %1654, ptr %55, align 8
  %1655 = extractvalue { ptr, i32 } %1653, 1
  store i32 %1655, ptr %56, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %123) #7
  br label %1713

1656:                                             ; preds = %1645, %1635
  call void @llvm.lifetime.end.p0(i64 4, ptr %123) #7
  br label %1679

1657:                                             ; preds = %1620, %1617
  %1658 = load i32, ptr %119, align 4, !tbaa !20
  %1659 = load i32, ptr %120, align 4, !tbaa !20
  %1660 = icmp ne i32 %1658, %1659
  br i1 %1660, label %1661, label %1678

1661:                                             ; preds = %1657
  %1662 = load i32, ptr %119, align 4, !tbaa !20
  %1663 = load i32, ptr %120, align 4, !tbaa !20
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.39, ptr noundef @.str.2, i32 noundef 116, i32 noundef %1662, i32 noundef %1663)
          to label %1664 unwind label %1673

1664:                                             ; preds = %1661
  %1665 = load i8, ptr %121, align 1, !tbaa !11, !range !13, !noundef !14
  %1666 = trunc i8 %1665 to i1
  br i1 %1666, label %1670, label %1667

1667:                                             ; preds = %1664
  %1668 = load i8, ptr %122, align 1, !tbaa !11, !range !13, !noundef !14
  %1669 = trunc i8 %1668 to i1
  br i1 %1669, label %1670, label %1677

1670:                                             ; preds = %1667, %1664
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
          to label %1671 unwind label %1673

1671:                                             ; preds = %1670
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
          to label %1672 unwind label %1673

1672:                                             ; preds = %1671
  br label %1677

1673:                                             ; preds = %1671, %1670, %1661
  %1674 = landingpad { ptr, i32 }
          cleanup
  %1675 = extractvalue { ptr, i32 } %1674, 0
  store ptr %1675, ptr %55, align 8
  %1676 = extractvalue { ptr, i32 } %1674, 1
  store i32 %1676, ptr %56, align 4
  br label %1713

1677:                                             ; preds = %1672, %1667
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %1678

1678:                                             ; preds = %1677, %1657
  br label %1679

1679:                                             ; preds = %1678, %1656
  call void @llvm.lifetime.end.p0(i64 1, ptr %122) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %121) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %120) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %119) #7
  br label %1680

1680:                                             ; preds = %1679
  br label %1681

1681:                                             ; preds = %1680
  call void @llvm.lifetime.start.p0(i64 4, ptr %124) #7
  store i32 -1, ptr %124, align 4, !tbaa !5
  br label %1682

1682:                                             ; preds = %1681
  call void @llvm.lifetime.start.p0(i64 4, ptr %125) #7
  store i32 0, ptr %125, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 4, ptr %126) #7
  %1683 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner18GetOffsetForBufferEiPi(ptr noundef nonnull align 8 dereferenceable(65) %98, i32 noundef 0, ptr noundef %124)
          to label %1684 unwind label %1715

1684:                                             ; preds = %1682
  store i32 %1683, ptr %126, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 1, ptr %127) #7
  store i8 0, ptr %127, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %128) #7
  store i8 0, ptr %128, align 1, !tbaa !11
  %1685 = load i8, ptr %127, align 1, !tbaa !11, !range !13, !noundef !14
  %1686 = trunc i8 %1685 to i1
  br i1 %1686, label %1687, label %1724

1687:                                             ; preds = %1684
  %1688 = load i8, ptr %128, align 1, !tbaa !11, !range !13, !noundef !14
  %1689 = trunc i8 %1688 to i1
  br i1 %1689, label %1690, label %1724

1690:                                             ; preds = %1687
  call void @llvm.lifetime.start.p0(i64 4, ptr %129) #7
  %1691 = load i32, ptr %125, align 4, !tbaa !20
  %1692 = load i32, ptr %126, align 4, !tbaa !20
  %1693 = icmp sgt i32 %1691, %1692
  br i1 %1693, label %1694, label %1698

1694:                                             ; preds = %1690
  %1695 = load i32, ptr %125, align 4, !tbaa !20
  %1696 = load i32, ptr %126, align 4, !tbaa !20
  %1697 = sub nsw i32 %1695, %1696
  br label %1702

1698:                                             ; preds = %1690
  %1699 = load i32, ptr %126, align 4, !tbaa !20
  %1700 = load i32, ptr %125, align 4, !tbaa !20
  %1701 = sub nsw i32 %1699, %1700
  br label %1702

1702:                                             ; preds = %1698, %1694
  %1703 = phi i32 [ %1697, %1694 ], [ %1701, %1698 ]
  store i32 %1703, ptr %129, align 4, !tbaa !5
  %1704 = load i32, ptr %129, align 4, !tbaa !5
  %1705 = call noundef i32 @_ZNSt14numeric_limitsIiE7epsilonEv() #7
  %1706 = icmp sgt i32 %1704, %1705
  br i1 %1706, label %1707, label %1723

1707:                                             ; preds = %1702
  %1708 = load i32, ptr %125, align 4, !tbaa !20
  %1709 = uitofp i32 %1708 to double
  %1710 = load i32, ptr %126, align 4, !tbaa !20
  %1711 = uitofp i32 %1710 to double
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.25, ptr noundef @.str.2, i32 noundef 119, double noundef %1709, double noundef %1711)
          to label %1712 unwind label %1719

1712:                                             ; preds = %1707
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %1723

1713:                                             ; preds = %1673, %1652
  call void @llvm.lifetime.end.p0(i64 1, ptr %122) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %121) #7
  br label %1714

1714:                                             ; preds = %1713, %1648
  call void @llvm.lifetime.end.p0(i64 4, ptr %120) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %119) #7
  br label %2502

1715:                                             ; preds = %1682
  %1716 = landingpad { ptr, i32 }
          cleanup
  %1717 = extractvalue { ptr, i32 } %1716, 0
  store ptr %1717, ptr %55, align 8
  %1718 = extractvalue { ptr, i32 } %1716, 1
  store i32 %1718, ptr %56, align 4
  br label %1780

1719:                                             ; preds = %1707
  %1720 = landingpad { ptr, i32 }
          cleanup
  %1721 = extractvalue { ptr, i32 } %1720, 0
  store ptr %1721, ptr %55, align 8
  %1722 = extractvalue { ptr, i32 } %1720, 1
  store i32 %1722, ptr %56, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %129) #7
  br label %1779

1723:                                             ; preds = %1712, %1702
  call void @llvm.lifetime.end.p0(i64 4, ptr %129) #7
  br label %1746

1724:                                             ; preds = %1687, %1684
  %1725 = load i32, ptr %125, align 4, !tbaa !20
  %1726 = load i32, ptr %126, align 4, !tbaa !20
  %1727 = icmp ne i32 %1725, %1726
  br i1 %1727, label %1728, label %1745

1728:                                             ; preds = %1724
  %1729 = load i32, ptr %125, align 4, !tbaa !20
  %1730 = load i32, ptr %126, align 4, !tbaa !20
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.26, ptr noundef @.str.2, i32 noundef 119, i32 noundef %1729, i32 noundef %1730)
          to label %1731 unwind label %1740

1731:                                             ; preds = %1728
  %1732 = load i8, ptr %127, align 1, !tbaa !11, !range !13, !noundef !14
  %1733 = trunc i8 %1732 to i1
  br i1 %1733, label %1737, label %1734

1734:                                             ; preds = %1731
  %1735 = load i8, ptr %128, align 1, !tbaa !11, !range !13, !noundef !14
  %1736 = trunc i8 %1735 to i1
  br i1 %1736, label %1737, label %1744

1737:                                             ; preds = %1734, %1731
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
          to label %1738 unwind label %1740

1738:                                             ; preds = %1737
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
          to label %1739 unwind label %1740

1739:                                             ; preds = %1738
  br label %1744

1740:                                             ; preds = %1738, %1737, %1728
  %1741 = landingpad { ptr, i32 }
          cleanup
  %1742 = extractvalue { ptr, i32 } %1741, 0
  store ptr %1742, ptr %55, align 8
  %1743 = extractvalue { ptr, i32 } %1741, 1
  store i32 %1743, ptr %56, align 4
  br label %1779

1744:                                             ; preds = %1739, %1734
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %1745

1745:                                             ; preds = %1744, %1724
  br label %1746

1746:                                             ; preds = %1745, %1723
  call void @llvm.lifetime.end.p0(i64 1, ptr %128) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %127) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %126) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %125) #7
  br label %1747

1747:                                             ; preds = %1746
  br label %1748

1748:                                             ; preds = %1747
  br label %1749

1749:                                             ; preds = %1748
  call void @llvm.lifetime.start.p0(i64 4, ptr %130) #7
  store i32 50, ptr %130, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %131) #7
  %1750 = load i32, ptr %124, align 4, !tbaa !5
  store i32 %1750, ptr %131, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %132) #7
  store i8 0, ptr %132, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %133) #7
  store i8 0, ptr %133, align 1, !tbaa !11
  %1751 = load i8, ptr %132, align 1, !tbaa !11, !range !13, !noundef !14
  %1752 = trunc i8 %1751 to i1
  br i1 %1752, label %1753, label %1786

1753:                                             ; preds = %1749
  %1754 = load i8, ptr %133, align 1, !tbaa !11, !range !13, !noundef !14
  %1755 = trunc i8 %1754 to i1
  br i1 %1755, label %1756, label %1786

1756:                                             ; preds = %1753
  call void @llvm.lifetime.start.p0(i64 4, ptr %134) #7
  %1757 = load i32, ptr %130, align 4, !tbaa !5
  %1758 = load i32, ptr %131, align 4, !tbaa !5
  %1759 = icmp sgt i32 %1757, %1758
  br i1 %1759, label %1760, label %1764

1760:                                             ; preds = %1756
  %1761 = load i32, ptr %130, align 4, !tbaa !5
  %1762 = load i32, ptr %131, align 4, !tbaa !5
  %1763 = sub nsw i32 %1761, %1762
  br label %1768

1764:                                             ; preds = %1756
  %1765 = load i32, ptr %131, align 4, !tbaa !5
  %1766 = load i32, ptr %130, align 4, !tbaa !5
  %1767 = sub nsw i32 %1765, %1766
  br label %1768

1768:                                             ; preds = %1764, %1760
  %1769 = phi i32 [ %1763, %1760 ], [ %1767, %1764 ]
  store i32 %1769, ptr %134, align 4, !tbaa !5
  %1770 = load i32, ptr %134, align 4, !tbaa !5
  %1771 = call noundef i32 @_ZNSt14numeric_limitsIiE7epsilonEv() #7
  %1772 = icmp sgt i32 %1770, %1771
  br i1 %1772, label %1773, label %1785

1773:                                             ; preds = %1768
  %1774 = load i32, ptr %130, align 4, !tbaa !5
  %1775 = sitofp i32 %1774 to double
  %1776 = load i32, ptr %131, align 4, !tbaa !5
  %1777 = sitofp i32 %1776 to double
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.40, ptr noundef @.str.2, i32 noundef 120, double noundef %1775, double noundef %1777)
          to label %1778 unwind label %1781

1778:                                             ; preds = %1773
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %1785

1779:                                             ; preds = %1740, %1719
  call void @llvm.lifetime.end.p0(i64 1, ptr %128) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %127) #7
  br label %1780

1780:                                             ; preds = %1779, %1715
  call void @llvm.lifetime.end.p0(i64 4, ptr %126) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %125) #7
  br label %2501

1781:                                             ; preds = %1773
  %1782 = landingpad { ptr, i32 }
          cleanup
  %1783 = extractvalue { ptr, i32 } %1782, 0
  store ptr %1783, ptr %55, align 8
  %1784 = extractvalue { ptr, i32 } %1782, 1
  store i32 %1784, ptr %56, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %134) #7
  br label %1842

1785:                                             ; preds = %1778, %1768
  call void @llvm.lifetime.end.p0(i64 4, ptr %134) #7
  br label %1808

1786:                                             ; preds = %1753, %1749
  %1787 = load i32, ptr %130, align 4, !tbaa !5
  %1788 = load i32, ptr %131, align 4, !tbaa !5
  %1789 = icmp ne i32 %1787, %1788
  br i1 %1789, label %1790, label %1807

1790:                                             ; preds = %1786
  %1791 = load i32, ptr %130, align 4, !tbaa !5
  %1792 = load i32, ptr %131, align 4, !tbaa !5
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.41, ptr noundef @.str.2, i32 noundef 120, i32 noundef %1791, i32 noundef %1792)
          to label %1793 unwind label %1802

1793:                                             ; preds = %1790
  %1794 = load i8, ptr %132, align 1, !tbaa !11, !range !13, !noundef !14
  %1795 = trunc i8 %1794 to i1
  br i1 %1795, label %1799, label %1796

1796:                                             ; preds = %1793
  %1797 = load i8, ptr %133, align 1, !tbaa !11, !range !13, !noundef !14
  %1798 = trunc i8 %1797 to i1
  br i1 %1798, label %1799, label %1806

1799:                                             ; preds = %1796, %1793
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
          to label %1800 unwind label %1802

1800:                                             ; preds = %1799
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
          to label %1801 unwind label %1802

1801:                                             ; preds = %1800
  br label %1806

1802:                                             ; preds = %1800, %1799, %1790
  %1803 = landingpad { ptr, i32 }
          cleanup
  %1804 = extractvalue { ptr, i32 } %1803, 0
  store ptr %1804, ptr %55, align 8
  %1805 = extractvalue { ptr, i32 } %1803, 1
  store i32 %1805, ptr %56, align 4
  br label %1842

1806:                                             ; preds = %1801, %1796
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %1807

1807:                                             ; preds = %1806, %1786
  br label %1808

1808:                                             ; preds = %1807, %1785
  call void @llvm.lifetime.end.p0(i64 1, ptr %133) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %132) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %131) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %130) #7
  br label %1809

1809:                                             ; preds = %1808
  br label %1810

1810:                                             ; preds = %1809
  br label %1811

1811:                                             ; preds = %1810
  call void @llvm.lifetime.start.p0(i64 4, ptr %135) #7
  store i32 0, ptr %135, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 4, ptr %136) #7
  %1812 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner18GetOffsetForBufferEiPi(ptr noundef nonnull align 8 dereferenceable(65) %98, i32 noundef 1, ptr noundef %124)
          to label %1813 unwind label %1843

1813:                                             ; preds = %1811
  store i32 %1812, ptr %136, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 1, ptr %137) #7
  store i8 0, ptr %137, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %138) #7
  store i8 0, ptr %138, align 1, !tbaa !11
  %1814 = load i8, ptr %137, align 1, !tbaa !11, !range !13, !noundef !14
  %1815 = trunc i8 %1814 to i1
  br i1 %1815, label %1816, label %1852

1816:                                             ; preds = %1813
  %1817 = load i8, ptr %138, align 1, !tbaa !11, !range !13, !noundef !14
  %1818 = trunc i8 %1817 to i1
  br i1 %1818, label %1819, label %1852

1819:                                             ; preds = %1816
  call void @llvm.lifetime.start.p0(i64 4, ptr %139) #7
  %1820 = load i32, ptr %135, align 4, !tbaa !20
  %1821 = load i32, ptr %136, align 4, !tbaa !20
  %1822 = icmp sgt i32 %1820, %1821
  br i1 %1822, label %1823, label %1827

1823:                                             ; preds = %1819
  %1824 = load i32, ptr %135, align 4, !tbaa !20
  %1825 = load i32, ptr %136, align 4, !tbaa !20
  %1826 = sub nsw i32 %1824, %1825
  br label %1831

1827:                                             ; preds = %1819
  %1828 = load i32, ptr %136, align 4, !tbaa !20
  %1829 = load i32, ptr %135, align 4, !tbaa !20
  %1830 = sub nsw i32 %1828, %1829
  br label %1831

1831:                                             ; preds = %1827, %1823
  %1832 = phi i32 [ %1826, %1823 ], [ %1830, %1827 ]
  store i32 %1832, ptr %139, align 4, !tbaa !5
  %1833 = load i32, ptr %139, align 4, !tbaa !5
  %1834 = call noundef i32 @_ZNSt14numeric_limitsIiE7epsilonEv() #7
  %1835 = icmp sgt i32 %1833, %1834
  br i1 %1835, label %1836, label %1851

1836:                                             ; preds = %1831
  %1837 = load i32, ptr %135, align 4, !tbaa !20
  %1838 = uitofp i32 %1837 to double
  %1839 = load i32, ptr %136, align 4, !tbaa !20
  %1840 = uitofp i32 %1839 to double
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.29, ptr noundef @.str.2, i32 noundef 122, double noundef %1838, double noundef %1840)
          to label %1841 unwind label %1847

1841:                                             ; preds = %1836
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %1851

1842:                                             ; preds = %1802, %1781
  call void @llvm.lifetime.end.p0(i64 1, ptr %133) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %132) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %131) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %130) #7
  br label %2501

1843:                                             ; preds = %1811
  %1844 = landingpad { ptr, i32 }
          cleanup
  %1845 = extractvalue { ptr, i32 } %1844, 0
  store ptr %1845, ptr %55, align 8
  %1846 = extractvalue { ptr, i32 } %1844, 1
  store i32 %1846, ptr %56, align 4
  br label %1908

1847:                                             ; preds = %1836
  %1848 = landingpad { ptr, i32 }
          cleanup
  %1849 = extractvalue { ptr, i32 } %1848, 0
  store ptr %1849, ptr %55, align 8
  %1850 = extractvalue { ptr, i32 } %1848, 1
  store i32 %1850, ptr %56, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %139) #7
  br label %1907

1851:                                             ; preds = %1841, %1831
  call void @llvm.lifetime.end.p0(i64 4, ptr %139) #7
  br label %1874

1852:                                             ; preds = %1816, %1813
  %1853 = load i32, ptr %135, align 4, !tbaa !20
  %1854 = load i32, ptr %136, align 4, !tbaa !20
  %1855 = icmp ne i32 %1853, %1854
  br i1 %1855, label %1856, label %1873

1856:                                             ; preds = %1852
  %1857 = load i32, ptr %135, align 4, !tbaa !20
  %1858 = load i32, ptr %136, align 4, !tbaa !20
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.30, ptr noundef @.str.2, i32 noundef 122, i32 noundef %1857, i32 noundef %1858)
          to label %1859 unwind label %1868

1859:                                             ; preds = %1856
  %1860 = load i8, ptr %137, align 1, !tbaa !11, !range !13, !noundef !14
  %1861 = trunc i8 %1860 to i1
  br i1 %1861, label %1865, label %1862

1862:                                             ; preds = %1859
  %1863 = load i8, ptr %138, align 1, !tbaa !11, !range !13, !noundef !14
  %1864 = trunc i8 %1863 to i1
  br i1 %1864, label %1865, label %1872

1865:                                             ; preds = %1862, %1859
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
          to label %1866 unwind label %1868

1866:                                             ; preds = %1865
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
          to label %1867 unwind label %1868

1867:                                             ; preds = %1866
  br label %1872

1868:                                             ; preds = %1866, %1865, %1856
  %1869 = landingpad { ptr, i32 }
          cleanup
  %1870 = extractvalue { ptr, i32 } %1869, 0
  store ptr %1870, ptr %55, align 8
  %1871 = extractvalue { ptr, i32 } %1869, 1
  store i32 %1871, ptr %56, align 4
  br label %1907

1872:                                             ; preds = %1867, %1862
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %1873

1873:                                             ; preds = %1872, %1852
  br label %1874

1874:                                             ; preds = %1873, %1851
  call void @llvm.lifetime.end.p0(i64 1, ptr %138) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %137) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %136) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %135) #7
  br label %1875

1875:                                             ; preds = %1874
  br label %1876

1876:                                             ; preds = %1875
  br label %1877

1877:                                             ; preds = %1876
  call void @llvm.lifetime.start.p0(i64 4, ptr %140) #7
  store i32 70, ptr %140, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %141) #7
  %1878 = load i32, ptr %124, align 4, !tbaa !5
  store i32 %1878, ptr %141, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %142) #7
  store i8 0, ptr %142, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %143) #7
  store i8 0, ptr %143, align 1, !tbaa !11
  %1879 = load i8, ptr %142, align 1, !tbaa !11, !range !13, !noundef !14
  %1880 = trunc i8 %1879 to i1
  br i1 %1880, label %1881, label %1914

1881:                                             ; preds = %1877
  %1882 = load i8, ptr %143, align 1, !tbaa !11, !range !13, !noundef !14
  %1883 = trunc i8 %1882 to i1
  br i1 %1883, label %1884, label %1914

1884:                                             ; preds = %1881
  call void @llvm.lifetime.start.p0(i64 4, ptr %144) #7
  %1885 = load i32, ptr %140, align 4, !tbaa !5
  %1886 = load i32, ptr %141, align 4, !tbaa !5
  %1887 = icmp sgt i32 %1885, %1886
  br i1 %1887, label %1888, label %1892

1888:                                             ; preds = %1884
  %1889 = load i32, ptr %140, align 4, !tbaa !5
  %1890 = load i32, ptr %141, align 4, !tbaa !5
  %1891 = sub nsw i32 %1889, %1890
  br label %1896

1892:                                             ; preds = %1884
  %1893 = load i32, ptr %141, align 4, !tbaa !5
  %1894 = load i32, ptr %140, align 4, !tbaa !5
  %1895 = sub nsw i32 %1893, %1894
  br label %1896

1896:                                             ; preds = %1892, %1888
  %1897 = phi i32 [ %1891, %1888 ], [ %1895, %1892 ]
  store i32 %1897, ptr %144, align 4, !tbaa !5
  %1898 = load i32, ptr %144, align 4, !tbaa !5
  %1899 = call noundef i32 @_ZNSt14numeric_limitsIiE7epsilonEv() #7
  %1900 = icmp sgt i32 %1898, %1899
  br i1 %1900, label %1901, label %1913

1901:                                             ; preds = %1896
  %1902 = load i32, ptr %140, align 4, !tbaa !5
  %1903 = sitofp i32 %1902 to double
  %1904 = load i32, ptr %141, align 4, !tbaa !5
  %1905 = sitofp i32 %1904 to double
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.42, ptr noundef @.str.2, i32 noundef 123, double noundef %1903, double noundef %1905)
          to label %1906 unwind label %1909

1906:                                             ; preds = %1901
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %1913

1907:                                             ; preds = %1868, %1847
  call void @llvm.lifetime.end.p0(i64 1, ptr %138) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %137) #7
  br label %1908

1908:                                             ; preds = %1907, %1843
  call void @llvm.lifetime.end.p0(i64 4, ptr %136) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %135) #7
  br label %2501

1909:                                             ; preds = %1901
  %1910 = landingpad { ptr, i32 }
          cleanup
  %1911 = extractvalue { ptr, i32 } %1910, 0
  store ptr %1911, ptr %55, align 8
  %1912 = extractvalue { ptr, i32 } %1910, 1
  store i32 %1912, ptr %56, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %144) #7
  br label %1970

1913:                                             ; preds = %1906, %1896
  call void @llvm.lifetime.end.p0(i64 4, ptr %144) #7
  br label %1936

1914:                                             ; preds = %1881, %1877
  %1915 = load i32, ptr %140, align 4, !tbaa !5
  %1916 = load i32, ptr %141, align 4, !tbaa !5
  %1917 = icmp ne i32 %1915, %1916
  br i1 %1917, label %1918, label %1935

1918:                                             ; preds = %1914
  %1919 = load i32, ptr %140, align 4, !tbaa !5
  %1920 = load i32, ptr %141, align 4, !tbaa !5
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.43, ptr noundef @.str.2, i32 noundef 123, i32 noundef %1919, i32 noundef %1920)
          to label %1921 unwind label %1930

1921:                                             ; preds = %1918
  %1922 = load i8, ptr %142, align 1, !tbaa !11, !range !13, !noundef !14
  %1923 = trunc i8 %1922 to i1
  br i1 %1923, label %1927, label %1924

1924:                                             ; preds = %1921
  %1925 = load i8, ptr %143, align 1, !tbaa !11, !range !13, !noundef !14
  %1926 = trunc i8 %1925 to i1
  br i1 %1926, label %1927, label %1934

1927:                                             ; preds = %1924, %1921
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
          to label %1928 unwind label %1930

1928:                                             ; preds = %1927
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
          to label %1929 unwind label %1930

1929:                                             ; preds = %1928
  br label %1934

1930:                                             ; preds = %1928, %1927, %1918
  %1931 = landingpad { ptr, i32 }
          cleanup
  %1932 = extractvalue { ptr, i32 } %1931, 0
  store ptr %1932, ptr %55, align 8
  %1933 = extractvalue { ptr, i32 } %1931, 1
  store i32 %1933, ptr %56, align 4
  br label %1970

1934:                                             ; preds = %1929, %1924
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %1935

1935:                                             ; preds = %1934, %1914
  br label %1936

1936:                                             ; preds = %1935, %1913
  call void @llvm.lifetime.end.p0(i64 1, ptr %143) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %142) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %141) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %140) #7
  br label %1937

1937:                                             ; preds = %1936
  br label %1938

1938:                                             ; preds = %1937
  br label %1939

1939:                                             ; preds = %1938
  call void @llvm.lifetime.start.p0(i64 4, ptr %145) #7
  store i32 0, ptr %145, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 4, ptr %146) #7
  %1940 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner18GetOffsetForBufferEiPi(ptr noundef nonnull align 8 dereferenceable(65) %98, i32 noundef 2, ptr noundef %124)
          to label %1941 unwind label %1971

1941:                                             ; preds = %1939
  store i32 %1940, ptr %146, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 1, ptr %147) #7
  store i8 0, ptr %147, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %148) #7
  store i8 0, ptr %148, align 1, !tbaa !11
  %1942 = load i8, ptr %147, align 1, !tbaa !11, !range !13, !noundef !14
  %1943 = trunc i8 %1942 to i1
  br i1 %1943, label %1944, label %1980

1944:                                             ; preds = %1941
  %1945 = load i8, ptr %148, align 1, !tbaa !11, !range !13, !noundef !14
  %1946 = trunc i8 %1945 to i1
  br i1 %1946, label %1947, label %1980

1947:                                             ; preds = %1944
  call void @llvm.lifetime.start.p0(i64 4, ptr %149) #7
  %1948 = load i32, ptr %145, align 4, !tbaa !20
  %1949 = load i32, ptr %146, align 4, !tbaa !20
  %1950 = icmp sgt i32 %1948, %1949
  br i1 %1950, label %1951, label %1955

1951:                                             ; preds = %1947
  %1952 = load i32, ptr %145, align 4, !tbaa !20
  %1953 = load i32, ptr %146, align 4, !tbaa !20
  %1954 = sub nsw i32 %1952, %1953
  br label %1959

1955:                                             ; preds = %1947
  %1956 = load i32, ptr %146, align 4, !tbaa !20
  %1957 = load i32, ptr %145, align 4, !tbaa !20
  %1958 = sub nsw i32 %1956, %1957
  br label %1959

1959:                                             ; preds = %1955, %1951
  %1960 = phi i32 [ %1954, %1951 ], [ %1958, %1955 ]
  store i32 %1960, ptr %149, align 4, !tbaa !5
  %1961 = load i32, ptr %149, align 4, !tbaa !5
  %1962 = call noundef i32 @_ZNSt14numeric_limitsIiE7epsilonEv() #7
  %1963 = icmp sgt i32 %1961, %1962
  br i1 %1963, label %1964, label %1979

1964:                                             ; preds = %1959
  %1965 = load i32, ptr %145, align 4, !tbaa !20
  %1966 = uitofp i32 %1965 to double
  %1967 = load i32, ptr %146, align 4, !tbaa !20
  %1968 = uitofp i32 %1967 to double
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.44, ptr noundef @.str.2, i32 noundef 125, double noundef %1966, double noundef %1968)
          to label %1969 unwind label %1975

1969:                                             ; preds = %1964
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %1979

1970:                                             ; preds = %1930, %1909
  call void @llvm.lifetime.end.p0(i64 1, ptr %143) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %142) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %141) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %140) #7
  br label %2501

1971:                                             ; preds = %1939
  %1972 = landingpad { ptr, i32 }
          cleanup
  %1973 = extractvalue { ptr, i32 } %1972, 0
  store ptr %1973, ptr %55, align 8
  %1974 = extractvalue { ptr, i32 } %1972, 1
  store i32 %1974, ptr %56, align 4
  br label %2036

1975:                                             ; preds = %1964
  %1976 = landingpad { ptr, i32 }
          cleanup
  %1977 = extractvalue { ptr, i32 } %1976, 0
  store ptr %1977, ptr %55, align 8
  %1978 = extractvalue { ptr, i32 } %1976, 1
  store i32 %1978, ptr %56, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %149) #7
  br label %2035

1979:                                             ; preds = %1969, %1959
  call void @llvm.lifetime.end.p0(i64 4, ptr %149) #7
  br label %2002

1980:                                             ; preds = %1944, %1941
  %1981 = load i32, ptr %145, align 4, !tbaa !20
  %1982 = load i32, ptr %146, align 4, !tbaa !20
  %1983 = icmp ne i32 %1981, %1982
  br i1 %1983, label %1984, label %2001

1984:                                             ; preds = %1980
  %1985 = load i32, ptr %145, align 4, !tbaa !20
  %1986 = load i32, ptr %146, align 4, !tbaa !20
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.45, ptr noundef @.str.2, i32 noundef 125, i32 noundef %1985, i32 noundef %1986)
          to label %1987 unwind label %1996

1987:                                             ; preds = %1984
  %1988 = load i8, ptr %147, align 1, !tbaa !11, !range !13, !noundef !14
  %1989 = trunc i8 %1988 to i1
  br i1 %1989, label %1993, label %1990

1990:                                             ; preds = %1987
  %1991 = load i8, ptr %148, align 1, !tbaa !11, !range !13, !noundef !14
  %1992 = trunc i8 %1991 to i1
  br i1 %1992, label %1993, label %2000

1993:                                             ; preds = %1990, %1987
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
          to label %1994 unwind label %1996

1994:                                             ; preds = %1993
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
          to label %1995 unwind label %1996

1995:                                             ; preds = %1994
  br label %2000

1996:                                             ; preds = %1994, %1993, %1984
  %1997 = landingpad { ptr, i32 }
          cleanup
  %1998 = extractvalue { ptr, i32 } %1997, 0
  store ptr %1998, ptr %55, align 8
  %1999 = extractvalue { ptr, i32 } %1997, 1
  store i32 %1999, ptr %56, align 4
  br label %2035

2000:                                             ; preds = %1995, %1990
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %2001

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

2002:                                             ; preds = %2001, %1979
  call void @llvm.lifetime.end.p0(i64 1, ptr %148) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %147) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %146) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %145) #7
  br label %2003

2003:                                             ; preds = %2002
  br label %2004

2004:                                             ; preds = %2003
  br label %2005

2005:                                             ; preds = %2004
  call void @llvm.lifetime.start.p0(i64 4, ptr %150) #7
  store i32 40, ptr %150, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %151) #7
  %2006 = load i32, ptr %124, align 4, !tbaa !5
  store i32 %2006, ptr %151, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %152) #7
  store i8 0, ptr %152, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %153) #7
  store i8 0, ptr %153, align 1, !tbaa !11
  %2007 = load i8, ptr %152, align 1, !tbaa !11, !range !13, !noundef !14
  %2008 = trunc i8 %2007 to i1
  br i1 %2008, label %2009, label %2042

2009:                                             ; preds = %2005
  %2010 = load i8, ptr %153, align 1, !tbaa !11, !range !13, !noundef !14
  %2011 = trunc i8 %2010 to i1
  br i1 %2011, label %2012, label %2042

2012:                                             ; preds = %2009
  call void @llvm.lifetime.start.p0(i64 4, ptr %154) #7
  %2013 = load i32, ptr %150, align 4, !tbaa !5
  %2014 = load i32, ptr %151, align 4, !tbaa !5
  %2015 = icmp sgt i32 %2013, %2014
  br i1 %2015, label %2016, label %2020

2016:                                             ; preds = %2012
  %2017 = load i32, ptr %150, align 4, !tbaa !5
  %2018 = load i32, ptr %151, align 4, !tbaa !5
  %2019 = sub nsw i32 %2017, %2018
  br label %2024

2020:                                             ; preds = %2012
  %2021 = load i32, ptr %151, align 4, !tbaa !5
  %2022 = load i32, ptr %150, align 4, !tbaa !5
  %2023 = sub nsw i32 %2021, %2022
  br label %2024

2024:                                             ; preds = %2020, %2016
  %2025 = phi i32 [ %2019, %2016 ], [ %2023, %2020 ]
  store i32 %2025, ptr %154, align 4, !tbaa !5
  %2026 = load i32, ptr %154, align 4, !tbaa !5
  %2027 = call noundef i32 @_ZNSt14numeric_limitsIiE7epsilonEv() #7
  %2028 = icmp sgt i32 %2026, %2027
  br i1 %2028, label %2029, label %2041

2029:                                             ; preds = %2024
  %2030 = load i32, ptr %150, align 4, !tbaa !5
  %2031 = sitofp i32 %2030 to double
  %2032 = load i32, ptr %151, align 4, !tbaa !5
  %2033 = sitofp i32 %2032 to double
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.46, ptr noundef @.str.2, i32 noundef 126, double noundef %2031, double noundef %2033)
          to label %2034 unwind label %2037

2034:                                             ; preds = %2029
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %2041

2035:                                             ; preds = %1996, %1975
  call void @llvm.lifetime.end.p0(i64 1, ptr %148) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %147) #7
  br label %2036

2036:                                             ; preds = %2035, %1971
  call void @llvm.lifetime.end.p0(i64 4, ptr %146) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %145) #7
  br label %2501

2037:                                             ; preds = %2029
  %2038 = landingpad { ptr, i32 }
          cleanup
  %2039 = extractvalue { ptr, i32 } %2038, 0
  store ptr %2039, ptr %55, align 8
  %2040 = extractvalue { ptr, i32 } %2038, 1
  store i32 %2040, ptr %56, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %154) #7
  br label %2098

2041:                                             ; preds = %2034, %2024
  call void @llvm.lifetime.end.p0(i64 4, ptr %154) #7
  br label %2064

2042:                                             ; preds = %2009, %2005
  %2043 = load i32, ptr %150, align 4, !tbaa !5
  %2044 = load i32, ptr %151, align 4, !tbaa !5
  %2045 = icmp ne i32 %2043, %2044
  br i1 %2045, label %2046, label %2063

2046:                                             ; preds = %2042
  %2047 = load i32, ptr %150, align 4, !tbaa !5
  %2048 = load i32, ptr %151, align 4, !tbaa !5
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.47, ptr noundef @.str.2, i32 noundef 126, i32 noundef %2047, i32 noundef %2048)
          to label %2049 unwind label %2058

2049:                                             ; preds = %2046
  %2050 = load i8, ptr %152, align 1, !tbaa !11, !range !13, !noundef !14
  %2051 = trunc i8 %2050 to i1
  br i1 %2051, label %2055, label %2052

2052:                                             ; preds = %2049
  %2053 = load i8, ptr %153, align 1, !tbaa !11, !range !13, !noundef !14
  %2054 = trunc i8 %2053 to i1
  br i1 %2054, label %2055, label %2062

2055:                                             ; preds = %2052, %2049
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
          to label %2056 unwind label %2058

2056:                                             ; preds = %2055
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
          to label %2057 unwind label %2058

2057:                                             ; preds = %2056
  br label %2062

2058:                                             ; preds = %2056, %2055, %2046
  %2059 = landingpad { ptr, i32 }
          cleanup
  %2060 = extractvalue { ptr, i32 } %2059, 0
  store ptr %2060, ptr %55, align 8
  %2061 = extractvalue { ptr, i32 } %2059, 1
  store i32 %2061, ptr %56, align 4
  br label %2098

2062:                                             ; preds = %2057, %2052
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %2063

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

2064:                                             ; preds = %2063, %2041
  call void @llvm.lifetime.end.p0(i64 1, ptr %153) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %152) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %151) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %150) #7
  br label %2065

2065:                                             ; preds = %2064
  br label %2066

2066:                                             ; preds = %2065
  br label %2067

2067:                                             ; preds = %2066
  call void @llvm.lifetime.start.p0(i64 4, ptr %155) #7
  store i32 0, ptr %155, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 4, ptr %156) #7
  %2068 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner18GetOffsetForBufferEiPi(ptr noundef nonnull align 8 dereferenceable(65) %98, i32 noundef 3, ptr noundef %124)
          to label %2069 unwind label %2099

2069:                                             ; preds = %2067
  store i32 %2068, ptr %156, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 1, ptr %157) #7
  store i8 0, ptr %157, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %158) #7
  store i8 0, ptr %158, align 1, !tbaa !11
  %2070 = load i8, ptr %157, align 1, !tbaa !11, !range !13, !noundef !14
  %2071 = trunc i8 %2070 to i1
  br i1 %2071, label %2072, label %2108

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

2075:                                             ; preds = %2072
  call void @llvm.lifetime.start.p0(i64 4, ptr %159) #7
  %2076 = load i32, ptr %155, align 4, !tbaa !20
  %2077 = load i32, ptr %156, align 4, !tbaa !20
  %2078 = icmp sgt i32 %2076, %2077
  br i1 %2078, label %2079, label %2083

2079:                                             ; preds = %2075
  %2080 = load i32, ptr %155, align 4, !tbaa !20
  %2081 = load i32, ptr %156, align 4, !tbaa !20
  %2082 = sub nsw i32 %2080, %2081
  br label %2087

2083:                                             ; preds = %2075
  %2084 = load i32, ptr %156, align 4, !tbaa !20
  %2085 = load i32, ptr %155, align 4, !tbaa !20
  %2086 = sub nsw i32 %2084, %2085
  br label %2087

2087:                                             ; preds = %2083, %2079
  %2088 = phi i32 [ %2082, %2079 ], [ %2086, %2083 ]
  store i32 %2088, ptr %159, align 4, !tbaa !5
  %2089 = load i32, ptr %159, align 4, !tbaa !5
  %2090 = call noundef i32 @_ZNSt14numeric_limitsIiE7epsilonEv() #7
  %2091 = icmp sgt i32 %2089, %2090
  br i1 %2091, label %2092, label %2107

2092:                                             ; preds = %2087
  %2093 = load i32, ptr %155, align 4, !tbaa !20
  %2094 = uitofp i32 %2093 to double
  %2095 = load i32, ptr %156, align 4, !tbaa !20
  %2096 = uitofp i32 %2095 to double
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.48, ptr noundef @.str.2, i32 noundef 128, double noundef %2094, double noundef %2096)
          to label %2097 unwind label %2103

2097:                                             ; preds = %2092
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %2107

2098:                                             ; preds = %2058, %2037
  call void @llvm.lifetime.end.p0(i64 1, ptr %153) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %152) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %151) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %150) #7
  br label %2501

2099:                                             ; preds = %2067
  %2100 = landingpad { ptr, i32 }
          cleanup
  %2101 = extractvalue { ptr, i32 } %2100, 0
  store ptr %2101, ptr %55, align 8
  %2102 = extractvalue { ptr, i32 } %2100, 1
  store i32 %2102, ptr %56, align 4
  br label %2164

2103:                                             ; preds = %2092
  %2104 = landingpad { ptr, i32 }
          cleanup
  %2105 = extractvalue { ptr, i32 } %2104, 0
  store ptr %2105, ptr %55, align 8
  %2106 = extractvalue { ptr, i32 } %2104, 1
  store i32 %2106, ptr %56, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %159) #7
  br label %2163

2107:                                             ; preds = %2097, %2087
  call void @llvm.lifetime.end.p0(i64 4, ptr %159) #7
  br label %2130

2108:                                             ; preds = %2072, %2069
  %2109 = load i32, ptr %155, align 4, !tbaa !20
  %2110 = load i32, ptr %156, align 4, !tbaa !20
  %2111 = icmp ne i32 %2109, %2110
  br i1 %2111, label %2112, label %2129

2112:                                             ; preds = %2108
  %2113 = load i32, ptr %155, align 4, !tbaa !20
  %2114 = load i32, ptr %156, align 4, !tbaa !20
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.49, ptr noundef @.str.2, i32 noundef 128, i32 noundef %2113, i32 noundef %2114)
          to label %2115 unwind label %2124

2115:                                             ; preds = %2112
  %2116 = load i8, ptr %157, align 1, !tbaa !11, !range !13, !noundef !14
  %2117 = trunc i8 %2116 to i1
  br i1 %2117, label %2121, label %2118

2118:                                             ; preds = %2115
  %2119 = load i8, ptr %158, align 1, !tbaa !11, !range !13, !noundef !14
  %2120 = trunc i8 %2119 to i1
  br i1 %2120, label %2121, label %2128

2121:                                             ; preds = %2118, %2115
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
          to label %2122 unwind label %2124

2122:                                             ; preds = %2121
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
          to label %2123 unwind label %2124

2123:                                             ; preds = %2122
  br label %2128

2124:                                             ; preds = %2122, %2121, %2112
  %2125 = landingpad { ptr, i32 }
          cleanup
  %2126 = extractvalue { ptr, i32 } %2125, 0
  store ptr %2126, ptr %55, align 8
  %2127 = extractvalue { ptr, i32 } %2125, 1
  store i32 %2127, ptr %56, align 4
  br label %2163

2128:                                             ; preds = %2123, %2118
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %2129

2129:                                             ; preds = %2128, %2108
  br label %2130

2130:                                             ; preds = %2129, %2107
  call void @llvm.lifetime.end.p0(i64 1, ptr %158) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %157) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %156) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %155) #7
  br label %2131

2131:                                             ; preds = %2130
  br label %2132

2132:                                             ; preds = %2131
  br label %2133

2133:                                             ; preds = %2132
  call void @llvm.lifetime.start.p0(i64 4, ptr %160) #7
  store i32 0, ptr %160, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %161) #7
  %2134 = load i32, ptr %124, align 4, !tbaa !5
  store i32 %2134, ptr %161, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %162) #7
  store i8 0, ptr %162, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %163) #7
  store i8 0, ptr %163, align 1, !tbaa !11
  %2135 = load i8, ptr %162, align 1, !tbaa !11, !range !13, !noundef !14
  %2136 = trunc i8 %2135 to i1
  br i1 %2136, label %2137, label %2170

2137:                                             ; preds = %2133
  %2138 = load i8, ptr %163, align 1, !tbaa !11, !range !13, !noundef !14
  %2139 = trunc i8 %2138 to i1
  br i1 %2139, label %2140, label %2170

2140:                                             ; preds = %2137
  call void @llvm.lifetime.start.p0(i64 4, ptr %164) #7
  %2141 = load i32, ptr %160, align 4, !tbaa !5
  %2142 = load i32, ptr %161, align 4, !tbaa !5
  %2143 = icmp sgt i32 %2141, %2142
  br i1 %2143, label %2144, label %2148

2144:                                             ; preds = %2140
  %2145 = load i32, ptr %160, align 4, !tbaa !5
  %2146 = load i32, ptr %161, align 4, !tbaa !5
  %2147 = sub nsw i32 %2145, %2146
  br label %2152

2148:                                             ; preds = %2140
  %2149 = load i32, ptr %161, align 4, !tbaa !5
  %2150 = load i32, ptr %160, align 4, !tbaa !5
  %2151 = sub nsw i32 %2149, %2150
  br label %2152

2152:                                             ; preds = %2148, %2144
  %2153 = phi i32 [ %2147, %2144 ], [ %2151, %2148 ]
  store i32 %2153, ptr %164, align 4, !tbaa !5
  %2154 = load i32, ptr %164, align 4, !tbaa !5
  %2155 = call noundef i32 @_ZNSt14numeric_limitsIiE7epsilonEv() #7
  %2156 = icmp sgt i32 %2154, %2155
  br i1 %2156, label %2157, label %2169

2157:                                             ; preds = %2152
  %2158 = load i32, ptr %160, align 4, !tbaa !5
  %2159 = sitofp i32 %2158 to double
  %2160 = load i32, ptr %161, align 4, !tbaa !5
  %2161 = sitofp i32 %2160 to double
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.27, ptr noundef @.str.2, i32 noundef 129, double noundef %2159, double noundef %2161)
          to label %2162 unwind label %2165

2162:                                             ; preds = %2157
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %2169

2163:                                             ; preds = %2124, %2103
  call void @llvm.lifetime.end.p0(i64 1, ptr %158) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %157) #7
  br label %2164

2164:                                             ; preds = %2163, %2099
  call void @llvm.lifetime.end.p0(i64 4, ptr %156) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %155) #7
  br label %2501

2165:                                             ; preds = %2157
  %2166 = landingpad { ptr, i32 }
          cleanup
  %2167 = extractvalue { ptr, i32 } %2166, 0
  store ptr %2167, ptr %55, align 8
  %2168 = extractvalue { ptr, i32 } %2166, 1
  store i32 %2168, ptr %56, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %164) #7
  br label %2226

2169:                                             ; preds = %2162, %2152
  call void @llvm.lifetime.end.p0(i64 4, ptr %164) #7
  br label %2192

2170:                                             ; preds = %2137, %2133
  %2171 = load i32, ptr %160, align 4, !tbaa !5
  %2172 = load i32, ptr %161, align 4, !tbaa !5
  %2173 = icmp ne i32 %2171, %2172
  br i1 %2173, label %2174, label %2191

2174:                                             ; preds = %2170
  %2175 = load i32, ptr %160, align 4, !tbaa !5
  %2176 = load i32, ptr %161, align 4, !tbaa !5
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.28, ptr noundef @.str.2, i32 noundef 129, i32 noundef %2175, i32 noundef %2176)
          to label %2177 unwind label %2186

2177:                                             ; preds = %2174
  %2178 = load i8, ptr %162, align 1, !tbaa !11, !range !13, !noundef !14
  %2179 = trunc i8 %2178 to i1
  br i1 %2179, label %2183, label %2180

2180:                                             ; preds = %2177
  %2181 = load i8, ptr %163, align 1, !tbaa !11, !range !13, !noundef !14
  %2182 = trunc i8 %2181 to i1
  br i1 %2182, label %2183, label %2190

2183:                                             ; preds = %2180, %2177
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
          to label %2184 unwind label %2186

2184:                                             ; preds = %2183
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
          to label %2185 unwind label %2186

2185:                                             ; preds = %2184
  br label %2190

2186:                                             ; preds = %2184, %2183, %2174
  %2187 = landingpad { ptr, i32 }
          cleanup
  %2188 = extractvalue { ptr, i32 } %2187, 0
  store ptr %2188, ptr %55, align 8
  %2189 = extractvalue { ptr, i32 } %2187, 1
  store i32 %2189, ptr %56, align 4
  br label %2226

2190:                                             ; preds = %2185, %2180
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %2191

2191:                                             ; preds = %2190, %2170
  br label %2192

2192:                                             ; preds = %2191, %2169
  call void @llvm.lifetime.end.p0(i64 1, ptr %163) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %162) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %161) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %160) #7
  br label %2193

2193:                                             ; preds = %2192
  br label %2194

2194:                                             ; preds = %2193
  br label %2195

2195:                                             ; preds = %2194
  call void @llvm.lifetime.start.p0(i64 4, ptr %165) #7
  store i32 0, ptr %165, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 4, ptr %166) #7
  %2196 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner18GetOffsetForBufferEiPi(ptr noundef nonnull align 8 dereferenceable(65) %98, i32 noundef 4, ptr noundef %124)
          to label %2197 unwind label %2227

2197:                                             ; preds = %2195
  store i32 %2196, ptr %166, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 1, ptr %167) #7
  store i8 0, ptr %167, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %168) #7
  store i8 0, ptr %168, align 1, !tbaa !11
  %2198 = load i8, ptr %167, align 1, !tbaa !11, !range !13, !noundef !14
  %2199 = trunc i8 %2198 to i1
  br i1 %2199, label %2200, label %2236

2200:                                             ; preds = %2197
  %2201 = load i8, ptr %168, align 1, !tbaa !11, !range !13, !noundef !14
  %2202 = trunc i8 %2201 to i1
  br i1 %2202, label %2203, label %2236

2203:                                             ; preds = %2200
  call void @llvm.lifetime.start.p0(i64 4, ptr %169) #7
  %2204 = load i32, ptr %165, align 4, !tbaa !20
  %2205 = load i32, ptr %166, align 4, !tbaa !20
  %2206 = icmp sgt i32 %2204, %2205
  br i1 %2206, label %2207, label %2211

2207:                                             ; preds = %2203
  %2208 = load i32, ptr %165, align 4, !tbaa !20
  %2209 = load i32, ptr %166, align 4, !tbaa !20
  %2210 = sub nsw i32 %2208, %2209
  br label %2215

2211:                                             ; preds = %2203
  %2212 = load i32, ptr %166, align 4, !tbaa !20
  %2213 = load i32, ptr %165, align 4, !tbaa !20
  %2214 = sub nsw i32 %2212, %2213
  br label %2215

2215:                                             ; preds = %2211, %2207
  %2216 = phi i32 [ %2210, %2207 ], [ %2214, %2211 ]
  store i32 %2216, ptr %169, align 4, !tbaa !5
  %2217 = load i32, ptr %169, align 4, !tbaa !5
  %2218 = call noundef i32 @_ZNSt14numeric_limitsIiE7epsilonEv() #7
  %2219 = icmp sgt i32 %2217, %2218
  br i1 %2219, label %2220, label %2235

2220:                                             ; preds = %2215
  %2221 = load i32, ptr %165, align 4, !tbaa !20
  %2222 = uitofp i32 %2221 to double
  %2223 = load i32, ptr %166, align 4, !tbaa !20
  %2224 = uitofp i32 %2223 to double
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.50, ptr noundef @.str.2, i32 noundef 131, double noundef %2222, double noundef %2224)
          to label %2225 unwind label %2231

2225:                                             ; preds = %2220
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %2235

2226:                                             ; preds = %2186, %2165
  call void @llvm.lifetime.end.p0(i64 1, ptr %163) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %162) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %161) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %160) #7
  br label %2501

2227:                                             ; preds = %2195
  %2228 = landingpad { ptr, i32 }
          cleanup
  %2229 = extractvalue { ptr, i32 } %2228, 0
  store ptr %2229, ptr %55, align 8
  %2230 = extractvalue { ptr, i32 } %2228, 1
  store i32 %2230, ptr %56, align 4
  br label %2292

2231:                                             ; preds = %2220
  %2232 = landingpad { ptr, i32 }
          cleanup
  %2233 = extractvalue { ptr, i32 } %2232, 0
  store ptr %2233, ptr %55, align 8
  %2234 = extractvalue { ptr, i32 } %2232, 1
  store i32 %2234, ptr %56, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %169) #7
  br label %2291

2235:                                             ; preds = %2225, %2215
  call void @llvm.lifetime.end.p0(i64 4, ptr %169) #7
  br label %2258

2236:                                             ; preds = %2200, %2197
  %2237 = load i32, ptr %165, align 4, !tbaa !20
  %2238 = load i32, ptr %166, align 4, !tbaa !20
  %2239 = icmp ne i32 %2237, %2238
  br i1 %2239, label %2240, label %2257

2240:                                             ; preds = %2236
  %2241 = load i32, ptr %165, align 4, !tbaa !20
  %2242 = load i32, ptr %166, align 4, !tbaa !20
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.51, ptr noundef @.str.2, i32 noundef 131, i32 noundef %2241, i32 noundef %2242)
          to label %2243 unwind label %2252

2243:                                             ; preds = %2240
  %2244 = load i8, ptr %167, align 1, !tbaa !11, !range !13, !noundef !14
  %2245 = trunc i8 %2244 to i1
  br i1 %2245, label %2249, label %2246

2246:                                             ; preds = %2243
  %2247 = load i8, ptr %168, align 1, !tbaa !11, !range !13, !noundef !14
  %2248 = trunc i8 %2247 to i1
  br i1 %2248, label %2249, label %2256

2249:                                             ; preds = %2246, %2243
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
          to label %2250 unwind label %2252

2250:                                             ; preds = %2249
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
          to label %2251 unwind label %2252

2251:                                             ; preds = %2250
  br label %2256

2252:                                             ; preds = %2250, %2249, %2240
  %2253 = landingpad { ptr, i32 }
          cleanup
  %2254 = extractvalue { ptr, i32 } %2253, 0
  store ptr %2254, ptr %55, align 8
  %2255 = extractvalue { ptr, i32 } %2253, 1
  store i32 %2255, ptr %56, align 4
  br label %2291

2256:                                             ; preds = %2251, %2246
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %2257

2257:                                             ; preds = %2256, %2236
  br label %2258

2258:                                             ; preds = %2257, %2235
  call void @llvm.lifetime.end.p0(i64 1, ptr %168) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %167) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %166) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %165) #7
  br label %2259

2259:                                             ; preds = %2258
  br label %2260

2260:                                             ; preds = %2259
  br label %2261

2261:                                             ; preds = %2260
  call void @llvm.lifetime.start.p0(i64 4, ptr %170) #7
  store i32 0, ptr %170, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %171) #7
  %2262 = load i32, ptr %124, align 4, !tbaa !5
  store i32 %2262, ptr %171, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %172) #7
  store i8 0, ptr %172, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %173) #7
  store i8 0, ptr %173, align 1, !tbaa !11
  %2263 = load i8, ptr %172, align 1, !tbaa !11, !range !13, !noundef !14
  %2264 = trunc i8 %2263 to i1
  br i1 %2264, label %2265, label %2298

2265:                                             ; preds = %2261
  %2266 = load i8, ptr %173, align 1, !tbaa !11, !range !13, !noundef !14
  %2267 = trunc i8 %2266 to i1
  br i1 %2267, label %2268, label %2298

2268:                                             ; preds = %2265
  call void @llvm.lifetime.start.p0(i64 4, ptr %174) #7
  %2269 = load i32, ptr %170, align 4, !tbaa !5
  %2270 = load i32, ptr %171, align 4, !tbaa !5
  %2271 = icmp sgt i32 %2269, %2270
  br i1 %2271, label %2272, label %2276

2272:                                             ; preds = %2268
  %2273 = load i32, ptr %170, align 4, !tbaa !5
  %2274 = load i32, ptr %171, align 4, !tbaa !5
  %2275 = sub nsw i32 %2273, %2274
  br label %2280

2276:                                             ; preds = %2268
  %2277 = load i32, ptr %171, align 4, !tbaa !5
  %2278 = load i32, ptr %170, align 4, !tbaa !5
  %2279 = sub nsw i32 %2277, %2278
  br label %2280

2280:                                             ; preds = %2276, %2272
  %2281 = phi i32 [ %2275, %2272 ], [ %2279, %2276 ]
  store i32 %2281, ptr %174, align 4, !tbaa !5
  %2282 = load i32, ptr %174, align 4, !tbaa !5
  %2283 = call noundef i32 @_ZNSt14numeric_limitsIiE7epsilonEv() #7
  %2284 = icmp sgt i32 %2282, %2283
  br i1 %2284, label %2285, label %2297

2285:                                             ; preds = %2280
  %2286 = load i32, ptr %170, align 4, !tbaa !5
  %2287 = sitofp i32 %2286 to double
  %2288 = load i32, ptr %171, align 4, !tbaa !5
  %2289 = sitofp i32 %2288 to double
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.27, ptr noundef @.str.2, i32 noundef 132, double noundef %2287, double noundef %2289)
          to label %2290 unwind label %2293

2290:                                             ; preds = %2285
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %2297

2291:                                             ; preds = %2252, %2231
  call void @llvm.lifetime.end.p0(i64 1, ptr %168) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %167) #7
  br label %2292

2292:                                             ; preds = %2291, %2227
  call void @llvm.lifetime.end.p0(i64 4, ptr %166) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %165) #7
  br label %2501

2293:                                             ; preds = %2285
  %2294 = landingpad { ptr, i32 }
          cleanup
  %2295 = extractvalue { ptr, i32 } %2294, 0
  store ptr %2295, ptr %55, align 8
  %2296 = extractvalue { ptr, i32 } %2294, 1
  store i32 %2296, ptr %56, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %174) #7
  br label %2370

2297:                                             ; preds = %2290, %2280
  call void @llvm.lifetime.end.p0(i64 4, ptr %174) #7
  br label %2320

2298:                                             ; preds = %2265, %2261
  %2299 = load i32, ptr %170, align 4, !tbaa !5
  %2300 = load i32, ptr %171, align 4, !tbaa !5
  %2301 = icmp ne i32 %2299, %2300
  br i1 %2301, label %2302, label %2319

2302:                                             ; preds = %2298
  %2303 = load i32, ptr %170, align 4, !tbaa !5
  %2304 = load i32, ptr %171, align 4, !tbaa !5
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.28, ptr noundef @.str.2, i32 noundef 132, i32 noundef %2303, i32 noundef %2304)
          to label %2305 unwind label %2314

2305:                                             ; preds = %2302
  %2306 = load i8, ptr %172, align 1, !tbaa !11, !range !13, !noundef !14
  %2307 = trunc i8 %2306 to i1
  br i1 %2307, label %2311, label %2308

2308:                                             ; preds = %2305
  %2309 = load i8, ptr %173, align 1, !tbaa !11, !range !13, !noundef !14
  %2310 = trunc i8 %2309 to i1
  br i1 %2310, label %2311, label %2318

2311:                                             ; preds = %2308, %2305
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
          to label %2312 unwind label %2314

2312:                                             ; preds = %2311
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
          to label %2313 unwind label %2314

2313:                                             ; preds = %2312
  br label %2318

2314:                                             ; preds = %2312, %2311, %2302
  %2315 = landingpad { ptr, i32 }
          cleanup
  %2316 = extractvalue { ptr, i32 } %2315, 0
  store ptr %2316, ptr %55, align 8
  %2317 = extractvalue { ptr, i32 } %2315, 1
  store i32 %2317, ptr %56, align 4
  br label %2370

2318:                                             ; preds = %2313, %2308
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %2319

2319:                                             ; preds = %2318, %2298
  br label %2320

2320:                                             ; preds = %2319, %2297
  call void @llvm.lifetime.end.p0(i64 1, ptr %173) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %172) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %171) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %170) #7
  br label %2321

2321:                                             ; preds = %2320
  br label %2322

2322:                                             ; preds = %2321
  invoke void @_ZN6tflite19GreedyMemoryPlanner15PrintMemoryPlanEv(ptr noundef nonnull align 8 dereferenceable(65) %98)
          to label %2323 unwind label %2371

2323:                                             ; preds = %2322
  br label %2324

2324:                                             ; preds = %2323
  call void @llvm.lifetime.start.p0(i64 1, ptr %175) #7
  store i8 0, ptr %175, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %176) #7
  %2325 = invoke noundef zeroext i1 @_ZN6tflite19GreedyMemoryPlanner19DoAnyBuffersOverlapEv(ptr noundef nonnull align 8 dereferenceable(65) %98)
          to label %2326 unwind label %2375

2326:                                             ; preds = %2324
  %2327 = zext i1 %2325 to i8
  store i8 %2327, ptr %176, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %177) #7
  store i8 0, ptr %177, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %178) #7
  store i8 0, ptr %178, align 1, !tbaa !11
  %2328 = load i8, ptr %177, align 1, !tbaa !11, !range !13, !noundef !14
  %2329 = trunc i8 %2328 to i1
  br i1 %2329, label %2330, label %2384

2330:                                             ; preds = %2326
  %2331 = load i8, ptr %178, align 1, !tbaa !11, !range !13, !noundef !14
  %2332 = trunc i8 %2331 to i1
  br i1 %2332, label %2333, label %2384

2333:                                             ; preds = %2330
  call void @llvm.lifetime.start.p0(i64 4, ptr %179) #7
  %2334 = load i8, ptr %175, align 1, !tbaa !11, !range !13, !noundef !14
  %2335 = trunc i8 %2334 to i1
  %2336 = zext i1 %2335 to i32
  %2337 = load i8, ptr %176, align 1, !tbaa !11, !range !13, !noundef !14
  %2338 = trunc i8 %2337 to i1
  %2339 = zext i1 %2338 to i32
  %2340 = icmp sgt i32 %2336, %2339
  br i1 %2340, label %2341, label %2349

2341:                                             ; preds = %2333
  %2342 = load i8, ptr %175, align 1, !tbaa !11, !range !13, !noundef !14
  %2343 = trunc i8 %2342 to i1
  %2344 = zext i1 %2343 to i32
  %2345 = load i8, ptr %176, align 1, !tbaa !11, !range !13, !noundef !14
  %2346 = trunc i8 %2345 to i1
  %2347 = zext i1 %2346 to i32
  %2348 = sub nsw i32 %2344, %2347
  br label %2357

2349:                                             ; preds = %2333
  %2350 = load i8, ptr %176, align 1, !tbaa !11, !range !13, !noundef !14
  %2351 = trunc i8 %2350 to i1
  %2352 = zext i1 %2351 to i32
  %2353 = load i8, ptr %175, align 1, !tbaa !11, !range !13, !noundef !14
  %2354 = trunc i8 %2353 to i1
  %2355 = zext i1 %2354 to i32
  %2356 = sub nsw i32 %2352, %2355
  br label %2357

2357:                                             ; preds = %2349, %2341
  %2358 = phi i32 [ %2348, %2341 ], [ %2356, %2349 ]
  store i32 %2358, ptr %179, align 4, !tbaa !5
  %2359 = load i32, ptr %179, align 4, !tbaa !5
  %2360 = call noundef i32 @_ZNSt14numeric_limitsIiE7epsilonEv() #7
  %2361 = icmp sgt i32 %2359, %2360
  br i1 %2361, label %2362, label %2383

2362:                                             ; preds = %2357
  %2363 = load i8, ptr %175, align 1, !tbaa !11, !range !13, !noundef !14
  %2364 = trunc i8 %2363 to i1
  %2365 = uitofp i1 %2364 to double
  %2366 = load i8, ptr %176, align 1, !tbaa !11, !range !13, !noundef !14
  %2367 = trunc i8 %2366 to i1
  %2368 = uitofp i1 %2367 to double
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.21, ptr noundef @.str.2, i32 noundef 136, double noundef %2365, double noundef %2368)
          to label %2369 unwind label %2379

2369:                                             ; preds = %2362
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %2383

2370:                                             ; preds = %2314, %2293
  call void @llvm.lifetime.end.p0(i64 1, ptr %173) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %172) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %171) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %170) #7
  br label %2501

2371:                                             ; preds = %2322
  %2372 = landingpad { ptr, i32 }
          cleanup
  %2373 = extractvalue { ptr, i32 } %2372, 0
  store ptr %2373, ptr %55, align 8
  %2374 = extractvalue { ptr, i32 } %2372, 1
  store i32 %2374, ptr %56, align 4
  br label %2501

2375:                                             ; preds = %2324
  %2376 = landingpad { ptr, i32 }
          cleanup
  %2377 = extractvalue { ptr, i32 } %2376, 0
  store ptr %2377, ptr %55, align 8
  %2378 = extractvalue { ptr, i32 } %2376, 1
  store i32 %2378, ptr %56, align 4
  br label %2449

2379:                                             ; preds = %2362
  %2380 = landingpad { ptr, i32 }
          cleanup
  %2381 = extractvalue { ptr, i32 } %2380, 0
  store ptr %2381, ptr %55, align 8
  %2382 = extractvalue { ptr, i32 } %2380, 1
  store i32 %2382, ptr %56, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %179) #7
  br label %2448

2383:                                             ; preds = %2369, %2357
  call void @llvm.lifetime.end.p0(i64 4, ptr %179) #7
  br label %2414

2384:                                             ; preds = %2330, %2326
  %2385 = load i8, ptr %175, align 1, !tbaa !11, !range !13, !noundef !14
  %2386 = trunc i8 %2385 to i1
  %2387 = zext i1 %2386 to i32
  %2388 = load i8, ptr %176, align 1, !tbaa !11, !range !13, !noundef !14
  %2389 = trunc i8 %2388 to i1
  %2390 = zext i1 %2389 to i32
  %2391 = icmp ne i32 %2387, %2390
  br i1 %2391, label %2392, label %2413

2392:                                             ; preds = %2384
  %2393 = load i8, ptr %175, align 1, !tbaa !11, !range !13, !noundef !14
  %2394 = trunc i8 %2393 to i1
  %2395 = zext i1 %2394 to i32
  %2396 = load i8, ptr %176, align 1, !tbaa !11, !range !13, !noundef !14
  %2397 = trunc i8 %2396 to i1
  %2398 = zext i1 %2397 to i32
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.22, ptr noundef @.str.2, i32 noundef 136, i32 noundef %2395, i32 noundef %2398)
          to label %2399 unwind label %2408

2399:                                             ; preds = %2392
  %2400 = load i8, ptr %177, align 1, !tbaa !11, !range !13, !noundef !14
  %2401 = trunc i8 %2400 to i1
  br i1 %2401, label %2405, label %2402

2402:                                             ; preds = %2399
  %2403 = load i8, ptr %178, align 1, !tbaa !11, !range !13, !noundef !14
  %2404 = trunc i8 %2403 to i1
  br i1 %2404, label %2405, label %2412

2405:                                             ; preds = %2402, %2399
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
          to label %2406 unwind label %2408

2406:                                             ; preds = %2405
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
          to label %2407 unwind label %2408

2407:                                             ; preds = %2406
  br label %2412

2408:                                             ; preds = %2406, %2405, %2392
  %2409 = landingpad { ptr, i32 }
          cleanup
  %2410 = extractvalue { ptr, i32 } %2409, 0
  store ptr %2410, ptr %55, align 8
  %2411 = extractvalue { ptr, i32 } %2409, 1
  store i32 %2411, ptr %56, align 4
  br label %2448

2412:                                             ; preds = %2407, %2402
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %2413

2413:                                             ; preds = %2412, %2384
  br label %2414

2414:                                             ; preds = %2413, %2383
  call void @llvm.lifetime.end.p0(i64 1, ptr %178) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %177) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %176) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %175) #7
  br label %2415

2415:                                             ; preds = %2414
  br label %2416

2416:                                             ; preds = %2415
  br label %2417

2417:                                             ; preds = %2416
  call void @llvm.lifetime.start.p0(i64 8, ptr %180) #7
  store i64 90, ptr %180, align 8, !tbaa !22
  call void @llvm.lifetime.start.p0(i64 8, ptr %181) #7
  %2418 = invoke noundef i64 @_ZN6tflite19GreedyMemoryPlanner20GetMaximumMemorySizeEv(ptr noundef nonnull align 8 dereferenceable(65) %98)
          to label %2419 unwind label %2450

2419:                                             ; preds = %2417
  store i64 %2418, ptr %181, align 8, !tbaa !22
  call void @llvm.lifetime.start.p0(i64 1, ptr %182) #7
  store i8 0, ptr %182, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %183) #7
  store i8 0, ptr %183, align 1, !tbaa !11
  %2420 = load i8, ptr %182, align 1, !tbaa !11, !range !13, !noundef !14
  %2421 = trunc i8 %2420 to i1
  br i1 %2421, label %2422, label %2459

2422:                                             ; preds = %2419
  %2423 = load i8, ptr %183, align 1, !tbaa !11, !range !13, !noundef !14
  %2424 = trunc i8 %2423 to i1
  br i1 %2424, label %2425, label %2459

2425:                                             ; preds = %2422
  call void @llvm.lifetime.start.p0(i64 8, ptr %184) #7
  %2426 = load i64, ptr %180, align 8, !tbaa !22
  %2427 = load i64, ptr %181, align 8, !tbaa !22
  %2428 = icmp ugt i64 %2426, %2427
  br i1 %2428, label %2429, label %2433

2429:                                             ; preds = %2425
  %2430 = load i64, ptr %180, align 8, !tbaa !22
  %2431 = load i64, ptr %181, align 8, !tbaa !22
  %2432 = sub i64 %2430, %2431
  br label %2437

2433:                                             ; preds = %2425
  %2434 = load i64, ptr %181, align 8, !tbaa !22
  %2435 = load i64, ptr %180, align 8, !tbaa !22
  %2436 = sub i64 %2434, %2435
  br label %2437

2437:                                             ; preds = %2433, %2429
  %2438 = phi i64 [ %2432, %2429 ], [ %2436, %2433 ]
  store i64 %2438, ptr %184, align 8, !tbaa !22
  %2439 = load i64, ptr %184, align 8, !tbaa !22
  %2440 = call noundef i64 @_ZNSt14numeric_limitsImE7epsilonEv() #7
  %2441 = icmp ugt i64 %2439, %2440
  br i1 %2441, label %2442, label %2458

2442:                                             ; preds = %2437
  %2443 = load i64, ptr %180, align 8, !tbaa !22
  %2444 = uitofp i64 %2443 to double
  %2445 = load i64, ptr %181, align 8, !tbaa !22
  %2446 = uitofp i64 %2445 to double
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.52, ptr noundef @.str.2, i32 noundef 139, double noundef %2444, double noundef %2446)
          to label %2447 unwind label %2454

2447:                                             ; preds = %2442
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %2458

2448:                                             ; preds = %2408, %2379
  call void @llvm.lifetime.end.p0(i64 1, ptr %178) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %177) #7
  br label %2449

2449:                                             ; preds = %2448, %2375
  call void @llvm.lifetime.end.p0(i64 1, ptr %176) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %175) #7
  br label %2501

2450:                                             ; preds = %2417
  %2451 = landingpad { ptr, i32 }
          cleanup
  %2452 = extractvalue { ptr, i32 } %2451, 0
  store ptr %2452, ptr %55, align 8
  %2453 = extractvalue { ptr, i32 } %2451, 1
  store i32 %2453, ptr %56, align 4
  br label %2500

2454:                                             ; preds = %2442
  %2455 = landingpad { ptr, i32 }
          cleanup
  %2456 = extractvalue { ptr, i32 } %2455, 0
  store ptr %2456, ptr %55, align 8
  %2457 = extractvalue { ptr, i32 } %2455, 1
  store i32 %2457, ptr %56, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %184) #7
  br label %2499

2458:                                             ; preds = %2447, %2437
  call void @llvm.lifetime.end.p0(i64 8, ptr %184) #7
  br label %2483

2459:                                             ; preds = %2422, %2419
  %2460 = load i64, ptr %180, align 8, !tbaa !22
  %2461 = load i64, ptr %181, align 8, !tbaa !22
  %2462 = icmp ne i64 %2460, %2461
  br i1 %2462, label %2463, label %2482

2463:                                             ; preds = %2459
  %2464 = load i64, ptr %180, align 8, !tbaa !22
  %2465 = trunc i64 %2464 to i32
  %2466 = load i64, ptr %181, align 8, !tbaa !22
  %2467 = trunc i64 %2466 to i32
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.53, ptr noundef @.str.2, i32 noundef 139, i32 noundef %2465, i32 noundef %2467)
          to label %2468 unwind label %2477

2468:                                             ; preds = %2463
  %2469 = load i8, ptr %182, align 1, !tbaa !11, !range !13, !noundef !14
  %2470 = trunc i8 %2469 to i1
  br i1 %2470, label %2474, label %2471

2471:                                             ; preds = %2468
  %2472 = load i8, ptr %183, align 1, !tbaa !11, !range !13, !noundef !14
  %2473 = trunc i8 %2472 to i1
  br i1 %2473, label %2474, label %2481

2474:                                             ; preds = %2471, %2468
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
          to label %2475 unwind label %2477

2475:                                             ; preds = %2474
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
          to label %2476 unwind label %2477

2476:                                             ; preds = %2475
  br label %2481

2477:                                             ; preds = %2475, %2474, %2463
  %2478 = landingpad { ptr, i32 }
          cleanup
  %2479 = extractvalue { ptr, i32 } %2478, 0
  store ptr %2479, ptr %55, align 8
  %2480 = extractvalue { ptr, i32 } %2478, 1
  store i32 %2480, ptr %56, align 4
  br label %2499

2481:                                             ; preds = %2476, %2471
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %2482

2482:                                             ; preds = %2481, %2459
  br label %2483

2483:                                             ; preds = %2482, %2458
  call void @llvm.lifetime.end.p0(i64 1, ptr %183) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %182) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %181) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %180) #7
  br label %2484

2484:                                             ; preds = %2483
  br label %2485

2485:                                             ; preds = %2484
  call void @llvm.lifetime.end.p0(i64 4, ptr %124) #7
  call void @_ZN6tflite19GreedyMemoryPlannerD1Ev(ptr noundef nonnull align 8 dereferenceable(65) %98) #7
  call void @llvm.lifetime.end.p0(i64 72, ptr %98) #7
  br label %2486

2486:                                             ; preds = %2485
  store i8 1, ptr @_ZN10micro_test16is_test_completeE, align 1, !tbaa !11
  %2487 = load i8, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11, !range !13, !noundef !14
  %2488 = trunc i8 %2487 to i1
  %2489 = zext i1 %2488 to i64
  %2490 = select i1 %2488, i32 0, i32 1
  %2491 = load i32, ptr @_ZN10micro_test12tests_passedE, align 4, !tbaa !5
  %2492 = add nsw i32 %2491, %2490
  store i32 %2492, ptr @_ZN10micro_test12tests_passedE, align 4, !tbaa !5
  %2493 = load i8, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11, !range !13, !noundef !14
  %2494 = trunc i8 %2493 to i1
  %2495 = zext i1 %2494 to i64
  %2496 = select i1 %2494, i32 1, i32 0
  %2497 = load i32, ptr @_ZN10micro_test12tests_failedE, align 4, !tbaa !5
  %2498 = add nsw i32 %2497, %2496
  store i32 %2498, ptr @_ZN10micro_test12tests_failedE, align 4, !tbaa !5
  br label %1338, !llvm.loop !25

2499:                                             ; preds = %2477, %2454
  call void @llvm.lifetime.end.p0(i64 1, ptr %183) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %182) #7
  br label %2500

2500:                                             ; preds = %2499, %2450
  call void @llvm.lifetime.end.p0(i64 8, ptr %181) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %180) #7
  br label %2501

2501:                                             ; preds = %2500, %2449, %2371, %2370, %2292, %2226, %2164, %2098, %2036, %1970, %1908, %1842, %1780
  call void @llvm.lifetime.end.p0(i64 4, ptr %124) #7
  br label %2502

2502:                                             ; preds = %2501, %1714, %1647, %1580, %1513, %1446, %1376
  call void @_ZN6tflite19GreedyMemoryPlannerD1Ev(ptr noundef nonnull align 8 dereferenceable(65) %98) #7
  call void @llvm.lifetime.end.p0(i64 72, ptr %98) #7
  br label %5198

2503:                                             ; preds = %1338
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.54)
  store i8 0, ptr @_ZN10micro_test16is_test_completeE, align 1, !tbaa !11
  store i8 0, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %2504

2504:                                             ; preds = %4625, %2503
  %2505 = load i8, ptr @_ZN10micro_test16is_test_completeE, align 1, !tbaa !11, !range !13, !noundef !14
  %2506 = trunc i8 %2505 to i1
  %2507 = xor i1 %2506, true
  br i1 %2507, label %2508, label %4639

2508:                                             ; preds = %2504
  call void @llvm.lifetime.start.p0(i64 72, ptr %185) #7
  call void @_ZN6tflite19GreedyMemoryPlannerC1Ev(ptr noundef nonnull align 8 dereferenceable(65) %185)
  %2509 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner4InitEPhi(ptr noundef nonnull align 8 dereferenceable(65) %185, ptr noundef @_ZN12_GLOBAL__N_116g_scratch_bufferE, i32 noundef 4096)
          to label %2510 unwind label %2542

2510:                                             ; preds = %2508
  br label %2511

2511:                                             ; preds = %2510
  call void @llvm.lifetime.start.p0(i64 4, ptr %186) #7
  store i32 0, ptr %186, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 4, ptr %187) #7
  %2512 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %185, i32 noundef 9216, i32 noundef 0, i32 noundef 29)
          to label %2513 unwind label %2546

2513:                                             ; preds = %2511
  store i32 %2512, ptr %187, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 1, ptr %188) #7
  store i8 0, ptr %188, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %189) #7
  store i8 0, ptr %189, align 1, !tbaa !11
  %2514 = load i8, ptr %188, align 1, !tbaa !11, !range !13, !noundef !14
  %2515 = trunc i8 %2514 to i1
  br i1 %2515, label %2516, label %2555

2516:                                             ; preds = %2513
  %2517 = load i8, ptr %189, align 1, !tbaa !11, !range !13, !noundef !14
  %2518 = trunc i8 %2517 to i1
  br i1 %2518, label %2519, label %2555

2519:                                             ; preds = %2516
  call void @llvm.lifetime.start.p0(i64 4, ptr %190) #7
  %2520 = load i32, ptr %186, align 4, !tbaa !20
  %2521 = load i32, ptr %187, align 4, !tbaa !20
  %2522 = icmp sgt i32 %2520, %2521
  br i1 %2522, label %2523, label %2527

2523:                                             ; preds = %2519
  %2524 = load i32, ptr %186, align 4, !tbaa !20
  %2525 = load i32, ptr %187, align 4, !tbaa !20
  %2526 = sub nsw i32 %2524, %2525
  br label %2531

2527:                                             ; preds = %2519
  %2528 = load i32, ptr %187, align 4, !tbaa !20
  %2529 = load i32, ptr %186, align 4, !tbaa !20
  %2530 = sub nsw i32 %2528, %2529
  br label %2531

2531:                                             ; preds = %2527, %2523
  %2532 = phi i32 [ %2526, %2523 ], [ %2530, %2527 ]
  store i32 %2532, ptr %190, align 4, !tbaa !5
  %2533 = load i32, ptr %190, align 4, !tbaa !5
  %2534 = call noundef i32 @_ZNSt14numeric_limitsIiE7epsilonEv() #7
  %2535 = icmp sgt i32 %2533, %2534
  br i1 %2535, label %2536, label %2554

2536:                                             ; preds = %2531
  %2537 = load i32, ptr %186, align 4, !tbaa !20
  %2538 = uitofp i32 %2537 to double
  %2539 = load i32, ptr %187, align 4, !tbaa !20
  %2540 = uitofp i32 %2539 to double
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.55, ptr noundef @.str.2, i32 noundef 147, double noundef %2538, double noundef %2540)
          to label %2541 unwind label %2550

2541:                                             ; preds = %2536
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %2554

2542:                                             ; preds = %4618, %4614, %4522, %2508
  %2543 = landingpad { ptr, i32 }
          cleanup
  %2544 = extractvalue { ptr, i32 } %2543, 0
  store ptr %2544, ptr %55, align 8
  %2545 = extractvalue { ptr, i32 } %2543, 1
  store i32 %2545, ptr %56, align 4
  br label %4638

2546:                                             ; preds = %2511
  %2547 = landingpad { ptr, i32 }
          cleanup
  %2548 = extractvalue { ptr, i32 } %2547, 0
  store ptr %2548, ptr %55, align 8
  %2549 = extractvalue { ptr, i32 } %2547, 1
  store i32 %2549, ptr %56, align 4
  br label %2612

2550:                                             ; preds = %2536
  %2551 = landingpad { ptr, i32 }
          cleanup
  %2552 = extractvalue { ptr, i32 } %2551, 0
  store ptr %2552, ptr %55, align 8
  %2553 = extractvalue { ptr, i32 } %2551, 1
  store i32 %2553, ptr %56, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %190) #7
  br label %2611

2554:                                             ; preds = %2541, %2531
  call void @llvm.lifetime.end.p0(i64 4, ptr %190) #7
  br label %2577

2555:                                             ; preds = %2516, %2513
  %2556 = load i32, ptr %186, align 4, !tbaa !20
  %2557 = load i32, ptr %187, align 4, !tbaa !20
  %2558 = icmp ne i32 %2556, %2557
  br i1 %2558, label %2559, label %2576

2559:                                             ; preds = %2555
  %2560 = load i32, ptr %186, align 4, !tbaa !20
  %2561 = load i32, ptr %187, align 4, !tbaa !20
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.56, ptr noundef @.str.2, i32 noundef 147, i32 noundef %2560, i32 noundef %2561)
          to label %2562 unwind label %2571

2562:                                             ; preds = %2559
  %2563 = load i8, ptr %188, align 1, !tbaa !11, !range !13, !noundef !14
  %2564 = trunc i8 %2563 to i1
  br i1 %2564, label %2568, label %2565

2565:                                             ; preds = %2562
  %2566 = load i8, ptr %189, align 1, !tbaa !11, !range !13, !noundef !14
  %2567 = trunc i8 %2566 to i1
  br i1 %2567, label %2568, label %2575

2568:                                             ; preds = %2565, %2562
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
          to label %2569 unwind label %2571

2569:                                             ; preds = %2568
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
          to label %2570 unwind label %2571

2570:                                             ; preds = %2569
  br label %2575

2571:                                             ; preds = %2569, %2568, %2559
  %2572 = landingpad { ptr, i32 }
          cleanup
  %2573 = extractvalue { ptr, i32 } %2572, 0
  store ptr %2573, ptr %55, align 8
  %2574 = extractvalue { ptr, i32 } %2572, 1
  store i32 %2574, ptr %56, align 4
  br label %2611

2575:                                             ; preds = %2570, %2565
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %2576

2576:                                             ; preds = %2575, %2555
  br label %2577

2577:                                             ; preds = %2576, %2554
  call void @llvm.lifetime.end.p0(i64 1, ptr %189) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %188) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %187) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %186) #7
  br label %2578

2578:                                             ; preds = %2577
  br label %2579

2579:                                             ; preds = %2578
  br label %2580

2580:                                             ; preds = %2579
  call void @llvm.lifetime.start.p0(i64 4, ptr %191) #7
  store i32 0, ptr %191, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 4, ptr %192) #7
  %2581 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %185, i32 noundef 3, i32 noundef 28, i32 noundef 29)
          to label %2582 unwind label %2613

2582:                                             ; preds = %2580
  store i32 %2581, ptr %192, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 1, ptr %193) #7
  store i8 0, ptr %193, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %194) #7
  store i8 0, ptr %194, align 1, !tbaa !11
  %2583 = load i8, ptr %193, align 1, !tbaa !11, !range !13, !noundef !14
  %2584 = trunc i8 %2583 to i1
  br i1 %2584, label %2585, label %2622

2585:                                             ; preds = %2582
  %2586 = load i8, ptr %194, align 1, !tbaa !11, !range !13, !noundef !14
  %2587 = trunc i8 %2586 to i1
  br i1 %2587, label %2588, label %2622

2588:                                             ; preds = %2585
  call void @llvm.lifetime.start.p0(i64 4, ptr %195) #7
  %2589 = load i32, ptr %191, align 4, !tbaa !20
  %2590 = load i32, ptr %192, align 4, !tbaa !20
  %2591 = icmp sgt i32 %2589, %2590
  br i1 %2591, label %2592, label %2596

2592:                                             ; preds = %2588
  %2593 = load i32, ptr %191, align 4, !tbaa !20
  %2594 = load i32, ptr %192, align 4, !tbaa !20
  %2595 = sub nsw i32 %2593, %2594
  br label %2600

2596:                                             ; preds = %2588
  %2597 = load i32, ptr %192, align 4, !tbaa !20
  %2598 = load i32, ptr %191, align 4, !tbaa !20
  %2599 = sub nsw i32 %2597, %2598
  br label %2600

2600:                                             ; preds = %2596, %2592
  %2601 = phi i32 [ %2595, %2592 ], [ %2599, %2596 ]
  store i32 %2601, ptr %195, align 4, !tbaa !5
  %2602 = load i32, ptr %195, align 4, !tbaa !5
  %2603 = call noundef i32 @_ZNSt14numeric_limitsIiE7epsilonEv() #7
  %2604 = icmp sgt i32 %2602, %2603
  br i1 %2604, label %2605, label %2621

2605:                                             ; preds = %2600
  %2606 = load i32, ptr %191, align 4, !tbaa !20
  %2607 = uitofp i32 %2606 to double
  %2608 = load i32, ptr %192, align 4, !tbaa !20
  %2609 = uitofp i32 %2608 to double
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.57, ptr noundef @.str.2, i32 noundef 148, double noundef %2607, double noundef %2609)
          to label %2610 unwind label %2617

2610:                                             ; preds = %2605
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %2621

2611:                                             ; preds = %2571, %2550
  call void @llvm.lifetime.end.p0(i64 1, ptr %189) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %188) #7
  br label %2612

2612:                                             ; preds = %2611, %2546
  call void @llvm.lifetime.end.p0(i64 4, ptr %187) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %186) #7
  br label %4638

2613:                                             ; preds = %2580
  %2614 = landingpad { ptr, i32 }
          cleanup
  %2615 = extractvalue { ptr, i32 } %2614, 0
  store ptr %2615, ptr %55, align 8
  %2616 = extractvalue { ptr, i32 } %2614, 1
  store i32 %2616, ptr %56, align 4
  br label %2679

2617:                                             ; preds = %2605
  %2618 = landingpad { ptr, i32 }
          cleanup
  %2619 = extractvalue { ptr, i32 } %2618, 0
  store ptr %2619, ptr %55, align 8
  %2620 = extractvalue { ptr, i32 } %2618, 1
  store i32 %2620, ptr %56, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %195) #7
  br label %2678

2621:                                             ; preds = %2610, %2600
  call void @llvm.lifetime.end.p0(i64 4, ptr %195) #7
  br label %2644

2622:                                             ; preds = %2585, %2582
  %2623 = load i32, ptr %191, align 4, !tbaa !20
  %2624 = load i32, ptr %192, align 4, !tbaa !20
  %2625 = icmp ne i32 %2623, %2624
  br i1 %2625, label %2626, label %2643

2626:                                             ; preds = %2622
  %2627 = load i32, ptr %191, align 4, !tbaa !20
  %2628 = load i32, ptr %192, align 4, !tbaa !20
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.58, ptr noundef @.str.2, i32 noundef 148, i32 noundef %2627, i32 noundef %2628)
          to label %2629 unwind label %2638

2629:                                             ; preds = %2626
  %2630 = load i8, ptr %193, align 1, !tbaa !11, !range !13, !noundef !14
  %2631 = trunc i8 %2630 to i1
  br i1 %2631, label %2635, label %2632

2632:                                             ; preds = %2629
  %2633 = load i8, ptr %194, align 1, !tbaa !11, !range !13, !noundef !14
  %2634 = trunc i8 %2633 to i1
  br i1 %2634, label %2635, label %2642

2635:                                             ; preds = %2632, %2629
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
          to label %2636 unwind label %2638

2636:                                             ; preds = %2635
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
          to label %2637 unwind label %2638

2637:                                             ; preds = %2636
  br label %2642

2638:                                             ; preds = %2636, %2635, %2626
  %2639 = landingpad { ptr, i32 }
          cleanup
  %2640 = extractvalue { ptr, i32 } %2639, 0
  store ptr %2640, ptr %55, align 8
  %2641 = extractvalue { ptr, i32 } %2639, 1
  store i32 %2641, ptr %56, align 4
  br label %2678

2642:                                             ; preds = %2637, %2632
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %2643

2643:                                             ; preds = %2642, %2622
  br label %2644

2644:                                             ; preds = %2643, %2621
  call void @llvm.lifetime.end.p0(i64 1, ptr %194) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %193) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %192) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %191) #7
  br label %2645

2645:                                             ; preds = %2644
  br label %2646

2646:                                             ; preds = %2645
  br label %2647

2647:                                             ; preds = %2646
  call void @llvm.lifetime.start.p0(i64 4, ptr %196) #7
  store i32 0, ptr %196, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 4, ptr %197) #7
  %2648 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %185, i32 noundef 256, i32 noundef 27, i32 noundef 28)
          to label %2649 unwind label %2680

2649:                                             ; preds = %2647
  store i32 %2648, ptr %197, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 1, ptr %198) #7
  store i8 0, ptr %198, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %199) #7
  store i8 0, ptr %199, align 1, !tbaa !11
  %2650 = load i8, ptr %198, align 1, !tbaa !11, !range !13, !noundef !14
  %2651 = trunc i8 %2650 to i1
  br i1 %2651, label %2652, label %2689

2652:                                             ; preds = %2649
  %2653 = load i8, ptr %199, align 1, !tbaa !11, !range !13, !noundef !14
  %2654 = trunc i8 %2653 to i1
  br i1 %2654, label %2655, label %2689

2655:                                             ; preds = %2652
  call void @llvm.lifetime.start.p0(i64 4, ptr %200) #7
  %2656 = load i32, ptr %196, align 4, !tbaa !20
  %2657 = load i32, ptr %197, align 4, !tbaa !20
  %2658 = icmp sgt i32 %2656, %2657
  br i1 %2658, label %2659, label %2663

2659:                                             ; preds = %2655
  %2660 = load i32, ptr %196, align 4, !tbaa !20
  %2661 = load i32, ptr %197, align 4, !tbaa !20
  %2662 = sub nsw i32 %2660, %2661
  br label %2667

2663:                                             ; preds = %2655
  %2664 = load i32, ptr %197, align 4, !tbaa !20
  %2665 = load i32, ptr %196, align 4, !tbaa !20
  %2666 = sub nsw i32 %2664, %2665
  br label %2667

2667:                                             ; preds = %2663, %2659
  %2668 = phi i32 [ %2662, %2659 ], [ %2666, %2663 ]
  store i32 %2668, ptr %200, align 4, !tbaa !5
  %2669 = load i32, ptr %200, align 4, !tbaa !5
  %2670 = call noundef i32 @_ZNSt14numeric_limitsIiE7epsilonEv() #7
  %2671 = icmp sgt i32 %2669, %2670
  br i1 %2671, label %2672, label %2688

2672:                                             ; preds = %2667
  %2673 = load i32, ptr %196, align 4, !tbaa !20
  %2674 = uitofp i32 %2673 to double
  %2675 = load i32, ptr %197, align 4, !tbaa !20
  %2676 = uitofp i32 %2675 to double
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.59, ptr noundef @.str.2, i32 noundef 149, double noundef %2674, double noundef %2676)
          to label %2677 unwind label %2684

2677:                                             ; preds = %2672
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %2688

2678:                                             ; preds = %2638, %2617
  call void @llvm.lifetime.end.p0(i64 1, ptr %194) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %193) #7
  br label %2679

2679:                                             ; preds = %2678, %2613
  call void @llvm.lifetime.end.p0(i64 4, ptr %192) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %191) #7
  br label %4638

2680:                                             ; preds = %2647
  %2681 = landingpad { ptr, i32 }
          cleanup
  %2682 = extractvalue { ptr, i32 } %2681, 0
  store ptr %2682, ptr %55, align 8
  %2683 = extractvalue { ptr, i32 } %2681, 1
  store i32 %2683, ptr %56, align 4
  br label %2746

2684:                                             ; preds = %2672
  %2685 = landingpad { ptr, i32 }
          cleanup
  %2686 = extractvalue { ptr, i32 } %2685, 0
  store ptr %2686, ptr %55, align 8
  %2687 = extractvalue { ptr, i32 } %2685, 1
  store i32 %2687, ptr %56, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %200) #7
  br label %2745

2688:                                             ; preds = %2677, %2667
  call void @llvm.lifetime.end.p0(i64 4, ptr %200) #7
  br label %2711

2689:                                             ; preds = %2652, %2649
  %2690 = load i32, ptr %196, align 4, !tbaa !20
  %2691 = load i32, ptr %197, align 4, !tbaa !20
  %2692 = icmp ne i32 %2690, %2691
  br i1 %2692, label %2693, label %2710

2693:                                             ; preds = %2689
  %2694 = load i32, ptr %196, align 4, !tbaa !20
  %2695 = load i32, ptr %197, align 4, !tbaa !20
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.60, ptr noundef @.str.2, i32 noundef 149, i32 noundef %2694, i32 noundef %2695)
          to label %2696 unwind label %2705

2696:                                             ; preds = %2693
  %2697 = load i8, ptr %198, align 1, !tbaa !11, !range !13, !noundef !14
  %2698 = trunc i8 %2697 to i1
  br i1 %2698, label %2702, label %2699

2699:                                             ; preds = %2696
  %2700 = load i8, ptr %199, align 1, !tbaa !11, !range !13, !noundef !14
  %2701 = trunc i8 %2700 to i1
  br i1 %2701, label %2702, label %2709

2702:                                             ; preds = %2699, %2696
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
          to label %2703 unwind label %2705

2703:                                             ; preds = %2702
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
          to label %2704 unwind label %2705

2704:                                             ; preds = %2703
  br label %2709

2705:                                             ; preds = %2703, %2702, %2693
  %2706 = landingpad { ptr, i32 }
          cleanup
  %2707 = extractvalue { ptr, i32 } %2706, 0
  store ptr %2707, ptr %55, align 8
  %2708 = extractvalue { ptr, i32 } %2706, 1
  store i32 %2708, ptr %56, align 4
  br label %2745

2709:                                             ; preds = %2704, %2699
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %2710

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

2711:                                             ; preds = %2710, %2688
  call void @llvm.lifetime.end.p0(i64 1, ptr %199) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %198) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %197) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %196) #7
  br label %2712

2712:                                             ; preds = %2711
  br label %2713

2713:                                             ; preds = %2712
  br label %2714

2714:                                             ; preds = %2713
  call void @llvm.lifetime.start.p0(i64 4, ptr %201) #7
  store i32 0, ptr %201, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 4, ptr %202) #7
  %2715 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %185, i32 noundef 2304, i32 noundef 26, i32 noundef 27)
          to label %2716 unwind label %2747

2716:                                             ; preds = %2714
  store i32 %2715, ptr %202, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 1, ptr %203) #7
  store i8 0, ptr %203, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %204) #7
  store i8 0, ptr %204, align 1, !tbaa !11
  %2717 = load i8, ptr %203, align 1, !tbaa !11, !range !13, !noundef !14
  %2718 = trunc i8 %2717 to i1
  br i1 %2718, label %2719, label %2756

2719:                                             ; preds = %2716
  %2720 = load i8, ptr %204, align 1, !tbaa !11, !range !13, !noundef !14
  %2721 = trunc i8 %2720 to i1
  br i1 %2721, label %2722, label %2756

2722:                                             ; preds = %2719
  call void @llvm.lifetime.start.p0(i64 4, ptr %205) #7
  %2723 = load i32, ptr %201, align 4, !tbaa !20
  %2724 = load i32, ptr %202, align 4, !tbaa !20
  %2725 = icmp sgt i32 %2723, %2724
  br i1 %2725, label %2726, label %2730

2726:                                             ; preds = %2722
  %2727 = load i32, ptr %201, align 4, !tbaa !20
  %2728 = load i32, ptr %202, align 4, !tbaa !20
  %2729 = sub nsw i32 %2727, %2728
  br label %2734

2730:                                             ; preds = %2722
  %2731 = load i32, ptr %202, align 4, !tbaa !20
  %2732 = load i32, ptr %201, align 4, !tbaa !20
  %2733 = sub nsw i32 %2731, %2732
  br label %2734

2734:                                             ; preds = %2730, %2726
  %2735 = phi i32 [ %2729, %2726 ], [ %2733, %2730 ]
  store i32 %2735, ptr %205, align 4, !tbaa !5
  %2736 = load i32, ptr %205, align 4, !tbaa !5
  %2737 = call noundef i32 @_ZNSt14numeric_limitsIiE7epsilonEv() #7
  %2738 = icmp sgt i32 %2736, %2737
  br i1 %2738, label %2739, label %2755

2739:                                             ; preds = %2734
  %2740 = load i32, ptr %201, align 4, !tbaa !20
  %2741 = uitofp i32 %2740 to double
  %2742 = load i32, ptr %202, align 4, !tbaa !20
  %2743 = uitofp i32 %2742 to double
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.61, ptr noundef @.str.2, i32 noundef 150, double noundef %2741, double noundef %2743)
          to label %2744 unwind label %2751

2744:                                             ; preds = %2739
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %2755

2745:                                             ; preds = %2705, %2684
  call void @llvm.lifetime.end.p0(i64 1, ptr %199) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %198) #7
  br label %2746

2746:                                             ; preds = %2745, %2680
  call void @llvm.lifetime.end.p0(i64 4, ptr %197) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %196) #7
  br label %4638

2747:                                             ; preds = %2714
  %2748 = landingpad { ptr, i32 }
          cleanup
  %2749 = extractvalue { ptr, i32 } %2748, 0
  store ptr %2749, ptr %55, align 8
  %2750 = extractvalue { ptr, i32 } %2748, 1
  store i32 %2750, ptr %56, align 4
  br label %2813

2751:                                             ; preds = %2739
  %2752 = landingpad { ptr, i32 }
          cleanup
  %2753 = extractvalue { ptr, i32 } %2752, 0
  store ptr %2753, ptr %55, align 8
  %2754 = extractvalue { ptr, i32 } %2752, 1
  store i32 %2754, ptr %56, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %205) #7
  br label %2812

2755:                                             ; preds = %2744, %2734
  call void @llvm.lifetime.end.p0(i64 4, ptr %205) #7
  br label %2778

2756:                                             ; preds = %2719, %2716
  %2757 = load i32, ptr %201, align 4, !tbaa !20
  %2758 = load i32, ptr %202, align 4, !tbaa !20
  %2759 = icmp ne i32 %2757, %2758
  br i1 %2759, label %2760, label %2777

2760:                                             ; preds = %2756
  %2761 = load i32, ptr %201, align 4, !tbaa !20
  %2762 = load i32, ptr %202, align 4, !tbaa !20
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.62, ptr noundef @.str.2, i32 noundef 150, i32 noundef %2761, i32 noundef %2762)
          to label %2763 unwind label %2772

2763:                                             ; preds = %2760
  %2764 = load i8, ptr %203, align 1, !tbaa !11, !range !13, !noundef !14
  %2765 = trunc i8 %2764 to i1
  br i1 %2765, label %2769, label %2766

2766:                                             ; preds = %2763
  %2767 = load i8, ptr %204, align 1, !tbaa !11, !range !13, !noundef !14
  %2768 = trunc i8 %2767 to i1
  br i1 %2768, label %2769, label %2776

2769:                                             ; preds = %2766, %2763
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
          to label %2770 unwind label %2772

2770:                                             ; preds = %2769
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
          to label %2771 unwind label %2772

2771:                                             ; preds = %2770
  br label %2776

2772:                                             ; preds = %2770, %2769, %2760
  %2773 = landingpad { ptr, i32 }
          cleanup
  %2774 = extractvalue { ptr, i32 } %2773, 0
  store ptr %2774, ptr %55, align 8
  %2775 = extractvalue { ptr, i32 } %2773, 1
  store i32 %2775, ptr %56, align 4
  br label %2812

2776:                                             ; preds = %2771, %2766
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %2777

2777:                                             ; preds = %2776, %2756
  br label %2778

2778:                                             ; preds = %2777, %2755
  call void @llvm.lifetime.end.p0(i64 1, ptr %204) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %203) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %202) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %201) #7
  br label %2779

2779:                                             ; preds = %2778
  br label %2780

2780:                                             ; preds = %2779
  br label %2781

2781:                                             ; preds = %2780
  call void @llvm.lifetime.start.p0(i64 4, ptr %206) #7
  store i32 0, ptr %206, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 4, ptr %207) #7
  %2782 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %185, i32 noundef 2304, i32 noundef 25, i32 noundef 26)
          to label %2783 unwind label %2814

2783:                                             ; preds = %2781
  store i32 %2782, ptr %207, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 1, ptr %208) #7
  store i8 0, ptr %208, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %209) #7
  store i8 0, ptr %209, align 1, !tbaa !11
  %2784 = load i8, ptr %208, align 1, !tbaa !11, !range !13, !noundef !14
  %2785 = trunc i8 %2784 to i1
  br i1 %2785, label %2786, label %2823

2786:                                             ; preds = %2783
  %2787 = load i8, ptr %209, align 1, !tbaa !11, !range !13, !noundef !14
  %2788 = trunc i8 %2787 to i1
  br i1 %2788, label %2789, label %2823

2789:                                             ; preds = %2786
  call void @llvm.lifetime.start.p0(i64 4, ptr %210) #7
  %2790 = load i32, ptr %206, align 4, !tbaa !20
  %2791 = load i32, ptr %207, align 4, !tbaa !20
  %2792 = icmp sgt i32 %2790, %2791
  br i1 %2792, label %2793, label %2797

2793:                                             ; preds = %2789
  %2794 = load i32, ptr %206, align 4, !tbaa !20
  %2795 = load i32, ptr %207, align 4, !tbaa !20
  %2796 = sub nsw i32 %2794, %2795
  br label %2801

2797:                                             ; preds = %2789
  %2798 = load i32, ptr %207, align 4, !tbaa !20
  %2799 = load i32, ptr %206, align 4, !tbaa !20
  %2800 = sub nsw i32 %2798, %2799
  br label %2801

2801:                                             ; preds = %2797, %2793
  %2802 = phi i32 [ %2796, %2793 ], [ %2800, %2797 ]
  store i32 %2802, ptr %210, align 4, !tbaa !5
  %2803 = load i32, ptr %210, align 4, !tbaa !5
  %2804 = call noundef i32 @_ZNSt14numeric_limitsIiE7epsilonEv() #7
  %2805 = icmp sgt i32 %2803, %2804
  br i1 %2805, label %2806, label %2822

2806:                                             ; preds = %2801
  %2807 = load i32, ptr %206, align 4, !tbaa !20
  %2808 = uitofp i32 %2807 to double
  %2809 = load i32, ptr %207, align 4, !tbaa !20
  %2810 = uitofp i32 %2809 to double
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.63, ptr noundef @.str.2, i32 noundef 151, double noundef %2808, double noundef %2810)
          to label %2811 unwind label %2818

2811:                                             ; preds = %2806
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %2822

2812:                                             ; preds = %2772, %2751
  call void @llvm.lifetime.end.p0(i64 1, ptr %204) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %203) #7
  br label %2813

2813:                                             ; preds = %2812, %2747
  call void @llvm.lifetime.end.p0(i64 4, ptr %202) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %201) #7
  br label %4638

2814:                                             ; preds = %2781
  %2815 = landingpad { ptr, i32 }
          cleanup
  %2816 = extractvalue { ptr, i32 } %2815, 0
  store ptr %2816, ptr %55, align 8
  %2817 = extractvalue { ptr, i32 } %2815, 1
  store i32 %2817, ptr %56, align 4
  br label %2880

2818:                                             ; preds = %2806
  %2819 = landingpad { ptr, i32 }
          cleanup
  %2820 = extractvalue { ptr, i32 } %2819, 0
  store ptr %2820, ptr %55, align 8
  %2821 = extractvalue { ptr, i32 } %2819, 1
  store i32 %2821, ptr %56, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %210) #7
  br label %2879

2822:                                             ; preds = %2811, %2801
  call void @llvm.lifetime.end.p0(i64 4, ptr %210) #7
  br label %2845

2823:                                             ; preds = %2786, %2783
  %2824 = load i32, ptr %206, align 4, !tbaa !20
  %2825 = load i32, ptr %207, align 4, !tbaa !20
  %2826 = icmp ne i32 %2824, %2825
  br i1 %2826, label %2827, label %2844

2827:                                             ; preds = %2823
  %2828 = load i32, ptr %206, align 4, !tbaa !20
  %2829 = load i32, ptr %207, align 4, !tbaa !20
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.64, ptr noundef @.str.2, i32 noundef 151, i32 noundef %2828, i32 noundef %2829)
          to label %2830 unwind label %2839

2830:                                             ; preds = %2827
  %2831 = load i8, ptr %208, align 1, !tbaa !11, !range !13, !noundef !14
  %2832 = trunc i8 %2831 to i1
  br i1 %2832, label %2836, label %2833

2833:                                             ; preds = %2830
  %2834 = load i8, ptr %209, align 1, !tbaa !11, !range !13, !noundef !14
  %2835 = trunc i8 %2834 to i1
  br i1 %2835, label %2836, label %2843

2836:                                             ; preds = %2833, %2830
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
          to label %2837 unwind label %2839

2837:                                             ; preds = %2836
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
          to label %2838 unwind label %2839

2838:                                             ; preds = %2837
  br label %2843

2839:                                             ; preds = %2837, %2836, %2827
  %2840 = landingpad { ptr, i32 }
          cleanup
  %2841 = extractvalue { ptr, i32 } %2840, 0
  store ptr %2841, ptr %55, align 8
  %2842 = extractvalue { ptr, i32 } %2840, 1
  store i32 %2842, ptr %56, align 4
  br label %2879

2843:                                             ; preds = %2838, %2833
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %2844

2844:                                             ; preds = %2843, %2823
  br label %2845

2845:                                             ; preds = %2844, %2822
  call void @llvm.lifetime.end.p0(i64 1, ptr %209) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %208) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %207) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %206) #7
  br label %2846

2846:                                             ; preds = %2845
  br label %2847

2847:                                             ; preds = %2846
  br label %2848

2848:                                             ; preds = %2847
  call void @llvm.lifetime.start.p0(i64 4, ptr %211) #7
  store i32 0, ptr %211, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 4, ptr %212) #7
  %2849 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %185, i32 noundef 2304, i32 noundef 24, i32 noundef 25)
          to label %2850 unwind label %2881

2850:                                             ; preds = %2848
  store i32 %2849, ptr %212, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 1, ptr %213) #7
  store i8 0, ptr %213, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %214) #7
  store i8 0, ptr %214, align 1, !tbaa !11
  %2851 = load i8, ptr %213, align 1, !tbaa !11, !range !13, !noundef !14
  %2852 = trunc i8 %2851 to i1
  br i1 %2852, label %2853, label %2890

2853:                                             ; preds = %2850
  %2854 = load i8, ptr %214, align 1, !tbaa !11, !range !13, !noundef !14
  %2855 = trunc i8 %2854 to i1
  br i1 %2855, label %2856, label %2890

2856:                                             ; preds = %2853
  call void @llvm.lifetime.start.p0(i64 4, ptr %215) #7
  %2857 = load i32, ptr %211, align 4, !tbaa !20
  %2858 = load i32, ptr %212, align 4, !tbaa !20
  %2859 = icmp sgt i32 %2857, %2858
  br i1 %2859, label %2860, label %2864

2860:                                             ; preds = %2856
  %2861 = load i32, ptr %211, align 4, !tbaa !20
  %2862 = load i32, ptr %212, align 4, !tbaa !20
  %2863 = sub nsw i32 %2861, %2862
  br label %2868

2864:                                             ; preds = %2856
  %2865 = load i32, ptr %212, align 4, !tbaa !20
  %2866 = load i32, ptr %211, align 4, !tbaa !20
  %2867 = sub nsw i32 %2865, %2866
  br label %2868

2868:                                             ; preds = %2864, %2860
  %2869 = phi i32 [ %2863, %2860 ], [ %2867, %2864 ]
  store i32 %2869, ptr %215, align 4, !tbaa !5
  %2870 = load i32, ptr %215, align 4, !tbaa !5
  %2871 = call noundef i32 @_ZNSt14numeric_limitsIiE7epsilonEv() #7
  %2872 = icmp sgt i32 %2870, %2871
  br i1 %2872, label %2873, label %2889

2873:                                             ; preds = %2868
  %2874 = load i32, ptr %211, align 4, !tbaa !20
  %2875 = uitofp i32 %2874 to double
  %2876 = load i32, ptr %212, align 4, !tbaa !20
  %2877 = uitofp i32 %2876 to double
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.65, ptr noundef @.str.2, i32 noundef 152, double noundef %2875, double noundef %2877)
          to label %2878 unwind label %2885

2878:                                             ; preds = %2873
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %2889

2879:                                             ; preds = %2839, %2818
  call void @llvm.lifetime.end.p0(i64 1, ptr %209) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %208) #7
  br label %2880

2880:                                             ; preds = %2879, %2814
  call void @llvm.lifetime.end.p0(i64 4, ptr %207) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %206) #7
  br label %4638

2881:                                             ; preds = %2848
  %2882 = landingpad { ptr, i32 }
          cleanup
  %2883 = extractvalue { ptr, i32 } %2882, 0
  store ptr %2883, ptr %55, align 8
  %2884 = extractvalue { ptr, i32 } %2882, 1
  store i32 %2884, ptr %56, align 4
  br label %2947

2885:                                             ; preds = %2873
  %2886 = landingpad { ptr, i32 }
          cleanup
  %2887 = extractvalue { ptr, i32 } %2886, 0
  store ptr %2887, ptr %55, align 8
  %2888 = extractvalue { ptr, i32 } %2886, 1
  store i32 %2888, ptr %56, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %215) #7
  br label %2946

2889:                                             ; preds = %2878, %2868
  call void @llvm.lifetime.end.p0(i64 4, ptr %215) #7
  br label %2912

2890:                                             ; preds = %2853, %2850
  %2891 = load i32, ptr %211, align 4, !tbaa !20
  %2892 = load i32, ptr %212, align 4, !tbaa !20
  %2893 = icmp ne i32 %2891, %2892
  br i1 %2893, label %2894, label %2911

2894:                                             ; preds = %2890
  %2895 = load i32, ptr %211, align 4, !tbaa !20
  %2896 = load i32, ptr %212, align 4, !tbaa !20
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.66, ptr noundef @.str.2, i32 noundef 152, i32 noundef %2895, i32 noundef %2896)
          to label %2897 unwind label %2906

2897:                                             ; preds = %2894
  %2898 = load i8, ptr %213, align 1, !tbaa !11, !range !13, !noundef !14
  %2899 = trunc i8 %2898 to i1
  br i1 %2899, label %2903, label %2900

2900:                                             ; preds = %2897
  %2901 = load i8, ptr %214, align 1, !tbaa !11, !range !13, !noundef !14
  %2902 = trunc i8 %2901 to i1
  br i1 %2902, label %2903, label %2910

2903:                                             ; preds = %2900, %2897
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
          to label %2904 unwind label %2906

2904:                                             ; preds = %2903
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
          to label %2905 unwind label %2906

2905:                                             ; preds = %2904
  br label %2910

2906:                                             ; preds = %2904, %2903, %2894
  %2907 = landingpad { ptr, i32 }
          cleanup
  %2908 = extractvalue { ptr, i32 } %2907, 0
  store ptr %2908, ptr %55, align 8
  %2909 = extractvalue { ptr, i32 } %2907, 1
  store i32 %2909, ptr %56, align 4
  br label %2946

2910:                                             ; preds = %2905, %2900
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %2911

2911:                                             ; preds = %2910, %2890
  br label %2912

2912:                                             ; preds = %2911, %2889
  call void @llvm.lifetime.end.p0(i64 1, ptr %214) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %213) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %212) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %211) #7
  br label %2913

2913:                                             ; preds = %2912
  br label %2914

2914:                                             ; preds = %2913
  br label %2915

2915:                                             ; preds = %2914
  call void @llvm.lifetime.start.p0(i64 4, ptr %216) #7
  store i32 0, ptr %216, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 4, ptr %217) #7
  %2916 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %185, i32 noundef 1152, i32 noundef 23, i32 noundef 24)
          to label %2917 unwind label %2948

2917:                                             ; preds = %2915
  store i32 %2916, ptr %217, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 1, ptr %218) #7
  store i8 0, ptr %218, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %219) #7
  store i8 0, ptr %219, align 1, !tbaa !11
  %2918 = load i8, ptr %218, align 1, !tbaa !11, !range !13, !noundef !14
  %2919 = trunc i8 %2918 to i1
  br i1 %2919, label %2920, label %2957

2920:                                             ; preds = %2917
  %2921 = load i8, ptr %219, align 1, !tbaa !11, !range !13, !noundef !14
  %2922 = trunc i8 %2921 to i1
  br i1 %2922, label %2923, label %2957

2923:                                             ; preds = %2920
  call void @llvm.lifetime.start.p0(i64 4, ptr %220) #7
  %2924 = load i32, ptr %216, align 4, !tbaa !20
  %2925 = load i32, ptr %217, align 4, !tbaa !20
  %2926 = icmp sgt i32 %2924, %2925
  br i1 %2926, label %2927, label %2931

2927:                                             ; preds = %2923
  %2928 = load i32, ptr %216, align 4, !tbaa !20
  %2929 = load i32, ptr %217, align 4, !tbaa !20
  %2930 = sub nsw i32 %2928, %2929
  br label %2935

2931:                                             ; preds = %2923
  %2932 = load i32, ptr %217, align 4, !tbaa !20
  %2933 = load i32, ptr %216, align 4, !tbaa !20
  %2934 = sub nsw i32 %2932, %2933
  br label %2935

2935:                                             ; preds = %2931, %2927
  %2936 = phi i32 [ %2930, %2927 ], [ %2934, %2931 ]
  store i32 %2936, ptr %220, align 4, !tbaa !5
  %2937 = load i32, ptr %220, align 4, !tbaa !5
  %2938 = call noundef i32 @_ZNSt14numeric_limitsIiE7epsilonEv() #7
  %2939 = icmp sgt i32 %2937, %2938
  br i1 %2939, label %2940, label %2956

2940:                                             ; preds = %2935
  %2941 = load i32, ptr %216, align 4, !tbaa !20
  %2942 = uitofp i32 %2941 to double
  %2943 = load i32, ptr %217, align 4, !tbaa !20
  %2944 = uitofp i32 %2943 to double
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.67, ptr noundef @.str.2, i32 noundef 153, double noundef %2942, double noundef %2944)
          to label %2945 unwind label %2952

2945:                                             ; preds = %2940
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %2956

2946:                                             ; preds = %2906, %2885
  call void @llvm.lifetime.end.p0(i64 1, ptr %214) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %213) #7
  br label %2947

2947:                                             ; preds = %2946, %2881
  call void @llvm.lifetime.end.p0(i64 4, ptr %212) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %211) #7
  br label %4638

2948:                                             ; preds = %2915
  %2949 = landingpad { ptr, i32 }
          cleanup
  %2950 = extractvalue { ptr, i32 } %2949, 0
  store ptr %2950, ptr %55, align 8
  %2951 = extractvalue { ptr, i32 } %2949, 1
  store i32 %2951, ptr %56, align 4
  br label %3014

2952:                                             ; preds = %2940
  %2953 = landingpad { ptr, i32 }
          cleanup
  %2954 = extractvalue { ptr, i32 } %2953, 0
  store ptr %2954, ptr %55, align 8
  %2955 = extractvalue { ptr, i32 } %2953, 1
  store i32 %2955, ptr %56, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %220) #7
  br label %3013

2956:                                             ; preds = %2945, %2935
  call void @llvm.lifetime.end.p0(i64 4, ptr %220) #7
  br label %2979

2957:                                             ; preds = %2920, %2917
  %2958 = load i32, ptr %216, align 4, !tbaa !20
  %2959 = load i32, ptr %217, align 4, !tbaa !20
  %2960 = icmp ne i32 %2958, %2959
  br i1 %2960, label %2961, label %2978

2961:                                             ; preds = %2957
  %2962 = load i32, ptr %216, align 4, !tbaa !20
  %2963 = load i32, ptr %217, align 4, !tbaa !20
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.68, ptr noundef @.str.2, i32 noundef 153, i32 noundef %2962, i32 noundef %2963)
          to label %2964 unwind label %2973

2964:                                             ; preds = %2961
  %2965 = load i8, ptr %218, align 1, !tbaa !11, !range !13, !noundef !14
  %2966 = trunc i8 %2965 to i1
  br i1 %2966, label %2970, label %2967

2967:                                             ; preds = %2964
  %2968 = load i8, ptr %219, align 1, !tbaa !11, !range !13, !noundef !14
  %2969 = trunc i8 %2968 to i1
  br i1 %2969, label %2970, label %2977

2970:                                             ; preds = %2967, %2964
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
          to label %2971 unwind label %2973

2971:                                             ; preds = %2970
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
          to label %2972 unwind label %2973

2972:                                             ; preds = %2971
  br label %2977

2973:                                             ; preds = %2971, %2970, %2961
  %2974 = landingpad { ptr, i32 }
          cleanup
  %2975 = extractvalue { ptr, i32 } %2974, 0
  store ptr %2975, ptr %55, align 8
  %2976 = extractvalue { ptr, i32 } %2974, 1
  store i32 %2976, ptr %56, align 4
  br label %3013

2977:                                             ; preds = %2972, %2967
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %2978

2978:                                             ; preds = %2977, %2957
  br label %2979

2979:                                             ; preds = %2978, %2956
  call void @llvm.lifetime.end.p0(i64 1, ptr %219) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %218) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %217) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %216) #7
  br label %2980

2980:                                             ; preds = %2979
  br label %2981

2981:                                             ; preds = %2980
  br label %2982

2982:                                             ; preds = %2981
  call void @llvm.lifetime.start.p0(i64 4, ptr %221) #7
  store i32 0, ptr %221, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 4, ptr %222) #7
  %2983 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %185, i32 noundef 4608, i32 noundef 22, i32 noundef 23)
          to label %2984 unwind label %3015

2984:                                             ; preds = %2982
  store i32 %2983, ptr %222, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 1, ptr %223) #7
  store i8 0, ptr %223, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %224) #7
  store i8 0, ptr %224, align 1, !tbaa !11
  %2985 = load i8, ptr %223, align 1, !tbaa !11, !range !13, !noundef !14
  %2986 = trunc i8 %2985 to i1
  br i1 %2986, label %2987, label %3024

2987:                                             ; preds = %2984
  %2988 = load i8, ptr %224, align 1, !tbaa !11, !range !13, !noundef !14
  %2989 = trunc i8 %2988 to i1
  br i1 %2989, label %2990, label %3024

2990:                                             ; preds = %2987
  call void @llvm.lifetime.start.p0(i64 4, ptr %225) #7
  %2991 = load i32, ptr %221, align 4, !tbaa !20
  %2992 = load i32, ptr %222, align 4, !tbaa !20
  %2993 = icmp sgt i32 %2991, %2992
  br i1 %2993, label %2994, label %2998

2994:                                             ; preds = %2990
  %2995 = load i32, ptr %221, align 4, !tbaa !20
  %2996 = load i32, ptr %222, align 4, !tbaa !20
  %2997 = sub nsw i32 %2995, %2996
  br label %3002

2998:                                             ; preds = %2990
  %2999 = load i32, ptr %222, align 4, !tbaa !20
  %3000 = load i32, ptr %221, align 4, !tbaa !20
  %3001 = sub nsw i32 %2999, %3000
  br label %3002

3002:                                             ; preds = %2998, %2994
  %3003 = phi i32 [ %2997, %2994 ], [ %3001, %2998 ]
  store i32 %3003, ptr %225, align 4, !tbaa !5
  %3004 = load i32, ptr %225, align 4, !tbaa !5
  %3005 = call noundef i32 @_ZNSt14numeric_limitsIiE7epsilonEv() #7
  %3006 = icmp sgt i32 %3004, %3005
  br i1 %3006, label %3007, label %3023

3007:                                             ; preds = %3002
  %3008 = load i32, ptr %221, align 4, !tbaa !20
  %3009 = uitofp i32 %3008 to double
  %3010 = load i32, ptr %222, align 4, !tbaa !20
  %3011 = uitofp i32 %3010 to double
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.69, ptr noundef @.str.2, i32 noundef 154, double noundef %3009, double noundef %3011)
          to label %3012 unwind label %3019

3012:                                             ; preds = %3007
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %3023

3013:                                             ; preds = %2973, %2952
  call void @llvm.lifetime.end.p0(i64 1, ptr %219) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %218) #7
  br label %3014

3014:                                             ; preds = %3013, %2948
  call void @llvm.lifetime.end.p0(i64 4, ptr %217) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %216) #7
  br label %4638

3015:                                             ; preds = %2982
  %3016 = landingpad { ptr, i32 }
          cleanup
  %3017 = extractvalue { ptr, i32 } %3016, 0
  store ptr %3017, ptr %55, align 8
  %3018 = extractvalue { ptr, i32 } %3016, 1
  store i32 %3018, ptr %56, align 4
  br label %3081

3019:                                             ; preds = %3007
  %3020 = landingpad { ptr, i32 }
          cleanup
  %3021 = extractvalue { ptr, i32 } %3020, 0
  store ptr %3021, ptr %55, align 8
  %3022 = extractvalue { ptr, i32 } %3020, 1
  store i32 %3022, ptr %56, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %225) #7
  br label %3080

3023:                                             ; preds = %3012, %3002
  call void @llvm.lifetime.end.p0(i64 4, ptr %225) #7
  br label %3046

3024:                                             ; preds = %2987, %2984
  %3025 = load i32, ptr %221, align 4, !tbaa !20
  %3026 = load i32, ptr %222, align 4, !tbaa !20
  %3027 = icmp ne i32 %3025, %3026
  br i1 %3027, label %3028, label %3045

3028:                                             ; preds = %3024
  %3029 = load i32, ptr %221, align 4, !tbaa !20
  %3030 = load i32, ptr %222, align 4, !tbaa !20
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.70, ptr noundef @.str.2, i32 noundef 154, i32 noundef %3029, i32 noundef %3030)
          to label %3031 unwind label %3040

3031:                                             ; preds = %3028
  %3032 = load i8, ptr %223, align 1, !tbaa !11, !range !13, !noundef !14
  %3033 = trunc i8 %3032 to i1
  br i1 %3033, label %3037, label %3034

3034:                                             ; preds = %3031
  %3035 = load i8, ptr %224, align 1, !tbaa !11, !range !13, !noundef !14
  %3036 = trunc i8 %3035 to i1
  br i1 %3036, label %3037, label %3044

3037:                                             ; preds = %3034, %3031
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
          to label %3038 unwind label %3040

3038:                                             ; preds = %3037
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
          to label %3039 unwind label %3040

3039:                                             ; preds = %3038
  br label %3044

3040:                                             ; preds = %3038, %3037, %3028
  %3041 = landingpad { ptr, i32 }
          cleanup
  %3042 = extractvalue { ptr, i32 } %3041, 0
  store ptr %3042, ptr %55, align 8
  %3043 = extractvalue { ptr, i32 } %3041, 1
  store i32 %3043, ptr %56, align 4
  br label %3080

3044:                                             ; preds = %3039, %3034
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %3045

3045:                                             ; preds = %3044, %3024
  br label %3046

3046:                                             ; preds = %3045, %3023
  call void @llvm.lifetime.end.p0(i64 1, ptr %224) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %223) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %222) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %221) #7
  br label %3047

3047:                                             ; preds = %3046
  br label %3048

3048:                                             ; preds = %3047
  br label %3049

3049:                                             ; preds = %3048
  call void @llvm.lifetime.start.p0(i64 4, ptr %226) #7
  store i32 0, ptr %226, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 4, ptr %227) #7
  %3050 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %185, i32 noundef 4608, i32 noundef 21, i32 noundef 22)
          to label %3051 unwind label %3082

3051:                                             ; preds = %3049
  store i32 %3050, ptr %227, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 1, ptr %228) #7
  store i8 0, ptr %228, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %229) #7
  store i8 0, ptr %229, align 1, !tbaa !11
  %3052 = load i8, ptr %228, align 1, !tbaa !11, !range !13, !noundef !14
  %3053 = trunc i8 %3052 to i1
  br i1 %3053, label %3054, label %3091

3054:                                             ; preds = %3051
  %3055 = load i8, ptr %229, align 1, !tbaa !11, !range !13, !noundef !14
  %3056 = trunc i8 %3055 to i1
  br i1 %3056, label %3057, label %3091

3057:                                             ; preds = %3054
  call void @llvm.lifetime.start.p0(i64 4, ptr %230) #7
  %3058 = load i32, ptr %226, align 4, !tbaa !20
  %3059 = load i32, ptr %227, align 4, !tbaa !20
  %3060 = icmp sgt i32 %3058, %3059
  br i1 %3060, label %3061, label %3065

3061:                                             ; preds = %3057
  %3062 = load i32, ptr %226, align 4, !tbaa !20
  %3063 = load i32, ptr %227, align 4, !tbaa !20
  %3064 = sub nsw i32 %3062, %3063
  br label %3069

3065:                                             ; preds = %3057
  %3066 = load i32, ptr %227, align 4, !tbaa !20
  %3067 = load i32, ptr %226, align 4, !tbaa !20
  %3068 = sub nsw i32 %3066, %3067
  br label %3069

3069:                                             ; preds = %3065, %3061
  %3070 = phi i32 [ %3064, %3061 ], [ %3068, %3065 ]
  store i32 %3070, ptr %230, align 4, !tbaa !5
  %3071 = load i32, ptr %230, align 4, !tbaa !5
  %3072 = call noundef i32 @_ZNSt14numeric_limitsIiE7epsilonEv() #7
  %3073 = icmp sgt i32 %3071, %3072
  br i1 %3073, label %3074, label %3090

3074:                                             ; preds = %3069
  %3075 = load i32, ptr %226, align 4, !tbaa !20
  %3076 = uitofp i32 %3075 to double
  %3077 = load i32, ptr %227, align 4, !tbaa !20
  %3078 = uitofp i32 %3077 to double
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.71, ptr noundef @.str.2, i32 noundef 155, double noundef %3076, double noundef %3078)
          to label %3079 unwind label %3086

3079:                                             ; preds = %3074
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %3090

3080:                                             ; preds = %3040, %3019
  call void @llvm.lifetime.end.p0(i64 1, ptr %224) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %223) #7
  br label %3081

3081:                                             ; preds = %3080, %3015
  call void @llvm.lifetime.end.p0(i64 4, ptr %222) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %221) #7
  br label %4638

3082:                                             ; preds = %3049
  %3083 = landingpad { ptr, i32 }
          cleanup
  %3084 = extractvalue { ptr, i32 } %3083, 0
  store ptr %3084, ptr %55, align 8
  %3085 = extractvalue { ptr, i32 } %3083, 1
  store i32 %3085, ptr %56, align 4
  br label %3148

3086:                                             ; preds = %3074
  %3087 = landingpad { ptr, i32 }
          cleanup
  %3088 = extractvalue { ptr, i32 } %3087, 0
  store ptr %3088, ptr %55, align 8
  %3089 = extractvalue { ptr, i32 } %3087, 1
  store i32 %3089, ptr %56, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %230) #7
  br label %3147

3090:                                             ; preds = %3079, %3069
  call void @llvm.lifetime.end.p0(i64 4, ptr %230) #7
  br label %3113

3091:                                             ; preds = %3054, %3051
  %3092 = load i32, ptr %226, align 4, !tbaa !20
  %3093 = load i32, ptr %227, align 4, !tbaa !20
  %3094 = icmp ne i32 %3092, %3093
  br i1 %3094, label %3095, label %3112

3095:                                             ; preds = %3091
  %3096 = load i32, ptr %226, align 4, !tbaa !20
  %3097 = load i32, ptr %227, align 4, !tbaa !20
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.72, ptr noundef @.str.2, i32 noundef 155, i32 noundef %3096, i32 noundef %3097)
          to label %3098 unwind label %3107

3098:                                             ; preds = %3095
  %3099 = load i8, ptr %228, align 1, !tbaa !11, !range !13, !noundef !14
  %3100 = trunc i8 %3099 to i1
  br i1 %3100, label %3104, label %3101

3101:                                             ; preds = %3098
  %3102 = load i8, ptr %229, align 1, !tbaa !11, !range !13, !noundef !14
  %3103 = trunc i8 %3102 to i1
  br i1 %3103, label %3104, label %3111

3104:                                             ; preds = %3101, %3098
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
          to label %3105 unwind label %3107

3105:                                             ; preds = %3104
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
          to label %3106 unwind label %3107

3106:                                             ; preds = %3105
  br label %3111

3107:                                             ; preds = %3105, %3104, %3095
  %3108 = landingpad { ptr, i32 }
          cleanup
  %3109 = extractvalue { ptr, i32 } %3108, 0
  store ptr %3109, ptr %55, align 8
  %3110 = extractvalue { ptr, i32 } %3108, 1
  store i32 %3110, ptr %56, align 4
  br label %3147

3111:                                             ; preds = %3106, %3101
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %3112

3112:                                             ; preds = %3111, %3091
  br label %3113

3113:                                             ; preds = %3112, %3090
  call void @llvm.lifetime.end.p0(i64 1, ptr %229) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %228) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %227) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %226) #7
  br label %3114

3114:                                             ; preds = %3113
  br label %3115

3115:                                             ; preds = %3114
  br label %3116

3116:                                             ; preds = %3115
  call void @llvm.lifetime.start.p0(i64 4, ptr %231) #7
  store i32 0, ptr %231, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 4, ptr %232) #7
  %3117 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %185, i32 noundef 4608, i32 noundef 20, i32 noundef 21)
          to label %3118 unwind label %3149

3118:                                             ; preds = %3116
  store i32 %3117, ptr %232, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 1, ptr %233) #7
  store i8 0, ptr %233, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %234) #7
  store i8 0, ptr %234, align 1, !tbaa !11
  %3119 = load i8, ptr %233, align 1, !tbaa !11, !range !13, !noundef !14
  %3120 = trunc i8 %3119 to i1
  br i1 %3120, label %3121, label %3158

3121:                                             ; preds = %3118
  %3122 = load i8, ptr %234, align 1, !tbaa !11, !range !13, !noundef !14
  %3123 = trunc i8 %3122 to i1
  br i1 %3123, label %3124, label %3158

3124:                                             ; preds = %3121
  call void @llvm.lifetime.start.p0(i64 4, ptr %235) #7
  %3125 = load i32, ptr %231, align 4, !tbaa !20
  %3126 = load i32, ptr %232, align 4, !tbaa !20
  %3127 = icmp sgt i32 %3125, %3126
  br i1 %3127, label %3128, label %3132

3128:                                             ; preds = %3124
  %3129 = load i32, ptr %231, align 4, !tbaa !20
  %3130 = load i32, ptr %232, align 4, !tbaa !20
  %3131 = sub nsw i32 %3129, %3130
  br label %3136

3132:                                             ; preds = %3124
  %3133 = load i32, ptr %232, align 4, !tbaa !20
  %3134 = load i32, ptr %231, align 4, !tbaa !20
  %3135 = sub nsw i32 %3133, %3134
  br label %3136

3136:                                             ; preds = %3132, %3128
  %3137 = phi i32 [ %3131, %3128 ], [ %3135, %3132 ]
  store i32 %3137, ptr %235, align 4, !tbaa !5
  %3138 = load i32, ptr %235, align 4, !tbaa !5
  %3139 = call noundef i32 @_ZNSt14numeric_limitsIiE7epsilonEv() #7
  %3140 = icmp sgt i32 %3138, %3139
  br i1 %3140, label %3141, label %3157

3141:                                             ; preds = %3136
  %3142 = load i32, ptr %231, align 4, !tbaa !20
  %3143 = uitofp i32 %3142 to double
  %3144 = load i32, ptr %232, align 4, !tbaa !20
  %3145 = uitofp i32 %3144 to double
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.73, ptr noundef @.str.2, i32 noundef 156, double noundef %3143, double noundef %3145)
          to label %3146 unwind label %3153

3146:                                             ; preds = %3141
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %3157

3147:                                             ; preds = %3107, %3086
  call void @llvm.lifetime.end.p0(i64 1, ptr %229) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %228) #7
  br label %3148

3148:                                             ; preds = %3147, %3082
  call void @llvm.lifetime.end.p0(i64 4, ptr %227) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %226) #7
  br label %4638

3149:                                             ; preds = %3116
  %3150 = landingpad { ptr, i32 }
          cleanup
  %3151 = extractvalue { ptr, i32 } %3150, 0
  store ptr %3151, ptr %55, align 8
  %3152 = extractvalue { ptr, i32 } %3150, 1
  store i32 %3152, ptr %56, align 4
  br label %3215

3153:                                             ; preds = %3141
  %3154 = landingpad { ptr, i32 }
          cleanup
  %3155 = extractvalue { ptr, i32 } %3154, 0
  store ptr %3155, ptr %55, align 8
  %3156 = extractvalue { ptr, i32 } %3154, 1
  store i32 %3156, ptr %56, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %235) #7
  br label %3214

3157:                                             ; preds = %3146, %3136
  call void @llvm.lifetime.end.p0(i64 4, ptr %235) #7
  br label %3180

3158:                                             ; preds = %3121, %3118
  %3159 = load i32, ptr %231, align 4, !tbaa !20
  %3160 = load i32, ptr %232, align 4, !tbaa !20
  %3161 = icmp ne i32 %3159, %3160
  br i1 %3161, label %3162, label %3179

3162:                                             ; preds = %3158
  %3163 = load i32, ptr %231, align 4, !tbaa !20
  %3164 = load i32, ptr %232, align 4, !tbaa !20
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.74, ptr noundef @.str.2, i32 noundef 156, i32 noundef %3163, i32 noundef %3164)
          to label %3165 unwind label %3174

3165:                                             ; preds = %3162
  %3166 = load i8, ptr %233, align 1, !tbaa !11, !range !13, !noundef !14
  %3167 = trunc i8 %3166 to i1
  br i1 %3167, label %3171, label %3168

3168:                                             ; preds = %3165
  %3169 = load i8, ptr %234, align 1, !tbaa !11, !range !13, !noundef !14
  %3170 = trunc i8 %3169 to i1
  br i1 %3170, label %3171, label %3178

3171:                                             ; preds = %3168, %3165
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
          to label %3172 unwind label %3174

3172:                                             ; preds = %3171
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
          to label %3173 unwind label %3174

3173:                                             ; preds = %3172
  br label %3178

3174:                                             ; preds = %3172, %3171, %3162
  %3175 = landingpad { ptr, i32 }
          cleanup
  %3176 = extractvalue { ptr, i32 } %3175, 0
  store ptr %3176, ptr %55, align 8
  %3177 = extractvalue { ptr, i32 } %3175, 1
  store i32 %3177, ptr %56, align 4
  br label %3214

3178:                                             ; preds = %3173, %3168
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %3179

3179:                                             ; preds = %3178, %3158
  br label %3180

3180:                                             ; preds = %3179, %3157
  call void @llvm.lifetime.end.p0(i64 1, ptr %234) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %233) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %232) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %231) #7
  br label %3181

3181:                                             ; preds = %3180
  br label %3182

3182:                                             ; preds = %3181
  br label %3183

3183:                                             ; preds = %3182
  call void @llvm.lifetime.start.p0(i64 4, ptr %236) #7
  store i32 0, ptr %236, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 4, ptr %237) #7
  %3184 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %185, i32 noundef 4608, i32 noundef 19, i32 noundef 20)
          to label %3185 unwind label %3216

3185:                                             ; preds = %3183
  store i32 %3184, ptr %237, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 1, ptr %238) #7
  store i8 0, ptr %238, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %239) #7
  store i8 0, ptr %239, align 1, !tbaa !11
  %3186 = load i8, ptr %238, align 1, !tbaa !11, !range !13, !noundef !14
  %3187 = trunc i8 %3186 to i1
  br i1 %3187, label %3188, label %3225

3188:                                             ; preds = %3185
  %3189 = load i8, ptr %239, align 1, !tbaa !11, !range !13, !noundef !14
  %3190 = trunc i8 %3189 to i1
  br i1 %3190, label %3191, label %3225

3191:                                             ; preds = %3188
  call void @llvm.lifetime.start.p0(i64 4, ptr %240) #7
  %3192 = load i32, ptr %236, align 4, !tbaa !20
  %3193 = load i32, ptr %237, align 4, !tbaa !20
  %3194 = icmp sgt i32 %3192, %3193
  br i1 %3194, label %3195, label %3199

3195:                                             ; preds = %3191
  %3196 = load i32, ptr %236, align 4, !tbaa !20
  %3197 = load i32, ptr %237, align 4, !tbaa !20
  %3198 = sub nsw i32 %3196, %3197
  br label %3203

3199:                                             ; preds = %3191
  %3200 = load i32, ptr %237, align 4, !tbaa !20
  %3201 = load i32, ptr %236, align 4, !tbaa !20
  %3202 = sub nsw i32 %3200, %3201
  br label %3203

3203:                                             ; preds = %3199, %3195
  %3204 = phi i32 [ %3198, %3195 ], [ %3202, %3199 ]
  store i32 %3204, ptr %240, align 4, !tbaa !5
  %3205 = load i32, ptr %240, align 4, !tbaa !5
  %3206 = call noundef i32 @_ZNSt14numeric_limitsIiE7epsilonEv() #7
  %3207 = icmp sgt i32 %3205, %3206
  br i1 %3207, label %3208, label %3224

3208:                                             ; preds = %3203
  %3209 = load i32, ptr %236, align 4, !tbaa !20
  %3210 = uitofp i32 %3209 to double
  %3211 = load i32, ptr %237, align 4, !tbaa !20
  %3212 = uitofp i32 %3211 to double
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.75, ptr noundef @.str.2, i32 noundef 157, double noundef %3210, double noundef %3212)
          to label %3213 unwind label %3220

3213:                                             ; preds = %3208
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %3224

3214:                                             ; preds = %3174, %3153
  call void @llvm.lifetime.end.p0(i64 1, ptr %234) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %233) #7
  br label %3215

3215:                                             ; preds = %3214, %3149
  call void @llvm.lifetime.end.p0(i64 4, ptr %232) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %231) #7
  br label %4638

3216:                                             ; preds = %3183
  %3217 = landingpad { ptr, i32 }
          cleanup
  %3218 = extractvalue { ptr, i32 } %3217, 0
  store ptr %3218, ptr %55, align 8
  %3219 = extractvalue { ptr, i32 } %3217, 1
  store i32 %3219, ptr %56, align 4
  br label %3282

3220:                                             ; preds = %3208
  %3221 = landingpad { ptr, i32 }
          cleanup
  %3222 = extractvalue { ptr, i32 } %3221, 0
  store ptr %3222, ptr %55, align 8
  %3223 = extractvalue { ptr, i32 } %3221, 1
  store i32 %3223, ptr %56, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %240) #7
  br label %3281

3224:                                             ; preds = %3213, %3203
  call void @llvm.lifetime.end.p0(i64 4, ptr %240) #7
  br label %3247

3225:                                             ; preds = %3188, %3185
  %3226 = load i32, ptr %236, align 4, !tbaa !20
  %3227 = load i32, ptr %237, align 4, !tbaa !20
  %3228 = icmp ne i32 %3226, %3227
  br i1 %3228, label %3229, label %3246

3229:                                             ; preds = %3225
  %3230 = load i32, ptr %236, align 4, !tbaa !20
  %3231 = load i32, ptr %237, align 4, !tbaa !20
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.76, ptr noundef @.str.2, i32 noundef 157, i32 noundef %3230, i32 noundef %3231)
          to label %3232 unwind label %3241

3232:                                             ; preds = %3229
  %3233 = load i8, ptr %238, align 1, !tbaa !11, !range !13, !noundef !14
  %3234 = trunc i8 %3233 to i1
  br i1 %3234, label %3238, label %3235

3235:                                             ; preds = %3232
  %3236 = load i8, ptr %239, align 1, !tbaa !11, !range !13, !noundef !14
  %3237 = trunc i8 %3236 to i1
  br i1 %3237, label %3238, label %3245

3238:                                             ; preds = %3235, %3232
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
          to label %3239 unwind label %3241

3239:                                             ; preds = %3238
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
          to label %3240 unwind label %3241

3240:                                             ; preds = %3239
  br label %3245

3241:                                             ; preds = %3239, %3238, %3229
  %3242 = landingpad { ptr, i32 }
          cleanup
  %3243 = extractvalue { ptr, i32 } %3242, 0
  store ptr %3243, ptr %55, align 8
  %3244 = extractvalue { ptr, i32 } %3242, 1
  store i32 %3244, ptr %56, align 4
  br label %3281

3245:                                             ; preds = %3240, %3235
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %3246

3246:                                             ; preds = %3245, %3225
  br label %3247

3247:                                             ; preds = %3246, %3224
  call void @llvm.lifetime.end.p0(i64 1, ptr %239) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %238) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %237) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %236) #7
  br label %3248

3248:                                             ; preds = %3247
  br label %3249

3249:                                             ; preds = %3248
  br label %3250

3250:                                             ; preds = %3249
  call void @llvm.lifetime.start.p0(i64 4, ptr %241) #7
  store i32 0, ptr %241, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 4, ptr %242) #7
  %3251 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %185, i32 noundef 4608, i32 noundef 18, i32 noundef 19)
          to label %3252 unwind label %3283

3252:                                             ; preds = %3250
  store i32 %3251, ptr %242, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 1, ptr %243) #7
  store i8 0, ptr %243, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %244) #7
  store i8 0, ptr %244, align 1, !tbaa !11
  %3253 = load i8, ptr %243, align 1, !tbaa !11, !range !13, !noundef !14
  %3254 = trunc i8 %3253 to i1
  br i1 %3254, label %3255, label %3292

3255:                                             ; preds = %3252
  %3256 = load i8, ptr %244, align 1, !tbaa !11, !range !13, !noundef !14
  %3257 = trunc i8 %3256 to i1
  br i1 %3257, label %3258, label %3292

3258:                                             ; preds = %3255
  call void @llvm.lifetime.start.p0(i64 4, ptr %245) #7
  %3259 = load i32, ptr %241, align 4, !tbaa !20
  %3260 = load i32, ptr %242, align 4, !tbaa !20
  %3261 = icmp sgt i32 %3259, %3260
  br i1 %3261, label %3262, label %3266

3262:                                             ; preds = %3258
  %3263 = load i32, ptr %241, align 4, !tbaa !20
  %3264 = load i32, ptr %242, align 4, !tbaa !20
  %3265 = sub nsw i32 %3263, %3264
  br label %3270

3266:                                             ; preds = %3258
  %3267 = load i32, ptr %242, align 4, !tbaa !20
  %3268 = load i32, ptr %241, align 4, !tbaa !20
  %3269 = sub nsw i32 %3267, %3268
  br label %3270

3270:                                             ; preds = %3266, %3262
  %3271 = phi i32 [ %3265, %3262 ], [ %3269, %3266 ]
  store i32 %3271, ptr %245, align 4, !tbaa !5
  %3272 = load i32, ptr %245, align 4, !tbaa !5
  %3273 = call noundef i32 @_ZNSt14numeric_limitsIiE7epsilonEv() #7
  %3274 = icmp sgt i32 %3272, %3273
  br i1 %3274, label %3275, label %3291

3275:                                             ; preds = %3270
  %3276 = load i32, ptr %241, align 4, !tbaa !20
  %3277 = uitofp i32 %3276 to double
  %3278 = load i32, ptr %242, align 4, !tbaa !20
  %3279 = uitofp i32 %3278 to double
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.77, ptr noundef @.str.2, i32 noundef 158, double noundef %3277, double noundef %3279)
          to label %3280 unwind label %3287

3280:                                             ; preds = %3275
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %3291

3281:                                             ; preds = %3241, %3220
  call void @llvm.lifetime.end.p0(i64 1, ptr %239) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %238) #7
  br label %3282

3282:                                             ; preds = %3281, %3216
  call void @llvm.lifetime.end.p0(i64 4, ptr %237) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %236) #7
  br label %4638

3283:                                             ; preds = %3250
  %3284 = landingpad { ptr, i32 }
          cleanup
  %3285 = extractvalue { ptr, i32 } %3284, 0
  store ptr %3285, ptr %55, align 8
  %3286 = extractvalue { ptr, i32 } %3284, 1
  store i32 %3286, ptr %56, align 4
  br label %3349

3287:                                             ; preds = %3275
  %3288 = landingpad { ptr, i32 }
          cleanup
  %3289 = extractvalue { ptr, i32 } %3288, 0
  store ptr %3289, ptr %55, align 8
  %3290 = extractvalue { ptr, i32 } %3288, 1
  store i32 %3290, ptr %56, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %245) #7
  br label %3348

3291:                                             ; preds = %3280, %3270
  call void @llvm.lifetime.end.p0(i64 4, ptr %245) #7
  br label %3314

3292:                                             ; preds = %3255, %3252
  %3293 = load i32, ptr %241, align 4, !tbaa !20
  %3294 = load i32, ptr %242, align 4, !tbaa !20
  %3295 = icmp ne i32 %3293, %3294
  br i1 %3295, label %3296, label %3313

3296:                                             ; preds = %3292
  %3297 = load i32, ptr %241, align 4, !tbaa !20
  %3298 = load i32, ptr %242, align 4, !tbaa !20
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.78, ptr noundef @.str.2, i32 noundef 158, i32 noundef %3297, i32 noundef %3298)
          to label %3299 unwind label %3308

3299:                                             ; preds = %3296
  %3300 = load i8, ptr %243, align 1, !tbaa !11, !range !13, !noundef !14
  %3301 = trunc i8 %3300 to i1
  br i1 %3301, label %3305, label %3302

3302:                                             ; preds = %3299
  %3303 = load i8, ptr %244, align 1, !tbaa !11, !range !13, !noundef !14
  %3304 = trunc i8 %3303 to i1
  br i1 %3304, label %3305, label %3312

3305:                                             ; preds = %3302, %3299
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
          to label %3306 unwind label %3308

3306:                                             ; preds = %3305
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
          to label %3307 unwind label %3308

3307:                                             ; preds = %3306
  br label %3312

3308:                                             ; preds = %3306, %3305, %3296
  %3309 = landingpad { ptr, i32 }
          cleanup
  %3310 = extractvalue { ptr, i32 } %3309, 0
  store ptr %3310, ptr %55, align 8
  %3311 = extractvalue { ptr, i32 } %3309, 1
  store i32 %3311, ptr %56, align 4
  br label %3348

3312:                                             ; preds = %3307, %3302
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %3313

3313:                                             ; preds = %3312, %3292
  br label %3314

3314:                                             ; preds = %3313, %3291
  call void @llvm.lifetime.end.p0(i64 1, ptr %244) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %243) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %242) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %241) #7
  br label %3315

3315:                                             ; preds = %3314
  br label %3316

3316:                                             ; preds = %3315
  br label %3317

3317:                                             ; preds = %3316
  call void @llvm.lifetime.start.p0(i64 4, ptr %246) #7
  store i32 0, ptr %246, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 4, ptr %247) #7
  %3318 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %185, i32 noundef 4608, i32 noundef 17, i32 noundef 18)
          to label %3319 unwind label %3350

3319:                                             ; preds = %3317
  store i32 %3318, ptr %247, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 1, ptr %248) #7
  store i8 0, ptr %248, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %249) #7
  store i8 0, ptr %249, align 1, !tbaa !11
  %3320 = load i8, ptr %248, align 1, !tbaa !11, !range !13, !noundef !14
  %3321 = trunc i8 %3320 to i1
  br i1 %3321, label %3322, label %3359

3322:                                             ; preds = %3319
  %3323 = load i8, ptr %249, align 1, !tbaa !11, !range !13, !noundef !14
  %3324 = trunc i8 %3323 to i1
  br i1 %3324, label %3325, label %3359

3325:                                             ; preds = %3322
  call void @llvm.lifetime.start.p0(i64 4, ptr %250) #7
  %3326 = load i32, ptr %246, align 4, !tbaa !20
  %3327 = load i32, ptr %247, align 4, !tbaa !20
  %3328 = icmp sgt i32 %3326, %3327
  br i1 %3328, label %3329, label %3333

3329:                                             ; preds = %3325
  %3330 = load i32, ptr %246, align 4, !tbaa !20
  %3331 = load i32, ptr %247, align 4, !tbaa !20
  %3332 = sub nsw i32 %3330, %3331
  br label %3337

3333:                                             ; preds = %3325
  %3334 = load i32, ptr %247, align 4, !tbaa !20
  %3335 = load i32, ptr %246, align 4, !tbaa !20
  %3336 = sub nsw i32 %3334, %3335
  br label %3337

3337:                                             ; preds = %3333, %3329
  %3338 = phi i32 [ %3332, %3329 ], [ %3336, %3333 ]
  store i32 %3338, ptr %250, align 4, !tbaa !5
  %3339 = load i32, ptr %250, align 4, !tbaa !5
  %3340 = call noundef i32 @_ZNSt14numeric_limitsIiE7epsilonEv() #7
  %3341 = icmp sgt i32 %3339, %3340
  br i1 %3341, label %3342, label %3358

3342:                                             ; preds = %3337
  %3343 = load i32, ptr %246, align 4, !tbaa !20
  %3344 = uitofp i32 %3343 to double
  %3345 = load i32, ptr %247, align 4, !tbaa !20
  %3346 = uitofp i32 %3345 to double
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.79, ptr noundef @.str.2, i32 noundef 159, double noundef %3344, double noundef %3346)
          to label %3347 unwind label %3354

3347:                                             ; preds = %3342
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %3358

3348:                                             ; preds = %3308, %3287
  call void @llvm.lifetime.end.p0(i64 1, ptr %244) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %243) #7
  br label %3349

3349:                                             ; preds = %3348, %3283
  call void @llvm.lifetime.end.p0(i64 4, ptr %242) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %241) #7
  br label %4638

3350:                                             ; preds = %3317
  %3351 = landingpad { ptr, i32 }
          cleanup
  %3352 = extractvalue { ptr, i32 } %3351, 0
  store ptr %3352, ptr %55, align 8
  %3353 = extractvalue { ptr, i32 } %3351, 1
  store i32 %3353, ptr %56, align 4
  br label %3416

3354:                                             ; preds = %3342
  %3355 = landingpad { ptr, i32 }
          cleanup
  %3356 = extractvalue { ptr, i32 } %3355, 0
  store ptr %3356, ptr %55, align 8
  %3357 = extractvalue { ptr, i32 } %3355, 1
  store i32 %3357, ptr %56, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %250) #7
  br label %3415

3358:                                             ; preds = %3347, %3337
  call void @llvm.lifetime.end.p0(i64 4, ptr %250) #7
  br label %3381

3359:                                             ; preds = %3322, %3319
  %3360 = load i32, ptr %246, align 4, !tbaa !20
  %3361 = load i32, ptr %247, align 4, !tbaa !20
  %3362 = icmp ne i32 %3360, %3361
  br i1 %3362, label %3363, label %3380

3363:                                             ; preds = %3359
  %3364 = load i32, ptr %246, align 4, !tbaa !20
  %3365 = load i32, ptr %247, align 4, !tbaa !20
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.80, ptr noundef @.str.2, i32 noundef 159, i32 noundef %3364, i32 noundef %3365)
          to label %3366 unwind label %3375

3366:                                             ; preds = %3363
  %3367 = load i8, ptr %248, align 1, !tbaa !11, !range !13, !noundef !14
  %3368 = trunc i8 %3367 to i1
  br i1 %3368, label %3372, label %3369

3369:                                             ; preds = %3366
  %3370 = load i8, ptr %249, align 1, !tbaa !11, !range !13, !noundef !14
  %3371 = trunc i8 %3370 to i1
  br i1 %3371, label %3372, label %3379

3372:                                             ; preds = %3369, %3366
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
          to label %3373 unwind label %3375

3373:                                             ; preds = %3372
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
          to label %3374 unwind label %3375

3374:                                             ; preds = %3373
  br label %3379

3375:                                             ; preds = %3373, %3372, %3363
  %3376 = landingpad { ptr, i32 }
          cleanup
  %3377 = extractvalue { ptr, i32 } %3376, 0
  store ptr %3377, ptr %55, align 8
  %3378 = extractvalue { ptr, i32 } %3376, 1
  store i32 %3378, ptr %56, align 4
  br label %3415

3379:                                             ; preds = %3374, %3369
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %3380

3380:                                             ; preds = %3379, %3359
  br label %3381

3381:                                             ; preds = %3380, %3358
  call void @llvm.lifetime.end.p0(i64 1, ptr %249) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %248) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %247) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %246) #7
  br label %3382

3382:                                             ; preds = %3381
  br label %3383

3383:                                             ; preds = %3382
  br label %3384

3384:                                             ; preds = %3383
  call void @llvm.lifetime.start.p0(i64 4, ptr %251) #7
  store i32 0, ptr %251, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 4, ptr %252) #7
  %3385 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %185, i32 noundef 4608, i32 noundef 16, i32 noundef 17)
          to label %3386 unwind label %3417

3386:                                             ; preds = %3384
  store i32 %3385, ptr %252, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 1, ptr %253) #7
  store i8 0, ptr %253, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %254) #7
  store i8 0, ptr %254, align 1, !tbaa !11
  %3387 = load i8, ptr %253, align 1, !tbaa !11, !range !13, !noundef !14
  %3388 = trunc i8 %3387 to i1
  br i1 %3388, label %3389, label %3426

3389:                                             ; preds = %3386
  %3390 = load i8, ptr %254, align 1, !tbaa !11, !range !13, !noundef !14
  %3391 = trunc i8 %3390 to i1
  br i1 %3391, label %3392, label %3426

3392:                                             ; preds = %3389
  call void @llvm.lifetime.start.p0(i64 4, ptr %255) #7
  %3393 = load i32, ptr %251, align 4, !tbaa !20
  %3394 = load i32, ptr %252, align 4, !tbaa !20
  %3395 = icmp sgt i32 %3393, %3394
  br i1 %3395, label %3396, label %3400

3396:                                             ; preds = %3392
  %3397 = load i32, ptr %251, align 4, !tbaa !20
  %3398 = load i32, ptr %252, align 4, !tbaa !20
  %3399 = sub nsw i32 %3397, %3398
  br label %3404

3400:                                             ; preds = %3392
  %3401 = load i32, ptr %252, align 4, !tbaa !20
  %3402 = load i32, ptr %251, align 4, !tbaa !20
  %3403 = sub nsw i32 %3401, %3402
  br label %3404

3404:                                             ; preds = %3400, %3396
  %3405 = phi i32 [ %3399, %3396 ], [ %3403, %3400 ]
  store i32 %3405, ptr %255, align 4, !tbaa !5
  %3406 = load i32, ptr %255, align 4, !tbaa !5
  %3407 = call noundef i32 @_ZNSt14numeric_limitsIiE7epsilonEv() #7
  %3408 = icmp sgt i32 %3406, %3407
  br i1 %3408, label %3409, label %3425

3409:                                             ; preds = %3404
  %3410 = load i32, ptr %251, align 4, !tbaa !20
  %3411 = uitofp i32 %3410 to double
  %3412 = load i32, ptr %252, align 4, !tbaa !20
  %3413 = uitofp i32 %3412 to double
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.81, ptr noundef @.str.2, i32 noundef 160, double noundef %3411, double noundef %3413)
          to label %3414 unwind label %3421

3414:                                             ; preds = %3409
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %3425

3415:                                             ; preds = %3375, %3354
  call void @llvm.lifetime.end.p0(i64 1, ptr %249) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %248) #7
  br label %3416

3416:                                             ; preds = %3415, %3350
  call void @llvm.lifetime.end.p0(i64 4, ptr %247) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %246) #7
  br label %4638

3417:                                             ; preds = %3384
  %3418 = landingpad { ptr, i32 }
          cleanup
  %3419 = extractvalue { ptr, i32 } %3418, 0
  store ptr %3419, ptr %55, align 8
  %3420 = extractvalue { ptr, i32 } %3418, 1
  store i32 %3420, ptr %56, align 4
  br label %3483

3421:                                             ; preds = %3409
  %3422 = landingpad { ptr, i32 }
          cleanup
  %3423 = extractvalue { ptr, i32 } %3422, 0
  store ptr %3423, ptr %55, align 8
  %3424 = extractvalue { ptr, i32 } %3422, 1
  store i32 %3424, ptr %56, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %255) #7
  br label %3482

3425:                                             ; preds = %3414, %3404
  call void @llvm.lifetime.end.p0(i64 4, ptr %255) #7
  br label %3448

3426:                                             ; preds = %3389, %3386
  %3427 = load i32, ptr %251, align 4, !tbaa !20
  %3428 = load i32, ptr %252, align 4, !tbaa !20
  %3429 = icmp ne i32 %3427, %3428
  br i1 %3429, label %3430, label %3447

3430:                                             ; preds = %3426
  %3431 = load i32, ptr %251, align 4, !tbaa !20
  %3432 = load i32, ptr %252, align 4, !tbaa !20
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.82, ptr noundef @.str.2, i32 noundef 160, i32 noundef %3431, i32 noundef %3432)
          to label %3433 unwind label %3442

3433:                                             ; preds = %3430
  %3434 = load i8, ptr %253, align 1, !tbaa !11, !range !13, !noundef !14
  %3435 = trunc i8 %3434 to i1
  br i1 %3435, label %3439, label %3436

3436:                                             ; preds = %3433
  %3437 = load i8, ptr %254, align 1, !tbaa !11, !range !13, !noundef !14
  %3438 = trunc i8 %3437 to i1
  br i1 %3438, label %3439, label %3446

3439:                                             ; preds = %3436, %3433
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
          to label %3440 unwind label %3442

3440:                                             ; preds = %3439
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
          to label %3441 unwind label %3442

3441:                                             ; preds = %3440
  br label %3446

3442:                                             ; preds = %3440, %3439, %3430
  %3443 = landingpad { ptr, i32 }
          cleanup
  %3444 = extractvalue { ptr, i32 } %3443, 0
  store ptr %3444, ptr %55, align 8
  %3445 = extractvalue { ptr, i32 } %3443, 1
  store i32 %3445, ptr %56, align 4
  br label %3482

3446:                                             ; preds = %3441, %3436
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %3447

3447:                                             ; preds = %3446, %3426
  br label %3448

3448:                                             ; preds = %3447, %3425
  call void @llvm.lifetime.end.p0(i64 1, ptr %254) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %253) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %252) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %251) #7
  br label %3449

3449:                                             ; preds = %3448
  br label %3450

3450:                                             ; preds = %3449
  br label %3451

3451:                                             ; preds = %3450
  call void @llvm.lifetime.start.p0(i64 4, ptr %256) #7
  store i32 0, ptr %256, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 4, ptr %257) #7
  %3452 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %185, i32 noundef 4608, i32 noundef 15, i32 noundef 16)
          to label %3453 unwind label %3484

3453:                                             ; preds = %3451
  store i32 %3452, ptr %257, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 1, ptr %258) #7
  store i8 0, ptr %258, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %259) #7
  store i8 0, ptr %259, align 1, !tbaa !11
  %3454 = load i8, ptr %258, align 1, !tbaa !11, !range !13, !noundef !14
  %3455 = trunc i8 %3454 to i1
  br i1 %3455, label %3456, label %3493

3456:                                             ; preds = %3453
  %3457 = load i8, ptr %259, align 1, !tbaa !11, !range !13, !noundef !14
  %3458 = trunc i8 %3457 to i1
  br i1 %3458, label %3459, label %3493

3459:                                             ; preds = %3456
  call void @llvm.lifetime.start.p0(i64 4, ptr %260) #7
  %3460 = load i32, ptr %256, align 4, !tbaa !20
  %3461 = load i32, ptr %257, align 4, !tbaa !20
  %3462 = icmp sgt i32 %3460, %3461
  br i1 %3462, label %3463, label %3467

3463:                                             ; preds = %3459
  %3464 = load i32, ptr %256, align 4, !tbaa !20
  %3465 = load i32, ptr %257, align 4, !tbaa !20
  %3466 = sub nsw i32 %3464, %3465
  br label %3471

3467:                                             ; preds = %3459
  %3468 = load i32, ptr %257, align 4, !tbaa !20
  %3469 = load i32, ptr %256, align 4, !tbaa !20
  %3470 = sub nsw i32 %3468, %3469
  br label %3471

3471:                                             ; preds = %3467, %3463
  %3472 = phi i32 [ %3466, %3463 ], [ %3470, %3467 ]
  store i32 %3472, ptr %260, align 4, !tbaa !5
  %3473 = load i32, ptr %260, align 4, !tbaa !5
  %3474 = call noundef i32 @_ZNSt14numeric_limitsIiE7epsilonEv() #7
  %3475 = icmp sgt i32 %3473, %3474
  br i1 %3475, label %3476, label %3492

3476:                                             ; preds = %3471
  %3477 = load i32, ptr %256, align 4, !tbaa !20
  %3478 = uitofp i32 %3477 to double
  %3479 = load i32, ptr %257, align 4, !tbaa !20
  %3480 = uitofp i32 %3479 to double
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.83, ptr noundef @.str.2, i32 noundef 161, double noundef %3478, double noundef %3480)
          to label %3481 unwind label %3488

3481:                                             ; preds = %3476
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %3492

3482:                                             ; preds = %3442, %3421
  call void @llvm.lifetime.end.p0(i64 1, ptr %254) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %253) #7
  br label %3483

3483:                                             ; preds = %3482, %3417
  call void @llvm.lifetime.end.p0(i64 4, ptr %252) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %251) #7
  br label %4638

3484:                                             ; preds = %3451
  %3485 = landingpad { ptr, i32 }
          cleanup
  %3486 = extractvalue { ptr, i32 } %3485, 0
  store ptr %3486, ptr %55, align 8
  %3487 = extractvalue { ptr, i32 } %3485, 1
  store i32 %3487, ptr %56, align 4
  br label %3550

3488:                                             ; preds = %3476
  %3489 = landingpad { ptr, i32 }
          cleanup
  %3490 = extractvalue { ptr, i32 } %3489, 0
  store ptr %3490, ptr %55, align 8
  %3491 = extractvalue { ptr, i32 } %3489, 1
  store i32 %3491, ptr %56, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %260) #7
  br label %3549

3492:                                             ; preds = %3481, %3471
  call void @llvm.lifetime.end.p0(i64 4, ptr %260) #7
  br label %3515

3493:                                             ; preds = %3456, %3453
  %3494 = load i32, ptr %256, align 4, !tbaa !20
  %3495 = load i32, ptr %257, align 4, !tbaa !20
  %3496 = icmp ne i32 %3494, %3495
  br i1 %3496, label %3497, label %3514

3497:                                             ; preds = %3493
  %3498 = load i32, ptr %256, align 4, !tbaa !20
  %3499 = load i32, ptr %257, align 4, !tbaa !20
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.84, ptr noundef @.str.2, i32 noundef 161, i32 noundef %3498, i32 noundef %3499)
          to label %3500 unwind label %3509

3500:                                             ; preds = %3497
  %3501 = load i8, ptr %258, align 1, !tbaa !11, !range !13, !noundef !14
  %3502 = trunc i8 %3501 to i1
  br i1 %3502, label %3506, label %3503

3503:                                             ; preds = %3500
  %3504 = load i8, ptr %259, align 1, !tbaa !11, !range !13, !noundef !14
  %3505 = trunc i8 %3504 to i1
  br i1 %3505, label %3506, label %3513

3506:                                             ; preds = %3503, %3500
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
          to label %3507 unwind label %3509

3507:                                             ; preds = %3506
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
          to label %3508 unwind label %3509

3508:                                             ; preds = %3507
  br label %3513

3509:                                             ; preds = %3507, %3506, %3497
  %3510 = landingpad { ptr, i32 }
          cleanup
  %3511 = extractvalue { ptr, i32 } %3510, 0
  store ptr %3511, ptr %55, align 8
  %3512 = extractvalue { ptr, i32 } %3510, 1
  store i32 %3512, ptr %56, align 4
  br label %3549

3513:                                             ; preds = %3508, %3503
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %3514

3514:                                             ; preds = %3513, %3493
  br label %3515

3515:                                             ; preds = %3514, %3492
  call void @llvm.lifetime.end.p0(i64 1, ptr %259) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %258) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %257) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %256) #7
  br label %3516

3516:                                             ; preds = %3515
  br label %3517

3517:                                             ; preds = %3516
  br label %3518

3518:                                             ; preds = %3517
  call void @llvm.lifetime.start.p0(i64 4, ptr %261) #7
  store i32 0, ptr %261, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 4, ptr %262) #7
  %3519 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %185, i32 noundef 4608, i32 noundef 14, i32 noundef 15)
          to label %3520 unwind label %3551

3520:                                             ; preds = %3518
  store i32 %3519, ptr %262, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 1, ptr %263) #7
  store i8 0, ptr %263, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %264) #7
  store i8 0, ptr %264, align 1, !tbaa !11
  %3521 = load i8, ptr %263, align 1, !tbaa !11, !range !13, !noundef !14
  %3522 = trunc i8 %3521 to i1
  br i1 %3522, label %3523, label %3560

3523:                                             ; preds = %3520
  %3524 = load i8, ptr %264, align 1, !tbaa !11, !range !13, !noundef !14
  %3525 = trunc i8 %3524 to i1
  br i1 %3525, label %3526, label %3560

3526:                                             ; preds = %3523
  call void @llvm.lifetime.start.p0(i64 4, ptr %265) #7
  %3527 = load i32, ptr %261, align 4, !tbaa !20
  %3528 = load i32, ptr %262, align 4, !tbaa !20
  %3529 = icmp sgt i32 %3527, %3528
  br i1 %3529, label %3530, label %3534

3530:                                             ; preds = %3526
  %3531 = load i32, ptr %261, align 4, !tbaa !20
  %3532 = load i32, ptr %262, align 4, !tbaa !20
  %3533 = sub nsw i32 %3531, %3532
  br label %3538

3534:                                             ; preds = %3526
  %3535 = load i32, ptr %262, align 4, !tbaa !20
  %3536 = load i32, ptr %261, align 4, !tbaa !20
  %3537 = sub nsw i32 %3535, %3536
  br label %3538

3538:                                             ; preds = %3534, %3530
  %3539 = phi i32 [ %3533, %3530 ], [ %3537, %3534 ]
  store i32 %3539, ptr %265, align 4, !tbaa !5
  %3540 = load i32, ptr %265, align 4, !tbaa !5
  %3541 = call noundef i32 @_ZNSt14numeric_limitsIiE7epsilonEv() #7
  %3542 = icmp sgt i32 %3540, %3541
  br i1 %3542, label %3543, label %3559

3543:                                             ; preds = %3538
  %3544 = load i32, ptr %261, align 4, !tbaa !20
  %3545 = uitofp i32 %3544 to double
  %3546 = load i32, ptr %262, align 4, !tbaa !20
  %3547 = uitofp i32 %3546 to double
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.85, ptr noundef @.str.2, i32 noundef 162, double noundef %3545, double noundef %3547)
          to label %3548 unwind label %3555

3548:                                             ; preds = %3543
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %3559

3549:                                             ; preds = %3509, %3488
  call void @llvm.lifetime.end.p0(i64 1, ptr %259) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %258) #7
  br label %3550

3550:                                             ; preds = %3549, %3484
  call void @llvm.lifetime.end.p0(i64 4, ptr %257) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %256) #7
  br label %4638

3551:                                             ; preds = %3518
  %3552 = landingpad { ptr, i32 }
          cleanup
  %3553 = extractvalue { ptr, i32 } %3552, 0
  store ptr %3553, ptr %55, align 8
  %3554 = extractvalue { ptr, i32 } %3552, 1
  store i32 %3554, ptr %56, align 4
  br label %3617

3555:                                             ; preds = %3543
  %3556 = landingpad { ptr, i32 }
          cleanup
  %3557 = extractvalue { ptr, i32 } %3556, 0
  store ptr %3557, ptr %55, align 8
  %3558 = extractvalue { ptr, i32 } %3556, 1
  store i32 %3558, ptr %56, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %265) #7
  br label %3616

3559:                                             ; preds = %3548, %3538
  call void @llvm.lifetime.end.p0(i64 4, ptr %265) #7
  br label %3582

3560:                                             ; preds = %3523, %3520
  %3561 = load i32, ptr %261, align 4, !tbaa !20
  %3562 = load i32, ptr %262, align 4, !tbaa !20
  %3563 = icmp ne i32 %3561, %3562
  br i1 %3563, label %3564, label %3581

3564:                                             ; preds = %3560
  %3565 = load i32, ptr %261, align 4, !tbaa !20
  %3566 = load i32, ptr %262, align 4, !tbaa !20
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.86, ptr noundef @.str.2, i32 noundef 162, i32 noundef %3565, i32 noundef %3566)
          to label %3567 unwind label %3576

3567:                                             ; preds = %3564
  %3568 = load i8, ptr %263, align 1, !tbaa !11, !range !13, !noundef !14
  %3569 = trunc i8 %3568 to i1
  br i1 %3569, label %3573, label %3570

3570:                                             ; preds = %3567
  %3571 = load i8, ptr %264, align 1, !tbaa !11, !range !13, !noundef !14
  %3572 = trunc i8 %3571 to i1
  br i1 %3572, label %3573, label %3580

3573:                                             ; preds = %3570, %3567
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
          to label %3574 unwind label %3576

3574:                                             ; preds = %3573
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
          to label %3575 unwind label %3576

3575:                                             ; preds = %3574
  br label %3580

3576:                                             ; preds = %3574, %3573, %3564
  %3577 = landingpad { ptr, i32 }
          cleanup
  %3578 = extractvalue { ptr, i32 } %3577, 0
  store ptr %3578, ptr %55, align 8
  %3579 = extractvalue { ptr, i32 } %3577, 1
  store i32 %3579, ptr %56, align 4
  br label %3616

3580:                                             ; preds = %3575, %3570
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %3581

3581:                                             ; preds = %3580, %3560
  br label %3582

3582:                                             ; preds = %3581, %3559
  call void @llvm.lifetime.end.p0(i64 1, ptr %264) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %263) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %262) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %261) #7
  br label %3583

3583:                                             ; preds = %3582
  br label %3584

3584:                                             ; preds = %3583
  br label %3585

3585:                                             ; preds = %3584
  call void @llvm.lifetime.start.p0(i64 4, ptr %266) #7
  store i32 0, ptr %266, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 4, ptr %267) #7
  %3586 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %185, i32 noundef 4608, i32 noundef 13, i32 noundef 14)
          to label %3587 unwind label %3618

3587:                                             ; preds = %3585
  store i32 %3586, ptr %267, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 1, ptr %268) #7
  store i8 0, ptr %268, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %269) #7
  store i8 0, ptr %269, align 1, !tbaa !11
  %3588 = load i8, ptr %268, align 1, !tbaa !11, !range !13, !noundef !14
  %3589 = trunc i8 %3588 to i1
  br i1 %3589, label %3590, label %3627

3590:                                             ; preds = %3587
  %3591 = load i8, ptr %269, align 1, !tbaa !11, !range !13, !noundef !14
  %3592 = trunc i8 %3591 to i1
  br i1 %3592, label %3593, label %3627

3593:                                             ; preds = %3590
  call void @llvm.lifetime.start.p0(i64 4, ptr %270) #7
  %3594 = load i32, ptr %266, align 4, !tbaa !20
  %3595 = load i32, ptr %267, align 4, !tbaa !20
  %3596 = icmp sgt i32 %3594, %3595
  br i1 %3596, label %3597, label %3601

3597:                                             ; preds = %3593
  %3598 = load i32, ptr %266, align 4, !tbaa !20
  %3599 = load i32, ptr %267, align 4, !tbaa !20
  %3600 = sub nsw i32 %3598, %3599
  br label %3605

3601:                                             ; preds = %3593
  %3602 = load i32, ptr %267, align 4, !tbaa !20
  %3603 = load i32, ptr %266, align 4, !tbaa !20
  %3604 = sub nsw i32 %3602, %3603
  br label %3605

3605:                                             ; preds = %3601, %3597
  %3606 = phi i32 [ %3600, %3597 ], [ %3604, %3601 ]
  store i32 %3606, ptr %270, align 4, !tbaa !5
  %3607 = load i32, ptr %270, align 4, !tbaa !5
  %3608 = call noundef i32 @_ZNSt14numeric_limitsIiE7epsilonEv() #7
  %3609 = icmp sgt i32 %3607, %3608
  br i1 %3609, label %3610, label %3626

3610:                                             ; preds = %3605
  %3611 = load i32, ptr %266, align 4, !tbaa !20
  %3612 = uitofp i32 %3611 to double
  %3613 = load i32, ptr %267, align 4, !tbaa !20
  %3614 = uitofp i32 %3613 to double
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.87, ptr noundef @.str.2, i32 noundef 163, double noundef %3612, double noundef %3614)
          to label %3615 unwind label %3622

3615:                                             ; preds = %3610
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %3626

3616:                                             ; preds = %3576, %3555
  call void @llvm.lifetime.end.p0(i64 1, ptr %264) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %263) #7
  br label %3617

3617:                                             ; preds = %3616, %3551
  call void @llvm.lifetime.end.p0(i64 4, ptr %262) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %261) #7
  br label %4638

3618:                                             ; preds = %3585
  %3619 = landingpad { ptr, i32 }
          cleanup
  %3620 = extractvalue { ptr, i32 } %3619, 0
  store ptr %3620, ptr %55, align 8
  %3621 = extractvalue { ptr, i32 } %3619, 1
  store i32 %3621, ptr %56, align 4
  br label %3684

3622:                                             ; preds = %3610
  %3623 = landingpad { ptr, i32 }
          cleanup
  %3624 = extractvalue { ptr, i32 } %3623, 0
  store ptr %3624, ptr %55, align 8
  %3625 = extractvalue { ptr, i32 } %3623, 1
  store i32 %3625, ptr %56, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %270) #7
  br label %3683

3626:                                             ; preds = %3615, %3605
  call void @llvm.lifetime.end.p0(i64 4, ptr %270) #7
  br label %3649

3627:                                             ; preds = %3590, %3587
  %3628 = load i32, ptr %266, align 4, !tbaa !20
  %3629 = load i32, ptr %267, align 4, !tbaa !20
  %3630 = icmp ne i32 %3628, %3629
  br i1 %3630, label %3631, label %3648

3631:                                             ; preds = %3627
  %3632 = load i32, ptr %266, align 4, !tbaa !20
  %3633 = load i32, ptr %267, align 4, !tbaa !20
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.88, ptr noundef @.str.2, i32 noundef 163, i32 noundef %3632, i32 noundef %3633)
          to label %3634 unwind label %3643

3634:                                             ; preds = %3631
  %3635 = load i8, ptr %268, align 1, !tbaa !11, !range !13, !noundef !14
  %3636 = trunc i8 %3635 to i1
  br i1 %3636, label %3640, label %3637

3637:                                             ; preds = %3634
  %3638 = load i8, ptr %269, align 1, !tbaa !11, !range !13, !noundef !14
  %3639 = trunc i8 %3638 to i1
  br i1 %3639, label %3640, label %3647

3640:                                             ; preds = %3637, %3634
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
          to label %3641 unwind label %3643

3641:                                             ; preds = %3640
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
          to label %3642 unwind label %3643

3642:                                             ; preds = %3641
  br label %3647

3643:                                             ; preds = %3641, %3640, %3631
  %3644 = landingpad { ptr, i32 }
          cleanup
  %3645 = extractvalue { ptr, i32 } %3644, 0
  store ptr %3645, ptr %55, align 8
  %3646 = extractvalue { ptr, i32 } %3644, 1
  store i32 %3646, ptr %56, align 4
  br label %3683

3647:                                             ; preds = %3642, %3637
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %3648

3648:                                             ; preds = %3647, %3627
  br label %3649

3649:                                             ; preds = %3648, %3626
  call void @llvm.lifetime.end.p0(i64 1, ptr %269) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %268) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %267) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %266) #7
  br label %3650

3650:                                             ; preds = %3649
  br label %3651

3651:                                             ; preds = %3650
  br label %3652

3652:                                             ; preds = %3651
  call void @llvm.lifetime.start.p0(i64 4, ptr %271) #7
  store i32 0, ptr %271, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 4, ptr %272) #7
  %3653 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %185, i32 noundef 4608, i32 noundef 12, i32 noundef 13)
          to label %3654 unwind label %3685

3654:                                             ; preds = %3652
  store i32 %3653, ptr %272, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 1, ptr %273) #7
  store i8 0, ptr %273, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %274) #7
  store i8 0, ptr %274, align 1, !tbaa !11
  %3655 = load i8, ptr %273, align 1, !tbaa !11, !range !13, !noundef !14
  %3656 = trunc i8 %3655 to i1
  br i1 %3656, label %3657, label %3694

3657:                                             ; preds = %3654
  %3658 = load i8, ptr %274, align 1, !tbaa !11, !range !13, !noundef !14
  %3659 = trunc i8 %3658 to i1
  br i1 %3659, label %3660, label %3694

3660:                                             ; preds = %3657
  call void @llvm.lifetime.start.p0(i64 4, ptr %275) #7
  %3661 = load i32, ptr %271, align 4, !tbaa !20
  %3662 = load i32, ptr %272, align 4, !tbaa !20
  %3663 = icmp sgt i32 %3661, %3662
  br i1 %3663, label %3664, label %3668

3664:                                             ; preds = %3660
  %3665 = load i32, ptr %271, align 4, !tbaa !20
  %3666 = load i32, ptr %272, align 4, !tbaa !20
  %3667 = sub nsw i32 %3665, %3666
  br label %3672

3668:                                             ; preds = %3660
  %3669 = load i32, ptr %272, align 4, !tbaa !20
  %3670 = load i32, ptr %271, align 4, !tbaa !20
  %3671 = sub nsw i32 %3669, %3670
  br label %3672

3672:                                             ; preds = %3668, %3664
  %3673 = phi i32 [ %3667, %3664 ], [ %3671, %3668 ]
  store i32 %3673, ptr %275, align 4, !tbaa !5
  %3674 = load i32, ptr %275, align 4, !tbaa !5
  %3675 = call noundef i32 @_ZNSt14numeric_limitsIiE7epsilonEv() #7
  %3676 = icmp sgt i32 %3674, %3675
  br i1 %3676, label %3677, label %3693

3677:                                             ; preds = %3672
  %3678 = load i32, ptr %271, align 4, !tbaa !20
  %3679 = uitofp i32 %3678 to double
  %3680 = load i32, ptr %272, align 4, !tbaa !20
  %3681 = uitofp i32 %3680 to double
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.89, ptr noundef @.str.2, i32 noundef 164, double noundef %3679, double noundef %3681)
          to label %3682 unwind label %3689

3682:                                             ; preds = %3677
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %3693

3683:                                             ; preds = %3643, %3622
  call void @llvm.lifetime.end.p0(i64 1, ptr %269) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %268) #7
  br label %3684

3684:                                             ; preds = %3683, %3618
  call void @llvm.lifetime.end.p0(i64 4, ptr %267) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %266) #7
  br label %4638

3685:                                             ; preds = %3652
  %3686 = landingpad { ptr, i32 }
          cleanup
  %3687 = extractvalue { ptr, i32 } %3686, 0
  store ptr %3687, ptr %55, align 8
  %3688 = extractvalue { ptr, i32 } %3686, 1
  store i32 %3688, ptr %56, align 4
  br label %3751

3689:                                             ; preds = %3677
  %3690 = landingpad { ptr, i32 }
          cleanup
  %3691 = extractvalue { ptr, i32 } %3690, 0
  store ptr %3691, ptr %55, align 8
  %3692 = extractvalue { ptr, i32 } %3690, 1
  store i32 %3692, ptr %56, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %275) #7
  br label %3750

3693:                                             ; preds = %3682, %3672
  call void @llvm.lifetime.end.p0(i64 4, ptr %275) #7
  br label %3716

3694:                                             ; preds = %3657, %3654
  %3695 = load i32, ptr %271, align 4, !tbaa !20
  %3696 = load i32, ptr %272, align 4, !tbaa !20
  %3697 = icmp ne i32 %3695, %3696
  br i1 %3697, label %3698, label %3715

3698:                                             ; preds = %3694
  %3699 = load i32, ptr %271, align 4, !tbaa !20
  %3700 = load i32, ptr %272, align 4, !tbaa !20
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.90, ptr noundef @.str.2, i32 noundef 164, i32 noundef %3699, i32 noundef %3700)
          to label %3701 unwind label %3710

3701:                                             ; preds = %3698
  %3702 = load i8, ptr %273, align 1, !tbaa !11, !range !13, !noundef !14
  %3703 = trunc i8 %3702 to i1
  br i1 %3703, label %3707, label %3704

3704:                                             ; preds = %3701
  %3705 = load i8, ptr %274, align 1, !tbaa !11, !range !13, !noundef !14
  %3706 = trunc i8 %3705 to i1
  br i1 %3706, label %3707, label %3714

3707:                                             ; preds = %3704, %3701
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
          to label %3708 unwind label %3710

3708:                                             ; preds = %3707
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
          to label %3709 unwind label %3710

3709:                                             ; preds = %3708
  br label %3714

3710:                                             ; preds = %3708, %3707, %3698
  %3711 = landingpad { ptr, i32 }
          cleanup
  %3712 = extractvalue { ptr, i32 } %3711, 0
  store ptr %3712, ptr %55, align 8
  %3713 = extractvalue { ptr, i32 } %3711, 1
  store i32 %3713, ptr %56, align 4
  br label %3750

3714:                                             ; preds = %3709, %3704
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %3715

3715:                                             ; preds = %3714, %3694
  br label %3716

3716:                                             ; preds = %3715, %3693
  call void @llvm.lifetime.end.p0(i64 1, ptr %274) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %273) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %272) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %271) #7
  br label %3717

3717:                                             ; preds = %3716
  br label %3718

3718:                                             ; preds = %3717
  br label %3719

3719:                                             ; preds = %3718
  call void @llvm.lifetime.start.p0(i64 4, ptr %276) #7
  store i32 0, ptr %276, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 4, ptr %277) #7
  %3720 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %185, i32 noundef 2304, i32 noundef 11, i32 noundef 12)
          to label %3721 unwind label %3752

3721:                                             ; preds = %3719
  store i32 %3720, ptr %277, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 1, ptr %278) #7
  store i8 0, ptr %278, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %279) #7
  store i8 0, ptr %279, align 1, !tbaa !11
  %3722 = load i8, ptr %278, align 1, !tbaa !11, !range !13, !noundef !14
  %3723 = trunc i8 %3722 to i1
  br i1 %3723, label %3724, label %3761

3724:                                             ; preds = %3721
  %3725 = load i8, ptr %279, align 1, !tbaa !11, !range !13, !noundef !14
  %3726 = trunc i8 %3725 to i1
  br i1 %3726, label %3727, label %3761

3727:                                             ; preds = %3724
  call void @llvm.lifetime.start.p0(i64 4, ptr %280) #7
  %3728 = load i32, ptr %276, align 4, !tbaa !20
  %3729 = load i32, ptr %277, align 4, !tbaa !20
  %3730 = icmp sgt i32 %3728, %3729
  br i1 %3730, label %3731, label %3735

3731:                                             ; preds = %3727
  %3732 = load i32, ptr %276, align 4, !tbaa !20
  %3733 = load i32, ptr %277, align 4, !tbaa !20
  %3734 = sub nsw i32 %3732, %3733
  br label %3739

3735:                                             ; preds = %3727
  %3736 = load i32, ptr %277, align 4, !tbaa !20
  %3737 = load i32, ptr %276, align 4, !tbaa !20
  %3738 = sub nsw i32 %3736, %3737
  br label %3739

3739:                                             ; preds = %3735, %3731
  %3740 = phi i32 [ %3734, %3731 ], [ %3738, %3735 ]
  store i32 %3740, ptr %280, align 4, !tbaa !5
  %3741 = load i32, ptr %280, align 4, !tbaa !5
  %3742 = call noundef i32 @_ZNSt14numeric_limitsIiE7epsilonEv() #7
  %3743 = icmp sgt i32 %3741, %3742
  br i1 %3743, label %3744, label %3760

3744:                                             ; preds = %3739
  %3745 = load i32, ptr %276, align 4, !tbaa !20
  %3746 = uitofp i32 %3745 to double
  %3747 = load i32, ptr %277, align 4, !tbaa !20
  %3748 = uitofp i32 %3747 to double
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.91, ptr noundef @.str.2, i32 noundef 165, double noundef %3746, double noundef %3748)
          to label %3749 unwind label %3756

3749:                                             ; preds = %3744
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %3760

3750:                                             ; preds = %3710, %3689
  call void @llvm.lifetime.end.p0(i64 1, ptr %274) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %273) #7
  br label %3751

3751:                                             ; preds = %3750, %3685
  call void @llvm.lifetime.end.p0(i64 4, ptr %272) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %271) #7
  br label %4638

3752:                                             ; preds = %3719
  %3753 = landingpad { ptr, i32 }
          cleanup
  %3754 = extractvalue { ptr, i32 } %3753, 0
  store ptr %3754, ptr %55, align 8
  %3755 = extractvalue { ptr, i32 } %3753, 1
  store i32 %3755, ptr %56, align 4
  br label %3818

3756:                                             ; preds = %3744
  %3757 = landingpad { ptr, i32 }
          cleanup
  %3758 = extractvalue { ptr, i32 } %3757, 0
  store ptr %3758, ptr %55, align 8
  %3759 = extractvalue { ptr, i32 } %3757, 1
  store i32 %3759, ptr %56, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %280) #7
  br label %3817

3760:                                             ; preds = %3749, %3739
  call void @llvm.lifetime.end.p0(i64 4, ptr %280) #7
  br label %3783

3761:                                             ; preds = %3724, %3721
  %3762 = load i32, ptr %276, align 4, !tbaa !20
  %3763 = load i32, ptr %277, align 4, !tbaa !20
  %3764 = icmp ne i32 %3762, %3763
  br i1 %3764, label %3765, label %3782

3765:                                             ; preds = %3761
  %3766 = load i32, ptr %276, align 4, !tbaa !20
  %3767 = load i32, ptr %277, align 4, !tbaa !20
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.92, ptr noundef @.str.2, i32 noundef 165, i32 noundef %3766, i32 noundef %3767)
          to label %3768 unwind label %3777

3768:                                             ; preds = %3765
  %3769 = load i8, ptr %278, align 1, !tbaa !11, !range !13, !noundef !14
  %3770 = trunc i8 %3769 to i1
  br i1 %3770, label %3774, label %3771

3771:                                             ; preds = %3768
  %3772 = load i8, ptr %279, align 1, !tbaa !11, !range !13, !noundef !14
  %3773 = trunc i8 %3772 to i1
  br i1 %3773, label %3774, label %3781

3774:                                             ; preds = %3771, %3768
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
          to label %3775 unwind label %3777

3775:                                             ; preds = %3774
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
          to label %3776 unwind label %3777

3776:                                             ; preds = %3775
  br label %3781

3777:                                             ; preds = %3775, %3774, %3765
  %3778 = landingpad { ptr, i32 }
          cleanup
  %3779 = extractvalue { ptr, i32 } %3778, 0
  store ptr %3779, ptr %55, align 8
  %3780 = extractvalue { ptr, i32 } %3778, 1
  store i32 %3780, ptr %56, align 4
  br label %3817

3781:                                             ; preds = %3776, %3771
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %3782

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

3783:                                             ; preds = %3782, %3760
  call void @llvm.lifetime.end.p0(i64 1, ptr %279) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %278) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %277) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %276) #7
  br label %3784

3784:                                             ; preds = %3783
  br label %3785

3785:                                             ; preds = %3784
  br label %3786

3786:                                             ; preds = %3785
  call void @llvm.lifetime.start.p0(i64 4, ptr %281) #7
  store i32 0, ptr %281, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 4, ptr %282) #7
  %3787 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %185, i32 noundef 9216, i32 noundef 10, i32 noundef 11)
          to label %3788 unwind label %3819

3788:                                             ; preds = %3786
  store i32 %3787, ptr %282, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 1, ptr %283) #7
  store i8 0, ptr %283, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %284) #7
  store i8 0, ptr %284, align 1, !tbaa !11
  %3789 = load i8, ptr %283, align 1, !tbaa !11, !range !13, !noundef !14
  %3790 = trunc i8 %3789 to i1
  br i1 %3790, label %3791, label %3828

3791:                                             ; preds = %3788
  %3792 = load i8, ptr %284, align 1, !tbaa !11, !range !13, !noundef !14
  %3793 = trunc i8 %3792 to i1
  br i1 %3793, label %3794, label %3828

3794:                                             ; preds = %3791
  call void @llvm.lifetime.start.p0(i64 4, ptr %285) #7
  %3795 = load i32, ptr %281, align 4, !tbaa !20
  %3796 = load i32, ptr %282, align 4, !tbaa !20
  %3797 = icmp sgt i32 %3795, %3796
  br i1 %3797, label %3798, label %3802

3798:                                             ; preds = %3794
  %3799 = load i32, ptr %281, align 4, !tbaa !20
  %3800 = load i32, ptr %282, align 4, !tbaa !20
  %3801 = sub nsw i32 %3799, %3800
  br label %3806

3802:                                             ; preds = %3794
  %3803 = load i32, ptr %282, align 4, !tbaa !20
  %3804 = load i32, ptr %281, align 4, !tbaa !20
  %3805 = sub nsw i32 %3803, %3804
  br label %3806

3806:                                             ; preds = %3802, %3798
  %3807 = phi i32 [ %3801, %3798 ], [ %3805, %3802 ]
  store i32 %3807, ptr %285, align 4, !tbaa !5
  %3808 = load i32, ptr %285, align 4, !tbaa !5
  %3809 = call noundef i32 @_ZNSt14numeric_limitsIiE7epsilonEv() #7
  %3810 = icmp sgt i32 %3808, %3809
  br i1 %3810, label %3811, label %3827

3811:                                             ; preds = %3806
  %3812 = load i32, ptr %281, align 4, !tbaa !20
  %3813 = uitofp i32 %3812 to double
  %3814 = load i32, ptr %282, align 4, !tbaa !20
  %3815 = uitofp i32 %3814 to double
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.93, ptr noundef @.str.2, i32 noundef 166, double noundef %3813, double noundef %3815)
          to label %3816 unwind label %3823

3816:                                             ; preds = %3811
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %3827

3817:                                             ; preds = %3777, %3756
  call void @llvm.lifetime.end.p0(i64 1, ptr %279) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %278) #7
  br label %3818

3818:                                             ; preds = %3817, %3752
  call void @llvm.lifetime.end.p0(i64 4, ptr %277) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %276) #7
  br label %4638

3819:                                             ; preds = %3786
  %3820 = landingpad { ptr, i32 }
          cleanup
  %3821 = extractvalue { ptr, i32 } %3820, 0
  store ptr %3821, ptr %55, align 8
  %3822 = extractvalue { ptr, i32 } %3820, 1
  store i32 %3822, ptr %56, align 4
  br label %3885

3823:                                             ; preds = %3811
  %3824 = landingpad { ptr, i32 }
          cleanup
  %3825 = extractvalue { ptr, i32 } %3824, 0
  store ptr %3825, ptr %55, align 8
  %3826 = extractvalue { ptr, i32 } %3824, 1
  store i32 %3826, ptr %56, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %285) #7
  br label %3884

3827:                                             ; preds = %3816, %3806
  call void @llvm.lifetime.end.p0(i64 4, ptr %285) #7
  br label %3850

3828:                                             ; preds = %3791, %3788
  %3829 = load i32, ptr %281, align 4, !tbaa !20
  %3830 = load i32, ptr %282, align 4, !tbaa !20
  %3831 = icmp ne i32 %3829, %3830
  br i1 %3831, label %3832, label %3849

3832:                                             ; preds = %3828
  %3833 = load i32, ptr %281, align 4, !tbaa !20
  %3834 = load i32, ptr %282, align 4, !tbaa !20
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.94, ptr noundef @.str.2, i32 noundef 166, i32 noundef %3833, i32 noundef %3834)
          to label %3835 unwind label %3844

3835:                                             ; preds = %3832
  %3836 = load i8, ptr %283, align 1, !tbaa !11, !range !13, !noundef !14
  %3837 = trunc i8 %3836 to i1
  br i1 %3837, label %3841, label %3838

3838:                                             ; preds = %3835
  %3839 = load i8, ptr %284, align 1, !tbaa !11, !range !13, !noundef !14
  %3840 = trunc i8 %3839 to i1
  br i1 %3840, label %3841, label %3848

3841:                                             ; preds = %3838, %3835
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
          to label %3842 unwind label %3844

3842:                                             ; preds = %3841
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
          to label %3843 unwind label %3844

3843:                                             ; preds = %3842
  br label %3848

3844:                                             ; preds = %3842, %3841, %3832
  %3845 = landingpad { ptr, i32 }
          cleanup
  %3846 = extractvalue { ptr, i32 } %3845, 0
  store ptr %3846, ptr %55, align 8
  %3847 = extractvalue { ptr, i32 } %3845, 1
  store i32 %3847, ptr %56, align 4
  br label %3884

3848:                                             ; preds = %3843, %3838
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %3849

3849:                                             ; preds = %3848, %3828
  br label %3850

3850:                                             ; preds = %3849, %3827
  call void @llvm.lifetime.end.p0(i64 1, ptr %284) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %283) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %282) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %281) #7
  br label %3851

3851:                                             ; preds = %3850
  br label %3852

3852:                                             ; preds = %3851
  br label %3853

3853:                                             ; preds = %3852
  call void @llvm.lifetime.start.p0(i64 4, ptr %286) #7
  store i32 0, ptr %286, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 4, ptr %287) #7
  %3854 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %185, i32 noundef 9216, i32 noundef 9, i32 noundef 10)
          to label %3855 unwind label %3886

3855:                                             ; preds = %3853
  store i32 %3854, ptr %287, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 1, ptr %288) #7
  store i8 0, ptr %288, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %289) #7
  store i8 0, ptr %289, align 1, !tbaa !11
  %3856 = load i8, ptr %288, align 1, !tbaa !11, !range !13, !noundef !14
  %3857 = trunc i8 %3856 to i1
  br i1 %3857, label %3858, label %3895

3858:                                             ; preds = %3855
  %3859 = load i8, ptr %289, align 1, !tbaa !11, !range !13, !noundef !14
  %3860 = trunc i8 %3859 to i1
  br i1 %3860, label %3861, label %3895

3861:                                             ; preds = %3858
  call void @llvm.lifetime.start.p0(i64 4, ptr %290) #7
  %3862 = load i32, ptr %286, align 4, !tbaa !20
  %3863 = load i32, ptr %287, align 4, !tbaa !20
  %3864 = icmp sgt i32 %3862, %3863
  br i1 %3864, label %3865, label %3869

3865:                                             ; preds = %3861
  %3866 = load i32, ptr %286, align 4, !tbaa !20
  %3867 = load i32, ptr %287, align 4, !tbaa !20
  %3868 = sub nsw i32 %3866, %3867
  br label %3873

3869:                                             ; preds = %3861
  %3870 = load i32, ptr %287, align 4, !tbaa !20
  %3871 = load i32, ptr %286, align 4, !tbaa !20
  %3872 = sub nsw i32 %3870, %3871
  br label %3873

3873:                                             ; preds = %3869, %3865
  %3874 = phi i32 [ %3868, %3865 ], [ %3872, %3869 ]
  store i32 %3874, ptr %290, align 4, !tbaa !5
  %3875 = load i32, ptr %290, align 4, !tbaa !5
  %3876 = call noundef i32 @_ZNSt14numeric_limitsIiE7epsilonEv() #7
  %3877 = icmp sgt i32 %3875, %3876
  br i1 %3877, label %3878, label %3894

3878:                                             ; preds = %3873
  %3879 = load i32, ptr %286, align 4, !tbaa !20
  %3880 = uitofp i32 %3879 to double
  %3881 = load i32, ptr %287, align 4, !tbaa !20
  %3882 = uitofp i32 %3881 to double
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.95, ptr noundef @.str.2, i32 noundef 167, double noundef %3880, double noundef %3882)
          to label %3883 unwind label %3890

3883:                                             ; preds = %3878
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %3894

3884:                                             ; preds = %3844, %3823
  call void @llvm.lifetime.end.p0(i64 1, ptr %284) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %283) #7
  br label %3885

3885:                                             ; preds = %3884, %3819
  call void @llvm.lifetime.end.p0(i64 4, ptr %282) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %281) #7
  br label %4638

3886:                                             ; preds = %3853
  %3887 = landingpad { ptr, i32 }
          cleanup
  %3888 = extractvalue { ptr, i32 } %3887, 0
  store ptr %3888, ptr %55, align 8
  %3889 = extractvalue { ptr, i32 } %3887, 1
  store i32 %3889, ptr %56, align 4
  br label %3952

3890:                                             ; preds = %3878
  %3891 = landingpad { ptr, i32 }
          cleanup
  %3892 = extractvalue { ptr, i32 } %3891, 0
  store ptr %3892, ptr %55, align 8
  %3893 = extractvalue { ptr, i32 } %3891, 1
  store i32 %3893, ptr %56, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %290) #7
  br label %3951

3894:                                             ; preds = %3883, %3873
  call void @llvm.lifetime.end.p0(i64 4, ptr %290) #7
  br label %3917

3895:                                             ; preds = %3858, %3855
  %3896 = load i32, ptr %286, align 4, !tbaa !20
  %3897 = load i32, ptr %287, align 4, !tbaa !20
  %3898 = icmp ne i32 %3896, %3897
  br i1 %3898, label %3899, label %3916

3899:                                             ; preds = %3895
  %3900 = load i32, ptr %286, align 4, !tbaa !20
  %3901 = load i32, ptr %287, align 4, !tbaa !20
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.96, ptr noundef @.str.2, i32 noundef 167, i32 noundef %3900, i32 noundef %3901)
          to label %3902 unwind label %3911

3902:                                             ; preds = %3899
  %3903 = load i8, ptr %288, align 1, !tbaa !11, !range !13, !noundef !14
  %3904 = trunc i8 %3903 to i1
  br i1 %3904, label %3908, label %3905

3905:                                             ; preds = %3902
  %3906 = load i8, ptr %289, align 1, !tbaa !11, !range !13, !noundef !14
  %3907 = trunc i8 %3906 to i1
  br i1 %3907, label %3908, label %3915

3908:                                             ; preds = %3905, %3902
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
          to label %3909 unwind label %3911

3909:                                             ; preds = %3908
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
          to label %3910 unwind label %3911

3910:                                             ; preds = %3909
  br label %3915

3911:                                             ; preds = %3909, %3908, %3899
  %3912 = landingpad { ptr, i32 }
          cleanup
  %3913 = extractvalue { ptr, i32 } %3912, 0
  store ptr %3913, ptr %55, align 8
  %3914 = extractvalue { ptr, i32 } %3912, 1
  store i32 %3914, ptr %56, align 4
  br label %3951

3915:                                             ; preds = %3910, %3905
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %3916

3916:                                             ; preds = %3915, %3895
  br label %3917

3917:                                             ; preds = %3916, %3894
  call void @llvm.lifetime.end.p0(i64 1, ptr %289) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %288) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %287) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %286) #7
  br label %3918

3918:                                             ; preds = %3917
  br label %3919

3919:                                             ; preds = %3918
  br label %3920

3920:                                             ; preds = %3919
  call void @llvm.lifetime.start.p0(i64 4, ptr %291) #7
  store i32 0, ptr %291, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 4, ptr %292) #7
  %3921 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %185, i32 noundef 9216, i32 noundef 8, i32 noundef 9)
          to label %3922 unwind label %3953

3922:                                             ; preds = %3920
  store i32 %3921, ptr %292, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 1, ptr %293) #7
  store i8 0, ptr %293, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %294) #7
  store i8 0, ptr %294, align 1, !tbaa !11
  %3923 = load i8, ptr %293, align 1, !tbaa !11, !range !13, !noundef !14
  %3924 = trunc i8 %3923 to i1
  br i1 %3924, label %3925, label %3962

3925:                                             ; preds = %3922
  %3926 = load i8, ptr %294, align 1, !tbaa !11, !range !13, !noundef !14
  %3927 = trunc i8 %3926 to i1
  br i1 %3927, label %3928, label %3962

3928:                                             ; preds = %3925
  call void @llvm.lifetime.start.p0(i64 4, ptr %295) #7
  %3929 = load i32, ptr %291, align 4, !tbaa !20
  %3930 = load i32, ptr %292, align 4, !tbaa !20
  %3931 = icmp sgt i32 %3929, %3930
  br i1 %3931, label %3932, label %3936

3932:                                             ; preds = %3928
  %3933 = load i32, ptr %291, align 4, !tbaa !20
  %3934 = load i32, ptr %292, align 4, !tbaa !20
  %3935 = sub nsw i32 %3933, %3934
  br label %3940

3936:                                             ; preds = %3928
  %3937 = load i32, ptr %292, align 4, !tbaa !20
  %3938 = load i32, ptr %291, align 4, !tbaa !20
  %3939 = sub nsw i32 %3937, %3938
  br label %3940

3940:                                             ; preds = %3936, %3932
  %3941 = phi i32 [ %3935, %3932 ], [ %3939, %3936 ]
  store i32 %3941, ptr %295, align 4, !tbaa !5
  %3942 = load i32, ptr %295, align 4, !tbaa !5
  %3943 = call noundef i32 @_ZNSt14numeric_limitsIiE7epsilonEv() #7
  %3944 = icmp sgt i32 %3942, %3943
  br i1 %3944, label %3945, label %3961

3945:                                             ; preds = %3940
  %3946 = load i32, ptr %291, align 4, !tbaa !20
  %3947 = uitofp i32 %3946 to double
  %3948 = load i32, ptr %292, align 4, !tbaa !20
  %3949 = uitofp i32 %3948 to double
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.97, ptr noundef @.str.2, i32 noundef 168, double noundef %3947, double noundef %3949)
          to label %3950 unwind label %3957

3950:                                             ; preds = %3945
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %3961

3951:                                             ; preds = %3911, %3890
  call void @llvm.lifetime.end.p0(i64 1, ptr %289) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %288) #7
  br label %3952

3952:                                             ; preds = %3951, %3886
  call void @llvm.lifetime.end.p0(i64 4, ptr %287) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %286) #7
  br label %4638

3953:                                             ; preds = %3920
  %3954 = landingpad { ptr, i32 }
          cleanup
  %3955 = extractvalue { ptr, i32 } %3954, 0
  store ptr %3955, ptr %55, align 8
  %3956 = extractvalue { ptr, i32 } %3954, 1
  store i32 %3956, ptr %56, align 4
  br label %4019

3957:                                             ; preds = %3945
  %3958 = landingpad { ptr, i32 }
          cleanup
  %3959 = extractvalue { ptr, i32 } %3958, 0
  store ptr %3959, ptr %55, align 8
  %3960 = extractvalue { ptr, i32 } %3958, 1
  store i32 %3960, ptr %56, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %295) #7
  br label %4018

3961:                                             ; preds = %3950, %3940
  call void @llvm.lifetime.end.p0(i64 4, ptr %295) #7
  br label %3984

3962:                                             ; preds = %3925, %3922
  %3963 = load i32, ptr %291, align 4, !tbaa !20
  %3964 = load i32, ptr %292, align 4, !tbaa !20
  %3965 = icmp ne i32 %3963, %3964
  br i1 %3965, label %3966, label %3983

3966:                                             ; preds = %3962
  %3967 = load i32, ptr %291, align 4, !tbaa !20
  %3968 = load i32, ptr %292, align 4, !tbaa !20
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.98, ptr noundef @.str.2, i32 noundef 168, i32 noundef %3967, i32 noundef %3968)
          to label %3969 unwind label %3978

3969:                                             ; preds = %3966
  %3970 = load i8, ptr %293, align 1, !tbaa !11, !range !13, !noundef !14
  %3971 = trunc i8 %3970 to i1
  br i1 %3971, label %3975, label %3972

3972:                                             ; preds = %3969
  %3973 = load i8, ptr %294, align 1, !tbaa !11, !range !13, !noundef !14
  %3974 = trunc i8 %3973 to i1
  br i1 %3974, label %3975, label %3982

3975:                                             ; preds = %3972, %3969
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
          to label %3976 unwind label %3978

3976:                                             ; preds = %3975
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
          to label %3977 unwind label %3978

3977:                                             ; preds = %3976
  br label %3982

3978:                                             ; preds = %3976, %3975, %3966
  %3979 = landingpad { ptr, i32 }
          cleanup
  %3980 = extractvalue { ptr, i32 } %3979, 0
  store ptr %3980, ptr %55, align 8
  %3981 = extractvalue { ptr, i32 } %3979, 1
  store i32 %3981, ptr %56, align 4
  br label %4018

3982:                                             ; preds = %3977, %3972
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %3983

3983:                                             ; preds = %3982, %3962
  br label %3984

3984:                                             ; preds = %3983, %3961
  call void @llvm.lifetime.end.p0(i64 1, ptr %294) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %293) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %292) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %291) #7
  br label %3985

3985:                                             ; preds = %3984
  br label %3986

3986:                                             ; preds = %3985
  br label %3987

3987:                                             ; preds = %3986
  call void @llvm.lifetime.start.p0(i64 4, ptr %296) #7
  store i32 0, ptr %296, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 4, ptr %297) #7
  %3988 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %185, i32 noundef 4608, i32 noundef 7, i32 noundef 8)
          to label %3989 unwind label %4020

3989:                                             ; preds = %3987
  store i32 %3988, ptr %297, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 1, ptr %298) #7
  store i8 0, ptr %298, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %299) #7
  store i8 0, ptr %299, align 1, !tbaa !11
  %3990 = load i8, ptr %298, align 1, !tbaa !11, !range !13, !noundef !14
  %3991 = trunc i8 %3990 to i1
  br i1 %3991, label %3992, label %4029

3992:                                             ; preds = %3989
  %3993 = load i8, ptr %299, align 1, !tbaa !11, !range !13, !noundef !14
  %3994 = trunc i8 %3993 to i1
  br i1 %3994, label %3995, label %4029

3995:                                             ; preds = %3992
  call void @llvm.lifetime.start.p0(i64 4, ptr %300) #7
  %3996 = load i32, ptr %296, align 4, !tbaa !20
  %3997 = load i32, ptr %297, align 4, !tbaa !20
  %3998 = icmp sgt i32 %3996, %3997
  br i1 %3998, label %3999, label %4003

3999:                                             ; preds = %3995
  %4000 = load i32, ptr %296, align 4, !tbaa !20
  %4001 = load i32, ptr %297, align 4, !tbaa !20
  %4002 = sub nsw i32 %4000, %4001
  br label %4007

4003:                                             ; preds = %3995
  %4004 = load i32, ptr %297, align 4, !tbaa !20
  %4005 = load i32, ptr %296, align 4, !tbaa !20
  %4006 = sub nsw i32 %4004, %4005
  br label %4007

4007:                                             ; preds = %4003, %3999
  %4008 = phi i32 [ %4002, %3999 ], [ %4006, %4003 ]
  store i32 %4008, ptr %300, align 4, !tbaa !5
  %4009 = load i32, ptr %300, align 4, !tbaa !5
  %4010 = call noundef i32 @_ZNSt14numeric_limitsIiE7epsilonEv() #7
  %4011 = icmp sgt i32 %4009, %4010
  br i1 %4011, label %4012, label %4028

4012:                                             ; preds = %4007
  %4013 = load i32, ptr %296, align 4, !tbaa !20
  %4014 = uitofp i32 %4013 to double
  %4015 = load i32, ptr %297, align 4, !tbaa !20
  %4016 = uitofp i32 %4015 to double
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.99, ptr noundef @.str.2, i32 noundef 169, double noundef %4014, double noundef %4016)
          to label %4017 unwind label %4024

4017:                                             ; preds = %4012
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %4028

4018:                                             ; preds = %3978, %3957
  call void @llvm.lifetime.end.p0(i64 1, ptr %294) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %293) #7
  br label %4019

4019:                                             ; preds = %4018, %3953
  call void @llvm.lifetime.end.p0(i64 4, ptr %292) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %291) #7
  br label %4638

4020:                                             ; preds = %3987
  %4021 = landingpad { ptr, i32 }
          cleanup
  %4022 = extractvalue { ptr, i32 } %4021, 0
  store ptr %4022, ptr %55, align 8
  %4023 = extractvalue { ptr, i32 } %4021, 1
  store i32 %4023, ptr %56, align 4
  br label %4086

4024:                                             ; preds = %4012
  %4025 = landingpad { ptr, i32 }
          cleanup
  %4026 = extractvalue { ptr, i32 } %4025, 0
  store ptr %4026, ptr %55, align 8
  %4027 = extractvalue { ptr, i32 } %4025, 1
  store i32 %4027, ptr %56, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %300) #7
  br label %4085

4028:                                             ; preds = %4017, %4007
  call void @llvm.lifetime.end.p0(i64 4, ptr %300) #7
  br label %4051

4029:                                             ; preds = %3992, %3989
  %4030 = load i32, ptr %296, align 4, !tbaa !20
  %4031 = load i32, ptr %297, align 4, !tbaa !20
  %4032 = icmp ne i32 %4030, %4031
  br i1 %4032, label %4033, label %4050

4033:                                             ; preds = %4029
  %4034 = load i32, ptr %296, align 4, !tbaa !20
  %4035 = load i32, ptr %297, align 4, !tbaa !20
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.100, ptr noundef @.str.2, i32 noundef 169, i32 noundef %4034, i32 noundef %4035)
          to label %4036 unwind label %4045

4036:                                             ; preds = %4033
  %4037 = load i8, ptr %298, align 1, !tbaa !11, !range !13, !noundef !14
  %4038 = trunc i8 %4037 to i1
  br i1 %4038, label %4042, label %4039

4039:                                             ; preds = %4036
  %4040 = load i8, ptr %299, align 1, !tbaa !11, !range !13, !noundef !14
  %4041 = trunc i8 %4040 to i1
  br i1 %4041, label %4042, label %4049

4042:                                             ; preds = %4039, %4036
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
          to label %4043 unwind label %4045

4043:                                             ; preds = %4042
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
          to label %4044 unwind label %4045

4044:                                             ; preds = %4043
  br label %4049

4045:                                             ; preds = %4043, %4042, %4033
  %4046 = landingpad { ptr, i32 }
          cleanup
  %4047 = extractvalue { ptr, i32 } %4046, 0
  store ptr %4047, ptr %55, align 8
  %4048 = extractvalue { ptr, i32 } %4046, 1
  store i32 %4048, ptr %56, align 4
  br label %4085

4049:                                             ; preds = %4044, %4039
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %4050

4050:                                             ; preds = %4049, %4029
  br label %4051

4051:                                             ; preds = %4050, %4028
  call void @llvm.lifetime.end.p0(i64 1, ptr %299) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %298) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %297) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %296) #7
  br label %4052

4052:                                             ; preds = %4051
  br label %4053

4053:                                             ; preds = %4052
  br label %4054

4054:                                             ; preds = %4053
  call void @llvm.lifetime.start.p0(i64 4, ptr %301) #7
  store i32 0, ptr %301, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 4, ptr %302) #7
  %4055 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %185, i32 noundef 18432, i32 noundef 6, i32 noundef 7)
          to label %4056 unwind label %4087

4056:                                             ; preds = %4054
  store i32 %4055, ptr %302, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 1, ptr %303) #7
  store i8 0, ptr %303, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %304) #7
  store i8 0, ptr %304, align 1, !tbaa !11
  %4057 = load i8, ptr %303, align 1, !tbaa !11, !range !13, !noundef !14
  %4058 = trunc i8 %4057 to i1
  br i1 %4058, label %4059, label %4096

4059:                                             ; preds = %4056
  %4060 = load i8, ptr %304, align 1, !tbaa !11, !range !13, !noundef !14
  %4061 = trunc i8 %4060 to i1
  br i1 %4061, label %4062, label %4096

4062:                                             ; preds = %4059
  call void @llvm.lifetime.start.p0(i64 4, ptr %305) #7
  %4063 = load i32, ptr %301, align 4, !tbaa !20
  %4064 = load i32, ptr %302, align 4, !tbaa !20
  %4065 = icmp sgt i32 %4063, %4064
  br i1 %4065, label %4066, label %4070

4066:                                             ; preds = %4062
  %4067 = load i32, ptr %301, align 4, !tbaa !20
  %4068 = load i32, ptr %302, align 4, !tbaa !20
  %4069 = sub nsw i32 %4067, %4068
  br label %4074

4070:                                             ; preds = %4062
  %4071 = load i32, ptr %302, align 4, !tbaa !20
  %4072 = load i32, ptr %301, align 4, !tbaa !20
  %4073 = sub nsw i32 %4071, %4072
  br label %4074

4074:                                             ; preds = %4070, %4066
  %4075 = phi i32 [ %4069, %4066 ], [ %4073, %4070 ]
  store i32 %4075, ptr %305, align 4, !tbaa !5
  %4076 = load i32, ptr %305, align 4, !tbaa !5
  %4077 = call noundef i32 @_ZNSt14numeric_limitsIiE7epsilonEv() #7
  %4078 = icmp sgt i32 %4076, %4077
  br i1 %4078, label %4079, label %4095

4079:                                             ; preds = %4074
  %4080 = load i32, ptr %301, align 4, !tbaa !20
  %4081 = uitofp i32 %4080 to double
  %4082 = load i32, ptr %302, align 4, !tbaa !20
  %4083 = uitofp i32 %4082 to double
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.101, ptr noundef @.str.2, i32 noundef 170, double noundef %4081, double noundef %4083)
          to label %4084 unwind label %4091

4084:                                             ; preds = %4079
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %4095

4085:                                             ; preds = %4045, %4024
  call void @llvm.lifetime.end.p0(i64 1, ptr %299) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %298) #7
  br label %4086

4086:                                             ; preds = %4085, %4020
  call void @llvm.lifetime.end.p0(i64 4, ptr %297) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %296) #7
  br label %4638

4087:                                             ; preds = %4054
  %4088 = landingpad { ptr, i32 }
          cleanup
  %4089 = extractvalue { ptr, i32 } %4088, 0
  store ptr %4089, ptr %55, align 8
  %4090 = extractvalue { ptr, i32 } %4088, 1
  store i32 %4090, ptr %56, align 4
  br label %4153

4091:                                             ; preds = %4079
  %4092 = landingpad { ptr, i32 }
          cleanup
  %4093 = extractvalue { ptr, i32 } %4092, 0
  store ptr %4093, ptr %55, align 8
  %4094 = extractvalue { ptr, i32 } %4092, 1
  store i32 %4094, ptr %56, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %305) #7
  br label %4152

4095:                                             ; preds = %4084, %4074
  call void @llvm.lifetime.end.p0(i64 4, ptr %305) #7
  br label %4118

4096:                                             ; preds = %4059, %4056
  %4097 = load i32, ptr %301, align 4, !tbaa !20
  %4098 = load i32, ptr %302, align 4, !tbaa !20
  %4099 = icmp ne i32 %4097, %4098
  br i1 %4099, label %4100, label %4117

4100:                                             ; preds = %4096
  %4101 = load i32, ptr %301, align 4, !tbaa !20
  %4102 = load i32, ptr %302, align 4, !tbaa !20
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.102, ptr noundef @.str.2, i32 noundef 170, i32 noundef %4101, i32 noundef %4102)
          to label %4103 unwind label %4112

4103:                                             ; preds = %4100
  %4104 = load i8, ptr %303, align 1, !tbaa !11, !range !13, !noundef !14
  %4105 = trunc i8 %4104 to i1
  br i1 %4105, label %4109, label %4106

4106:                                             ; preds = %4103
  %4107 = load i8, ptr %304, align 1, !tbaa !11, !range !13, !noundef !14
  %4108 = trunc i8 %4107 to i1
  br i1 %4108, label %4109, label %4116

4109:                                             ; preds = %4106, %4103
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
          to label %4110 unwind label %4112

4110:                                             ; preds = %4109
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
          to label %4111 unwind label %4112

4111:                                             ; preds = %4110
  br label %4116

4112:                                             ; preds = %4110, %4109, %4100
  %4113 = landingpad { ptr, i32 }
          cleanup
  %4114 = extractvalue { ptr, i32 } %4113, 0
  store ptr %4114, ptr %55, align 8
  %4115 = extractvalue { ptr, i32 } %4113, 1
  store i32 %4115, ptr %56, align 4
  br label %4152

4116:                                             ; preds = %4111, %4106
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %4117

4117:                                             ; preds = %4116, %4096
  br label %4118

4118:                                             ; preds = %4117, %4095
  call void @llvm.lifetime.end.p0(i64 1, ptr %304) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %303) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %302) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %301) #7
  br label %4119

4119:                                             ; preds = %4118
  br label %4120

4120:                                             ; preds = %4119
  br label %4121

4121:                                             ; preds = %4120
  call void @llvm.lifetime.start.p0(i64 4, ptr %306) #7
  store i32 0, ptr %306, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 4, ptr %307) #7
  %4122 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %185, i32 noundef 18432, i32 noundef 5, i32 noundef 6)
          to label %4123 unwind label %4154

4123:                                             ; preds = %4121
  store i32 %4122, ptr %307, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 1, ptr %308) #7
  store i8 0, ptr %308, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %309) #7
  store i8 0, ptr %309, align 1, !tbaa !11
  %4124 = load i8, ptr %308, align 1, !tbaa !11, !range !13, !noundef !14
  %4125 = trunc i8 %4124 to i1
  br i1 %4125, label %4126, label %4163

4126:                                             ; preds = %4123
  %4127 = load i8, ptr %309, align 1, !tbaa !11, !range !13, !noundef !14
  %4128 = trunc i8 %4127 to i1
  br i1 %4128, label %4129, label %4163

4129:                                             ; preds = %4126
  call void @llvm.lifetime.start.p0(i64 4, ptr %310) #7
  %4130 = load i32, ptr %306, align 4, !tbaa !20
  %4131 = load i32, ptr %307, align 4, !tbaa !20
  %4132 = icmp sgt i32 %4130, %4131
  br i1 %4132, label %4133, label %4137

4133:                                             ; preds = %4129
  %4134 = load i32, ptr %306, align 4, !tbaa !20
  %4135 = load i32, ptr %307, align 4, !tbaa !20
  %4136 = sub nsw i32 %4134, %4135
  br label %4141

4137:                                             ; preds = %4129
  %4138 = load i32, ptr %307, align 4, !tbaa !20
  %4139 = load i32, ptr %306, align 4, !tbaa !20
  %4140 = sub nsw i32 %4138, %4139
  br label %4141

4141:                                             ; preds = %4137, %4133
  %4142 = phi i32 [ %4136, %4133 ], [ %4140, %4137 ]
  store i32 %4142, ptr %310, align 4, !tbaa !5
  %4143 = load i32, ptr %310, align 4, !tbaa !5
  %4144 = call noundef i32 @_ZNSt14numeric_limitsIiE7epsilonEv() #7
  %4145 = icmp sgt i32 %4143, %4144
  br i1 %4145, label %4146, label %4162

4146:                                             ; preds = %4141
  %4147 = load i32, ptr %306, align 4, !tbaa !20
  %4148 = uitofp i32 %4147 to double
  %4149 = load i32, ptr %307, align 4, !tbaa !20
  %4150 = uitofp i32 %4149 to double
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.103, ptr noundef @.str.2, i32 noundef 171, double noundef %4148, double noundef %4150)
          to label %4151 unwind label %4158

4151:                                             ; preds = %4146
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %4162

4152:                                             ; preds = %4112, %4091
  call void @llvm.lifetime.end.p0(i64 1, ptr %304) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %303) #7
  br label %4153

4153:                                             ; preds = %4152, %4087
  call void @llvm.lifetime.end.p0(i64 4, ptr %302) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %301) #7
  br label %4638

4154:                                             ; preds = %4121
  %4155 = landingpad { ptr, i32 }
          cleanup
  %4156 = extractvalue { ptr, i32 } %4155, 0
  store ptr %4156, ptr %55, align 8
  %4157 = extractvalue { ptr, i32 } %4155, 1
  store i32 %4157, ptr %56, align 4
  br label %4220

4158:                                             ; preds = %4146
  %4159 = landingpad { ptr, i32 }
          cleanup
  %4160 = extractvalue { ptr, i32 } %4159, 0
  store ptr %4160, ptr %55, align 8
  %4161 = extractvalue { ptr, i32 } %4159, 1
  store i32 %4161, ptr %56, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %310) #7
  br label %4219

4162:                                             ; preds = %4151, %4141
  call void @llvm.lifetime.end.p0(i64 4, ptr %310) #7
  br label %4185

4163:                                             ; preds = %4126, %4123
  %4164 = load i32, ptr %306, align 4, !tbaa !20
  %4165 = load i32, ptr %307, align 4, !tbaa !20
  %4166 = icmp ne i32 %4164, %4165
  br i1 %4166, label %4167, label %4184

4167:                                             ; preds = %4163
  %4168 = load i32, ptr %306, align 4, !tbaa !20
  %4169 = load i32, ptr %307, align 4, !tbaa !20
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.104, ptr noundef @.str.2, i32 noundef 171, i32 noundef %4168, i32 noundef %4169)
          to label %4170 unwind label %4179

4170:                                             ; preds = %4167
  %4171 = load i8, ptr %308, align 1, !tbaa !11, !range !13, !noundef !14
  %4172 = trunc i8 %4171 to i1
  br i1 %4172, label %4176, label %4173

4173:                                             ; preds = %4170
  %4174 = load i8, ptr %309, align 1, !tbaa !11, !range !13, !noundef !14
  %4175 = trunc i8 %4174 to i1
  br i1 %4175, label %4176, label %4183

4176:                                             ; preds = %4173, %4170
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
          to label %4177 unwind label %4179

4177:                                             ; preds = %4176
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
          to label %4178 unwind label %4179

4178:                                             ; preds = %4177
  br label %4183

4179:                                             ; preds = %4177, %4176, %4167
  %4180 = landingpad { ptr, i32 }
          cleanup
  %4181 = extractvalue { ptr, i32 } %4180, 0
  store ptr %4181, ptr %55, align 8
  %4182 = extractvalue { ptr, i32 } %4180, 1
  store i32 %4182, ptr %56, align 4
  br label %4219

4183:                                             ; preds = %4178, %4173
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %4184

4184:                                             ; preds = %4183, %4163
  br label %4185

4185:                                             ; preds = %4184, %4162
  call void @llvm.lifetime.end.p0(i64 1, ptr %309) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %308) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %307) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %306) #7
  br label %4186

4186:                                             ; preds = %4185
  br label %4187

4187:                                             ; preds = %4186
  br label %4188

4188:                                             ; preds = %4187
  call void @llvm.lifetime.start.p0(i64 4, ptr %311) #7
  store i32 0, ptr %311, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 4, ptr %312) #7
  %4189 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %185, i32 noundef 18432, i32 noundef 4, i32 noundef 5)
          to label %4190 unwind label %4221

4190:                                             ; preds = %4188
  store i32 %4189, ptr %312, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 1, ptr %313) #7
  store i8 0, ptr %313, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %314) #7
  store i8 0, ptr %314, align 1, !tbaa !11
  %4191 = load i8, ptr %313, align 1, !tbaa !11, !range !13, !noundef !14
  %4192 = trunc i8 %4191 to i1
  br i1 %4192, label %4193, label %4230

4193:                                             ; preds = %4190
  %4194 = load i8, ptr %314, align 1, !tbaa !11, !range !13, !noundef !14
  %4195 = trunc i8 %4194 to i1
  br i1 %4195, label %4196, label %4230

4196:                                             ; preds = %4193
  call void @llvm.lifetime.start.p0(i64 4, ptr %315) #7
  %4197 = load i32, ptr %311, align 4, !tbaa !20
  %4198 = load i32, ptr %312, align 4, !tbaa !20
  %4199 = icmp sgt i32 %4197, %4198
  br i1 %4199, label %4200, label %4204

4200:                                             ; preds = %4196
  %4201 = load i32, ptr %311, align 4, !tbaa !20
  %4202 = load i32, ptr %312, align 4, !tbaa !20
  %4203 = sub nsw i32 %4201, %4202
  br label %4208

4204:                                             ; preds = %4196
  %4205 = load i32, ptr %312, align 4, !tbaa !20
  %4206 = load i32, ptr %311, align 4, !tbaa !20
  %4207 = sub nsw i32 %4205, %4206
  br label %4208

4208:                                             ; preds = %4204, %4200
  %4209 = phi i32 [ %4203, %4200 ], [ %4207, %4204 ]
  store i32 %4209, ptr %315, align 4, !tbaa !5
  %4210 = load i32, ptr %315, align 4, !tbaa !5
  %4211 = call noundef i32 @_ZNSt14numeric_limitsIiE7epsilonEv() #7
  %4212 = icmp sgt i32 %4210, %4211
  br i1 %4212, label %4213, label %4229

4213:                                             ; preds = %4208
  %4214 = load i32, ptr %311, align 4, !tbaa !20
  %4215 = uitofp i32 %4214 to double
  %4216 = load i32, ptr %312, align 4, !tbaa !20
  %4217 = uitofp i32 %4216 to double
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.105, ptr noundef @.str.2, i32 noundef 172, double noundef %4215, double noundef %4217)
          to label %4218 unwind label %4225

4218:                                             ; preds = %4213
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %4229

4219:                                             ; preds = %4179, %4158
  call void @llvm.lifetime.end.p0(i64 1, ptr %309) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %308) #7
  br label %4220

4220:                                             ; preds = %4219, %4154
  call void @llvm.lifetime.end.p0(i64 4, ptr %307) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %306) #7
  br label %4638

4221:                                             ; preds = %4188
  %4222 = landingpad { ptr, i32 }
          cleanup
  %4223 = extractvalue { ptr, i32 } %4222, 0
  store ptr %4223, ptr %55, align 8
  %4224 = extractvalue { ptr, i32 } %4222, 1
  store i32 %4224, ptr %56, align 4
  br label %4287

4225:                                             ; preds = %4213
  %4226 = landingpad { ptr, i32 }
          cleanup
  %4227 = extractvalue { ptr, i32 } %4226, 0
  store ptr %4227, ptr %55, align 8
  %4228 = extractvalue { ptr, i32 } %4226, 1
  store i32 %4228, ptr %56, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %315) #7
  br label %4286

4229:                                             ; preds = %4218, %4208
  call void @llvm.lifetime.end.p0(i64 4, ptr %315) #7
  br label %4252

4230:                                             ; preds = %4193, %4190
  %4231 = load i32, ptr %311, align 4, !tbaa !20
  %4232 = load i32, ptr %312, align 4, !tbaa !20
  %4233 = icmp ne i32 %4231, %4232
  br i1 %4233, label %4234, label %4251

4234:                                             ; preds = %4230
  %4235 = load i32, ptr %311, align 4, !tbaa !20
  %4236 = load i32, ptr %312, align 4, !tbaa !20
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.106, ptr noundef @.str.2, i32 noundef 172, i32 noundef %4235, i32 noundef %4236)
          to label %4237 unwind label %4246

4237:                                             ; preds = %4234
  %4238 = load i8, ptr %313, align 1, !tbaa !11, !range !13, !noundef !14
  %4239 = trunc i8 %4238 to i1
  br i1 %4239, label %4243, label %4240

4240:                                             ; preds = %4237
  %4241 = load i8, ptr %314, align 1, !tbaa !11, !range !13, !noundef !14
  %4242 = trunc i8 %4241 to i1
  br i1 %4242, label %4243, label %4250

4243:                                             ; preds = %4240, %4237
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
          to label %4244 unwind label %4246

4244:                                             ; preds = %4243
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
          to label %4245 unwind label %4246

4245:                                             ; preds = %4244
  br label %4250

4246:                                             ; preds = %4244, %4243, %4234
  %4247 = landingpad { ptr, i32 }
          cleanup
  %4248 = extractvalue { ptr, i32 } %4247, 0
  store ptr %4248, ptr %55, align 8
  %4249 = extractvalue { ptr, i32 } %4247, 1
  store i32 %4249, ptr %56, align 4
  br label %4286

4250:                                             ; preds = %4245, %4240
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %4251

4251:                                             ; preds = %4250, %4230
  br label %4252

4252:                                             ; preds = %4251, %4229
  call void @llvm.lifetime.end.p0(i64 1, ptr %314) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %313) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %312) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %311) #7
  br label %4253

4253:                                             ; preds = %4252
  br label %4254

4254:                                             ; preds = %4253
  br label %4255

4255:                                             ; preds = %4254
  call void @llvm.lifetime.start.p0(i64 4, ptr %316) #7
  store i32 0, ptr %316, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 4, ptr %317) #7
  %4256 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %185, i32 noundef 9216, i32 noundef 3, i32 noundef 4)
          to label %4257 unwind label %4288

4257:                                             ; preds = %4255
  store i32 %4256, ptr %317, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 1, ptr %318) #7
  store i8 0, ptr %318, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %319) #7
  store i8 0, ptr %319, align 1, !tbaa !11
  %4258 = load i8, ptr %318, align 1, !tbaa !11, !range !13, !noundef !14
  %4259 = trunc i8 %4258 to i1
  br i1 %4259, label %4260, label %4297

4260:                                             ; preds = %4257
  %4261 = load i8, ptr %319, align 1, !tbaa !11, !range !13, !noundef !14
  %4262 = trunc i8 %4261 to i1
  br i1 %4262, label %4263, label %4297

4263:                                             ; preds = %4260
  call void @llvm.lifetime.start.p0(i64 4, ptr %320) #7
  %4264 = load i32, ptr %316, align 4, !tbaa !20
  %4265 = load i32, ptr %317, align 4, !tbaa !20
  %4266 = icmp sgt i32 %4264, %4265
  br i1 %4266, label %4267, label %4271

4267:                                             ; preds = %4263
  %4268 = load i32, ptr %316, align 4, !tbaa !20
  %4269 = load i32, ptr %317, align 4, !tbaa !20
  %4270 = sub nsw i32 %4268, %4269
  br label %4275

4271:                                             ; preds = %4263
  %4272 = load i32, ptr %317, align 4, !tbaa !20
  %4273 = load i32, ptr %316, align 4, !tbaa !20
  %4274 = sub nsw i32 %4272, %4273
  br label %4275

4275:                                             ; preds = %4271, %4267
  %4276 = phi i32 [ %4270, %4267 ], [ %4274, %4271 ]
  store i32 %4276, ptr %320, align 4, !tbaa !5
  %4277 = load i32, ptr %320, align 4, !tbaa !5
  %4278 = call noundef i32 @_ZNSt14numeric_limitsIiE7epsilonEv() #7
  %4279 = icmp sgt i32 %4277, %4278
  br i1 %4279, label %4280, label %4296

4280:                                             ; preds = %4275
  %4281 = load i32, ptr %316, align 4, !tbaa !20
  %4282 = uitofp i32 %4281 to double
  %4283 = load i32, ptr %317, align 4, !tbaa !20
  %4284 = uitofp i32 %4283 to double
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.107, ptr noundef @.str.2, i32 noundef 173, double noundef %4282, double noundef %4284)
          to label %4285 unwind label %4292

4285:                                             ; preds = %4280
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %4296

4286:                                             ; preds = %4246, %4225
  call void @llvm.lifetime.end.p0(i64 1, ptr %314) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %313) #7
  br label %4287

4287:                                             ; preds = %4286, %4221
  call void @llvm.lifetime.end.p0(i64 4, ptr %312) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %311) #7
  br label %4638

4288:                                             ; preds = %4255
  %4289 = landingpad { ptr, i32 }
          cleanup
  %4290 = extractvalue { ptr, i32 } %4289, 0
  store ptr %4290, ptr %55, align 8
  %4291 = extractvalue { ptr, i32 } %4289, 1
  store i32 %4291, ptr %56, align 4
  br label %4354

4292:                                             ; preds = %4280
  %4293 = landingpad { ptr, i32 }
          cleanup
  %4294 = extractvalue { ptr, i32 } %4293, 0
  store ptr %4294, ptr %55, align 8
  %4295 = extractvalue { ptr, i32 } %4293, 1
  store i32 %4295, ptr %56, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %320) #7
  br label %4353

4296:                                             ; preds = %4285, %4275
  call void @llvm.lifetime.end.p0(i64 4, ptr %320) #7
  br label %4319

4297:                                             ; preds = %4260, %4257
  %4298 = load i32, ptr %316, align 4, !tbaa !20
  %4299 = load i32, ptr %317, align 4, !tbaa !20
  %4300 = icmp ne i32 %4298, %4299
  br i1 %4300, label %4301, label %4318

4301:                                             ; preds = %4297
  %4302 = load i32, ptr %316, align 4, !tbaa !20
  %4303 = load i32, ptr %317, align 4, !tbaa !20
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.108, ptr noundef @.str.2, i32 noundef 173, i32 noundef %4302, i32 noundef %4303)
          to label %4304 unwind label %4313

4304:                                             ; preds = %4301
  %4305 = load i8, ptr %318, align 1, !tbaa !11, !range !13, !noundef !14
  %4306 = trunc i8 %4305 to i1
  br i1 %4306, label %4310, label %4307

4307:                                             ; preds = %4304
  %4308 = load i8, ptr %319, align 1, !tbaa !11, !range !13, !noundef !14
  %4309 = trunc i8 %4308 to i1
  br i1 %4309, label %4310, label %4317

4310:                                             ; preds = %4307, %4304
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
          to label %4311 unwind label %4313

4311:                                             ; preds = %4310
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
          to label %4312 unwind label %4313

4312:                                             ; preds = %4311
  br label %4317

4313:                                             ; preds = %4311, %4310, %4301
  %4314 = landingpad { ptr, i32 }
          cleanup
  %4315 = extractvalue { ptr, i32 } %4314, 0
  store ptr %4315, ptr %55, align 8
  %4316 = extractvalue { ptr, i32 } %4314, 1
  store i32 %4316, ptr %56, align 4
  br label %4353

4317:                                             ; preds = %4312, %4307
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %4318

4318:                                             ; preds = %4317, %4297
  br label %4319

4319:                                             ; preds = %4318, %4296
  call void @llvm.lifetime.end.p0(i64 1, ptr %319) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %318) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %317) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %316) #7
  br label %4320

4320:                                             ; preds = %4319
  br label %4321

4321:                                             ; preds = %4320
  br label %4322

4322:                                             ; preds = %4321
  call void @llvm.lifetime.start.p0(i64 4, ptr %321) #7
  store i32 0, ptr %321, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 4, ptr %322) #7
  %4323 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %185, i32 noundef 36864, i32 noundef 2, i32 noundef 3)
          to label %4324 unwind label %4355

4324:                                             ; preds = %4322
  store i32 %4323, ptr %322, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 1, ptr %323) #7
  store i8 0, ptr %323, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %324) #7
  store i8 0, ptr %324, align 1, !tbaa !11
  %4325 = load i8, ptr %323, align 1, !tbaa !11, !range !13, !noundef !14
  %4326 = trunc i8 %4325 to i1
  br i1 %4326, label %4327, label %4364

4327:                                             ; preds = %4324
  %4328 = load i8, ptr %324, align 1, !tbaa !11, !range !13, !noundef !14
  %4329 = trunc i8 %4328 to i1
  br i1 %4329, label %4330, label %4364

4330:                                             ; preds = %4327
  call void @llvm.lifetime.start.p0(i64 4, ptr %325) #7
  %4331 = load i32, ptr %321, align 4, !tbaa !20
  %4332 = load i32, ptr %322, align 4, !tbaa !20
  %4333 = icmp sgt i32 %4331, %4332
  br i1 %4333, label %4334, label %4338

4334:                                             ; preds = %4330
  %4335 = load i32, ptr %321, align 4, !tbaa !20
  %4336 = load i32, ptr %322, align 4, !tbaa !20
  %4337 = sub nsw i32 %4335, %4336
  br label %4342

4338:                                             ; preds = %4330
  %4339 = load i32, ptr %322, align 4, !tbaa !20
  %4340 = load i32, ptr %321, align 4, !tbaa !20
  %4341 = sub nsw i32 %4339, %4340
  br label %4342

4342:                                             ; preds = %4338, %4334
  %4343 = phi i32 [ %4337, %4334 ], [ %4341, %4338 ]
  store i32 %4343, ptr %325, align 4, !tbaa !5
  %4344 = load i32, ptr %325, align 4, !tbaa !5
  %4345 = call noundef i32 @_ZNSt14numeric_limitsIiE7epsilonEv() #7
  %4346 = icmp sgt i32 %4344, %4345
  br i1 %4346, label %4347, label %4363

4347:                                             ; preds = %4342
  %4348 = load i32, ptr %321, align 4, !tbaa !20
  %4349 = uitofp i32 %4348 to double
  %4350 = load i32, ptr %322, align 4, !tbaa !20
  %4351 = uitofp i32 %4350 to double
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.109, ptr noundef @.str.2, i32 noundef 174, double noundef %4349, double noundef %4351)
          to label %4352 unwind label %4359

4352:                                             ; preds = %4347
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %4363

4353:                                             ; preds = %4313, %4292
  call void @llvm.lifetime.end.p0(i64 1, ptr %319) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %318) #7
  br label %4354

4354:                                             ; preds = %4353, %4288
  call void @llvm.lifetime.end.p0(i64 4, ptr %317) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %316) #7
  br label %4638

4355:                                             ; preds = %4322
  %4356 = landingpad { ptr, i32 }
          cleanup
  %4357 = extractvalue { ptr, i32 } %4356, 0
  store ptr %4357, ptr %55, align 8
  %4358 = extractvalue { ptr, i32 } %4356, 1
  store i32 %4358, ptr %56, align 4
  br label %4421

4359:                                             ; preds = %4347
  %4360 = landingpad { ptr, i32 }
          cleanup
  %4361 = extractvalue { ptr, i32 } %4360, 0
  store ptr %4361, ptr %55, align 8
  %4362 = extractvalue { ptr, i32 } %4360, 1
  store i32 %4362, ptr %56, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %325) #7
  br label %4420

4363:                                             ; preds = %4352, %4342
  call void @llvm.lifetime.end.p0(i64 4, ptr %325) #7
  br label %4386

4364:                                             ; preds = %4327, %4324
  %4365 = load i32, ptr %321, align 4, !tbaa !20
  %4366 = load i32, ptr %322, align 4, !tbaa !20
  %4367 = icmp ne i32 %4365, %4366
  br i1 %4367, label %4368, label %4385

4368:                                             ; preds = %4364
  %4369 = load i32, ptr %321, align 4, !tbaa !20
  %4370 = load i32, ptr %322, align 4, !tbaa !20
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.110, ptr noundef @.str.2, i32 noundef 174, i32 noundef %4369, i32 noundef %4370)
          to label %4371 unwind label %4380

4371:                                             ; preds = %4368
  %4372 = load i8, ptr %323, align 1, !tbaa !11, !range !13, !noundef !14
  %4373 = trunc i8 %4372 to i1
  br i1 %4373, label %4377, label %4374

4374:                                             ; preds = %4371
  %4375 = load i8, ptr %324, align 1, !tbaa !11, !range !13, !noundef !14
  %4376 = trunc i8 %4375 to i1
  br i1 %4376, label %4377, label %4384

4377:                                             ; preds = %4374, %4371
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
          to label %4378 unwind label %4380

4378:                                             ; preds = %4377
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
          to label %4379 unwind label %4380

4379:                                             ; preds = %4378
  br label %4384

4380:                                             ; preds = %4378, %4377, %4368
  %4381 = landingpad { ptr, i32 }
          cleanup
  %4382 = extractvalue { ptr, i32 } %4381, 0
  store ptr %4382, ptr %55, align 8
  %4383 = extractvalue { ptr, i32 } %4381, 1
  store i32 %4383, ptr %56, align 4
  br label %4420

4384:                                             ; preds = %4379, %4374
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %4385

4385:                                             ; preds = %4384, %4364
  br label %4386

4386:                                             ; preds = %4385, %4363
  call void @llvm.lifetime.end.p0(i64 1, ptr %324) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %323) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %322) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %321) #7
  br label %4387

4387:                                             ; preds = %4386
  br label %4388

4388:                                             ; preds = %4387
  br label %4389

4389:                                             ; preds = %4388
  call void @llvm.lifetime.start.p0(i64 4, ptr %326) #7
  store i32 0, ptr %326, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 4, ptr %327) #7
  %4390 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %185, i32 noundef 18432, i32 noundef 1, i32 noundef 2)
          to label %4391 unwind label %4422

4391:                                             ; preds = %4389
  store i32 %4390, ptr %327, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 1, ptr %328) #7
  store i8 0, ptr %328, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %329) #7
  store i8 0, ptr %329, align 1, !tbaa !11
  %4392 = load i8, ptr %328, align 1, !tbaa !11, !range !13, !noundef !14
  %4393 = trunc i8 %4392 to i1
  br i1 %4393, label %4394, label %4431

4394:                                             ; preds = %4391
  %4395 = load i8, ptr %329, align 1, !tbaa !11, !range !13, !noundef !14
  %4396 = trunc i8 %4395 to i1
  br i1 %4396, label %4397, label %4431

4397:                                             ; preds = %4394
  call void @llvm.lifetime.start.p0(i64 4, ptr %330) #7
  %4398 = load i32, ptr %326, align 4, !tbaa !20
  %4399 = load i32, ptr %327, align 4, !tbaa !20
  %4400 = icmp sgt i32 %4398, %4399
  br i1 %4400, label %4401, label %4405

4401:                                             ; preds = %4397
  %4402 = load i32, ptr %326, align 4, !tbaa !20
  %4403 = load i32, ptr %327, align 4, !tbaa !20
  %4404 = sub nsw i32 %4402, %4403
  br label %4409

4405:                                             ; preds = %4397
  %4406 = load i32, ptr %327, align 4, !tbaa !20
  %4407 = load i32, ptr %326, align 4, !tbaa !20
  %4408 = sub nsw i32 %4406, %4407
  br label %4409

4409:                                             ; preds = %4405, %4401
  %4410 = phi i32 [ %4404, %4401 ], [ %4408, %4405 ]
  store i32 %4410, ptr %330, align 4, !tbaa !5
  %4411 = load i32, ptr %330, align 4, !tbaa !5
  %4412 = call noundef i32 @_ZNSt14numeric_limitsIiE7epsilonEv() #7
  %4413 = icmp sgt i32 %4411, %4412
  br i1 %4413, label %4414, label %4430

4414:                                             ; preds = %4409
  %4415 = load i32, ptr %326, align 4, !tbaa !20
  %4416 = uitofp i32 %4415 to double
  %4417 = load i32, ptr %327, align 4, !tbaa !20
  %4418 = uitofp i32 %4417 to double
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.111, ptr noundef @.str.2, i32 noundef 175, double noundef %4416, double noundef %4418)
          to label %4419 unwind label %4426

4419:                                             ; preds = %4414
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %4430

4420:                                             ; preds = %4380, %4359
  call void @llvm.lifetime.end.p0(i64 1, ptr %324) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %323) #7
  br label %4421

4421:                                             ; preds = %4420, %4355
  call void @llvm.lifetime.end.p0(i64 4, ptr %322) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %321) #7
  br label %4638

4422:                                             ; preds = %4389
  %4423 = landingpad { ptr, i32 }
          cleanup
  %4424 = extractvalue { ptr, i32 } %4423, 0
  store ptr %4424, ptr %55, align 8
  %4425 = extractvalue { ptr, i32 } %4423, 1
  store i32 %4425, ptr %56, align 4
  br label %4488

4426:                                             ; preds = %4414
  %4427 = landingpad { ptr, i32 }
          cleanup
  %4428 = extractvalue { ptr, i32 } %4427, 0
  store ptr %4428, ptr %55, align 8
  %4429 = extractvalue { ptr, i32 } %4427, 1
  store i32 %4429, ptr %56, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %330) #7
  br label %4487

4430:                                             ; preds = %4419, %4409
  call void @llvm.lifetime.end.p0(i64 4, ptr %330) #7
  br label %4453

4431:                                             ; preds = %4394, %4391
  %4432 = load i32, ptr %326, align 4, !tbaa !20
  %4433 = load i32, ptr %327, align 4, !tbaa !20
  %4434 = icmp ne i32 %4432, %4433
  br i1 %4434, label %4435, label %4452

4435:                                             ; preds = %4431
  %4436 = load i32, ptr %326, align 4, !tbaa !20
  %4437 = load i32, ptr %327, align 4, !tbaa !20
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.112, ptr noundef @.str.2, i32 noundef 175, i32 noundef %4436, i32 noundef %4437)
          to label %4438 unwind label %4447

4438:                                             ; preds = %4435
  %4439 = load i8, ptr %328, align 1, !tbaa !11, !range !13, !noundef !14
  %4440 = trunc i8 %4439 to i1
  br i1 %4440, label %4444, label %4441

4441:                                             ; preds = %4438
  %4442 = load i8, ptr %329, align 1, !tbaa !11, !range !13, !noundef !14
  %4443 = trunc i8 %4442 to i1
  br i1 %4443, label %4444, label %4451

4444:                                             ; preds = %4441, %4438
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
          to label %4445 unwind label %4447

4445:                                             ; preds = %4444
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
          to label %4446 unwind label %4447

4446:                                             ; preds = %4445
  br label %4451

4447:                                             ; preds = %4445, %4444, %4435
  %4448 = landingpad { ptr, i32 }
          cleanup
  %4449 = extractvalue { ptr, i32 } %4448, 0
  store ptr %4449, ptr %55, align 8
  %4450 = extractvalue { ptr, i32 } %4448, 1
  store i32 %4450, ptr %56, align 4
  br label %4487

4451:                                             ; preds = %4446, %4441
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %4452

4452:                                             ; preds = %4451, %4431
  br label %4453

4453:                                             ; preds = %4452, %4430
  call void @llvm.lifetime.end.p0(i64 1, ptr %329) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %328) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %327) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %326) #7
  br label %4454

4454:                                             ; preds = %4453
  br label %4455

4455:                                             ; preds = %4454
  br label %4456

4456:                                             ; preds = %4455
  call void @llvm.lifetime.start.p0(i64 4, ptr %331) #7
  store i32 0, ptr %331, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 4, ptr %332) #7
  %4457 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %185, i32 noundef 18432, i32 noundef 0, i32 noundef 1)
          to label %4458 unwind label %4489

4458:                                             ; preds = %4456
  store i32 %4457, ptr %332, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 1, ptr %333) #7
  store i8 0, ptr %333, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %334) #7
  store i8 0, ptr %334, align 1, !tbaa !11
  %4459 = load i8, ptr %333, align 1, !tbaa !11, !range !13, !noundef !14
  %4460 = trunc i8 %4459 to i1
  br i1 %4460, label %4461, label %4498

4461:                                             ; preds = %4458
  %4462 = load i8, ptr %334, align 1, !tbaa !11, !range !13, !noundef !14
  %4463 = trunc i8 %4462 to i1
  br i1 %4463, label %4464, label %4498

4464:                                             ; preds = %4461
  call void @llvm.lifetime.start.p0(i64 4, ptr %335) #7
  %4465 = load i32, ptr %331, align 4, !tbaa !20
  %4466 = load i32, ptr %332, align 4, !tbaa !20
  %4467 = icmp sgt i32 %4465, %4466
  br i1 %4467, label %4468, label %4472

4468:                                             ; preds = %4464
  %4469 = load i32, ptr %331, align 4, !tbaa !20
  %4470 = load i32, ptr %332, align 4, !tbaa !20
  %4471 = sub nsw i32 %4469, %4470
  br label %4476

4472:                                             ; preds = %4464
  %4473 = load i32, ptr %332, align 4, !tbaa !20
  %4474 = load i32, ptr %331, align 4, !tbaa !20
  %4475 = sub nsw i32 %4473, %4474
  br label %4476

4476:                                             ; preds = %4472, %4468
  %4477 = phi i32 [ %4471, %4468 ], [ %4475, %4472 ]
  store i32 %4477, ptr %335, align 4, !tbaa !5
  %4478 = load i32, ptr %335, align 4, !tbaa !5
  %4479 = call noundef i32 @_ZNSt14numeric_limitsIiE7epsilonEv() #7
  %4480 = icmp sgt i32 %4478, %4479
  br i1 %4480, label %4481, label %4497

4481:                                             ; preds = %4476
  %4482 = load i32, ptr %331, align 4, !tbaa !20
  %4483 = uitofp i32 %4482 to double
  %4484 = load i32, ptr %332, align 4, !tbaa !20
  %4485 = uitofp i32 %4484 to double
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.113, ptr noundef @.str.2, i32 noundef 176, double noundef %4483, double noundef %4485)
          to label %4486 unwind label %4493

4486:                                             ; preds = %4481
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %4497

4487:                                             ; preds = %4447, %4426
  call void @llvm.lifetime.end.p0(i64 1, ptr %329) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %328) #7
  br label %4488

4488:                                             ; preds = %4487, %4422
  call void @llvm.lifetime.end.p0(i64 4, ptr %327) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %326) #7
  br label %4638

4489:                                             ; preds = %4456
  %4490 = landingpad { ptr, i32 }
          cleanup
  %4491 = extractvalue { ptr, i32 } %4490, 0
  store ptr %4491, ptr %55, align 8
  %4492 = extractvalue { ptr, i32 } %4490, 1
  store i32 %4492, ptr %56, align 4
  br label %4571

4493:                                             ; preds = %4481
  %4494 = landingpad { ptr, i32 }
          cleanup
  %4495 = extractvalue { ptr, i32 } %4494, 0
  store ptr %4495, ptr %55, align 8
  %4496 = extractvalue { ptr, i32 } %4494, 1
  store i32 %4496, ptr %56, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %335) #7
  br label %4570

4497:                                             ; preds = %4486, %4476
  call void @llvm.lifetime.end.p0(i64 4, ptr %335) #7
  br label %4520

4498:                                             ; preds = %4461, %4458
  %4499 = load i32, ptr %331, align 4, !tbaa !20
  %4500 = load i32, ptr %332, align 4, !tbaa !20
  %4501 = icmp ne i32 %4499, %4500
  br i1 %4501, label %4502, label %4519

4502:                                             ; preds = %4498
  %4503 = load i32, ptr %331, align 4, !tbaa !20
  %4504 = load i32, ptr %332, align 4, !tbaa !20
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.114, ptr noundef @.str.2, i32 noundef 176, i32 noundef %4503, i32 noundef %4504)
          to label %4505 unwind label %4514

4505:                                             ; preds = %4502
  %4506 = load i8, ptr %333, align 1, !tbaa !11, !range !13, !noundef !14
  %4507 = trunc i8 %4506 to i1
  br i1 %4507, label %4511, label %4508

4508:                                             ; preds = %4505
  %4509 = load i8, ptr %334, align 1, !tbaa !11, !range !13, !noundef !14
  %4510 = trunc i8 %4509 to i1
  br i1 %4510, label %4511, label %4518

4511:                                             ; preds = %4508, %4505
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
          to label %4512 unwind label %4514

4512:                                             ; preds = %4511
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
          to label %4513 unwind label %4514

4513:                                             ; preds = %4512
  br label %4518

4514:                                             ; preds = %4512, %4511, %4502
  %4515 = landingpad { ptr, i32 }
          cleanup
  %4516 = extractvalue { ptr, i32 } %4515, 0
  store ptr %4516, ptr %55, align 8
  %4517 = extractvalue { ptr, i32 } %4515, 1
  store i32 %4517, ptr %56, align 4
  br label %4570

4518:                                             ; preds = %4513, %4508
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %4519

4519:                                             ; preds = %4518, %4498
  br label %4520

4520:                                             ; preds = %4519, %4497
  call void @llvm.lifetime.end.p0(i64 1, ptr %334) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %333) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %332) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %331) #7
  br label %4521

4521:                                             ; preds = %4520
  br label %4522

4522:                                             ; preds = %4521
  invoke void @_ZN6tflite19GreedyMemoryPlanner15PrintMemoryPlanEv(ptr noundef nonnull align 8 dereferenceable(65) %185)
          to label %4523 unwind label %2542

4523:                                             ; preds = %4522
  br label %4524

4524:                                             ; preds = %4523
  call void @llvm.lifetime.start.p0(i64 1, ptr %336) #7
  store i8 0, ptr %336, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %337) #7
  %4525 = invoke noundef zeroext i1 @_ZN6tflite19GreedyMemoryPlanner19DoAnyBuffersOverlapEv(ptr noundef nonnull align 8 dereferenceable(65) %185)
          to label %4526 unwind label %4572

4526:                                             ; preds = %4524
  %4527 = zext i1 %4525 to i8
  store i8 %4527, ptr %337, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %338) #7
  store i8 0, ptr %338, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %339) #7
  store i8 0, ptr %339, align 1, !tbaa !11
  %4528 = load i8, ptr %338, align 1, !tbaa !11, !range !13, !noundef !14
  %4529 = trunc i8 %4528 to i1
  br i1 %4529, label %4530, label %4581

4530:                                             ; preds = %4526
  %4531 = load i8, ptr %339, align 1, !tbaa !11, !range !13, !noundef !14
  %4532 = trunc i8 %4531 to i1
  br i1 %4532, label %4533, label %4581

4533:                                             ; preds = %4530
  call void @llvm.lifetime.start.p0(i64 4, ptr %340) #7
  %4534 = load i8, ptr %336, align 1, !tbaa !11, !range !13, !noundef !14
  %4535 = trunc i8 %4534 to i1
  %4536 = zext i1 %4535 to i32
  %4537 = load i8, ptr %337, align 1, !tbaa !11, !range !13, !noundef !14
  %4538 = trunc i8 %4537 to i1
  %4539 = zext i1 %4538 to i32
  %4540 = icmp sgt i32 %4536, %4539
  br i1 %4540, label %4541, label %4549

4541:                                             ; preds = %4533
  %4542 = load i8, ptr %336, align 1, !tbaa !11, !range !13, !noundef !14
  %4543 = trunc i8 %4542 to i1
  %4544 = zext i1 %4543 to i32
  %4545 = load i8, ptr %337, align 1, !tbaa !11, !range !13, !noundef !14
  %4546 = trunc i8 %4545 to i1
  %4547 = zext i1 %4546 to i32
  %4548 = sub nsw i32 %4544, %4547
  br label %4557

4549:                                             ; preds = %4533
  %4550 = load i8, ptr %337, align 1, !tbaa !11, !range !13, !noundef !14
  %4551 = trunc i8 %4550 to i1
  %4552 = zext i1 %4551 to i32
  %4553 = load i8, ptr %336, align 1, !tbaa !11, !range !13, !noundef !14
  %4554 = trunc i8 %4553 to i1
  %4555 = zext i1 %4554 to i32
  %4556 = sub nsw i32 %4552, %4555
  br label %4557

4557:                                             ; preds = %4549, %4541
  %4558 = phi i32 [ %4548, %4541 ], [ %4556, %4549 ]
  store i32 %4558, ptr %340, align 4, !tbaa !5
  %4559 = load i32, ptr %340, align 4, !tbaa !5
  %4560 = call noundef i32 @_ZNSt14numeric_limitsIiE7epsilonEv() #7
  %4561 = icmp sgt i32 %4559, %4560
  br i1 %4561, label %4562, label %4580

4562:                                             ; preds = %4557
  %4563 = load i8, ptr %336, align 1, !tbaa !11, !range !13, !noundef !14
  %4564 = trunc i8 %4563 to i1
  %4565 = uitofp i1 %4564 to double
  %4566 = load i8, ptr %337, align 1, !tbaa !11, !range !13, !noundef !14
  %4567 = trunc i8 %4566 to i1
  %4568 = uitofp i1 %4567 to double
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.21, ptr noundef @.str.2, i32 noundef 180, double noundef %4565, double noundef %4568)
          to label %4569 unwind label %4576

4569:                                             ; preds = %4562
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %4580

4570:                                             ; preds = %4514, %4493
  call void @llvm.lifetime.end.p0(i64 1, ptr %334) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %333) #7
  br label %4571

4571:                                             ; preds = %4570, %4489
  call void @llvm.lifetime.end.p0(i64 4, ptr %332) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %331) #7
  br label %4638

4572:                                             ; preds = %4524
  %4573 = landingpad { ptr, i32 }
          cleanup
  %4574 = extractvalue { ptr, i32 } %4573, 0
  store ptr %4574, ptr %55, align 8
  %4575 = extractvalue { ptr, i32 } %4573, 1
  store i32 %4575, ptr %56, align 4
  br label %4621

4576:                                             ; preds = %4562
  %4577 = landingpad { ptr, i32 }
          cleanup
  %4578 = extractvalue { ptr, i32 } %4577, 0
  store ptr %4578, ptr %55, align 8
  %4579 = extractvalue { ptr, i32 } %4577, 1
  store i32 %4579, ptr %56, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %340) #7
  br label %4620

4580:                                             ; preds = %4569, %4557
  call void @llvm.lifetime.end.p0(i64 4, ptr %340) #7
  br label %4611

4581:                                             ; preds = %4530, %4526
  %4582 = load i8, ptr %336, align 1, !tbaa !11, !range !13, !noundef !14
  %4583 = trunc i8 %4582 to i1
  %4584 = zext i1 %4583 to i32
  %4585 = load i8, ptr %337, align 1, !tbaa !11, !range !13, !noundef !14
  %4586 = trunc i8 %4585 to i1
  %4587 = zext i1 %4586 to i32
  %4588 = icmp ne i32 %4584, %4587
  br i1 %4588, label %4589, label %4610

4589:                                             ; preds = %4581
  %4590 = load i8, ptr %336, align 1, !tbaa !11, !range !13, !noundef !14
  %4591 = trunc i8 %4590 to i1
  %4592 = zext i1 %4591 to i32
  %4593 = load i8, ptr %337, align 1, !tbaa !11, !range !13, !noundef !14
  %4594 = trunc i8 %4593 to i1
  %4595 = zext i1 %4594 to i32
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.22, ptr noundef @.str.2, i32 noundef 180, i32 noundef %4592, i32 noundef %4595)
          to label %4596 unwind label %4605

4596:                                             ; preds = %4589
  %4597 = load i8, ptr %338, align 1, !tbaa !11, !range !13, !noundef !14
  %4598 = trunc i8 %4597 to i1
  br i1 %4598, label %4602, label %4599

4599:                                             ; preds = %4596
  %4600 = load i8, ptr %339, align 1, !tbaa !11, !range !13, !noundef !14
  %4601 = trunc i8 %4600 to i1
  br i1 %4601, label %4602, label %4609

4602:                                             ; preds = %4599, %4596
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
          to label %4603 unwind label %4605

4603:                                             ; preds = %4602
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
          to label %4604 unwind label %4605

4604:                                             ; preds = %4603
  br label %4609

4605:                                             ; preds = %4603, %4602, %4589
  %4606 = landingpad { ptr, i32 }
          cleanup
  %4607 = extractvalue { ptr, i32 } %4606, 0
  store ptr %4607, ptr %55, align 8
  %4608 = extractvalue { ptr, i32 } %4606, 1
  store i32 %4608, ptr %56, align 4
  br label %4620

4609:                                             ; preds = %4604, %4599
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %4610

4610:                                             ; preds = %4609, %4581
  br label %4611

4611:                                             ; preds = %4610, %4580
  call void @llvm.lifetime.end.p0(i64 1, ptr %339) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %338) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %337) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %336) #7
  br label %4612

4612:                                             ; preds = %4611
  br label %4613

4613:                                             ; preds = %4612
  br label %4614

4614:                                             ; preds = %4613
  %4615 = invoke noundef i64 @_ZN6tflite19GreedyMemoryPlanner20GetMaximumMemorySizeEv(ptr noundef nonnull align 8 dereferenceable(65) %185)
          to label %4616 unwind label %2542

4616:                                             ; preds = %4614
  %4617 = icmp ule i64 241027, %4615
  br i1 %4617, label %4618, label %4622

4618:                                             ; preds = %4616
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.115, ptr noundef @.str.2, i32 noundef 185)
          to label %4619 unwind label %2542

4619:                                             ; preds = %4618
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %4622

4620:                                             ; preds = %4605, %4576
  call void @llvm.lifetime.end.p0(i64 1, ptr %339) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %338) #7
  br label %4621

4621:                                             ; preds = %4620, %4572
  call void @llvm.lifetime.end.p0(i64 1, ptr %337) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %336) #7
  br label %4638

4622:                                             ; preds = %4619, %4616
  br label %4623

4623:                                             ; preds = %4622
  br label %4624

4624:                                             ; preds = %4623
  call void @_ZN6tflite19GreedyMemoryPlannerD1Ev(ptr noundef nonnull align 8 dereferenceable(65) %185) #7
  call void @llvm.lifetime.end.p0(i64 72, ptr %185) #7
  br label %4625

4625:                                             ; preds = %4624
  store i8 1, ptr @_ZN10micro_test16is_test_completeE, align 1, !tbaa !11
  %4626 = load i8, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11, !range !13, !noundef !14
  %4627 = trunc i8 %4626 to i1
  %4628 = zext i1 %4627 to i64
  %4629 = select i1 %4627, i32 0, i32 1
  %4630 = load i32, ptr @_ZN10micro_test12tests_passedE, align 4, !tbaa !5
  %4631 = add nsw i32 %4630, %4629
  store i32 %4631, ptr @_ZN10micro_test12tests_passedE, align 4, !tbaa !5
  %4632 = load i8, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11, !range !13, !noundef !14
  %4633 = trunc i8 %4632 to i1
  %4634 = zext i1 %4633 to i64
  %4635 = select i1 %4633, i32 1, i32 0
  %4636 = load i32, ptr @_ZN10micro_test12tests_failedE, align 4, !tbaa !5
  %4637 = add nsw i32 %4636, %4635
  store i32 %4637, ptr @_ZN10micro_test12tests_failedE, align 4, !tbaa !5
  br label %2504, !llvm.loop !26

4638:                                             ; preds = %4621, %4571, %4488, %4421, %4354, %4287, %4220, %4153, %4086, %4019, %3952, %3885, %3818, %3751, %3684, %3617, %3550, %3483, %3416, %3349, %3282, %3215, %3148, %3081, %3014, %2947, %2880, %2813, %2746, %2679, %2612, %2542
  call void @_ZN6tflite19GreedyMemoryPlannerD1Ev(ptr noundef nonnull align 8 dereferenceable(65) %185) #7
  call void @llvm.lifetime.end.p0(i64 72, ptr %185) #7
  br label %5198

4639:                                             ; preds = %2504
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.116)
  store i8 0, ptr @_ZN10micro_test16is_test_completeE, align 1, !tbaa !11
  store i8 0, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %4640

4640:                                             ; preds = %5010, %4639
  %4641 = load i8, ptr @_ZN10micro_test16is_test_completeE, align 1, !tbaa !11, !range !13, !noundef !14
  %4642 = trunc i8 %4641 to i1
  %4643 = xor i1 %4642, true
  br i1 %4643, label %4644, label %5026

4644:                                             ; preds = %4640
  call void @llvm.lifetime.start.p0(i64 72, ptr %341) #7
  call void @_ZN6tflite19GreedyMemoryPlannerC1Ev(ptr noundef nonnull align 8 dereferenceable(65) %341)
  %4645 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner4InitEPhi(ptr noundef nonnull align 8 dereferenceable(65) %341, ptr noundef @_ZN12_GLOBAL__N_116g_scratch_bufferE, i32 noundef 4096)
          to label %4646 unwind label %4678

4646:                                             ; preds = %4644
  br label %4647

4647:                                             ; preds = %4646
  call void @llvm.lifetime.start.p0(i64 4, ptr %342) #7
  store i32 0, ptr %342, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 4, ptr %343) #7
  %4648 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %341, i32 noundef 100, i32 noundef 0, i32 noundef 1)
          to label %4649 unwind label %4682

4649:                                             ; preds = %4647
  store i32 %4648, ptr %343, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 1, ptr %344) #7
  store i8 0, ptr %344, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %345) #7
  store i8 0, ptr %345, align 1, !tbaa !11
  %4650 = load i8, ptr %344, align 1, !tbaa !11, !range !13, !noundef !14
  %4651 = trunc i8 %4650 to i1
  br i1 %4651, label %4652, label %4691

4652:                                             ; preds = %4649
  %4653 = load i8, ptr %345, align 1, !tbaa !11, !range !13, !noundef !14
  %4654 = trunc i8 %4653 to i1
  br i1 %4654, label %4655, label %4691

4655:                                             ; preds = %4652
  call void @llvm.lifetime.start.p0(i64 4, ptr %346) #7
  %4656 = load i32, ptr %342, align 4, !tbaa !20
  %4657 = load i32, ptr %343, align 4, !tbaa !20
  %4658 = icmp sgt i32 %4656, %4657
  br i1 %4658, label %4659, label %4663

4659:                                             ; preds = %4655
  %4660 = load i32, ptr %342, align 4, !tbaa !20
  %4661 = load i32, ptr %343, align 4, !tbaa !20
  %4662 = sub nsw i32 %4660, %4661
  br label %4667

4663:                                             ; preds = %4655
  %4664 = load i32, ptr %343, align 4, !tbaa !20
  %4665 = load i32, ptr %342, align 4, !tbaa !20
  %4666 = sub nsw i32 %4664, %4665
  br label %4667

4667:                                             ; preds = %4663, %4659
  %4668 = phi i32 [ %4662, %4659 ], [ %4666, %4663 ]
  store i32 %4668, ptr %346, align 4, !tbaa !5
  %4669 = load i32, ptr %346, align 4, !tbaa !5
  %4670 = call noundef i32 @_ZNSt14numeric_limitsIiE7epsilonEv() #7
  %4671 = icmp sgt i32 %4669, %4670
  br i1 %4671, label %4672, label %4690

4672:                                             ; preds = %4667
  %4673 = load i32, ptr %342, align 4, !tbaa !20
  %4674 = uitofp i32 %4673 to double
  %4675 = load i32, ptr %343, align 4, !tbaa !20
  %4676 = uitofp i32 %4675 to double
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.117, ptr noundef @.str.2, i32 noundef 191, double noundef %4674, double noundef %4676)
          to label %4677 unwind label %4686

4677:                                             ; preds = %4672
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %4690

4678:                                             ; preds = %4849, %4644
  %4679 = landingpad { ptr, i32 }
          cleanup
  %4680 = extractvalue { ptr, i32 } %4679, 0
  store ptr %4680, ptr %55, align 8
  %4681 = extractvalue { ptr, i32 } %4679, 1
  store i32 %4681, ptr %56, align 4
  br label %5025

4682:                                             ; preds = %4647
  %4683 = landingpad { ptr, i32 }
          cleanup
  %4684 = extractvalue { ptr, i32 } %4683, 0
  store ptr %4684, ptr %55, align 8
  %4685 = extractvalue { ptr, i32 } %4683, 1
  store i32 %4685, ptr %56, align 4
  br label %4748

4686:                                             ; preds = %4672
  %4687 = landingpad { ptr, i32 }
          cleanup
  %4688 = extractvalue { ptr, i32 } %4687, 0
  store ptr %4688, ptr %55, align 8
  %4689 = extractvalue { ptr, i32 } %4687, 1
  store i32 %4689, ptr %56, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %346) #7
  br label %4747

4690:                                             ; preds = %4677, %4667
  call void @llvm.lifetime.end.p0(i64 4, ptr %346) #7
  br label %4713

4691:                                             ; preds = %4652, %4649
  %4692 = load i32, ptr %342, align 4, !tbaa !20
  %4693 = load i32, ptr %343, align 4, !tbaa !20
  %4694 = icmp ne i32 %4692, %4693
  br i1 %4694, label %4695, label %4712

4695:                                             ; preds = %4691
  %4696 = load i32, ptr %342, align 4, !tbaa !20
  %4697 = load i32, ptr %343, align 4, !tbaa !20
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.118, ptr noundef @.str.2, i32 noundef 191, i32 noundef %4696, i32 noundef %4697)
          to label %4698 unwind label %4707

4698:                                             ; preds = %4695
  %4699 = load i8, ptr %344, align 1, !tbaa !11, !range !13, !noundef !14
  %4700 = trunc i8 %4699 to i1
  br i1 %4700, label %4704, label %4701

4701:                                             ; preds = %4698
  %4702 = load i8, ptr %345, align 1, !tbaa !11, !range !13, !noundef !14
  %4703 = trunc i8 %4702 to i1
  br i1 %4703, label %4704, label %4711

4704:                                             ; preds = %4701, %4698
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
          to label %4705 unwind label %4707

4705:                                             ; preds = %4704
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
          to label %4706 unwind label %4707

4706:                                             ; preds = %4705
  br label %4711

4707:                                             ; preds = %4705, %4704, %4695
  %4708 = landingpad { ptr, i32 }
          cleanup
  %4709 = extractvalue { ptr, i32 } %4708, 0
  store ptr %4709, ptr %55, align 8
  %4710 = extractvalue { ptr, i32 } %4708, 1
  store i32 %4710, ptr %56, align 4
  br label %4747

4711:                                             ; preds = %4706, %4701
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %4712

4712:                                             ; preds = %4711, %4691
  br label %4713

4713:                                             ; preds = %4712, %4690
  call void @llvm.lifetime.end.p0(i64 1, ptr %345) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %344) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %343) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %342) #7
  br label %4714

4714:                                             ; preds = %4713
  br label %4715

4715:                                             ; preds = %4714
  br label %4716

4716:                                             ; preds = %4715
  call void @llvm.lifetime.start.p0(i64 4, ptr %347) #7
  store i32 0, ptr %347, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 4, ptr %348) #7
  %4717 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %341, i32 noundef 50, i32 noundef 2, i32 noundef 3)
          to label %4718 unwind label %4749

4718:                                             ; preds = %4716
  store i32 %4717, ptr %348, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 1, ptr %349) #7
  store i8 0, ptr %349, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %350) #7
  store i8 0, ptr %350, align 1, !tbaa !11
  %4719 = load i8, ptr %349, align 1, !tbaa !11, !range !13, !noundef !14
  %4720 = trunc i8 %4719 to i1
  br i1 %4720, label %4721, label %4758

4721:                                             ; preds = %4718
  %4722 = load i8, ptr %350, align 1, !tbaa !11, !range !13, !noundef !14
  %4723 = trunc i8 %4722 to i1
  br i1 %4723, label %4724, label %4758

4724:                                             ; preds = %4721
  call void @llvm.lifetime.start.p0(i64 4, ptr %351) #7
  %4725 = load i32, ptr %347, align 4, !tbaa !20
  %4726 = load i32, ptr %348, align 4, !tbaa !20
  %4727 = icmp sgt i32 %4725, %4726
  br i1 %4727, label %4728, label %4732

4728:                                             ; preds = %4724
  %4729 = load i32, ptr %347, align 4, !tbaa !20
  %4730 = load i32, ptr %348, align 4, !tbaa !20
  %4731 = sub nsw i32 %4729, %4730
  br label %4736

4732:                                             ; preds = %4724
  %4733 = load i32, ptr %348, align 4, !tbaa !20
  %4734 = load i32, ptr %347, align 4, !tbaa !20
  %4735 = sub nsw i32 %4733, %4734
  br label %4736

4736:                                             ; preds = %4732, %4728
  %4737 = phi i32 [ %4731, %4728 ], [ %4735, %4732 ]
  store i32 %4737, ptr %351, align 4, !tbaa !5
  %4738 = load i32, ptr %351, align 4, !tbaa !5
  %4739 = call noundef i32 @_ZNSt14numeric_limitsIiE7epsilonEv() #7
  %4740 = icmp sgt i32 %4738, %4739
  br i1 %4740, label %4741, label %4757

4741:                                             ; preds = %4736
  %4742 = load i32, ptr %347, align 4, !tbaa !20
  %4743 = uitofp i32 %4742 to double
  %4744 = load i32, ptr %348, align 4, !tbaa !20
  %4745 = uitofp i32 %4744 to double
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.119, ptr noundef @.str.2, i32 noundef 192, double noundef %4743, double noundef %4745)
          to label %4746 unwind label %4753

4746:                                             ; preds = %4741
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %4757

4747:                                             ; preds = %4707, %4686
  call void @llvm.lifetime.end.p0(i64 1, ptr %345) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %344) #7
  br label %4748

4748:                                             ; preds = %4747, %4682
  call void @llvm.lifetime.end.p0(i64 4, ptr %343) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %342) #7
  br label %5025

4749:                                             ; preds = %4716
  %4750 = landingpad { ptr, i32 }
          cleanup
  %4751 = extractvalue { ptr, i32 } %4750, 0
  store ptr %4751, ptr %55, align 8
  %4752 = extractvalue { ptr, i32 } %4750, 1
  store i32 %4752, ptr %56, align 4
  br label %4815

4753:                                             ; preds = %4741
  %4754 = landingpad { ptr, i32 }
          cleanup
  %4755 = extractvalue { ptr, i32 } %4754, 0
  store ptr %4755, ptr %55, align 8
  %4756 = extractvalue { ptr, i32 } %4754, 1
  store i32 %4756, ptr %56, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %351) #7
  br label %4814

4757:                                             ; preds = %4746, %4736
  call void @llvm.lifetime.end.p0(i64 4, ptr %351) #7
  br label %4780

4758:                                             ; preds = %4721, %4718
  %4759 = load i32, ptr %347, align 4, !tbaa !20
  %4760 = load i32, ptr %348, align 4, !tbaa !20
  %4761 = icmp ne i32 %4759, %4760
  br i1 %4761, label %4762, label %4779

4762:                                             ; preds = %4758
  %4763 = load i32, ptr %347, align 4, !tbaa !20
  %4764 = load i32, ptr %348, align 4, !tbaa !20
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.120, ptr noundef @.str.2, i32 noundef 192, i32 noundef %4763, i32 noundef %4764)
          to label %4765 unwind label %4774

4765:                                             ; preds = %4762
  %4766 = load i8, ptr %349, align 1, !tbaa !11, !range !13, !noundef !14
  %4767 = trunc i8 %4766 to i1
  br i1 %4767, label %4771, label %4768

4768:                                             ; preds = %4765
  %4769 = load i8, ptr %350, align 1, !tbaa !11, !range !13, !noundef !14
  %4770 = trunc i8 %4769 to i1
  br i1 %4770, label %4771, label %4778

4771:                                             ; preds = %4768, %4765
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
          to label %4772 unwind label %4774

4772:                                             ; preds = %4771
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
          to label %4773 unwind label %4774

4773:                                             ; preds = %4772
  br label %4778

4774:                                             ; preds = %4772, %4771, %4762
  %4775 = landingpad { ptr, i32 }
          cleanup
  %4776 = extractvalue { ptr, i32 } %4775, 0
  store ptr %4776, ptr %55, align 8
  %4777 = extractvalue { ptr, i32 } %4775, 1
  store i32 %4777, ptr %56, align 4
  br label %4814

4778:                                             ; preds = %4773, %4768
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %4779

4779:                                             ; preds = %4778, %4758
  br label %4780

4780:                                             ; preds = %4779, %4757
  call void @llvm.lifetime.end.p0(i64 1, ptr %350) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %349) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %348) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %347) #7
  br label %4781

4781:                                             ; preds = %4780
  br label %4782

4782:                                             ; preds = %4781
  br label %4783

4783:                                             ; preds = %4782
  call void @llvm.lifetime.start.p0(i64 4, ptr %352) #7
  store i32 0, ptr %352, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 4, ptr %353) #7
  %4784 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %341, i32 noundef 20, i32 noundef 1, i32 noundef 2)
          to label %4785 unwind label %4816

4785:                                             ; preds = %4783
  store i32 %4784, ptr %353, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 1, ptr %354) #7
  store i8 0, ptr %354, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %355) #7
  store i8 0, ptr %355, align 1, !tbaa !11
  %4786 = load i8, ptr %354, align 1, !tbaa !11, !range !13, !noundef !14
  %4787 = trunc i8 %4786 to i1
  br i1 %4787, label %4788, label %4825

4788:                                             ; preds = %4785
  %4789 = load i8, ptr %355, align 1, !tbaa !11, !range !13, !noundef !14
  %4790 = trunc i8 %4789 to i1
  br i1 %4790, label %4791, label %4825

4791:                                             ; preds = %4788
  call void @llvm.lifetime.start.p0(i64 4, ptr %356) #7
  %4792 = load i32, ptr %352, align 4, !tbaa !20
  %4793 = load i32, ptr %353, align 4, !tbaa !20
  %4794 = icmp sgt i32 %4792, %4793
  br i1 %4794, label %4795, label %4799

4795:                                             ; preds = %4791
  %4796 = load i32, ptr %352, align 4, !tbaa !20
  %4797 = load i32, ptr %353, align 4, !tbaa !20
  %4798 = sub nsw i32 %4796, %4797
  br label %4803

4799:                                             ; preds = %4791
  %4800 = load i32, ptr %353, align 4, !tbaa !20
  %4801 = load i32, ptr %352, align 4, !tbaa !20
  %4802 = sub nsw i32 %4800, %4801
  br label %4803

4803:                                             ; preds = %4799, %4795
  %4804 = phi i32 [ %4798, %4795 ], [ %4802, %4799 ]
  store i32 %4804, ptr %356, align 4, !tbaa !5
  %4805 = load i32, ptr %356, align 4, !tbaa !5
  %4806 = call noundef i32 @_ZNSt14numeric_limitsIiE7epsilonEv() #7
  %4807 = icmp sgt i32 %4805, %4806
  br i1 %4807, label %4808, label %4824

4808:                                             ; preds = %4803
  %4809 = load i32, ptr %352, align 4, !tbaa !20
  %4810 = uitofp i32 %4809 to double
  %4811 = load i32, ptr %353, align 4, !tbaa !20
  %4812 = uitofp i32 %4811 to double
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.32, ptr noundef @.str.2, i32 noundef 193, double noundef %4810, double noundef %4812)
          to label %4813 unwind label %4820

4813:                                             ; preds = %4808
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %4824

4814:                                             ; preds = %4774, %4753
  call void @llvm.lifetime.end.p0(i64 1, ptr %350) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %349) #7
  br label %4815

4815:                                             ; preds = %4814, %4749
  call void @llvm.lifetime.end.p0(i64 4, ptr %348) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %347) #7
  br label %5025

4816:                                             ; preds = %4783
  %4817 = landingpad { ptr, i32 }
          cleanup
  %4818 = extractvalue { ptr, i32 } %4817, 0
  store ptr %4818, ptr %55, align 8
  %4819 = extractvalue { ptr, i32 } %4817, 1
  store i32 %4819, ptr %56, align 4
  br label %4898

4820:                                             ; preds = %4808
  %4821 = landingpad { ptr, i32 }
          cleanup
  %4822 = extractvalue { ptr, i32 } %4821, 0
  store ptr %4822, ptr %55, align 8
  %4823 = extractvalue { ptr, i32 } %4821, 1
  store i32 %4823, ptr %56, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %356) #7
  br label %4897

4824:                                             ; preds = %4813, %4803
  call void @llvm.lifetime.end.p0(i64 4, ptr %356) #7
  br label %4847

4825:                                             ; preds = %4788, %4785
  %4826 = load i32, ptr %352, align 4, !tbaa !20
  %4827 = load i32, ptr %353, align 4, !tbaa !20
  %4828 = icmp ne i32 %4826, %4827
  br i1 %4828, label %4829, label %4846

4829:                                             ; preds = %4825
  %4830 = load i32, ptr %352, align 4, !tbaa !20
  %4831 = load i32, ptr %353, align 4, !tbaa !20
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.33, ptr noundef @.str.2, i32 noundef 193, i32 noundef %4830, i32 noundef %4831)
          to label %4832 unwind label %4841

4832:                                             ; preds = %4829
  %4833 = load i8, ptr %354, align 1, !tbaa !11, !range !13, !noundef !14
  %4834 = trunc i8 %4833 to i1
  br i1 %4834, label %4838, label %4835

4835:                                             ; preds = %4832
  %4836 = load i8, ptr %355, align 1, !tbaa !11, !range !13, !noundef !14
  %4837 = trunc i8 %4836 to i1
  br i1 %4837, label %4838, label %4845

4838:                                             ; preds = %4835, %4832
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
          to label %4839 unwind label %4841

4839:                                             ; preds = %4838
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
          to label %4840 unwind label %4841

4840:                                             ; preds = %4839
  br label %4845

4841:                                             ; preds = %4839, %4838, %4829
  %4842 = landingpad { ptr, i32 }
          cleanup
  %4843 = extractvalue { ptr, i32 } %4842, 0
  store ptr %4843, ptr %55, align 8
  %4844 = extractvalue { ptr, i32 } %4842, 1
  store i32 %4844, ptr %56, align 4
  br label %4897

4845:                                             ; preds = %4840, %4835
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %4846

4846:                                             ; preds = %4845, %4825
  br label %4847

4847:                                             ; preds = %4846, %4824
  call void @llvm.lifetime.end.p0(i64 1, ptr %355) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %354) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %353) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %352) #7
  br label %4848

4848:                                             ; preds = %4847
  br label %4849

4849:                                             ; preds = %4848
  invoke void @_ZN6tflite19GreedyMemoryPlanner15PrintMemoryPlanEv(ptr noundef nonnull align 8 dereferenceable(65) %341)
          to label %4850 unwind label %4678

4850:                                             ; preds = %4849
  br label %4851

4851:                                             ; preds = %4850
  call void @llvm.lifetime.start.p0(i64 1, ptr %357) #7
  store i8 0, ptr %357, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %358) #7
  %4852 = invoke noundef zeroext i1 @_ZN6tflite19GreedyMemoryPlanner19DoAnyBuffersOverlapEv(ptr noundef nonnull align 8 dereferenceable(65) %341)
          to label %4853 unwind label %4899

4853:                                             ; preds = %4851
  %4854 = zext i1 %4852 to i8
  store i8 %4854, ptr %358, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %359) #7
  store i8 0, ptr %359, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %360) #7
  store i8 0, ptr %360, align 1, !tbaa !11
  %4855 = load i8, ptr %359, align 1, !tbaa !11, !range !13, !noundef !14
  %4856 = trunc i8 %4855 to i1
  br i1 %4856, label %4857, label %4908

4857:                                             ; preds = %4853
  %4858 = load i8, ptr %360, align 1, !tbaa !11, !range !13, !noundef !14
  %4859 = trunc i8 %4858 to i1
  br i1 %4859, label %4860, label %4908

4860:                                             ; preds = %4857
  call void @llvm.lifetime.start.p0(i64 4, ptr %361) #7
  %4861 = load i8, ptr %357, align 1, !tbaa !11, !range !13, !noundef !14
  %4862 = trunc i8 %4861 to i1
  %4863 = zext i1 %4862 to i32
  %4864 = load i8, ptr %358, align 1, !tbaa !11, !range !13, !noundef !14
  %4865 = trunc i8 %4864 to i1
  %4866 = zext i1 %4865 to i32
  %4867 = icmp sgt i32 %4863, %4866
  br i1 %4867, label %4868, label %4876

4868:                                             ; preds = %4860
  %4869 = load i8, ptr %357, align 1, !tbaa !11, !range !13, !noundef !14
  %4870 = trunc i8 %4869 to i1
  %4871 = zext i1 %4870 to i32
  %4872 = load i8, ptr %358, align 1, !tbaa !11, !range !13, !noundef !14
  %4873 = trunc i8 %4872 to i1
  %4874 = zext i1 %4873 to i32
  %4875 = sub nsw i32 %4871, %4874
  br label %4884

4876:                                             ; preds = %4860
  %4877 = load i8, ptr %358, align 1, !tbaa !11, !range !13, !noundef !14
  %4878 = trunc i8 %4877 to i1
  %4879 = zext i1 %4878 to i32
  %4880 = load i8, ptr %357, align 1, !tbaa !11, !range !13, !noundef !14
  %4881 = trunc i8 %4880 to i1
  %4882 = zext i1 %4881 to i32
  %4883 = sub nsw i32 %4879, %4882
  br label %4884

4884:                                             ; preds = %4876, %4868
  %4885 = phi i32 [ %4875, %4868 ], [ %4883, %4876 ]
  store i32 %4885, ptr %361, align 4, !tbaa !5
  %4886 = load i32, ptr %361, align 4, !tbaa !5
  %4887 = call noundef i32 @_ZNSt14numeric_limitsIiE7epsilonEv() #7
  %4888 = icmp sgt i32 %4886, %4887
  br i1 %4888, label %4889, label %4907

4889:                                             ; preds = %4884
  %4890 = load i8, ptr %357, align 1, !tbaa !11, !range !13, !noundef !14
  %4891 = trunc i8 %4890 to i1
  %4892 = uitofp i1 %4891 to double
  %4893 = load i8, ptr %358, align 1, !tbaa !11, !range !13, !noundef !14
  %4894 = trunc i8 %4893 to i1
  %4895 = uitofp i1 %4894 to double
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.21, ptr noundef @.str.2, i32 noundef 197, double noundef %4892, double noundef %4895)
          to label %4896 unwind label %4903

4896:                                             ; preds = %4889
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %4907

4897:                                             ; preds = %4841, %4820
  call void @llvm.lifetime.end.p0(i64 1, ptr %355) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %354) #7
  br label %4898

4898:                                             ; preds = %4897, %4816
  call void @llvm.lifetime.end.p0(i64 4, ptr %353) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %352) #7
  br label %5025

4899:                                             ; preds = %4851
  %4900 = landingpad { ptr, i32 }
          cleanup
  %4901 = extractvalue { ptr, i32 } %4900, 0
  store ptr %4901, ptr %55, align 8
  %4902 = extractvalue { ptr, i32 } %4900, 1
  store i32 %4902, ptr %56, align 4
  br label %4973

4903:                                             ; preds = %4889
  %4904 = landingpad { ptr, i32 }
          cleanup
  %4905 = extractvalue { ptr, i32 } %4904, 0
  store ptr %4905, ptr %55, align 8
  %4906 = extractvalue { ptr, i32 } %4904, 1
  store i32 %4906, ptr %56, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %361) #7
  br label %4972

4907:                                             ; preds = %4896, %4884
  call void @llvm.lifetime.end.p0(i64 4, ptr %361) #7
  br label %4938

4908:                                             ; preds = %4857, %4853
  %4909 = load i8, ptr %357, align 1, !tbaa !11, !range !13, !noundef !14
  %4910 = trunc i8 %4909 to i1
  %4911 = zext i1 %4910 to i32
  %4912 = load i8, ptr %358, align 1, !tbaa !11, !range !13, !noundef !14
  %4913 = trunc i8 %4912 to i1
  %4914 = zext i1 %4913 to i32
  %4915 = icmp ne i32 %4911, %4914
  br i1 %4915, label %4916, label %4937

4916:                                             ; preds = %4908
  %4917 = load i8, ptr %357, align 1, !tbaa !11, !range !13, !noundef !14
  %4918 = trunc i8 %4917 to i1
  %4919 = zext i1 %4918 to i32
  %4920 = load i8, ptr %358, align 1, !tbaa !11, !range !13, !noundef !14
  %4921 = trunc i8 %4920 to i1
  %4922 = zext i1 %4921 to i32
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.22, ptr noundef @.str.2, i32 noundef 197, i32 noundef %4919, i32 noundef %4922)
          to label %4923 unwind label %4932

4923:                                             ; preds = %4916
  %4924 = load i8, ptr %359, align 1, !tbaa !11, !range !13, !noundef !14
  %4925 = trunc i8 %4924 to i1
  br i1 %4925, label %4929, label %4926

4926:                                             ; preds = %4923
  %4927 = load i8, ptr %360, align 1, !tbaa !11, !range !13, !noundef !14
  %4928 = trunc i8 %4927 to i1
  br i1 %4928, label %4929, label %4936

4929:                                             ; preds = %4926, %4923
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
          to label %4930 unwind label %4932

4930:                                             ; preds = %4929
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
          to label %4931 unwind label %4932

4931:                                             ; preds = %4930
  br label %4936

4932:                                             ; preds = %4930, %4929, %4916
  %4933 = landingpad { ptr, i32 }
          cleanup
  %4934 = extractvalue { ptr, i32 } %4933, 0
  store ptr %4934, ptr %55, align 8
  %4935 = extractvalue { ptr, i32 } %4933, 1
  store i32 %4935, ptr %56, align 4
  br label %4972

4936:                                             ; preds = %4931, %4926
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %4937

4937:                                             ; preds = %4936, %4908
  br label %4938

4938:                                             ; preds = %4937, %4907
  call void @llvm.lifetime.end.p0(i64 1, ptr %360) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %359) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %358) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %357) #7
  br label %4939

4939:                                             ; preds = %4938
  br label %4940

4940:                                             ; preds = %4939
  br label %4941

4941:                                             ; preds = %4940
  call void @llvm.lifetime.start.p0(i64 8, ptr %362) #7
  store i64 120, ptr %362, align 8, !tbaa !22
  call void @llvm.lifetime.start.p0(i64 8, ptr %363) #7
  %4942 = invoke noundef i64 @_ZN6tflite19GreedyMemoryPlanner20GetMaximumMemorySizeEv(ptr noundef nonnull align 8 dereferenceable(65) %341)
          to label %4943 unwind label %4974

4943:                                             ; preds = %4941
  store i64 %4942, ptr %363, align 8, !tbaa !22
  call void @llvm.lifetime.start.p0(i64 1, ptr %364) #7
  store i8 0, ptr %364, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %365) #7
  store i8 0, ptr %365, align 1, !tbaa !11
  %4944 = load i8, ptr %364, align 1, !tbaa !11, !range !13, !noundef !14
  %4945 = trunc i8 %4944 to i1
  br i1 %4945, label %4946, label %4983

4946:                                             ; preds = %4943
  %4947 = load i8, ptr %365, align 1, !tbaa !11, !range !13, !noundef !14
  %4948 = trunc i8 %4947 to i1
  br i1 %4948, label %4949, label %4983

4949:                                             ; preds = %4946
  call void @llvm.lifetime.start.p0(i64 8, ptr %366) #7
  %4950 = load i64, ptr %362, align 8, !tbaa !22
  %4951 = load i64, ptr %363, align 8, !tbaa !22
  %4952 = icmp ugt i64 %4950, %4951
  br i1 %4952, label %4953, label %4957

4953:                                             ; preds = %4949
  %4954 = load i64, ptr %362, align 8, !tbaa !22
  %4955 = load i64, ptr %363, align 8, !tbaa !22
  %4956 = sub i64 %4954, %4955
  br label %4961

4957:                                             ; preds = %4949
  %4958 = load i64, ptr %363, align 8, !tbaa !22
  %4959 = load i64, ptr %362, align 8, !tbaa !22
  %4960 = sub i64 %4958, %4959
  br label %4961

4961:                                             ; preds = %4957, %4953
  %4962 = phi i64 [ %4956, %4953 ], [ %4960, %4957 ]
  store i64 %4962, ptr %366, align 8, !tbaa !22
  %4963 = load i64, ptr %366, align 8, !tbaa !22
  %4964 = call noundef i64 @_ZNSt14numeric_limitsImE7epsilonEv() #7
  %4965 = icmp ugt i64 %4963, %4964
  br i1 %4965, label %4966, label %4982

4966:                                             ; preds = %4961
  %4967 = load i64, ptr %362, align 8, !tbaa !22
  %4968 = uitofp i64 %4967 to double
  %4969 = load i64, ptr %363, align 8, !tbaa !22
  %4970 = uitofp i64 %4969 to double
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.121, ptr noundef @.str.2, i32 noundef 200, double noundef %4968, double noundef %4970)
          to label %4971 unwind label %4978

4971:                                             ; preds = %4966
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %4982

4972:                                             ; preds = %4932, %4903
  call void @llvm.lifetime.end.p0(i64 1, ptr %360) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %359) #7
  br label %4973

4973:                                             ; preds = %4972, %4899
  call void @llvm.lifetime.end.p0(i64 1, ptr %358) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %357) #7
  br label %5025

4974:                                             ; preds = %4941
  %4975 = landingpad { ptr, i32 }
          cleanup
  %4976 = extractvalue { ptr, i32 } %4975, 0
  store ptr %4976, ptr %55, align 8
  %4977 = extractvalue { ptr, i32 } %4975, 1
  store i32 %4977, ptr %56, align 4
  br label %5024

4978:                                             ; preds = %4966
  %4979 = landingpad { ptr, i32 }
          cleanup
  %4980 = extractvalue { ptr, i32 } %4979, 0
  store ptr %4980, ptr %55, align 8
  %4981 = extractvalue { ptr, i32 } %4979, 1
  store i32 %4981, ptr %56, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %366) #7
  br label %5023

4982:                                             ; preds = %4971, %4961
  call void @llvm.lifetime.end.p0(i64 8, ptr %366) #7
  br label %5007

4983:                                             ; preds = %4946, %4943
  %4984 = load i64, ptr %362, align 8, !tbaa !22
  %4985 = load i64, ptr %363, align 8, !tbaa !22
  %4986 = icmp ne i64 %4984, %4985
  br i1 %4986, label %4987, label %5006

4987:                                             ; preds = %4983
  %4988 = load i64, ptr %362, align 8, !tbaa !22
  %4989 = trunc i64 %4988 to i32
  %4990 = load i64, ptr %363, align 8, !tbaa !22
  %4991 = trunc i64 %4990 to i32
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.122, ptr noundef @.str.2, i32 noundef 200, i32 noundef %4989, i32 noundef %4991)
          to label %4992 unwind label %5001

4992:                                             ; preds = %4987
  %4993 = load i8, ptr %364, align 1, !tbaa !11, !range !13, !noundef !14
  %4994 = trunc i8 %4993 to i1
  br i1 %4994, label %4998, label %4995

4995:                                             ; preds = %4992
  %4996 = load i8, ptr %365, align 1, !tbaa !11, !range !13, !noundef !14
  %4997 = trunc i8 %4996 to i1
  br i1 %4997, label %4998, label %5005

4998:                                             ; preds = %4995, %4992
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
          to label %4999 unwind label %5001

4999:                                             ; preds = %4998
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
          to label %5000 unwind label %5001

5000:                                             ; preds = %4999
  br label %5005

5001:                                             ; preds = %4999, %4998, %4987
  %5002 = landingpad { ptr, i32 }
          cleanup
  %5003 = extractvalue { ptr, i32 } %5002, 0
  store ptr %5003, ptr %55, align 8
  %5004 = extractvalue { ptr, i32 } %5002, 1
  store i32 %5004, ptr %56, align 4
  br label %5023

5005:                                             ; preds = %5000, %4995
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %5006

5006:                                             ; preds = %5005, %4983
  br label %5007

5007:                                             ; preds = %5006, %4982
  call void @llvm.lifetime.end.p0(i64 1, ptr %365) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %364) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %363) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %362) #7
  br label %5008

5008:                                             ; preds = %5007
  br label %5009

5009:                                             ; preds = %5008
  call void @_ZN6tflite19GreedyMemoryPlannerD1Ev(ptr noundef nonnull align 8 dereferenceable(65) %341) #7
  call void @llvm.lifetime.end.p0(i64 72, ptr %341) #7
  br label %5010

5010:                                             ; preds = %5009
  store i8 1, ptr @_ZN10micro_test16is_test_completeE, align 1, !tbaa !11
  %5011 = load i8, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11, !range !13, !noundef !14
  %5012 = trunc i8 %5011 to i1
  %5013 = zext i1 %5012 to i64
  %5014 = select i1 %5012, i32 0, i32 1
  %5015 = load i32, ptr @_ZN10micro_test12tests_passedE, align 4, !tbaa !5
  %5016 = add nsw i32 %5015, %5014
  store i32 %5016, ptr @_ZN10micro_test12tests_passedE, align 4, !tbaa !5
  %5017 = load i8, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11, !range !13, !noundef !14
  %5018 = trunc i8 %5017 to i1
  %5019 = zext i1 %5018 to i64
  %5020 = select i1 %5018, i32 1, i32 0
  %5021 = load i32, ptr @_ZN10micro_test12tests_failedE, align 4, !tbaa !5
  %5022 = add nsw i32 %5021, %5020
  store i32 %5022, ptr @_ZN10micro_test12tests_failedE, align 4, !tbaa !5
  br label %4640, !llvm.loop !27

5023:                                             ; preds = %5001, %4978
  call void @llvm.lifetime.end.p0(i64 1, ptr %365) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %364) #7
  br label %5024

5024:                                             ; preds = %5023, %4974
  call void @llvm.lifetime.end.p0(i64 8, ptr %363) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %362) #7
  br label %5025

5025:                                             ; preds = %5024, %4973, %4898, %4815, %4748, %4678
  call void @_ZN6tflite19GreedyMemoryPlannerD1Ev(ptr noundef nonnull align 8 dereferenceable(65) %341) #7
  call void @llvm.lifetime.end.p0(i64 72, ptr %341) #7
  br label %5198

5026:                                             ; preds = %4640
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.123)
  store i8 0, ptr @_ZN10micro_test16is_test_completeE, align 1, !tbaa !11
  store i8 0, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %5027

5027:                                             ; preds = %5171, %5026
  %5028 = load i8, ptr @_ZN10micro_test16is_test_completeE, align 1, !tbaa !11, !range !13, !noundef !14
  %5029 = trunc i8 %5028 to i1
  %5030 = xor i1 %5029, true
  br i1 %5030, label %5031, label %5187

5031:                                             ; preds = %5027
  call void @llvm.lifetime.start.p0(i64 4, ptr %367) #7
  store i32 40, ptr %367, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 40, ptr %368) #7
  call void @llvm.lifetime.start.p0(i64 72, ptr %369) #7
  call void @_ZN6tflite19GreedyMemoryPlannerC1Ev(ptr noundef nonnull align 8 dereferenceable(65) %369)
  %5032 = getelementptr inbounds [40 x i8], ptr %368, i64 0, i64 0
  %5033 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner4InitEPhi(ptr noundef nonnull align 8 dereferenceable(65) %369, ptr noundef %5032, i32 noundef 40)
          to label %5034 unwind label %5066

5034:                                             ; preds = %5031
  br label %5035

5035:                                             ; preds = %5034
  call void @llvm.lifetime.start.p0(i64 4, ptr %370) #7
  store i32 0, ptr %370, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 4, ptr %371) #7
  %5036 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %369, i32 noundef 100, i32 noundef 0, i32 noundef 1)
          to label %5037 unwind label %5070

5037:                                             ; preds = %5035
  store i32 %5036, ptr %371, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 1, ptr %372) #7
  store i8 0, ptr %372, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %373) #7
  store i8 0, ptr %373, align 1, !tbaa !11
  %5038 = load i8, ptr %372, align 1, !tbaa !11, !range !13, !noundef !14
  %5039 = trunc i8 %5038 to i1
  br i1 %5039, label %5040, label %5079

5040:                                             ; preds = %5037
  %5041 = load i8, ptr %373, align 1, !tbaa !11, !range !13, !noundef !14
  %5042 = trunc i8 %5041 to i1
  br i1 %5042, label %5043, label %5079

5043:                                             ; preds = %5040
  call void @llvm.lifetime.start.p0(i64 4, ptr %374) #7
  %5044 = load i32, ptr %370, align 4, !tbaa !20
  %5045 = load i32, ptr %371, align 4, !tbaa !20
  %5046 = icmp sgt i32 %5044, %5045
  br i1 %5046, label %5047, label %5051

5047:                                             ; preds = %5043
  %5048 = load i32, ptr %370, align 4, !tbaa !20
  %5049 = load i32, ptr %371, align 4, !tbaa !20
  %5050 = sub nsw i32 %5048, %5049
  br label %5055

5051:                                             ; preds = %5043
  %5052 = load i32, ptr %371, align 4, !tbaa !20
  %5053 = load i32, ptr %370, align 4, !tbaa !20
  %5054 = sub nsw i32 %5052, %5053
  br label %5055

5055:                                             ; preds = %5051, %5047
  %5056 = phi i32 [ %5050, %5047 ], [ %5054, %5051 ]
  store i32 %5056, ptr %374, align 4, !tbaa !5
  %5057 = load i32, ptr %374, align 4, !tbaa !5
  %5058 = call noundef i32 @_ZNSt14numeric_limitsIiE7epsilonEv() #7
  %5059 = icmp sgt i32 %5057, %5058
  br i1 %5059, label %5060, label %5078

5060:                                             ; preds = %5055
  %5061 = load i32, ptr %370, align 4, !tbaa !20
  %5062 = uitofp i32 %5061 to double
  %5063 = load i32, ptr %371, align 4, !tbaa !20
  %5064 = uitofp i32 %5063 to double
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.117, ptr noundef @.str.2, i32 noundef 208, double noundef %5062, double noundef %5064)
          to label %5065 unwind label %5074

5065:                                             ; preds = %5060
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %5078

5066:                                             ; preds = %5031
  %5067 = landingpad { ptr, i32 }
          cleanup
  %5068 = extractvalue { ptr, i32 } %5067, 0
  store ptr %5068, ptr %55, align 8
  %5069 = extractvalue { ptr, i32 } %5067, 1
  store i32 %5069, ptr %56, align 4
  br label %5186

5070:                                             ; preds = %5035
  %5071 = landingpad { ptr, i32 }
          cleanup
  %5072 = extractvalue { ptr, i32 } %5071, 0
  store ptr %5072, ptr %55, align 8
  %5073 = extractvalue { ptr, i32 } %5071, 1
  store i32 %5073, ptr %56, align 4
  br label %5136

5074:                                             ; preds = %5060
  %5075 = landingpad { ptr, i32 }
          cleanup
  %5076 = extractvalue { ptr, i32 } %5075, 0
  store ptr %5076, ptr %55, align 8
  %5077 = extractvalue { ptr, i32 } %5075, 1
  store i32 %5077, ptr %56, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %374) #7
  br label %5135

5078:                                             ; preds = %5065, %5055
  call void @llvm.lifetime.end.p0(i64 4, ptr %374) #7
  br label %5101

5079:                                             ; preds = %5040, %5037
  %5080 = load i32, ptr %370, align 4, !tbaa !20
  %5081 = load i32, ptr %371, align 4, !tbaa !20
  %5082 = icmp ne i32 %5080, %5081
  br i1 %5082, label %5083, label %5100

5083:                                             ; preds = %5079
  %5084 = load i32, ptr %370, align 4, !tbaa !20
  %5085 = load i32, ptr %371, align 4, !tbaa !20
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.118, ptr noundef @.str.2, i32 noundef 208, i32 noundef %5084, i32 noundef %5085)
          to label %5086 unwind label %5095

5086:                                             ; preds = %5083
  %5087 = load i8, ptr %372, align 1, !tbaa !11, !range !13, !noundef !14
  %5088 = trunc i8 %5087 to i1
  br i1 %5088, label %5092, label %5089

5089:                                             ; preds = %5086
  %5090 = load i8, ptr %373, align 1, !tbaa !11, !range !13, !noundef !14
  %5091 = trunc i8 %5090 to i1
  br i1 %5091, label %5092, label %5099

5092:                                             ; preds = %5089, %5086
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
          to label %5093 unwind label %5095

5093:                                             ; preds = %5092
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
          to label %5094 unwind label %5095

5094:                                             ; preds = %5093
  br label %5099

5095:                                             ; preds = %5093, %5092, %5083
  %5096 = landingpad { ptr, i32 }
          cleanup
  %5097 = extractvalue { ptr, i32 } %5096, 0
  store ptr %5097, ptr %55, align 8
  %5098 = extractvalue { ptr, i32 } %5096, 1
  store i32 %5098, ptr %56, align 4
  br label %5135

5099:                                             ; preds = %5094, %5089
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %5100

5100:                                             ; preds = %5099, %5079
  br label %5101

5101:                                             ; preds = %5100, %5078
  call void @llvm.lifetime.end.p0(i64 1, ptr %373) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %372) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %371) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %370) #7
  br label %5102

5102:                                             ; preds = %5101
  br label %5103

5103:                                             ; preds = %5102
  br label %5104

5104:                                             ; preds = %5103
  call void @llvm.lifetime.start.p0(i64 4, ptr %375) #7
  store i32 1, ptr %375, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 4, ptr %376) #7
  %5105 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %369, i32 noundef 50, i32 noundef 2, i32 noundef 3)
          to label %5106 unwind label %5137

5106:                                             ; preds = %5104
  store i32 %5105, ptr %376, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 1, ptr %377) #7
  store i8 0, ptr %377, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %378) #7
  store i8 0, ptr %378, align 1, !tbaa !11
  %5107 = load i8, ptr %377, align 1, !tbaa !11, !range !13, !noundef !14
  %5108 = trunc i8 %5107 to i1
  br i1 %5108, label %5109, label %5146

5109:                                             ; preds = %5106
  %5110 = load i8, ptr %378, align 1, !tbaa !11, !range !13, !noundef !14
  %5111 = trunc i8 %5110 to i1
  br i1 %5111, label %5112, label %5146

5112:                                             ; preds = %5109
  call void @llvm.lifetime.start.p0(i64 4, ptr %379) #7
  %5113 = load i32, ptr %375, align 4, !tbaa !20
  %5114 = load i32, ptr %376, align 4, !tbaa !20
  %5115 = icmp sgt i32 %5113, %5114
  br i1 %5115, label %5116, label %5120

5116:                                             ; preds = %5112
  %5117 = load i32, ptr %375, align 4, !tbaa !20
  %5118 = load i32, ptr %376, align 4, !tbaa !20
  %5119 = sub nsw i32 %5117, %5118
  br label %5124

5120:                                             ; preds = %5112
  %5121 = load i32, ptr %376, align 4, !tbaa !20
  %5122 = load i32, ptr %375, align 4, !tbaa !20
  %5123 = sub nsw i32 %5121, %5122
  br label %5124

5124:                                             ; preds = %5120, %5116
  %5125 = phi i32 [ %5119, %5116 ], [ %5123, %5120 ]
  store i32 %5125, ptr %379, align 4, !tbaa !5
  %5126 = load i32, ptr %379, align 4, !tbaa !5
  %5127 = call noundef i32 @_ZNSt14numeric_limitsIiE7epsilonEv() #7
  %5128 = icmp sgt i32 %5126, %5127
  br i1 %5128, label %5129, label %5145

5129:                                             ; preds = %5124
  %5130 = load i32, ptr %375, align 4, !tbaa !20
  %5131 = uitofp i32 %5130 to double
  %5132 = load i32, ptr %376, align 4, !tbaa !20
  %5133 = uitofp i32 %5132 to double
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.124, ptr noundef @.str.2, i32 noundef 209, double noundef %5131, double noundef %5133)
          to label %5134 unwind label %5141

5134:                                             ; preds = %5129
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %5145

5135:                                             ; preds = %5095, %5074
  call void @llvm.lifetime.end.p0(i64 1, ptr %373) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %372) #7
  br label %5136

5136:                                             ; preds = %5135, %5070
  call void @llvm.lifetime.end.p0(i64 4, ptr %371) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %370) #7
  br label %5186

5137:                                             ; preds = %5104
  %5138 = landingpad { ptr, i32 }
          cleanup
  %5139 = extractvalue { ptr, i32 } %5138, 0
  store ptr %5139, ptr %55, align 8
  %5140 = extractvalue { ptr, i32 } %5138, 1
  store i32 %5140, ptr %56, align 4
  br label %5185

5141:                                             ; preds = %5129
  %5142 = landingpad { ptr, i32 }
          cleanup
  %5143 = extractvalue { ptr, i32 } %5142, 0
  store ptr %5143, ptr %55, align 8
  %5144 = extractvalue { ptr, i32 } %5142, 1
  store i32 %5144, ptr %56, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %379) #7
  br label %5184

5145:                                             ; preds = %5134, %5124
  call void @llvm.lifetime.end.p0(i64 4, ptr %379) #7
  br label %5168

5146:                                             ; preds = %5109, %5106
  %5147 = load i32, ptr %375, align 4, !tbaa !20
  %5148 = load i32, ptr %376, align 4, !tbaa !20
  %5149 = icmp ne i32 %5147, %5148
  br i1 %5149, label %5150, label %5167

5150:                                             ; preds = %5146
  %5151 = load i32, ptr %375, align 4, !tbaa !20
  %5152 = load i32, ptr %376, align 4, !tbaa !20
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.125, ptr noundef @.str.2, i32 noundef 209, i32 noundef %5151, i32 noundef %5152)
          to label %5153 unwind label %5162

5153:                                             ; preds = %5150
  %5154 = load i8, ptr %377, align 1, !tbaa !11, !range !13, !noundef !14
  %5155 = trunc i8 %5154 to i1
  br i1 %5155, label %5159, label %5156

5156:                                             ; preds = %5153
  %5157 = load i8, ptr %378, align 1, !tbaa !11, !range !13, !noundef !14
  %5158 = trunc i8 %5157 to i1
  br i1 %5158, label %5159, label %5166

5159:                                             ; preds = %5156, %5153
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.4)
          to label %5160 unwind label %5162

5160:                                             ; preds = %5159
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.5)
          to label %5161 unwind label %5162

5161:                                             ; preds = %5160
  br label %5166

5162:                                             ; preds = %5160, %5159, %5150
  %5163 = landingpad { ptr, i32 }
          cleanup
  %5164 = extractvalue { ptr, i32 } %5163, 0
  store ptr %5164, ptr %55, align 8
  %5165 = extractvalue { ptr, i32 } %5163, 1
  store i32 %5165, ptr %56, align 4
  br label %5184

5166:                                             ; preds = %5161, %5156
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %5167

5167:                                             ; preds = %5166, %5146
  br label %5168

5168:                                             ; preds = %5167, %5145
  call void @llvm.lifetime.end.p0(i64 1, ptr %378) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %377) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %376) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %375) #7
  br label %5169

5169:                                             ; preds = %5168
  br label %5170

5170:                                             ; preds = %5169
  call void @_ZN6tflite19GreedyMemoryPlannerD1Ev(ptr noundef nonnull align 8 dereferenceable(65) %369) #7
  call void @llvm.lifetime.end.p0(i64 72, ptr %369) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %368) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %367) #7
  br label %5171

5171:                                             ; preds = %5170
  store i8 1, ptr @_ZN10micro_test16is_test_completeE, align 1, !tbaa !11
  %5172 = load i8, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11, !range !13, !noundef !14
  %5173 = trunc i8 %5172 to i1
  %5174 = zext i1 %5173 to i64
  %5175 = select i1 %5173, i32 0, i32 1
  %5176 = load i32, ptr @_ZN10micro_test12tests_passedE, align 4, !tbaa !5
  %5177 = add nsw i32 %5176, %5175
  store i32 %5177, ptr @_ZN10micro_test12tests_passedE, align 4, !tbaa !5
  %5178 = load i8, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11, !range !13, !noundef !14
  %5179 = trunc i8 %5178 to i1
  %5180 = zext i1 %5179 to i64
  %5181 = select i1 %5179, i32 1, i32 0
  %5182 = load i32, ptr @_ZN10micro_test12tests_failedE, align 4, !tbaa !5
  %5183 = add nsw i32 %5182, %5181
  store i32 %5183, ptr @_ZN10micro_test12tests_failedE, align 4, !tbaa !5
  br label %5027, !llvm.loop !28

5184:                                             ; preds = %5162, %5141
  call void @llvm.lifetime.end.p0(i64 1, ptr %378) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %377) #7
  br label %5185

5185:                                             ; preds = %5184, %5137
  call void @llvm.lifetime.end.p0(i64 4, ptr %376) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %375) #7
  br label %5186

5186:                                             ; preds = %5185, %5136, %5066
  call void @_ZN6tflite19GreedyMemoryPlannerD1Ev(ptr noundef nonnull align 8 dereferenceable(65) %369) #7
  call void @llvm.lifetime.end.p0(i64 72, ptr %369) #7
  call void @llvm.lifetime.end.p0(i64 40, ptr %368) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %367) #7
  br label %5198

5187:                                             ; preds = %5027
  %5188 = load i32, ptr @_ZN10micro_test12tests_passedE, align 4, !tbaa !5
  %5189 = load i32, ptr @_ZN10micro_test12tests_failedE, align 4, !tbaa !5
  %5190 = load i32, ptr @_ZN10micro_test12tests_passedE, align 4, !tbaa !5
  %5191 = add nsw i32 %5189, %5190
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.126, i32 noundef %5188, i32 noundef %5191)
  %5192 = load i32, ptr @_ZN10micro_test12tests_failedE, align 4, !tbaa !5
  %5193 = icmp eq i32 %5192, 0
  br i1 %5193, label %5194, label %5195

5194:                                             ; preds = %5187
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.127)
  store i32 0, ptr %3, align 4
  br label %5196

5195:                                             ; preds = %5187
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef @.str.128)
  store i32 1, ptr %3, align 4
  br label %5196

5196:                                             ; preds = %5195, %5194
  %5197 = load i32, ptr %3, align 4
  ret i32 %5197

5198:                                             ; preds = %5186, %5025, %4638, %2502, %1336
  %5199 = load ptr, ptr %55, align 8
  %5200 = load i32, ptr %56, align 4
  %5201 = insertvalue { ptr, i32 } poison, ptr %5199, 0
  %5202 = insertvalue { ptr, i32 } %5201, i32 %5200, 1
  resume { ptr, i32 } %5202
}

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN6tflite14InitializeTestEv() #1

declare void @_Z11MicroPrintfPKcz(ptr noundef, ...) #2

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #3

; 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) #4

declare void @_ZN6tflite18ReverseSortInPlaceEPiS0_i(ptr noundef, ptr noundef, i32 noundef) #2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZNSt14numeric_limitsIiE7epsilonEv() #5 align 2

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #3

declare void @_ZN6tflite19GreedyMemoryPlannerC1Ev(ptr noundef nonnull align 8 dereferenceable(65)) unnamed_addr #2

declare noundef i32 @_ZN6tflite19GreedyMemoryPlanner4InitEPhi(ptr noundef nonnull align 8 dereferenceable(65), ptr noundef, i32 noundef) unnamed_addr #2

declare i32 @__gxx_personality_v0(...)

declare noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65), i32 noundef, i32 noundef, i32 noundef) unnamed_addr #2

declare noundef zeroext i1 @_ZN6tflite19GreedyMemoryPlanner19DoAnyBuffersOverlapEv(ptr noundef nonnull align 8 dereferenceable(65)) #2

declare noundef i64 @_ZN6tflite19GreedyMemoryPlanner20GetMaximumMemorySizeEv(ptr noundef nonnull align 8 dereferenceable(65)) unnamed_addr #2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZNSt14numeric_limitsImE7epsilonEv() #5 align 2

declare noundef i32 @_ZN6tflite19GreedyMemoryPlanner18GetOffsetForBufferEiPi(ptr noundef nonnull align 8 dereferenceable(65), i32 noundef, ptr noundef) unnamed_addr #2

; Function Attrs: nounwind
declare void @_ZN6tflite19GreedyMemoryPlannerD1Ev(ptr noundef nonnull align 8 dereferenceable(65)) unnamed_addr #6

declare void @_ZN6tflite19GreedyMemoryPlanner15PrintMemoryPlanEv(ptr noundef nonnull align 8 dereferenceable(65)) unnamed_addr #2

attributes #0 = { mustprogress norecurse 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 = { inlinehint mustprogress 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 #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 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #5 = { mustprogress 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 #6 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { 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++ 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 = distinct !{!19, !16}
!20 = !{!21, !21, i64 0}
!21 = !{!"_ZTS12TfLiteStatus", !7, i64 0}
!22 = !{!23, !23, i64 0}
!23 = !{!"long", !7, i64 0}
!24 = distinct !{!24, !16}
!25 = distinct !{!25, !16}
!26 = distinct !{!26, !16}
!27 = distinct !{!27, !16}
!28 = distinct !{!28, !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"

%"class.tflite::GreedyMemoryPlanner" = type <{ %"class.tflite::MicroMemoryPlanner", i32, i32, ptr, ptr, ptr, ptr, i32, i32, ptr, i8, [7 x i8] }>
%"class.tflite::MicroMemoryPlanner" = type { ptr }

@_ZN10micro_test12tests_passedE = external dso_local local_unnamed_addr global i32, align 4
@_ZN10micro_test12tests_failedE = external dso_local local_unnamed_addr global i32, align 4
@_ZN10micro_test16is_test_completeE = external dso_local local_unnamed_addr global i8, align 1
@_ZN10micro_test13did_test_failE = external dso_local local_unnamed_addr global i8, align 1
@.str = external hidden unnamed_addr constant [31 x i8], align 1
@__const.main.a_values = external hidden unnamed_addr constant [10 x i32], align 16
@__const.main.a_ids = external hidden unnamed_addr constant [10 x i32], align 16
@__const.main.a_expected_values = external hidden unnamed_addr constant [10 x i32], align 16
@__const.main.a_expected_ids = external hidden unnamed_addr constant [10 x i32], align 16
@.str.2 = external hidden unnamed_addr constant [124 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [57 x i8], align 1
@__const.main.b_values = external hidden unnamed_addr constant [10 x i32], align 16
@__const.main.b_ids = external hidden unnamed_addr constant [10 x i32], align 16
@__const.main.b_expected_values = external hidden unnamed_addr constant [10 x i32], align 16
@__const.main.b_expected_ids = external hidden unnamed_addr constant [10 x i32], align 16
@.str.9 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [57 x i8], align 1
@__const.main.c_values = external hidden unnamed_addr constant [100 x i32], align 16
@__const.main.c_ids = external hidden unnamed_addr constant [100 x i32], align 16
@__const.main.c_expected_values = external hidden unnamed_addr constant [100 x i32], align 16
@__const.main.c_expected_ids = external hidden unnamed_addr constant [100 x i32], align 16
@.str.13 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [25 x i8], align 1
@_ZN12_GLOBAL__N_116g_scratch_bufferE = external hidden global [4096 x i8], align 4
@.str.18 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.86 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.88 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.90 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.92 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.94 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.96 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.98 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.100 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.102 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.104 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.106 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.108 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.110 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.112 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.114 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.115 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.116 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.118 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.120 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.122 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.123 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.125 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.126 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.127 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.128 = external hidden unnamed_addr constant [25 x i8], align 1

; Function Attrs: mustprogress norecurse uwtable
define dso_local noundef range(i32 0, 2) i32 @main(i32 noundef %0, ptr nocapture noundef readnone %1) local_unnamed_addr #0 personality ptr @__gxx_personality_v0 {
.lr.ph:
  %2 = alloca [10 x i32], align 16
  %3 = alloca [10 x i32], align 16
  %4 = alloca [10 x i32], align 16
  %5 = alloca [10 x i32], align 16
  %6 = alloca [100 x i32], align 16
  %7 = alloca [100 x i32], align 16
  %8 = alloca %"class.tflite::GreedyMemoryPlanner", align 8
  %9 = alloca i32, align 4
  %10 = alloca %"class.tflite::GreedyMemoryPlanner", align 8
  %11 = alloca i32, align 4
  %12 = alloca %"class.tflite::GreedyMemoryPlanner", align 8
  %13 = alloca %"class.tflite::GreedyMemoryPlanner", align 8
  %14 = alloca [40 x i8], align 16
  %15 = alloca %"class.tflite::GreedyMemoryPlanner", align 8
  store i32 0, ptr @_ZN10micro_test12tests_passedE, align 4, !tbaa !5
  store i32 0, ptr @_ZN10micro_test12tests_failedE, align 4, !tbaa !5
  tail call void @_ZN6tflite14InitializeTestEv()
  tail call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str)
  store i8 0, ptr @_ZN10micro_test16is_test_completeE, align 1, !tbaa !9
  store i8 0, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  %.pre = load i32, ptr @__const.main.a_expected_values, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %2) #6
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(40) %2, ptr noundef nonnull align 16 dereferenceable(40) @__const.main.a_values, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %3) #6
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(40) %3, ptr noundef nonnull align 16 dereferenceable(40) @__const.main.a_ids, i64 40, i1 false)
  call void @_ZN6tflite18ReverseSortInPlaceEPiS0_i(ptr noundef nonnull %2, ptr noundef nonnull %3, i32 noundef 10)
  %16 = load i32, ptr %2, align 16, !tbaa !5
  %.not1725 = icmp eq i32 %.pre, %16
  br i1 %.not1725, label %18, label %17

17:                                               ; preds = %.lr.ph
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.3, ptr noundef nonnull @.str.2, i32 noundef 41, i32 noundef %.pre, i32 noundef %16)
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %18

18:                                               ; preds = %.lr.ph, %17
  %19 = load i32, ptr @__const.main.a_expected_ids, align 16, !tbaa !5
  %20 = load i32, ptr %3, align 16, !tbaa !5
  %.not1726 = icmp eq i32 %19, %20
  br i1 %.not1726, label %22, label %21

21:                                               ; preds = %18
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.7, ptr noundef nonnull @.str.2, i32 noundef 42, i32 noundef %19, i32 noundef %20)
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %22

22:                                               ; preds = %18, %21
  %23 = load i32, ptr getelementptr inbounds (i8, ptr @__const.main.a_expected_values, i64 4), align 4, !tbaa !5
  %24 = getelementptr inbounds i8, ptr %2, i64 4
  %25 = load i32, ptr %24, align 4, !tbaa !5
  %.not1725.1 = icmp eq i32 %23, %25
  br i1 %.not1725.1, label %27, label %26

26:                                               ; preds = %22
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.3, ptr noundef nonnull @.str.2, i32 noundef 41, i32 noundef %23, i32 noundef %25)
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %27

27:                                               ; preds = %26, %22
  %28 = load i32, ptr getelementptr inbounds (i8, ptr @__const.main.a_expected_ids, i64 4), align 4, !tbaa !5
  %29 = getelementptr inbounds i8, ptr %3, i64 4
  %30 = load i32, ptr %29, align 4, !tbaa !5
  %.not1726.1 = icmp eq i32 %28, %30
  br i1 %.not1726.1, label %32, label %31

31:                                               ; preds = %27
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.7, ptr noundef nonnull @.str.2, i32 noundef 42, i32 noundef %28, i32 noundef %30)
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %32

32:                                               ; preds = %31, %27
  %33 = load i32, ptr getelementptr inbounds (i8, ptr @__const.main.a_expected_values, i64 8), align 8, !tbaa !5
  %34 = getelementptr inbounds i8, ptr %2, i64 8
  %35 = load i32, ptr %34, align 8, !tbaa !5
  %.not1725.2 = icmp eq i32 %33, %35
  br i1 %.not1725.2, label %37, label %36

36:                                               ; preds = %32
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.3, ptr noundef nonnull @.str.2, i32 noundef 41, i32 noundef %33, i32 noundef %35)
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %37

37:                                               ; preds = %36, %32
  %38 = load i32, ptr getelementptr inbounds (i8, ptr @__const.main.a_expected_ids, i64 8), align 8, !tbaa !5
  %39 = getelementptr inbounds i8, ptr %3, i64 8
  %40 = load i32, ptr %39, align 8, !tbaa !5
  %.not1726.2 = icmp eq i32 %38, %40
  br i1 %.not1726.2, label %42, label %41

41:                                               ; preds = %37
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.7, ptr noundef nonnull @.str.2, i32 noundef 42, i32 noundef %38, i32 noundef %40)
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %42

42:                                               ; preds = %41, %37
  %43 = load i32, ptr getelementptr inbounds (i8, ptr @__const.main.a_expected_values, i64 12), align 4, !tbaa !5
  %44 = getelementptr inbounds i8, ptr %2, i64 12
  %45 = load i32, ptr %44, align 4, !tbaa !5
  %.not1725.3 = icmp eq i32 %43, %45
  br i1 %.not1725.3, label %47, label %46

46:                                               ; preds = %42
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.3, ptr noundef nonnull @.str.2, i32 noundef 41, i32 noundef %43, i32 noundef %45)
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %47

47:                                               ; preds = %46, %42
  %48 = load i32, ptr getelementptr inbounds (i8, ptr @__const.main.a_expected_ids, i64 12), align 4, !tbaa !5
  %49 = getelementptr inbounds i8, ptr %3, i64 12
  %50 = load i32, ptr %49, align 4, !tbaa !5
  %.not1726.3 = icmp eq i32 %48, %50
  br i1 %.not1726.3, label %52, label %51

51:                                               ; preds = %47
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.7, ptr noundef nonnull @.str.2, i32 noundef 42, i32 noundef %48, i32 noundef %50)
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %52

52:                                               ; preds = %51, %47
  %53 = load i32, ptr getelementptr inbounds (i8, ptr @__const.main.a_expected_values, i64 16), align 16, !tbaa !5
  %54 = getelementptr inbounds i8, ptr %2, i64 16
  %55 = load i32, ptr %54, align 16, !tbaa !5
  %.not1725.4 = icmp eq i32 %53, %55
  br i1 %.not1725.4, label %57, label %56

56:                                               ; preds = %52
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.3, ptr noundef nonnull @.str.2, i32 noundef 41, i32 noundef %53, i32 noundef %55)
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %57

57:                                               ; preds = %56, %52
  %58 = load i32, ptr getelementptr inbounds (i8, ptr @__const.main.a_expected_ids, i64 16), align 16, !tbaa !5
  %59 = getelementptr inbounds i8, ptr %3, i64 16
  %60 = load i32, ptr %59, align 16, !tbaa !5
  %.not1726.4 = icmp eq i32 %58, %60
  br i1 %.not1726.4, label %62, label %61

61:                                               ; preds = %57
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.7, ptr noundef nonnull @.str.2, i32 noundef 42, i32 noundef %58, i32 noundef %60)
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %62

62:                                               ; preds = %61, %57
  %63 = load i32, ptr getelementptr inbounds (i8, ptr @__const.main.a_expected_values, i64 20), align 4, !tbaa !5
  %64 = getelementptr inbounds i8, ptr %2, i64 20
  %65 = load i32, ptr %64, align 4, !tbaa !5
  %.not1725.5 = icmp eq i32 %63, %65
  br i1 %.not1725.5, label %67, label %66

66:                                               ; preds = %62
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.3, ptr noundef nonnull @.str.2, i32 noundef 41, i32 noundef %63, i32 noundef %65)
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %67

67:                                               ; preds = %66, %62
  %68 = load i32, ptr getelementptr inbounds (i8, ptr @__const.main.a_expected_ids, i64 20), align 4, !tbaa !5
  %69 = getelementptr inbounds i8, ptr %3, i64 20
  %70 = load i32, ptr %69, align 4, !tbaa !5
  %.not1726.5 = icmp eq i32 %68, %70
  br i1 %.not1726.5, label %72, label %71

71:                                               ; preds = %67
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.7, ptr noundef nonnull @.str.2, i32 noundef 42, i32 noundef %68, i32 noundef %70)
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %72

72:                                               ; preds = %71, %67
  %73 = load i32, ptr getelementptr inbounds (i8, ptr @__const.main.a_expected_values, i64 24), align 8, !tbaa !5
  %74 = getelementptr inbounds i8, ptr %2, i64 24
  %75 = load i32, ptr %74, align 8, !tbaa !5
  %.not1725.6 = icmp eq i32 %73, %75
  br i1 %.not1725.6, label %77, label %76

76:                                               ; preds = %72
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.3, ptr noundef nonnull @.str.2, i32 noundef 41, i32 noundef %73, i32 noundef %75)
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %77

77:                                               ; preds = %76, %72
  %78 = load i32, ptr getelementptr inbounds (i8, ptr @__const.main.a_expected_ids, i64 24), align 8, !tbaa !5
  %79 = getelementptr inbounds i8, ptr %3, i64 24
  %80 = load i32, ptr %79, align 8, !tbaa !5
  %.not1726.6 = icmp eq i32 %78, %80
  br i1 %.not1726.6, label %82, label %81

81:                                               ; preds = %77
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.7, ptr noundef nonnull @.str.2, i32 noundef 42, i32 noundef %78, i32 noundef %80)
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %82

82:                                               ; preds = %81, %77
  %83 = load i32, ptr getelementptr inbounds (i8, ptr @__const.main.a_expected_values, i64 28), align 4, !tbaa !5
  %84 = getelementptr inbounds i8, ptr %2, i64 28
  %85 = load i32, ptr %84, align 4, !tbaa !5
  %.not1725.7 = icmp eq i32 %83, %85
  br i1 %.not1725.7, label %87, label %86

86:                                               ; preds = %82
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.3, ptr noundef nonnull @.str.2, i32 noundef 41, i32 noundef %83, i32 noundef %85)
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %87

87:                                               ; preds = %86, %82
  %88 = load i32, ptr getelementptr inbounds (i8, ptr @__const.main.a_expected_ids, i64 28), align 4, !tbaa !5
  %89 = getelementptr inbounds i8, ptr %3, i64 28
  %90 = load i32, ptr %89, align 4, !tbaa !5
  %.not1726.7 = icmp eq i32 %88, %90
  br i1 %.not1726.7, label %92, label %91

91:                                               ; preds = %87
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.7, ptr noundef nonnull @.str.2, i32 noundef 42, i32 noundef %88, i32 noundef %90)
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %92

92:                                               ; preds = %91, %87
  %93 = load i32, ptr getelementptr inbounds (i8, ptr @__const.main.a_expected_values, i64 32), align 16, !tbaa !5
  %94 = getelementptr inbounds i8, ptr %2, i64 32
  %95 = load i32, ptr %94, align 16, !tbaa !5
  %.not1725.8 = icmp eq i32 %93, %95
  br i1 %.not1725.8, label %97, label %96

96:                                               ; preds = %92
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.3, ptr noundef nonnull @.str.2, i32 noundef 41, i32 noundef %93, i32 noundef %95)
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %97

97:                                               ; preds = %96, %92
  %98 = load i32, ptr getelementptr inbounds (i8, ptr @__const.main.a_expected_ids, i64 32), align 16, !tbaa !5
  %99 = getelementptr inbounds i8, ptr %3, i64 32
  %100 = load i32, ptr %99, align 16, !tbaa !5
  %.not1726.8 = icmp eq i32 %98, %100
  br i1 %.not1726.8, label %102, label %101

101:                                              ; preds = %97
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.7, ptr noundef nonnull @.str.2, i32 noundef 42, i32 noundef %98, i32 noundef %100)
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %102

102:                                              ; preds = %101, %97
  %103 = load i32, ptr getelementptr inbounds (i8, ptr @__const.main.a_expected_values, i64 36), align 4, !tbaa !5
  %104 = getelementptr inbounds i8, ptr %2, i64 36
  %105 = load i32, ptr %104, align 4, !tbaa !5
  %.not1725.9 = icmp eq i32 %103, %105
  br i1 %.not1725.9, label %107, label %106

106:                                              ; preds = %102
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.3, ptr noundef nonnull @.str.2, i32 noundef 41, i32 noundef %103, i32 noundef %105)
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %107

107:                                              ; preds = %106, %102
  %108 = load i32, ptr getelementptr inbounds (i8, ptr @__const.main.a_expected_ids, i64 36), align 4, !tbaa !5
  %109 = getelementptr inbounds i8, ptr %3, i64 36
  %110 = load i32, ptr %109, align 4, !tbaa !5
  %.not1726.9 = icmp eq i32 %108, %110
  br i1 %.not1726.9, label %112, label %111

111:                                              ; preds = %107
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.7, ptr noundef nonnull @.str.2, i32 noundef 42, i32 noundef %108, i32 noundef %110)
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %112

112:                                              ; preds = %111, %107
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %4) #6
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(40) %4, ptr noundef nonnull align 16 dereferenceable(40) @__const.main.b_values, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %5) #6
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(40) %5, ptr noundef nonnull align 16 dereferenceable(40) @__const.main.b_ids, i64 40, i1 false)
  call void @_ZN6tflite18ReverseSortInPlaceEPiS0_i(ptr noundef nonnull %4, ptr noundef nonnull %5, i32 noundef 10)
  %113 = load i32, ptr @__const.main.b_expected_values, align 16, !tbaa !5
  %114 = load i32, ptr %4, align 16, !tbaa !5
  %.not1723 = icmp eq i32 %113, %114
  br i1 %.not1723, label %116, label %115

115:                                              ; preds = %112
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.2, i32 noundef 52, i32 noundef %113, i32 noundef %114)
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %116

116:                                              ; preds = %112, %115
  %117 = load i32, ptr @__const.main.b_expected_ids, align 16, !tbaa !5
  %118 = load i32, ptr %5, align 16, !tbaa !5
  %.not1724 = icmp eq i32 %117, %118
  br i1 %.not1724, label %120, label %119

119:                                              ; preds = %116
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.2, i32 noundef 53, i32 noundef %117, i32 noundef %118)
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %120

120:                                              ; preds = %116, %119
  %121 = load i32, ptr getelementptr inbounds (i8, ptr @__const.main.b_expected_values, i64 4), align 4, !tbaa !5
  %122 = getelementptr inbounds i8, ptr %4, i64 4
  %123 = load i32, ptr %122, align 4, !tbaa !5
  %.not1723.1 = icmp eq i32 %121, %123
  br i1 %.not1723.1, label %125, label %124

124:                                              ; preds = %120
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.2, i32 noundef 52, i32 noundef %121, i32 noundef %123)
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %125

125:                                              ; preds = %124, %120
  %126 = load i32, ptr getelementptr inbounds (i8, ptr @__const.main.b_expected_ids, i64 4), align 4, !tbaa !5
  %127 = getelementptr inbounds i8, ptr %5, i64 4
  %128 = load i32, ptr %127, align 4, !tbaa !5
  %.not1724.1 = icmp eq i32 %126, %128
  br i1 %.not1724.1, label %130, label %129

129:                                              ; preds = %125
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.2, i32 noundef 53, i32 noundef %126, i32 noundef %128)
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %130

130:                                              ; preds = %129, %125
  %131 = load i32, ptr getelementptr inbounds (i8, ptr @__const.main.b_expected_values, i64 8), align 8, !tbaa !5
  %132 = getelementptr inbounds i8, ptr %4, i64 8
  %133 = load i32, ptr %132, align 8, !tbaa !5
  %.not1723.2 = icmp eq i32 %131, %133
  br i1 %.not1723.2, label %135, label %134

134:                                              ; preds = %130
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.2, i32 noundef 52, i32 noundef %131, i32 noundef %133)
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %135

135:                                              ; preds = %134, %130
  %136 = load i32, ptr getelementptr inbounds (i8, ptr @__const.main.b_expected_ids, i64 8), align 8, !tbaa !5
  %137 = getelementptr inbounds i8, ptr %5, i64 8
  %138 = load i32, ptr %137, align 8, !tbaa !5
  %.not1724.2 = icmp eq i32 %136, %138
  br i1 %.not1724.2, label %140, label %139

139:                                              ; preds = %135
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.2, i32 noundef 53, i32 noundef %136, i32 noundef %138)
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %140

140:                                              ; preds = %139, %135
  %141 = load i32, ptr getelementptr inbounds (i8, ptr @__const.main.b_expected_values, i64 12), align 4, !tbaa !5
  %142 = getelementptr inbounds i8, ptr %4, i64 12
  %143 = load i32, ptr %142, align 4, !tbaa !5
  %.not1723.3 = icmp eq i32 %141, %143
  br i1 %.not1723.3, label %145, label %144

144:                                              ; preds = %140
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.2, i32 noundef 52, i32 noundef %141, i32 noundef %143)
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %145

145:                                              ; preds = %144, %140
  %146 = load i32, ptr getelementptr inbounds (i8, ptr @__const.main.b_expected_ids, i64 12), align 4, !tbaa !5
  %147 = getelementptr inbounds i8, ptr %5, i64 12
  %148 = load i32, ptr %147, align 4, !tbaa !5
  %.not1724.3 = icmp eq i32 %146, %148
  br i1 %.not1724.3, label %150, label %149

149:                                              ; preds = %145
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.2, i32 noundef 53, i32 noundef %146, i32 noundef %148)
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %150

150:                                              ; preds = %149, %145
  %151 = load i32, ptr getelementptr inbounds (i8, ptr @__const.main.b_expected_values, i64 16), align 16, !tbaa !5
  %152 = getelementptr inbounds i8, ptr %4, i64 16
  %153 = load i32, ptr %152, align 16, !tbaa !5
  %.not1723.4 = icmp eq i32 %151, %153
  br i1 %.not1723.4, label %155, label %154

154:                                              ; preds = %150
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.2, i32 noundef 52, i32 noundef %151, i32 noundef %153)
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %155

155:                                              ; preds = %154, %150
  %156 = load i32, ptr getelementptr inbounds (i8, ptr @__const.main.b_expected_ids, i64 16), align 16, !tbaa !5
  %157 = getelementptr inbounds i8, ptr %5, i64 16
  %158 = load i32, ptr %157, align 16, !tbaa !5
  %.not1724.4 = icmp eq i32 %156, %158
  br i1 %.not1724.4, label %160, label %159

159:                                              ; preds = %155
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.2, i32 noundef 53, i32 noundef %156, i32 noundef %158)
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %160

160:                                              ; preds = %159, %155
  %161 = load i32, ptr getelementptr inbounds (i8, ptr @__const.main.b_expected_values, i64 20), align 4, !tbaa !5
  %162 = getelementptr inbounds i8, ptr %4, i64 20
  %163 = load i32, ptr %162, align 4, !tbaa !5
  %.not1723.5 = icmp eq i32 %161, %163
  br i1 %.not1723.5, label %165, label %164

164:                                              ; preds = %160
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.2, i32 noundef 52, i32 noundef %161, i32 noundef %163)
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %165

165:                                              ; preds = %164, %160
  %166 = load i32, ptr getelementptr inbounds (i8, ptr @__const.main.b_expected_ids, i64 20), align 4, !tbaa !5
  %167 = getelementptr inbounds i8, ptr %5, i64 20
  %168 = load i32, ptr %167, align 4, !tbaa !5
  %.not1724.5 = icmp eq i32 %166, %168
  br i1 %.not1724.5, label %170, label %169

169:                                              ; preds = %165
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.2, i32 noundef 53, i32 noundef %166, i32 noundef %168)
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %170

170:                                              ; preds = %169, %165
  %171 = load i32, ptr getelementptr inbounds (i8, ptr @__const.main.b_expected_values, i64 24), align 8, !tbaa !5
  %172 = getelementptr inbounds i8, ptr %4, i64 24
  %173 = load i32, ptr %172, align 8, !tbaa !5
  %.not1723.6 = icmp eq i32 %171, %173
  br i1 %.not1723.6, label %175, label %174

174:                                              ; preds = %170
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.2, i32 noundef 52, i32 noundef %171, i32 noundef %173)
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %175

175:                                              ; preds = %174, %170
  %176 = load i32, ptr getelementptr inbounds (i8, ptr @__const.main.b_expected_ids, i64 24), align 8, !tbaa !5
  %177 = getelementptr inbounds i8, ptr %5, i64 24
  %178 = load i32, ptr %177, align 8, !tbaa !5
  %.not1724.6 = icmp eq i32 %176, %178
  br i1 %.not1724.6, label %180, label %179

179:                                              ; preds = %175
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.2, i32 noundef 53, i32 noundef %176, i32 noundef %178)
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %180

180:                                              ; preds = %179, %175
  %181 = load i32, ptr getelementptr inbounds (i8, ptr @__const.main.b_expected_values, i64 28), align 4, !tbaa !5
  %182 = getelementptr inbounds i8, ptr %4, i64 28
  %183 = load i32, ptr %182, align 4, !tbaa !5
  %.not1723.7 = icmp eq i32 %181, %183
  br i1 %.not1723.7, label %185, label %184

184:                                              ; preds = %180
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.2, i32 noundef 52, i32 noundef %181, i32 noundef %183)
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %185

185:                                              ; preds = %184, %180
  %186 = load i32, ptr getelementptr inbounds (i8, ptr @__const.main.b_expected_ids, i64 28), align 4, !tbaa !5
  %187 = getelementptr inbounds i8, ptr %5, i64 28
  %188 = load i32, ptr %187, align 4, !tbaa !5
  %.not1724.7 = icmp eq i32 %186, %188
  br i1 %.not1724.7, label %190, label %189

189:                                              ; preds = %185
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.2, i32 noundef 53, i32 noundef %186, i32 noundef %188)
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %190

190:                                              ; preds = %189, %185
  %191 = load i32, ptr getelementptr inbounds (i8, ptr @__const.main.b_expected_values, i64 32), align 16, !tbaa !5
  %192 = getelementptr inbounds i8, ptr %4, i64 32
  %193 = load i32, ptr %192, align 16, !tbaa !5
  %.not1723.8 = icmp eq i32 %191, %193
  br i1 %.not1723.8, label %195, label %194

194:                                              ; preds = %190
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.2, i32 noundef 52, i32 noundef %191, i32 noundef %193)
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %195

195:                                              ; preds = %194, %190
  %196 = load i32, ptr getelementptr inbounds (i8, ptr @__const.main.b_expected_ids, i64 32), align 16, !tbaa !5
  %197 = getelementptr inbounds i8, ptr %5, i64 32
  %198 = load i32, ptr %197, align 16, !tbaa !5
  %.not1724.8 = icmp eq i32 %196, %198
  br i1 %.not1724.8, label %200, label %199

199:                                              ; preds = %195
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.2, i32 noundef 53, i32 noundef %196, i32 noundef %198)
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %200

200:                                              ; preds = %199, %195
  %201 = load i32, ptr getelementptr inbounds (i8, ptr @__const.main.b_expected_values, i64 36), align 4, !tbaa !5
  %202 = getelementptr inbounds i8, ptr %4, i64 36
  %203 = load i32, ptr %202, align 4, !tbaa !5
  %.not1723.9 = icmp eq i32 %201, %203
  br i1 %.not1723.9, label %205, label %204

204:                                              ; preds = %200
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.2, i32 noundef 52, i32 noundef %201, i32 noundef %203)
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %205

205:                                              ; preds = %204, %200
  %206 = load i32, ptr getelementptr inbounds (i8, ptr @__const.main.b_expected_ids, i64 36), align 4, !tbaa !5
  %207 = getelementptr inbounds i8, ptr %5, i64 36
  %208 = load i32, ptr %207, align 4, !tbaa !5
  %.not1724.9 = icmp eq i32 %206, %208
  br i1 %.not1724.9, label %210, label %209

209:                                              ; preds = %205
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.2, i32 noundef 53, i32 noundef %206, i32 noundef %208)
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %210

210:                                              ; preds = %209, %205
  call void @llvm.lifetime.start.p0(i64 400, ptr nonnull %6) #6
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(400) %6, ptr noundef nonnull align 16 dereferenceable(400) @__const.main.c_values, i64 400, i1 false)
  call void @llvm.lifetime.start.p0(i64 400, ptr nonnull %7) #6
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(400) %7, ptr noundef nonnull align 16 dereferenceable(400) @__const.main.c_ids, i64 400, i1 false)
  call void @_ZN6tflite18ReverseSortInPlaceEPiS0_i(ptr noundef nonnull %6, ptr noundef nonnull %7, i32 noundef 100)
  br label %211

211:                                              ; preds = %210, %223
  %indvars.iv = phi i64 [ 0, %210 ], [ %indvars.iv.next, %223 ]
  %212 = getelementptr inbounds [100 x i32], ptr @__const.main.c_expected_values, i64 0, i64 %indvars.iv
  %213 = load i32, ptr %212, align 4, !tbaa !5
  %214 = getelementptr inbounds [100 x i32], ptr %6, i64 0, i64 %indvars.iv
  %215 = load i32, ptr %214, align 4, !tbaa !5
  %.not1721 = icmp eq i32 %213, %215
  br i1 %.not1721, label %217, label %216

216:                                              ; preds = %211
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 85, i32 noundef %213, i32 noundef %215)
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %217

217:                                              ; preds = %211, %216
  %218 = getelementptr inbounds [100 x i32], ptr @__const.main.c_expected_ids, i64 0, i64 %indvars.iv
  %219 = load i32, ptr %218, align 4, !tbaa !5
  %220 = getelementptr inbounds [100 x i32], ptr %7, i64 0, i64 %indvars.iv
  %221 = load i32, ptr %220, align 4, !tbaa !5
  %.not1722 = icmp eq i32 %219, %221
  br i1 %.not1722, label %223, label %222

222:                                              ; preds = %217
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.2, i32 noundef 86, i32 noundef %219, i32 noundef %221)
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %223

223:                                              ; preds = %217, %222
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
  %exitcond.not = icmp eq i64 %indvars.iv.next, 100
  br i1 %exitcond.not, label %.lr.ph1731, label %211, !llvm.loop !11

.lr.ph1731:                                       ; preds = %223
  call void @llvm.lifetime.end.p0(i64 400, ptr nonnull %7) #6
  call void @llvm.lifetime.end.p0(i64 400, ptr nonnull %6) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %5) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %4) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %3) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %2) #6
  store i8 1, ptr @_ZN10micro_test16is_test_completeE, align 1, !tbaa !9
  %224 = load i8, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9, !range !13, !noundef !14
  %225 = xor i8 %224, 1
  %not.1720 = zext nneg i8 %225 to i32
  %226 = load i32, ptr @_ZN10micro_test12tests_passedE, align 4, !tbaa !5
  %227 = add nsw i32 %226, %not.1720
  store i32 %227, ptr @_ZN10micro_test12tests_passedE, align 4, !tbaa !5
  %228 = zext nneg i8 %224 to i32
  %229 = load i32, ptr @_ZN10micro_test12tests_failedE, align 4, !tbaa !5
  %230 = add nsw i32 %229, %228
  store i32 %230, ptr @_ZN10micro_test12tests_failedE, align 4, !tbaa !5
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.16)
  store i8 0, ptr @_ZN10micro_test16is_test_completeE, align 1, !tbaa !9
  store i8 0, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %8) #6
  call void @_ZN6tflite19GreedyMemoryPlannerC1Ev(ptr noundef nonnull align 8 dereferenceable(65) %8)
  %231 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner4InitEPhi(ptr noundef nonnull align 8 dereferenceable(65) %8, ptr noundef nonnull @_ZN12_GLOBAL__N_116g_scratch_bufferE, i32 noundef 4096)
          to label %232 unwind label %234

232:                                              ; preds = %.lr.ph1731
  %233 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %8, i32 noundef 10, i32 noundef 0, i32 noundef 1)
          to label %238 unwind label %236

234:                                              ; preds = %.lr.ph1731
  %235 = landingpad { ptr, i32 }
          cleanup
  br label %302

236:                                              ; preds = %232
  %237 = landingpad { ptr, i32 }
          cleanup
  br label %302

238:                                              ; preds = %232
  %.not1696 = icmp eq i32 %233, 0
  br i1 %.not1696, label %243, label %239

239:                                              ; preds = %238
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.2, i32 noundef 93, i32 noundef 0, i32 noundef %233)
          to label %242 unwind label %240

240:                                              ; preds = %239
  %241 = landingpad { ptr, i32 }
          cleanup
  br label %302

242:                                              ; preds = %239
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %243

243:                                              ; preds = %238, %242
  %244 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %8, i32 noundef 20, i32 noundef 2, i32 noundef 3)
          to label %247 unwind label %245

245:                                              ; preds = %243
  %246 = landingpad { ptr, i32 }
          cleanup
  br label %302

247:                                              ; preds = %243
  %.not1699 = icmp eq i32 %244, 0
  br i1 %.not1699, label %252, label %248

248:                                              ; preds = %247
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.2, i32 noundef 94, i32 noundef 0, i32 noundef %244)
          to label %251 unwind label %249

249:                                              ; preds = %248
  %250 = landingpad { ptr, i32 }
          cleanup
  br label %302

251:                                              ; preds = %248
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %252

252:                                              ; preds = %247, %251
  %253 = invoke noundef zeroext i1 @_ZN6tflite19GreedyMemoryPlanner19DoAnyBuffersOverlapEv(ptr noundef nonnull align 8 dereferenceable(65) %8)
          to label %256 unwind label %254

254:                                              ; preds = %252
  %255 = landingpad { ptr, i32 }
          cleanup
  br label %302

256:                                              ; preds = %252
  br i1 %253, label %257, label %261

257:                                              ; preds = %256
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.2, i32 noundef 96, i32 noundef 0, i32 noundef 1)
          to label %260 unwind label %258

258:                                              ; preds = %257
  %259 = landingpad { ptr, i32 }
          cleanup
  br label %302

260:                                              ; preds = %257
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %261

261:                                              ; preds = %256, %260
  %262 = invoke noundef i64 @_ZN6tflite19GreedyMemoryPlanner20GetMaximumMemorySizeEv(ptr noundef nonnull align 8 dereferenceable(65) %8)
          to label %265 unwind label %263

263:                                              ; preds = %261
  %264 = landingpad { ptr, i32 }
          cleanup
  br label %302

265:                                              ; preds = %261
  %.not1704 = icmp eq i64 %262, 20
  br i1 %.not1704, label %271, label %266

266:                                              ; preds = %265
  %267 = trunc i64 %262 to i32
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.2, i32 noundef 99, i32 noundef 20, i32 noundef %267)
          to label %270 unwind label %268

268:                                              ; preds = %266
  %269 = landingpad { ptr, i32 }
          cleanup
  br label %302

270:                                              ; preds = %266
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %271

271:                                              ; preds = %265, %270
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %9) #6
  store i32 -1, ptr %9, align 4, !tbaa !5
  %272 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner18GetOffsetForBufferEiPi(ptr noundef nonnull align 8 dereferenceable(65) %8, i32 noundef 0, ptr noundef nonnull %9)
          to label %275 unwind label %273

273:                                              ; preds = %271
  %274 = landingpad { ptr, i32 }
          cleanup
  br label %301

275:                                              ; preds = %271
  %.not1707 = icmp eq i32 %272, 0
  br i1 %.not1707, label %280, label %276

276:                                              ; preds = %275
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.2, i32 noundef 102, i32 noundef 0, i32 noundef %272)
          to label %279 unwind label %277

277:                                              ; preds = %276
  %278 = landingpad { ptr, i32 }
          cleanup
  br label %301

279:                                              ; preds = %276
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %280

280:                                              ; preds = %275, %279
  %281 = load i32, ptr %9, align 4, !tbaa !5
  %.not1710 = icmp eq i32 %281, 0
  br i1 %.not1710, label %286, label %282

282:                                              ; preds = %280
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.2, i32 noundef 103, i32 noundef 0, i32 noundef %281)
          to label %285 unwind label %283

283:                                              ; preds = %282
  %284 = landingpad { ptr, i32 }
          cleanup
  br label %301

285:                                              ; preds = %282
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %286

286:                                              ; preds = %280, %285
  %287 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner18GetOffsetForBufferEiPi(ptr noundef nonnull align 8 dereferenceable(65) %8, i32 noundef 1, ptr noundef nonnull %9)
          to label %290 unwind label %288

288:                                              ; preds = %286
  %289 = landingpad { ptr, i32 }
          cleanup
  br label %301

290:                                              ; preds = %286
  %.not1711 = icmp eq i32 %287, 0
  br i1 %.not1711, label %295, label %291

291:                                              ; preds = %290
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.2, i32 noundef 105, i32 noundef 0, i32 noundef %287)
          to label %294 unwind label %292

292:                                              ; preds = %291
  %293 = landingpad { ptr, i32 }
          cleanup
  br label %301

294:                                              ; preds = %291
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %295

295:                                              ; preds = %290, %294
  %296 = load i32, ptr %9, align 4, !tbaa !5
  %.not1714 = icmp eq i32 %296, 0
  br i1 %.not1714, label %.lr.ph1734, label %297

297:                                              ; preds = %295
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.2, i32 noundef 106, i32 noundef 0, i32 noundef %296)
          to label %300 unwind label %298

298:                                              ; preds = %297
  %299 = landingpad { ptr, i32 }
          cleanup
  br label %301

300:                                              ; preds = %297
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %.lr.ph1734

301:                                              ; preds = %288, %292, %273, %277, %298, %283
  %.pn1715 = phi { ptr, i32 } [ %299, %298 ], [ %284, %283 ], [ %278, %277 ], [ %274, %273 ], [ %293, %292 ], [ %289, %288 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %9) #6
  br label %302

302:                                              ; preds = %263, %268, %254, %258, %245, %249, %236, %240, %301, %234
  %.pn1715.pn = phi { ptr, i32 } [ %.pn1715, %301 ], [ %235, %234 ], [ %241, %240 ], [ %237, %236 ], [ %250, %249 ], [ %246, %245 ], [ %259, %258 ], [ %255, %254 ], [ %269, %268 ], [ %264, %263 ]
  call void @_ZN6tflite19GreedyMemoryPlannerD1Ev(ptr noundef nonnull align 8 dereferenceable(65) %8) #6
  call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %8) #6
  br label %851

.lr.ph1734:                                       ; preds = %295, %300
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %9) #6
  call void @_ZN6tflite19GreedyMemoryPlannerD1Ev(ptr noundef nonnull align 8 dereferenceable(65) %8) #6
  call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %8) #6
  store i8 1, ptr @_ZN10micro_test16is_test_completeE, align 1, !tbaa !9
  %303 = load i8, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9, !range !13, !noundef !14
  %304 = xor i8 %303, 1
  %not.1719 = zext nneg i8 %304 to i32
  %305 = load i32, ptr @_ZN10micro_test12tests_passedE, align 4, !tbaa !5
  %306 = add nsw i32 %305, %not.1719
  store i32 %306, ptr @_ZN10micro_test12tests_passedE, align 4, !tbaa !5
  %307 = zext nneg i8 %303 to i32
  %308 = load i32, ptr @_ZN10micro_test12tests_failedE, align 4, !tbaa !5
  %309 = add nsw i32 %308, %307
  store i32 %309, ptr @_ZN10micro_test12tests_failedE, align 4, !tbaa !5
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.31)
  store i8 0, ptr @_ZN10micro_test16is_test_completeE, align 1, !tbaa !9
  store i8 0, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %10) #6
  call void @_ZN6tflite19GreedyMemoryPlannerC1Ev(ptr noundef nonnull align 8 dereferenceable(65) %10)
  %310 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner4InitEPhi(ptr noundef nonnull align 8 dereferenceable(65) %10, ptr noundef nonnull @_ZN12_GLOBAL__N_116g_scratch_bufferE, i32 noundef 4096)
          to label %311 unwind label %313

311:                                              ; preds = %.lr.ph1734
  %312 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %10, i32 noundef 10, i32 noundef 0, i32 noundef 1)
          to label %317 unwind label %315

313:                                              ; preds = %.lr.ph1734
  %314 = landingpad { ptr, i32 }
          cleanup
  br label %456

315:                                              ; preds = %311
  %316 = landingpad { ptr, i32 }
          cleanup
  br label %456

317:                                              ; preds = %311
  %.not1653 = icmp eq i32 %312, 0
  br i1 %.not1653, label %322, label %318

318:                                              ; preds = %317
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.2, i32 noundef 112, i32 noundef 0, i32 noundef %312)
          to label %321 unwind label %319

319:                                              ; preds = %318
  %320 = landingpad { ptr, i32 }
          cleanup
  br label %456

321:                                              ; preds = %318
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %322

322:                                              ; preds = %317, %321
  %323 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %10, i32 noundef 20, i32 noundef 1, i32 noundef 2)
          to label %326 unwind label %324

324:                                              ; preds = %322
  %325 = landingpad { ptr, i32 }
          cleanup
  br label %456

326:                                              ; preds = %322
  %.not1656 = icmp eq i32 %323, 0
  br i1 %.not1656, label %331, label %327

327:                                              ; preds = %326
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.2, i32 noundef 113, i32 noundef 0, i32 noundef %323)
          to label %330 unwind label %328

328:                                              ; preds = %327
  %329 = landingpad { ptr, i32 }
          cleanup
  br label %456

330:                                              ; preds = %327
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %331

331:                                              ; preds = %326, %330
  %332 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %10, i32 noundef 30, i32 noundef 2, i32 noundef 3)
          to label %335 unwind label %333

333:                                              ; preds = %331
  %334 = landingpad { ptr, i32 }
          cleanup
  br label %456

335:                                              ; preds = %331
  %.not1659 = icmp eq i32 %332, 0
  br i1 %.not1659, label %340, label %336

336:                                              ; preds = %335
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.2, i32 noundef 114, i32 noundef 0, i32 noundef %332)
          to label %339 unwind label %337

337:                                              ; preds = %336
  %338 = landingpad { ptr, i32 }
          cleanup
  br label %456

339:                                              ; preds = %336
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %340

340:                                              ; preds = %335, %339
  %341 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %10, i32 noundef 40, i32 noundef 3, i32 noundef 4)
          to label %344 unwind label %342

342:                                              ; preds = %340
  %343 = landingpad { ptr, i32 }
          cleanup
  br label %456

344:                                              ; preds = %340
  %.not1662 = icmp eq i32 %341, 0
  br i1 %.not1662, label %349, label %345

345:                                              ; preds = %344
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.2, i32 noundef 115, i32 noundef 0, i32 noundef %341)
          to label %348 unwind label %346

346:                                              ; preds = %345
  %347 = landingpad { ptr, i32 }
          cleanup
  br label %456

348:                                              ; preds = %345
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %349

349:                                              ; preds = %344, %348
  %350 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %10, i32 noundef 50, i32 noundef 0, i32 noundef 1)
          to label %353 unwind label %351

351:                                              ; preds = %349
  %352 = landingpad { ptr, i32 }
          cleanup
  br label %456

353:                                              ; preds = %349
  %.not1665 = icmp eq i32 %350, 0
  br i1 %.not1665, label %358, label %354

354:                                              ; preds = %353
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.2, i32 noundef 116, i32 noundef 0, i32 noundef %350)
          to label %357 unwind label %355

355:                                              ; preds = %354
  %356 = landingpad { ptr, i32 }
          cleanup
  br label %456

357:                                              ; preds = %354
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %358

358:                                              ; preds = %353, %357
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %11) #6
  store i32 -1, ptr %11, align 4, !tbaa !5
  %359 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner18GetOffsetForBufferEiPi(ptr noundef nonnull align 8 dereferenceable(65) %10, i32 noundef 0, ptr noundef nonnull %11)
          to label %362 unwind label %360

360:                                              ; preds = %358
  %361 = landingpad { ptr, i32 }
          cleanup
  br label %455

362:                                              ; preds = %358
  %.not1668 = icmp eq i32 %359, 0
  br i1 %.not1668, label %367, label %363

363:                                              ; preds = %362
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.2, i32 noundef 119, i32 noundef 0, i32 noundef %359)
          to label %366 unwind label %364

364:                                              ; preds = %363
  %365 = landingpad { ptr, i32 }
          cleanup
  br label %455

366:                                              ; preds = %363
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %367

367:                                              ; preds = %362, %366
  %368 = load i32, ptr %11, align 4, !tbaa !5
  %.not1671 = icmp eq i32 %368, 50
  br i1 %.not1671, label %373, label %369

369:                                              ; preds = %367
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.2, i32 noundef 120, i32 noundef 50, i32 noundef %368)
          to label %372 unwind label %370

370:                                              ; preds = %369
  %371 = landingpad { ptr, i32 }
          cleanup
  br label %455

372:                                              ; preds = %369
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %373

373:                                              ; preds = %367, %372
  %374 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner18GetOffsetForBufferEiPi(ptr noundef nonnull align 8 dereferenceable(65) %10, i32 noundef 1, ptr noundef nonnull %11)
          to label %377 unwind label %375

375:                                              ; preds = %373
  %376 = landingpad { ptr, i32 }
          cleanup
  br label %455

377:                                              ; preds = %373
  %.not1672 = icmp eq i32 %374, 0
  br i1 %.not1672, label %382, label %378

378:                                              ; preds = %377
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.2, i32 noundef 122, i32 noundef 0, i32 noundef %374)
          to label %381 unwind label %379

379:                                              ; preds = %378
  %380 = landingpad { ptr, i32 }
          cleanup
  br label %455

381:                                              ; preds = %378
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %382

382:                                              ; preds = %377, %381
  %383 = load i32, ptr %11, align 4, !tbaa !5
  %.not1675 = icmp eq i32 %383, 70
  br i1 %.not1675, label %388, label %384

384:                                              ; preds = %382
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.2, i32 noundef 123, i32 noundef 70, i32 noundef %383)
          to label %387 unwind label %385

385:                                              ; preds = %384
  %386 = landingpad { ptr, i32 }
          cleanup
  br label %455

387:                                              ; preds = %384
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %388

388:                                              ; preds = %382, %387
  %389 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner18GetOffsetForBufferEiPi(ptr noundef nonnull align 8 dereferenceable(65) %10, i32 noundef 2, ptr noundef nonnull %11)
          to label %392 unwind label %390

390:                                              ; preds = %388
  %391 = landingpad { ptr, i32 }
          cleanup
  br label %455

392:                                              ; preds = %388
  %.not1676 = icmp eq i32 %389, 0
  br i1 %.not1676, label %397, label %393

393:                                              ; preds = %392
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.2, i32 noundef 125, i32 noundef 0, i32 noundef %389)
          to label %396 unwind label %394

394:                                              ; preds = %393
  %395 = landingpad { ptr, i32 }
          cleanup
  br label %455

396:                                              ; preds = %393
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %397

397:                                              ; preds = %392, %396
  %398 = load i32, ptr %11, align 4, !tbaa !5
  %.not1679 = icmp eq i32 %398, 40
  br i1 %.not1679, label %403, label %399

399:                                              ; preds = %397
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.2, i32 noundef 126, i32 noundef 40, i32 noundef %398)
          to label %402 unwind label %400

400:                                              ; preds = %399
  %401 = landingpad { ptr, i32 }
          cleanup
  br label %455

402:                                              ; preds = %399
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %403

403:                                              ; preds = %397, %402
  %404 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner18GetOffsetForBufferEiPi(ptr noundef nonnull align 8 dereferenceable(65) %10, i32 noundef 3, ptr noundef nonnull %11)
          to label %407 unwind label %405

405:                                              ; preds = %403
  %406 = landingpad { ptr, i32 }
          cleanup
  br label %455

407:                                              ; preds = %403
  %.not1680 = icmp eq i32 %404, 0
  br i1 %.not1680, label %412, label %408

408:                                              ; preds = %407
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.2, i32 noundef 128, i32 noundef 0, i32 noundef %404)
          to label %411 unwind label %409

409:                                              ; preds = %408
  %410 = landingpad { ptr, i32 }
          cleanup
  br label %455

411:                                              ; preds = %408
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %412

412:                                              ; preds = %407, %411
  %413 = load i32, ptr %11, align 4, !tbaa !5
  %.not1683 = icmp eq i32 %413, 0
  br i1 %.not1683, label %418, label %414

414:                                              ; preds = %412
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.2, i32 noundef 129, i32 noundef 0, i32 noundef %413)
          to label %417 unwind label %415

415:                                              ; preds = %414
  %416 = landingpad { ptr, i32 }
          cleanup
  br label %455

417:                                              ; preds = %414
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %418

418:                                              ; preds = %412, %417
  %419 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner18GetOffsetForBufferEiPi(ptr noundef nonnull align 8 dereferenceable(65) %10, i32 noundef 4, ptr noundef nonnull %11)
          to label %422 unwind label %420

420:                                              ; preds = %418
  %421 = landingpad { ptr, i32 }
          cleanup
  br label %455

422:                                              ; preds = %418
  %.not1684 = icmp eq i32 %419, 0
  br i1 %.not1684, label %427, label %423

423:                                              ; preds = %422
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.2, i32 noundef 131, i32 noundef 0, i32 noundef %419)
          to label %426 unwind label %424

424:                                              ; preds = %423
  %425 = landingpad { ptr, i32 }
          cleanup
  br label %455

426:                                              ; preds = %423
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %427

427:                                              ; preds = %422, %426
  %428 = load i32, ptr %11, align 4, !tbaa !5
  %.not1687 = icmp eq i32 %428, 0
  br i1 %.not1687, label %433, label %429

429:                                              ; preds = %427
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.2, i32 noundef 132, i32 noundef 0, i32 noundef %428)
          to label %432 unwind label %430

430:                                              ; preds = %429
  %431 = landingpad { ptr, i32 }
          cleanup
  br label %455

432:                                              ; preds = %429
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %433

433:                                              ; preds = %427, %432
  invoke void @_ZN6tflite19GreedyMemoryPlanner15PrintMemoryPlanEv(ptr noundef nonnull align 8 dereferenceable(65) %10)
          to label %434 unwind label %436

434:                                              ; preds = %433
  %435 = invoke noundef zeroext i1 @_ZN6tflite19GreedyMemoryPlanner19DoAnyBuffersOverlapEv(ptr noundef nonnull align 8 dereferenceable(65) %10)
          to label %440 unwind label %438

436:                                              ; preds = %433
  %437 = landingpad { ptr, i32 }
          cleanup
  br label %455

438:                                              ; preds = %434
  %439 = landingpad { ptr, i32 }
          cleanup
  br label %455

440:                                              ; preds = %434
  br i1 %435, label %441, label %445

441:                                              ; preds = %440
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.2, i32 noundef 136, i32 noundef 0, i32 noundef 1)
          to label %444 unwind label %442

442:                                              ; preds = %441
  %443 = landingpad { ptr, i32 }
          cleanup
  br label %455

444:                                              ; preds = %441
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %445

445:                                              ; preds = %440, %444
  %446 = invoke noundef i64 @_ZN6tflite19GreedyMemoryPlanner20GetMaximumMemorySizeEv(ptr noundef nonnull align 8 dereferenceable(65) %10)
          to label %449 unwind label %447

447:                                              ; preds = %445
  %448 = landingpad { ptr, i32 }
          cleanup
  br label %455

449:                                              ; preds = %445
  %.not1690 = icmp eq i64 %446, 90
  br i1 %.not1690, label %.lr.ph1737, label %450

450:                                              ; preds = %449
  %451 = trunc i64 %446 to i32
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.53, ptr noundef nonnull @.str.2, i32 noundef 139, i32 noundef 90, i32 noundef %451)
          to label %454 unwind label %452

452:                                              ; preds = %450
  %453 = landingpad { ptr, i32 }
          cleanup
  br label %455

454:                                              ; preds = %450
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %.lr.ph1737

455:                                              ; preds = %447, %452, %438, %442, %420, %424, %405, %409, %390, %394, %375, %379, %360, %364, %436, %430, %415, %400, %385, %370
  %.pn1691.pn = phi { ptr, i32 } [ %437, %436 ], [ %431, %430 ], [ %416, %415 ], [ %401, %400 ], [ %386, %385 ], [ %371, %370 ], [ %365, %364 ], [ %361, %360 ], [ %380, %379 ], [ %376, %375 ], [ %395, %394 ], [ %391, %390 ], [ %410, %409 ], [ %406, %405 ], [ %425, %424 ], [ %421, %420 ], [ %443, %442 ], [ %439, %438 ], [ %453, %452 ], [ %448, %447 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %11) #6
  br label %456

456:                                              ; preds = %351, %355, %342, %346, %333, %337, %324, %328, %315, %319, %455, %313
  %.pn1691.pn.pn = phi { ptr, i32 } [ %.pn1691.pn, %455 ], [ %314, %313 ], [ %320, %319 ], [ %316, %315 ], [ %329, %328 ], [ %325, %324 ], [ %338, %337 ], [ %334, %333 ], [ %347, %346 ], [ %343, %342 ], [ %356, %355 ], [ %352, %351 ]
  call void @_ZN6tflite19GreedyMemoryPlannerD1Ev(ptr noundef nonnull align 8 dereferenceable(65) %10) #6
  call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %10) #6
  br label %851

.lr.ph1737:                                       ; preds = %449, %454
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %11) #6
  call void @_ZN6tflite19GreedyMemoryPlannerD1Ev(ptr noundef nonnull align 8 dereferenceable(65) %10) #6
  call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %10) #6
  store i8 1, ptr @_ZN10micro_test16is_test_completeE, align 1, !tbaa !9
  %457 = load i8, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9, !range !13, !noundef !14
  %458 = xor i8 %457, 1
  %not.1695 = zext nneg i8 %458 to i32
  %459 = load i32, ptr @_ZN10micro_test12tests_passedE, align 4, !tbaa !5
  %460 = add nsw i32 %459, %not.1695
  store i32 %460, ptr @_ZN10micro_test12tests_passedE, align 4, !tbaa !5
  %461 = zext nneg i8 %457 to i32
  %462 = load i32, ptr @_ZN10micro_test12tests_failedE, align 4, !tbaa !5
  %463 = add nsw i32 %462, %461
  store i32 %463, ptr @_ZN10micro_test12tests_failedE, align 4, !tbaa !5
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.54)
  store i8 0, ptr @_ZN10micro_test16is_test_completeE, align 1, !tbaa !9
  store i8 0, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %12) #6
  call void @_ZN6tflite19GreedyMemoryPlannerC1Ev(ptr noundef nonnull align 8 dereferenceable(65) %12)
  %464 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner4InitEPhi(ptr noundef nonnull align 8 dereferenceable(65) %12, ptr noundef nonnull @_ZN12_GLOBAL__N_116g_scratch_bufferE, i32 noundef 4096)
          to label %465 unwind label %467

465:                                              ; preds = %.lr.ph1737
  %466 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %12, i32 noundef 9216, i32 noundef 0, i32 noundef 29)
          to label %471 unwind label %469

467:                                              ; preds = %751, %747, %737, %.lr.ph1737
  %468 = landingpad { ptr, i32 }
          cleanup
  br label %753

469:                                              ; preds = %465
  %470 = landingpad { ptr, i32 }
          cleanup
  br label %753

471:                                              ; preds = %465
  %.not1558 = icmp eq i32 %466, 0
  br i1 %.not1558, label %476, label %472

472:                                              ; preds = %471
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.2, i32 noundef 147, i32 noundef 0, i32 noundef %466)
          to label %475 unwind label %473

473:                                              ; preds = %472
  %474 = landingpad { ptr, i32 }
          cleanup
  br label %753

475:                                              ; preds = %472
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %476

476:                                              ; preds = %471, %475
  %477 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %12, i32 noundef 3, i32 noundef 28, i32 noundef 29)
          to label %480 unwind label %478

478:                                              ; preds = %476
  %479 = landingpad { ptr, i32 }
          cleanup
  br label %753

480:                                              ; preds = %476
  %.not1561 = icmp eq i32 %477, 0
  br i1 %.not1561, label %485, label %481

481:                                              ; preds = %480
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.2, i32 noundef 148, i32 noundef 0, i32 noundef %477)
          to label %484 unwind label %482

482:                                              ; preds = %481
  %483 = landingpad { ptr, i32 }
          cleanup
  br label %753

484:                                              ; preds = %481
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %485

485:                                              ; preds = %480, %484
  %486 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %12, i32 noundef 256, i32 noundef 27, i32 noundef 28)
          to label %489 unwind label %487

487:                                              ; preds = %485
  %488 = landingpad { ptr, i32 }
          cleanup
  br label %753

489:                                              ; preds = %485
  %.not1564 = icmp eq i32 %486, 0
  br i1 %.not1564, label %494, label %490

490:                                              ; preds = %489
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.2, i32 noundef 149, i32 noundef 0, i32 noundef %486)
          to label %493 unwind label %491

491:                                              ; preds = %490
  %492 = landingpad { ptr, i32 }
          cleanup
  br label %753

493:                                              ; preds = %490
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %494

494:                                              ; preds = %489, %493
  %495 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %12, i32 noundef 2304, i32 noundef 26, i32 noundef 27)
          to label %498 unwind label %496

496:                                              ; preds = %494
  %497 = landingpad { ptr, i32 }
          cleanup
  br label %753

498:                                              ; preds = %494
  %.not1567 = icmp eq i32 %495, 0
  br i1 %.not1567, label %503, label %499

499:                                              ; preds = %498
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.2, i32 noundef 150, i32 noundef 0, i32 noundef %495)
          to label %502 unwind label %500

500:                                              ; preds = %499
  %501 = landingpad { ptr, i32 }
          cleanup
  br label %753

502:                                              ; preds = %499
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %503

503:                                              ; preds = %498, %502
  %504 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %12, i32 noundef 2304, i32 noundef 25, i32 noundef 26)
          to label %507 unwind label %505

505:                                              ; preds = %503
  %506 = landingpad { ptr, i32 }
          cleanup
  br label %753

507:                                              ; preds = %503
  %.not1570 = icmp eq i32 %504, 0
  br i1 %.not1570, label %512, label %508

508:                                              ; preds = %507
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.64, ptr noundef nonnull @.str.2, i32 noundef 151, i32 noundef 0, i32 noundef %504)
          to label %511 unwind label %509

509:                                              ; preds = %508
  %510 = landingpad { ptr, i32 }
          cleanup
  br label %753

511:                                              ; preds = %508
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %512

512:                                              ; preds = %507, %511
  %513 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %12, i32 noundef 2304, i32 noundef 24, i32 noundef 25)
          to label %516 unwind label %514

514:                                              ; preds = %512
  %515 = landingpad { ptr, i32 }
          cleanup
  br label %753

516:                                              ; preds = %512
  %.not1573 = icmp eq i32 %513, 0
  br i1 %.not1573, label %521, label %517

517:                                              ; preds = %516
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.66, ptr noundef nonnull @.str.2, i32 noundef 152, i32 noundef 0, i32 noundef %513)
          to label %520 unwind label %518

518:                                              ; preds = %517
  %519 = landingpad { ptr, i32 }
          cleanup
  br label %753

520:                                              ; preds = %517
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %521

521:                                              ; preds = %516, %520
  %522 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %12, i32 noundef 1152, i32 noundef 23, i32 noundef 24)
          to label %525 unwind label %523

523:                                              ; preds = %521
  %524 = landingpad { ptr, i32 }
          cleanup
  br label %753

525:                                              ; preds = %521
  %.not1576 = icmp eq i32 %522, 0
  br i1 %.not1576, label %530, label %526

526:                                              ; preds = %525
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.68, ptr noundef nonnull @.str.2, i32 noundef 153, i32 noundef 0, i32 noundef %522)
          to label %529 unwind label %527

527:                                              ; preds = %526
  %528 = landingpad { ptr, i32 }
          cleanup
  br label %753

529:                                              ; preds = %526
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %530

530:                                              ; preds = %525, %529
  %531 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %12, i32 noundef 4608, i32 noundef 22, i32 noundef 23)
          to label %534 unwind label %532

532:                                              ; preds = %530
  %533 = landingpad { ptr, i32 }
          cleanup
  br label %753

534:                                              ; preds = %530
  %.not1579 = icmp eq i32 %531, 0
  br i1 %.not1579, label %539, label %535

535:                                              ; preds = %534
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.70, ptr noundef nonnull @.str.2, i32 noundef 154, i32 noundef 0, i32 noundef %531)
          to label %538 unwind label %536

536:                                              ; preds = %535
  %537 = landingpad { ptr, i32 }
          cleanup
  br label %753

538:                                              ; preds = %535
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %539

539:                                              ; preds = %534, %538
  %540 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %12, i32 noundef 4608, i32 noundef 21, i32 noundef 22)
          to label %543 unwind label %541

541:                                              ; preds = %539
  %542 = landingpad { ptr, i32 }
          cleanup
  br label %753

543:                                              ; preds = %539
  %.not1582 = icmp eq i32 %540, 0
  br i1 %.not1582, label %548, label %544

544:                                              ; preds = %543
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.72, ptr noundef nonnull @.str.2, i32 noundef 155, i32 noundef 0, i32 noundef %540)
          to label %547 unwind label %545

545:                                              ; preds = %544
  %546 = landingpad { ptr, i32 }
          cleanup
  br label %753

547:                                              ; preds = %544
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %548

548:                                              ; preds = %543, %547
  %549 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %12, i32 noundef 4608, i32 noundef 20, i32 noundef 21)
          to label %552 unwind label %550

550:                                              ; preds = %548
  %551 = landingpad { ptr, i32 }
          cleanup
  br label %753

552:                                              ; preds = %548
  %.not1585 = icmp eq i32 %549, 0
  br i1 %.not1585, label %557, label %553

553:                                              ; preds = %552
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.74, ptr noundef nonnull @.str.2, i32 noundef 156, i32 noundef 0, i32 noundef %549)
          to label %556 unwind label %554

554:                                              ; preds = %553
  %555 = landingpad { ptr, i32 }
          cleanup
  br label %753

556:                                              ; preds = %553
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %557

557:                                              ; preds = %552, %556
  %558 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %12, i32 noundef 4608, i32 noundef 19, i32 noundef 20)
          to label %561 unwind label %559

559:                                              ; preds = %557
  %560 = landingpad { ptr, i32 }
          cleanup
  br label %753

561:                                              ; preds = %557
  %.not1588 = icmp eq i32 %558, 0
  br i1 %.not1588, label %566, label %562

562:                                              ; preds = %561
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.2, i32 noundef 157, i32 noundef 0, i32 noundef %558)
          to label %565 unwind label %563

563:                                              ; preds = %562
  %564 = landingpad { ptr, i32 }
          cleanup
  br label %753

565:                                              ; preds = %562
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %566

566:                                              ; preds = %561, %565
  %567 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %12, i32 noundef 4608, i32 noundef 18, i32 noundef 19)
          to label %570 unwind label %568

568:                                              ; preds = %566
  %569 = landingpad { ptr, i32 }
          cleanup
  br label %753

570:                                              ; preds = %566
  %.not1591 = icmp eq i32 %567, 0
  br i1 %.not1591, label %575, label %571

571:                                              ; preds = %570
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.2, i32 noundef 158, i32 noundef 0, i32 noundef %567)
          to label %574 unwind label %572

572:                                              ; preds = %571
  %573 = landingpad { ptr, i32 }
          cleanup
  br label %753

574:                                              ; preds = %571
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %575

575:                                              ; preds = %570, %574
  %576 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %12, i32 noundef 4608, i32 noundef 17, i32 noundef 18)
          to label %579 unwind label %577

577:                                              ; preds = %575
  %578 = landingpad { ptr, i32 }
          cleanup
  br label %753

579:                                              ; preds = %575
  %.not1594 = icmp eq i32 %576, 0
  br i1 %.not1594, label %584, label %580

580:                                              ; preds = %579
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.2, i32 noundef 159, i32 noundef 0, i32 noundef %576)
          to label %583 unwind label %581

581:                                              ; preds = %580
  %582 = landingpad { ptr, i32 }
          cleanup
  br label %753

583:                                              ; preds = %580
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %584

584:                                              ; preds = %579, %583
  %585 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %12, i32 noundef 4608, i32 noundef 16, i32 noundef 17)
          to label %588 unwind label %586

586:                                              ; preds = %584
  %587 = landingpad { ptr, i32 }
          cleanup
  br label %753

588:                                              ; preds = %584
  %.not1597 = icmp eq i32 %585, 0
  br i1 %.not1597, label %593, label %589

589:                                              ; preds = %588
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.2, i32 noundef 160, i32 noundef 0, i32 noundef %585)
          to label %592 unwind label %590

590:                                              ; preds = %589
  %591 = landingpad { ptr, i32 }
          cleanup
  br label %753

592:                                              ; preds = %589
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %593

593:                                              ; preds = %588, %592
  %594 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %12, i32 noundef 4608, i32 noundef 15, i32 noundef 16)
          to label %597 unwind label %595

595:                                              ; preds = %593
  %596 = landingpad { ptr, i32 }
          cleanup
  br label %753

597:                                              ; preds = %593
  %.not1600 = icmp eq i32 %594, 0
  br i1 %.not1600, label %602, label %598

598:                                              ; preds = %597
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.84, ptr noundef nonnull @.str.2, i32 noundef 161, i32 noundef 0, i32 noundef %594)
          to label %601 unwind label %599

599:                                              ; preds = %598
  %600 = landingpad { ptr, i32 }
          cleanup
  br label %753

601:                                              ; preds = %598
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %602

602:                                              ; preds = %597, %601
  %603 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %12, i32 noundef 4608, i32 noundef 14, i32 noundef 15)
          to label %606 unwind label %604

604:                                              ; preds = %602
  %605 = landingpad { ptr, i32 }
          cleanup
  br label %753

606:                                              ; preds = %602
  %.not1603 = icmp eq i32 %603, 0
  br i1 %.not1603, label %611, label %607

607:                                              ; preds = %606
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.2, i32 noundef 162, i32 noundef 0, i32 noundef %603)
          to label %610 unwind label %608

608:                                              ; preds = %607
  %609 = landingpad { ptr, i32 }
          cleanup
  br label %753

610:                                              ; preds = %607
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %611

611:                                              ; preds = %606, %610
  %612 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %12, i32 noundef 4608, i32 noundef 13, i32 noundef 14)
          to label %615 unwind label %613

613:                                              ; preds = %611
  %614 = landingpad { ptr, i32 }
          cleanup
  br label %753

615:                                              ; preds = %611
  %.not1606 = icmp eq i32 %612, 0
  br i1 %.not1606, label %620, label %616

616:                                              ; preds = %615
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.88, ptr noundef nonnull @.str.2, i32 noundef 163, i32 noundef 0, i32 noundef %612)
          to label %619 unwind label %617

617:                                              ; preds = %616
  %618 = landingpad { ptr, i32 }
          cleanup
  br label %753

619:                                              ; preds = %616
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %620

620:                                              ; preds = %615, %619
  %621 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %12, i32 noundef 4608, i32 noundef 12, i32 noundef 13)
          to label %624 unwind label %622

622:                                              ; preds = %620
  %623 = landingpad { ptr, i32 }
          cleanup
  br label %753

624:                                              ; preds = %620
  %.not1609 = icmp eq i32 %621, 0
  br i1 %.not1609, label %629, label %625

625:                                              ; preds = %624
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.90, ptr noundef nonnull @.str.2, i32 noundef 164, i32 noundef 0, i32 noundef %621)
          to label %628 unwind label %626

626:                                              ; preds = %625
  %627 = landingpad { ptr, i32 }
          cleanup
  br label %753

628:                                              ; preds = %625
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %629

629:                                              ; preds = %624, %628
  %630 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %12, i32 noundef 2304, i32 noundef 11, i32 noundef 12)
          to label %633 unwind label %631

631:                                              ; preds = %629
  %632 = landingpad { ptr, i32 }
          cleanup
  br label %753

633:                                              ; preds = %629
  %.not1612 = icmp eq i32 %630, 0
  br i1 %.not1612, label %638, label %634

634:                                              ; preds = %633
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.92, ptr noundef nonnull @.str.2, i32 noundef 165, i32 noundef 0, i32 noundef %630)
          to label %637 unwind label %635

635:                                              ; preds = %634
  %636 = landingpad { ptr, i32 }
          cleanup
  br label %753

637:                                              ; preds = %634
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %638

638:                                              ; preds = %633, %637
  %639 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %12, i32 noundef 9216, i32 noundef 10, i32 noundef 11)
          to label %642 unwind label %640

640:                                              ; preds = %638
  %641 = landingpad { ptr, i32 }
          cleanup
  br label %753

642:                                              ; preds = %638
  %.not1615 = icmp eq i32 %639, 0
  br i1 %.not1615, label %647, label %643

643:                                              ; preds = %642
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.94, ptr noundef nonnull @.str.2, i32 noundef 166, i32 noundef 0, i32 noundef %639)
          to label %646 unwind label %644

644:                                              ; preds = %643
  %645 = landingpad { ptr, i32 }
          cleanup
  br label %753

646:                                              ; preds = %643
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %647

647:                                              ; preds = %642, %646
  %648 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %12, i32 noundef 9216, i32 noundef 9, i32 noundef 10)
          to label %651 unwind label %649

649:                                              ; preds = %647
  %650 = landingpad { ptr, i32 }
          cleanup
  br label %753

651:                                              ; preds = %647
  %.not1618 = icmp eq i32 %648, 0
  br i1 %.not1618, label %656, label %652

652:                                              ; preds = %651
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.96, ptr noundef nonnull @.str.2, i32 noundef 167, i32 noundef 0, i32 noundef %648)
          to label %655 unwind label %653

653:                                              ; preds = %652
  %654 = landingpad { ptr, i32 }
          cleanup
  br label %753

655:                                              ; preds = %652
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %656

656:                                              ; preds = %651, %655
  %657 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %12, i32 noundef 9216, i32 noundef 8, i32 noundef 9)
          to label %660 unwind label %658

658:                                              ; preds = %656
  %659 = landingpad { ptr, i32 }
          cleanup
  br label %753

660:                                              ; preds = %656
  %.not1621 = icmp eq i32 %657, 0
  br i1 %.not1621, label %665, label %661

661:                                              ; preds = %660
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.98, ptr noundef nonnull @.str.2, i32 noundef 168, i32 noundef 0, i32 noundef %657)
          to label %664 unwind label %662

662:                                              ; preds = %661
  %663 = landingpad { ptr, i32 }
          cleanup
  br label %753

664:                                              ; preds = %661
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %665

665:                                              ; preds = %660, %664
  %666 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %12, i32 noundef 4608, i32 noundef 7, i32 noundef 8)
          to label %669 unwind label %667

667:                                              ; preds = %665
  %668 = landingpad { ptr, i32 }
          cleanup
  br label %753

669:                                              ; preds = %665
  %.not1624 = icmp eq i32 %666, 0
  br i1 %.not1624, label %674, label %670

670:                                              ; preds = %669
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.100, ptr noundef nonnull @.str.2, i32 noundef 169, i32 noundef 0, i32 noundef %666)
          to label %673 unwind label %671

671:                                              ; preds = %670
  %672 = landingpad { ptr, i32 }
          cleanup
  br label %753

673:                                              ; preds = %670
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %674

674:                                              ; preds = %669, %673
  %675 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %12, i32 noundef 18432, i32 noundef 6, i32 noundef 7)
          to label %678 unwind label %676

676:                                              ; preds = %674
  %677 = landingpad { ptr, i32 }
          cleanup
  br label %753

678:                                              ; preds = %674
  %.not1627 = icmp eq i32 %675, 0
  br i1 %.not1627, label %683, label %679

679:                                              ; preds = %678
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.102, ptr noundef nonnull @.str.2, i32 noundef 170, i32 noundef 0, i32 noundef %675)
          to label %682 unwind label %680

680:                                              ; preds = %679
  %681 = landingpad { ptr, i32 }
          cleanup
  br label %753

682:                                              ; preds = %679
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %683

683:                                              ; preds = %678, %682
  %684 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %12, i32 noundef 18432, i32 noundef 5, i32 noundef 6)
          to label %687 unwind label %685

685:                                              ; preds = %683
  %686 = landingpad { ptr, i32 }
          cleanup
  br label %753

687:                                              ; preds = %683
  %.not1630 = icmp eq i32 %684, 0
  br i1 %.not1630, label %692, label %688

688:                                              ; preds = %687
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.104, ptr noundef nonnull @.str.2, i32 noundef 171, i32 noundef 0, i32 noundef %684)
          to label %691 unwind label %689

689:                                              ; preds = %688
  %690 = landingpad { ptr, i32 }
          cleanup
  br label %753

691:                                              ; preds = %688
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %692

692:                                              ; preds = %687, %691
  %693 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %12, i32 noundef 18432, i32 noundef 4, i32 noundef 5)
          to label %696 unwind label %694

694:                                              ; preds = %692
  %695 = landingpad { ptr, i32 }
          cleanup
  br label %753

696:                                              ; preds = %692
  %.not1633 = icmp eq i32 %693, 0
  br i1 %.not1633, label %701, label %697

697:                                              ; preds = %696
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.106, ptr noundef nonnull @.str.2, i32 noundef 172, i32 noundef 0, i32 noundef %693)
          to label %700 unwind label %698

698:                                              ; preds = %697
  %699 = landingpad { ptr, i32 }
          cleanup
  br label %753

700:                                              ; preds = %697
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %701

701:                                              ; preds = %696, %700
  %702 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %12, i32 noundef 9216, i32 noundef 3, i32 noundef 4)
          to label %705 unwind label %703

703:                                              ; preds = %701
  %704 = landingpad { ptr, i32 }
          cleanup
  br label %753

705:                                              ; preds = %701
  %.not1636 = icmp eq i32 %702, 0
  br i1 %.not1636, label %710, label %706

706:                                              ; preds = %705
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.108, ptr noundef nonnull @.str.2, i32 noundef 173, i32 noundef 0, i32 noundef %702)
          to label %709 unwind label %707

707:                                              ; preds = %706
  %708 = landingpad { ptr, i32 }
          cleanup
  br label %753

709:                                              ; preds = %706
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %710

710:                                              ; preds = %705, %709
  %711 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %12, i32 noundef 36864, i32 noundef 2, i32 noundef 3)
          to label %714 unwind label %712

712:                                              ; preds = %710
  %713 = landingpad { ptr, i32 }
          cleanup
  br label %753

714:                                              ; preds = %710
  %.not1639 = icmp eq i32 %711, 0
  br i1 %.not1639, label %719, label %715

715:                                              ; preds = %714
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.110, ptr noundef nonnull @.str.2, i32 noundef 174, i32 noundef 0, i32 noundef %711)
          to label %718 unwind label %716

716:                                              ; preds = %715
  %717 = landingpad { ptr, i32 }
          cleanup
  br label %753

718:                                              ; preds = %715
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %719

719:                                              ; preds = %714, %718
  %720 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %12, i32 noundef 18432, i32 noundef 1, i32 noundef 2)
          to label %723 unwind label %721

721:                                              ; preds = %719
  %722 = landingpad { ptr, i32 }
          cleanup
  br label %753

723:                                              ; preds = %719
  %.not1642 = icmp eq i32 %720, 0
  br i1 %.not1642, label %728, label %724

724:                                              ; preds = %723
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.112, ptr noundef nonnull @.str.2, i32 noundef 175, i32 noundef 0, i32 noundef %720)
          to label %727 unwind label %725

725:                                              ; preds = %724
  %726 = landingpad { ptr, i32 }
          cleanup
  br label %753

727:                                              ; preds = %724
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %728

728:                                              ; preds = %723, %727
  %729 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %12, i32 noundef 18432, i32 noundef 0, i32 noundef 1)
          to label %732 unwind label %730

730:                                              ; preds = %728
  %731 = landingpad { ptr, i32 }
          cleanup
  br label %753

732:                                              ; preds = %728
  %.not1645 = icmp eq i32 %729, 0
  br i1 %.not1645, label %737, label %733

733:                                              ; preds = %732
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.114, ptr noundef nonnull @.str.2, i32 noundef 176, i32 noundef 0, i32 noundef %729)
          to label %736 unwind label %734

734:                                              ; preds = %733
  %735 = landingpad { ptr, i32 }
          cleanup
  br label %753

736:                                              ; preds = %733
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %737

737:                                              ; preds = %732, %736
  invoke void @_ZN6tflite19GreedyMemoryPlanner15PrintMemoryPlanEv(ptr noundef nonnull align 8 dereferenceable(65) %12)
          to label %738 unwind label %467

738:                                              ; preds = %737
  %739 = invoke noundef zeroext i1 @_ZN6tflite19GreedyMemoryPlanner19DoAnyBuffersOverlapEv(ptr noundef nonnull align 8 dereferenceable(65) %12)
          to label %742 unwind label %740

740:                                              ; preds = %738
  %741 = landingpad { ptr, i32 }
          cleanup
  br label %753

742:                                              ; preds = %738
  br i1 %739, label %743, label %747

743:                                              ; preds = %742
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.2, i32 noundef 180, i32 noundef 0, i32 noundef 1)
          to label %746 unwind label %744

744:                                              ; preds = %743
  %745 = landingpad { ptr, i32 }
          cleanup
  br label %753

746:                                              ; preds = %743
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %747

747:                                              ; preds = %742, %746
  %748 = invoke noundef i64 @_ZN6tflite19GreedyMemoryPlanner20GetMaximumMemorySizeEv(ptr noundef nonnull align 8 dereferenceable(65) %12)
          to label %749 unwind label %467

749:                                              ; preds = %747
  %750 = icmp ugt i64 %748, 241026
  br i1 %750, label %751, label %.lr.ph1740

751:                                              ; preds = %749
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.115, ptr noundef nonnull @.str.2, i32 noundef 185)
          to label %752 unwind label %467

752:                                              ; preds = %751
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %.lr.ph1740

753:                                              ; preds = %740, %744, %730, %734, %721, %725, %712, %716, %703, %707, %694, %698, %685, %689, %676, %680, %667, %671, %658, %662, %649, %653, %640, %644, %631, %635, %622, %626, %613, %617, %604, %608, %595, %599, %586, %590, %577, %581, %568, %572, %559, %563, %550, %554, %541, %545, %532, %536, %523, %527, %514, %518, %505, %509, %496, %500, %487, %491, %478, %482, %469, %473, %467
  %.pn1650 = phi { ptr, i32 } [ %468, %467 ], [ %474, %473 ], [ %470, %469 ], [ %483, %482 ], [ %479, %478 ], [ %492, %491 ], [ %488, %487 ], [ %501, %500 ], [ %497, %496 ], [ %510, %509 ], [ %506, %505 ], [ %519, %518 ], [ %515, %514 ], [ %528, %527 ], [ %524, %523 ], [ %537, %536 ], [ %533, %532 ], [ %546, %545 ], [ %542, %541 ], [ %555, %554 ], [ %551, %550 ], [ %564, %563 ], [ %560, %559 ], [ %573, %572 ], [ %569, %568 ], [ %582, %581 ], [ %578, %577 ], [ %591, %590 ], [ %587, %586 ], [ %600, %599 ], [ %596, %595 ], [ %609, %608 ], [ %605, %604 ], [ %618, %617 ], [ %614, %613 ], [ %627, %626 ], [ %623, %622 ], [ %636, %635 ], [ %632, %631 ], [ %645, %644 ], [ %641, %640 ], [ %654, %653 ], [ %650, %649 ], [ %663, %662 ], [ %659, %658 ], [ %672, %671 ], [ %668, %667 ], [ %681, %680 ], [ %677, %676 ], [ %690, %689 ], [ %686, %685 ], [ %699, %698 ], [ %695, %694 ], [ %708, %707 ], [ %704, %703 ], [ %717, %716 ], [ %713, %712 ], [ %726, %725 ], [ %722, %721 ], [ %735, %734 ], [ %731, %730 ], [ %745, %744 ], [ %741, %740 ]
  call void @_ZN6tflite19GreedyMemoryPlannerD1Ev(ptr noundef nonnull align 8 dereferenceable(65) %12) #6
  call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %12) #6
  br label %851

.lr.ph1740:                                       ; preds = %752, %749
  call void @_ZN6tflite19GreedyMemoryPlannerD1Ev(ptr noundef nonnull align 8 dereferenceable(65) %12) #6
  call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %12) #6
  store i8 1, ptr @_ZN10micro_test16is_test_completeE, align 1, !tbaa !9
  %754 = load i8, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9, !range !13, !noundef !14
  %755 = xor i8 %754, 1
  %not.1652 = zext nneg i8 %755 to i32
  %756 = load i32, ptr @_ZN10micro_test12tests_passedE, align 4, !tbaa !5
  %757 = add nsw i32 %756, %not.1652
  store i32 %757, ptr @_ZN10micro_test12tests_passedE, align 4, !tbaa !5
  %758 = zext nneg i8 %754 to i32
  %759 = load i32, ptr @_ZN10micro_test12tests_failedE, align 4, !tbaa !5
  %760 = add nsw i32 %759, %758
  store i32 %760, ptr @_ZN10micro_test12tests_failedE, align 4, !tbaa !5
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.116)
  store i8 0, ptr @_ZN10micro_test16is_test_completeE, align 1, !tbaa !9
  store i8 0, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %13) #6
  call void @_ZN6tflite19GreedyMemoryPlannerC1Ev(ptr noundef nonnull align 8 dereferenceable(65) %13)
  %761 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner4InitEPhi(ptr noundef nonnull align 8 dereferenceable(65) %13, ptr noundef nonnull @_ZN12_GLOBAL__N_116g_scratch_bufferE, i32 noundef 4096)
          to label %762 unwind label %764

762:                                              ; preds = %.lr.ph1740
  %763 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %13, i32 noundef 100, i32 noundef 0, i32 noundef 1)
          to label %768 unwind label %766

764:                                              ; preds = %791, %.lr.ph1740
  %765 = landingpad { ptr, i32 }
          cleanup
  br label %811

766:                                              ; preds = %762
  %767 = landingpad { ptr, i32 }
          cleanup
  br label %811

768:                                              ; preds = %762
  %.not1542 = icmp eq i32 %763, 0
  br i1 %.not1542, label %773, label %769

769:                                              ; preds = %768
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.118, ptr noundef nonnull @.str.2, i32 noundef 191, i32 noundef 0, i32 noundef %763)
          to label %772 unwind label %770

770:                                              ; preds = %769
  %771 = landingpad { ptr, i32 }
          cleanup
  br label %811

772:                                              ; preds = %769
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %773

773:                                              ; preds = %768, %772
  %774 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %13, i32 noundef 50, i32 noundef 2, i32 noundef 3)
          to label %777 unwind label %775

775:                                              ; preds = %773
  %776 = landingpad { ptr, i32 }
          cleanup
  br label %811

777:                                              ; preds = %773
  %.not1545 = icmp eq i32 %774, 0
  br i1 %.not1545, label %782, label %778

778:                                              ; preds = %777
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.120, ptr noundef nonnull @.str.2, i32 noundef 192, i32 noundef 0, i32 noundef %774)
          to label %781 unwind label %779

779:                                              ; preds = %778
  %780 = landingpad { ptr, i32 }
          cleanup
  br label %811

781:                                              ; preds = %778
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %782

782:                                              ; preds = %777, %781
  %783 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %13, i32 noundef 20, i32 noundef 1, i32 noundef 2)
          to label %786 unwind label %784

784:                                              ; preds = %782
  %785 = landingpad { ptr, i32 }
          cleanup
  br label %811

786:                                              ; preds = %782
  %.not1548 = icmp eq i32 %783, 0
  br i1 %.not1548, label %791, label %787

787:                                              ; preds = %786
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.2, i32 noundef 193, i32 noundef 0, i32 noundef %783)
          to label %790 unwind label %788

788:                                              ; preds = %787
  %789 = landingpad { ptr, i32 }
          cleanup
  br label %811

790:                                              ; preds = %787
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %791

791:                                              ; preds = %786, %790
  invoke void @_ZN6tflite19GreedyMemoryPlanner15PrintMemoryPlanEv(ptr noundef nonnull align 8 dereferenceable(65) %13)
          to label %792 unwind label %764

792:                                              ; preds = %791
  %793 = invoke noundef zeroext i1 @_ZN6tflite19GreedyMemoryPlanner19DoAnyBuffersOverlapEv(ptr noundef nonnull align 8 dereferenceable(65) %13)
          to label %796 unwind label %794

794:                                              ; preds = %792
  %795 = landingpad { ptr, i32 }
          cleanup
  br label %811

796:                                              ; preds = %792
  br i1 %793, label %797, label %801

797:                                              ; preds = %796
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.2, i32 noundef 197, i32 noundef 0, i32 noundef 1)
          to label %800 unwind label %798

798:                                              ; preds = %797
  %799 = landingpad { ptr, i32 }
          cleanup
  br label %811

800:                                              ; preds = %797
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %801

801:                                              ; preds = %796, %800
  %802 = invoke noundef i64 @_ZN6tflite19GreedyMemoryPlanner20GetMaximumMemorySizeEv(ptr noundef nonnull align 8 dereferenceable(65) %13)
          to label %805 unwind label %803

803:                                              ; preds = %801
  %804 = landingpad { ptr, i32 }
          cleanup
  br label %811

805:                                              ; preds = %801
  %.not1553 = icmp eq i64 %802, 120
  br i1 %.not1553, label %.lr.ph1743, label %806

806:                                              ; preds = %805
  %807 = trunc i64 %802 to i32
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.122, ptr noundef nonnull @.str.2, i32 noundef 200, i32 noundef 120, i32 noundef %807)
          to label %810 unwind label %808

808:                                              ; preds = %806
  %809 = landingpad { ptr, i32 }
          cleanup
  br label %811

810:                                              ; preds = %806
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %.lr.ph1743

811:                                              ; preds = %803, %808, %794, %798, %784, %788, %775, %779, %766, %770, %764
  %.pn1554.pn = phi { ptr, i32 } [ %765, %764 ], [ %771, %770 ], [ %767, %766 ], [ %780, %779 ], [ %776, %775 ], [ %789, %788 ], [ %785, %784 ], [ %799, %798 ], [ %795, %794 ], [ %809, %808 ], [ %804, %803 ]
  call void @_ZN6tflite19GreedyMemoryPlannerD1Ev(ptr noundef nonnull align 8 dereferenceable(65) %13) #6
  call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %13) #6
  br label %851

.lr.ph1743:                                       ; preds = %805, %810
  call void @_ZN6tflite19GreedyMemoryPlannerD1Ev(ptr noundef nonnull align 8 dereferenceable(65) %13) #6
  call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %13) #6
  store i8 1, ptr @_ZN10micro_test16is_test_completeE, align 1, !tbaa !9
  %812 = load i8, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9, !range !13, !noundef !14
  %813 = xor i8 %812, 1
  %not.1557 = zext nneg i8 %813 to i32
  %814 = load i32, ptr @_ZN10micro_test12tests_passedE, align 4, !tbaa !5
  %815 = add nsw i32 %814, %not.1557
  store i32 %815, ptr @_ZN10micro_test12tests_passedE, align 4, !tbaa !5
  %816 = zext nneg i8 %812 to i32
  %817 = load i32, ptr @_ZN10micro_test12tests_failedE, align 4, !tbaa !5
  %818 = add nsw i32 %817, %816
  store i32 %818, ptr @_ZN10micro_test12tests_failedE, align 4, !tbaa !5
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.123)
  store i8 0, ptr @_ZN10micro_test16is_test_completeE, align 1, !tbaa !9
  store i8 0, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %14) #6
  call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %15) #6
  call void @_ZN6tflite19GreedyMemoryPlannerC1Ev(ptr noundef nonnull align 8 dereferenceable(65) %15)
  %819 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner4InitEPhi(ptr noundef nonnull align 8 dereferenceable(65) %15, ptr noundef nonnull %14, i32 noundef 40)
          to label %820 unwind label %822

820:                                              ; preds = %.lr.ph1743
  %821 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %15, i32 noundef 100, i32 noundef 0, i32 noundef 1)
          to label %826 unwind label %824

822:                                              ; preds = %.lr.ph1743
  %823 = landingpad { ptr, i32 }
          cleanup
  br label %840

824:                                              ; preds = %820
  %825 = landingpad { ptr, i32 }
          cleanup
  br label %840

826:                                              ; preds = %820
  %.not = icmp eq i32 %821, 0
  br i1 %.not, label %831, label %827

827:                                              ; preds = %826
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.118, ptr noundef nonnull @.str.2, i32 noundef 208, i32 noundef 0, i32 noundef %821)
          to label %830 unwind label %828

828:                                              ; preds = %827
  %829 = landingpad { ptr, i32 }
          cleanup
  br label %840

830:                                              ; preds = %827
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %831

831:                                              ; preds = %826, %830
  %832 = invoke noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65) %15, i32 noundef 50, i32 noundef 2, i32 noundef 3)
          to label %835 unwind label %833

833:                                              ; preds = %831
  %834 = landingpad { ptr, i32 }
          cleanup
  br label %840

835:                                              ; preds = %831
  %.not1538 = icmp eq i32 %832, 1
  br i1 %.not1538, label %._crit_edge1744, label %836

836:                                              ; preds = %835
  invoke void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.125, ptr noundef nonnull @.str.2, i32 noundef 209, i32 noundef 1, i32 noundef %832)
          to label %839 unwind label %837

837:                                              ; preds = %836
  %838 = landingpad { ptr, i32 }
          cleanup
  br label %840

839:                                              ; preds = %836
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9
  br label %._crit_edge1744

840:                                              ; preds = %833, %837, %824, %828, %822
  %.pn1539.pn = phi { ptr, i32 } [ %823, %822 ], [ %829, %828 ], [ %825, %824 ], [ %838, %837 ], [ %834, %833 ]
  call void @_ZN6tflite19GreedyMemoryPlannerD1Ev(ptr noundef nonnull align 8 dereferenceable(65) %15) #6
  call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %15) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %14) #6
  br label %851

._crit_edge1744:                                  ; preds = %835, %839
  call void @_ZN6tflite19GreedyMemoryPlannerD1Ev(ptr noundef nonnull align 8 dereferenceable(65) %15) #6
  call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %15) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %14) #6
  store i8 1, ptr @_ZN10micro_test16is_test_completeE, align 1, !tbaa !9
  %841 = load i8, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !9, !range !13, !noundef !14
  %842 = xor i8 %841, 1
  %not. = zext nneg i8 %842 to i32
  %843 = load i32, ptr @_ZN10micro_test12tests_passedE, align 4, !tbaa !5
  %844 = add nsw i32 %843, %not.
  store i32 %844, ptr @_ZN10micro_test12tests_passedE, align 4, !tbaa !5
  %845 = zext nneg i8 %841 to i32
  %846 = load i32, ptr @_ZN10micro_test12tests_failedE, align 4, !tbaa !5
  %847 = add nsw i32 %846, %845
  store i32 %847, ptr @_ZN10micro_test12tests_failedE, align 4, !tbaa !5
  %848 = add nsw i32 %847, %844
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull @.str.126, i32 noundef %844, i32 noundef %848)
  %849 = load i32, ptr @_ZN10micro_test12tests_failedE, align 4, !tbaa !5
  %850 = icmp ne i32 %849, 0
  %.str.127..str.128 = select i1 %850, ptr @.str.128, ptr @.str.127
  %. = zext i1 %850 to i32
  call void (ptr, ...) @_Z11MicroPrintfPKcz(ptr noundef nonnull %.str.127..str.128)
  ret i32 %.

851:                                              ; preds = %840, %811, %753, %456, %302
  %.pn1715.pn.pn = phi { ptr, i32 } [ %.pn1715.pn, %302 ], [ %.pn1691.pn.pn, %456 ], [ %.pn1650, %753 ], [ %.pn1554.pn, %811 ], [ %.pn1539.pn, %840 ]
  resume { ptr, i32 } %.pn1715.pn.pn
}

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN6tflite14InitializeTestEv() local_unnamed_addr #1

declare void @_Z11MicroPrintfPKcz(ptr noundef, ...) 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 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) #4

declare void @_ZN6tflite18ReverseSortInPlaceEPiS0_i(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #2

; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #3

declare void @_ZN6tflite19GreedyMemoryPlannerC1Ev(ptr noundef nonnull align 8 dereferenceable(65)) unnamed_addr #2

declare noundef i32 @_ZN6tflite19GreedyMemoryPlanner4InitEPhi(ptr noundef nonnull align 8 dereferenceable(65), ptr noundef, i32 noundef) unnamed_addr #2

declare i32 @__gxx_personality_v0(...)

declare noundef i32 @_ZN6tflite19GreedyMemoryPlanner9AddBufferEiii(ptr noundef nonnull align 8 dereferenceable(65), i32 noundef, i32 noundef, i32 noundef) unnamed_addr #2

declare noundef zeroext i1 @_ZN6tflite19GreedyMemoryPlanner19DoAnyBuffersOverlapEv(ptr noundef nonnull align 8 dereferenceable(65)) local_unnamed_addr #2

declare noundef i64 @_ZN6tflite19GreedyMemoryPlanner20GetMaximumMemorySizeEv(ptr noundef nonnull align 8 dereferenceable(65)) unnamed_addr #2

declare noundef i32 @_ZN6tflite19GreedyMemoryPlanner18GetOffsetForBufferEiPi(ptr noundef nonnull align 8 dereferenceable(65), i32 noundef, ptr noundef) unnamed_addr #2

; Function Attrs: nounwind
declare void @_ZN6tflite19GreedyMemoryPlannerD1Ev(ptr noundef nonnull align 8 dereferenceable(65)) unnamed_addr #5

declare void @_ZN6tflite19GreedyMemoryPlanner15PrintMemoryPlanEv(ptr noundef nonnull align 8 dereferenceable(65)) unnamed_addr #2

attributes #0 = { mustprogress norecurse 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 = { inlinehint mustprogress 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 #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 nocallback nofree nounwind willreturn memory(argmem: readwrite) }
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 = { 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++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"bool", !7, i64 0}
!11 = distinct !{!11, !12}
!12 = !{!"llvm.loop.mustprogress"}
!13 = !{i8 0, i8 2}
!14 = !{}


; Effective O3 passes: EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferAlignmentPass,InferFunctionAttrsPass,InstCombinePass,JumpThreadingPass,LoopRotatePass,LoopSimplifyPass,PostOrderFunctionAttrsPass,ReassociatePass,SCCPPass,SROAPass,SimplifyCFGPass,TailCallElimPass