; LLVM IR from Seeed-Studio/Seeed_Arduino_edgeimpulse :: src/edge-impulse-sdk/tensorflow/lite/micro/kernels (mul)

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

%"struct.tflite::ArithmeticParams" = type { i8, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, float, float, [5 x i32] }
%"class.tflite::RuntimeShape" = type { i32, %union.anon }
%union.anon = type { ptr, [16 x i8] }
%struct.TfLiteTensor = type { i32, %union.TfLitePtrUnion, ptr, %struct.TfLiteQuantizationParams, i32, i64, ptr, ptr, ptr, i32, i8, i8, %struct.TfLiteQuantization, ptr, ptr }
%union.TfLitePtrUnion = type { ptr }
%struct.TfLiteQuantizationParams = type { float, i32 }
%struct.TfLiteQuantization = type { i32, ptr }
%"struct.tflite::ops::micro::mul::OpData" = type { i32, i32, i32, i32 }

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

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN6tflite3ops5micro3mul13EvalQuantizedEP13TfLiteContextP10TfLiteNodeP15TfLiteMulParamsPNS2_6OpDataEPK12TfLiteTensorSD_PSB_(ptr noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef %3, ptr noundef %4, ptr noundef %5, ptr noundef %6) #1 personality ptr @__gxx_personality_v0 {
  %8 = alloca ptr, align 8
  %9 = alloca ptr, align 8
  %10 = alloca ptr, align 8
  %11 = alloca ptr, align 8
  %12 = alloca ptr, align 8
  %13 = alloca ptr, align 8
  %14 = alloca ptr, align 8
  %15 = alloca %"struct.tflite::ArithmeticParams", align 4
  %16 = alloca i8, align 1
  %17 = alloca %"class.tflite::RuntimeShape", align 8
  %18 = alloca %"class.tflite::RuntimeShape", align 8
  %19 = alloca ptr, align 8
  %20 = alloca i32, align 4
  %21 = alloca %"class.tflite::RuntimeShape", align 8
  %22 = alloca %"class.tflite::RuntimeShape", align 8
  %23 = alloca %"class.tflite::RuntimeShape", align 8
  %24 = alloca %"class.tflite::RuntimeShape", align 8
  %25 = alloca %"class.tflite::RuntimeShape", align 8
  %26 = alloca %"class.tflite::RuntimeShape", align 8
  %27 = alloca %"class.tflite::RuntimeShape", align 8
  %28 = alloca %"class.tflite::RuntimeShape", align 8
  %29 = alloca %"class.tflite::RuntimeShape", align 8
  %30 = alloca %"class.tflite::RuntimeShape", align 8
  %31 = alloca %"class.tflite::RuntimeShape", align 8
  %32 = alloca %"class.tflite::RuntimeShape", align 8
  store ptr %0, ptr %8, align 8, !tbaa !5
  store ptr %1, ptr %9, align 8, !tbaa !5
  store ptr %2, ptr %10, align 8, !tbaa !5
  store ptr %3, ptr %11, align 8, !tbaa !5
  store ptr %4, ptr %12, align 8, !tbaa !5
  store ptr %5, ptr %13, align 8, !tbaa !5
  store ptr %6, ptr %14, align 8, !tbaa !5
  %33 = load ptr, ptr %14, align 8, !tbaa !5
  %34 = getelementptr inbounds %struct.TfLiteTensor, ptr %33, i32 0, i32 0
  %35 = load i32, ptr %34, align 8, !tbaa !9
  %36 = icmp eq i32 %35, 9
  br i1 %36, label %42, label %37

37:                                               ; preds = %7
  %38 = load ptr, ptr %14, align 8, !tbaa !5
  %39 = getelementptr inbounds %struct.TfLiteTensor, ptr %38, i32 0, i32 0
  %40 = load i32, ptr %39, align 8, !tbaa !9
  %41 = icmp eq i32 %40, 3
  br i1 %41, label %42, label %269

42:                                               ; preds = %37, %7
  call void @llvm.lifetime.start.p0(i64 80, ptr %15) #5
  %43 = load ptr, ptr %11, align 8, !tbaa !5
  %44 = getelementptr inbounds %"struct.tflite::ops::micro::mul::OpData", ptr %43, i32 0, i32 0
  %45 = load i32, ptr %44, align 4, !tbaa !20
  %46 = load ptr, ptr %11, align 8, !tbaa !5
  %47 = getelementptr inbounds %"struct.tflite::ops::micro::mul::OpData", ptr %46, i32 0, i32 1
  %48 = load i32, ptr %47, align 4, !tbaa !22
  call void @_ZN6tflite19SetActivationParamsINS_16ArithmeticParamsEEEviiPT_(i32 noundef %45, i32 noundef %48, ptr noundef %15)
  %49 = load ptr, ptr %12, align 8, !tbaa !5
  %50 = getelementptr inbounds %struct.TfLiteTensor, ptr %49, i32 0, i32 3
  %51 = getelementptr inbounds %struct.TfLiteQuantizationParams, ptr %50, i32 0, i32 1
  %52 = load i32, ptr %51, align 4, !tbaa !23
  %53 = sub nsw i32 0, %52
  %54 = getelementptr inbounds %"struct.tflite::ArithmeticParams", ptr %15, i32 0, i32 1
  store i32 %53, ptr %54, align 4, !tbaa !24
  %55 = load ptr, ptr %13, align 8, !tbaa !5
  %56 = getelementptr inbounds %struct.TfLiteTensor, ptr %55, i32 0, i32 3
  %57 = getelementptr inbounds %struct.TfLiteQuantizationParams, ptr %56, i32 0, i32 1
  %58 = load i32, ptr %57, align 4, !tbaa !23
  %59 = sub nsw i32 0, %58
  %60 = getelementptr inbounds %"struct.tflite::ArithmeticParams", ptr %15, i32 0, i32 2
  store i32 %59, ptr %60, align 4, !tbaa !27
  %61 = load ptr, ptr %14, align 8, !tbaa !5
  %62 = getelementptr inbounds %struct.TfLiteTensor, ptr %61, i32 0, i32 3
  %63 = getelementptr inbounds %struct.TfLiteQuantizationParams, ptr %62, i32 0, i32 1
  %64 = load i32, ptr %63, align 4, !tbaa !23
  %65 = getelementptr inbounds %"struct.tflite::ArithmeticParams", ptr %15, i32 0, i32 3
  store i32 %64, ptr %65, align 4, !tbaa !28
  %66 = load ptr, ptr %11, align 8, !tbaa !5
  %67 = getelementptr inbounds %"struct.tflite::ops::micro::mul::OpData", ptr %66, i32 0, i32 2
  %68 = load i32, ptr %67, align 4, !tbaa !29
  %69 = getelementptr inbounds %"struct.tflite::ArithmeticParams", ptr %15, i32 0, i32 4
  store i32 %68, ptr %69, align 4, !tbaa !30
  %70 = load ptr, ptr %11, align 8, !tbaa !5
  %71 = getelementptr inbounds %"struct.tflite::ops::micro::mul::OpData", ptr %70, i32 0, i32 3
  %72 = load i32, ptr %71, align 4, !tbaa !31
  %73 = getelementptr inbounds %"struct.tflite::ArithmeticParams", ptr %15, i32 0, i32 5
  store i32 %72, ptr %73, align 4, !tbaa !32
  call void @llvm.lifetime.start.p0(i64 1, ptr %16) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %17) #5
  %74 = load ptr, ptr %12, align 8, !tbaa !5
  call void @_ZN6tflite14GetTensorShapeEPK12TfLiteTensor(ptr dead_on_unwind writable sret(%"class.tflite::RuntimeShape") align 8 %17, ptr noundef %74)
  call void @llvm.lifetime.start.p0(i64 32, ptr %18) #5
  %75 = load ptr, ptr %13, align 8, !tbaa !5
  invoke void @_ZN6tflite14GetTensorShapeEPK12TfLiteTensor(ptr dead_on_unwind writable sret(%"class.tflite::RuntimeShape") align 8 %18, ptr noundef %75)
          to label %76 unwind label %103

