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

; 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::RuntimeShape" = type { i32, %union.anon }
%union.anon = type { ptr, [16 x i8] }
%"struct.tflite::ArithmeticParams" = type { i8, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, float, float, [5 x i32] }
%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::add::OpData" = type { i8, i32, i32, i32, i32, i32, i32, i32, i32, 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: inlinehint mustprogress uwtable
declare dso_local void @_ZN6tflite14GetTensorShapeEPK12TfLiteTensor(ptr dead_on_unwind noalias writable sret(%"class.tflite::RuntimeShape") align 8, ptr noundef) #1

declare i32 @__gxx_personality_v0(...)

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

; Function Attrs: mustprogress uwtable
define dso_local noundef i32 @_ZN6tflite3ops5micro3add16EvalAddQuantizedEP13TfLiteContextP10TfLiteNodeP15TfLiteAddParamsPKNS2_6OpDataEPK12TfLiteTensorSE_PSC_(ptr noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef %3, ptr noundef %4, ptr noundef %5, ptr noundef %6) #3 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, 3
  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, 9
  br i1 %41, label %42, label %278

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::add::OpData", ptr %43, i32 0, i32 9
  %45 = load i32, ptr %44, align 4, !tbaa !20
  %46 = getelementptr inbounds %"struct.tflite::ArithmeticParams", ptr %15, i32 0, i32 6
  store i32 %45, ptr %46, align 4, !tbaa !22
  %47 = load ptr, ptr %11, align 8, !tbaa !5
  %48 = getelementptr inbounds %"struct.tflite::ops::micro::add::OpData", ptr %47, i32 0, i32 10
  %49 = load i32, ptr %48, align 4, !tbaa !25
  %50 = getelementptr inbounds %"struct.tflite::ArithmeticParams", ptr %15, i32 0, i32 1
  store i32 %49, ptr %50, align 4, !tbaa !26
  %51 = load ptr, ptr %11, align 8, !tbaa !5
  %52 = getelementptr inbounds %"struct.tflite::ops::micro::add::OpData", ptr %51, i32 0, i32 5
  %53 = load i32, ptr %52, align 4, !tbaa !27
  %54 = getelementptr inbounds %"struct.tflite::ArithmeticParams", ptr %15, i32 0, i32 7
  store i32 %53, ptr %54, align 4, !tbaa !28
  %55 = load ptr, ptr %11, align 8, !tbaa !5
  %56 = getelementptr inbounds %"struct.tflite::ops::micro::add::OpData", ptr %55, i32 0, i32 1
  %57 = load i32, ptr %56, align 4, !tbaa !29
  %58 = getelementptr inbounds %"struct.tflite::ArithmeticParams", ptr %15, i32 0, i32 8
  store i32 %57, ptr %58, align 4, !tbaa !30
  %59 = load ptr, ptr %11, align 8, !tbaa !5
  %60 = getelementptr inbounds %"struct.tflite::ops::micro::add::OpData", ptr %59, i32 0, i32 11
  %61 = load i32, ptr %60, align 4, !tbaa !31
  %62 = getelementptr inbounds %"struct.tflite::ArithmeticParams", ptr %15, i32 0, i32 2
  store i32 %61, ptr %62, align 4, !tbaa !32
  %63 = load ptr, ptr %11, align 8, !tbaa !5
  %64 = getelementptr inbounds %"struct.tflite::ops::micro::add::OpData", ptr %63, i32 0, i32 6
  %65 = load i32, ptr %64, align 4, !tbaa !33
  %66 = getelementptr inbounds %"struct.tflite::ArithmeticParams", ptr %15, i32 0, i32 9
  store i32 %65, ptr %66, align 4, !tbaa !34
  %67 = load ptr, ptr %11, align 8, !tbaa !5
  %68 = getelementptr inbounds %"struct.tflite::ops::micro::add::OpData", ptr %67, i32 0, i32 2
  %69 = load i32, ptr %68, align 4, !tbaa !35
  %70 = getelementptr inbounds %"struct.tflite::ArithmeticParams", ptr %15, i32 0, i32 10
  store i32 %69, ptr %70, align 4, !tbaa !36
  %71 = load ptr, ptr %11, align 8, !tbaa !5
  %72 = getelementptr inbounds %"struct.tflite::ops::micro::add::OpData", ptr %71, i32 0, i32 12
  %73 = load i32, ptr %72, align 4, !tbaa !37
  %74 = getelementptr inbounds %"struct.tflite::ArithmeticParams", ptr %15, i32 0, i32 3
  store i32 %73, ptr %74, align 4, !tbaa !38
  %75 = load ptr, ptr %11, align 8, !tbaa !5
  %76 = getelementptr inbounds %"struct.tflite::ops::micro::add::OpData", ptr %75, i32 0, i32 7
  %77 = load i32, ptr %76, align 4, !tbaa !39
  %78 = getelementptr inbounds %"struct.tflite::ArithmeticParams", ptr %15, i32 0, i32 4
  store i32 %77, ptr %78, align 4, !tbaa !40
  %79 = load ptr, ptr %11, align 8, !tbaa !5
  %80 = getelementptr inbounds %"struct.tflite::ops::micro::add::OpData", ptr %79, i32 0, i32 8
  %81 = load i32, ptr %80, align 4, !tbaa !41
  %82 = getelementptr inbounds %"struct.tflite::ArithmeticParams", ptr %15, i32 0, i32 5
  store i32 %81, ptr %82, align 4, !tbaa !42
  %83 = load ptr, ptr %11, align 8, !tbaa !5
  %84 = getelementptr inbounds %"struct.tflite::ops::micro::add::OpData", ptr %83, i32 0, i32 3
  %85 = load i32, ptr %84, align 4, !tbaa !43
  %86 = load ptr, ptr %11, align 8, !tbaa !5
  %87 = getelementptr inbounds %"struct.tflite::ops::micro::add::OpData", ptr %86, i32 0, i32 4
  %88 = load i32, ptr %87, align 4, !tbaa !44
  call void @_ZN6tflite19SetActivationParamsINS_16ArithmeticParamsEEEviiPT_(i32 noundef %85, i32 noundef %88, ptr noundef %15)
  call void @llvm.lifetime.start.p0(i64 1, ptr %16) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %17) #5
  %89 = 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 %89)
  call void @llvm.lifetime.start.p0(i64 32, ptr %18) #5
  %90 = 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 %90)
          to label %91 unwind label %118

