; LLVM IR from NVIDIA/tensorflow :: tensorflow/lite/experimental/micro/examples/micro_speech (main)

; 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::MicroErrorReporter" = type { %"class.tflite::ErrorReporter" }
%"class.tflite::ErrorReporter" = type { ptr }
%class.PreviousResultsQueue = type { ptr, [50 x %"struct.PreviousResultsQueue::Result"], i32, i32 }
%"struct.PreviousResultsQueue::Result" = type { i32, [4 x i8] }
%class.RecognizeCommands = type <{ ptr, i32, i8, [3 x i8], i32, i32, %class.PreviousResultsQueue, ptr, i32, [4 x i8] }>
%"class.std::initializer_list" = type { ptr, i64 }
%"class.std::initializer_list.0" = type { ptr, i64 }
%struct.TfLiteTensor = type { i32, %union.TfLitePtrUnion, ptr, %struct.TfLiteQuantizationParams, i32, i64, ptr, ptr, ptr, i32, i8, i8, %struct.TfLiteQuantization }
%union.TfLitePtrUnion = type { ptr }
%struct.TfLiteQuantizationParams = type { float, i32 }
%struct.TfLiteQuantization = type { i32, 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
@_ZN10micro_test8reporterE = external dso_local global ptr, align 8
@.str = external hidden unnamed_addr constant [11 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [135 x i8], align 1
@__const.main.scores_a = external hidden unnamed_addr constant [4 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [51 x i8], align 1
@__const.main.scores_b = external hidden unnamed_addr constant [4 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [52 x i8], align 1
@__const.main.scores_c = external hidden unnamed_addr constant [4 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [28 x i8], align 1
@__const.main.scores = external hidden unnamed_addr constant [4 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [135 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [153 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [38 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [1 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [152 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [128 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [137 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [124 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [38 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.40 = 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 %"class.tflite::MicroErrorReporter", align 8
  %7 = alloca ptr, align 8
  %8 = alloca i32, align 4
  %9 = alloca %"class.tflite::MicroErrorReporter", align 8
  %10 = alloca ptr, align 8
  %11 = alloca %class.PreviousResultsQueue, align 8
  %12 = alloca [4 x i8], align 1
  %13 = alloca %"struct.PreviousResultsQueue::Result", align 4
  %14 = alloca [4 x i8], align 1
  %15 = alloca %"struct.PreviousResultsQueue::Result", align 4
  %16 = alloca %"struct.PreviousResultsQueue::Result", align 4
  %17 = alloca [4 x i8], align 1
  %18 = alloca %"struct.PreviousResultsQueue::Result", align 4
  %19 = alloca %"class.tflite::MicroErrorReporter", align 8
  %20 = alloca ptr, align 8
  %21 = alloca %class.PreviousResultsQueue, align 8
  %22 = alloca i32, align 4
  %23 = alloca [4 x i8], align 1
  %24 = alloca %"struct.PreviousResultsQueue::Result", align 4
  %25 = alloca %"struct.PreviousResultsQueue::Result", align 4
  %26 = alloca %"class.tflite::MicroErrorReporter", align 8
  %27 = alloca ptr, align 8
  %28 = alloca %class.RecognizeCommands, align 8
  %29 = alloca %"class.std::initializer_list", align 8
  %30 = alloca [4 x i8], align 1
  %31 = alloca %"class.std::initializer_list.0", align 8
  %32 = alloca [3 x i32], align 4
  %33 = alloca %struct.TfLiteTensor, align 8
  %34 = alloca %"class.std::initializer_list", align 8
  %35 = alloca %"class.std::initializer_list.0", align 8
  %36 = alloca ptr, align 8
  %37 = alloca i8, align 1
  %38 = alloca i8, align 1
  %39 = alloca %"class.tflite::MicroErrorReporter", align 8
  %40 = alloca ptr, align 8
  %41 = alloca %class.RecognizeCommands, align 8
  %42 = alloca %"class.std::initializer_list", align 8
  %43 = alloca [4 x i8], align 1
  %44 = alloca %"class.std::initializer_list.0", align 8
  %45 = alloca [3 x i32], align 4
  %46 = alloca %struct.TfLiteTensor, align 8
  %47 = alloca %"class.std::initializer_list", align 8
  %48 = alloca %"class.std::initializer_list.0", align 8
  %49 = alloca i8, align 1
  %50 = alloca ptr, align 8
  %51 = alloca i32, align 4
  %52 = alloca ptr, align 8
  %53 = alloca i8, align 1
  %54 = alloca i8, align 1
  %55 = alloca i32, align 4
  %56 = alloca %"class.std::initializer_list", align 8
  %57 = alloca [4 x i8], align 1
  %58 = alloca %"class.std::initializer_list.0", align 8
  %59 = alloca [3 x i32], align 4
  %60 = alloca %struct.TfLiteTensor, align 8
  %61 = alloca %"class.std::initializer_list", align 8
  %62 = alloca %"class.std::initializer_list.0", align 8
  %63 = alloca i8, align 1
  %64 = alloca i32, align 4
  %65 = alloca ptr, align 8
  %66 = alloca i8, align 1
  %67 = alloca i32, align 4
  %68 = alloca %"class.tflite::MicroErrorReporter", align 8
  %69 = alloca ptr, align 8
  %70 = alloca %class.RecognizeCommands, align 8
  %71 = alloca %"class.std::initializer_list", align 8
  %72 = alloca [3 x i8], align 1
  %73 = alloca %"class.std::initializer_list.0", align 8
  %74 = alloca [3 x i32], align 4
  %75 = alloca %struct.TfLiteTensor, align 8
  %76 = alloca %"class.std::initializer_list", align 8
  %77 = alloca %"class.std::initializer_list.0", align 8
  %78 = alloca ptr, align 8
  %79 = alloca i8, align 1
  %80 = alloca i8, align 1
  %81 = alloca %"class.tflite::MicroErrorReporter", align 8
  %82 = alloca ptr, align 8
  %83 = alloca %class.RecognizeCommands, align 8
  %84 = alloca %"class.std::initializer_list", align 8
  %85 = alloca [4 x i8], align 1
  %86 = alloca %"class.std::initializer_list.0", align 8
  %87 = alloca [3 x i32], align 4
  %88 = alloca %struct.TfLiteTensor, align 8
  %89 = alloca %"class.std::initializer_list", align 8
  %90 = alloca %"class.std::initializer_list.0", align 8
  %91 = alloca ptr, align 8
  %92 = alloca i8, align 1
  %93 = alloca i8, align 1
  %94 = alloca %"class.tflite::MicroErrorReporter", align 8
  %95 = alloca ptr, align 8
  %96 = alloca %class.RecognizeCommands, align 8
  %97 = alloca %"class.std::initializer_list", align 8
  %98 = alloca [4 x i8], align 1
  %99 = alloca %"class.std::initializer_list.0", align 8
  %100 = alloca [3 x i32], align 4
  %101 = alloca %struct.TfLiteTensor, align 8
  %102 = alloca %"class.std::initializer_list", align 8
  %103 = alloca %"class.std::initializer_list.0", align 8
  %104 = alloca ptr, align 8
  %105 = alloca i8, align 1
  %106 = alloca i8, align 1
  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 @llvm.lifetime.start.p0(i64 8, ptr %6) #8
  call void @_ZN6tflite18MicroErrorReporterC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %6) #8
  store ptr %6, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %107 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %108 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %107, ptr noundef @.str, ptr noundef @.str.1)
          to label %109 unwind label %127

109:                                              ; preds = %2
  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 %110

110:                                              ; preds = %378, %109
  %111 = load i8, ptr @_ZN10micro_test16is_test_completeE, align 1, !tbaa !11, !range !13, !noundef !14
  %112 = trunc i8 %111 to i1
  %113 = xor i1 %112, true
  br i1 %113, label %114, label %396

114:                                              ; preds = %110
  call void @llvm.lifetime.start.p0(i64 8, ptr %9) #8
  call void @_ZN6tflite18MicroErrorReporterC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %9) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %10) #8
  store ptr %9, ptr %10, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 416, ptr %11) #8
  %115 = load ptr, ptr %10, align 8, !tbaa !9
  invoke void @_ZN20PreviousResultsQueueC2EPN6tflite13ErrorReporterE(ptr noundef nonnull align 8 dereferenceable(416) %11, ptr noundef %115)
          to label %116 unwind label %131

116:                                              ; preds = %114
  br label %117

117:                                              ; preds = %116
  %118 = invoke noundef i32 @_ZN20PreviousResultsQueue4sizeEv(ptr noundef nonnull align 8 dereferenceable(416) %11)
          to label %119 unwind label %131

119:                                              ; preds = %117
  %120 = icmp ne i32 0, %118
  br i1 %120, label %121, label %135

121:                                              ; preds = %119
  %122 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %123 = invoke noundef i32 @_ZN20PreviousResultsQueue4sizeEv(ptr noundef nonnull align 8 dereferenceable(416) %11)
          to label %124 unwind label %131

124:                                              ; preds = %121
  %125 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %122, ptr noundef @.str.2, ptr noundef @.str.3, i32 noundef 28, i32 noundef 0, i32 noundef %123)
          to label %126 unwind label %131

126:                                              ; preds = %124
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %135

127:                                              ; preds = %1131, %1127, %1117, %1018, %936, %868, %616, %545, %396, %2
  %128 = landingpad { ptr, i32 }
          cleanup
  %129 = extractvalue { ptr, i32 } %128, 0
  store ptr %129, ptr %7, align 8
  %130 = extractvalue { ptr, i32 } %128, 1
  store i32 %130, ptr %8, align 4
  br label %1137

131:                                              ; preds = %124, %121, %117, %114
  %132 = landingpad { ptr, i32 }
          cleanup
  %133 = extractvalue { ptr, i32 } %132, 0
  store ptr %133, ptr %7, align 8
  %134 = extractvalue { ptr, i32 } %132, 1
  store i32 %134, ptr %8, align 4
  br label %395

135:                                              ; preds = %126, %119
  br label %136

136:                                              ; preds = %135
  br label %137

137:                                              ; preds = %136
  call void @llvm.lifetime.start.p0(i64 4, ptr %12) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %12, ptr align 1 @__const.main.scores_a, i64 4, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %13) #8
  %138 = getelementptr inbounds [4 x i8], ptr %12, i64 0, i64 0
  invoke void @_ZN20PreviousResultsQueue6ResultC2EiPh(ptr noundef nonnull align 4 dereferenceable(8) %13, i32 noundef 0, ptr noundef %138)
          to label %139 unwind label %151

139:                                              ; preds = %137
  invoke void @_ZN20PreviousResultsQueue9push_backERKNS_6ResultE(ptr noundef nonnull align 8 dereferenceable(416) %11, ptr noundef nonnull align 4 dereferenceable(8) %13)
          to label %140 unwind label %151

140:                                              ; preds = %139
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #8
  br label %141

141:                                              ; preds = %140
  %142 = invoke noundef i32 @_ZN20PreviousResultsQueue4sizeEv(ptr noundef nonnull align 8 dereferenceable(416) %11)
          to label %143 unwind label %155

143:                                              ; preds = %141
  %144 = icmp ne i32 1, %142
  br i1 %144, label %145, label %159

145:                                              ; preds = %143
  %146 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %147 = invoke noundef i32 @_ZN20PreviousResultsQueue4sizeEv(ptr noundef nonnull align 8 dereferenceable(416) %11)
          to label %148 unwind label %155

148:                                              ; preds = %145
  %149 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %146, ptr noundef @.str.4, ptr noundef @.str.3, i32 noundef 32, i32 noundef 1, i32 noundef %147)
          to label %150 unwind label %155

150:                                              ; preds = %148
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %159

151:                                              ; preds = %139, %137
  %152 = landingpad { ptr, i32 }
          cleanup
  %153 = extractvalue { ptr, i32 } %152, 0
  store ptr %153, ptr %7, align 8
  %154 = extractvalue { ptr, i32 } %152, 1
  store i32 %154, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #8
  br label %394

155:                                              ; preds = %188, %185, %179, %171, %168, %162, %148, %145, %141
  %156 = landingpad { ptr, i32 }
          cleanup
  %157 = extractvalue { ptr, i32 } %156, 0
  store ptr %157, ptr %7, align 8
  %158 = extractvalue { ptr, i32 } %156, 1
  store i32 %158, ptr %8, align 4
  br label %394

159:                                              ; preds = %150, %143
  br label %160

160:                                              ; preds = %159
  br label %161

161:                                              ; preds = %160
  br label %162

162:                                              ; preds = %161
  %163 = invoke noundef nonnull align 4 dereferenceable(8) ptr @_ZN20PreviousResultsQueue5frontEv(ptr noundef nonnull align 8 dereferenceable(416) %11)
          to label %164 unwind label %155

164:                                              ; preds = %162
  %165 = getelementptr inbounds %"struct.PreviousResultsQueue::Result", ptr %163, i32 0, i32 0
  %166 = load i32, ptr %165, align 4, !tbaa !15
  %167 = icmp ne i32 0, %166
  br i1 %167, label %168, label %176

168:                                              ; preds = %164
  %169 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %170 = invoke noundef nonnull align 4 dereferenceable(8) ptr @_ZN20PreviousResultsQueue5frontEv(ptr noundef nonnull align 8 dereferenceable(416) %11)
          to label %171 unwind label %155

171:                                              ; preds = %168
  %172 = getelementptr inbounds %"struct.PreviousResultsQueue::Result", ptr %170, i32 0, i32 0
  %173 = load i32, ptr %172, align 4, !tbaa !15
  %174 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %169, ptr noundef @.str.5, ptr noundef @.str.3, i32 noundef 33, i32 noundef 0, i32 noundef %173)
          to label %175 unwind label %155

175:                                              ; preds = %171
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %176

176:                                              ; preds = %175, %164
  br label %177

177:                                              ; preds = %176
  br label %178

178:                                              ; preds = %177
  br label %179

179:                                              ; preds = %178
  %180 = invoke noundef nonnull align 4 dereferenceable(8) ptr @_ZN20PreviousResultsQueue4backEv(ptr noundef nonnull align 8 dereferenceable(416) %11)
          to label %181 unwind label %155

181:                                              ; preds = %179
  %182 = getelementptr inbounds %"struct.PreviousResultsQueue::Result", ptr %180, i32 0, i32 0
  %183 = load i32, ptr %182, align 4, !tbaa !15
  %184 = icmp ne i32 0, %183
  br i1 %184, label %185, label %193

185:                                              ; preds = %181
  %186 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %187 = invoke noundef nonnull align 4 dereferenceable(8) ptr @_ZN20PreviousResultsQueue4backEv(ptr noundef nonnull align 8 dereferenceable(416) %11)
          to label %188 unwind label %155

188:                                              ; preds = %185
  %189 = getelementptr inbounds %"struct.PreviousResultsQueue::Result", ptr %187, i32 0, i32 0
  %190 = load i32, ptr %189, align 4, !tbaa !15
  %191 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %186, ptr noundef @.str.6, ptr noundef @.str.3, i32 noundef 34, i32 noundef 0, i32 noundef %190)
          to label %192 unwind label %155

192:                                              ; preds = %188
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %193

193:                                              ; preds = %192, %181
  br label %194

194:                                              ; preds = %193
  br label %195

195:                                              ; preds = %194
  call void @llvm.lifetime.start.p0(i64 4, ptr %14) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %14, ptr align 1 @__const.main.scores_b, i64 4, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %15) #8
  %196 = getelementptr inbounds [4 x i8], ptr %14, i64 0, i64 0
  invoke void @_ZN20PreviousResultsQueue6ResultC2EiPh(ptr noundef nonnull align 4 dereferenceable(8) %15, i32 noundef 1, ptr noundef %196)
          to label %197 unwind label %209

197:                                              ; preds = %195
  invoke void @_ZN20PreviousResultsQueue9push_backERKNS_6ResultE(ptr noundef nonnull align 8 dereferenceable(416) %11, ptr noundef nonnull align 4 dereferenceable(8) %15)
          to label %198 unwind label %209

198:                                              ; preds = %197
  call void @llvm.lifetime.end.p0(i64 8, ptr %15) #8
  br label %199

199:                                              ; preds = %198
  %200 = invoke noundef i32 @_ZN20PreviousResultsQueue4sizeEv(ptr noundef nonnull align 8 dereferenceable(416) %11)
          to label %201 unwind label %213

201:                                              ; preds = %199
  %202 = icmp ne i32 2, %200
  br i1 %202, label %203, label %217

203:                                              ; preds = %201
  %204 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %205 = invoke noundef i32 @_ZN20PreviousResultsQueue4sizeEv(ptr noundef nonnull align 8 dereferenceable(416) %11)
          to label %206 unwind label %213

206:                                              ; preds = %203
  %207 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %204, ptr noundef @.str.7, ptr noundef @.str.3, i32 noundef 38, i32 noundef 2, i32 noundef %205)
          to label %208 unwind label %213

208:                                              ; preds = %206
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %217

209:                                              ; preds = %197, %195
  %210 = landingpad { ptr, i32 }
          cleanup
  %211 = extractvalue { ptr, i32 } %210, 0
  store ptr %211, ptr %7, align 8
  %212 = extractvalue { ptr, i32 } %210, 1
  store i32 %212, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %15) #8
  br label %393

213:                                              ; preds = %246, %243, %237, %229, %226, %220, %206, %203, %199
  %214 = landingpad { ptr, i32 }
          cleanup
  %215 = extractvalue { ptr, i32 } %214, 0
  store ptr %215, ptr %7, align 8
  %216 = extractvalue { ptr, i32 } %214, 1
  store i32 %216, ptr %8, align 4
  br label %393

217:                                              ; preds = %208, %201
  br label %218

218:                                              ; preds = %217
  br label %219

219:                                              ; preds = %218
  br label %220

220:                                              ; preds = %219
  %221 = invoke noundef nonnull align 4 dereferenceable(8) ptr @_ZN20PreviousResultsQueue5frontEv(ptr noundef nonnull align 8 dereferenceable(416) %11)
          to label %222 unwind label %213

222:                                              ; preds = %220
  %223 = getelementptr inbounds %"struct.PreviousResultsQueue::Result", ptr %221, i32 0, i32 0
  %224 = load i32, ptr %223, align 4, !tbaa !15
  %225 = icmp ne i32 0, %224
  br i1 %225, label %226, label %234

226:                                              ; preds = %222
  %227 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %228 = invoke noundef nonnull align 4 dereferenceable(8) ptr @_ZN20PreviousResultsQueue5frontEv(ptr noundef nonnull align 8 dereferenceable(416) %11)
          to label %229 unwind label %213

229:                                              ; preds = %226
  %230 = getelementptr inbounds %"struct.PreviousResultsQueue::Result", ptr %228, i32 0, i32 0
  %231 = load i32, ptr %230, align 4, !tbaa !15
  %232 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %227, ptr noundef @.str.5, ptr noundef @.str.3, i32 noundef 39, i32 noundef 0, i32 noundef %231)
          to label %233 unwind label %213

233:                                              ; preds = %229
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %234

234:                                              ; preds = %233, %222
  br label %235

235:                                              ; preds = %234
  br label %236

236:                                              ; preds = %235
  br label %237

237:                                              ; preds = %236
  %238 = invoke noundef nonnull align 4 dereferenceable(8) ptr @_ZN20PreviousResultsQueue4backEv(ptr noundef nonnull align 8 dereferenceable(416) %11)
          to label %239 unwind label %213

239:                                              ; preds = %237
  %240 = getelementptr inbounds %"struct.PreviousResultsQueue::Result", ptr %238, i32 0, i32 0
  %241 = load i32, ptr %240, align 4, !tbaa !15
  %242 = icmp ne i32 1, %241
  br i1 %242, label %243, label %251

243:                                              ; preds = %239
  %244 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %245 = invoke noundef nonnull align 4 dereferenceable(8) ptr @_ZN20PreviousResultsQueue4backEv(ptr noundef nonnull align 8 dereferenceable(416) %11)
          to label %246 unwind label %213

246:                                              ; preds = %243
  %247 = getelementptr inbounds %"struct.PreviousResultsQueue::Result", ptr %245, i32 0, i32 0
  %248 = load i32, ptr %247, align 4, !tbaa !15
  %249 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %244, ptr noundef @.str.8, ptr noundef @.str.3, i32 noundef 40, i32 noundef 1, i32 noundef %248)
          to label %250 unwind label %213

250:                                              ; preds = %246
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %251

251:                                              ; preds = %250, %239
  br label %252

252:                                              ; preds = %251
  br label %253

253:                                              ; preds = %252
  call void @llvm.lifetime.start.p0(i64 8, ptr %16) #8
  %254 = invoke i64 @_ZN20PreviousResultsQueue9pop_frontEv(ptr noundef nonnull align 8 dereferenceable(416) %11)
          to label %255 unwind label %266

255:                                              ; preds = %253
  store i64 %254, ptr %16, align 4
  br label %256

256:                                              ; preds = %255
  %257 = getelementptr inbounds %"struct.PreviousResultsQueue::Result", ptr %16, i32 0, i32 0
  %258 = load i32, ptr %257, align 4, !tbaa !15
  %259 = icmp ne i32 0, %258
  br i1 %259, label %260, label %270

260:                                              ; preds = %256
  %261 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %262 = getelementptr inbounds %"struct.PreviousResultsQueue::Result", ptr %16, i32 0, i32 0
  %263 = load i32, ptr %262, align 4, !tbaa !15
  %264 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %261, ptr noundef @.str.9, ptr noundef @.str.3, i32 noundef 43, i32 noundef 0, i32 noundef %263)
          to label %265 unwind label %266

265:                                              ; preds = %260
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %270

266:                                              ; preds = %312, %309, %303, %295, %292, %286, %280, %277, %273, %260, %253
  %267 = landingpad { ptr, i32 }
          cleanup
  %268 = extractvalue { ptr, i32 } %267, 0
  store ptr %268, ptr %7, align 8
  %269 = extractvalue { ptr, i32 } %267, 1
  store i32 %269, ptr %8, align 4
  br label %392

270:                                              ; preds = %265, %256
  br label %271

271:                                              ; preds = %270
  br label %272

272:                                              ; preds = %271
  br label %273

273:                                              ; preds = %272
  %274 = invoke noundef i32 @_ZN20PreviousResultsQueue4sizeEv(ptr noundef nonnull align 8 dereferenceable(416) %11)
          to label %275 unwind label %266

275:                                              ; preds = %273
  %276 = icmp ne i32 1, %274
  br i1 %276, label %277, label %283

277:                                              ; preds = %275
  %278 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %279 = invoke noundef i32 @_ZN20PreviousResultsQueue4sizeEv(ptr noundef nonnull align 8 dereferenceable(416) %11)
          to label %280 unwind label %266

280:                                              ; preds = %277
  %281 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %278, ptr noundef @.str.4, ptr noundef @.str.3, i32 noundef 44, i32 noundef 1, i32 noundef %279)
          to label %282 unwind label %266

282:                                              ; preds = %280
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %283

283:                                              ; preds = %282, %275
  br label %284

284:                                              ; preds = %283
  br label %285

285:                                              ; preds = %284
  br label %286

286:                                              ; preds = %285
  %287 = invoke noundef nonnull align 4 dereferenceable(8) ptr @_ZN20PreviousResultsQueue5frontEv(ptr noundef nonnull align 8 dereferenceable(416) %11)
          to label %288 unwind label %266

288:                                              ; preds = %286
  %289 = getelementptr inbounds %"struct.PreviousResultsQueue::Result", ptr %287, i32 0, i32 0
  %290 = load i32, ptr %289, align 4, !tbaa !15
  %291 = icmp ne i32 1, %290
  br i1 %291, label %292, label %300

292:                                              ; preds = %288
  %293 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %294 = invoke noundef nonnull align 4 dereferenceable(8) ptr @_ZN20PreviousResultsQueue5frontEv(ptr noundef nonnull align 8 dereferenceable(416) %11)
          to label %295 unwind label %266

295:                                              ; preds = %292
  %296 = getelementptr inbounds %"struct.PreviousResultsQueue::Result", ptr %294, i32 0, i32 0
  %297 = load i32, ptr %296, align 4, !tbaa !15
  %298 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %293, ptr noundef @.str.10, ptr noundef @.str.3, i32 noundef 45, i32 noundef 1, i32 noundef %297)
          to label %299 unwind label %266

299:                                              ; preds = %295
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %300

300:                                              ; preds = %299, %288
  br label %301

301:                                              ; preds = %300
  br label %302

302:                                              ; preds = %301
  br label %303

303:                                              ; preds = %302
  %304 = invoke noundef nonnull align 4 dereferenceable(8) ptr @_ZN20PreviousResultsQueue4backEv(ptr noundef nonnull align 8 dereferenceable(416) %11)
          to label %305 unwind label %266

305:                                              ; preds = %303
  %306 = getelementptr inbounds %"struct.PreviousResultsQueue::Result", ptr %304, i32 0, i32 0
  %307 = load i32, ptr %306, align 4, !tbaa !15
  %308 = icmp ne i32 1, %307
  br i1 %308, label %309, label %317

309:                                              ; preds = %305
  %310 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %311 = invoke noundef nonnull align 4 dereferenceable(8) ptr @_ZN20PreviousResultsQueue4backEv(ptr noundef nonnull align 8 dereferenceable(416) %11)
          to label %312 unwind label %266

312:                                              ; preds = %309
  %313 = getelementptr inbounds %"struct.PreviousResultsQueue::Result", ptr %311, i32 0, i32 0
  %314 = load i32, ptr %313, align 4, !tbaa !15
  %315 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %310, ptr noundef @.str.8, ptr noundef @.str.3, i32 noundef 46, i32 noundef 1, i32 noundef %314)
          to label %316 unwind label %266

316:                                              ; preds = %312
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %317

317:                                              ; preds = %316, %305
  br label %318

318:                                              ; preds = %317
  br label %319

319:                                              ; preds = %318
  call void @llvm.lifetime.start.p0(i64 4, ptr %17) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %17, ptr align 1 @__const.main.scores_c, i64 4, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %18) #8
  %320 = getelementptr inbounds [4 x i8], ptr %17, i64 0, i64 0
  invoke void @_ZN20PreviousResultsQueue6ResultC2EiPh(ptr noundef nonnull align 4 dereferenceable(8) %18, i32 noundef 2, ptr noundef %320)
          to label %321 unwind label %333

321:                                              ; preds = %319
  invoke void @_ZN20PreviousResultsQueue9push_backERKNS_6ResultE(ptr noundef nonnull align 8 dereferenceable(416) %11, ptr noundef nonnull align 4 dereferenceable(8) %18)
          to label %322 unwind label %333

322:                                              ; preds = %321
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #8
  br label %323

323:                                              ; preds = %322
  %324 = invoke noundef i32 @_ZN20PreviousResultsQueue4sizeEv(ptr noundef nonnull align 8 dereferenceable(416) %11)
          to label %325 unwind label %337

325:                                              ; preds = %323
  %326 = icmp ne i32 2, %324
  br i1 %326, label %327, label %341

327:                                              ; preds = %325
  %328 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %329 = invoke noundef i32 @_ZN20PreviousResultsQueue4sizeEv(ptr noundef nonnull align 8 dereferenceable(416) %11)
          to label %330 unwind label %337

330:                                              ; preds = %327
  %331 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %328, ptr noundef @.str.7, ptr noundef @.str.3, i32 noundef 50, i32 noundef 2, i32 noundef %329)
          to label %332 unwind label %337