76:                                               ; preds = %42
  %77 = invoke noundef zeroext i1 @_ZN6tflite13reference_ops22ProcessBroadcastShapesERKNS_12RuntimeShapeES3_PNS_16ArithmeticParamsE(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %18, ptr noundef %15)
          to label %78 unwind label %107

78:                                               ; preds = %76
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %18) #5
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %17) #5
  %79 = zext i1 %77 to i8
  store i8 %79, ptr %16, align 1, !tbaa !33
  %80 = load ptr, ptr %14, align 8, !tbaa !5
  %81 = getelementptr inbounds %struct.TfLiteTensor, ptr %80, i32 0, i32 0
  %82 = load i32, ptr %81, align 8, !tbaa !9
  %83 = icmp eq i32 %82, 9
  br i1 %83, label %84, label %177

84:                                               ; preds = %78
  %85 = load i8, ptr %16, align 1, !tbaa !33, !range !34, !noundef !35
  %86 = trunc i8 %85 to i1
  br i1 %86, label %87, label %136

87:                                               ; preds = %84
  call void @llvm.lifetime.start.p0(i64 32, ptr %21) #5
  %88 = load ptr, ptr %12, align 8, !tbaa !5
  call void @_ZN6tflite14GetTensorShapeEPK12TfLiteTensor(ptr dead_on_unwind writable sret(%"class.tflite::RuntimeShape") align 8 %21, ptr noundef %88)
  %89 = load ptr, ptr %12, align 8, !tbaa !5
  %90 = invoke noundef ptr @_ZN6tflite13GetTensorDataIaEEPKT_PK12TfLiteTensor(ptr noundef %89)
          to label %91 unwind label %112

91:                                               ; preds = %87
  call void @llvm.lifetime.start.p0(i64 32, ptr %22) #5
  %92 = load ptr, ptr %13, align 8, !tbaa !5
  invoke void @_ZN6tflite14GetTensorShapeEPK12TfLiteTensor(ptr dead_on_unwind writable sret(%"class.tflite::RuntimeShape") align 8 %22, ptr noundef %92)
          to label %93 unwind label %116

93:                                               ; preds = %91
  %94 = load ptr, ptr %13, align 8, !tbaa !5
  %95 = invoke noundef ptr @_ZN6tflite13GetTensorDataIaEEPKT_PK12TfLiteTensor(ptr noundef %94)
          to label %96 unwind label %120

96:                                               ; preds = %93
  call void @llvm.lifetime.start.p0(i64 32, ptr %23) #5
  %97 = load ptr, ptr %14, align 8, !tbaa !5
  invoke void @_ZN6tflite14GetTensorShapeEPK12TfLiteTensor(ptr dead_on_unwind writable sret(%"class.tflite::RuntimeShape") align 8 %23, ptr noundef %97)
          to label %98 unwind label %124

98:                                               ; preds = %96
  %99 = load ptr, ptr %14, align 8, !tbaa !5
  %100 = invoke noundef ptr @_ZN6tflite13GetTensorDataIaEEPT_P12TfLiteTensor(ptr noundef %99)
          to label %101 unwind label %128

101:                                              ; preds = %98
  invoke void @_ZN6tflite21reference_integer_ops18BroadcastMul4DSlowIaEEvRKNS_16ArithmeticParamsERKNS_12RuntimeShapeEPKT_S7_SA_S7_PS8_(ptr noundef nonnull align 4 dereferenceable(80) %15, ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef %90, ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef %95, ptr noundef nonnull align 8 dereferenceable(32) %23, ptr noundef %100)
          to label %102 unwind label %128

102:                                              ; preds = %101
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %23) #5
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %22) #5
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %21) #5
  br label %176

103:                                              ; preds = %42
  %104 = landingpad { ptr, i32 }
          cleanup
  %105 = extractvalue { ptr, i32 } %104, 0
  store ptr %105, ptr %19, align 8
  %106 = extractvalue { ptr, i32 } %104, 1
  store i32 %106, ptr %20, align 4
  br label %111

107:                                              ; preds = %76
  %108 = landingpad { ptr, i32 }
          cleanup
  %109 = extractvalue { ptr, i32 } %108, 0
  store ptr %109, ptr %19, align 8
  %110 = extractvalue { ptr, i32 } %108, 1
  store i32 %110, ptr %20, align 4
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #5
  br label %111

111:                                              ; preds = %107, %103
  call void @llvm.lifetime.end.p0(i64 32, ptr %18) #5
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %17) #5
  br label %268

112:                                              ; preds = %87
  %113 = landingpad { ptr, i32 }
          cleanup
  %114 = extractvalue { ptr, i32 } %113, 0
  store ptr %114, ptr %19, align 8
  %115 = extractvalue { ptr, i32 } %113, 1
  store i32 %115, ptr %20, align 4
  br label %135

116:                                              ; preds = %91
  %117 = landingpad { ptr, i32 }
          cleanup
  %118 = extractvalue { ptr, i32 } %117, 0
  store ptr %118, ptr %19, align 8
  %119 = extractvalue { ptr, i32 } %117, 1
  store i32 %119, ptr %20, align 4
  br label %134

120:                                              ; preds = %93
  %121 = landingpad { ptr, i32 }
          cleanup
  %122 = extractvalue { ptr, i32 } %121, 0
  store ptr %122, ptr %19, align 8
  %123 = extractvalue { ptr, i32 } %121, 1
  store i32 %123, ptr %20, align 4
  br label %133

124:                                              ; preds = %96
  %125 = landingpad { ptr, i32 }
          cleanup
  %126 = extractvalue { ptr, i32 } %125, 0
  store ptr %126, ptr %19, align 8
  %127 = extractvalue { ptr, i32 } %125, 1
  store i32 %127, ptr %20, align 4
  br label %132