91:                                               ; preds = %42
  %92 = 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 %93 unwind label %122

93:                                               ; preds = %91
  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
  %94 = zext i1 %92 to i8
  store i8 %94, ptr %16, align 1, !tbaa !45
  %95 = load ptr, ptr %14, align 8, !tbaa !5
  %96 = getelementptr inbounds %struct.TfLiteTensor, ptr %95, i32 0, i32 0
  %97 = load i32, ptr %96, align 8, !tbaa !9
  %98 = icmp eq i32 %97, 9
  br i1 %98, label %99, label %192

99:                                               ; preds = %93
  %100 = load i8, ptr %16, align 1, !tbaa !45, !range !46, !noundef !47
  %101 = trunc i8 %100 to i1
  br i1 %101, label %102, label %151

102:                                              ; preds = %99
  call void @llvm.lifetime.start.p0(i64 32, ptr %21) #5
  %103 = 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 %103)
  %104 = load ptr, ptr %12, align 8, !tbaa !5
  %105 = invoke noundef ptr @_ZN6tflite13GetTensorDataIaEEPKT_PK12TfLiteTensor(ptr noundef %104)
          to label %106 unwind label %127

106:                                              ; preds = %102
  call void @llvm.lifetime.start.p0(i64 32, ptr %22) #5
  %107 = 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 %107)
          to label %108 unwind label %131

108:                                              ; preds = %106
  %109 = load ptr, ptr %13, align 8, !tbaa !5
  %110 = invoke noundef ptr @_ZN6tflite13GetTensorDataIaEEPKT_PK12TfLiteTensor(ptr noundef %109)
          to label %111 unwind label %135

111:                                              ; preds = %108
  call void @llvm.lifetime.start.p0(i64 32, ptr %23) #5
  %112 = 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 %112)
          to label %113 unwind label %139

113:                                              ; preds = %111
  %114 = load ptr, ptr %14, align 8, !tbaa !5
  %115 = invoke noundef ptr @_ZN6tflite13GetTensorDataIaEEPT_P12TfLiteTensor(ptr noundef %114)
          to label %116 unwind label %143

116:                                              ; preds = %113
  invoke void @_ZN6tflite21reference_integer_ops18BroadcastAdd4DSlowERKNS_16ArithmeticParamsERKNS_12RuntimeShapeEPKaS6_S8_S6_Pa(ptr noundef nonnull align 4 dereferenceable(80) %15, ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef %105, ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef %110, ptr noundef nonnull align 8 dereferenceable(32) %23, ptr noundef %115)
          to label %117 unwind label %143

117:                                              ; preds = %116
  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 %191

118:                                              ; preds = %42
  %119 = landingpad { ptr, i32 }
          cleanup
  %120 = extractvalue { ptr, i32 } %119, 0
  store ptr %120, ptr %19, align 8
  %121 = extractvalue { ptr, i32 } %119, 1
  store i32 %121, ptr %20, align 4
  br label %126

122:                                              ; preds = %91
  %123 = landingpad { ptr, i32 }
          cleanup
  %124 = extractvalue { ptr, i32 } %123, 0
  store ptr %124, ptr %19, align 8
  %125 = extractvalue { ptr, i32 } %123, 1
  store i32 %125, ptr %20, align 4
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #5
  br label %126

126:                                              ; preds = %122, %118
  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 %277