332:                                              ; preds = %330
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %341

333:                                              ; preds = %321, %319
  %334 = landingpad { ptr, i32 }
          cleanup
  %335 = extractvalue { ptr, i32 } %334, 0
  store ptr %335, ptr %7, align 8
  %336 = extractvalue { ptr, i32 } %334, 1
  store i32 %336, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #8
  br label %391

337:                                              ; preds = %370, %367, %361, %353, %350, %344, %330, %327, %323
  %338 = landingpad { ptr, i32 }
          cleanup
  %339 = extractvalue { ptr, i32 } %338, 0
  store ptr %339, ptr %7, align 8
  %340 = extractvalue { ptr, i32 } %338, 1
  store i32 %340, ptr %8, align 4
  br label %391

341:                                              ; preds = %332, %325
  br label %342

342:                                              ; preds = %341
  br label %343

343:                                              ; preds = %342
  br label %344

344:                                              ; preds = %343
  %345 = invoke noundef nonnull align 4 dereferenceable(8) ptr @_ZN20PreviousResultsQueue5frontEv(ptr noundef nonnull align 8 dereferenceable(416) %11)
          to label %346 unwind label %337

346:                                              ; preds = %344
  %347 = getelementptr inbounds %"struct.PreviousResultsQueue::Result", ptr %345, i32 0, i32 0
  %348 = load i32, ptr %347, align 4, !tbaa !15
  %349 = icmp ne i32 1, %348
  br i1 %349, label %350, label %358

350:                                              ; preds = %346
  %351 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %352 = invoke noundef nonnull align 4 dereferenceable(8) ptr @_ZN20PreviousResultsQueue5frontEv(ptr noundef nonnull align 8 dereferenceable(416) %11)
          to label %353 unwind label %337

353:                                              ; preds = %350
  %354 = getelementptr inbounds %"struct.PreviousResultsQueue::Result", ptr %352, i32 0, i32 0
  %355 = load i32, ptr %354, align 4, !tbaa !15
  %356 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %351, ptr noundef @.str.10, ptr noundef @.str.3, i32 noundef 51, i32 noundef 1, i32 noundef %355)
          to label %357 unwind label %337

357:                                              ; preds = %353
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %358

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

359:                                              ; preds = %358
  br label %360

360:                                              ; preds = %359
  br label %361

361:                                              ; preds = %360
  %362 = invoke noundef nonnull align 4 dereferenceable(8) ptr @_ZN20PreviousResultsQueue4backEv(ptr noundef nonnull align 8 dereferenceable(416) %11)
          to label %363 unwind label %337

363:                                              ; preds = %361
  %364 = getelementptr inbounds %"struct.PreviousResultsQueue::Result", ptr %362, i32 0, i32 0
  %365 = load i32, ptr %364, align 4, !tbaa !15
  %366 = icmp ne i32 2, %365
  br i1 %366, label %367, label %375

367:                                              ; preds = %363
  %368 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %369 = invoke noundef nonnull align 4 dereferenceable(8) ptr @_ZN20PreviousResultsQueue4backEv(ptr noundef nonnull align 8 dereferenceable(416) %11)
          to label %370 unwind label %337

370:                                              ; preds = %367
  %371 = getelementptr inbounds %"struct.PreviousResultsQueue::Result", ptr %369, i32 0, i32 0
  %372 = load i32, ptr %371, align 4, !tbaa !15
  %373 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %368, ptr noundef @.str.11, ptr noundef @.str.3, i32 noundef 52, i32 noundef 2, i32 noundef %372)
          to label %374 unwind label %337

374:                                              ; preds = %370
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %375

375:                                              ; preds = %374, %363
  br label %376

376:                                              ; preds = %375
  br label %377

377:                                              ; preds = %376
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %16) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #8
  call void @llvm.lifetime.end.p0(i64 416, ptr %11) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %10) #8
  call void @_ZN6tflite13ErrorReporterD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %9) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %9) #8
  br label %378

378:                                              ; preds = %377
  store i8 1, ptr @_ZN10micro_test16is_test_completeE, align 1, !tbaa !11
  %379 = load i8, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11, !range !13, !noundef !14
  %380 = trunc i8 %379 to i1
  %381 = zext i1 %380 to i64
  %382 = select i1 %380, i32 0, i32 1
  %383 = load i32, ptr @_ZN10micro_test12tests_passedE, align 4, !tbaa !5
  %384 = add nsw i32 %383, %382
  store i32 %384, ptr @_ZN10micro_test12tests_passedE, align 4, !tbaa !5
  %385 = load i8, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11, !range !13, !noundef !14
  %386 = trunc i8 %385 to i1
  %387 = zext i1 %386 to i64
  %388 = select i1 %386, i32 1, i32 0
  %389 = load i32, ptr @_ZN10micro_test12tests_failedE, align 4, !tbaa !5
  %390 = add nsw i32 %389, %388
  store i32 %390, ptr @_ZN10micro_test12tests_failedE, align 4, !tbaa !5
  br label %110, !llvm.loop !17

391:                                              ; preds = %337, %333
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #8
  br label %392

392:                                              ; preds = %391, %266
  call void @llvm.lifetime.end.p0(i64 8, ptr %16) #8
  br label %393

393:                                              ; preds = %392, %213, %209
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #8
  br label %394

394:                                              ; preds = %393, %155, %151
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #8
  br label %395

395:                                              ; preds = %394, %131
  call void @llvm.lifetime.end.p0(i64 416, ptr %11) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %10) #8
  call void @_ZN6tflite13ErrorReporterD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %9) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %9) #8
  br label %1137

396:                                              ; preds = %110
  %397 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %398 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %397, ptr noundef @.str, ptr noundef @.str.12)
          to label %399 unwind label %127

399:                                              ; preds = %396
  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 %400

400:                                              ; preds = %531, %399
  %401 = load i8, ptr @_ZN10micro_test16is_test_completeE, align 1, !tbaa !11, !range !13, !noundef !14
  %402 = trunc i8 %401 to i1
  %403 = xor i1 %402, true
  br i1 %403, label %404, label %545

404:                                              ; preds = %400
  call void @llvm.lifetime.start.p0(i64 8, ptr %19) #8
  call void @_ZN6tflite18MicroErrorReporterC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %19) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %20) #8
  store ptr %19, ptr %20, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 416, ptr %21) #8
  %405 = load ptr, ptr %20, align 8, !tbaa !9
  invoke void @_ZN20PreviousResultsQueueC2EPN6tflite13ErrorReporterE(ptr noundef nonnull align 8 dereferenceable(416) %21, ptr noundef %405)
          to label %406 unwind label %417

406:                                              ; preds = %404
  br label %407

407:                                              ; preds = %406
  %408 = invoke noundef i32 @_ZN20PreviousResultsQueue4sizeEv(ptr noundef nonnull align 8 dereferenceable(416) %21)
          to label %409 unwind label %417

409:                                              ; preds = %407
  %410 = icmp ne i32 0, %408
  br i1 %410, label %411, label %421

411:                                              ; preds = %409
  %412 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %413 = invoke noundef i32 @_ZN20PreviousResultsQueue4sizeEv(ptr noundef nonnull align 8 dereferenceable(416) %21)
          to label %414 unwind label %417

414:                                              ; preds = %411
  %415 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %412, ptr noundef @.str.2, ptr noundef @.str.3, i32 noundef 60, i32 noundef 0, i32 noundef %413)
          to label %416 unwind label %417

416:                                              ; preds = %414
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %421

417:                                              ; preds = %414, %411, %407, %404
  %418 = landingpad { ptr, i32 }
          cleanup
  %419 = extractvalue { ptr, i32 } %418, 0
  store ptr %419, ptr %7, align 8
  %420 = extractvalue { ptr, i32 } %418, 1
  store i32 %420, ptr %8, align 4
  br label %544

421:                                              ; preds = %416, %409
  br label %422

422:                                              ; preds = %421
  br label %423

423:                                              ; preds = %422
  call void @llvm.lifetime.start.p0(i64 4, ptr %22) #8
  store i32 0, ptr %22, align 4, !tbaa !5
  br label %424

424:                                              ; preds = %526, %423
  %425 = load i32, ptr %22, align 4, !tbaa !5
  %426 = icmp slt i32 %425, 123
  br i1 %426, label %428, label %427

427:                                              ; preds = %424
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #8
  br label %530

428:                                              ; preds = %424
  call void @llvm.lifetime.start.p0(i64 4, ptr %23) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %23, ptr align 1 @__const.main.scores, i64 4, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %24) #8
  %429 = load i32, ptr %22, align 4, !tbaa !5
  %430 = getelementptr inbounds [4 x i8], ptr %23, i64 0, i64 0
  invoke void @_ZN20PreviousResultsQueue6ResultC2EiPh(ptr noundef nonnull align 4 dereferenceable(8) %24, i32 noundef %429, ptr noundef %430)
          to label %431 unwind label %443

431:                                              ; preds = %428
  invoke void @_ZN20PreviousResultsQueue9push_backERKNS_6ResultE(ptr noundef nonnull align 8 dereferenceable(416) %21, ptr noundef nonnull align 4 dereferenceable(8) %24)
          to label %432 unwind label %443

432:                                              ; preds = %431
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #8
  br label %433

433:                                              ; preds = %432
  %434 = invoke noundef i32 @_ZN20PreviousResultsQueue4sizeEv(ptr noundef nonnull align 8 dereferenceable(416) %21)
          to label %435 unwind label %447

435:                                              ; preds = %433
  %436 = icmp ne i32 1, %434
  br i1 %436, label %437, label %451

437:                                              ; preds = %435
  %438 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %439 = invoke noundef i32 @_ZN20PreviousResultsQueue4sizeEv(ptr noundef nonnull align 8 dereferenceable(416) %21)
          to label %440 unwind label %447

440:                                              ; preds = %437
  %441 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %438, ptr noundef @.str.4, ptr noundef @.str.3, i32 noundef 65, i32 noundef 1, i32 noundef %439)
          to label %442 unwind label %447

442:                                              ; preds = %440
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %451

443:                                              ; preds = %431, %428
  %444 = landingpad { ptr, i32 }
          cleanup
  %445 = extractvalue { ptr, i32 } %444, 0
  store ptr %445, ptr %7, align 8
  %446 = extractvalue { ptr, i32 } %444, 1
  store i32 %446, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #8
  br label %529

447:                                              ; preds = %484, %480, %473, %465, %461, %454, %440, %437, %433
  %448 = landingpad { ptr, i32 }
          cleanup
  %449 = extractvalue { ptr, i32 } %448, 0
  store ptr %449, ptr %7, align 8
  %450 = extractvalue { ptr, i32 } %448, 1
  store i32 %450, ptr %8, align 4
  br label %529

451:                                              ; preds = %442, %435
  br label %452

452:                                              ; preds = %451
  br label %453

453:                                              ; preds = %452
  br label %454

454:                                              ; preds = %453
  %455 = load i32, ptr %22, align 4, !tbaa !5
  %456 = invoke noundef nonnull align 4 dereferenceable(8) ptr @_ZN20PreviousResultsQueue5frontEv(ptr noundef nonnull align 8 dereferenceable(416) %21)
          to label %457 unwind label %447

457:                                              ; preds = %454
  %458 = getelementptr inbounds %"struct.PreviousResultsQueue::Result", ptr %456, i32 0, i32 0
  %459 = load i32, ptr %458, align 4, !tbaa !15
  %460 = icmp ne i32 %455, %459
  br i1 %460, label %461, label %470

461:                                              ; preds = %457
  %462 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %463 = load i32, ptr %22, align 4, !tbaa !5
  %464 = invoke noundef nonnull align 4 dereferenceable(8) ptr @_ZN20PreviousResultsQueue5frontEv(ptr noundef nonnull align 8 dereferenceable(416) %21)
          to label %465 unwind label %447

465:                                              ; preds = %461
  %466 = getelementptr inbounds %"struct.PreviousResultsQueue::Result", ptr %464, i32 0, i32 0
  %467 = load i32, ptr %466, align 4, !tbaa !15
  %468 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %462, ptr noundef @.str.13, ptr noundef @.str.3, i32 noundef 66, i32 noundef %463, i32 noundef %467)
          to label %469 unwind label %447

469:                                              ; preds = %465
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %470

470:                                              ; preds = %469, %457
  br label %471

471:                                              ; preds = %470
  br label %472

472:                                              ; preds = %471
  br label %473

473:                                              ; preds = %472
  %474 = load i32, ptr %22, align 4, !tbaa !5
  %475 = invoke noundef nonnull align 4 dereferenceable(8) ptr @_ZN20PreviousResultsQueue4backEv(ptr noundef nonnull align 8 dereferenceable(416) %21)
          to label %476 unwind label %447

476:                                              ; preds = %473
  %477 = getelementptr inbounds %"struct.PreviousResultsQueue::Result", ptr %475, i32 0, i32 0
  %478 = load i32, ptr %477, align 4, !tbaa !15
  %479 = icmp ne i32 %474, %478
  br i1 %479, label %480, label %489

480:                                              ; preds = %476
  %481 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %482 = load i32, ptr %22, align 4, !tbaa !5
  %483 = invoke noundef nonnull align 4 dereferenceable(8) ptr @_ZN20PreviousResultsQueue4backEv(ptr noundef nonnull align 8 dereferenceable(416) %21)
          to label %484 unwind label %447

484:                                              ; preds = %480
  %485 = getelementptr inbounds %"struct.PreviousResultsQueue::Result", ptr %483, i32 0, i32 0
  %486 = load i32, ptr %485, align 4, !tbaa !15
  %487 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %481, ptr noundef @.str.14, ptr noundef @.str.3, i32 noundef 67, i32 noundef %482, i32 noundef %486)
          to label %488 unwind label %447

488:                                              ; preds = %484
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %489

489:                                              ; preds = %488, %476
  br label %490

490:                                              ; preds = %489
  br label %491

491:                                              ; preds = %490
  call void @llvm.lifetime.start.p0(i64 8, ptr %25) #8
  %492 = invoke i64 @_ZN20PreviousResultsQueue9pop_frontEv(ptr noundef nonnull align 8 dereferenceable(416) %21)
          to label %493 unwind label %506

493:                                              ; preds = %491
  store i64 %492, ptr %25, align 4
  br label %494

494:                                              ; preds = %493
  %495 = load i32, ptr %22, align 4, !tbaa !5
  %496 = getelementptr inbounds %"struct.PreviousResultsQueue::Result", ptr %25, i32 0, i32 0
  %497 = load i32, ptr %496, align 4, !tbaa !15
  %498 = icmp ne i32 %495, %497
  br i1 %498, label %499, label %510

499:                                              ; preds = %494
  %500 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %501 = load i32, ptr %22, align 4, !tbaa !5
  %502 = getelementptr inbounds %"struct.PreviousResultsQueue::Result", ptr %25, i32 0, i32 0
  %503 = load i32, ptr %502, align 4, !tbaa !15
  %504 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %500, ptr noundef @.str.15, ptr noundef @.str.3, i32 noundef 70, i32 noundef %501, i32 noundef %503)
          to label %505 unwind label %506

505:                                              ; preds = %499
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %510

506:                                              ; preds = %520, %517, %513, %499, %491
  %507 = landingpad { ptr, i32 }
          cleanup
  %508 = extractvalue { ptr, i32 } %507, 0
  store ptr %508, ptr %7, align 8
  %509 = extractvalue { ptr, i32 } %507, 1
  store i32 %509, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #8
  br label %529

510:                                              ; preds = %505, %494
  br label %511

511:                                              ; preds = %510
  br label %512

512:                                              ; preds = %511
  br label %513

513:                                              ; preds = %512
  %514 = invoke noundef i32 @_ZN20PreviousResultsQueue4sizeEv(ptr noundef nonnull align 8 dereferenceable(416) %21)
          to label %515 unwind label %506

515:                                              ; preds = %513
  %516 = icmp ne i32 0, %514
  br i1 %516, label %517, label %523

517:                                              ; preds = %515
  %518 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %519 = invoke noundef i32 @_ZN20PreviousResultsQueue4sizeEv(ptr noundef nonnull align 8 dereferenceable(416) %21)
          to label %520 unwind label %506

520:                                              ; preds = %517
  %521 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %518, ptr noundef @.str.2, ptr noundef @.str.3, i32 noundef 71, i32 noundef 0, i32 noundef %519)
          to label %522 unwind label %506

522:                                              ; preds = %520
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %523

523:                                              ; preds = %522, %515
  br label %524

524:                                              ; preds = %523
  br label %525

525:                                              ; preds = %524
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #8
  br label %526

526:                                              ; preds = %525
  %527 = load i32, ptr %22, align 4, !tbaa !5
  %528 = add nsw i32 %527, 1
  store i32 %528, ptr %22, align 4, !tbaa !5
  br label %424, !llvm.loop !19

529:                                              ; preds = %506, %447, %443
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #8
  br label %544

530:                                              ; preds = %427
  call void @llvm.lifetime.end.p0(i64 416, ptr %21) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %20) #8
  call void @_ZN6tflite13ErrorReporterD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %19) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #8
  br label %531

531:                                              ; preds = %530
  store i8 1, ptr @_ZN10micro_test16is_test_completeE, align 1, !tbaa !11
  %532 = load i8, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11, !range !13, !noundef !14
  %533 = trunc i8 %532 to i1
  %534 = zext i1 %533 to i64
  %535 = select i1 %533, i32 0, i32 1
  %536 = load i32, ptr @_ZN10micro_test12tests_passedE, align 4, !tbaa !5
  %537 = add nsw i32 %536, %535
  store i32 %537, ptr @_ZN10micro_test12tests_passedE, align 4, !tbaa !5
  %538 = load i8, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11, !range !13, !noundef !14
  %539 = trunc i8 %538 to i1
  %540 = zext i1 %539 to i64
  %541 = select i1 %539, i32 1, i32 0
  %542 = load i32, ptr @_ZN10micro_test12tests_failedE, align 4, !tbaa !5
  %543 = add nsw i32 %542, %541
  store i32 %543, ptr @_ZN10micro_test12tests_failedE, align 4, !tbaa !5
  br label %400, !llvm.loop !20

544:                                              ; preds = %529, %417
  call void @llvm.lifetime.end.p0(i64 416, ptr %21) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %20) #8
  call void @_ZN6tflite13ErrorReporterD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %19) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #8
  br label %1137

545:                                              ; preds = %400
  %546 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %547 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %546, ptr noundef @.str, ptr noundef @.str.16)
          to label %548 unwind label %127

548:                                              ; preds = %545
  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 %549

549:                                              ; preds = %601, %548
  %550 = load i8, ptr @_ZN10micro_test16is_test_completeE, align 1, !tbaa !11, !range !13, !noundef !14
  %551 = trunc i8 %550 to i1
  %552 = xor i1 %551, true
  br i1 %552, label %553, label %616

553:                                              ; preds = %549
  call void @llvm.lifetime.start.p0(i64 8, ptr %26) #8
  call void @_ZN6tflite18MicroErrorReporterC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %26) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %27) #8
  store ptr %26, ptr %27, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 456, ptr %28) #8
  %554 = load ptr, ptr %27, align 8, !tbaa !9
  invoke void @_ZN17RecognizeCommandsC1EPN6tflite13ErrorReporterEihii(ptr noundef nonnull align 8 dereferenceable(452) %28, ptr noundef %554, i32 noundef 1000, i8 noundef zeroext -56, i32 noundef 1500, i32 noundef 3)
          to label %555 unwind label %586

555:                                              ; preds = %553
  call void @llvm.lifetime.start.p0(i64 16, ptr %29) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr %30) #8
  store i8 -1, ptr %30, align 1, !tbaa !21
  %556 = getelementptr inbounds i8, ptr %30, i64 1
  store i8 0, ptr %556, align 1, !tbaa !21
  %557 = getelementptr inbounds i8, ptr %30, i64 2
  store i8 0, ptr %557, align 1, !tbaa !21
  %558 = getelementptr inbounds i8, ptr %30, i64 3
  store i8 0, ptr %558, align 1, !tbaa !21
  %559 = getelementptr inbounds %"class.std::initializer_list", ptr %29, i32 0, i32 0
  store ptr %30, ptr %559, align 8, !tbaa !22
  %560 = getelementptr inbounds %"class.std::initializer_list", ptr %29, i32 0, i32 1
  store i64 4, ptr %560, align 8, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 16, ptr %31) #8
  call void @llvm.lifetime.start.p0(i64 12, ptr %32) #8
  store i32 2, ptr %32, align 4, !tbaa !5
  %561 = getelementptr inbounds i32, ptr %32, i64 1
  store i32 1, ptr %561, align 4, !tbaa !5
  %562 = getelementptr inbounds i32, ptr %32, i64 2
  store i32 4, ptr %562, align 4, !tbaa !5
  %563 = getelementptr inbounds %"class.std::initializer_list.0", ptr %31, i32 0, i32 0
  store ptr %32, ptr %563, align 8, !tbaa !26
  %564 = getelementptr inbounds %"class.std::initializer_list.0", ptr %31, i32 0, i32 1
  store i64 3, ptr %564, align 8, !tbaa !28
  call void @llvm.lifetime.start.p0(i64 96, ptr %33) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %34, ptr align 8 %29, i64 16, i1 false), !tbaa.struct !29
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %35, ptr align 8 %31, i64 16, i1 false), !tbaa.struct !29
  %565 = getelementptr inbounds { ptr, i64 }, ptr %35, i32 0, i32 0
  %566 = load ptr, ptr %565, align 8
  %567 = getelementptr inbounds { ptr, i64 }, ptr %35, i32 0, i32 1
  %568 = load i64, ptr %567, align 8
  %569 = invoke noundef ptr @_ZN6tflite7testing23IntArrayFromInitializerESt16initializer_listIiE(ptr %566, i64 %568)
          to label %570 unwind label %590

570:                                              ; preds = %555
  %571 = getelementptr inbounds { ptr, i64 }, ptr %34, i32 0, i32 0
  %572 = load ptr, ptr %571, align 8
  %573 = getelementptr inbounds { ptr, i64 }, ptr %34, i32 0, i32 1
  %574 = load i64, ptr %573, align 8
  invoke void @_ZN6tflite7testing21CreateQuantizedTensorESt16initializer_listIhEP14TfLiteIntArrayPKcff(ptr dead_on_unwind writable sret(%struct.TfLiteTensor) align 8 %33, ptr %572, i64 %574, ptr noundef %569, ptr noundef @.str.17, float noundef 0.000000e+00, float noundef 1.280000e+02)
          to label %575 unwind label %590

575:                                              ; preds = %570
  call void @llvm.lifetime.start.p0(i64 8, ptr %36) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %37) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %38) #8
  br label %576

576:                                              ; preds = %575
  %577 = invoke noundef i32 @_ZN17RecognizeCommands20ProcessLatestResultsEPK12TfLiteTensoriPPKcPhPb(ptr noundef nonnull align 8 dereferenceable(452) %28, ptr noundef %33, i32 noundef 0, ptr noundef %36, ptr noundef %37, ptr noundef %38)
          to label %578 unwind label %594

578:                                              ; preds = %576
  %579 = icmp ne i32 0, %577
  br i1 %579, label %580, label %598

580:                                              ; preds = %578
  %581 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %582 = invoke noundef i32 @_ZN17RecognizeCommands20ProcessLatestResultsEPK12TfLiteTensoriPPKcPhPb(ptr noundef nonnull align 8 dereferenceable(452) %28, ptr noundef %33, i32 noundef 0, ptr noundef %36, ptr noundef %37, ptr noundef %38)
          to label %583 unwind label %594

583:                                              ; preds = %580
  %584 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %581, ptr noundef @.str.18, ptr noundef @.str.3, i32 noundef 92, i32 noundef 0, i32 noundef %582)
          to label %585 unwind label %594

585:                                              ; preds = %583
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %598

586:                                              ; preds = %553
  %587 = landingpad { ptr, i32 }
          cleanup
  %588 = extractvalue { ptr, i32 } %587, 0
  store ptr %588, ptr %7, align 8
  %589 = extractvalue { ptr, i32 } %587, 1
  store i32 %589, ptr %8, align 4
  br label %615

590:                                              ; preds = %570, %555
  %591 = landingpad { ptr, i32 }
          cleanup
  %592 = extractvalue { ptr, i32 } %591, 0
  store ptr %592, ptr %7, align 8
  %593 = extractvalue { ptr, i32 } %591, 1
  store i32 %593, ptr %8, align 4
  br label %614

594:                                              ; preds = %583, %580, %576
  %595 = landingpad { ptr, i32 }
          cleanup
  %596 = extractvalue { ptr, i32 } %595, 0
  store ptr %596, ptr %7, align 8
  %597 = extractvalue { ptr, i32 } %595, 1
  store i32 %597, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 1, ptr %38) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %37) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #8
  br label %614

598:                                              ; preds = %585, %578
  br label %599

599:                                              ; preds = %598
  br label %600

600:                                              ; preds = %599
  call void @llvm.lifetime.end.p0(i64 1, ptr %38) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %37) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #8
  call void @llvm.lifetime.end.p0(i64 96, ptr %33) #8
  call void @llvm.lifetime.end.p0(i64 12, ptr %32) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %31) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %29) #8
  call void @llvm.lifetime.end.p0(i64 456, ptr %28) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #8
  call void @_ZN6tflite13ErrorReporterD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %26) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #8
  br label %601

601:                                              ; preds = %600
  store i8 1, ptr @_ZN10micro_test16is_test_completeE, align 1, !tbaa !11
  %602 = load i8, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11, !range !13, !noundef !14
  %603 = trunc i8 %602 to i1
  %604 = zext i1 %603 to i64
  %605 = select i1 %603, i32 0, i32 1
  %606 = load i32, ptr @_ZN10micro_test12tests_passedE, align 4, !tbaa !5
  %607 = add nsw i32 %606, %605
  store i32 %607, ptr @_ZN10micro_test12tests_passedE, align 4, !tbaa !5
  %608 = load i8, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11, !range !13, !noundef !14
  %609 = trunc i8 %608 to i1
  %610 = zext i1 %609 to i64
  %611 = select i1 %609, i32 1, i32 0
  %612 = load i32, ptr @_ZN10micro_test12tests_failedE, align 4, !tbaa !5
  %613 = add nsw i32 %612, %611
  store i32 %613, ptr @_ZN10micro_test12tests_failedE, align 4, !tbaa !5
  br label %549, !llvm.loop !31

614:                                              ; preds = %594, %590
  call void @llvm.lifetime.end.p0(i64 96, ptr %33) #8
  call void @llvm.lifetime.end.p0(i64 12, ptr %32) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %31) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %29) #8
  br label %615

615:                                              ; preds = %614, %586
  call void @llvm.lifetime.end.p0(i64 456, ptr %28) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #8
  call void @_ZN6tflite13ErrorReporterD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %26) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #8
  br label %1137

616:                                              ; preds = %549
  %617 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %618 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %617, ptr noundef @.str, ptr noundef @.str.19)
          to label %619 unwind label %127

619:                                              ; preds = %616
  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 %620

620:                                              ; preds = %850, %619
  %621 = load i8, ptr @_ZN10micro_test16is_test_completeE, align 1, !tbaa !11, !range !13, !noundef !14
  %622 = trunc i8 %621 to i1
  %623 = xor i1 %622, true
  br i1 %623, label %624, label %868