128:                                              ; preds = %101, %98
  %129 = landingpad { ptr, i32 }
          cleanup
  %130 = extractvalue { ptr, i32 } %129, 0
  store ptr %130, ptr %19, align 8
  %131 = extractvalue { ptr, i32 } %129, 1
  store i32 %131, ptr %20, align 4
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #5
  br label %132

132:                                              ; preds = %128, %124
  call void @llvm.lifetime.end.p0(i64 32, ptr %23) #5
  br label %133

133:                                              ; preds = %132, %120
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #5
  br label %134

134:                                              ; preds = %133, %116
  call void @llvm.lifetime.end.p0(i64 32, ptr %22) #5
  br label %135

135:                                              ; preds = %134, %112
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %21) #5
  br label %268

136:                                              ; preds = %84
  call void @llvm.lifetime.start.p0(i64 32, ptr %24) #5
  %137 = load ptr, ptr %12, align 8, !tbaa !5
  call void @_ZN6tflite14GetTensorShapeEPK12TfLiteTensor(ptr dead_on_unwind writable sret(%"class.tflite::RuntimeShape") align 8 %24, ptr noundef %137)
  %138 = load ptr, ptr %12, align 8, !tbaa !5
  %139 = invoke noundef ptr @_ZN6tflite13GetTensorDataIaEEPKT_PK12TfLiteTensor(ptr noundef %138)
          to label %140 unwind label %152

140:                                              ; preds = %136
  call void @llvm.lifetime.start.p0(i64 32, ptr %25) #5
  %141 = load ptr, ptr %13, align 8, !tbaa !5
  invoke void @_ZN6tflite14GetTensorShapeEPK12TfLiteTensor(ptr dead_on_unwind writable sret(%"class.tflite::RuntimeShape") align 8 %25, ptr noundef %141)
          to label %142 unwind label %156

142:                                              ; preds = %140
  %143 = load ptr, ptr %13, align 8, !tbaa !5
  %144 = invoke noundef ptr @_ZN6tflite13GetTensorDataIaEEPKT_PK12TfLiteTensor(ptr noundef %143)
          to label %145 unwind label %160

145:                                              ; preds = %142
  call void @llvm.lifetime.start.p0(i64 32, ptr %26) #5
  %146 = load ptr, ptr %14, align 8, !tbaa !5
  invoke void @_ZN6tflite14GetTensorShapeEPK12TfLiteTensor(ptr dead_on_unwind writable sret(%"class.tflite::RuntimeShape") align 8 %26, ptr noundef %146)
          to label %147 unwind label %164

147:                                              ; preds = %145
  %148 = load ptr, ptr %14, align 8, !tbaa !5
  %149 = invoke noundef ptr @_ZN6tflite13GetTensorDataIaEEPT_P12TfLiteTensor(ptr noundef %148)
          to label %150 unwind label %168

150:                                              ; preds = %147
  invoke void @_ZN6tflite21reference_integer_ops3MulIaEEvRKNS_16ArithmeticParamsERKNS_12RuntimeShapeEPKT_S7_SA_S7_PS8_(ptr noundef nonnull align 4 dereferenceable(80) %15, ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef %139, ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef %144, ptr noundef nonnull align 8 dereferenceable(32) %26, ptr noundef %149)
          to label %151 unwind label %168

151:                                              ; preds = %150
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %26) #5
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %25) #5
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %24) #5
  br label %176

152:                                              ; preds = %136
  %153 = landingpad { ptr, i32 }
          cleanup
  %154 = extractvalue { ptr, i32 } %153, 0
  store ptr %154, ptr %19, align 8
  %155 = extractvalue { ptr, i32 } %153, 1
  store i32 %155, ptr %20, align 4
  br label %175

156:                                              ; preds = %140
  %157 = landingpad { ptr, i32 }
          cleanup
  %158 = extractvalue { ptr, i32 } %157, 0
  store ptr %158, ptr %19, align 8
  %159 = extractvalue { ptr, i32 } %157, 1
  store i32 %159, ptr %20, align 4
  br label %174

160:                                              ; preds = %142
  %161 = landingpad { ptr, i32 }
          cleanup
  %162 = extractvalue { ptr, i32 } %161, 0
  store ptr %162, ptr %19, align 8
  %163 = extractvalue { ptr, i32 } %161, 1
  store i32 %163, ptr %20, align 4
  br label %173

164:                                              ; preds = %145
  %165 = landingpad { ptr, i32 }
          cleanup
  %166 = extractvalue { ptr, i32 } %165, 0
  store ptr %166, ptr %19, align 8
  %167 = extractvalue { ptr, i32 } %165, 1
  store i32 %167, ptr %20, align 4
  br label %172

168:                                              ; preds = %150, %147
  %169 = landingpad { ptr, i32 }
          cleanup
  %170 = extractvalue { ptr, i32 } %169, 0
  store ptr %170, ptr %19, align 8
  %171 = extractvalue { ptr, i32 } %169, 1
  store i32 %171, ptr %20, align 4
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #5
  br label %172

172:                                              ; preds = %168, %164
  call void @llvm.lifetime.end.p0(i64 32, ptr %26) #5
  br label %173

173:                                              ; preds = %172, %160
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #5
  br label %174

174:                                              ; preds = %173, %156
  call void @llvm.lifetime.end.p0(i64 32, ptr %25) #5
  br label %175

175:                                              ; preds = %174, %152
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %24) #5
  br label %268

176:                                              ; preds = %151, %102
  br label %267

177:                                              ; preds = %78
  %178 = load ptr, ptr %14, align 8, !tbaa !5
  %179 = getelementptr inbounds %struct.TfLiteTensor, ptr %178, i32 0, i32 0
  %180 = load i32, ptr %179, align 8, !tbaa !9
  %181 = icmp eq i32 %180, 3
  br i1 %181, label %182, label %266

182:                                              ; preds = %177
  %183 = load i8, ptr %16, align 1, !tbaa !33, !range !34, !noundef !35
  %184 = trunc i8 %183 to i1
  br i1 %184, label %185, label %225

185:                                              ; preds = %182
  call void @llvm.lifetime.start.p0(i64 32, ptr %27) #5
  %186 = load ptr, ptr %12, align 8, !tbaa !5
  call void @_ZN6tflite14GetTensorShapeEPK12TfLiteTensor(ptr dead_on_unwind writable sret(%"class.tflite::RuntimeShape") align 8 %27, ptr noundef %186)
  %187 = load ptr, ptr %12, align 8, !tbaa !5
  %188 = invoke noundef ptr @_ZN6tflite13GetTensorDataIhEEPKT_PK12TfLiteTensor(ptr noundef %187)
          to label %189 unwind label %201

189:                                              ; preds = %185
  call void @llvm.lifetime.start.p0(i64 32, ptr %28) #5
  %190 = load ptr, ptr %13, align 8, !tbaa !5
  invoke void @_ZN6tflite14GetTensorShapeEPK12TfLiteTensor(ptr dead_on_unwind writable sret(%"class.tflite::RuntimeShape") align 8 %28, ptr noundef %190)
          to label %191 unwind label %205