127:                                              ; preds = %102
  %128 = landingpad { ptr, i32 }
          cleanup
  %129 = extractvalue { ptr, i32 } %128, 0
  store ptr %129, ptr %19, align 8
  %130 = extractvalue { ptr, i32 } %128, 1
  store i32 %130, ptr %20, align 4
  br label %150

131:                                              ; preds = %106
  %132 = landingpad { ptr, i32 }
          cleanup
  %133 = extractvalue { ptr, i32 } %132, 0
  store ptr %133, ptr %19, align 8
  %134 = extractvalue { ptr, i32 } %132, 1
  store i32 %134, ptr %20, align 4
  br label %149

135:                                              ; preds = %108
  %136 = landingpad { ptr, i32 }
          cleanup
  %137 = extractvalue { ptr, i32 } %136, 0
  store ptr %137, ptr %19, align 8
  %138 = extractvalue { ptr, i32 } %136, 1
  store i32 %138, ptr %20, align 4
  br label %148

139:                                              ; preds = %111
  %140 = landingpad { ptr, i32 }
          cleanup
  %141 = extractvalue { ptr, i32 } %140, 0
  store ptr %141, ptr %19, align 8
  %142 = extractvalue { ptr, i32 } %140, 1
  store i32 %142, ptr %20, align 4
  br label %147

143:                                              ; preds = %116, %113
  %144 = landingpad { ptr, i32 }
          cleanup
  %145 = extractvalue { ptr, i32 } %144, 0
  store ptr %145, ptr %19, align 8
  %146 = extractvalue { ptr, i32 } %144, 1
  store i32 %146, ptr %20, align 4
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #5
  br label %147

147:                                              ; preds = %143, %139
  call void @llvm.lifetime.end.p0(i64 32, ptr %23) #5
  br label %148

148:                                              ; preds = %147, %135
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #5
  br label %149

149:                                              ; preds = %148, %131
  call void @llvm.lifetime.end.p0(i64 32, ptr %22) #5
  br label %150

150:                                              ; preds = %149, %127
  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 %277

151:                                              ; preds = %99
  call void @llvm.lifetime.start.p0(i64 32, ptr %24) #5
  %152 = 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 %152)
  %153 = load ptr, ptr %12, align 8, !tbaa !5
  %154 = invoke noundef ptr @_ZN6tflite13GetTensorDataIaEEPKT_PK12TfLiteTensor(ptr noundef %153)
          to label %155 unwind label %167

155:                                              ; preds = %151
  call void @llvm.lifetime.start.p0(i64 32, ptr %25) #5
  %156 = 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 %156)
          to label %157 unwind label %171

157:                                              ; preds = %155
  %158 = load ptr, ptr %13, align 8, !tbaa !5
  %159 = invoke noundef ptr @_ZN6tflite13GetTensorDataIaEEPKT_PK12TfLiteTensor(ptr noundef %158)
          to label %160 unwind label %175

160:                                              ; preds = %157
  call void @llvm.lifetime.start.p0(i64 32, ptr %26) #5
  %161 = 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 %161)
          to label %162 unwind label %179

162:                                              ; preds = %160
  %163 = load ptr, ptr %14, align 8, !tbaa !5
  %164 = invoke noundef ptr @_ZN6tflite13GetTensorDataIaEEPT_P12TfLiteTensor(ptr noundef %163)
          to label %165 unwind label %183

165:                                              ; preds = %162
  invoke void @_ZN6tflite21reference_integer_ops3AddERKNS_16ArithmeticParamsERKNS_12RuntimeShapeEPKaS6_S8_S6_Pa(ptr noundef nonnull align 4 dereferenceable(80) %15, ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef %154, ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef %159, ptr noundef nonnull align 8 dereferenceable(32) %26, ptr noundef %164)
          to label %166 unwind label %183

166:                                              ; preds = %165
  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 %191

167:                                              ; preds = %151
  %168 = landingpad { ptr, i32 }
          cleanup
  %169 = extractvalue { ptr, i32 } %168, 0
  store ptr %169, ptr %19, align 8
  %170 = extractvalue { ptr, i32 } %168, 1
  store i32 %170, ptr %20, align 4
  br label %190

171:                                              ; preds = %155
  %172 = landingpad { ptr, i32 }
          cleanup
  %173 = extractvalue { ptr, i32 } %172, 0
  store ptr %173, ptr %19, align 8
  %174 = extractvalue { ptr, i32 } %172, 1
  store i32 %174, ptr %20, align 4
  br label %189

175:                                              ; preds = %157
  %176 = landingpad { ptr, i32 }
          cleanup
  %177 = extractvalue { ptr, i32 } %176, 0
  store ptr %177, ptr %19, align 8
  %178 = extractvalue { ptr, i32 } %176, 1
  store i32 %178, ptr %20, align 4
  br label %188

179:                                              ; preds = %160
  %180 = landingpad { ptr, i32 }
          cleanup
  %181 = extractvalue { ptr, i32 } %180, 0
  store ptr %181, ptr %19, align 8
  %182 = extractvalue { ptr, i32 } %180, 1
  store i32 %182, ptr %20, align 4
  br label %187