624:                                              ; preds = %620
  call void @llvm.lifetime.start.p0(i64 8, ptr %39) #8
  call void @_ZN6tflite18MicroErrorReporterC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %39) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %40) #8
  store ptr %39, ptr %40, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 456, ptr %41) #8
  %625 = load ptr, ptr %40, align 8, !tbaa !9
  invoke void @_ZN17RecognizeCommandsC1EPN6tflite13ErrorReporterEihii(ptr noundef nonnull align 8 dereferenceable(452) %41, ptr noundef %625, i32 noundef 1000, i8 noundef zeroext 51, i32 noundef 1500, i32 noundef 3)
          to label %626 unwind label %651

626:                                              ; preds = %624
  call void @llvm.lifetime.start.p0(i64 16, ptr %42) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr %43) #8
  store i8 0, ptr %43, align 1, !tbaa !21
  %627 = getelementptr inbounds i8, ptr %43, i64 1
  store i8 0, ptr %627, align 1, !tbaa !21
  %628 = getelementptr inbounds i8, ptr %43, i64 2
  store i8 -1, ptr %628, align 1, !tbaa !21
  %629 = getelementptr inbounds i8, ptr %43, i64 3
  store i8 0, ptr %629, align 1, !tbaa !21
  %630 = getelementptr inbounds %"class.std::initializer_list", ptr %42, i32 0, i32 0
  store ptr %43, ptr %630, align 8, !tbaa !22
  %631 = getelementptr inbounds %"class.std::initializer_list", ptr %42, i32 0, i32 1
  store i64 4, ptr %631, align 8, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 16, ptr %44) #8
  call void @llvm.lifetime.start.p0(i64 12, ptr %45) #8
  store i32 2, ptr %45, align 4, !tbaa !5
  %632 = getelementptr inbounds i32, ptr %45, i64 1
  store i32 1, ptr %632, align 4, !tbaa !5
  %633 = getelementptr inbounds i32, ptr %45, i64 2
  store i32 4, ptr %633, align 4, !tbaa !5
  %634 = getelementptr inbounds %"class.std::initializer_list.0", ptr %44, i32 0, i32 0
  store ptr %45, ptr %634, align 8, !tbaa !26
  %635 = getelementptr inbounds %"class.std::initializer_list.0", ptr %44, i32 0, i32 1
  store i64 3, ptr %635, align 8, !tbaa !28
  call void @llvm.lifetime.start.p0(i64 96, ptr %46) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %47, ptr align 8 %42, i64 16, i1 false), !tbaa.struct !29
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %48, ptr align 8 %44, i64 16, i1 false), !tbaa.struct !29
  %636 = getelementptr inbounds { ptr, i64 }, ptr %48, i32 0, i32 0
  %637 = load ptr, ptr %636, align 8
  %638 = getelementptr inbounds { ptr, i64 }, ptr %48, i32 0, i32 1
  %639 = load i64, ptr %638, align 8
  %640 = invoke noundef ptr @_ZN6tflite7testing23IntArrayFromInitializerESt16initializer_listIiE(ptr %637, i64 %639)
          to label %641 unwind label %655

641:                                              ; preds = %626
  %642 = getelementptr inbounds { ptr, i64 }, ptr %47, i32 0, i32 0
  %643 = load ptr, ptr %642, align 8
  %644 = getelementptr inbounds { ptr, i64 }, ptr %47, i32 0, i32 1
  %645 = load i64, ptr %644, align 8
  invoke void @_ZN6tflite7testing21CreateQuantizedTensorESt16initializer_listIhEP14TfLiteIntArrayPKcff(ptr dead_on_unwind writable sret(%struct.TfLiteTensor) align 8 %46, ptr %643, i64 %645, ptr noundef %640, ptr noundef @.str.17, float noundef 0.000000e+00, float noundef 1.280000e+02)
          to label %646 unwind label %655

646:                                              ; preds = %641
  call void @llvm.lifetime.start.p0(i64 1, ptr %49) #8
  store i8 0, ptr %49, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %50) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr %51) #8
  store i32 0, ptr %51, align 4, !tbaa !5
  br label %647

647:                                              ; preds = %697, %646
  %648 = load i32, ptr %51, align 4, !tbaa !5
  %649 = icmp slt i32 %648, 10
  br i1 %649, label %659, label %650

650:                                              ; preds = %647
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #8
  br label %700

651:                                              ; preds = %624
  %652 = landingpad { ptr, i32 }
          cleanup
  %653 = extractvalue { ptr, i32 } %652, 0
  store ptr %653, ptr %7, align 8
  %654 = extractvalue { ptr, i32 } %652, 1
  store i32 %654, ptr %8, align 4
  br label %867

655:                                              ; preds = %641, %626
  %656 = landingpad { ptr, i32 }
          cleanup
  %657 = extractvalue { ptr, i32 } %656, 0
  store ptr %657, ptr %7, align 8
  %658 = extractvalue { ptr, i32 } %656, 1
  store i32 %658, ptr %8, align 4
  br label %866

659:                                              ; preds = %647
  call void @llvm.lifetime.start.p0(i64 8, ptr %52) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %53) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %54) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr %55) #8
  %660 = load i32, ptr %51, align 4, !tbaa !5
  %661 = mul nsw i32 %660, 100
  %662 = add nsw i32 0, %661
  store i32 %662, ptr %55, align 4, !tbaa !5
  br label %663

663:                                              ; preds = %659
  %664 = load i32, ptr %55, align 4, !tbaa !5
  %665 = invoke noundef i32 @_ZN17RecognizeCommands20ProcessLatestResultsEPK12TfLiteTensoriPPKcPhPb(ptr noundef nonnull align 8 dereferenceable(452) %41, ptr noundef %46, i32 noundef %664, ptr noundef %52, ptr noundef %53, ptr noundef %54)
          to label %666 unwind label %675

666:                                              ; preds = %663
  %667 = icmp ne i32 0, %665
  br i1 %667, label %668, label %679

668:                                              ; preds = %666
  %669 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %670 = load i32, ptr %55, align 4, !tbaa !5
  %671 = invoke noundef i32 @_ZN17RecognizeCommands20ProcessLatestResultsEPK12TfLiteTensoriPPKcPhPb(ptr noundef nonnull align 8 dereferenceable(452) %41, ptr noundef %46, i32 noundef %670, ptr noundef %52, ptr noundef %53, ptr noundef %54)
          to label %672 unwind label %675

672:                                              ; preds = %668
  %673 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %669, ptr noundef @.str.20, ptr noundef @.str.3, i32 noundef 117, i32 noundef 0, i32 noundef %671)
          to label %674 unwind label %675

674:                                              ; preds = %672
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %679

675:                                              ; preds = %688, %672, %668, %663
  %676 = landingpad { ptr, i32 }
          cleanup
  %677 = extractvalue { ptr, i32 } %676, 0
  store ptr %677, ptr %7, align 8
  %678 = extractvalue { ptr, i32 } %676, 1
  store i32 %678, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %54) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %53) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %52) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #8
  br label %865

679:                                              ; preds = %674, %666
  br label %680

680:                                              ; preds = %679
  br label %681

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

684:                                              ; preds = %681
  br label %685

685:                                              ; preds = %684
  %686 = load i8, ptr %49, align 1, !tbaa !11, !range !13, !noundef !14
  %687 = trunc i8 %686 to i1
  br i1 %687, label %688, label %692

688:                                              ; preds = %685
  %689 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %690 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %689, ptr noundef @.str.21, ptr noundef @.str.3, i32 noundef 119)
          to label %691 unwind label %675

691:                                              ; preds = %688
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %692

692:                                              ; preds = %691, %685
  br label %693

693:                                              ; preds = %692
  br label %694

694:                                              ; preds = %693
  store i8 1, ptr %49, align 1, !tbaa !11
  %695 = load ptr, ptr %52, align 8, !tbaa !9
  store ptr %695, ptr %50, align 8, !tbaa !9
  br label %696

696:                                              ; preds = %694, %681
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %54) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %53) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %52) #8
  br label %697

697:                                              ; preds = %696
  %698 = load i32, ptr %51, align 4, !tbaa !5
  %699 = add nsw i32 %698, 1
  store i32 %699, ptr %51, align 4, !tbaa !5
  br label %647, !llvm.loop !32

700:                                              ; preds = %650
  br label %701

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

704:                                              ; preds = %701
  %705 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %706 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %705, ptr noundef @.str.22, ptr noundef @.str.3, i32 noundef 124)
          to label %707 unwind label %708

707:                                              ; preds = %704
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %712

708:                                              ; preds = %727, %723, %718, %704
  %709 = landingpad { ptr, i32 }
          cleanup
  %710 = extractvalue { ptr, i32 } %709, 0
  store ptr %710, ptr %7, align 8
  %711 = extractvalue { ptr, i32 } %709, 1
  store i32 %711, ptr %8, align 4
  br label %865

712:                                              ; preds = %707, %701
  br label %713

713:                                              ; preds = %712
  br label %714

714:                                              ; preds = %713
  %715 = load i8, ptr %49, align 1, !tbaa !11, !range !13, !noundef !14
  %716 = trunc i8 %715 to i1
  br i1 %716, label %717, label %733

717:                                              ; preds = %714
  br label %718

718:                                              ; preds = %717
  %719 = load ptr, ptr %50, align 8, !tbaa !9
  %720 = invoke noundef i32 @_ZN6tflite7testing10TestStrcmpEPKcS2_(ptr noundef @.str.23, ptr noundef %719)
          to label %721 unwind label %708

721:                                              ; preds = %718
  %722 = icmp ne i32 0, %720
  br i1 %722, label %723, label %730

723:                                              ; preds = %721
  %724 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %725 = load ptr, ptr %50, align 8, !tbaa !9
  %726 = invoke noundef i32 @_ZN6tflite7testing10TestStrcmpEPKcS2_(ptr noundef @.str.23, ptr noundef %725)
          to label %727 unwind label %708

727:                                              ; preds = %723
  %728 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %724, ptr noundef @.str.24, ptr noundef @.str.3, i32 noundef 126, i32 noundef 0, i32 noundef %726)
          to label %729 unwind label %708

729:                                              ; preds = %727
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %730

730:                                              ; preds = %729, %721
  br label %731

731:                                              ; preds = %730
  br label %732

732:                                              ; preds = %731
  br label %733

733:                                              ; preds = %732, %714
  call void @llvm.lifetime.start.p0(i64 16, ptr %56) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr %57) #8
  store i8 0, ptr %57, align 1, !tbaa !21
  %734 = getelementptr inbounds i8, ptr %57, i64 1
  store i8 0, ptr %734, align 1, !tbaa !21
  %735 = getelementptr inbounds i8, ptr %57, i64 2
  store i8 0, ptr %735, align 1, !tbaa !21
  %736 = getelementptr inbounds i8, ptr %57, i64 3
  store i8 -1, ptr %736, align 1, !tbaa !21
  %737 = getelementptr inbounds %"class.std::initializer_list", ptr %56, i32 0, i32 0
  store ptr %57, ptr %737, align 8, !tbaa !22
  %738 = getelementptr inbounds %"class.std::initializer_list", ptr %56, i32 0, i32 1
  store i64 4, ptr %738, align 8, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 16, ptr %58) #8
  call void @llvm.lifetime.start.p0(i64 12, ptr %59) #8
  store i32 2, ptr %59, align 4, !tbaa !5
  %739 = getelementptr inbounds i32, ptr %59, i64 1
  store i32 1, ptr %739, align 4, !tbaa !5
  %740 = getelementptr inbounds i32, ptr %59, i64 2
  store i32 4, ptr %740, align 4, !tbaa !5
  %741 = getelementptr inbounds %"class.std::initializer_list.0", ptr %58, i32 0, i32 0
  store ptr %59, ptr %741, align 8, !tbaa !26
  %742 = getelementptr inbounds %"class.std::initializer_list.0", ptr %58, i32 0, i32 1
  store i64 3, ptr %742, align 8, !tbaa !28
  call void @llvm.lifetime.start.p0(i64 96, ptr %60) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %61, ptr align 8 %56, i64 16, i1 false), !tbaa.struct !29
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %62, ptr align 8 %58, i64 16, i1 false), !tbaa.struct !29
  %743 = getelementptr inbounds { ptr, i64 }, ptr %62, i32 0, i32 0
  %744 = load ptr, ptr %743, align 8
  %745 = getelementptr inbounds { ptr, i64 }, ptr %62, i32 0, i32 1
  %746 = load i64, ptr %745, align 8
  %747 = invoke noundef ptr @_ZN6tflite7testing23IntArrayFromInitializerESt16initializer_listIiE(ptr %744, i64 %746)
          to label %748 unwind label %758

748:                                              ; preds = %733
  %749 = getelementptr inbounds { ptr, i64 }, ptr %61, i32 0, i32 0
  %750 = load ptr, ptr %749, align 8
  %751 = getelementptr inbounds { ptr, i64 }, ptr %61, i32 0, i32 1
  %752 = load i64, ptr %751, align 8
  invoke void @_ZN6tflite7testing21CreateQuantizedTensorESt16initializer_listIhEP14TfLiteIntArrayPKcff(ptr dead_on_unwind writable sret(%struct.TfLiteTensor) align 8 %60, ptr %750, i64 %752, ptr noundef %747, ptr noundef @.str.17, float noundef 0.000000e+00, float noundef 1.280000e+02)
          to label %753 unwind label %758

753:                                              ; preds = %748
  store i8 0, ptr %49, align 1, !tbaa !11
  store ptr @.str.25, ptr %50, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %63) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr %64) #8
  store i32 0, ptr %64, align 4, !tbaa !5
  br label %754

754:                                              ; preds = %800, %753
  %755 = load i32, ptr %64, align 4, !tbaa !5
  %756 = icmp slt i32 %755, 10
  br i1 %756, label %762, label %757

757:                                              ; preds = %754
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #8
  br label %803

758:                                              ; preds = %748, %733
  %759 = landingpad { ptr, i32 }
          cleanup
  %760 = extractvalue { ptr, i32 } %759, 0
  store ptr %760, ptr %7, align 8
  %761 = extractvalue { ptr, i32 } %759, 1
  store i32 %761, ptr %8, align 4
  br label %864

762:                                              ; preds = %754
  call void @llvm.lifetime.start.p0(i64 8, ptr %65) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %66) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr %67) #8
  %763 = load i32, ptr %64, align 4, !tbaa !5
  %764 = mul nsw i32 %763, 100
  %765 = add nsw i32 1000, %764
  store i32 %765, ptr %67, align 4, !tbaa !5
  br label %766

766:                                              ; preds = %762
  %767 = load i32, ptr %67, align 4, !tbaa !5
  %768 = invoke noundef i32 @_ZN17RecognizeCommands20ProcessLatestResultsEPK12TfLiteTensoriPPKcPhPb(ptr noundef nonnull align 8 dereferenceable(452) %41, ptr noundef %60, i32 noundef %767, ptr noundef %65, ptr noundef %63, ptr noundef %66)
          to label %769 unwind label %778

769:                                              ; preds = %766
  %770 = icmp ne i32 0, %768
  br i1 %770, label %771, label %782

771:                                              ; preds = %769
  %772 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %773 = load i32, ptr %67, align 4, !tbaa !5
  %774 = invoke noundef i32 @_ZN17RecognizeCommands20ProcessLatestResultsEPK12TfLiteTensoriPPKcPhPb(ptr noundef nonnull align 8 dereferenceable(452) %41, ptr noundef %60, i32 noundef %773, ptr noundef %65, ptr noundef %63, ptr noundef %66)
          to label %775 unwind label %778

775:                                              ; preds = %771
  %776 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %772, ptr noundef @.str.26, ptr noundef @.str.3, i32 noundef 144, i32 noundef 0, i32 noundef %774)
          to label %777 unwind label %778

777:                                              ; preds = %775
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %782

778:                                              ; preds = %791, %775, %771, %766
  %779 = landingpad { ptr, i32 }
          cleanup
  %780 = extractvalue { ptr, i32 } %779, 0
  store ptr %780, ptr %7, align 8
  %781 = extractvalue { ptr, i32 } %779, 1
  store i32 %781, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %66) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %65) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #8
  br label %863

782:                                              ; preds = %777, %769
  br label %783

783:                                              ; preds = %782
  br label %784

784:                                              ; preds = %783
  %785 = load i8, ptr %66, align 1, !tbaa !11, !range !13, !noundef !14
  %786 = trunc i8 %785 to i1
  br i1 %786, label %787, label %799

787:                                              ; preds = %784
  br label %788

788:                                              ; preds = %787
  %789 = load i8, ptr %49, align 1, !tbaa !11, !range !13, !noundef !14
  %790 = trunc i8 %789 to i1
  br i1 %790, label %791, label %795

791:                                              ; preds = %788
  %792 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %793 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %792, ptr noundef @.str.21, ptr noundef @.str.3, i32 noundef 146)
          to label %794 unwind label %778

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

795:                                              ; preds = %794, %788
  br label %796

796:                                              ; preds = %795
  br label %797

797:                                              ; preds = %796
  store i8 1, ptr %49, align 1, !tbaa !11
  %798 = load ptr, ptr %65, align 8, !tbaa !9
  store ptr %798, ptr %50, align 8, !tbaa !9
  br label %799

799:                                              ; preds = %797, %784
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %66) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %65) #8
  br label %800

800:                                              ; preds = %799
  %801 = load i32, ptr %64, align 4, !tbaa !5
  %802 = add nsw i32 %801, 1
  store i32 %802, ptr %64, align 4, !tbaa !5
  br label %754, !llvm.loop !33

803:                                              ; preds = %757
  br label %804

804:                                              ; preds = %803
  %805 = load i8, ptr %49, align 1, !tbaa !11, !range !13, !noundef !14
  %806 = trunc i8 %805 to i1
  br i1 %806, label %815, label %807

807:                                              ; preds = %804
  %808 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %809 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %808, ptr noundef @.str.22, ptr noundef @.str.3, i32 noundef 151)
          to label %810 unwind label %811

810:                                              ; preds = %807
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %815

811:                                              ; preds = %843, %839, %834, %825, %807
  %812 = landingpad { ptr, i32 }
          cleanup
  %813 = extractvalue { ptr, i32 } %812, 0
  store ptr %813, ptr %7, align 8
  %814 = extractvalue { ptr, i32 } %812, 1
  store i32 %814, ptr %8, align 4
  br label %863

815:                                              ; preds = %810, %804
  br label %816

816:                                              ; preds = %815
  br label %817

817:                                              ; preds = %816
  %818 = load i8, ptr %49, align 1, !tbaa !11, !range !13, !noundef !14
  %819 = trunc i8 %818 to i1
  br i1 %819, label %820, label %849

820:                                              ; preds = %817
  br label %821

821:                                              ; preds = %820
  %822 = load i8, ptr %63, align 1, !tbaa !21
  %823 = zext i8 %822 to i32
  %824 = icmp ne i32 231, %823
  br i1 %824, label %825, label %831

825:                                              ; preds = %821
  %826 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %827 = load i8, ptr %63, align 1, !tbaa !21
  %828 = zext i8 %827 to i32
  %829 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %826, ptr noundef @.str.27, ptr noundef @.str.3, i32 noundef 153, i32 noundef 231, i32 noundef %828)
          to label %830 unwind label %811

830:                                              ; preds = %825
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %831

831:                                              ; preds = %830, %821
  br label %832

832:                                              ; preds = %831
  br label %833

833:                                              ; preds = %832
  br label %834

834:                                              ; preds = %833
  %835 = load ptr, ptr %50, align 8, !tbaa !9
  %836 = invoke noundef i32 @_ZN6tflite7testing10TestStrcmpEPKcS2_(ptr noundef @.str.28, ptr noundef %835)
          to label %837 unwind label %811

837:                                              ; preds = %834
  %838 = icmp ne i32 0, %836
  br i1 %838, label %839, label %846

839:                                              ; preds = %837
  %840 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %841 = load ptr, ptr %50, align 8, !tbaa !9
  %842 = invoke noundef i32 @_ZN6tflite7testing10TestStrcmpEPKcS2_(ptr noundef @.str.28, ptr noundef %841)
          to label %843 unwind label %811

843:                                              ; preds = %839
  %844 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %840, ptr noundef @.str.29, ptr noundef @.str.3, i32 noundef 154, i32 noundef 0, i32 noundef %842)
          to label %845 unwind label %811

845:                                              ; preds = %843
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %846

846:                                              ; preds = %845, %837
  br label %847

847:                                              ; preds = %846
  br label %848

848:                                              ; preds = %847
  br label %849

849:                                              ; preds = %848, %817
  call void @llvm.lifetime.end.p0(i64 1, ptr %63) #8
  call void @llvm.lifetime.end.p0(i64 96, ptr %60) #8
  call void @llvm.lifetime.end.p0(i64 12, ptr %59) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %58) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %56) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %50) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %49) #8
  call void @llvm.lifetime.end.p0(i64 96, ptr %46) #8
  call void @llvm.lifetime.end.p0(i64 12, ptr %45) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %44) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %42) #8
  call void @llvm.lifetime.end.p0(i64 456, ptr %41) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #8
  call void @_ZN6tflite13ErrorReporterD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %39) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #8
  br label %850

850:                                              ; preds = %849
  store i8 1, ptr @_ZN10micro_test16is_test_completeE, align 1, !tbaa !11
  %851 = load i8, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11, !range !13, !noundef !14
  %852 = trunc i8 %851 to i1
  %853 = zext i1 %852 to i64
  %854 = select i1 %852, i32 0, i32 1
  %855 = load i32, ptr @_ZN10micro_test12tests_passedE, align 4, !tbaa !5
  %856 = add nsw i32 %855, %854
  store i32 %856, ptr @_ZN10micro_test12tests_passedE, align 4, !tbaa !5
  %857 = load i8, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11, !range !13, !noundef !14
  %858 = trunc i8 %857 to i1
  %859 = zext i1 %858 to i64
  %860 = select i1 %858, i32 1, i32 0
  %861 = load i32, ptr @_ZN10micro_test12tests_failedE, align 4, !tbaa !5
  %862 = add nsw i32 %861, %860
  store i32 %862, ptr @_ZN10micro_test12tests_failedE, align 4, !tbaa !5
  br label %620, !llvm.loop !34

863:                                              ; preds = %811, %778
  call void @llvm.lifetime.end.p0(i64 1, ptr %63) #8
  br label %864

864:                                              ; preds = %863, %758
  call void @llvm.lifetime.end.p0(i64 96, ptr %60) #8
  call void @llvm.lifetime.end.p0(i64 12, ptr %59) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %58) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %56) #8
  br label %865

865:                                              ; preds = %864, %708, %675
  call void @llvm.lifetime.end.p0(i64 8, ptr %50) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %49) #8
  br label %866

866:                                              ; preds = %865, %655
  call void @llvm.lifetime.end.p0(i64 96, ptr %46) #8
  call void @llvm.lifetime.end.p0(i64 12, ptr %45) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %44) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %42) #8
  br label %867

867:                                              ; preds = %866, %651
  call void @llvm.lifetime.end.p0(i64 456, ptr %41) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #8
  call void @_ZN6tflite13ErrorReporterD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %39) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #8
  br label %1137

868:                                              ; preds = %620
  %869 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %870 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %869, ptr noundef @.str, ptr noundef @.str.30)
          to label %871 unwind label %127

871:                                              ; preds = %868
  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 %872

872:                                              ; preds = %921, %871
  %873 = load i8, ptr @_ZN10micro_test16is_test_completeE, align 1, !tbaa !11, !range !13, !noundef !14
  %874 = trunc i8 %873 to i1
  %875 = xor i1 %874, true
  br i1 %875, label %876, label %936

876:                                              ; preds = %872
  call void @llvm.lifetime.start.p0(i64 8, ptr %68) #8
  call void @_ZN6tflite18MicroErrorReporterC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %68) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %69) #8
  store ptr %68, ptr %69, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 456, ptr %70) #8
  %877 = load ptr, ptr %69, align 8, !tbaa !9
  invoke void @_ZN17RecognizeCommandsC1EPN6tflite13ErrorReporterEihii(ptr noundef nonnull align 8 dereferenceable(452) %70, ptr noundef %877, i32 noundef 1000, i8 noundef zeroext 51, i32 noundef 1500, i32 noundef 3)
          to label %878 unwind label %906

878:                                              ; preds = %876
  call void @llvm.lifetime.start.p0(i64 16, ptr %71) #8
  call void @llvm.lifetime.start.p0(i64 3, ptr %72) #8
  store i8 0, ptr %72, align 1, !tbaa !21
  %879 = getelementptr inbounds i8, ptr %72, i64 1
  store i8 0, ptr %879, align 1, !tbaa !21
  %880 = getelementptr inbounds i8, ptr %72, i64 2
  store i8 -1, ptr %880, align 1, !tbaa !21
  %881 = getelementptr inbounds %"class.std::initializer_list", ptr %71, i32 0, i32 0
  store ptr %72, ptr %881, align 8, !tbaa !22
  %882 = getelementptr inbounds %"class.std::initializer_list", ptr %71, i32 0, i32 1
  store i64 3, ptr %882, align 8, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 16, ptr %73) #8
  call void @llvm.lifetime.start.p0(i64 12, ptr %74) #8
  store i32 2, ptr %74, align 4, !tbaa !5
  %883 = getelementptr inbounds i32, ptr %74, i64 1
  store i32 1, ptr %883, align 4, !tbaa !5
  %884 = getelementptr inbounds i32, ptr %74, i64 2
  store i32 3, ptr %884, align 4, !tbaa !5
  %885 = getelementptr inbounds %"class.std::initializer_list.0", ptr %73, i32 0, i32 0
  store ptr %74, ptr %885, align 8, !tbaa !26
  %886 = getelementptr inbounds %"class.std::initializer_list.0", ptr %73, i32 0, i32 1
  store i64 3, ptr %886, align 8, !tbaa !28
  call void @llvm.lifetime.start.p0(i64 96, ptr %75) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %76, ptr align 8 %71, i64 16, i1 false), !tbaa.struct !29
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %77, ptr align 8 %73, i64 16, i1 false), !tbaa.struct !29
  %887 = getelementptr inbounds { ptr, i64 }, ptr %77, i32 0, i32 0
  %888 = load ptr, ptr %887, align 8
  %889 = getelementptr inbounds { ptr, i64 }, ptr %77, i32 0, i32 1
  %890 = load i64, ptr %889, align 8
  %891 = invoke noundef ptr @_ZN6tflite7testing23IntArrayFromInitializerESt16initializer_listIiE(ptr %888, i64 %890)
          to label %892 unwind label %910

892:                                              ; preds = %878
  %893 = getelementptr inbounds { ptr, i64 }, ptr %76, i32 0, i32 0
  %894 = load ptr, ptr %893, align 8
  %895 = getelementptr inbounds { ptr, i64 }, ptr %76, i32 0, i32 1
  %896 = load i64, ptr %895, align 8
  invoke void @_ZN6tflite7testing21CreateQuantizedTensorESt16initializer_listIhEP14TfLiteIntArrayPKcff(ptr dead_on_unwind writable sret(%struct.TfLiteTensor) align 8 %75, ptr %894, i64 %896, ptr noundef %891, ptr noundef @.str.17, float noundef 0.000000e+00, float noundef 1.280000e+02)
          to label %897 unwind label %910

897:                                              ; preds = %892
  call void @llvm.lifetime.start.p0(i64 8, ptr %78) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %79) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %80) #8
  br label %898