191:                                              ; preds = %189
  %192 = load ptr, ptr %13, align 8, !tbaa !5
  %193 = invoke noundef ptr @_ZN6tflite13GetTensorDataIhEEPKT_PK12TfLiteTensor(ptr noundef %192)
          to label %194 unwind label %209

194:                                              ; preds = %191
  call void @llvm.lifetime.start.p0(i64 32, ptr %29) #5
  %195 = load ptr, ptr %14, align 8, !tbaa !5
  invoke void @_ZN6tflite14GetTensorShapeEPK12TfLiteTensor(ptr dead_on_unwind writable sret(%"class.tflite::RuntimeShape") align 8 %29, ptr noundef %195)
          to label %196 unwind label %213

196:                                              ; preds = %194
  %197 = load ptr, ptr %14, align 8, !tbaa !5
  %198 = invoke noundef ptr @_ZN6tflite13GetTensorDataIhEEPT_P12TfLiteTensor(ptr noundef %197)
          to label %199 unwind label %217

199:                                              ; preds = %196
  invoke void @_ZN6tflite13reference_ops18BroadcastMul4DSlowERKNS_16ArithmeticParamsERKNS_12RuntimeShapeEPKhS6_S8_S6_Ph(ptr noundef nonnull align 4 dereferenceable(80) %15, ptr noundef nonnull align 8 dereferenceable(32) %27, ptr noundef %188, ptr noundef nonnull align 8 dereferenceable(32) %28, ptr noundef %193, ptr noundef nonnull align 8 dereferenceable(32) %29, ptr noundef %198)
          to label %200 unwind label %217

200:                                              ; preds = %199
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %29) #5
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %28) #5
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %27) #5
  br label %265

201:                                              ; preds = %185
  %202 = landingpad { ptr, i32 }
          cleanup
  %203 = extractvalue { ptr, i32 } %202, 0
  store ptr %203, ptr %19, align 8
  %204 = extractvalue { ptr, i32 } %202, 1
  store i32 %204, ptr %20, align 4
  br label %224

205:                                              ; preds = %189
  %206 = landingpad { ptr, i32 }
          cleanup
  %207 = extractvalue { ptr, i32 } %206, 0
  store ptr %207, ptr %19, align 8
  %208 = extractvalue { ptr, i32 } %206, 1
  store i32 %208, ptr %20, align 4
  br label %223

209:                                              ; preds = %191
  %210 = landingpad { ptr, i32 }
          cleanup
  %211 = extractvalue { ptr, i32 } %210, 0
  store ptr %211, ptr %19, align 8
  %212 = extractvalue { ptr, i32 } %210, 1
  store i32 %212, ptr %20, align 4
  br label %222

213:                                              ; preds = %194
  %214 = landingpad { ptr, i32 }
          cleanup
  %215 = extractvalue { ptr, i32 } %214, 0
  store ptr %215, ptr %19, align 8
  %216 = extractvalue { ptr, i32 } %214, 1
  store i32 %216, ptr %20, align 4
  br label %221

217:                                              ; preds = %199, %196
  %218 = landingpad { ptr, i32 }
          cleanup
  %219 = extractvalue { ptr, i32 } %218, 0
  store ptr %219, ptr %19, align 8
  %220 = extractvalue { ptr, i32 } %218, 1
  store i32 %220, ptr %20, align 4
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #5
  br label %221

221:                                              ; preds = %217, %213
  call void @llvm.lifetime.end.p0(i64 32, ptr %29) #5
  br label %222

222:                                              ; preds = %221, %209
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #5
  br label %223

223:                                              ; preds = %222, %205
  call void @llvm.lifetime.end.p0(i64 32, ptr %28) #5
  br label %224

224:                                              ; preds = %223, %201
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %27) #5
  br label %268

225:                                              ; preds = %182
  call void @llvm.lifetime.start.p0(i64 32, ptr %30) #5
  %226 = load ptr, ptr %12, align 8, !tbaa !5
  call void @_ZN6tflite14GetTensorShapeEPK12TfLiteTensor(ptr dead_on_unwind writable sret(%"class.tflite::RuntimeShape") align 8 %30, ptr noundef %226)
  %227 = load ptr, ptr %12, align 8, !tbaa !5
  %228 = invoke noundef ptr @_ZN6tflite13GetTensorDataIhEEPKT_PK12TfLiteTensor(ptr noundef %227)
          to label %229 unwind label %241

229:                                              ; preds = %225
  call void @llvm.lifetime.start.p0(i64 32, ptr %31) #5
  %230 = load ptr, ptr %13, align 8, !tbaa !5
  invoke void @_ZN6tflite14GetTensorShapeEPK12TfLiteTensor(ptr dead_on_unwind writable sret(%"class.tflite::RuntimeShape") align 8 %31, ptr noundef %230)
          to label %231 unwind label %245

231:                                              ; preds = %229
  %232 = load ptr, ptr %13, align 8, !tbaa !5
  %233 = invoke noundef ptr @_ZN6tflite13GetTensorDataIhEEPKT_PK12TfLiteTensor(ptr noundef %232)
          to label %234 unwind label %249

234:                                              ; preds = %231
  call void @llvm.lifetime.start.p0(i64 32, ptr %32) #5
  %235 = load ptr, ptr %14, align 8, !tbaa !5
  invoke void @_ZN6tflite14GetTensorShapeEPK12TfLiteTensor(ptr dead_on_unwind writable sret(%"class.tflite::RuntimeShape") align 8 %32, ptr noundef %235)
          to label %236 unwind label %253

236:                                              ; preds = %234
  %237 = load ptr, ptr %14, align 8, !tbaa !5
  %238 = invoke noundef ptr @_ZN6tflite13GetTensorDataIhEEPT_P12TfLiteTensor(ptr noundef %237)
          to label %239 unwind label %257

239:                                              ; preds = %236
  invoke void @_ZN6tflite13reference_ops3MulERKNS_16ArithmeticParamsERKNS_12RuntimeShapeEPKhS6_S8_S6_Ph(ptr noundef nonnull align 4 dereferenceable(80) %15, ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef %228, ptr noundef nonnull align 8 dereferenceable(32) %31, ptr noundef %233, ptr noundef nonnull align 8 dereferenceable(32) %32, ptr noundef %238)
          to label %240 unwind label %257

240:                                              ; preds = %239
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %32) #5
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %31) #5
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %30) #5
  br label %265

241:                                              ; preds = %225
  %242 = landingpad { ptr, i32 }
          cleanup
  %243 = extractvalue { ptr, i32 } %242, 0
  store ptr %243, ptr %19, align 8
  %244 = extractvalue { ptr, i32 } %242, 1
  store i32 %244, ptr %20, align 4
  br label %264