183:                                              ; preds = %165, %162
  %184 = landingpad { ptr, i32 }
          cleanup
  %185 = extractvalue { ptr, i32 } %184, 0
  store ptr %185, ptr %19, align 8
  %186 = extractvalue { ptr, i32 } %184, 1
  store i32 %186, ptr %20, align 4
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #5
  br label %187

187:                                              ; preds = %183, %179
  call void @llvm.lifetime.end.p0(i64 32, ptr %26) #5
  br label %188

188:                                              ; preds = %187, %175
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #5
  br label %189

189:                                              ; preds = %188, %171
  call void @llvm.lifetime.end.p0(i64 32, ptr %25) #5
  br label %190

190:                                              ; preds = %189, %167
  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 %277

191:                                              ; preds = %166, %117
  br label %276

192:                                              ; preds = %93
  %193 = load i8, ptr %16, align 1, !tbaa !45, !range !46, !noundef !47
  %194 = trunc i8 %193 to i1
  br i1 %194, label %195, label %235

195:                                              ; preds = %192
  call void @llvm.lifetime.start.p0(i64 32, ptr %27) #5
  %196 = 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 %196)
  %197 = load ptr, ptr %12, align 8, !tbaa !5
  %198 = invoke noundef ptr @_ZN6tflite13GetTensorDataIhEEPKT_PK12TfLiteTensor(ptr noundef %197)
          to label %199 unwind label %211

199:                                              ; preds = %195
  call void @llvm.lifetime.start.p0(i64 32, ptr %28) #5
  %200 = 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 %200)
          to label %201 unwind label %215

201:                                              ; preds = %199
  %202 = load ptr, ptr %13, align 8, !tbaa !5
  %203 = invoke noundef ptr @_ZN6tflite13GetTensorDataIhEEPKT_PK12TfLiteTensor(ptr noundef %202)
          to label %204 unwind label %219

204:                                              ; preds = %201
  call void @llvm.lifetime.start.p0(i64 32, ptr %29) #5
  %205 = 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 %205)
          to label %206 unwind label %223

206:                                              ; preds = %204
  %207 = load ptr, ptr %14, align 8, !tbaa !5
  %208 = invoke noundef ptr @_ZN6tflite13GetTensorDataIhEEPT_P12TfLiteTensor(ptr noundef %207)
          to label %209 unwind label %227

209:                                              ; preds = %206
  invoke void @_ZN6tflite13reference_ops18BroadcastAdd4DSlowERKNS_16ArithmeticParamsERKNS_12RuntimeShapeEPKhS6_S8_S6_Ph(ptr noundef nonnull align 4 dereferenceable(80) %15, ptr noundef nonnull align 8 dereferenceable(32) %27, ptr noundef %198, ptr noundef nonnull align 8 dereferenceable(32) %28, ptr noundef %203, ptr noundef nonnull align 8 dereferenceable(32) %29, ptr noundef %208)
          to label %210 unwind label %227

210:                                              ; preds = %209
  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 %275

211:                                              ; preds = %195
  %212 = landingpad { ptr, i32 }
          cleanup
  %213 = extractvalue { ptr, i32 } %212, 0
  store ptr %213, ptr %19, align 8
  %214 = extractvalue { ptr, i32 } %212, 1
  store i32 %214, ptr %20, align 4
  br label %234

215:                                              ; preds = %199
  %216 = landingpad { ptr, i32 }
          cleanup
  %217 = extractvalue { ptr, i32 } %216, 0
  store ptr %217, ptr %19, align 8
  %218 = extractvalue { ptr, i32 } %216, 1
  store i32 %218, ptr %20, align 4
  br label %233

219:                                              ; preds = %201
  %220 = landingpad { ptr, i32 }
          cleanup
  %221 = extractvalue { ptr, i32 } %220, 0
  store ptr %221, ptr %19, align 8
  %222 = extractvalue { ptr, i32 } %220, 1
  store i32 %222, ptr %20, align 4
  br label %232

223:                                              ; preds = %204
  %224 = landingpad { ptr, i32 }
          cleanup
  %225 = extractvalue { ptr, i32 } %224, 0
  store ptr %225, ptr %19, align 8
  %226 = extractvalue { ptr, i32 } %224, 1
  store i32 %226, ptr %20, align 4
  br label %231

227:                                              ; preds = %209, %206
  %228 = landingpad { ptr, i32 }
          cleanup
  %229 = extractvalue { ptr, i32 } %228, 0
  store ptr %229, ptr %19, align 8
  %230 = extractvalue { ptr, i32 } %228, 1
  store i32 %230, ptr %20, align 4
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #5
  br label %231

231:                                              ; preds = %227, %223
  call void @llvm.lifetime.end.p0(i64 32, ptr %29) #5
  br label %232

232:                                              ; preds = %231, %219
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #5
  br label %233

233:                                              ; preds = %232, %215
  call void @llvm.lifetime.end.p0(i64 32, ptr %28) #5
  br label %234