898:                                              ; preds = %897
  %899 = invoke noundef i32 @_ZN17RecognizeCommands20ProcessLatestResultsEPK12TfLiteTensoriPPKcPhPb(ptr noundef nonnull align 8 dereferenceable(452) %70, ptr noundef %75, i32 noundef 0, ptr noundef %78, ptr noundef %79, ptr noundef %80)
          to label %900 unwind label %914

900:                                              ; preds = %898
  %901 = icmp eq i32 0, %899
  br i1 %901, label %902, label %918

902:                                              ; preds = %900
  %903 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %904 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %903, ptr noundef @.str.31, ptr noundef @.str.3, i32 noundef 175)
          to label %905 unwind label %914

905:                                              ; preds = %902
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %918

906:                                              ; preds = %876
  %907 = landingpad { ptr, i32 }
          cleanup
  %908 = extractvalue { ptr, i32 } %907, 0
  store ptr %908, ptr %7, align 8
  %909 = extractvalue { ptr, i32 } %907, 1
  store i32 %909, ptr %8, align 4
  br label %935

910:                                              ; preds = %892, %878
  %911 = landingpad { ptr, i32 }
          cleanup
  %912 = extractvalue { ptr, i32 } %911, 0
  store ptr %912, ptr %7, align 8
  %913 = extractvalue { ptr, i32 } %911, 1
  store i32 %913, ptr %8, align 4
  br label %934

914:                                              ; preds = %902, %898
  %915 = landingpad { ptr, i32 }
          cleanup
  %916 = extractvalue { ptr, i32 } %915, 0
  store ptr %916, ptr %7, align 8
  %917 = extractvalue { ptr, i32 } %915, 1
  store i32 %917, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 1, ptr %80) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %79) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %78) #8
  br label %934

918:                                              ; preds = %905, %900
  br label %919

919:                                              ; preds = %918
  br label %920

920:                                              ; preds = %919
  call void @llvm.lifetime.end.p0(i64 1, ptr %80) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %79) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %78) #8
  call void @llvm.lifetime.end.p0(i64 96, ptr %75) #8
  call void @llvm.lifetime.end.p0(i64 12, ptr %74) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %73) #8
  call void @llvm.lifetime.end.p0(i64 3, ptr %72) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %71) #8
  call void @llvm.lifetime.end.p0(i64 456, ptr %70) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %69) #8
  call void @_ZN6tflite13ErrorReporterD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %68) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %68) #8
  br label %921

921:                                              ; preds = %920
  store i8 1, ptr @_ZN10micro_test16is_test_completeE, align 1, !tbaa !11
  %922 = load i8, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11, !range !13, !noundef !14
  %923 = trunc i8 %922 to i1
  %924 = zext i1 %923 to i64
  %925 = select i1 %923, i32 0, i32 1
  %926 = load i32, ptr @_ZN10micro_test12tests_passedE, align 4, !tbaa !5
  %927 = add nsw i32 %926, %925
  store i32 %927, ptr @_ZN10micro_test12tests_passedE, align 4, !tbaa !5
  %928 = load i8, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11, !range !13, !noundef !14
  %929 = trunc i8 %928 to i1
  %930 = zext i1 %929 to i64
  %931 = select i1 %929, i32 1, i32 0
  %932 = load i32, ptr @_ZN10micro_test12tests_failedE, align 4, !tbaa !5
  %933 = add nsw i32 %932, %931
  store i32 %933, ptr @_ZN10micro_test12tests_failedE, align 4, !tbaa !5
  br label %872, !llvm.loop !35

934:                                              ; preds = %914, %910
  call void @llvm.lifetime.end.p0(i64 96, ptr %75) #8
  call void @llvm.lifetime.end.p0(i64 12, ptr %74) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %73) #8
  call void @llvm.lifetime.end.p0(i64 3, ptr %72) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %71) #8
  br label %935

935:                                              ; preds = %934, %906
  call void @llvm.lifetime.end.p0(i64 456, ptr %70) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %69) #8
  call void @_ZN6tflite13ErrorReporterD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %68) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %68) #8
  br label %1137

936:                                              ; preds = %872
  %937 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %938 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %937, ptr noundef @.str, ptr noundef @.str.32)
          to label %939 unwind label %127

939:                                              ; preds = %936
  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 %940

940:                                              ; preds = %1003, %939
  %941 = load i8, ptr @_ZN10micro_test16is_test_completeE, align 1, !tbaa !11, !range !13, !noundef !14
  %942 = trunc i8 %941 to i1
  %943 = xor i1 %942, true
  br i1 %943, label %944, label %1018

944:                                              ; preds = %940
  call void @llvm.lifetime.start.p0(i64 8, ptr %81) #8
  call void @_ZN6tflite18MicroErrorReporterC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %81) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %82) #8
  store ptr %81, ptr %82, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 456, ptr %83) #8
  %945 = load ptr, ptr %82, align 8, !tbaa !9
  invoke void @_ZN17RecognizeCommandsC1EPN6tflite13ErrorReporterEihii(ptr noundef nonnull align 8 dereferenceable(452) %83, ptr noundef %945, i32 noundef 1000, i8 noundef zeroext 51, i32 noundef 1500, i32 noundef 3)
          to label %946 unwind label %977

946:                                              ; preds = %944
  call void @llvm.lifetime.start.p0(i64 16, ptr %84) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr %85) #8
  store i8 0, ptr %85, align 1, !tbaa !21
  %947 = getelementptr inbounds i8, ptr %85, i64 1
  store i8 0, ptr %947, align 1, !tbaa !21
  %948 = getelementptr inbounds i8, ptr %85, i64 2
  store i8 -1, ptr %948, align 1, !tbaa !21
  %949 = getelementptr inbounds i8, ptr %85, i64 3
  store i8 0, ptr %949, align 1, !tbaa !21
  %950 = getelementptr inbounds %"class.std::initializer_list", ptr %84, i32 0, i32 0
  store ptr %85, ptr %950, align 8, !tbaa !22
  %951 = getelementptr inbounds %"class.std::initializer_list", ptr %84, i32 0, i32 1
  store i64 4, ptr %951, align 8, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 16, ptr %86) #8
  call void @llvm.lifetime.start.p0(i64 12, ptr %87) #8
  store i32 2, ptr %87, align 4, !tbaa !5
  %952 = getelementptr inbounds i32, ptr %87, i64 1
  store i32 1, ptr %952, align 4, !tbaa !5
  %953 = getelementptr inbounds i32, ptr %87, i64 2
  store i32 4, ptr %953, align 4, !tbaa !5
  %954 = getelementptr inbounds %"class.std::initializer_list.0", ptr %86, i32 0, i32 0
  store ptr %87, ptr %954, align 8, !tbaa !26
  %955 = getelementptr inbounds %"class.std::initializer_list.0", ptr %86, i32 0, i32 1
  store i64 3, ptr %955, align 8, !tbaa !28
  call void @llvm.lifetime.start.p0(i64 96, ptr %88) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %89, ptr align 8 %84, i64 16, i1 false), !tbaa.struct !29
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %90, ptr align 8 %86, i64 16, i1 false), !tbaa.struct !29
  %956 = getelementptr inbounds { ptr, i64 }, ptr %90, i32 0, i32 0
  %957 = load ptr, ptr %956, align 8
  %958 = getelementptr inbounds { ptr, i64 }, ptr %90, i32 0, i32 1
  %959 = load i64, ptr %958, align 8
  %960 = invoke noundef ptr @_ZN6tflite7testing23IntArrayFromInitializerESt16initializer_listIiE(ptr %957, i64 %959)
          to label %961 unwind label %981

961:                                              ; preds = %946
  %962 = getelementptr inbounds { ptr, i64 }, ptr %89, i32 0, i32 0
  %963 = load ptr, ptr %962, align 8
  %964 = getelementptr inbounds { ptr, i64 }, ptr %89, i32 0, i32 1
  %965 = load i64, ptr %964, align 8
  invoke void @_ZN6tflite7testing21CreateQuantizedTensorESt16initializer_listIhEP14TfLiteIntArrayPKcff(ptr dead_on_unwind writable sret(%struct.TfLiteTensor) align 8 %88, ptr %963, i64 %965, ptr noundef %960, ptr noundef @.str.17, float noundef 0.000000e+00, float noundef 1.280000e+02)
          to label %966 unwind label %981

966:                                              ; preds = %961
  call void @llvm.lifetime.start.p0(i64 8, ptr %91) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %92) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %93) #8
  br label %967

967:                                              ; preds = %966
  %968 = invoke noundef i32 @_ZN17RecognizeCommands20ProcessLatestResultsEPK12TfLiteTensoriPPKcPhPb(ptr noundef nonnull align 8 dereferenceable(452) %83, ptr noundef %88, i32 noundef 100, ptr noundef %91, ptr noundef %92, ptr noundef %93)
          to label %969 unwind label %985

969:                                              ; preds = %967
  %970 = icmp ne i32 0, %968
  br i1 %970, label %971, label %989

971:                                              ; preds = %969
  %972 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %973 = invoke noundef i32 @_ZN17RecognizeCommands20ProcessLatestResultsEPK12TfLiteTensoriPPKcPhPb(ptr noundef nonnull align 8 dereferenceable(452) %83, ptr noundef %88, i32 noundef 100, ptr noundef %91, ptr noundef %92, ptr noundef %93)
          to label %974 unwind label %985

974:                                              ; preds = %971
  %975 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %972, ptr noundef @.str.33, ptr noundef @.str.3, i32 noundef 195, i32 noundef 0, i32 noundef %973)
          to label %976 unwind label %985

976:                                              ; preds = %974
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %989

977:                                              ; preds = %944
  %978 = landingpad { ptr, i32 }
          cleanup
  %979 = extractvalue { ptr, i32 } %978, 0
  store ptr %979, ptr %7, align 8
  %980 = extractvalue { ptr, i32 } %978, 1
  store i32 %980, ptr %8, align 4
  br label %1017

981:                                              ; preds = %961, %946
  %982 = landingpad { ptr, i32 }
          cleanup
  %983 = extractvalue { ptr, i32 } %982, 0
  store ptr %983, ptr %7, align 8
  %984 = extractvalue { ptr, i32 } %982, 1
  store i32 %984, ptr %8, align 4
  br label %1016

985:                                              ; preds = %996, %992, %974, %971, %967
  %986 = landingpad { ptr, i32 }
          cleanup
  %987 = extractvalue { ptr, i32 } %986, 0
  store ptr %987, ptr %7, align 8
  %988 = extractvalue { ptr, i32 } %986, 1
  store i32 %988, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 1, ptr %93) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %92) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %91) #8
  br label %1016

989:                                              ; preds = %976, %969
  br label %990

990:                                              ; preds = %989
  br label %991

991:                                              ; preds = %990
  br label %992

992:                                              ; preds = %991
  %993 = invoke noundef i32 @_ZN17RecognizeCommands20ProcessLatestResultsEPK12TfLiteTensoriPPKcPhPb(ptr noundef nonnull align 8 dereferenceable(452) %83, ptr noundef %88, i32 noundef 0, ptr noundef %91, ptr noundef %92, ptr noundef %93)
          to label %994 unwind label %985

994:                                              ; preds = %992
  %995 = icmp eq i32 0, %993
  br i1 %995, label %996, label %1000

996:                                              ; preds = %994
  %997 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %998 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %997, ptr noundef @.str.34, ptr noundef @.str.3, i32 noundef 198)
          to label %999 unwind label %985

999:                                              ; preds = %996
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %1000

1000:                                             ; preds = %999, %994
  br label %1001

1001:                                             ; preds = %1000
  br label %1002

1002:                                             ; preds = %1001
  call void @llvm.lifetime.end.p0(i64 1, ptr %93) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %92) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %91) #8
  call void @llvm.lifetime.end.p0(i64 96, ptr %88) #8
  call void @llvm.lifetime.end.p0(i64 12, ptr %87) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %86) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %84) #8
  call void @llvm.lifetime.end.p0(i64 456, ptr %83) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %82) #8
  call void @_ZN6tflite13ErrorReporterD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %81) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %81) #8
  br label %1003

1003:                                             ; preds = %1002
  store i8 1, ptr @_ZN10micro_test16is_test_completeE, align 1, !tbaa !11
  %1004 = load i8, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11, !range !13, !noundef !14
  %1005 = trunc i8 %1004 to i1
  %1006 = zext i1 %1005 to i64
  %1007 = select i1 %1005, i32 0, i32 1
  %1008 = load i32, ptr @_ZN10micro_test12tests_passedE, align 4, !tbaa !5
  %1009 = add nsw i32 %1008, %1007
  store i32 %1009, ptr @_ZN10micro_test12tests_passedE, align 4, !tbaa !5
  %1010 = load i8, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11, !range !13, !noundef !14
  %1011 = trunc i8 %1010 to i1
  %1012 = zext i1 %1011 to i64
  %1013 = select i1 %1011, i32 1, i32 0
  %1014 = load i32, ptr @_ZN10micro_test12tests_failedE, align 4, !tbaa !5
  %1015 = add nsw i32 %1014, %1013
  store i32 %1015, ptr @_ZN10micro_test12tests_failedE, align 4, !tbaa !5
  br label %940, !llvm.loop !36

1016:                                             ; preds = %985, %981
  call void @llvm.lifetime.end.p0(i64 96, ptr %88) #8
  call void @llvm.lifetime.end.p0(i64 12, ptr %87) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %86) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %84) #8
  br label %1017

1017:                                             ; preds = %1016, %977
  call void @llvm.lifetime.end.p0(i64 456, ptr %83) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %82) #8
  call void @_ZN6tflite13ErrorReporterD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %81) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %81) #8
  br label %1137

1018:                                             ; preds = %940
  %1019 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %1020 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %1019, ptr noundef @.str, ptr noundef @.str.35)
          to label %1021 unwind label %127

1021:                                             ; preds = %1018
  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 %1022

1022:                                             ; preds = %1102, %1021
  %1023 = load i8, ptr @_ZN10micro_test16is_test_completeE, align 1, !tbaa !11, !range !13, !noundef !14
  %1024 = trunc i8 %1023 to i1
  %1025 = xor i1 %1024, true
  br i1 %1025, label %1026, label %1117

1026:                                             ; preds = %1022
  call void @llvm.lifetime.start.p0(i64 8, ptr %94) #8
  call void @_ZN6tflite18MicroErrorReporterC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %94) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %95) #8
  store ptr %94, ptr %95, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 456, ptr %96) #8
  %1027 = load ptr, ptr %95, align 8, !tbaa !9
  invoke void @_ZN17RecognizeCommandsC1EPN6tflite13ErrorReporterEihii(ptr noundef nonnull align 8 dereferenceable(452) %96, ptr noundef %1027, i32 noundef 1000, i8 noundef zeroext 51, i32 noundef 1500, i32 noundef 3)
          to label %1028 unwind label %1059

1028:                                             ; preds = %1026
  call void @llvm.lifetime.start.p0(i64 16, ptr %97) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr %98) #8
  store i8 0, ptr %98, align 1, !tbaa !21
  %1029 = getelementptr inbounds i8, ptr %98, i64 1
  store i8 0, ptr %1029, align 1, !tbaa !21
  %1030 = getelementptr inbounds i8, ptr %98, i64 2
  store i8 -1, ptr %1030, align 1, !tbaa !21
  %1031 = getelementptr inbounds i8, ptr %98, i64 3
  store i8 0, ptr %1031, align 1, !tbaa !21
  %1032 = getelementptr inbounds %"class.std::initializer_list", ptr %97, i32 0, i32 0
  store ptr %98, ptr %1032, align 8, !tbaa !22
  %1033 = getelementptr inbounds %"class.std::initializer_list", ptr %97, i32 0, i32 1
  store i64 4, ptr %1033, align 8, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 16, ptr %99) #8
  call void @llvm.lifetime.start.p0(i64 12, ptr %100) #8
  store i32 2, ptr %100, align 4, !tbaa !5
  %1034 = getelementptr inbounds i32, ptr %100, i64 1
  store i32 1, ptr %1034, align 4, !tbaa !5
  %1035 = getelementptr inbounds i32, ptr %100, i64 2
  store i32 4, ptr %1035, align 4, !tbaa !5
  %1036 = getelementptr inbounds %"class.std::initializer_list.0", ptr %99, i32 0, i32 0
  store ptr %100, ptr %1036, align 8, !tbaa !26
  %1037 = getelementptr inbounds %"class.std::initializer_list.0", ptr %99, i32 0, i32 1
  store i64 3, ptr %1037, align 8, !tbaa !28
  call void @llvm.lifetime.start.p0(i64 96, ptr %101) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %102, ptr align 8 %97, i64 16, i1 false), !tbaa.struct !29
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %103, ptr align 8 %99, i64 16, i1 false), !tbaa.struct !29
  %1038 = getelementptr inbounds { ptr, i64 }, ptr %103, i32 0, i32 0
  %1039 = load ptr, ptr %1038, align 8
  %1040 = getelementptr inbounds { ptr, i64 }, ptr %103, i32 0, i32 1
  %1041 = load i64, ptr %1040, align 8
  %1042 = invoke noundef ptr @_ZN6tflite7testing23IntArrayFromInitializerESt16initializer_listIiE(ptr %1039, i64 %1041)
          to label %1043 unwind label %1063

1043:                                             ; preds = %1028
  %1044 = getelementptr inbounds { ptr, i64 }, ptr %102, i32 0, i32 0
  %1045 = load ptr, ptr %1044, align 8
  %1046 = getelementptr inbounds { ptr, i64 }, ptr %102, i32 0, i32 1
  %1047 = load i64, ptr %1046, align 8
  invoke void @_ZN6tflite7testing21CreateQuantizedTensorESt16initializer_listIhEP14TfLiteIntArrayPKcff(ptr dead_on_unwind writable sret(%struct.TfLiteTensor) align 8 %101, ptr %1045, i64 %1047, ptr noundef %1042, ptr noundef @.str.17, float noundef 0.000000e+00, float noundef 1.280000e+02)
          to label %1048 unwind label %1063

1048:                                             ; preds = %1043
  call void @llvm.lifetime.start.p0(i64 8, ptr %104) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %105) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %106) #8
  br label %1049

1049:                                             ; preds = %1048
  %1050 = invoke noundef i32 @_ZN17RecognizeCommands20ProcessLatestResultsEPK12TfLiteTensoriPPKcPhPb(ptr noundef nonnull align 8 dereferenceable(452) %96, ptr noundef %101, i32 noundef 100, ptr noundef %104, ptr noundef %105, ptr noundef %106)
          to label %1051 unwind label %1067

1051:                                             ; preds = %1049
  %1052 = icmp ne i32 0, %1050
  br i1 %1052, label %1053, label %1071

1053:                                             ; preds = %1051
  %1054 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %1055 = invoke noundef i32 @_ZN17RecognizeCommands20ProcessLatestResultsEPK12TfLiteTensoriPPKcPhPb(ptr noundef nonnull align 8 dereferenceable(452) %96, ptr noundef %101, i32 noundef 100, ptr noundef %104, ptr noundef %105, ptr noundef %106)
          to label %1056 unwind label %1067

1056:                                             ; preds = %1053
  %1057 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %1054, ptr noundef @.str.33, ptr noundef @.str.3, i32 noundef 218, i32 noundef 0, i32 noundef %1055)
          to label %1058 unwind label %1067

1058:                                             ; preds = %1056
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %1071

1059:                                             ; preds = %1026
  %1060 = landingpad { ptr, i32 }
          cleanup
  %1061 = extractvalue { ptr, i32 } %1060, 0
  store ptr %1061, ptr %7, align 8
  %1062 = extractvalue { ptr, i32 } %1060, 1
  store i32 %1062, ptr %8, align 4
  br label %1116

1063:                                             ; preds = %1043, %1028
  %1064 = landingpad { ptr, i32 }
          cleanup
  %1065 = extractvalue { ptr, i32 } %1064, 0
  store ptr %1065, ptr %7, align 8
  %1066 = extractvalue { ptr, i32 } %1064, 1
  store i32 %1066, ptr %8, align 4
  br label %1115

1067:                                             ; preds = %1092, %1078, %1056, %1053, %1049
  %1068 = landingpad { ptr, i32 }
          cleanup
  %1069 = extractvalue { ptr, i32 } %1068, 0
  store ptr %1069, ptr %7, align 8
  %1070 = extractvalue { ptr, i32 } %1068, 1
  store i32 %1070, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 1, ptr %106) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %105) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %104) #8
  br label %1115

1071:                                             ; preds = %1058, %1051
  br label %1072

1072:                                             ; preds = %1071
  br label %1073

1073:                                             ; preds = %1072
  br label %1074

1074:                                             ; preds = %1073
  %1075 = load i8, ptr %105, align 1, !tbaa !21
  %1076 = zext i8 %1075 to i32
  %1077 = icmp ne i32 0, %1076
  br i1 %1077, label %1078, label %1084

1078:                                             ; preds = %1074
  %1079 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %1080 = load i8, ptr %105, align 1, !tbaa !21
  %1081 = zext i8 %1080 to i32
  %1082 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %1079, ptr noundef @.str.36, ptr noundef @.str.3, i32 noundef 219, i32 noundef 0, i32 noundef %1081)
          to label %1083 unwind label %1067

1083:                                             ; preds = %1078
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %1084

1084:                                             ; preds = %1083, %1074
  br label %1085

1085:                                             ; preds = %1084
  br label %1086

1086:                                             ; preds = %1085
  br label %1087

1087:                                             ; preds = %1086
  %1088 = load i8, ptr %106, align 1, !tbaa !11, !range !13, !noundef !14
  %1089 = trunc i8 %1088 to i1
  %1090 = zext i1 %1089 to i32
  %1091 = icmp ne i32 0, %1090
  br i1 %1091, label %1092, label %1099

1092:                                             ; preds = %1087
  %1093 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %1094 = load i8, ptr %106, align 1, !tbaa !11, !range !13, !noundef !14
  %1095 = trunc i8 %1094 to i1
  %1096 = zext i1 %1095 to i32
  %1097 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %1093, ptr noundef @.str.37, ptr noundef @.str.3, i32 noundef 220, i32 noundef 0, i32 noundef %1096)
          to label %1098 unwind label %1067

1098:                                             ; preds = %1092
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %1099

1099:                                             ; preds = %1098, %1087
  br label %1100

1100:                                             ; preds = %1099
  br label %1101

1101:                                             ; preds = %1100
  call void @llvm.lifetime.end.p0(i64 1, ptr %106) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %105) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %104) #8
  call void @llvm.lifetime.end.p0(i64 96, ptr %101) #8
  call void @llvm.lifetime.end.p0(i64 12, ptr %100) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %99) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %98) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %97) #8
  call void @llvm.lifetime.end.p0(i64 456, ptr %96) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %95) #8
  call void @_ZN6tflite13ErrorReporterD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %94) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %94) #8
  br label %1102

1102:                                             ; preds = %1101
  store i8 1, ptr @_ZN10micro_test16is_test_completeE, align 1, !tbaa !11
  %1103 = load i8, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11, !range !13, !noundef !14
  %1104 = trunc i8 %1103 to i1
  %1105 = zext i1 %1104 to i64
  %1106 = select i1 %1104, i32 0, i32 1
  %1107 = load i32, ptr @_ZN10micro_test12tests_passedE, align 4, !tbaa !5
  %1108 = add nsw i32 %1107, %1106
  store i32 %1108, ptr @_ZN10micro_test12tests_passedE, align 4, !tbaa !5
  %1109 = load i8, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11, !range !13, !noundef !14
  %1110 = trunc i8 %1109 to i1
  %1111 = zext i1 %1110 to i64
  %1112 = select i1 %1110, i32 1, i32 0
  %1113 = load i32, ptr @_ZN10micro_test12tests_failedE, align 4, !tbaa !5
  %1114 = add nsw i32 %1113, %1112
  store i32 %1114, ptr @_ZN10micro_test12tests_failedE, align 4, !tbaa !5
  br label %1022, !llvm.loop !37

1115:                                             ; preds = %1067, %1063
  call void @llvm.lifetime.end.p0(i64 96, ptr %101) #8
  call void @llvm.lifetime.end.p0(i64 12, ptr %100) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %99) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %98) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %97) #8
  br label %1116

1116:                                             ; preds = %1115, %1059
  call void @llvm.lifetime.end.p0(i64 456, ptr %96) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %95) #8
  call void @_ZN6tflite13ErrorReporterD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %94) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %94) #8
  br label %1137

1117:                                             ; preds = %1022
  %1118 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %1119 = load i32, ptr @_ZN10micro_test12tests_passedE, align 4, !tbaa !5
  %1120 = load i32, ptr @_ZN10micro_test12tests_failedE, align 4, !tbaa !5
  %1121 = load i32, ptr @_ZN10micro_test12tests_passedE, align 4, !tbaa !5
  %1122 = add nsw i32 %1120, %1121
  %1123 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %1118, ptr noundef @.str.38, i32 noundef %1119, i32 noundef %1122)
          to label %1124 unwind label %127

1124:                                             ; preds = %1117
  %1125 = load i32, ptr @_ZN10micro_test12tests_failedE, align 4, !tbaa !5
  %1126 = icmp eq i32 %1125, 0
  br i1 %1126, label %1127, label %1131

1127:                                             ; preds = %1124
  %1128 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %1129 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %1128, ptr noundef @.str.39)
          to label %1130 unwind label %127

1130:                                             ; preds = %1127
  br label %1135

1131:                                             ; preds = %1124
  %1132 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %1133 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %1132, ptr noundef @.str.40)
          to label %1134 unwind label %127

1134:                                             ; preds = %1131
  br label %1135

1135:                                             ; preds = %1134, %1130
  call void @_ZN6tflite13ErrorReporterD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %6) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %6) #8
  %1136 = load i32, ptr %3, align 4
  ret i32 %1136

1137:                                             ; preds = %1116, %1017, %935, %867, %615, %544, %395, %127
  call void @_ZN6tflite13ErrorReporterD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %6) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %6) #8
  br label %1138

1138:                                             ; preds = %1137
  %1139 = load ptr, ptr %7, align 8
  %1140 = load i32, ptr %8, align 4
  %1141 = insertvalue { ptr, i32 } poison, ptr %1139, 0
  %1142 = insertvalue { ptr, i32 } %1141, i32 %1140, 1
  resume { ptr, i32 } %1142
}

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #1

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN6tflite18MicroErrorReporterC2Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #2 align 2

declare noundef i32 @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef, ...) #3

declare i32 @__gxx_personality_v0(...)

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN20PreviousResultsQueueC2EPN6tflite13ErrorReporterE(ptr noundef nonnull align 8 dereferenceable(416), ptr noundef) unnamed_addr #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZN20PreviousResultsQueue4sizeEv(ptr noundef nonnull align 8 dereferenceable(416)) #5 align 2

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #6

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN20PreviousResultsQueue9push_backERKNS_6ResultE(ptr noundef nonnull align 8 dereferenceable(416), ptr noundef nonnull align 4 dereferenceable(8)) #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN20PreviousResultsQueue6ResultC2EiPh(ptr noundef nonnull align 4 dereferenceable(8), i32 noundef, ptr noundef) unnamed_addr #5 align 2

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #1

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 4 dereferenceable(8) ptr @_ZN20PreviousResultsQueue5frontEv(ptr noundef nonnull align 8 dereferenceable(416)) #5 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 4 dereferenceable(8) ptr @_ZN20PreviousResultsQueue4backEv(ptr noundef nonnull align 8 dereferenceable(416)) #5 align 2