245:                                              ; preds = %229
  %246 = landingpad { ptr, i32 }
          cleanup
  %247 = extractvalue { ptr, i32 } %246, 0
  store ptr %247, ptr %19, align 8
  %248 = extractvalue { ptr, i32 } %246, 1
  store i32 %248, ptr %20, align 4
  br label %263

249:                                              ; preds = %231
  %250 = landingpad { ptr, i32 }
          cleanup
  %251 = extractvalue { ptr, i32 } %250, 0
  store ptr %251, ptr %19, align 8
  %252 = extractvalue { ptr, i32 } %250, 1
  store i32 %252, ptr %20, align 4
  br label %262

253:                                              ; preds = %234
  %254 = landingpad { ptr, i32 }
          cleanup
  %255 = extractvalue { ptr, i32 } %254, 0
  store ptr %255, ptr %19, align 8
  %256 = extractvalue { ptr, i32 } %254, 1
  store i32 %256, ptr %20, align 4
  br label %261

257:                                              ; preds = %239, %236
  %258 = landingpad { ptr, i32 }
          cleanup
  %259 = extractvalue { ptr, i32 } %258, 0
  store ptr %259, ptr %19, align 8
  %260 = extractvalue { ptr, i32 } %258, 1
  store i32 %260, ptr %20, align 4
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #5
  br label %261

261:                                              ; preds = %257, %253
  call void @llvm.lifetime.end.p0(i64 32, ptr %32) #5
  br label %262

262:                                              ; preds = %261, %249
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #5
  br label %263

263:                                              ; preds = %262, %245
  call void @llvm.lifetime.end.p0(i64 32, ptr %31) #5
  br label %264

264:                                              ; preds = %263, %241
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %30) #5
  br label %268

265:                                              ; preds = %240, %200
  br label %266

266:                                              ; preds = %265, %177
  br label %267

267:                                              ; preds = %266, %176
  call void @llvm.lifetime.end.p0(i64 1, ptr %16) #5
  call void @llvm.lifetime.end.p0(i64 80, ptr %15) #5
  br label %269

268:                                              ; preds = %264, %224, %175, %135, %111
  call void @llvm.lifetime.end.p0(i64 1, ptr %16) #5
  call void @llvm.lifetime.end.p0(i64 80, ptr %15) #5
  br label %270

269:                                              ; preds = %267, %37
  ret void

270:                                              ; preds = %268
  %271 = load ptr, ptr %19, align 8
  %272 = load i32, ptr %20, align 4
  %273 = insertvalue { ptr, i32 } poison, ptr %271, 0
  %274 = insertvalue { ptr, i32 } %273, i32 %272, 1
  resume { ptr, i32 } %274
}

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN6tflite19SetActivationParamsINS_16ArithmeticParamsEEEviiPT_(i32 noundef, i32 noundef, ptr noundef) #2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN6tflite13reference_ops22ProcessBroadcastShapesERKNS_12RuntimeShapeES3_PNS_16ArithmeticParamsE(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN6tflite14GetTensorShapeEPK12TfLiteTensor(ptr dead_on_unwind noalias writable sret(%"class.tflite::RuntimeShape") align 8, ptr noundef) #3

declare i32 @__gxx_personality_v0(...)

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN6tflite21reference_integer_ops18BroadcastMul4DSlowIaEEvRKNS_16ArithmeticParamsERKNS_12RuntimeShapeEPKT_S7_SA_S7_PS8_(ptr noundef nonnull align 4 dereferenceable(80), ptr noundef nonnull align 8 dereferenceable(32), ptr noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) #3

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZN6tflite13GetTensorDataIaEEPKT_PK12TfLiteTensor(ptr noundef) #2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZN6tflite13GetTensorDataIaEEPT_P12TfLiteTensor(ptr noundef) #2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN6tflite21reference_integer_ops3MulIaEEvRKNS_16ArithmeticParamsERKNS_12RuntimeShapeEPKT_S7_SA_S7_PS8_(ptr noundef nonnull align 4 dereferenceable(80), ptr noundef nonnull align 8 dereferenceable(32), ptr noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN6tflite13reference_ops18BroadcastMul4DSlowERKNS_16ArithmeticParamsERKNS_12RuntimeShapeEPKhS6_S8_S6_Ph(ptr noundef nonnull align 4 dereferenceable(80), ptr noundef nonnull align 8 dereferenceable(32), ptr noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) #3

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZN6tflite13GetTensorDataIhEEPKT_PK12TfLiteTensor(ptr noundef) #2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZN6tflite13GetTensorDataIhEEPT_P12TfLiteTensor(ptr noundef) #2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN6tflite13reference_ops3MulERKNS_16ArithmeticParamsERKNS_12RuntimeShapeEPKhS6_S8_S6_Ph(ptr noundef nonnull align 4 dereferenceable(80), ptr noundef nonnull align 8 dereferenceable(32), ptr noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) #3

attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { 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 = { 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 #4 = { 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 #5 = { 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 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !11, i64 0}
!10 = !{!"_ZTS12TfLiteTensor", !11, i64 0, !7, i64 8, !6, i64 16, !12, i64 24, !15, i64 32, !16, i64 40, !6, i64 48, !6, i64 56, !6, i64 64, !14, i64 72, !17, i64 76, !17, i64 77, !18, i64 80, !6, i64 96, !6, i64 104}
!11 = !{!"_ZTS10TfLiteType", !7, i64 0}
!12 = !{!"_ZTS24TfLiteQuantizationParams", !13, i64 0, !14, i64 4}
!13 = !{!"float", !7, i64 0}
!14 = !{!"int", !7, i64 0}
!15 = !{!"_ZTS20TfLiteAllocationType", !7, i64 0}
!16 = !{!"long", !7, i64 0}
!17 = !{!"bool", !7, i64 0}
!18 = !{!"_ZTS18TfLiteQuantization", !19, i64 0, !6, i64 8}
!19 = !{!"_ZTS22TfLiteQuantizationType", !7, i64 0}
!20 = !{!21, !14, i64 0}
!21 = !{!"_ZTSN6tflite3ops5micro3mul6OpDataE", !14, i64 0, !14, i64 4, !14, i64 8, !14, i64 12}
!22 = !{!21, !14, i64 4}
!23 = !{!10, !14, i64 28}
!24 = !{!25, !14, i64 4}
!25 = !{!"_ZTSN6tflite16ArithmeticParamsE", !26, i64 0, !14, i64 4, !14, i64 8, !14, i64 12, !14, i64 16, !14, i64 20, !14, i64 24, !14, i64 28, !14, i64 32, !14, i64 36, !14, i64 40, !14, i64 44, !14, i64 48, !13, i64 52, !13, i64 56, !7, i64 60}
!26 = !{!"_ZTSN6tflite23BroadcastableOpCategoryE", !7, i64 0}
!27 = !{!25, !14, i64 8}
!28 = !{!25, !14, i64 12}
!29 = !{!21, !14, i64 8}
!30 = !{!25, !14, i64 16}
!31 = !{!21, !14, i64 12}
!32 = !{!25, !14, i64 20}
!33 = !{!17, !17, i64 0}
!34 = !{i8 0, i8 2}
!35 = !{}


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

%"struct.tflite::ArithmeticParams" = type { i8, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, float, float, [5 x i32] }
%"class.tflite::RuntimeShape" = type { i32, %union.anon }
%union.anon = type { ptr, [16 x i8] }

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

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN6tflite3ops5micro3mul13EvalQuantizedEP13TfLiteContextP10TfLiteNodeP15TfLiteMulParamsPNS2_6OpDataEPK12TfLiteTensorSD_PSB_(ptr nocapture noundef readnone %0, ptr nocapture noundef readnone %1, ptr nocapture noundef readnone %2, ptr nocapture noundef readonly %3, ptr noundef %4, ptr noundef %5, ptr noundef %6) local_unnamed_addr #1 personality ptr @__gxx_personality_v0 {
  %8 = alloca %"struct.tflite::ArithmeticParams", align 4
  %9 = alloca %"class.tflite::RuntimeShape", align 8
  %10 = alloca %"class.tflite::RuntimeShape", align 8
  %11 = alloca %"class.tflite::RuntimeShape", align 8
  %12 = alloca %"class.tflite::RuntimeShape", align 8
  %13 = alloca %"class.tflite::RuntimeShape", align 8
  %14 = alloca %"class.tflite::RuntimeShape", align 8
  %15 = alloca %"class.tflite::RuntimeShape", align 8
  %16 = alloca %"class.tflite::RuntimeShape", align 8
  %17 = alloca %"class.tflite::RuntimeShape", align 8
  %18 = alloca %"class.tflite::RuntimeShape", align 8
  %19 = alloca %"class.tflite::RuntimeShape", align 8
  %20 = alloca %"class.tflite::RuntimeShape", align 8
  %21 = alloca %"class.tflite::RuntimeShape", align 8
  %22 = alloca %"class.tflite::RuntimeShape", align 8
  %23 = load i32, ptr %6, align 8, !tbaa !5
  switch i32 %23, label %115 [
    i32 9, label %24
    i32 3, label %24
  ]

24:                                               ; preds = %7, %7
  call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %8) #5
  %25 = load i32, ptr %3, align 4, !tbaa !19
  %26 = getelementptr inbounds i8, ptr %3, i64 4
  %27 = load i32, ptr %26, align 4, !tbaa !21
  call void @_ZN6tflite19SetActivationParamsINS_16ArithmeticParamsEEEviiPT_(i32 noundef %25, i32 noundef %27, ptr noundef nonnull %8)
  %28 = getelementptr inbounds i8, ptr %4, i64 28
  %29 = load i32, ptr %28, align 4, !tbaa !22
  %30 = sub nsw i32 0, %29
  %31 = getelementptr inbounds i8, ptr %8, i64 4
  store i32 %30, ptr %31, align 4, !tbaa !23
  %32 = getelementptr inbounds i8, ptr %5, i64 28
  %33 = load i32, ptr %32, align 4, !tbaa !22
  %34 = sub nsw i32 0, %33
  %35 = getelementptr inbounds i8, ptr %8, i64 8
  store i32 %34, ptr %35, align 4, !tbaa !26
  %36 = getelementptr inbounds i8, ptr %6, i64 28
  %37 = load i32, ptr %36, align 4, !tbaa !22
  %38 = getelementptr inbounds i8, ptr %8, i64 12
  store i32 %37, ptr %38, align 4, !tbaa !27
  %39 = getelementptr inbounds i8, ptr %3, i64 8
  %40 = getelementptr inbounds i8, ptr %8, i64 16
  %41 = load <2 x i32>, ptr %39, align 4, !tbaa !28
  store <2 x i32> %41, ptr %40, align 4, !tbaa !28
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %9) #5
  call void @_ZN6tflite14GetTensorShapeEPK12TfLiteTensor(ptr dead_on_unwind nonnull writable sret(%"class.tflite::RuntimeShape") align 8 %9, ptr noundef %4)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %10) #5
  invoke void @_ZN6tflite14GetTensorShapeEPK12TfLiteTensor(ptr dead_on_unwind nonnull writable sret(%"class.tflite::RuntimeShape") align 8 %10, ptr noundef nonnull %5)
          to label %42 unwind label %54

42:                                               ; preds = %24
  %43 = invoke noundef zeroext i1 @_ZN6tflite13reference_ops22ProcessBroadcastShapesERKNS_12RuntimeShapeES3_PNS_16ArithmeticParamsE(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(32) %10, ptr noundef nonnull %8)
          to label %44 unwind label %56

44:                                               ; preds = %42
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %10) #5
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %9) #5
  %45 = load i32, ptr %6, align 8, !tbaa !5
  switch i32 %45, label %113 [
    i32 9, label %46
    i32 3, label %82
  ]

46:                                               ; preds = %44
  br i1 %43, label %47, label %67

47:                                               ; preds = %46
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %11) #5
  call void @_ZN6tflite14GetTensorShapeEPK12TfLiteTensor(ptr dead_on_unwind nonnull writable sret(%"class.tflite::RuntimeShape") align 8 %11, ptr noundef nonnull %4)
  %48 = call noundef ptr @_ZN6tflite13GetTensorDataIaEEPKT_PK12TfLiteTensor(ptr noundef nonnull %4)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %12) #5
  invoke void @_ZN6tflite14GetTensorShapeEPK12TfLiteTensor(ptr dead_on_unwind nonnull writable sret(%"class.tflite::RuntimeShape") align 8 %12, ptr noundef nonnull %5)
          to label %49 unwind label %59

49:                                               ; preds = %47
  %50 = call noundef ptr @_ZN6tflite13GetTensorDataIaEEPKT_PK12TfLiteTensor(ptr noundef nonnull %5)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %13) #5
  invoke void @_ZN6tflite14GetTensorShapeEPK12TfLiteTensor(ptr dead_on_unwind nonnull writable sret(%"class.tflite::RuntimeShape") align 8 %13, ptr noundef nonnull %6)
          to label %51 unwind label %61

51:                                               ; preds = %49
  %52 = call noundef ptr @_ZN6tflite13GetTensorDataIaEEPT_P12TfLiteTensor(ptr noundef nonnull %6)
  invoke void @_ZN6tflite21reference_integer_ops18BroadcastMul4DSlowIaEEvRKNS_16ArithmeticParamsERKNS_12RuntimeShapeEPKT_S7_SA_S7_PS8_(ptr noundef nonnull align 4 dereferenceable(80) %8, ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef %48, ptr noundef nonnull align 8 dereferenceable(32) %12, ptr noundef %50, ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef %52)
          to label %53 unwind label %63

53:                                               ; preds = %51
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #5
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %12) #5
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #5
  br label %113