234:                                              ; preds = %233, %211
  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 %277

235:                                              ; preds = %192
  call void @llvm.lifetime.start.p0(i64 32, ptr %30) #5
  %236 = 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 %236)
  %237 = load ptr, ptr %12, align 8, !tbaa !5
  %238 = invoke noundef ptr @_ZN6tflite13GetTensorDataIhEEPKT_PK12TfLiteTensor(ptr noundef %237)
          to label %239 unwind label %251

239:                                              ; preds = %235
  call void @llvm.lifetime.start.p0(i64 32, ptr %31) #5
  %240 = 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 %240)
          to label %241 unwind label %255

241:                                              ; preds = %239
  %242 = load ptr, ptr %13, align 8, !tbaa !5
  %243 = invoke noundef ptr @_ZN6tflite13GetTensorDataIhEEPKT_PK12TfLiteTensor(ptr noundef %242)
          to label %244 unwind label %259

244:                                              ; preds = %241
  call void @llvm.lifetime.start.p0(i64 32, ptr %32) #5
  %245 = 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 %245)
          to label %246 unwind label %263

246:                                              ; preds = %244
  %247 = load ptr, ptr %14, align 8, !tbaa !5
  %248 = invoke noundef ptr @_ZN6tflite13GetTensorDataIhEEPT_P12TfLiteTensor(ptr noundef %247)
          to label %249 unwind label %267

249:                                              ; preds = %246
  invoke void @_ZN6tflite13reference_ops3AddERKNS_16ArithmeticParamsERKNS_12RuntimeShapeEPKhS6_S8_S6_Ph(ptr noundef nonnull align 4 dereferenceable(80) %15, ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef %238, ptr noundef nonnull align 8 dereferenceable(32) %31, ptr noundef %243, ptr noundef nonnull align 8 dereferenceable(32) %32, ptr noundef %248)
          to label %250 unwind label %267

250:                                              ; preds = %249
  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 %275

251:                                              ; preds = %235
  %252 = landingpad { ptr, i32 }
          cleanup
  %253 = extractvalue { ptr, i32 } %252, 0
  store ptr %253, ptr %19, align 8
  %254 = extractvalue { ptr, i32 } %252, 1
  store i32 %254, ptr %20, align 4
  br label %274

255:                                              ; preds = %239
  %256 = landingpad { ptr, i32 }
          cleanup
  %257 = extractvalue { ptr, i32 } %256, 0
  store ptr %257, ptr %19, align 8
  %258 = extractvalue { ptr, i32 } %256, 1
  store i32 %258, ptr %20, align 4
  br label %273

259:                                              ; preds = %241
  %260 = landingpad { ptr, i32 }
          cleanup
  %261 = extractvalue { ptr, i32 } %260, 0
  store ptr %261, ptr %19, align 8
  %262 = extractvalue { ptr, i32 } %260, 1
  store i32 %262, ptr %20, align 4
  br label %272

263:                                              ; preds = %244
  %264 = landingpad { ptr, i32 }
          cleanup
  %265 = extractvalue { ptr, i32 } %264, 0
  store ptr %265, ptr %19, align 8
  %266 = extractvalue { ptr, i32 } %264, 1
  store i32 %266, ptr %20, align 4
  br label %271

267:                                              ; preds = %249, %246
  %268 = landingpad { ptr, i32 }
          cleanup
  %269 = extractvalue { ptr, i32 } %268, 0
  store ptr %269, ptr %19, align 8
  %270 = extractvalue { ptr, i32 } %268, 1
  store i32 %270, ptr %20, align 4
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #5
  br label %271

271:                                              ; preds = %267, %263
  call void @llvm.lifetime.end.p0(i64 32, ptr %32) #5
  br label %272

272:                                              ; preds = %271, %259
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #5
  br label %273

273:                                              ; preds = %272, %255
  call void @llvm.lifetime.end.p0(i64 32, ptr %31) #5
  br label %274

274:                                              ; preds = %273, %251
  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 %277

275:                                              ; preds = %250, %210
  br label %276

276:                                              ; preds = %275, %191
  call void @llvm.lifetime.end.p0(i64 1, ptr %16) #5
  call void @llvm.lifetime.end.p0(i64 80, ptr %15) #5
  br label %278

277:                                              ; preds = %274, %234, %190, %150, %126
  call void @llvm.lifetime.end.p0(i64 1, ptr %16) #5
  call void @llvm.lifetime.end.p0(i64 80, ptr %15) #5
  br label %279

278:                                              ; preds = %276, %37
  ret i32 0

279:                                              ; preds = %277
  %280 = load ptr, ptr %19, align 8
  %281 = load i32, ptr %20, align 4
  %282 = insertvalue { ptr, i32 } poison, ptr %280, 0
  %283 = insertvalue { ptr, i32 } %282, i32 %281, 1
  resume { ptr, i32 } %283
}

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