; Function Attrs: mustprogress uwtable
declare dso_local i64 @_ZN20PreviousResultsQueue9pop_frontEv(ptr noundef nonnull align 8 dereferenceable(416)) #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN6tflite13ErrorReporterD2Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #5 align 2

declare void @_ZN17RecognizeCommandsC1EPN6tflite13ErrorReporterEihii(ptr noundef nonnull align 8 dereferenceable(452), ptr noundef, i32 noundef, i8 noundef zeroext, i32 noundef, i32 noundef) unnamed_addr #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN6tflite7testing21CreateQuantizedTensorESt16initializer_listIhEP14TfLiteIntArrayPKcff(ptr dead_on_unwind noalias writable sret(%struct.TfLiteTensor) align 8, ptr, i64, ptr noundef, ptr noundef, float noundef, float noundef) #7

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef ptr @_ZN6tflite7testing23IntArrayFromInitializerESt16initializer_listIiE(ptr, i64) #7

declare noundef i32 @_ZN17RecognizeCommands20ProcessLatestResultsEPK12TfLiteTensoriPPKcPhPb(ptr noundef nonnull align 8 dereferenceable(452), ptr noundef, i32 noundef, ptr noundef, ptr noundef, ptr noundef) #3

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZN6tflite7testing10TestStrcmpEPKcS2_(ptr noundef, ptr noundef) #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 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { inlinehint 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 #3 = { "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 #4 = { 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 #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 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #7 = { 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 #8 = { 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 = !{!16, !6, i64 0}
!16 = !{!"_ZTSN20PreviousResultsQueue6ResultE", !6, i64 0, !7, i64 4}
!17 = distinct !{!17, !18}
!18 = !{!"llvm.loop.mustprogress"}
!19 = distinct !{!19, !18}
!20 = distinct !{!20, !18}
!21 = !{!7, !7, i64 0}
!22 = !{!23, !10, i64 0}
!23 = !{!"_ZTSSt16initializer_listIhE", !10, i64 0, !24, i64 8}
!24 = !{!"long", !7, i64 0}
!25 = !{!23, !24, i64 8}
!26 = !{!27, !10, i64 0}
!27 = !{!"_ZTSSt16initializer_listIiE", !10, i64 0, !24, i64 8}
!28 = !{!27, !24, i64 8}
!29 = !{i64 0, i64 8, !9, i64 8, i64 8, !30}
!30 = !{!24, !24, i64 0}
!31 = distinct !{!31, !18}
!32 = distinct !{!32, !18}
!33 = distinct !{!33, !18}
!34 = distinct !{!34, !18}
!35 = distinct !{!35, !18}
!36 = distinct !{!36, !18}
!37 = distinct !{!37, !18}


; Optimized IR (opt -passes='default<O3>'):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

%"class.tflite::MicroErrorReporter" = type { %"class.tflite::ErrorReporter" }
%"class.tflite::ErrorReporter" = type { ptr }
%class.PreviousResultsQueue = type { ptr, [50 x %"struct.PreviousResultsQueue::Result"], i32, i32 }
%"struct.PreviousResultsQueue::Result" = type { i32, [4 x i8] }
%class.RecognizeCommands = type <{ ptr, i32, i8, [3 x i8], i32, i32, %class.PreviousResultsQueue, ptr, i32, [4 x i8] }>
%struct.TfLiteTensor = type { i32, %union.TfLitePtrUnion, ptr, %struct.TfLiteQuantizationParams, i32, i64, ptr, ptr, ptr, i32, i8, i8, %struct.TfLiteQuantization }
%union.TfLitePtrUnion = type { ptr }
%struct.TfLiteQuantizationParams = type { float, i32 }
%struct.TfLiteQuantization = type { i32, 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
@_ZN10micro_test8reporterE = external dso_local local_unnamed_addr global ptr, align 8
@.str = external hidden unnamed_addr constant [11 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [135 x i8], align 1
@__const.main.scores_a = external hidden unnamed_addr constant [4 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [51 x i8], align 1
@__const.main.scores_b = external hidden unnamed_addr constant [4 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [52 x i8], align 1
@__const.main.scores_c = external hidden unnamed_addr constant [4 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [28 x i8], align 1
@__const.main.scores = external hidden unnamed_addr constant [4 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [135 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [153 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [38 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [1 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [152 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [128 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [137 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [124 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [38 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.40 = 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 nocapture noundef readnone %1) local_unnamed_addr #0 personality ptr @__gxx_personality_v0 {
  %3 = alloca %"class.tflite::MicroErrorReporter", align 8
  %4 = alloca %"class.tflite::MicroErrorReporter", align 8
  %5 = alloca %class.PreviousResultsQueue, align 8
  %6 = alloca [4 x i8], align 4
  %7 = alloca %"struct.PreviousResultsQueue::Result", align 4
  %8 = alloca [4 x i8], align 4
  %9 = alloca %"struct.PreviousResultsQueue::Result", align 4
  %10 = alloca [4 x i8], align 4
  %11 = alloca %"struct.PreviousResultsQueue::Result", align 4
  %12 = alloca %"class.tflite::MicroErrorReporter", align 8
  %13 = alloca %class.PreviousResultsQueue, align 8
  %14 = alloca [4 x i8], align 4
  %15 = alloca %"struct.PreviousResultsQueue::Result", align 4
  %16 = alloca %"class.tflite::MicroErrorReporter", align 8
  %17 = alloca %class.RecognizeCommands, align 8
  %18 = alloca [4 x i8], align 4
  %19 = alloca [3 x i32], align 4
  %20 = alloca %struct.TfLiteTensor, align 8
  %21 = alloca ptr, align 8
  %22 = alloca i8, align 1
  %23 = alloca i8, align 1
  %24 = alloca %"class.tflite::MicroErrorReporter", align 8
  %25 = alloca %class.RecognizeCommands, align 8
  %26 = alloca [4 x i8], align 4
  %27 = alloca [3 x i32], align 4
  %28 = alloca %struct.TfLiteTensor, align 8
  %29 = alloca ptr, align 8
  %30 = alloca i8, align 1
  %31 = alloca i8, align 1
  %32 = alloca [4 x i8], align 4
  %33 = alloca [3 x i32], align 4
  %34 = alloca %struct.TfLiteTensor, align 8
  %35 = alloca i8, align 1
  %36 = alloca ptr, align 8
  %37 = alloca i8, align 1
  %38 = alloca %"class.tflite::MicroErrorReporter", align 8
  %39 = alloca %class.RecognizeCommands, align 8
  %40 = alloca [3 x i8], align 1
  %41 = alloca [3 x i32], align 4
  %42 = alloca %struct.TfLiteTensor, align 8
  %43 = alloca ptr, align 8
  %44 = alloca i8, align 1
  %45 = alloca i8, align 1
  %46 = alloca %"class.tflite::MicroErrorReporter", align 8
  %47 = alloca %class.RecognizeCommands, align 8
  %48 = alloca [4 x i8], align 4
  %49 = alloca [3 x i32], align 4
  %50 = alloca %struct.TfLiteTensor, align 8
  %51 = alloca ptr, align 8
  %52 = alloca i8, align 1
  %53 = alloca i8, align 1
  %54 = alloca %"class.tflite::MicroErrorReporter", align 8
  %55 = alloca %class.RecognizeCommands, align 8
  %56 = alloca [4 x i8], align 4
  %57 = alloca [3 x i32], align 4
  %58 = alloca %struct.TfLiteTensor, align 8
  %59 = alloca ptr, align 8
  %60 = alloca i8, align 1
  %61 = alloca i8, align 1
  store i32 0, ptr @_ZN10micro_test12tests_passedE, align 4, !tbaa !5
  store i32 0, ptr @_ZN10micro_test12tests_failedE, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3) #7
  call void @_ZN6tflite18MicroErrorReporterC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %3) #7
  store ptr %3, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %62 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %3, ptr noundef nonnull @.str, ptr noundef nonnull @.str.1)
          to label %63 unwind label %74

63:                                               ; preds = %2
  store i8 0, ptr @_ZN10micro_test16is_test_completeE, align 1, !tbaa !11
  store i8 0, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  %64 = load i32, ptr @__const.main.scores_a, align 1
  %65 = load i32, ptr @__const.main.scores_b, align 1
  %66 = load i32, ptr @__const.main.scores_c, align 1
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %4) #7
  call void @_ZN6tflite18MicroErrorReporterC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %4) #7
  call void @llvm.lifetime.start.p0(i64 416, ptr nonnull %5) #7
  invoke void @_ZN20PreviousResultsQueueC2EPN6tflite13ErrorReporterE(ptr noundef nonnull align 8 dereferenceable(416) %5, ptr noundef nonnull %4)
          to label %67 unwind label %76

67:                                               ; preds = %63
  %68 = call noundef i32 @_ZN20PreviousResultsQueue4sizeEv(ptr noundef nonnull align 8 dereferenceable(416) %5)
  %.not163 = icmp eq i32 %68, 0
  br i1 %.not163, label %78, label %69

69:                                               ; preds = %67
  %70 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %71 = call noundef i32 @_ZN20PreviousResultsQueue4sizeEv(ptr noundef nonnull align 8 dereferenceable(416) %5)
  %72 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %70, ptr noundef nonnull @.str.2, ptr noundef nonnull @.str.3, i32 noundef 28, i32 noundef 0, i32 noundef %71)
          to label %73 unwind label %76

73:                                               ; preds = %69
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %78

74:                                               ; preds = %.invoke, %._crit_edge216, %._crit_edge213, %._crit_edge210, %._crit_edge207, %._crit_edge197, %._crit_edge194, %._crit_edge, %2
  %75 = landingpad { ptr, i32 }
          cleanup
  br label %876

76:                                               ; preds = %69, %63
  %77 = landingpad { ptr, i32 }
          cleanup
  br label %205

78:                                               ; preds = %73, %67
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %6) #7
  store i32 %64, ptr %6, align 4
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %7) #7
  call void @_ZN20PreviousResultsQueue6ResultC2EiPh(ptr noundef nonnull align 4 dereferenceable(8) %7, i32 noundef 0, ptr noundef nonnull %6)
  invoke void @_ZN20PreviousResultsQueue9push_backERKNS_6ResultE(ptr noundef nonnull align 8 dereferenceable(416) %5, ptr noundef nonnull align 4 dereferenceable(8) %7)
          to label %79 unwind label %86

79:                                               ; preds = %78
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #7
  %80 = call noundef i32 @_ZN20PreviousResultsQueue4sizeEv(ptr noundef nonnull align 8 dereferenceable(416) %5)
  %.not164 = icmp eq i32 %80, 1
  br i1 %.not164, label %90, label %81

81:                                               ; preds = %79
  %82 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %83 = call noundef i32 @_ZN20PreviousResultsQueue4sizeEv(ptr noundef nonnull align 8 dereferenceable(416) %5)
  %84 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %82, ptr noundef nonnull @.str.4, ptr noundef nonnull @.str.3, i32 noundef 32, i32 noundef 1, i32 noundef %83)
          to label %85 unwind label %88

85:                                               ; preds = %81
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %90

86:                                               ; preds = %78
  %87 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #7
  br label %204

88:                                               ; preds = %102, %93, %81
  %89 = landingpad { ptr, i32 }
          cleanup
  br label %204

90:                                               ; preds = %79, %85
  %91 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZN20PreviousResultsQueue5frontEv(ptr noundef nonnull align 8 dereferenceable(416) %5)
  %92 = load i32, ptr %91, align 4, !tbaa !13
  %.not165 = icmp eq i32 %92, 0
  br i1 %.not165, label %99, label %93

93:                                               ; preds = %90
  %94 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %95 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZN20PreviousResultsQueue5frontEv(ptr noundef nonnull align 8 dereferenceable(416) %5)
  %96 = load i32, ptr %95, align 4, !tbaa !13
  %97 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %94, ptr noundef nonnull @.str.5, ptr noundef nonnull @.str.3, i32 noundef 33, i32 noundef 0, i32 noundef %96)
          to label %98 unwind label %88

98:                                               ; preds = %93
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %99

99:                                               ; preds = %90, %98
  %100 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZN20PreviousResultsQueue4backEv(ptr noundef nonnull align 8 dereferenceable(416) %5)
  %101 = load i32, ptr %100, align 4, !tbaa !13
  %.not166 = icmp eq i32 %101, 0
  br i1 %.not166, label %108, label %102

102:                                              ; preds = %99
  %103 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %104 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZN20PreviousResultsQueue4backEv(ptr noundef nonnull align 8 dereferenceable(416) %5)
  %105 = load i32, ptr %104, align 4, !tbaa !13
  %106 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %103, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.3, i32 noundef 34, i32 noundef 0, i32 noundef %105)
          to label %107 unwind label %88

107:                                              ; preds = %102
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %108

108:                                              ; preds = %107, %99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %8) #7
  store i32 %65, ptr %8, align 4
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %9) #7
  call void @_ZN20PreviousResultsQueue6ResultC2EiPh(ptr noundef nonnull align 4 dereferenceable(8) %9, i32 noundef 1, ptr noundef nonnull %8)
  invoke void @_ZN20PreviousResultsQueue9push_backERKNS_6ResultE(ptr noundef nonnull align 8 dereferenceable(416) %5, ptr noundef nonnull align 4 dereferenceable(8) %9)
          to label %109 unwind label %116

109:                                              ; preds = %108
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %9) #7
  %110 = call noundef i32 @_ZN20PreviousResultsQueue4sizeEv(ptr noundef nonnull align 8 dereferenceable(416) %5)
  %.not167 = icmp eq i32 %110, 2
  br i1 %.not167, label %120, label %111

111:                                              ; preds = %109
  %112 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %113 = call noundef i32 @_ZN20PreviousResultsQueue4sizeEv(ptr noundef nonnull align 8 dereferenceable(416) %5)
  %114 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %112, ptr noundef nonnull @.str.7, ptr noundef nonnull @.str.3, i32 noundef 38, i32 noundef 2, i32 noundef %113)
          to label %115 unwind label %118

115:                                              ; preds = %111
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %120

116:                                              ; preds = %108
  %117 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %9) #7
  br label %203

118:                                              ; preds = %132, %123, %111
  %119 = landingpad { ptr, i32 }
          cleanup
  br label %203

120:                                              ; preds = %109, %115
  %121 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZN20PreviousResultsQueue5frontEv(ptr noundef nonnull align 8 dereferenceable(416) %5)
  %122 = load i32, ptr %121, align 4, !tbaa !13
  %.not168 = icmp eq i32 %122, 0
  br i1 %.not168, label %129, label %123

123:                                              ; preds = %120
  %124 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %125 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZN20PreviousResultsQueue5frontEv(ptr noundef nonnull align 8 dereferenceable(416) %5)
  %126 = load i32, ptr %125, align 4, !tbaa !13
  %127 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %124, ptr noundef nonnull @.str.5, ptr noundef nonnull @.str.3, i32 noundef 39, i32 noundef 0, i32 noundef %126)
          to label %128 unwind label %118

128:                                              ; preds = %123
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %129

129:                                              ; preds = %120, %128
  %130 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZN20PreviousResultsQueue4backEv(ptr noundef nonnull align 8 dereferenceable(416) %5)
  %131 = load i32, ptr %130, align 4, !tbaa !13
  %.not169 = icmp eq i32 %131, 1
  br i1 %.not169, label %138, label %132

132:                                              ; preds = %129
  %133 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %134 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZN20PreviousResultsQueue4backEv(ptr noundef nonnull align 8 dereferenceable(416) %5)
  %135 = load i32, ptr %134, align 4, !tbaa !13
  %136 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %133, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.3, i32 noundef 40, i32 noundef 1, i32 noundef %135)
          to label %137 unwind label %118

137:                                              ; preds = %132
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %138

138:                                              ; preds = %137, %129
  %139 = invoke i64 @_ZN20PreviousResultsQueue9pop_frontEv(ptr noundef nonnull align 8 dereferenceable(416) %5)
          to label %140 unwind label %145

140:                                              ; preds = %138
  %.sroa.081.0.extract.trunc = trunc i64 %139 to i32
  %.not170 = icmp eq i32 %.sroa.081.0.extract.trunc, 0
  br i1 %.not170, label %147, label %141

141:                                              ; preds = %140
  %142 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %143 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %142, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.3, i32 noundef 43, i32 noundef 0, i32 noundef %.sroa.081.0.extract.trunc)
          to label %144 unwind label %145

144:                                              ; preds = %141
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %147

145:                                              ; preds = %166, %157, %149, %141, %138
  %146 = landingpad { ptr, i32 }
          cleanup
  br label %203

147:                                              ; preds = %140, %144
  %148 = call noundef i32 @_ZN20PreviousResultsQueue4sizeEv(ptr noundef nonnull align 8 dereferenceable(416) %5)
  %.not171 = icmp eq i32 %148, 1
  br i1 %.not171, label %154, label %149

149:                                              ; preds = %147
  %150 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %151 = call noundef i32 @_ZN20PreviousResultsQueue4sizeEv(ptr noundef nonnull align 8 dereferenceable(416) %5)
  %152 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %150, ptr noundef nonnull @.str.4, ptr noundef nonnull @.str.3, i32 noundef 44, i32 noundef 1, i32 noundef %151)
          to label %153 unwind label %145

153:                                              ; preds = %149
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %154

154:                                              ; preds = %147, %153
  %155 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZN20PreviousResultsQueue5frontEv(ptr noundef nonnull align 8 dereferenceable(416) %5)
  %156 = load i32, ptr %155, align 4, !tbaa !13
  %.not172 = icmp eq i32 %156, 1
  br i1 %.not172, label %163, label %157

157:                                              ; preds = %154
  %158 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %159 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZN20PreviousResultsQueue5frontEv(ptr noundef nonnull align 8 dereferenceable(416) %5)
  %160 = load i32, ptr %159, align 4, !tbaa !13
  %161 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %158, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.3, i32 noundef 45, i32 noundef 1, i32 noundef %160)
          to label %162 unwind label %145

162:                                              ; preds = %157
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %163

163:                                              ; preds = %154, %162
  %164 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZN20PreviousResultsQueue4backEv(ptr noundef nonnull align 8 dereferenceable(416) %5)
  %165 = load i32, ptr %164, align 4, !tbaa !13
  %.not173 = icmp eq i32 %165, 1
  br i1 %.not173, label %172, label %166

166:                                              ; preds = %163
  %167 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %168 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZN20PreviousResultsQueue4backEv(ptr noundef nonnull align 8 dereferenceable(416) %5)
  %169 = load i32, ptr %168, align 4, !tbaa !13
  %170 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %167, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.3, i32 noundef 46, i32 noundef 1, i32 noundef %169)
          to label %171 unwind label %145

171:                                              ; preds = %166
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %172

172:                                              ; preds = %171, %163
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %10) #7
  store i32 %66, ptr %10, align 4
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %11) #7
  call void @_ZN20PreviousResultsQueue6ResultC2EiPh(ptr noundef nonnull align 4 dereferenceable(8) %11, i32 noundef 2, ptr noundef nonnull %10)
  invoke void @_ZN20PreviousResultsQueue9push_backERKNS_6ResultE(ptr noundef nonnull align 8 dereferenceable(416) %5, ptr noundef nonnull align 4 dereferenceable(8) %11)
          to label %173 unwind label %180

173:                                              ; preds = %172
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #7
  %174 = call noundef i32 @_ZN20PreviousResultsQueue4sizeEv(ptr noundef nonnull align 8 dereferenceable(416) %5)
  %.not174 = icmp eq i32 %174, 2
  br i1 %.not174, label %184, label %175

175:                                              ; preds = %173
  %176 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %177 = call noundef i32 @_ZN20PreviousResultsQueue4sizeEv(ptr noundef nonnull align 8 dereferenceable(416) %5)
  %178 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %176, ptr noundef nonnull @.str.7, ptr noundef nonnull @.str.3, i32 noundef 50, i32 noundef 2, i32 noundef %177)
          to label %179 unwind label %182

179:                                              ; preds = %175
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %184

180:                                              ; preds = %172
  %181 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #7
  br label %202

182:                                              ; preds = %196, %187, %175
  %183 = landingpad { ptr, i32 }
          cleanup
  br label %202

184:                                              ; preds = %173, %179
  %185 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZN20PreviousResultsQueue5frontEv(ptr noundef nonnull align 8 dereferenceable(416) %5)
  %186 = load i32, ptr %185, align 4, !tbaa !13
  %.not175 = icmp eq i32 %186, 1
  br i1 %.not175, label %193, label %187

187:                                              ; preds = %184
  %188 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %189 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZN20PreviousResultsQueue5frontEv(ptr noundef nonnull align 8 dereferenceable(416) %5)
  %190 = load i32, ptr %189, align 4, !tbaa !13
  %191 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %188, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.3, i32 noundef 51, i32 noundef 1, i32 noundef %190)
          to label %192 unwind label %182

192:                                              ; preds = %187
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %193

193:                                              ; preds = %184, %192
  %194 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZN20PreviousResultsQueue4backEv(ptr noundef nonnull align 8 dereferenceable(416) %5)
  %195 = load i32, ptr %194, align 4, !tbaa !13
  %.not176 = icmp eq i32 %195, 2
  br i1 %.not176, label %._crit_edge, label %196

196:                                              ; preds = %193
  %197 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %198 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZN20PreviousResultsQueue4backEv(ptr noundef nonnull align 8 dereferenceable(416) %5)
  %199 = load i32, ptr %198, align 4, !tbaa !13
  %200 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %197, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.3, i32 noundef 52, i32 noundef 2, i32 noundef %199)
          to label %201 unwind label %182

201:                                              ; preds = %196
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %._crit_edge

202:                                              ; preds = %182, %180
  %.pn177 = phi { ptr, i32 } [ %183, %182 ], [ %181, %180 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %10) #7
  br label %203

203:                                              ; preds = %145, %202, %118, %116
  %.pn177.pn.pn = phi { ptr, i32 } [ %119, %118 ], [ %117, %116 ], [ %.pn177, %202 ], [ %146, %145 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %8) #7
  br label %204

204:                                              ; preds = %203, %88, %86
  %.pn177.pn.pn.pn = phi { ptr, i32 } [ %.pn177.pn.pn, %203 ], [ %89, %88 ], [ %87, %86 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %6) #7
  br label %205

205:                                              ; preds = %204, %76
  %.pn177.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn177.pn.pn.pn, %204 ], [ %77, %76 ]
  call void @llvm.lifetime.end.p0(i64 416, ptr nonnull %5) #7
  call void @_ZN6tflite13ErrorReporterD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %4) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %4) #7
  br label %876

._crit_edge:                                      ; preds = %201, %193
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %10) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %8) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %6) #7
  call void @llvm.lifetime.end.p0(i64 416, ptr nonnull %5) #7
  call void @_ZN6tflite13ErrorReporterD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %4) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %4) #7
  store i8 1, ptr @_ZN10micro_test16is_test_completeE, align 1, !tbaa !11
  %206 = load i8, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11, !range !15, !noundef !16
  %207 = xor i8 %206, 1
  %not.184 = zext nneg i8 %207 to i32
  %208 = load i32, ptr @_ZN10micro_test12tests_passedE, align 4, !tbaa !5
  %209 = add nsw i32 %208, %not.184
  store i32 %209, ptr @_ZN10micro_test12tests_passedE, align 4, !tbaa !5
  %210 = zext nneg i8 %206 to i32
  %211 = load i32, ptr @_ZN10micro_test12tests_failedE, align 4, !tbaa !5
  %212 = add nsw i32 %211, %210
  store i32 %212, ptr @_ZN10micro_test12tests_failedE, align 4, !tbaa !5
  %213 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %214 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %213, ptr noundef nonnull @.str, ptr noundef nonnull @.str.12)
          to label %215 unwind label %74

215:                                              ; preds = %._crit_edge
  store i8 0, ptr @_ZN10micro_test16is_test_completeE, align 1, !tbaa !11
  store i8 0, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  %216 = load i32, ptr @__const.main.scores, align 1
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %12) #7
  call void @_ZN6tflite18MicroErrorReporterC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %12) #7
  call void @llvm.lifetime.start.p0(i64 416, ptr nonnull %13) #7
  invoke void @_ZN20PreviousResultsQueueC2EPN6tflite13ErrorReporterE(ptr noundef nonnull align 8 dereferenceable(416) %13, ptr noundef nonnull %12)
          to label %217 unwind label %224

217:                                              ; preds = %215
  %218 = call noundef i32 @_ZN20PreviousResultsQueue4sizeEv(ptr noundef nonnull align 8 dereferenceable(416) %13)
  %.not153 = icmp eq i32 %218, 0
  br i1 %.not153, label %.preheader, label %219

.preheader:                                       ; preds = %223, %217
  br label %226

219:                                              ; preds = %217
  %220 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %221 = call noundef i32 @_ZN20PreviousResultsQueue4sizeEv(ptr noundef nonnull align 8 dereferenceable(416) %13)
  %222 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %220, ptr noundef nonnull @.str.2, ptr noundef nonnull @.str.3, i32 noundef 60, i32 noundef 0, i32 noundef %221)
          to label %223 unwind label %224

223:                                              ; preds = %219
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %.preheader

224:                                              ; preds = %219, %215
  %225 = landingpad { ptr, i32 }
          cleanup
  br label %275

226:                                              ; preds = %.preheader, %272
  %.0109191 = phi i32 [ %273, %272 ], [ 0, %.preheader ]
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %14) #7
  store i32 %216, ptr %14, align 4
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %15) #7
  call void @_ZN20PreviousResultsQueue6ResultC2EiPh(ptr noundef nonnull align 4 dereferenceable(8) %15, i32 noundef %.0109191, ptr noundef nonnull %14)
  invoke void @_ZN20PreviousResultsQueue9push_backERKNS_6ResultE(ptr noundef nonnull align 8 dereferenceable(416) %13, ptr noundef nonnull align 4 dereferenceable(8) %15)
          to label %227 unwind label %234

227:                                              ; preds = %226
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) #7
  %228 = call noundef i32 @_ZN20PreviousResultsQueue4sizeEv(ptr noundef nonnull align 8 dereferenceable(416) %13)
  %.not155 = icmp eq i32 %228, 1
  br i1 %.not155, label %238, label %229

229:                                              ; preds = %227
  %230 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %231 = call noundef i32 @_ZN20PreviousResultsQueue4sizeEv(ptr noundef nonnull align 8 dereferenceable(416) %13)
  %232 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %230, ptr noundef nonnull @.str.4, ptr noundef nonnull @.str.3, i32 noundef 65, i32 noundef 1, i32 noundef %231)
          to label %233 unwind label %236

233:                                              ; preds = %229
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %238

234:                                              ; preds = %226
  %235 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) #7
  br label %274

236:                                              ; preds = %250, %241, %229
  %237 = landingpad { ptr, i32 }
          cleanup
  br label %274

238:                                              ; preds = %227, %233
  %239 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZN20PreviousResultsQueue5frontEv(ptr noundef nonnull align 8 dereferenceable(416) %13)
  %240 = load i32, ptr %239, align 4, !tbaa !13
  %.not156 = icmp eq i32 %.0109191, %240
  br i1 %.not156, label %247, label %241