54:                                               ; preds = %24
  %55 = landingpad { ptr, i32 }
          cleanup
  br label %58

56:                                               ; preds = %42
  %57 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #5
  br label %58

58:                                               ; preds = %56, %54
  %.pn = phi { ptr, i32 } [ %57, %56 ], [ %55, %54 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %10) #5
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %9) #5
  br label %114

59:                                               ; preds = %47
  %60 = landingpad { ptr, i32 }
          cleanup
  br label %66

61:                                               ; preds = %49
  %62 = landingpad { ptr, i32 }
          cleanup
  br label %65

63:                                               ; preds = %51
  %64 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #5
  br label %65

65:                                               ; preds = %63, %61
  %.pn62 = phi { ptr, i32 } [ %64, %63 ], [ %62, %61 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #5
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #5
  br label %66

66:                                               ; preds = %65, %59
  %.pn62.pn = phi { ptr, i32 } [ %.pn62, %65 ], [ %60, %59 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %12) #5
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #5
  br label %114

67:                                               ; preds = %46
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %14) #5
  call void @_ZN6tflite14GetTensorShapeEPK12TfLiteTensor(ptr dead_on_unwind nonnull writable sret(%"class.tflite::RuntimeShape") align 8 %14, ptr noundef nonnull %4)
  %68 = call noundef ptr @_ZN6tflite13GetTensorDataIaEEPKT_PK12TfLiteTensor(ptr noundef nonnull %4)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %15) #5
  invoke void @_ZN6tflite14GetTensorShapeEPK12TfLiteTensor(ptr dead_on_unwind nonnull writable sret(%"class.tflite::RuntimeShape") align 8 %15, ptr noundef nonnull %5)
          to label %69 unwind label %74

69:                                               ; preds = %67
  %70 = call noundef ptr @_ZN6tflite13GetTensorDataIaEEPKT_PK12TfLiteTensor(ptr noundef nonnull %5)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %16) #5
  invoke void @_ZN6tflite14GetTensorShapeEPK12TfLiteTensor(ptr dead_on_unwind nonnull writable sret(%"class.tflite::RuntimeShape") align 8 %16, ptr noundef nonnull %6)
          to label %71 unwind label %76

71:                                               ; preds = %69
  %72 = call noundef ptr @_ZN6tflite13GetTensorDataIaEEPT_P12TfLiteTensor(ptr noundef nonnull %6)
  invoke void @_ZN6tflite21reference_integer_ops3MulIaEEvRKNS_16ArithmeticParamsERKNS_12RuntimeShapeEPKT_S7_SA_S7_PS8_(ptr noundef nonnull align 4 dereferenceable(80) %8, ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef %68, ptr noundef nonnull align 8 dereferenceable(32) %15, ptr noundef %70, ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef %72)
          to label %73 unwind label %78

73:                                               ; preds = %71
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #5
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #5
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #5
  br label %113

74:                                               ; preds = %67
  %75 = landingpad { ptr, i32 }
          cleanup
  br label %81

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

78:                                               ; preds = %71
  %79 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #5
  br label %80

80:                                               ; preds = %78, %76
  %.pn59 = phi { ptr, i32 } [ %79, %78 ], [ %77, %76 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #5
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #5
  br label %81

81:                                               ; preds = %80, %74
  %.pn59.pn = phi { ptr, i32 } [ %.pn59, %80 ], [ %75, %74 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #5
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #5
  br label %114

82:                                               ; preds = %44
  br i1 %43, label %83, label %98

83:                                               ; preds = %82
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %17) #5
  call void @_ZN6tflite14GetTensorShapeEPK12TfLiteTensor(ptr dead_on_unwind nonnull writable sret(%"class.tflite::RuntimeShape") align 8 %17, ptr noundef nonnull %4)
  %84 = call noundef ptr @_ZN6tflite13GetTensorDataIhEEPKT_PK12TfLiteTensor(ptr noundef nonnull %4)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %18) #5
  invoke void @_ZN6tflite14GetTensorShapeEPK12TfLiteTensor(ptr dead_on_unwind nonnull writable sret(%"class.tflite::RuntimeShape") align 8 %18, ptr noundef nonnull %5)
          to label %85 unwind label %90

85:                                               ; preds = %83
  %86 = call noundef ptr @_ZN6tflite13GetTensorDataIhEEPKT_PK12TfLiteTensor(ptr noundef nonnull %5)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %19) #5
  invoke void @_ZN6tflite14GetTensorShapeEPK12TfLiteTensor(ptr dead_on_unwind nonnull writable sret(%"class.tflite::RuntimeShape") align 8 %19, ptr noundef nonnull %6)
          to label %87 unwind label %92

87:                                               ; preds = %85
  %88 = call noundef ptr @_ZN6tflite13GetTensorDataIhEEPT_P12TfLiteTensor(ptr noundef nonnull %6)
  invoke void @_ZN6tflite13reference_ops18BroadcastMul4DSlowERKNS_16ArithmeticParamsERKNS_12RuntimeShapeEPKhS6_S8_S6_Ph(ptr noundef nonnull align 4 dereferenceable(80) %8, ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef %84, ptr noundef nonnull align 8 dereferenceable(32) %18, ptr noundef %86, ptr noundef nonnull align 8 dereferenceable(32) %19, ptr noundef %88)
          to label %89 unwind label %94

89:                                               ; preds = %87
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #5
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18) #5
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #5
  br label %113

90:                                               ; preds = %83
  %91 = landingpad { ptr, i32 }
          cleanup
  br label %97

92:                                               ; preds = %85
  %93 = landingpad { ptr, i32 }
          cleanup
  br label %96

94:                                               ; preds = %87
  %95 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #5
  br label %96

96:                                               ; preds = %94, %92
  %.pn56 = phi { ptr, i32 } [ %95, %94 ], [ %93, %92 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #5
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #5
  br label %97

97:                                               ; preds = %96, %90
  %.pn56.pn = phi { ptr, i32 } [ %.pn56, %96 ], [ %91, %90 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18) #5
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #5
  br label %114

98:                                               ; preds = %82
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %20) #5
  call void @_ZN6tflite14GetTensorShapeEPK12TfLiteTensor(ptr dead_on_unwind nonnull writable sret(%"class.tflite::RuntimeShape") align 8 %20, ptr noundef nonnull %4)
  %99 = call noundef ptr @_ZN6tflite13GetTensorDataIhEEPKT_PK12TfLiteTensor(ptr noundef nonnull %4)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %21) #5
  invoke void @_ZN6tflite14GetTensorShapeEPK12TfLiteTensor(ptr dead_on_unwind nonnull writable sret(%"class.tflite::RuntimeShape") align 8 %21, ptr noundef nonnull %5)
          to label %100 unwind label %105