; 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) #1

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN6tflite21reference_integer_ops18BroadcastAdd4DSlowERKNS_16ArithmeticParamsERKNS_12RuntimeShapeEPKaS6_S8_S6_Pa(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) #1

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN6tflite21reference_integer_ops3AddERKNS_16ArithmeticParamsERKNS_12RuntimeShapeEPKaS6_S8_S6_Pa(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) #1

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN6tflite13reference_ops18BroadcastAdd4DSlowERKNS_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) #1

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN6tflite13reference_ops3AddERKNS_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) #1

attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { inlinehint mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { 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 = { 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 = { 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 #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 36}
!21 = !{!"_ZTSN6tflite3ops5micro3add6OpDataE", !17, 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}
!22 = !{!23, !14, i64 24}
!23 = !{!"_ZTSN6tflite16ArithmeticParamsE", !24, 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}
!24 = !{!"_ZTSN6tflite23BroadcastableOpCategoryE", !7, i64 0}
!25 = !{!21, !14, i64 40}
!26 = !{!23, !14, i64 4}
!27 = !{!21, !14, i64 20}
!28 = !{!23, !14, i64 28}
!29 = !{!21, !14, i64 4}
!30 = !{!23, !14, i64 32}
!31 = !{!21, !14, i64 44}
!32 = !{!23, !14, i64 8}
!33 = !{!21, !14, i64 24}
!34 = !{!23, !14, i64 36}
!35 = !{!21, !14, i64 8}
!36 = !{!23, !14, i64 40}
!37 = !{!21, !14, i64 48}
!38 = !{!23, !14, i64 12}
!39 = !{!21, !14, i64 28}
!40 = !{!23, !14, i64 16}
!41 = !{!21, !14, i64 32}
!42 = !{!23, !14, i64 20}
!43 = !{!21, !14, i64 12}
!44 = !{!21, !14, i64 16}
!45 = !{!17, !17, i64 0}
!46 = !{i8 0, i8 2}
!47 = !{}


; 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::RuntimeShape" = type { i32, %union.anon }
%union.anon = type { ptr, [16 x i8] }
%"struct.tflite::ArithmeticParams" = type { i8, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, float, float, [5 x i32] }

; 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: 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 #1

declare i32 @__gxx_personality_v0(...)

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

; Function Attrs: mustprogress uwtable
define dso_local noundef i32 @_ZN6tflite3ops5micro3add16EvalAddQuantizedEP13TfLiteContextP10TfLiteNodeP15TfLiteAddParamsPKNS2_6OpDataEPK12TfLiteTensorSE_PSC_(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 #3 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 %127 [
    i32 3, label %24
    i32 9, label %24
  ]

24:                                               ; preds = %7, %7
  call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %8) #5
  %25 = getelementptr inbounds i8, ptr %3, i64 36
  %26 = load i32, ptr %25, align 4, !tbaa !19
  %27 = getelementptr inbounds i8, ptr %8, i64 24
  store i32 %26, ptr %27, align 4, !tbaa !21
  %28 = getelementptr inbounds i8, ptr %3, i64 40
  %29 = load i32, ptr %28, align 4, !tbaa !24
  %30 = getelementptr inbounds i8, ptr %8, i64 4
  store i32 %29, ptr %30, align 4, !tbaa !25
  %31 = getelementptr inbounds i8, ptr %3, i64 20
  %32 = load i32, ptr %31, align 4, !tbaa !26
  %33 = getelementptr inbounds i8, ptr %8, i64 28
  store i32 %32, ptr %33, align 4, !tbaa !27
  %34 = getelementptr inbounds i8, ptr %3, i64 4
  %35 = load i32, ptr %34, align 4, !tbaa !28
  %36 = getelementptr inbounds i8, ptr %8, i64 32
  store i32 %35, ptr %36, align 4, !tbaa !29
  %37 = getelementptr inbounds i8, ptr %3, i64 44
  %38 = getelementptr inbounds i8, ptr %8, i64 8
  %39 = getelementptr inbounds i8, ptr %3, i64 24
  %40 = load i32, ptr %39, align 4, !tbaa !30
  %41 = getelementptr inbounds i8, ptr %8, i64 36
  store i32 %40, ptr %41, align 4, !tbaa !31
  %42 = getelementptr inbounds i8, ptr %3, i64 8
  %43 = load i32, ptr %42, align 4, !tbaa !32
  %44 = getelementptr inbounds i8, ptr %8, i64 40
  store i32 %43, ptr %44, align 4, !tbaa !33
  %45 = load <2 x i32>, ptr %37, align 4, !tbaa !34
  %46 = getelementptr inbounds i8, ptr %3, i64 28
  %47 = load <2 x i32>, ptr %46, align 4, !tbaa !34
  %48 = shufflevector <2 x i32> %45, <2 x i32> %47, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
  store <4 x i32> %48, ptr %38, align 4, !tbaa !34
  %49 = getelementptr inbounds i8, ptr %3, i64 12
  %50 = load i32, ptr %49, align 4, !tbaa !35
  %51 = getelementptr inbounds i8, ptr %3, i64 16
  %52 = load i32, ptr %51, align 4, !tbaa !36
  call void @_ZN6tflite19SetActivationParamsINS_16ArithmeticParamsEEEviiPT_(i32 noundef %50, i32 noundef %52, ptr noundef nonnull %8)
  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 %5)
          to label %53 unwind label %66

53:                                               ; preds = %24
  %54 = 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 %55 unwind label %68

55:                                               ; preds = %53
  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
  %56 = load i32, ptr %6, align 8, !tbaa !5
  %57 = icmp eq i32 %56, 9
  br i1 %57, label %58, label %94

58:                                               ; preds = %55
  br i1 %54, label %59, label %79

59:                                               ; preds = %58
  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 %4)
  %60 = call noundef ptr @_ZN6tflite13GetTensorDataIaEEPKT_PK12TfLiteTensor(ptr noundef %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 %5)
          to label %61 unwind label %71

61:                                               ; preds = %59
  %62 = call noundef ptr @_ZN6tflite13GetTensorDataIaEEPKT_PK12TfLiteTensor(ptr noundef %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 %63 unwind label %73

63:                                               ; preds = %61
  %64 = call noundef ptr @_ZN6tflite13GetTensorDataIaEEPT_P12TfLiteTensor(ptr noundef nonnull %6)
  invoke void @_ZN6tflite21reference_integer_ops18BroadcastAdd4DSlowERKNS_16ArithmeticParamsERKNS_12RuntimeShapeEPKaS6_S8_S6_Pa(ptr noundef nonnull align 4 dereferenceable(80) %8, ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef %60, ptr noundef nonnull align 8 dereferenceable(32) %12, ptr noundef %62, ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef %64)
          to label %65 unwind label %75

65:                                               ; preds = %63
  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 %125

66:                                               ; preds = %24
  %67 = landingpad { ptr, i32 }
          cleanup
  br label %70

68:                                               ; preds = %53
  %69 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #5
  br label %70

70:                                               ; preds = %68, %66
  %.pn = phi { ptr, i32 } [ %69, %68 ], [ %67, %66 ]
  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 %126

71:                                               ; preds = %59
  %72 = landingpad { ptr, i32 }
          cleanup
  br label %78

73:                                               ; preds = %61
  %74 = landingpad { ptr, i32 }
          cleanup
  br label %77

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

77:                                               ; preds = %75, %73
  %.pn65 = phi { ptr, i32 } [ %76, %75 ], [ %74, %73 ]
  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 %78

78:                                               ; preds = %77, %71
  %.pn65.pn = phi { ptr, i32 } [ %.pn65, %77 ], [ %72, %71 ]
  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 %126

79:                                               ; preds = %58
  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 %4)
  %80 = call noundef ptr @_ZN6tflite13GetTensorDataIaEEPKT_PK12TfLiteTensor(ptr noundef %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 %5)
          to label %81 unwind label %86

81:                                               ; preds = %79
  %82 = call noundef ptr @_ZN6tflite13GetTensorDataIaEEPKT_PK12TfLiteTensor(ptr noundef %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 %83 unwind label %88

83:                                               ; preds = %81
  %84 = call noundef ptr @_ZN6tflite13GetTensorDataIaEEPT_P12TfLiteTensor(ptr noundef nonnull %6)
  invoke void @_ZN6tflite21reference_integer_ops3AddERKNS_16ArithmeticParamsERKNS_12RuntimeShapeEPKaS6_S8_S6_Pa(ptr noundef nonnull align 4 dereferenceable(80) %8, ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef %80, ptr noundef nonnull align 8 dereferenceable(32) %15, ptr noundef %82, ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef %84)
          to label %85 unwind label %90

85:                                               ; preds = %83
  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 %125

86:                                               ; preds = %79
  %87 = landingpad { ptr, i32 }
          cleanup
  br label %93

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

90:                                               ; preds = %83
  %91 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #5
  br label %92

92:                                               ; preds = %90, %88
  %.pn62 = phi { ptr, i32 } [ %91, %90 ], [ %89, %88 ]
  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 %93

93:                                               ; preds = %92, %86
  %.pn62.pn = phi { ptr, i32 } [ %.pn62, %92 ], [ %87, %86 ]
  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 %126

94:                                               ; preds = %55
  br i1 %54, label %95, label %110

95:                                               ; preds = %94
  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 %4)
  %96 = call noundef ptr @_ZN6tflite13GetTensorDataIhEEPKT_PK12TfLiteTensor(ptr noundef %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 %5)
          to label %97 unwind label %102

97:                                               ; preds = %95
  %98 = call noundef ptr @_ZN6tflite13GetTensorDataIhEEPKT_PK12TfLiteTensor(ptr noundef %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 %99 unwind label %104

99:                                               ; preds = %97
  %100 = call noundef ptr @_ZN6tflite13GetTensorDataIhEEPT_P12TfLiteTensor(ptr noundef nonnull %6)
  invoke void @_ZN6tflite13reference_ops18BroadcastAdd4DSlowERKNS_16ArithmeticParamsERKNS_12RuntimeShapeEPKhS6_S8_S6_Ph(ptr noundef nonnull align 4 dereferenceable(80) %8, ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef %96, ptr noundef nonnull align 8 dereferenceable(32) %18, ptr noundef %98, ptr noundef nonnull align 8 dereferenceable(32) %19, ptr noundef %100)
          to label %101 unwind label %106

101:                                              ; preds = %99
  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 %125

102:                                              ; preds = %95
  %103 = landingpad { ptr, i32 }
          cleanup
  br label %109

104:                                              ; preds = %97
  %105 = landingpad { ptr, i32 }
          cleanup
  br label %108

106:                                              ; preds = %99
  %107 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #5
  br label %108

108:                                              ; preds = %106, %104
  %.pn59 = phi { ptr, i32 } [ %107, %106 ], [ %105, %104 ]
  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 %109

109:                                              ; preds = %108, %102
  %.pn59.pn = phi { ptr, i32 } [ %.pn59, %108 ], [ %103, %102 ]
  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 %126

110:                                              ; preds = %94
  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 %4)
  %111 = call noundef ptr @_ZN6tflite13GetTensorDataIhEEPKT_PK12TfLiteTensor(ptr noundef %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 %5)
          to label %112 unwind label %117

112:                                              ; preds = %110
  %113 = call noundef ptr @_ZN6tflite13GetTensorDataIhEEPKT_PK12TfLiteTensor(ptr noundef %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 %114 unwind label %119

114:                                              ; preds = %112
  %115 = call noundef ptr @_ZN6tflite13GetTensorDataIhEEPT_P12TfLiteTensor(ptr noundef nonnull %6)
  invoke void @_ZN6tflite13reference_ops3AddERKNS_16ArithmeticParamsERKNS_12RuntimeShapeEPKhS6_S8_S6_Ph(ptr noundef nonnull align 4 dereferenceable(80) %8, ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef %111, ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef %113, ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef %115)
          to label %116 unwind label %121

116:                                              ; preds = %114
  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 %125

117:                                              ; preds = %110
  %118 = landingpad { ptr, i32 }
          cleanup
  br label %124

119:                                              ; preds = %112
  %120 = landingpad { ptr, i32 }
          cleanup
  br label %123

121:                                              ; preds = %114
  %122 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6tflite12RuntimeShapeD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #5
  br label %123

123:                                              ; preds = %121, %119
  %.pn56 = phi { ptr, i32 } [ %122, %121 ], [ %120, %119 ]
  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 %124

124:                                              ; preds = %123, %117
  %.pn56.pn = phi { ptr, i32 } [ %.pn56, %123 ], [ %118, %117 ]
  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 %126

125:                                              ; preds = %101, %116, %65, %85
  call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %8) #5
  br label %127

126:                                              ; preds = %124, %109, %93, %78, %70
  %.pn65.pn.pn = phi { ptr, i32 } [ %.pn65.pn, %78 ], [ %.pn62.pn, %93 ], [ %.pn59.pn, %109 ], [ %.pn56.pn, %124 ], [ %.pn, %70 ]
  call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %8) #5
  resume { ptr, i32 } %.pn65.pn.pn