241:                                              ; preds = %238
  %242 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %243 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZN20PreviousResultsQueue5frontEv(ptr noundef nonnull align 8 dereferenceable(416) %13)
  %244 = load i32, ptr %243, align 4, !tbaa !13
  %245 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %242, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.3, i32 noundef 66, i32 noundef %.0109191, i32 noundef %244)
          to label %246 unwind label %236

246:                                              ; preds = %241
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %247

247:                                              ; preds = %238, %246
  %248 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZN20PreviousResultsQueue4backEv(ptr noundef nonnull align 8 dereferenceable(416) %13)
  %249 = load i32, ptr %248, align 4, !tbaa !13
  %.not157 = icmp eq i32 %.0109191, %249
  br i1 %.not157, label %256, label %250

250:                                              ; preds = %247
  %251 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %252 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZN20PreviousResultsQueue4backEv(ptr noundef nonnull align 8 dereferenceable(416) %13)
  %253 = load i32, ptr %252, align 4, !tbaa !13
  %254 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %251, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.3, i32 noundef 67, i32 noundef %.0109191, i32 noundef %253)
          to label %255 unwind label %236

255:                                              ; preds = %250
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %256

256:                                              ; preds = %255, %247
  %257 = invoke i64 @_ZN20PreviousResultsQueue9pop_frontEv(ptr noundef nonnull align 8 dereferenceable(416) %13)
          to label %258 unwind label %263

258:                                              ; preds = %256
  %.sroa.069.0.extract.trunc = trunc i64 %257 to i32
  %.not158 = icmp eq i32 %.0109191, %.sroa.069.0.extract.trunc
  br i1 %.not158, label %265, label %259

259:                                              ; preds = %258
  %260 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %261 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %260, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.3, i32 noundef 70, i32 noundef %.0109191, i32 noundef %.sroa.069.0.extract.trunc)
          to label %262 unwind label %263

262:                                              ; preds = %259
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %265

263:                                              ; preds = %267, %259, %256
  %264 = landingpad { ptr, i32 }
          cleanup
  br label %274

265:                                              ; preds = %258, %262
  %266 = call noundef i32 @_ZN20PreviousResultsQueue4sizeEv(ptr noundef nonnull align 8 dereferenceable(416) %13)
  %.not159 = icmp eq i32 %266, 0
  br i1 %.not159, label %272, label %267

267:                                              ; preds = %265
  %268 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %269 = call noundef i32 @_ZN20PreviousResultsQueue4sizeEv(ptr noundef nonnull align 8 dereferenceable(416) %13)
  %270 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %268, ptr noundef nonnull @.str.2, ptr noundef nonnull @.str.3, i32 noundef 71, i32 noundef 0, i32 noundef %269)
          to label %271 unwind label %263

271:                                              ; preds = %267
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %272

272:                                              ; preds = %271, %265
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %14) #7
  %273 = add nuw nsw i32 %.0109191, 1
  %exitcond.not = icmp eq i32 %273, 123
  br i1 %exitcond.not, label %._crit_edge194, label %226, !llvm.loop !17

274:                                              ; preds = %263, %236, %234
  %.pn160 = phi { ptr, i32 } [ %264, %263 ], [ %237, %236 ], [ %235, %234 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %14) #7
  br label %275

275:                                              ; preds = %274, %224
  %.pn160.pn = phi { ptr, i32 } [ %.pn160, %274 ], [ %225, %224 ]
  call void @llvm.lifetime.end.p0(i64 416, ptr nonnull %13) #7
  call void @_ZN6tflite13ErrorReporterD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %12) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #7
  br label %876

._crit_edge194:                                   ; preds = %272
  call void @llvm.lifetime.end.p0(i64 416, ptr nonnull %13) #7
  call void @_ZN6tflite13ErrorReporterD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %12) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #7
  store i8 1, ptr @_ZN10micro_test16is_test_completeE, align 1, !tbaa !11
  %276 = load i8, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11, !range !15, !noundef !16
  %277 = xor i8 %276, 1
  %not.154 = zext nneg i8 %277 to i32
  %278 = load i32, ptr @_ZN10micro_test12tests_passedE, align 4, !tbaa !5
  %279 = add nsw i32 %278, %not.154
  store i32 %279, ptr @_ZN10micro_test12tests_passedE, align 4, !tbaa !5
  %280 = zext nneg i8 %276 to i32
  %281 = load i32, ptr @_ZN10micro_test12tests_failedE, align 4, !tbaa !5
  %282 = add nsw i32 %281, %280
  store i32 %282, ptr @_ZN10micro_test12tests_failedE, align 4, !tbaa !5
  %283 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %284 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %283, ptr noundef nonnull @.str, ptr noundef nonnull @.str.16)
          to label %285 unwind label %74

285:                                              ; preds = %._crit_edge194
  store i8 0, ptr @_ZN10micro_test16is_test_completeE, align 1, !tbaa !11
  store i8 0, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %16) #7
  call void @_ZN6tflite18MicroErrorReporterC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %16) #7
  call void @llvm.lifetime.start.p0(i64 456, ptr nonnull %17) #7
  invoke void @_ZN17RecognizeCommandsC1EPN6tflite13ErrorReporterEihii(ptr noundef nonnull align 8 dereferenceable(452) %17, ptr noundef nonnull %16, i32 noundef 1000, i8 noundef zeroext -56, i32 noundef 1500, i32 noundef 3)
          to label %286 unwind label %300

286:                                              ; preds = %285
  %287 = getelementptr inbounds i8, ptr %19, i64 8
  %288 = getelementptr inbounds i8, ptr %19, i64 4
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %18) #7
  store <4 x i8> <i8 -1, i8 0, i8 0, i8 0>, ptr %18, align 4, !tbaa !19
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %19) #7
  store i32 2, ptr %19, align 4, !tbaa !5
  store i32 1, ptr %288, align 4, !tbaa !5
  store i32 4, ptr %287, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 96, ptr nonnull %20) #7
  %289 = invoke noundef ptr @_ZN6tflite7testing23IntArrayFromInitializerESt16initializer_listIiE(ptr nonnull %19, i64 3)
          to label %290 unwind label %302

290:                                              ; preds = %286
  invoke void @_ZN6tflite7testing21CreateQuantizedTensorESt16initializer_listIhEP14TfLiteIntArrayPKcff(ptr dead_on_unwind nonnull writable sret(%struct.TfLiteTensor) align 8 %20, ptr nonnull %18, i64 4, ptr noundef %289, ptr noundef nonnull @.str.17, float noundef 0.000000e+00, float noundef 1.280000e+02)
          to label %291 unwind label %302

291:                                              ; preds = %290
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %21) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %22) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %23) #7
  %292 = invoke noundef i32 @_ZN17RecognizeCommands20ProcessLatestResultsEPK12TfLiteTensoriPPKcPhPb(ptr noundef nonnull align 8 dereferenceable(452) %17, ptr noundef nonnull %20, i32 noundef 0, ptr noundef nonnull %21, ptr noundef nonnull %22, ptr noundef nonnull %23)
          to label %293 unwind label %304

293:                                              ; preds = %291
  %.not148 = icmp eq i32 %292, 0
  br i1 %.not148, label %._crit_edge197, label %294

294:                                              ; preds = %293
  %295 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %296 = invoke noundef i32 @_ZN17RecognizeCommands20ProcessLatestResultsEPK12TfLiteTensoriPPKcPhPb(ptr noundef nonnull align 8 dereferenceable(452) %17, ptr noundef nonnull %20, i32 noundef 0, ptr noundef nonnull %21, ptr noundef nonnull %22, ptr noundef nonnull %23)
          to label %297 unwind label %304

297:                                              ; preds = %294
  %298 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %295, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.3, i32 noundef 92, i32 noundef 0, i32 noundef %296)
          to label %299 unwind label %304

299:                                              ; preds = %297
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %._crit_edge197

300:                                              ; preds = %285
  %301 = landingpad { ptr, i32 }
          cleanup
  br label %307

302:                                              ; preds = %290, %286
  %303 = landingpad { ptr, i32 }
          cleanup
  br label %306

304:                                              ; preds = %297, %294, %291
  %305 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %23) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %22) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %21) #7
  br label %306

306:                                              ; preds = %304, %302
  %.pn149 = phi { ptr, i32 } [ %305, %304 ], [ %303, %302 ]
  call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %20) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %19) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %18) #7
  br label %307

307:                                              ; preds = %306, %300
  %.pn149.pn = phi { ptr, i32 } [ %.pn149, %306 ], [ %301, %300 ]
  call void @llvm.lifetime.end.p0(i64 456, ptr nonnull %17) #7
  call void @_ZN6tflite13ErrorReporterD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %16) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #7
  br label %876

._crit_edge197:                                   ; preds = %299, %293
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %23) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %22) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %21) #7
  call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %20) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %19) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %18) #7
  call void @llvm.lifetime.end.p0(i64 456, ptr nonnull %17) #7
  call void @_ZN6tflite13ErrorReporterD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %16) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #7
  store i8 1, ptr @_ZN10micro_test16is_test_completeE, align 1, !tbaa !11
  %308 = load i8, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11, !range !15, !noundef !16
  %309 = xor i8 %308, 1
  %not.152 = zext nneg i8 %309 to i32
  %310 = load i32, ptr @_ZN10micro_test12tests_passedE, align 4, !tbaa !5
  %311 = add nsw i32 %310, %not.152
  store i32 %311, ptr @_ZN10micro_test12tests_passedE, align 4, !tbaa !5
  %312 = zext nneg i8 %308 to i32
  %313 = load i32, ptr @_ZN10micro_test12tests_failedE, align 4, !tbaa !5
  %314 = add nsw i32 %313, %312
  store i32 %314, ptr @_ZN10micro_test12tests_failedE, align 4, !tbaa !5
  %315 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %316 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %315, ptr noundef nonnull @.str, ptr noundef nonnull @.str.19)
          to label %317 unwind label %74

317:                                              ; preds = %._crit_edge197
  store i8 0, ptr @_ZN10micro_test16is_test_completeE, align 1, !tbaa !11
  store i8 0, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  %318 = getelementptr inbounds i8, ptr %33, i64 4
  %319 = getelementptr inbounds i8, ptr %33, i64 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %24) #7
  call void @_ZN6tflite18MicroErrorReporterC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %24) #7
  call void @llvm.lifetime.start.p0(i64 456, ptr nonnull %25) #7
  invoke void @_ZN17RecognizeCommandsC1EPN6tflite13ErrorReporterEihii(ptr noundef nonnull align 8 dereferenceable(452) %25, ptr noundef nonnull %24, i32 noundef 1000, i8 noundef zeroext 51, i32 noundef 1500, i32 noundef 3)
          to label %320 unwind label %326

320:                                              ; preds = %317
  %321 = getelementptr inbounds i8, ptr %27, i64 8
  %322 = getelementptr inbounds i8, ptr %27, i64 4
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %26) #7
  store <4 x i8> <i8 0, i8 0, i8 -1, i8 0>, ptr %26, align 4, !tbaa !19
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %27) #7
  store i32 2, ptr %27, align 4, !tbaa !5
  store i32 1, ptr %322, align 4, !tbaa !5
  store i32 4, ptr %321, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 96, ptr nonnull %28) #7
  %323 = invoke noundef ptr @_ZN6tflite7testing23IntArrayFromInitializerESt16initializer_listIiE(ptr nonnull %27, i64 3)
          to label %324 unwind label %328

324:                                              ; preds = %320
  invoke void @_ZN6tflite7testing21CreateQuantizedTensorESt16initializer_listIhEP14TfLiteIntArrayPKcff(ptr dead_on_unwind nonnull writable sret(%struct.TfLiteTensor) align 8 %28, ptr nonnull %26, i64 4, ptr noundef %323, ptr noundef nonnull @.str.17, float noundef 0.000000e+00, float noundef 1.280000e+02)
          to label %.preheader.preheader unwind label %328

.preheader.preheader:                             ; preds = %324
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %29) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %30) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %31) #7
  %325 = invoke noundef i32 @_ZN17RecognizeCommands20ProcessLatestResultsEPK12TfLiteTensoriPPKcPhPb(ptr noundef nonnull align 8 dereferenceable(452) %25, ptr noundef nonnull %28, i32 noundef 0, ptr noundef nonnull %29, ptr noundef nonnull %30, ptr noundef nonnull %31)
          to label %330 unwind label %337

326:                                              ; preds = %317
  %327 = landingpad { ptr, i32 }
          cleanup
  br label %741

328:                                              ; preds = %324, %320
  %329 = landingpad { ptr, i32 }
          cleanup
  br label %740

330:                                              ; preds = %.preheader.preheader
  %.not143 = icmp eq i32 %325, 0
  br i1 %.not143, label %.preheader.1, label %331

331:                                              ; preds = %330
  %332 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %333 = invoke noundef i32 @_ZN17RecognizeCommands20ProcessLatestResultsEPK12TfLiteTensoriPPKcPhPb(ptr noundef nonnull align 8 dereferenceable(452) %25, ptr noundef nonnull %28, i32 noundef 0, ptr noundef nonnull %29, ptr noundef nonnull %30, ptr noundef nonnull %31)
          to label %334 unwind label %337

334:                                              ; preds = %331
  %335 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %332, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.3, i32 noundef 117, i32 noundef 0, i32 noundef %333)
          to label %336 unwind label %337

336:                                              ; preds = %334
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %.preheader.1

337:                                              ; preds = %506, %498, %495, %.preheader.9, %487, %479, %476, %.preheader.8, %468, %460, %457, %.preheader.7, %449, %441, %438, %.preheader.6, %430, %422, %419, %.preheader.5, %411, %403, %400, %.preheader.4, %392, %384, %381, %.preheader.3, %373, %365, %362, %.preheader.2, %354, %346, %343, %.preheader.1, %334, %331, %.preheader.preheader
  %338 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %31) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %30) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29) #7
  br label %740

.preheader.1:                                     ; preds = %336, %330
  %339 = load i8, ptr %31, align 1, !tbaa !11, !range !15, !noundef !16
  %340 = trunc nuw i8 %339 to i1
  %.pre = load ptr, ptr %29, align 8
  %spec.select = select i1 %340, ptr %.pre, ptr undef
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %31) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %30) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %29) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %30) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %31) #7
  %341 = invoke noundef i32 @_ZN17RecognizeCommands20ProcessLatestResultsEPK12TfLiteTensoriPPKcPhPb(ptr noundef nonnull align 8 dereferenceable(452) %25, ptr noundef nonnull %28, i32 noundef 100, ptr noundef nonnull %29, ptr noundef nonnull %30, ptr noundef nonnull %31)
          to label %342 unwind label %337

342:                                              ; preds = %.preheader.1
  %.not143.1 = icmp eq i32 %341, 0
  br i1 %.not143.1, label %349, label %343

343:                                              ; preds = %342
  %344 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %345 = invoke noundef i32 @_ZN17RecognizeCommands20ProcessLatestResultsEPK12TfLiteTensoriPPKcPhPb(ptr noundef nonnull align 8 dereferenceable(452) %25, ptr noundef nonnull %28, i32 noundef 100, ptr noundef nonnull %29, ptr noundef nonnull %30, ptr noundef nonnull %31)
          to label %346 unwind label %337

346:                                              ; preds = %343
  %347 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %344, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.3, i32 noundef 117, i32 noundef 0, i32 noundef %345)
          to label %348 unwind label %337

348:                                              ; preds = %346
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %349

349:                                              ; preds = %348, %342
  %350 = load i8, ptr %31, align 1, !tbaa !11, !range !15, !noundef !16
  %351 = trunc nuw i8 %350 to i1
  br i1 %351, label %352, label %.preheader.2

352:                                              ; preds = %349
  %353 = trunc nuw i8 %339 to i1
  br i1 %353, label %354, label %358

354:                                              ; preds = %352
  %355 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %356 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %355, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.3, i32 noundef 119)
          to label %357 unwind label %337

357:                                              ; preds = %354
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %358

358:                                              ; preds = %357, %352
  %359 = load ptr, ptr %29, align 8, !tbaa !9
  br label %.preheader.2

.preheader.2:                                     ; preds = %358, %349
  %.2116.1 = phi ptr [ %359, %358 ], [ %spec.select, %349 ]
  %.1111.1 = phi i8 [ 1, %358 ], [ %339, %349 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %31) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %30) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %29) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %30) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %31) #7
  %360 = invoke noundef i32 @_ZN17RecognizeCommands20ProcessLatestResultsEPK12TfLiteTensoriPPKcPhPb(ptr noundef nonnull align 8 dereferenceable(452) %25, ptr noundef nonnull %28, i32 noundef 200, ptr noundef nonnull %29, ptr noundef nonnull %30, ptr noundef nonnull %31)
          to label %361 unwind label %337

361:                                              ; preds = %.preheader.2
  %.not143.2 = icmp eq i32 %360, 0
  br i1 %.not143.2, label %368, label %362

362:                                              ; preds = %361
  %363 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %364 = invoke noundef i32 @_ZN17RecognizeCommands20ProcessLatestResultsEPK12TfLiteTensoriPPKcPhPb(ptr noundef nonnull align 8 dereferenceable(452) %25, ptr noundef nonnull %28, i32 noundef 200, ptr noundef nonnull %29, ptr noundef nonnull %30, ptr noundef nonnull %31)
          to label %365 unwind label %337

365:                                              ; preds = %362
  %366 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %363, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.3, i32 noundef 117, i32 noundef 0, i32 noundef %364)
          to label %367 unwind label %337

367:                                              ; preds = %365
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %368

368:                                              ; preds = %367, %361
  %369 = load i8, ptr %31, align 1, !tbaa !11, !range !15, !noundef !16
  %370 = trunc nuw i8 %369 to i1
  br i1 %370, label %371, label %.preheader.3

371:                                              ; preds = %368
  %372 = trunc nuw i8 %.1111.1 to i1
  br i1 %372, label %373, label %377

373:                                              ; preds = %371
  %374 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %375 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %374, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.3, i32 noundef 119)
          to label %376 unwind label %337

376:                                              ; preds = %373
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %377

377:                                              ; preds = %376, %371
  %378 = load ptr, ptr %29, align 8, !tbaa !9
  br label %.preheader.3

.preheader.3:                                     ; preds = %377, %368
  %.2116.2 = phi ptr [ %378, %377 ], [ %.2116.1, %368 ]
  %.1111.2 = phi i8 [ 1, %377 ], [ %.1111.1, %368 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %31) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %30) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %29) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %30) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %31) #7
  %379 = invoke noundef i32 @_ZN17RecognizeCommands20ProcessLatestResultsEPK12TfLiteTensoriPPKcPhPb(ptr noundef nonnull align 8 dereferenceable(452) %25, ptr noundef nonnull %28, i32 noundef 300, ptr noundef nonnull %29, ptr noundef nonnull %30, ptr noundef nonnull %31)
          to label %380 unwind label %337

380:                                              ; preds = %.preheader.3
  %.not143.3 = icmp eq i32 %379, 0
  br i1 %.not143.3, label %387, label %381

381:                                              ; preds = %380
  %382 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %383 = invoke noundef i32 @_ZN17RecognizeCommands20ProcessLatestResultsEPK12TfLiteTensoriPPKcPhPb(ptr noundef nonnull align 8 dereferenceable(452) %25, ptr noundef nonnull %28, i32 noundef 300, ptr noundef nonnull %29, ptr noundef nonnull %30, ptr noundef nonnull %31)
          to label %384 unwind label %337

384:                                              ; preds = %381
  %385 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %382, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.3, i32 noundef 117, i32 noundef 0, i32 noundef %383)
          to label %386 unwind label %337

386:                                              ; preds = %384
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %387

387:                                              ; preds = %386, %380
  %388 = load i8, ptr %31, align 1, !tbaa !11, !range !15, !noundef !16
  %389 = trunc nuw i8 %388 to i1
  br i1 %389, label %390, label %.preheader.4

390:                                              ; preds = %387
  %391 = trunc nuw i8 %.1111.2 to i1
  br i1 %391, label %392, label %396

392:                                              ; preds = %390
  %393 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %394 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %393, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.3, i32 noundef 119)
          to label %395 unwind label %337

395:                                              ; preds = %392
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %396

396:                                              ; preds = %395, %390
  %397 = load ptr, ptr %29, align 8, !tbaa !9
  br label %.preheader.4

.preheader.4:                                     ; preds = %396, %387
  %.2116.3 = phi ptr [ %397, %396 ], [ %.2116.2, %387 ]
  %.1111.3 = phi i8 [ 1, %396 ], [ %.1111.2, %387 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %31) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %30) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %29) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %30) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %31) #7
  %398 = invoke noundef i32 @_ZN17RecognizeCommands20ProcessLatestResultsEPK12TfLiteTensoriPPKcPhPb(ptr noundef nonnull align 8 dereferenceable(452) %25, ptr noundef nonnull %28, i32 noundef 400, ptr noundef nonnull %29, ptr noundef nonnull %30, ptr noundef nonnull %31)
          to label %399 unwind label %337

399:                                              ; preds = %.preheader.4
  %.not143.4 = icmp eq i32 %398, 0
  br i1 %.not143.4, label %406, label %400

400:                                              ; preds = %399
  %401 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %402 = invoke noundef i32 @_ZN17RecognizeCommands20ProcessLatestResultsEPK12TfLiteTensoriPPKcPhPb(ptr noundef nonnull align 8 dereferenceable(452) %25, ptr noundef nonnull %28, i32 noundef 400, ptr noundef nonnull %29, ptr noundef nonnull %30, ptr noundef nonnull %31)
          to label %403 unwind label %337

403:                                              ; preds = %400
  %404 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %401, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.3, i32 noundef 117, i32 noundef 0, i32 noundef %402)
          to label %405 unwind label %337

405:                                              ; preds = %403
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %406

406:                                              ; preds = %405, %399
  %407 = load i8, ptr %31, align 1, !tbaa !11, !range !15, !noundef !16
  %408 = trunc nuw i8 %407 to i1
  br i1 %408, label %409, label %.preheader.5

409:                                              ; preds = %406
  %410 = trunc nuw i8 %.1111.3 to i1
  br i1 %410, label %411, label %415

411:                                              ; preds = %409
  %412 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %413 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %412, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.3, i32 noundef 119)
          to label %414 unwind label %337

414:                                              ; preds = %411
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %415

415:                                              ; preds = %414, %409
  %416 = load ptr, ptr %29, align 8, !tbaa !9
  br label %.preheader.5

.preheader.5:                                     ; preds = %415, %406
  %.2116.4 = phi ptr [ %416, %415 ], [ %.2116.3, %406 ]
  %.1111.4 = phi i8 [ 1, %415 ], [ %.1111.3, %406 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %31) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %30) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %29) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %30) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %31) #7
  %417 = invoke noundef i32 @_ZN17RecognizeCommands20ProcessLatestResultsEPK12TfLiteTensoriPPKcPhPb(ptr noundef nonnull align 8 dereferenceable(452) %25, ptr noundef nonnull %28, i32 noundef 500, ptr noundef nonnull %29, ptr noundef nonnull %30, ptr noundef nonnull %31)
          to label %418 unwind label %337

418:                                              ; preds = %.preheader.5
  %.not143.5 = icmp eq i32 %417, 0
  br i1 %.not143.5, label %425, label %419

419:                                              ; preds = %418
  %420 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %421 = invoke noundef i32 @_ZN17RecognizeCommands20ProcessLatestResultsEPK12TfLiteTensoriPPKcPhPb(ptr noundef nonnull align 8 dereferenceable(452) %25, ptr noundef nonnull %28, i32 noundef 500, ptr noundef nonnull %29, ptr noundef nonnull %30, ptr noundef nonnull %31)
          to label %422 unwind label %337

422:                                              ; preds = %419
  %423 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %420, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.3, i32 noundef 117, i32 noundef 0, i32 noundef %421)
          to label %424 unwind label %337

424:                                              ; preds = %422
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %425

425:                                              ; preds = %424, %418
  %426 = load i8, ptr %31, align 1, !tbaa !11, !range !15, !noundef !16
  %427 = trunc nuw i8 %426 to i1
  br i1 %427, label %428, label %.preheader.6

428:                                              ; preds = %425
  %429 = trunc nuw i8 %.1111.4 to i1
  br i1 %429, label %430, label %434

430:                                              ; preds = %428
  %431 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %432 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %431, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.3, i32 noundef 119)
          to label %433 unwind label %337

433:                                              ; preds = %430
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %434

434:                                              ; preds = %433, %428
  %435 = load ptr, ptr %29, align 8, !tbaa !9
  br label %.preheader.6

.preheader.6:                                     ; preds = %434, %425
  %.2116.5 = phi ptr [ %435, %434 ], [ %.2116.4, %425 ]
  %.1111.5 = phi i8 [ 1, %434 ], [ %.1111.4, %425 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %31) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %30) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %29) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %30) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %31) #7
  %436 = invoke noundef i32 @_ZN17RecognizeCommands20ProcessLatestResultsEPK12TfLiteTensoriPPKcPhPb(ptr noundef nonnull align 8 dereferenceable(452) %25, ptr noundef nonnull %28, i32 noundef 600, ptr noundef nonnull %29, ptr noundef nonnull %30, ptr noundef nonnull %31)
          to label %437 unwind label %337

437:                                              ; preds = %.preheader.6
  %.not143.6 = icmp eq i32 %436, 0
  br i1 %.not143.6, label %444, label %438

438:                                              ; preds = %437
  %439 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %440 = invoke noundef i32 @_ZN17RecognizeCommands20ProcessLatestResultsEPK12TfLiteTensoriPPKcPhPb(ptr noundef nonnull align 8 dereferenceable(452) %25, ptr noundef nonnull %28, i32 noundef 600, ptr noundef nonnull %29, ptr noundef nonnull %30, ptr noundef nonnull %31)
          to label %441 unwind label %337

441:                                              ; preds = %438
  %442 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %439, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.3, i32 noundef 117, i32 noundef 0, i32 noundef %440)
          to label %443 unwind label %337

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

444:                                              ; preds = %443, %437
  %445 = load i8, ptr %31, align 1, !tbaa !11, !range !15, !noundef !16
  %446 = trunc nuw i8 %445 to i1
  br i1 %446, label %447, label %.preheader.7

447:                                              ; preds = %444
  %448 = trunc nuw i8 %.1111.5 to i1
  br i1 %448, label %449, label %453

449:                                              ; preds = %447
  %450 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %451 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %450, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.3, i32 noundef 119)
          to label %452 unwind label %337

452:                                              ; preds = %449
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %453

453:                                              ; preds = %452, %447
  %454 = load ptr, ptr %29, align 8, !tbaa !9
  br label %.preheader.7

.preheader.7:                                     ; preds = %453, %444
  %.2116.6 = phi ptr [ %454, %453 ], [ %.2116.5, %444 ]
  %.1111.6 = phi i8 [ 1, %453 ], [ %.1111.5, %444 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %31) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %30) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %29) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %30) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %31) #7
  %455 = invoke noundef i32 @_ZN17RecognizeCommands20ProcessLatestResultsEPK12TfLiteTensoriPPKcPhPb(ptr noundef nonnull align 8 dereferenceable(452) %25, ptr noundef nonnull %28, i32 noundef 700, ptr noundef nonnull %29, ptr noundef nonnull %30, ptr noundef nonnull %31)
          to label %456 unwind label %337

456:                                              ; preds = %.preheader.7
  %.not143.7 = icmp eq i32 %455, 0
  br i1 %.not143.7, label %463, label %457