100:                                              ; preds = %98
  %101 = call noundef ptr @_ZN6tflite13GetTensorDataIhEEPKT_PK12TfLiteTensor(ptr noundef nonnull %5)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %22) #5
  invoke void @_ZN6tflite14GetTensorShapeEPK12TfLiteTensor(ptr dead_on_unwind nonnull writable sret(%"class.tflite::RuntimeShape") align 8 %22, ptr noundef nonnull %6)
          to label %102 unwind label %107

102:                                              ; preds = %100
  %103 = call noundef ptr @_ZN6tflite13GetTensorDataIhEEPT_P12TfLiteTensor(ptr noundef nonnull %6)
  invoke void @_ZN6tflite13reference_ops3MulERKNS_16ArithmeticParamsERKNS_12RuntimeShapeEPKhS6_S8_S6_Ph(ptr noundef nonnull align 4 dereferenceable(80) %8, ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef %99, ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef %101, ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef %103)
          to label %104 unwind label %109

104:                                              ; preds = %102
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #5
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21) #5
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #5
  br label %113

105:                                              ; preds = %98
  %106 = landingpad { ptr, i32 }
          cleanup
  br label %112

107:                                              ; preds = %100
  %108 = landingpad { ptr, i32 }
          cleanup
  br label %111

109:                                              ; preds = %102
  %110 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #5
  br label %111

111:                                              ; preds = %109, %107
  %.pn53 = phi { ptr, i32 } [ %110, %109 ], [ %108, %107 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #5
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #5
  br label %112

112:                                              ; preds = %111, %105
  %.pn53.pn = phi { ptr, i32 } [ %.pn53, %111 ], [ %106, %105 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21) #5
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #5
  br label %114

113:                                              ; preds = %44, %104, %89, %53, %73
  call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %8) #5
  br label %115

114:                                              ; preds = %112, %97, %81, %66, %58
  %.pn62.pn.pn = phi { ptr, i32 } [ %.pn62.pn, %66 ], [ %.pn59.pn, %81 ], [ %.pn56.pn, %97 ], [ %.pn53.pn, %112 ], [ %.pn, %58 ]
  call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %8) #5
  resume { ptr, i32 } %.pn62.pn.pn

115:                                              ; preds = %7, %113
  ret void
}

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN6tflite19SetActivationParamsINS_16ArithmeticParamsEEEviiPT_(i32 noundef, i32 noundef, ptr noundef) local_unnamed_addr #2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN6tflite13reference_ops22ProcessBroadcastShapesERKNS_12RuntimeShapeES3_PNS_16ArithmeticParamsE(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN6tflite14GetTensorShapeEPK12TfLiteTensor(ptr dead_on_unwind noalias writable sret(%"class.tflite::RuntimeShape") align 8, ptr noundef) local_unnamed_addr #3

declare i32 @__gxx_personality_v0(...)

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN6tflite21reference_integer_ops18BroadcastMul4DSlowIaEEvRKNS_16ArithmeticParamsERKNS_12RuntimeShapeEPKT_S7_SA_S7_PS8_(ptr noundef nonnull align 4 dereferenceable(80), ptr noundef nonnull align 8 dereferenceable(32), ptr noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZN6tflite13GetTensorDataIaEEPKT_PK12TfLiteTensor(ptr noundef) local_unnamed_addr #2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZN6tflite13GetTensorDataIaEEPT_P12TfLiteTensor(ptr noundef) local_unnamed_addr #2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN6tflite21reference_integer_ops3MulIaEEvRKNS_16ArithmeticParamsERKNS_12RuntimeShapeEPKT_S7_SA_S7_PS8_(ptr noundef nonnull align 4 dereferenceable(80), ptr noundef nonnull align 8 dereferenceable(32), ptr noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN6tflite13reference_ops18BroadcastMul4DSlowERKNS_16ArithmeticParamsERKNS_12RuntimeShapeEPKhS6_S8_S6_Ph(ptr noundef nonnull align 4 dereferenceable(80), ptr noundef nonnull align 8 dereferenceable(32), ptr noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZN6tflite13GetTensorDataIhEEPKT_PK12TfLiteTensor(ptr noundef) local_unnamed_addr #2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZN6tflite13GetTensorDataIhEEPT_P12TfLiteTensor(ptr noundef) local_unnamed_addr #2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN6tflite13reference_ops3MulERKNS_16ArithmeticParamsERKNS_12RuntimeShapeEPKhS6_S8_S6_Ph(ptr noundef nonnull align 4 dereferenceable(80), ptr noundef nonnull align 8 dereferenceable(32), ptr noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) local_unnamed_addr #3

attributes #0 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { 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 = { 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 #4 = { 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 #5 = { 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, !7, i64 0}
!6 = !{!"_ZTS12TfLiteTensor", !7, i64 0, !8, i64 8, !10, i64 16, !11, i64 24, !14, i64 32, !15, i64 40, !10, i64 48, !10, i64 56, !10, i64 64, !13, i64 72, !16, i64 76, !16, i64 77, !17, i64 80, !10, i64 96, !10, i64 104}
!7 = !{!"_ZTS10TfLiteType", !8, i64 0}
!8 = !{!"omnipotent char", !9, i64 0}
!9 = !{!"Simple C++ TBAA"}
!10 = !{!"any pointer", !8, i64 0}
!11 = !{!"_ZTS24TfLiteQuantizationParams", !12, i64 0, !13, i64 4}
!12 = !{!"float", !8, i64 0}
!13 = !{!"int", !8, i64 0}
!14 = !{!"_ZTS20TfLiteAllocationType", !8, i64 0}
!15 = !{!"long", !8, i64 0}
!16 = !{!"bool", !8, i64 0}
!17 = !{!"_ZTS18TfLiteQuantization", !18, i64 0, !10, i64 8}
!18 = !{!"_ZTS22TfLiteQuantizationType", !8, i64 0}
!19 = !{!20, !13, i64 0}
!20 = !{!"_ZTSN6tflite3ops5micro3mul6OpDataE", !13, i64 0, !13, i64 4, !13, i64 8, !13, i64 12}
!21 = !{!20, !13, i64 4}
!22 = !{!6, !13, i64 28}
!23 = !{!24, !13, i64 4}
!24 = !{!"_ZTSN6tflite16ArithmeticParamsE", !25, i64 0, !13, i64 4, !13, i64 8, !13, i64 12, !13, i64 16, !13, i64 20, !13, i64 24, !13, i64 28, !13, i64 32, !13, i64 36, !13, i64 40, !13, i64 44, !13, i64 48, !12, i64 52, !12, i64 56, !8, i64 60}
!25 = !{!"_ZTSN6tflite23BroadcastableOpCategoryE", !8, i64 0}
!26 = !{!24, !13, i64 8}
!27 = !{!24, !13, i64 12}
!28 = !{!13, !13, i64 0}


; Effective O3 passes: CorrelatedValuePropagationPass,EarlyCSEPass,GlobalOptPass,InferFunctionAttrsPass,InstCombinePass,PostOrderFunctionAttrsPass,SLPVectorizerPass,SROAPass,SimplifyCFGPass