127:                                              ; preds = %7, %125
  ret i32 0
}

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

; 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 #1

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN6tflite21reference_integer_ops18BroadcastAdd4DSlowERKNS_16ArithmeticParamsERKNS_12RuntimeShapeEPKaS6_S8_S6_Pa(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 #1

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN6tflite21reference_integer_ops3AddERKNS_16ArithmeticParamsERKNS_12RuntimeShapeEPKaS6_S8_S6_Pa(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 #1

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN6tflite13reference_ops18BroadcastAdd4DSlowERKNS_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 #1

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN6tflite13reference_ops3AddERKNS_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 #1

attributes #0 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { inlinehint mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { 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 = { 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 = { 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 #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 36}
!20 = !{!"_ZTSN6tflite3ops5micro3add6OpDataE", !16, 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}
!21 = !{!22, !13, i64 24}
!22 = !{!"_ZTSN6tflite16ArithmeticParamsE", !23, 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}
!23 = !{!"_ZTSN6tflite23BroadcastableOpCategoryE", !8, i64 0}
!24 = !{!20, !13, i64 40}
!25 = !{!22, !13, i64 4}
!26 = !{!20, !13, i64 20}
!27 = !{!22, !13, i64 28}
!28 = !{!20, !13, i64 4}
!29 = !{!22, !13, i64 32}
!30 = !{!20, !13, i64 24}
!31 = !{!22, !13, i64 36}
!32 = !{!20, !13, i64 8}
!33 = !{!22, !13, i64 40}
!34 = !{!13, !13, i64 0}
!35 = !{!20, !13, i64 12}
!36 = !{!20, !13, i64 16}


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