457:                                              ; preds = %456
  %458 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %459 = invoke noundef i32 @_ZN17RecognizeCommands20ProcessLatestResultsEPK12TfLiteTensoriPPKcPhPb(ptr noundef nonnull align 8 dereferenceable(452) %25, ptr noundef nonnull %28, i32 noundef 700, ptr noundef nonnull %29, ptr noundef nonnull %30, ptr noundef nonnull %31)
          to label %460 unwind label %337

460:                                              ; preds = %457
  %461 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %458, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.3, i32 noundef 117, i32 noundef 0, i32 noundef %459)
          to label %462 unwind label %337

462:                                              ; preds = %460
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %463

463:                                              ; preds = %462, %456
  %464 = load i8, ptr %31, align 1, !tbaa !11, !range !15, !noundef !16
  %465 = trunc nuw i8 %464 to i1
  br i1 %465, label %466, label %.preheader.8

466:                                              ; preds = %463
  %467 = trunc nuw i8 %.1111.6 to i1
  br i1 %467, label %468, label %472

468:                                              ; preds = %466
  %469 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %470 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %469, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.3, i32 noundef 119)
          to label %471 unwind label %337

471:                                              ; preds = %468
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %472

472:                                              ; preds = %471, %466
  %473 = load ptr, ptr %29, align 8, !tbaa !9
  br label %.preheader.8

.preheader.8:                                     ; preds = %472, %463
  %.2116.7 = phi ptr [ %473, %472 ], [ %.2116.6, %463 ]
  %.1111.7 = phi i8 [ 1, %472 ], [ %.1111.6, %463 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %31) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %30) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %29) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %30) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %31) #7
  %474 = invoke noundef i32 @_ZN17RecognizeCommands20ProcessLatestResultsEPK12TfLiteTensoriPPKcPhPb(ptr noundef nonnull align 8 dereferenceable(452) %25, ptr noundef nonnull %28, i32 noundef 800, ptr noundef nonnull %29, ptr noundef nonnull %30, ptr noundef nonnull %31)
          to label %475 unwind label %337

475:                                              ; preds = %.preheader.8
  %.not143.8 = icmp eq i32 %474, 0
  br i1 %.not143.8, label %482, label %476

476:                                              ; preds = %475
  %477 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %478 = invoke noundef i32 @_ZN17RecognizeCommands20ProcessLatestResultsEPK12TfLiteTensoriPPKcPhPb(ptr noundef nonnull align 8 dereferenceable(452) %25, ptr noundef nonnull %28, i32 noundef 800, ptr noundef nonnull %29, ptr noundef nonnull %30, ptr noundef nonnull %31)
          to label %479 unwind label %337

479:                                              ; preds = %476
  %480 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %477, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.3, i32 noundef 117, i32 noundef 0, i32 noundef %478)
          to label %481 unwind label %337

481:                                              ; preds = %479
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %482

482:                                              ; preds = %481, %475
  %483 = load i8, ptr %31, align 1, !tbaa !11, !range !15, !noundef !16
  %484 = trunc nuw i8 %483 to i1
  br i1 %484, label %485, label %.preheader.9

485:                                              ; preds = %482
  %486 = trunc nuw i8 %.1111.7 to i1
  br i1 %486, label %487, label %491

487:                                              ; preds = %485
  %488 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %489 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %488, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.3, i32 noundef 119)
          to label %490 unwind label %337

490:                                              ; preds = %487
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %491

491:                                              ; preds = %490, %485
  %492 = load ptr, ptr %29, align 8, !tbaa !9
  br label %.preheader.9

.preheader.9:                                     ; preds = %491, %482
  %.2116.8 = phi ptr [ %492, %491 ], [ %.2116.7, %482 ]
  %.1111.8 = phi i8 [ 1, %491 ], [ %.1111.7, %482 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %31) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %30) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %29) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %30) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %31) #7
  %493 = invoke noundef i32 @_ZN17RecognizeCommands20ProcessLatestResultsEPK12TfLiteTensoriPPKcPhPb(ptr noundef nonnull align 8 dereferenceable(452) %25, ptr noundef nonnull %28, i32 noundef 900, ptr noundef nonnull %29, ptr noundef nonnull %30, ptr noundef nonnull %31)
          to label %494 unwind label %337

494:                                              ; preds = %.preheader.9
  %.not143.9 = icmp eq i32 %493, 0
  br i1 %.not143.9, label %501, label %495

495:                                              ; preds = %494
  %496 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %497 = invoke noundef i32 @_ZN17RecognizeCommands20ProcessLatestResultsEPK12TfLiteTensoriPPKcPhPb(ptr noundef nonnull align 8 dereferenceable(452) %25, ptr noundef nonnull %28, i32 noundef 900, ptr noundef nonnull %29, ptr noundef nonnull %30, ptr noundef nonnull %31)
          to label %498 unwind label %337

498:                                              ; preds = %495
  %499 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %496, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.3, i32 noundef 117, i32 noundef 0, i32 noundef %497)
          to label %500 unwind label %337

500:                                              ; preds = %498
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %501

501:                                              ; preds = %500, %494
  %502 = load i8, ptr %31, align 1, !tbaa !11, !range !15, !noundef !16
  %503 = trunc nuw i8 %502 to i1
  br i1 %503, label %504, label %511

504:                                              ; preds = %501
  %505 = trunc nuw i8 %.1111.8 to i1
  br i1 %505, label %506, label %.thread

506:                                              ; preds = %504
  %507 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %508 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %507, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.3, i32 noundef 119)
          to label %509 unwind label %337

509:                                              ; preds = %506
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %.thread

.thread:                                          ; preds = %504, %509
  %510 = load ptr, ptr %29, align 8, !tbaa !9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %31) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %30) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29) #7
  br label %.critedge

511:                                              ; preds = %501
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %31) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %30) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29) #7
  %512 = trunc nuw i8 %.1111.8 to i1
  br i1 %512, label %.critedge, label %513

513:                                              ; preds = %511
  %514 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %515 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %514, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.3, i32 noundef 124)
          to label %.sink.split unwind label %516

516:                                              ; preds = %519, %513
  %517 = landingpad { ptr, i32 }
          cleanup
  br label %740

.critedge:                                        ; preds = %.thread, %511
  %.2116.9233 = phi ptr [ %510, %.thread ], [ %.2116.8, %511 ]
  %518 = call noundef i32 @_ZN6tflite7testing10TestStrcmpEPKcS2_(ptr noundef nonnull @.str.23, ptr noundef %.2116.9233)
  %.not135 = icmp eq i32 %518, 0
  br i1 %.not135, label %523, label %519

519:                                              ; preds = %.critedge
  %520 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %521 = call noundef i32 @_ZN6tflite7testing10TestStrcmpEPKcS2_(ptr noundef nonnull @.str.23, ptr noundef %.2116.9233)
  %522 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %520, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.3, i32 noundef 126, i32 noundef 0, i32 noundef %521)
          to label %.sink.split unwind label %516

.sink.split:                                      ; preds = %519, %513
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %523

523:                                              ; preds = %.sink.split, %.critedge
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %32) #7
  store <4 x i8> <i8 0, i8 0, i8 0, i8 -1>, ptr %32, align 4, !tbaa !19
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %33) #7
  store i32 2, ptr %33, align 4, !tbaa !5
  store i32 1, ptr %318, align 4, !tbaa !5
  store i32 4, ptr %319, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 96, ptr nonnull %34) #7
  %524 = invoke noundef ptr @_ZN6tflite7testing23IntArrayFromInitializerESt16initializer_listIiE(ptr nonnull %33, i64 3)
          to label %525 unwind label %528

525:                                              ; preds = %523
  invoke void @_ZN6tflite7testing21CreateQuantizedTensorESt16initializer_listIhEP14TfLiteIntArrayPKcff(ptr dead_on_unwind nonnull writable sret(%struct.TfLiteTensor) align 8 %34, ptr nonnull %32, i64 4, ptr noundef %524, ptr noundef nonnull @.str.17, float noundef 0.000000e+00, float noundef 1.280000e+02)
          to label %526 unwind label %528

526:                                              ; preds = %525
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %35) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %36) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %37) #7
  %527 = invoke noundef i32 @_ZN17RecognizeCommands20ProcessLatestResultsEPK12TfLiteTensoriPPKcPhPb(ptr noundef nonnull align 8 dereferenceable(452) %25, ptr noundef nonnull %34, i32 noundef 1000, ptr noundef nonnull %36, ptr noundef nonnull %35, ptr noundef nonnull %37)
          to label %530 unwind label %537

528:                                              ; preds = %525, %523
  %529 = landingpad { ptr, i32 }
          cleanup
  br label %739

530:                                              ; preds = %526
  %.not139 = icmp eq i32 %527, 0
  br i1 %.not139, label %._crit_edge223, label %531

531:                                              ; preds = %530
  %532 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %533 = invoke noundef i32 @_ZN17RecognizeCommands20ProcessLatestResultsEPK12TfLiteTensoriPPKcPhPb(ptr noundef nonnull align 8 dereferenceable(452) %25, ptr noundef nonnull %34, i32 noundef 1000, ptr noundef nonnull %36, ptr noundef nonnull %35, ptr noundef nonnull %37)
          to label %534 unwind label %537

534:                                              ; preds = %531
  %535 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %532, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.3, i32 noundef 144, i32 noundef 0, i32 noundef %533)
          to label %536 unwind label %537

536:                                              ; preds = %534
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %._crit_edge223

537:                                              ; preds = %714, %706, %703, %700, %694, %686, %683, %680, %674, %666, %663, %660, %654, %646, %643, %640, %634, %626, %623, %620, %614, %606, %603, %600, %594, %586, %583, %580, %574, %566, %563, %560, %554, %546, %543, %._crit_edge223, %534, %531, %526
  %538 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %37) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %36) #7
  br label %738

._crit_edge223:                                   ; preds = %536, %530
  %539 = load i8, ptr %37, align 1, !tbaa !11, !range !15, !noundef !16
  %540 = trunc nuw i8 %539 to i1
  %.pre224 = load ptr, ptr %36, align 8
  %spec.select239 = select i1 %540, ptr %.pre224, ptr @.str.25
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %37) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %36) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %36) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %37) #7
  %541 = invoke noundef i32 @_ZN17RecognizeCommands20ProcessLatestResultsEPK12TfLiteTensoriPPKcPhPb(ptr noundef nonnull align 8 dereferenceable(452) %25, ptr noundef nonnull %34, i32 noundef 1100, ptr noundef nonnull %36, ptr noundef nonnull %35, ptr noundef nonnull %37)
          to label %542 unwind label %537

542:                                              ; preds = %._crit_edge223
  %.not139.1 = icmp eq i32 %541, 0
  br i1 %.not139.1, label %549, label %543

543:                                              ; preds = %542
  %544 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %545 = invoke noundef i32 @_ZN17RecognizeCommands20ProcessLatestResultsEPK12TfLiteTensoriPPKcPhPb(ptr noundef nonnull align 8 dereferenceable(452) %25, ptr noundef nonnull %34, i32 noundef 1100, ptr noundef nonnull %36, ptr noundef nonnull %35, ptr noundef nonnull %37)
          to label %546 unwind label %537

546:                                              ; preds = %543
  %547 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %544, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.3, i32 noundef 144, i32 noundef 0, i32 noundef %545)
          to label %548 unwind label %537

548:                                              ; preds = %546
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %549

549:                                              ; preds = %548, %542
  %550 = load i8, ptr %37, align 1, !tbaa !11, !range !15, !noundef !16
  %551 = trunc nuw i8 %550 to i1
  br i1 %551, label %552, label %560

552:                                              ; preds = %549
  %553 = trunc nuw i8 %539 to i1
  br i1 %553, label %554, label %558

554:                                              ; preds = %552
  %555 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %556 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %555, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.3, i32 noundef 146)
          to label %557 unwind label %537

557:                                              ; preds = %554
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %558

558:                                              ; preds = %557, %552
  %559 = load ptr, ptr %36, align 8, !tbaa !9
  br label %560

560:                                              ; preds = %558, %549
  %.4118.1 = phi ptr [ %559, %558 ], [ %spec.select239, %549 ]
  %.3113.1 = phi i8 [ 1, %558 ], [ %539, %549 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %37) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %36) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %36) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %37) #7
  %561 = invoke noundef i32 @_ZN17RecognizeCommands20ProcessLatestResultsEPK12TfLiteTensoriPPKcPhPb(ptr noundef nonnull align 8 dereferenceable(452) %25, ptr noundef nonnull %34, i32 noundef 1200, ptr noundef nonnull %36, ptr noundef nonnull %35, ptr noundef nonnull %37)
          to label %562 unwind label %537

562:                                              ; preds = %560
  %.not139.2 = icmp eq i32 %561, 0
  br i1 %.not139.2, label %569, label %563

563:                                              ; preds = %562
  %564 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %565 = invoke noundef i32 @_ZN17RecognizeCommands20ProcessLatestResultsEPK12TfLiteTensoriPPKcPhPb(ptr noundef nonnull align 8 dereferenceable(452) %25, ptr noundef nonnull %34, i32 noundef 1200, ptr noundef nonnull %36, ptr noundef nonnull %35, ptr noundef nonnull %37)
          to label %566 unwind label %537

566:                                              ; preds = %563
  %567 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %564, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.3, i32 noundef 144, i32 noundef 0, i32 noundef %565)
          to label %568 unwind label %537

568:                                              ; preds = %566
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %569

569:                                              ; preds = %568, %562
  %570 = load i8, ptr %37, align 1, !tbaa !11, !range !15, !noundef !16
  %571 = trunc nuw i8 %570 to i1
  br i1 %571, label %572, label %580

572:                                              ; preds = %569
  %573 = trunc nuw i8 %.3113.1 to i1
  br i1 %573, label %574, label %578

574:                                              ; preds = %572
  %575 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %576 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %575, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.3, i32 noundef 146)
          to label %577 unwind label %537

577:                                              ; preds = %574
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %578

578:                                              ; preds = %577, %572
  %579 = load ptr, ptr %36, align 8, !tbaa !9
  br label %580

580:                                              ; preds = %578, %569
  %.4118.2 = phi ptr [ %579, %578 ], [ %.4118.1, %569 ]
  %.3113.2 = phi i8 [ 1, %578 ], [ %.3113.1, %569 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %37) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %36) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %36) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %37) #7
  %581 = invoke noundef i32 @_ZN17RecognizeCommands20ProcessLatestResultsEPK12TfLiteTensoriPPKcPhPb(ptr noundef nonnull align 8 dereferenceable(452) %25, ptr noundef nonnull %34, i32 noundef 1300, ptr noundef nonnull %36, ptr noundef nonnull %35, ptr noundef nonnull %37)
          to label %582 unwind label %537

582:                                              ; preds = %580
  %.not139.3 = icmp eq i32 %581, 0
  br i1 %.not139.3, label %589, label %583

583:                                              ; preds = %582
  %584 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %585 = invoke noundef i32 @_ZN17RecognizeCommands20ProcessLatestResultsEPK12TfLiteTensoriPPKcPhPb(ptr noundef nonnull align 8 dereferenceable(452) %25, ptr noundef nonnull %34, i32 noundef 1300, ptr noundef nonnull %36, ptr noundef nonnull %35, ptr noundef nonnull %37)
          to label %586 unwind label %537

586:                                              ; preds = %583
  %587 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %584, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.3, i32 noundef 144, i32 noundef 0, i32 noundef %585)
          to label %588 unwind label %537

588:                                              ; preds = %586
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %589

589:                                              ; preds = %588, %582
  %590 = load i8, ptr %37, align 1, !tbaa !11, !range !15, !noundef !16
  %591 = trunc nuw i8 %590 to i1
  br i1 %591, label %592, label %600

592:                                              ; preds = %589
  %593 = trunc nuw i8 %.3113.2 to i1
  br i1 %593, label %594, label %598

594:                                              ; preds = %592
  %595 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %596 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %595, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.3, i32 noundef 146)
          to label %597 unwind label %537

597:                                              ; preds = %594
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %598

598:                                              ; preds = %597, %592
  %599 = load ptr, ptr %36, align 8, !tbaa !9
  br label %600

600:                                              ; preds = %598, %589
  %.4118.3 = phi ptr [ %599, %598 ], [ %.4118.2, %589 ]
  %.3113.3 = phi i8 [ 1, %598 ], [ %.3113.2, %589 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %37) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %36) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %36) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %37) #7
  %601 = invoke noundef i32 @_ZN17RecognizeCommands20ProcessLatestResultsEPK12TfLiteTensoriPPKcPhPb(ptr noundef nonnull align 8 dereferenceable(452) %25, ptr noundef nonnull %34, i32 noundef 1400, ptr noundef nonnull %36, ptr noundef nonnull %35, ptr noundef nonnull %37)
          to label %602 unwind label %537

602:                                              ; preds = %600
  %.not139.4 = icmp eq i32 %601, 0
  br i1 %.not139.4, label %609, label %603

603:                                              ; preds = %602
  %604 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %605 = invoke noundef i32 @_ZN17RecognizeCommands20ProcessLatestResultsEPK12TfLiteTensoriPPKcPhPb(ptr noundef nonnull align 8 dereferenceable(452) %25, ptr noundef nonnull %34, i32 noundef 1400, ptr noundef nonnull %36, ptr noundef nonnull %35, ptr noundef nonnull %37)
          to label %606 unwind label %537

606:                                              ; preds = %603
  %607 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %604, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.3, i32 noundef 144, i32 noundef 0, i32 noundef %605)
          to label %608 unwind label %537

608:                                              ; preds = %606
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %609

609:                                              ; preds = %608, %602
  %610 = load i8, ptr %37, align 1, !tbaa !11, !range !15, !noundef !16
  %611 = trunc nuw i8 %610 to i1
  br i1 %611, label %612, label %620

612:                                              ; preds = %609
  %613 = trunc nuw i8 %.3113.3 to i1
  br i1 %613, label %614, label %618

614:                                              ; preds = %612
  %615 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %616 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %615, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.3, i32 noundef 146)
          to label %617 unwind label %537

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

618:                                              ; preds = %617, %612
  %619 = load ptr, ptr %36, align 8, !tbaa !9
  br label %620

620:                                              ; preds = %618, %609
  %.4118.4 = phi ptr [ %619, %618 ], [ %.4118.3, %609 ]
  %.3113.4 = phi i8 [ 1, %618 ], [ %.3113.3, %609 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %37) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %36) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %36) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %37) #7
  %621 = invoke noundef i32 @_ZN17RecognizeCommands20ProcessLatestResultsEPK12TfLiteTensoriPPKcPhPb(ptr noundef nonnull align 8 dereferenceable(452) %25, ptr noundef nonnull %34, i32 noundef 1500, ptr noundef nonnull %36, ptr noundef nonnull %35, ptr noundef nonnull %37)
          to label %622 unwind label %537

622:                                              ; preds = %620
  %.not139.5 = icmp eq i32 %621, 0
  br i1 %.not139.5, label %629, label %623

623:                                              ; preds = %622
  %624 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %625 = invoke noundef i32 @_ZN17RecognizeCommands20ProcessLatestResultsEPK12TfLiteTensoriPPKcPhPb(ptr noundef nonnull align 8 dereferenceable(452) %25, ptr noundef nonnull %34, i32 noundef 1500, ptr noundef nonnull %36, ptr noundef nonnull %35, ptr noundef nonnull %37)
          to label %626 unwind label %537

626:                                              ; preds = %623
  %627 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %624, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.3, i32 noundef 144, i32 noundef 0, i32 noundef %625)
          to label %628 unwind label %537

628:                                              ; preds = %626
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %629

629:                                              ; preds = %628, %622
  %630 = load i8, ptr %37, align 1, !tbaa !11, !range !15, !noundef !16
  %631 = trunc nuw i8 %630 to i1
  br i1 %631, label %632, label %640

632:                                              ; preds = %629
  %633 = trunc nuw i8 %.3113.4 to i1
  br i1 %633, label %634, label %638

634:                                              ; preds = %632
  %635 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %636 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %635, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.3, i32 noundef 146)
          to label %637 unwind label %537

637:                                              ; preds = %634
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %638

638:                                              ; preds = %637, %632
  %639 = load ptr, ptr %36, align 8, !tbaa !9
  br label %640

640:                                              ; preds = %638, %629
  %.4118.5 = phi ptr [ %639, %638 ], [ %.4118.4, %629 ]
  %.3113.5 = phi i8 [ 1, %638 ], [ %.3113.4, %629 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %37) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %36) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %36) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %37) #7
  %641 = invoke noundef i32 @_ZN17RecognizeCommands20ProcessLatestResultsEPK12TfLiteTensoriPPKcPhPb(ptr noundef nonnull align 8 dereferenceable(452) %25, ptr noundef nonnull %34, i32 noundef 1600, ptr noundef nonnull %36, ptr noundef nonnull %35, ptr noundef nonnull %37)
          to label %642 unwind label %537

642:                                              ; preds = %640
  %.not139.6 = icmp eq i32 %641, 0
  br i1 %.not139.6, label %649, label %643

643:                                              ; preds = %642
  %644 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %645 = invoke noundef i32 @_ZN17RecognizeCommands20ProcessLatestResultsEPK12TfLiteTensoriPPKcPhPb(ptr noundef nonnull align 8 dereferenceable(452) %25, ptr noundef nonnull %34, i32 noundef 1600, ptr noundef nonnull %36, ptr noundef nonnull %35, ptr noundef nonnull %37)
          to label %646 unwind label %537

646:                                              ; preds = %643
  %647 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %644, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.3, i32 noundef 144, i32 noundef 0, i32 noundef %645)
          to label %648 unwind label %537

648:                                              ; preds = %646
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %649

649:                                              ; preds = %648, %642
  %650 = load i8, ptr %37, align 1, !tbaa !11, !range !15, !noundef !16
  %651 = trunc nuw i8 %650 to i1
  br i1 %651, label %652, label %660

652:                                              ; preds = %649
  %653 = trunc nuw i8 %.3113.5 to i1
  br i1 %653, label %654, label %658

654:                                              ; preds = %652
  %655 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %656 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %655, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.3, i32 noundef 146)
          to label %657 unwind label %537

657:                                              ; preds = %654
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %658

658:                                              ; preds = %657, %652
  %659 = load ptr, ptr %36, align 8, !tbaa !9
  br label %660

660:                                              ; preds = %658, %649
  %.4118.6 = phi ptr [ %659, %658 ], [ %.4118.5, %649 ]
  %.3113.6 = phi i8 [ 1, %658 ], [ %.3113.5, %649 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %37) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %36) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %36) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %37) #7
  %661 = invoke noundef i32 @_ZN17RecognizeCommands20ProcessLatestResultsEPK12TfLiteTensoriPPKcPhPb(ptr noundef nonnull align 8 dereferenceable(452) %25, ptr noundef nonnull %34, i32 noundef 1700, ptr noundef nonnull %36, ptr noundef nonnull %35, ptr noundef nonnull %37)
          to label %662 unwind label %537

662:                                              ; preds = %660
  %.not139.7 = icmp eq i32 %661, 0
  br i1 %.not139.7, label %669, label %663

663:                                              ; preds = %662
  %664 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %665 = invoke noundef i32 @_ZN17RecognizeCommands20ProcessLatestResultsEPK12TfLiteTensoriPPKcPhPb(ptr noundef nonnull align 8 dereferenceable(452) %25, ptr noundef nonnull %34, i32 noundef 1700, ptr noundef nonnull %36, ptr noundef nonnull %35, ptr noundef nonnull %37)
          to label %666 unwind label %537

666:                                              ; preds = %663
  %667 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %664, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.3, i32 noundef 144, i32 noundef 0, i32 noundef %665)
          to label %668 unwind label %537

668:                                              ; preds = %666
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %669

669:                                              ; preds = %668, %662
  %670 = load i8, ptr %37, align 1, !tbaa !11, !range !15, !noundef !16
  %671 = trunc nuw i8 %670 to i1
  br i1 %671, label %672, label %680

672:                                              ; preds = %669
  %673 = trunc nuw i8 %.3113.6 to i1
  br i1 %673, label %674, label %678

674:                                              ; preds = %672
  %675 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %676 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %675, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.3, i32 noundef 146)
          to label %677 unwind label %537

677:                                              ; preds = %674
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %678

678:                                              ; preds = %677, %672
  %679 = load ptr, ptr %36, align 8, !tbaa !9
  br label %680

680:                                              ; preds = %678, %669
  %.4118.7 = phi ptr [ %679, %678 ], [ %.4118.6, %669 ]
  %.3113.7 = phi i8 [ 1, %678 ], [ %.3113.6, %669 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %37) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %36) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %36) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %37) #7
  %681 = invoke noundef i32 @_ZN17RecognizeCommands20ProcessLatestResultsEPK12TfLiteTensoriPPKcPhPb(ptr noundef nonnull align 8 dereferenceable(452) %25, ptr noundef nonnull %34, i32 noundef 1800, ptr noundef nonnull %36, ptr noundef nonnull %35, ptr noundef nonnull %37)
          to label %682 unwind label %537

682:                                              ; preds = %680
  %.not139.8 = icmp eq i32 %681, 0
  br i1 %.not139.8, label %689, label %683

683:                                              ; preds = %682
  %684 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %685 = invoke noundef i32 @_ZN17RecognizeCommands20ProcessLatestResultsEPK12TfLiteTensoriPPKcPhPb(ptr noundef nonnull align 8 dereferenceable(452) %25, ptr noundef nonnull %34, i32 noundef 1800, ptr noundef nonnull %36, ptr noundef nonnull %35, ptr noundef nonnull %37)
          to label %686 unwind label %537

686:                                              ; preds = %683
  %687 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %684, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.3, i32 noundef 144, i32 noundef 0, i32 noundef %685)
          to label %688 unwind label %537

688:                                              ; preds = %686
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %689

689:                                              ; preds = %688, %682
  %690 = load i8, ptr %37, align 1, !tbaa !11, !range !15, !noundef !16
  %691 = trunc nuw i8 %690 to i1
  br i1 %691, label %692, label %700

692:                                              ; preds = %689
  %693 = trunc nuw i8 %.3113.7 to i1
  br i1 %693, label %694, label %698

694:                                              ; preds = %692
  %695 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %696 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %695, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.3, i32 noundef 146)
          to label %697 unwind label %537

697:                                              ; preds = %694
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %698

698:                                              ; preds = %697, %692
  %699 = load ptr, ptr %36, align 8, !tbaa !9
  br label %700

700:                                              ; preds = %698, %689
  %.4118.8 = phi ptr [ %699, %698 ], [ %.4118.7, %689 ]
  %.3113.8 = phi i8 [ 1, %698 ], [ %.3113.7, %689 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %37) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %36) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %36) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %37) #7
  %701 = invoke noundef i32 @_ZN17RecognizeCommands20ProcessLatestResultsEPK12TfLiteTensoriPPKcPhPb(ptr noundef nonnull align 8 dereferenceable(452) %25, ptr noundef nonnull %34, i32 noundef 1900, ptr noundef nonnull %36, ptr noundef nonnull %35, ptr noundef nonnull %37)
          to label %702 unwind label %537

702:                                              ; preds = %700
  %.not139.9 = icmp eq i32 %701, 0
  br i1 %.not139.9, label %709, label %703

703:                                              ; preds = %702
  %704 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %705 = invoke noundef i32 @_ZN17RecognizeCommands20ProcessLatestResultsEPK12TfLiteTensoriPPKcPhPb(ptr noundef nonnull align 8 dereferenceable(452) %25, ptr noundef nonnull %34, i32 noundef 1900, ptr noundef nonnull %36, ptr noundef nonnull %35, ptr noundef nonnull %37)
          to label %706 unwind label %537

706:                                              ; preds = %703
  %707 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %704, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.3, i32 noundef 144, i32 noundef 0, i32 noundef %705)
          to label %708 unwind label %537

708:                                              ; preds = %706
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %709

709:                                              ; preds = %708, %702
  %710 = load i8, ptr %37, align 1, !tbaa !11, !range !15, !noundef !16
  %711 = trunc nuw i8 %710 to i1
  br i1 %711, label %712, label %719

712:                                              ; preds = %709
  %713 = trunc nuw i8 %.3113.8 to i1
  br i1 %713, label %714, label %.thread234

714:                                              ; preds = %712
  %715 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %716 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %715, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.3, i32 noundef 146)
          to label %717 unwind label %537

717:                                              ; preds = %714
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %.thread234

.thread234:                                       ; preds = %712, %717
  %718 = load ptr, ptr %36, align 8, !tbaa !9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %37) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %36) #7
  br label %.critedge186

719:                                              ; preds = %709
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %37) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %36) #7
  %720 = trunc nuw i8 %.3113.8 to i1
  br i1 %720, label %.critedge186, label %721

721:                                              ; preds = %719
  %722 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %723 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %722, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.3, i32 noundef 151)
          to label %._crit_edge207.sink.split unwind label %724

724:                                              ; preds = %734, %727, %721
  %725 = landingpad { ptr, i32 }
          cleanup
  br label %738

.critedge186:                                     ; preds = %.thread234, %719
  %.4118.9237 = phi ptr [ %718, %.thread234 ], [ %.4118.8, %719 ]
  %726 = load i8, ptr %35, align 1, !tbaa !19
  %.not136 = icmp eq i8 %726, -25
  br i1 %.not136, label %732, label %727

727:                                              ; preds = %.critedge186
  %728 = zext i8 %726 to i32
  %729 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %730 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %729, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.3, i32 noundef 153, i32 noundef 231, i32 noundef %728)
          to label %731 unwind label %724

731:                                              ; preds = %727
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %732

732:                                              ; preds = %.critedge186, %731
  %733 = call noundef i32 @_ZN6tflite7testing10TestStrcmpEPKcS2_(ptr noundef nonnull @.str.28, ptr noundef %.4118.9237)
  %.not137 = icmp eq i32 %733, 0
  br i1 %.not137, label %._crit_edge207, label %734

734:                                              ; preds = %732
  %735 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %736 = call noundef i32 @_ZN6tflite7testing10TestStrcmpEPKcS2_(ptr noundef nonnull @.str.28, ptr noundef %.4118.9237)
  %737 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %735, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.3, i32 noundef 154, i32 noundef 0, i32 noundef %736)
          to label %._crit_edge207.sink.split unwind label %724

738:                                              ; preds = %724, %537
  %.pn140 = phi { ptr, i32 } [ %538, %537 ], [ %725, %724 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %35) #7
  br label %739

739:                                              ; preds = %738, %528
  %.pn140.pn = phi { ptr, i32 } [ %.pn140, %738 ], [ %529, %528 ]
  call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %34) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %33) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %32) #7
  br label %740

740:                                              ; preds = %337, %516, %739, %328
  %.pn144.pn = phi { ptr, i32 } [ %329, %328 ], [ %338, %337 ], [ %.pn140.pn, %739 ], [ %517, %516 ]
  call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %28) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %27) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %26) #7
  br label %741

741:                                              ; preds = %740, %326
  %.pn144.pn.pn = phi { ptr, i32 } [ %.pn144.pn, %740 ], [ %327, %326 ]
  call void @llvm.lifetime.end.p0(i64 456, ptr nonnull %25) #7
  call void @_ZN6tflite13ErrorReporterD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %24) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #7
  br label %876

._crit_edge207.sink.split:                        ; preds = %734, %721
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %._crit_edge207

._crit_edge207:                                   ; preds = %._crit_edge207.sink.split, %732
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %35) #7
  call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %34) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %33) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %32) #7
  call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %28) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %27) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %26) #7
  call void @llvm.lifetime.end.p0(i64 456, ptr nonnull %25) #7
  call void @_ZN6tflite13ErrorReporterD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %24) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #7
  store i8 1, ptr @_ZN10micro_test16is_test_completeE, align 1, !tbaa !11
  %742 = load i8, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11, !range !15, !noundef !16
  %743 = xor i8 %742, 1
  %not.138 = zext nneg i8 %743 to i32
  %744 = load i32, ptr @_ZN10micro_test12tests_passedE, align 4, !tbaa !5
  %745 = add nsw i32 %744, %not.138
  store i32 %745, ptr @_ZN10micro_test12tests_passedE, align 4, !tbaa !5
  %746 = zext nneg i8 %742 to i32
  %747 = load i32, ptr @_ZN10micro_test12tests_failedE, align 4, !tbaa !5
  %748 = add nsw i32 %747, %746
  store i32 %748, ptr @_ZN10micro_test12tests_failedE, align 4, !tbaa !5
  %749 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %750 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %749, ptr noundef nonnull @.str, ptr noundef nonnull @.str.30)
          to label %751 unwind label %74

751:                                              ; preds = %._crit_edge207
  store i8 0, ptr @_ZN10micro_test16is_test_completeE, align 1, !tbaa !11
  store i8 0, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %38) #7
  call void @_ZN6tflite18MicroErrorReporterC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %38) #7
  call void @llvm.lifetime.start.p0(i64 456, ptr nonnull %39) #7
  invoke void @_ZN17RecognizeCommandsC1EPN6tflite13ErrorReporterEihii(ptr noundef nonnull align 8 dereferenceable(452) %39, ptr noundef nonnull %38, i32 noundef 1000, i8 noundef zeroext 51, i32 noundef 1500, i32 noundef 3)
          to label %752 unwind label %767

752:                                              ; preds = %751
  %753 = getelementptr inbounds i8, ptr %41, i64 8
  %754 = getelementptr inbounds i8, ptr %41, i64 4
  %755 = getelementptr inbounds i8, ptr %40, i64 2
  %756 = getelementptr inbounds i8, ptr %40, i64 1
  call void @llvm.lifetime.start.p0(i64 3, ptr nonnull %40) #7
  store i8 0, ptr %40, align 1, !tbaa !19
  store i8 0, ptr %756, align 1, !tbaa !19
  store i8 -1, ptr %755, align 1, !tbaa !19
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %41) #7
  store i32 2, ptr %41, align 4, !tbaa !5
  store i32 1, ptr %754, align 4, !tbaa !5
  store i32 3, ptr %753, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 96, ptr nonnull %42) #7
  %757 = invoke noundef ptr @_ZN6tflite7testing23IntArrayFromInitializerESt16initializer_listIiE(ptr nonnull %41, i64 3)
          to label %758 unwind label %769

758:                                              ; preds = %752
  invoke void @_ZN6tflite7testing21CreateQuantizedTensorESt16initializer_listIhEP14TfLiteIntArrayPKcff(ptr dead_on_unwind nonnull writable sret(%struct.TfLiteTensor) align 8 %42, ptr nonnull %40, i64 3, ptr noundef %757, ptr noundef nonnull @.str.17, float noundef 0.000000e+00, float noundef 1.280000e+02)
          to label %759 unwind label %769

759:                                              ; preds = %758
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %43) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %44) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %45) #7
  %760 = invoke noundef i32 @_ZN17RecognizeCommands20ProcessLatestResultsEPK12TfLiteTensoriPPKcPhPb(ptr noundef nonnull align 8 dereferenceable(452) %39, ptr noundef nonnull %42, i32 noundef 0, ptr noundef nonnull %43, ptr noundef nonnull %44, ptr noundef nonnull %45)
          to label %761 unwind label %771

761:                                              ; preds = %759
  %762 = icmp eq i32 %760, 0
  br i1 %762, label %763, label %._crit_edge210

763:                                              ; preds = %761
  %764 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %765 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %764, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.3, i32 noundef 175)
          to label %766 unwind label %771

766:                                              ; preds = %763
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %._crit_edge210

767:                                              ; preds = %751
  %768 = landingpad { ptr, i32 }
          cleanup
  br label %774

769:                                              ; preds = %758, %752
  %770 = landingpad { ptr, i32 }
          cleanup
  br label %773

771:                                              ; preds = %763, %759
  %772 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %45) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %44) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %43) #7
  br label %773

773:                                              ; preds = %771, %769
  %.pn131 = phi { ptr, i32 } [ %772, %771 ], [ %770, %769 ]
  call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %42) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %41) #7
  call void @llvm.lifetime.end.p0(i64 3, ptr nonnull %40) #7
  br label %774

774:                                              ; preds = %773, %767
  %.pn131.pn = phi { ptr, i32 } [ %.pn131, %773 ], [ %768, %767 ]
  call void @llvm.lifetime.end.p0(i64 456, ptr nonnull %39) #7
  call void @_ZN6tflite13ErrorReporterD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %38) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %38) #7
  br label %876

._crit_edge210:                                   ; preds = %766, %761
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %45) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %44) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %43) #7
  call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %42) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %41) #7
  call void @llvm.lifetime.end.p0(i64 3, ptr nonnull %40) #7
  call void @llvm.lifetime.end.p0(i64 456, ptr nonnull %39) #7
  call void @_ZN6tflite13ErrorReporterD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %38) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %38) #7
  store i8 1, ptr @_ZN10micro_test16is_test_completeE, align 1, !tbaa !11
  %775 = load i8, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11, !range !15, !noundef !16
  %776 = xor i8 %775, 1
  %not.134 = zext nneg i8 %776 to i32
  %777 = load i32, ptr @_ZN10micro_test12tests_passedE, align 4, !tbaa !5
  %778 = add nsw i32 %777, %not.134
  store i32 %778, ptr @_ZN10micro_test12tests_passedE, align 4, !tbaa !5
  %779 = zext nneg i8 %775 to i32
  %780 = load i32, ptr @_ZN10micro_test12tests_failedE, align 4, !tbaa !5
  %781 = add nsw i32 %780, %779
  store i32 %781, ptr @_ZN10micro_test12tests_failedE, align 4, !tbaa !5
  %782 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %783 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %782, ptr noundef nonnull @.str, ptr noundef nonnull @.str.32)
          to label %784 unwind label %74

784:                                              ; preds = %._crit_edge210
  store i8 0, ptr @_ZN10micro_test16is_test_completeE, align 1, !tbaa !11
  store i8 0, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %46) #7
  call void @_ZN6tflite18MicroErrorReporterC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %46) #7
  call void @llvm.lifetime.start.p0(i64 456, ptr nonnull %47) #7
  invoke void @_ZN17RecognizeCommandsC1EPN6tflite13ErrorReporterEihii(ptr noundef nonnull align 8 dereferenceable(452) %47, ptr noundef nonnull %46, i32 noundef 1000, i8 noundef zeroext 51, i32 noundef 1500, i32 noundef 3)
          to label %785 unwind label %799

785:                                              ; preds = %784
  %786 = getelementptr inbounds i8, ptr %49, i64 8
  %787 = getelementptr inbounds i8, ptr %49, i64 4
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %48) #7
  store <4 x i8> <i8 0, i8 0, i8 -1, i8 0>, ptr %48, align 4, !tbaa !19
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %49) #7
  store i32 2, ptr %49, align 4, !tbaa !5
  store i32 1, ptr %787, align 4, !tbaa !5
  store i32 4, ptr %786, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 96, ptr nonnull %50) #7
  %788 = invoke noundef ptr @_ZN6tflite7testing23IntArrayFromInitializerESt16initializer_listIiE(ptr nonnull %49, i64 3)
          to label %789 unwind label %801

789:                                              ; preds = %785
  invoke void @_ZN6tflite7testing21CreateQuantizedTensorESt16initializer_listIhEP14TfLiteIntArrayPKcff(ptr dead_on_unwind nonnull writable sret(%struct.TfLiteTensor) align 8 %50, ptr nonnull %48, i64 4, ptr noundef %788, ptr noundef nonnull @.str.17, float noundef 0.000000e+00, float noundef 1.280000e+02)
          to label %790 unwind label %801

790:                                              ; preds = %789
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %51) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %52) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %53) #7
  %791 = invoke noundef i32 @_ZN17RecognizeCommands20ProcessLatestResultsEPK12TfLiteTensoriPPKcPhPb(ptr noundef nonnull align 8 dereferenceable(452) %47, ptr noundef nonnull %50, i32 noundef 100, ptr noundef nonnull %51, ptr noundef nonnull %52, ptr noundef nonnull %53)
          to label %792 unwind label %803

792:                                              ; preds = %790
  %.not126 = icmp eq i32 %791, 0
  br i1 %.not126, label %805, label %793

793:                                              ; preds = %792
  %794 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %795 = invoke noundef i32 @_ZN17RecognizeCommands20ProcessLatestResultsEPK12TfLiteTensoriPPKcPhPb(ptr noundef nonnull align 8 dereferenceable(452) %47, ptr noundef nonnull %50, i32 noundef 100, ptr noundef nonnull %51, ptr noundef nonnull %52, ptr noundef nonnull %53)
          to label %796 unwind label %803

796:                                              ; preds = %793
  %797 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %794, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.3, i32 noundef 195, i32 noundef 0, i32 noundef %795)
          to label %798 unwind label %803

798:                                              ; preds = %796
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %805

799:                                              ; preds = %784
  %800 = landingpad { ptr, i32 }
          cleanup
  br label %814

801:                                              ; preds = %789, %785
  %802 = landingpad { ptr, i32 }
          cleanup
  br label %813

803:                                              ; preds = %809, %805, %796, %793, %790
  %804 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %53) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %52) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %51) #7
  br label %813

805:                                              ; preds = %792, %798
  %806 = invoke noundef i32 @_ZN17RecognizeCommands20ProcessLatestResultsEPK12TfLiteTensoriPPKcPhPb(ptr noundef nonnull align 8 dereferenceable(452) %47, ptr noundef nonnull %50, i32 noundef 0, ptr noundef nonnull %51, ptr noundef nonnull %52, ptr noundef nonnull %53)
          to label %807 unwind label %803

807:                                              ; preds = %805
  %808 = icmp eq i32 %806, 0
  br i1 %808, label %809, label %._crit_edge213

809:                                              ; preds = %807
  %810 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %811 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %810, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.3, i32 noundef 198)
          to label %812 unwind label %803

812:                                              ; preds = %809
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %._crit_edge213

813:                                              ; preds = %803, %801
  %.pn127 = phi { ptr, i32 } [ %804, %803 ], [ %802, %801 ]
  call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %50) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %49) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %48) #7
  br label %814

814:                                              ; preds = %813, %799
  %.pn127.pn = phi { ptr, i32 } [ %.pn127, %813 ], [ %800, %799 ]
  call void @llvm.lifetime.end.p0(i64 456, ptr nonnull %47) #7
  call void @_ZN6tflite13ErrorReporterD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %46) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %46) #7
  br label %876

._crit_edge213:                                   ; preds = %812, %807
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %53) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %52) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %51) #7
  call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %50) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %49) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %48) #7
  call void @llvm.lifetime.end.p0(i64 456, ptr nonnull %47) #7
  call void @_ZN6tflite13ErrorReporterD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %46) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %46) #7
  store i8 1, ptr @_ZN10micro_test16is_test_completeE, align 1, !tbaa !11
  %815 = load i8, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11, !range !15, !noundef !16
  %816 = xor i8 %815, 1
  %not.130 = zext nneg i8 %816 to i32
  %817 = load i32, ptr @_ZN10micro_test12tests_passedE, align 4, !tbaa !5
  %818 = add nsw i32 %817, %not.130
  store i32 %818, ptr @_ZN10micro_test12tests_passedE, align 4, !tbaa !5
  %819 = zext nneg i8 %815 to i32
  %820 = load i32, ptr @_ZN10micro_test12tests_failedE, align 4, !tbaa !5
  %821 = add nsw i32 %820, %819
  store i32 %821, ptr @_ZN10micro_test12tests_failedE, align 4, !tbaa !5
  %822 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %823 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %822, ptr noundef nonnull @.str, ptr noundef nonnull @.str.35)
          to label %824 unwind label %74

824:                                              ; preds = %._crit_edge213
  store i8 0, ptr @_ZN10micro_test16is_test_completeE, align 1, !tbaa !11
  store i8 0, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %54) #7
  call void @_ZN6tflite18MicroErrorReporterC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %54) #7
  call void @llvm.lifetime.start.p0(i64 456, ptr nonnull %55) #7
  invoke void @_ZN17RecognizeCommandsC1EPN6tflite13ErrorReporterEihii(ptr noundef nonnull align 8 dereferenceable(452) %55, ptr noundef nonnull %54, i32 noundef 1000, i8 noundef zeroext 51, i32 noundef 1500, i32 noundef 3)
          to label %825 unwind label %839

825:                                              ; preds = %824
  %826 = getelementptr inbounds i8, ptr %57, i64 8
  %827 = getelementptr inbounds i8, ptr %57, i64 4
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %56) #7
  store <4 x i8> <i8 0, i8 0, i8 -1, i8 0>, ptr %56, align 4, !tbaa !19
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %57) #7
  store i32 2, ptr %57, align 4, !tbaa !5
  store i32 1, ptr %827, align 4, !tbaa !5
  store i32 4, ptr %826, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 96, ptr nonnull %58) #7
  %828 = invoke noundef ptr @_ZN6tflite7testing23IntArrayFromInitializerESt16initializer_listIiE(ptr nonnull %57, i64 3)
          to label %829 unwind label %841

829:                                              ; preds = %825
  invoke void @_ZN6tflite7testing21CreateQuantizedTensorESt16initializer_listIhEP14TfLiteIntArrayPKcff(ptr dead_on_unwind nonnull writable sret(%struct.TfLiteTensor) align 8 %58, ptr nonnull %56, i64 4, ptr noundef %828, ptr noundef nonnull @.str.17, float noundef 0.000000e+00, float noundef 1.280000e+02)
          to label %830 unwind label %841

830:                                              ; preds = %829
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %59) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %60) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %61) #7
  %831 = invoke noundef i32 @_ZN17RecognizeCommands20ProcessLatestResultsEPK12TfLiteTensoriPPKcPhPb(ptr noundef nonnull align 8 dereferenceable(452) %55, ptr noundef nonnull %58, i32 noundef 100, ptr noundef nonnull %59, ptr noundef nonnull %60, ptr noundef nonnull %61)
          to label %832 unwind label %843

832:                                              ; preds = %830
  %.not = icmp eq i32 %831, 0
  br i1 %.not, label %845, label %833

833:                                              ; preds = %832
  %834 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %835 = invoke noundef i32 @_ZN17RecognizeCommands20ProcessLatestResultsEPK12TfLiteTensoriPPKcPhPb(ptr noundef nonnull align 8 dereferenceable(452) %55, ptr noundef nonnull %58, i32 noundef 100, ptr noundef nonnull %59, ptr noundef nonnull %60, ptr noundef nonnull %61)
          to label %836 unwind label %843

836:                                              ; preds = %833
  %837 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %834, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.3, i32 noundef 218, i32 noundef 0, i32 noundef %835)
          to label %838 unwind label %843

838:                                              ; preds = %836
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %845

839:                                              ; preds = %824
  %840 = landingpad { ptr, i32 }
          cleanup
  br label %860

841:                                              ; preds = %829, %825
  %842 = landingpad { ptr, i32 }
          cleanup
  br label %859

843:                                              ; preds = %855, %847, %836, %833, %830
  %844 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %61) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %60) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %59) #7
  br label %859

845:                                              ; preds = %832, %838
  %846 = load i8, ptr %60, align 1, !tbaa !19
  %.not123 = icmp eq i8 %846, 0
  br i1 %.not123, label %852, label %847

847:                                              ; preds = %845
  %848 = zext i8 %846 to i32
  %849 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %850 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %849, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.3, i32 noundef 219, i32 noundef 0, i32 noundef %848)
          to label %851 unwind label %843

851:                                              ; preds = %847
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %852

852:                                              ; preds = %845, %851
  %853 = load i8, ptr %61, align 1, !tbaa !11, !range !15, !noundef !16
  %854 = trunc nuw i8 %853 to i1
  br i1 %854, label %855, label %._crit_edge216

855:                                              ; preds = %852
  %856 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %857 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %856, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.3, i32 noundef 220, i32 noundef 0, i32 noundef 1)
          to label %858 unwind label %843

858:                                              ; preds = %855
  store i8 1, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11
  br label %._crit_edge216

859:                                              ; preds = %843, %841
  %.pn = phi { ptr, i32 } [ %844, %843 ], [ %842, %841 ]
  call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %58) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %57) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %56) #7
  br label %860

860:                                              ; preds = %859, %839
  %.pn.pn = phi { ptr, i32 } [ %.pn, %859 ], [ %840, %839 ]
  call void @llvm.lifetime.end.p0(i64 456, ptr nonnull %55) #7
  call void @_ZN6tflite13ErrorReporterD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %54) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %54) #7
  br label %876

._crit_edge216:                                   ; preds = %858, %852
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %61) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %60) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %59) #7
  call void @llvm.lifetime.end.p0(i64 96, ptr nonnull %58) #7
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %57) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %56) #7
  call void @llvm.lifetime.end.p0(i64 456, ptr nonnull %55) #7
  call void @_ZN6tflite13ErrorReporterD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %54) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %54) #7
  store i8 1, ptr @_ZN10micro_test16is_test_completeE, align 1, !tbaa !11
  %861 = load i8, ptr @_ZN10micro_test13did_test_failE, align 1, !tbaa !11, !range !15, !noundef !16
  %862 = xor i8 %861, 1
  %not. = zext nneg i8 %862 to i32
  %863 = load i32, ptr @_ZN10micro_test12tests_passedE, align 4, !tbaa !5
  %864 = add nsw i32 %863, %not.
  store i32 %864, ptr @_ZN10micro_test12tests_passedE, align 4, !tbaa !5
  %865 = zext nneg i8 %861 to i32
  %866 = load i32, ptr @_ZN10micro_test12tests_failedE, align 4, !tbaa !5
  %867 = add nsw i32 %866, %865
  store i32 %867, ptr @_ZN10micro_test12tests_failedE, align 4, !tbaa !5
  %868 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %869 = add nsw i32 %867, %864
  %870 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %868, ptr noundef nonnull @.str.38, i32 noundef %864, i32 noundef %869)
          to label %.invoke unwind label %74

.invoke:                                          ; preds = %._crit_edge216
  %871 = load i32, ptr @_ZN10micro_test12tests_failedE, align 4, !tbaa !5
  %872 = icmp eq i32 %871, 0
  %873 = load ptr, ptr @_ZN10micro_test8reporterE, align 8, !tbaa !9
  %.str.39..str.40 = select i1 %872, ptr @.str.39, ptr @.str.40
  %874 = invoke noundef i32 (ptr, ptr, ...) @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8) %873, ptr noundef nonnull %.str.39..str.40)
          to label %875 unwind label %74

875:                                              ; preds = %.invoke
  call void @_ZN6tflite13ErrorReporterD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %3) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) #7
  ret i32 0

876:                                              ; preds = %860, %814, %774, %741, %307, %275, %205, %74
  %.pn177.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn177.pn.pn.pn.pn, %205 ], [ %.pn160.pn, %275 ], [ %.pn149.pn, %307 ], [ %.pn144.pn.pn, %741 ], [ %.pn131.pn, %774 ], [ %.pn127.pn, %814 ], [ %.pn.pn, %860 ], [ %75, %74 ]
  call void @_ZN6tflite13ErrorReporterD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %3) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) #7
  resume { ptr, i32 } %.pn177.pn.pn.pn.pn.pn
}

; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #1

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN6tflite18MicroErrorReporterC2Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #2 align 2

declare noundef i32 @_ZN6tflite13ErrorReporter6ReportEPKcz(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef, ...) local_unnamed_addr #3

declare i32 @__gxx_personality_v0(...)

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN20PreviousResultsQueueC2EPN6tflite13ErrorReporterE(ptr noundef nonnull align 8 dereferenceable(416), ptr noundef) unnamed_addr #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZN20PreviousResultsQueue4sizeEv(ptr noundef nonnull align 8 dereferenceable(416)) local_unnamed_addr #5 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN20PreviousResultsQueue9push_backERKNS_6ResultE(ptr noundef nonnull align 8 dereferenceable(416), ptr noundef nonnull align 4 dereferenceable(8)) local_unnamed_addr #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN20PreviousResultsQueue6ResultC2EiPh(ptr noundef nonnull align 4 dereferenceable(8), i32 noundef, ptr noundef) unnamed_addr #5 align 2

; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #1

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 4 dereferenceable(8) ptr @_ZN20PreviousResultsQueue5frontEv(ptr noundef nonnull align 8 dereferenceable(416)) local_unnamed_addr #5 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 4 dereferenceable(8) ptr @_ZN20PreviousResultsQueue4backEv(ptr noundef nonnull align 8 dereferenceable(416)) local_unnamed_addr #5 align 2

; Function Attrs: mustprogress uwtable
declare dso_local i64 @_ZN20PreviousResultsQueue9pop_frontEv(ptr noundef nonnull align 8 dereferenceable(416)) local_unnamed_addr #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN6tflite13ErrorReporterD2Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #5 align 2

declare void @_ZN17RecognizeCommandsC1EPN6tflite13ErrorReporterEihii(ptr noundef nonnull align 8 dereferenceable(452), ptr noundef, i32 noundef, i8 noundef zeroext, i32 noundef, i32 noundef) unnamed_addr #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN6tflite7testing21CreateQuantizedTensorESt16initializer_listIhEP14TfLiteIntArrayPKcff(ptr dead_on_unwind noalias writable sret(%struct.TfLiteTensor) align 8, ptr, i64, ptr noundef, ptr noundef, float noundef, float noundef) local_unnamed_addr #6

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef ptr @_ZN6tflite7testing23IntArrayFromInitializerESt16initializer_listIiE(ptr, i64) local_unnamed_addr #6

declare noundef i32 @_ZN17RecognizeCommands20ProcessLatestResultsEPK12TfLiteTensoriPPKcPhPb(ptr noundef nonnull align 8 dereferenceable(452), ptr noundef, i32 noundef, ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZN6tflite7testing10TestStrcmpEPKcS2_(ptr noundef, ptr noundef) local_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 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { inlinehint 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 #3 = { "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 #4 = { 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 #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 = { 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 #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 = !{!14, !6, i64 0}
!14 = !{!"_ZTSN20PreviousResultsQueue6ResultE", !6, i64 0, !7, i64 4}
!15 = !{i8 0, i8 2}
!16 = !{}
!17 = distinct !{!17, !18}
!18 = !{!"llvm.loop.mustprogress"}
!19 = !{!7, !7, i64 0}


; Effective O3 passes: BDCEPass,CorrelatedValuePropagationPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferAlignmentPass,InferFunctionAttrsPass,InstCombinePass,JumpThreadingPass,LCSSAPass,LICMPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,PostOrderFunctionAttrsPass,ReassociatePass,SCCPPass,SLPVectorizerPass,SROAPass,SimplifyCFGPass