; LLVM IR from huawei-noah/bolt :: compute/tensor/tests (test_depthwise_convolution)

; 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.ArchInfo = type { i32, ptr }
%struct.ActivationParamSpec = type { i32, [4 x float] }
%struct.TensorDesc = type { i32, i32, i32, [20 x i32] }
%struct.ConvolutionParamSpec = type { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, %union.ActivationSpec, i32, i32, i32, i32 }
%union.ActivationSpec = type { %struct.ClipParamSpec }
%struct.ClipParamSpec = type { float, float }
%class.Tensor = type { %"class.std::shared_ptr", %"class.std::shared_ptr.0" }
%"class.std::shared_ptr" = type { %"class.std::__shared_ptr" }
%"class.std::__shared_ptr" = type { ptr, %"class.std::__shared_count" }
%"class.std::__shared_count" = type { ptr }
%"class.std::shared_ptr.0" = type { %"class.std::__shared_ptr.1" }
%"class.std::__shared_ptr.1" = type { ptr, %"class.std::__shared_count" }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<Tensor, std::allocator<Tensor>>::_Vector_impl" }
%"struct.std::_Vector_base<Tensor, std::allocator<Tensor>>::_Vector_impl" = type { %"struct.std::_Vector_base<Tensor, std::allocator<Tensor>>::_Vector_impl_data" }
%"struct.std::_Vector_base<Tensor, std::allocator<Tensor>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::allocator" = type { i8 }

@.str = external hidden unnamed_addr constant [20 x i8], align 1
@stdout = external global ptr, align 8
@.str.1 = external hidden unnamed_addr constant [23 x i8], align 1
@_ZL15UT_CPU_ARCHINFO = external hidden global %struct.ArchInfo, align 8
@.str.2 = external hidden unnamed_addr constant [18 x i8], align 1
@_ZL18UT_SERIAL_ARCHINFO = external hidden global %struct.ArchInfo, align 8
@.str.3 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [21 x i8], align 1

; Function Attrs: mustprogress uwtable
define dso_local noundef i32 @_Z24depthwiseConvolutionTestiPPcb8DataType(i32 noundef %0, ptr noundef %1, i1 noundef zeroext %2, i32 noundef %3) #0 personality ptr @__gxx_personality_v0 {
  %5 = alloca i32, align 4
  %6 = alloca ptr, align 8
  %7 = alloca i8, align 1
  %8 = alloca i32, align 4
  %9 = alloca i32, align 4
  %10 = alloca i32, align 4
  %11 = alloca i32, align 4
  %12 = alloca i32, align 4
  %13 = alloca i32, align 4
  %14 = alloca i32, align 4
  %15 = alloca i32, align 4
  %16 = alloca i32, align 4
  %17 = alloca i32, align 4
  %18 = alloca i32, align 4
  %19 = alloca i32, align 4
  %20 = alloca i32, align 4
  %21 = alloca i32, align 4
  %22 = alloca i32, align 4
  %23 = alloca i32, align 4
  %24 = alloca i32, align 4
  %25 = alloca i32, align 4
  %26 = alloca %struct.ActivationParamSpec, align 4
  %27 = alloca %struct.ActivationParamSpec, align 4
  %28 = alloca %struct.TensorDesc, align 4
  %29 = alloca %struct.TensorDesc, align 4
  %30 = alloca %struct.TensorDesc, align 4
  %31 = alloca %struct.TensorDesc, align 4
  %32 = alloca %struct.TensorDesc, align 4
  %33 = alloca %struct.TensorDesc, align 4
  %34 = alloca %struct.TensorDesc, align 4
  %35 = alloca %struct.TensorDesc, align 4
  %36 = alloca %struct.TensorDesc, align 4
  %37 = alloca %struct.TensorDesc, align 4
  %38 = alloca %struct.TensorDesc, align 4
  %39 = alloca %struct.ConvolutionParamSpec, align 4
  %40 = alloca ptr, align 8
  %41 = alloca ptr, align 8
  %42 = alloca ptr, align 8
  %43 = alloca ptr, align 8
  %44 = alloca ptr, align 8
  %45 = alloca %struct.TensorDesc, align 8
  %46 = alloca %struct.TensorDesc, align 8
  %47 = alloca %class.Tensor, align 8
  %48 = alloca %class.Tensor, align 8
  %49 = alloca ptr, align 8
  %50 = alloca i32, align 4
  %51 = alloca %class.Tensor, align 8
  %52 = alloca %class.Tensor, align 8
  %53 = alloca %class.Tensor, align 8
  %54 = alloca %class.Tensor, align 8
  %55 = alloca %class.Tensor, align 8
  %56 = alloca %struct.TensorDesc, align 8
  %57 = alloca %struct.TensorDesc, align 8
  %58 = alloca %struct.TensorDesc, align 8
  %59 = alloca %struct.TensorDesc, align 8
  %60 = alloca %struct.TensorDesc, align 8
  %61 = alloca %class.Tensor, align 8
  %62 = alloca %class.Tensor, align 8
  %63 = alloca %class.Tensor, align 8
  %64 = alloca %class.Tensor, align 8
  %65 = alloca %class.Tensor, align 8
  %66 = alloca %class.Tensor, align 8
  %67 = alloca %class.Tensor, align 8
  %68 = alloca %class.Tensor, align 8
  %69 = alloca %struct.TensorDesc, align 8
  %70 = alloca %struct.TensorDesc, align 8
  %71 = alloca %struct.TensorDesc, align 8
  %72 = alloca %struct.TensorDesc, align 8
  %73 = alloca %struct.TensorDesc, align 8
  %74 = alloca %class.Tensor, align 8
  %75 = alloca %class.Tensor, align 8
  %76 = alloca %class.Tensor, align 8
  %77 = alloca i32, align 4
  %78 = alloca %class.Tensor, align 8
  %79 = alloca %class.Tensor, align 8
  %80 = alloca %struct.ConvolutionParamSpec, align 8
  %81 = alloca i32, align 4
  %82 = alloca i32, align 4
  %83 = alloca %class.Tensor, align 8
  %84 = alloca %struct.ConvolutionParamSpec, align 8
  %85 = alloca i32, align 4
  %86 = alloca i32, align 4
  %87 = alloca i32, align 4
  %88 = alloca i32, align 4
  %89 = alloca %struct.TensorDesc, align 8
  %90 = alloca i32, align 4
  %91 = alloca %struct.TensorDesc, align 8
  %92 = alloca i32, align 4
  %93 = alloca i32, align 4
  %94 = alloca i32, align 4
  %95 = alloca %class.Tensor, align 8
  %96 = alloca %class.Tensor, align 8
  %97 = alloca %class.Tensor, align 8
  %98 = alloca %class.Tensor, align 8
  %99 = alloca %struct.ConvolutionParamSpec, align 8
  %100 = alloca %struct.ActivationParamSpec, align 8
  %101 = alloca %struct.ActivationParamSpec, align 8
  %102 = alloca i32, align 4
  %103 = alloca i32, align 4
  %104 = alloca %class.Tensor, align 8
  %105 = alloca %class.Tensor, align 8
  %106 = alloca %class.Tensor, align 8
  %107 = alloca %struct.ConvolutionParamSpec, align 8
  %108 = alloca %struct.ActivationParamSpec, align 8
  %109 = alloca i32, align 4
  %110 = alloca i32, align 4
  %111 = alloca i32, align 4
  %112 = alloca %class.Tensor, align 8
  %113 = alloca %class.Tensor, align 8
  %114 = alloca %class.Tensor, align 8
  %115 = alloca %class.Tensor, align 8
  %116 = alloca %struct.ConvolutionParamSpec, align 8
  %117 = alloca i32, align 4
  %118 = alloca i32, align 4
  %119 = alloca %class.Tensor, align 8
  %120 = alloca %class.Tensor, align 8
  %121 = alloca %class.Tensor, align 8
  %122 = alloca %struct.ConvolutionParamSpec, align 8
  %123 = alloca i32, align 4
  %124 = alloca %class.Tensor, align 8
  %125 = alloca %struct.TensorDesc, align 8
  %126 = alloca i32, align 4
  %127 = alloca i32, align 4
  %128 = alloca i32, align 4
  %129 = alloca %class.Tensor, align 8
  %130 = alloca %class.Tensor, align 8
  %131 = alloca %struct.ConvolutionParamSpec, align 8
  %132 = alloca i32, align 4
  %133 = alloca i32, align 4
  %134 = alloca %class.Tensor, align 8
  %135 = alloca %struct.ConvolutionParamSpec, align 8
  %136 = alloca i32, align 4
  %137 = alloca %class.Tensor, align 8
  %138 = alloca %struct.TensorDesc, align 8
  %139 = alloca %class.Tensor, align 8
  %140 = alloca %struct.TensorDesc, align 8
  %141 = alloca i32, align 4
  %142 = alloca %class.Tensor, align 8
  %143 = alloca %class.Tensor, align 8
  %144 = alloca %struct.ConvolutionParamSpec, align 8
  %145 = alloca i32, align 4
  %146 = alloca i32, align 4
  %147 = alloca %class.Tensor, align 8
  %148 = alloca %struct.ConvolutionParamSpec, align 8
  %149 = alloca i32, align 4
  %150 = alloca %"class.std::vector", align 8
  %151 = alloca %"class.std::allocator", align 1
  %152 = alloca %"class.std::vector", align 8
  %153 = alloca %"class.std::allocator", align 1
  %154 = alloca %"class.std::vector", align 8
  %155 = alloca %"class.std::allocator", align 1
  %156 = alloca i32, align 4
  %157 = alloca %"class.std::vector", align 8
  %158 = alloca %class.Tensor, align 8
  %159 = alloca %class.Tensor, align 8
  %160 = alloca %struct.ConvolutionParamSpec, align 8
  %161 = alloca %class.Tensor, align 8
  %162 = alloca %class.Tensor, align 8
  %163 = alloca %"class.std::vector", align 8
  %164 = alloca %class.Tensor, align 8
  %165 = alloca %struct.ActivationParamSpec, align 8
  %166 = alloca %struct.ActivationParamSpec, align 8
  %167 = alloca i32, align 4
  %168 = alloca i32, align 4
  %169 = alloca %"class.std::vector", align 8
  %170 = alloca %class.Tensor, align 8
  %171 = alloca %class.Tensor, align 8
  %172 = alloca %struct.ConvolutionParamSpec, align 8
  %173 = alloca %class.Tensor, align 8
  %174 = alloca %class.Tensor, align 8
  %175 = alloca %"class.std::vector", align 8
  %176 = alloca %class.Tensor, align 8
  %177 = alloca %struct.ActivationParamSpec, align 8
  %178 = alloca %struct.ActivationParamSpec, align 8
  %179 = alloca i32, align 4
  %180 = alloca i32, align 4
  %181 = alloca %class.Tensor, align 8
  %182 = alloca %class.Tensor, align 8
  %183 = alloca %struct.ConvolutionParamSpec, align 8
  %184 = alloca %class.Tensor, align 8
  %185 = alloca %class.Tensor, align 8
  %186 = alloca %class.Tensor, align 8
  %187 = alloca %struct.ActivationParamSpec, align 8
  %188 = alloca i32, align 4
  %189 = alloca i32, align 4
  %190 = alloca %class.Tensor, align 8
  %191 = alloca %class.Tensor, align 8
  %192 = alloca %struct.ConvolutionParamSpec, align 8
  %193 = alloca %class.Tensor, align 8
  %194 = alloca %class.Tensor, align 8
  %195 = alloca %class.Tensor, align 8
  %196 = alloca %struct.ActivationParamSpec, align 8
  %197 = alloca i32, align 4
  %198 = alloca %class.Tensor, align 8
  %199 = alloca %class.Tensor, align 8
  %200 = alloca double, align 8
  %201 = alloca i32, align 4
  %202 = alloca i32, align 4
  %203 = alloca %"class.std::vector", align 8
  %204 = alloca %class.Tensor, align 8
  %205 = alloca %class.Tensor, align 8
  %206 = alloca %struct.ConvolutionParamSpec, align 8
  %207 = alloca %class.Tensor, align 8
  %208 = alloca %class.Tensor, align 8
  %209 = alloca %"class.std::vector", align 8
  %210 = alloca %class.Tensor, align 8
  %211 = alloca %struct.ActivationParamSpec, align 8
  %212 = alloca %struct.ActivationParamSpec, align 8
  %213 = alloca i32, align 4
  %214 = alloca i32, align 4
  %215 = alloca %class.Tensor, align 8
  %216 = alloca %class.Tensor, align 8
  %217 = alloca %struct.ConvolutionParamSpec, align 8
  %218 = alloca %class.Tensor, align 8
  %219 = alloca %class.Tensor, align 8
  %220 = alloca %class.Tensor, align 8
  %221 = alloca %struct.ActivationParamSpec, align 8
  %222 = alloca i32, align 4
  %223 = alloca double, align 8
  %224 = alloca double, align 8
  %225 = alloca [150 x i8], align 16
  %226 = alloca [120 x i8], align 16
  %227 = alloca double, align 8
  store i32 %0, ptr %5, align 4, !tbaa !5
  store ptr %1, ptr %6, align 8, !tbaa !9
  %228 = zext i1 %2 to i8
  store i8 %228, ptr %7, align 1, !tbaa !11
  store i32 %3, ptr %8, align 4, !tbaa !13
  %229 = load i32, ptr %5, align 4, !tbaa !5
  %230 = icmp eq i32 %229, 16
  br i1 %230, label %241, label %231

231:                                              ; preds = %4
  call void @llvm.lifetime.start.p0(i64 4, ptr %9) #11
  %232 = call i64 (i64, ...) @syscall(i64 noundef 186) #11
  %233 = trunc i64 %232 to i32
  store i32 %233, ptr %9, align 4, !tbaa !5
  %234 = load i32, ptr %9, align 4, !tbaa !5
  %235 = call i32 (ptr, ...) @printf(ptr noundef @.str, i32 noundef %234)
  %236 = load ptr, ptr @stdout, align 8, !tbaa !9
  %237 = call i32 @fflush(ptr noundef %236)
  %238 = call i32 (ptr, ...) @printf(ptr noundef @.str.1)
  %239 = load ptr, ptr @stdout, align 8, !tbaa !9
  %240 = call i32 @fflush(ptr noundef %239)
  call void @exit(i32 noundef 1) #12
  unreachable

241:                                              ; preds = %4
  call void @llvm.lifetime.start.p0(i64 4, ptr %10) #11
  %242 = load ptr, ptr %6, align 8, !tbaa !9
  %243 = getelementptr inbounds ptr, ptr %242, i64 1
  %244 = load ptr, ptr %243, align 8, !tbaa !9
  %245 = call i32 @atoi(ptr noundef %244) #13
  store i32 %245, ptr %10, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %11) #11
  %246 = load ptr, ptr %6, align 8, !tbaa !9
  %247 = getelementptr inbounds ptr, ptr %246, i64 2
  %248 = load ptr, ptr %247, align 8, !tbaa !9
  %249 = call i32 @atoi(ptr noundef %248) #13
  store i32 %249, ptr %11, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %12) #11
  %250 = load ptr, ptr %6, align 8, !tbaa !9
  %251 = getelementptr inbounds ptr, ptr %250, i64 3
  %252 = load ptr, ptr %251, align 8, !tbaa !9
  %253 = call i32 @atoi(ptr noundef %252) #13
  store i32 %253, ptr %12, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %13) #11
  %254 = load ptr, ptr %6, align 8, !tbaa !9
  %255 = getelementptr inbounds ptr, ptr %254, i64 4
  %256 = load ptr, ptr %255, align 8, !tbaa !9
  %257 = call i32 @atoi(ptr noundef %256) #13
  store i32 %257, ptr %13, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %14) #11
  %258 = load ptr, ptr %6, align 8, !tbaa !9
  %259 = getelementptr inbounds ptr, ptr %258, i64 5
  %260 = load ptr, ptr %259, align 8, !tbaa !9
  %261 = call i32 @atoi(ptr noundef %260) #13
  store i32 %261, ptr %14, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %15) #11
  %262 = load ptr, ptr %6, align 8, !tbaa !9
  %263 = getelementptr inbounds ptr, ptr %262, i64 6
  %264 = load ptr, ptr %263, align 8, !tbaa !9
  %265 = call i32 @atoi(ptr noundef %264) #13
  store i32 %265, ptr %15, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #11
  %266 = load ptr, ptr %6, align 8, !tbaa !9
  %267 = getelementptr inbounds ptr, ptr %266, i64 7
  %268 = load ptr, ptr %267, align 8, !tbaa !9
  %269 = call i32 @atoi(ptr noundef %268) #13
  store i32 %269, ptr %16, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %17) #11
  %270 = load ptr, ptr %6, align 8, !tbaa !9
  %271 = getelementptr inbounds ptr, ptr %270, i64 8
  %272 = load ptr, ptr %271, align 8, !tbaa !9
  %273 = call i32 @atoi(ptr noundef %272) #13
  store i32 %273, ptr %17, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %18) #11
  %274 = load ptr, ptr %6, align 8, !tbaa !9
  %275 = getelementptr inbounds ptr, ptr %274, i64 9
  %276 = load ptr, ptr %275, align 8, !tbaa !9
  %277 = call i32 @atoi(ptr noundef %276) #13
  store i32 %277, ptr %18, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %19) #11
  %278 = load ptr, ptr %6, align 8, !tbaa !9
  %279 = getelementptr inbounds ptr, ptr %278, i64 10
  %280 = load ptr, ptr %279, align 8, !tbaa !9
  %281 = call i32 @atoi(ptr noundef %280) #13
  store i32 %281, ptr %19, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %20) #11
  %282 = load ptr, ptr %6, align 8, !tbaa !9
  %283 = getelementptr inbounds ptr, ptr %282, i64 11
  %284 = load ptr, ptr %283, align 8, !tbaa !9
  %285 = call i32 @atoi(ptr noundef %284) #13
  store i32 %285, ptr %20, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %21) #11
  %286 = load ptr, ptr %6, align 8, !tbaa !9
  %287 = getelementptr inbounds ptr, ptr %286, i64 12
  %288 = load ptr, ptr %287, align 8, !tbaa !9
  %289 = call i32 @atoi(ptr noundef %288) #13
  store i32 %289, ptr %21, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %22) #11
  %290 = load ptr, ptr %6, align 8, !tbaa !9
  %291 = getelementptr inbounds ptr, ptr %290, i64 13
  %292 = load ptr, ptr %291, align 8, !tbaa !9
  %293 = call i32 @atoi(ptr noundef %292) #13
  store i32 %293, ptr %22, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %23) #11
  %294 = load ptr, ptr %6, align 8, !tbaa !9
  %295 = getelementptr inbounds ptr, ptr %294, i64 14
  %296 = load ptr, ptr %295, align 8, !tbaa !9
  %297 = call i32 @atoi(ptr noundef %296) #13
  store i32 %297, ptr %23, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %24) #11
  %298 = load ptr, ptr %6, align 8, !tbaa !9
  %299 = getelementptr inbounds ptr, ptr %298, i64 15
  %300 = load ptr, ptr %299, align 8, !tbaa !9
  %301 = call i32 @atoi(ptr noundef %300) #13
  store i32 %301, ptr %24, align 4, !tbaa !5
  %302 = load i32, ptr %10, align 4, !tbaa !5
  %303 = icmp eq i32 %302, 1
  br i1 %303, label %304, label %307

304:                                              ; preds = %241
  %305 = load i32, ptr %21, align 4, !tbaa !5
  %306 = icmp eq i32 %305, 1
  br i1 %306, label %317, label %307

307:                                              ; preds = %304, %241
  call void @llvm.lifetime.start.p0(i64 4, ptr %25) #11
  %308 = call i64 (i64, ...) @syscall(i64 noundef 186) #11
  %309 = trunc i64 %308 to i32
  store i32 %309, ptr %25, align 4, !tbaa !5
  %310 = load i32, ptr %25, align 4, !tbaa !5
  %311 = call i32 (ptr, ...) @printf(ptr noundef @.str, i32 noundef %310)
  %312 = load ptr, ptr @stdout, align 8, !tbaa !9
  %313 = call i32 @fflush(ptr noundef %312)
  %314 = call i32 (ptr, ...) @printf(ptr noundef @.str.1)
  %315 = load ptr, ptr @stdout, align 8, !tbaa !9
  %316 = call i32 @fflush(ptr noundef %315)
  call void @exit(i32 noundef 1) #12
  unreachable

317:                                              ; preds = %304
  call void @llvm.lifetime.start.p0(i64 20, ptr %26) #11
  call void @_ZN19ActivationParamSpecC2Ev(ptr noundef nonnull align 4 dereferenceable(20) %26) #11
  call void @llvm.lifetime.start.p0(i64 20, ptr %27) #11
  call void @_ZN19ActivationParamSpecC2Ev(ptr noundef nonnull align 4 dereferenceable(20) %27) #11
  %318 = getelementptr inbounds %struct.ActivationParamSpec, ptr %26, i32 0, i32 0
  store i32 0, ptr %318, align 4, !tbaa !15
  %319 = getelementptr inbounds %struct.ActivationParamSpec, ptr %27, i32 0, i32 0
  store i32 0, ptr %319, align 4, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 92, ptr %28) #11
  call void @_ZN10TensorDescC2Ev(ptr noundef nonnull align 4 dereferenceable(92) %28) #11
  call void @llvm.lifetime.start.p0(i64 92, ptr %29) #11
  call void @_ZN10TensorDescC2Ev(ptr noundef nonnull align 4 dereferenceable(92) %29) #11
  call void @llvm.lifetime.start.p0(i64 92, ptr %30) #11
  call void @_ZN10TensorDescC2Ev(ptr noundef nonnull align 4 dereferenceable(92) %30) #11
  call void @llvm.lifetime.start.p0(i64 92, ptr %31) #11
  call void @_ZN10TensorDescC2Ev(ptr noundef nonnull align 4 dereferenceable(92) %31) #11
  call void @llvm.lifetime.start.p0(i64 92, ptr %32) #11
  call void @_ZN10TensorDescC2Ev(ptr noundef nonnull align 4 dereferenceable(92) %32) #11
  call void @llvm.lifetime.start.p0(i64 92, ptr %33) #11
  call void @_ZN10TensorDescC2Ev(ptr noundef nonnull align 4 dereferenceable(92) %33) #11
  call void @llvm.lifetime.start.p0(i64 92, ptr %34) #11
  %320 = load i32, ptr %8, align 4, !tbaa !13
  %321 = load i32, ptr %10, align 4, !tbaa !5
  %322 = load i32, ptr %11, align 4, !tbaa !5
  %323 = load i32, ptr %12, align 4, !tbaa !5
  %324 = load i32, ptr %13, align 4, !tbaa !5
  call void @_Z9tensor4df8DataType10DataFormatjjjj(ptr dead_on_unwind writable sret(%struct.TensorDesc) align 4 %34, i32 noundef %320, i32 noundef 2, i32 noundef %321, i32 noundef %322, i32 noundef %323, i32 noundef %324)
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %28, ptr align 4 %34, i64 92, i1 false), !tbaa.struct !18
  call void @llvm.lifetime.end.p0(i64 92, ptr %34) #11
  call void @llvm.lifetime.start.p0(i64 92, ptr %35) #11
  %325 = load i32, ptr %8, align 4, !tbaa !13
  %326 = load i32, ptr %11, align 4, !tbaa !5
  %327 = load i32, ptr %16, align 4, !tbaa !5
  %328 = load i32, ptr %17, align 4, !tbaa !5
  call void @_Z9tensor4df8DataType10DataFormatjjjj(ptr dead_on_unwind writable sret(%struct.TensorDesc) align 4 %35, i32 noundef %325, i32 noundef 0, i32 noundef 1, i32 noundef %326, i32 noundef %327, i32 noundef %328)
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %29, ptr align 4 %35, i64 92, i1 false), !tbaa.struct !18
  call void @llvm.lifetime.end.p0(i64 92, ptr %35) #11
  call void @llvm.lifetime.start.p0(i64 92, ptr %36) #11
  %329 = load i32, ptr %8, align 4, !tbaa !13
  %330 = load i32, ptr %11, align 4, !tbaa !5
  call void @_Z8tensor1d8DataTypej(ptr dead_on_unwind writable sret(%struct.TensorDesc) align 4 %36, i32 noundef %329, i32 noundef %330)
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %32, ptr align 4 %36, i64 92, i1 false), !tbaa.struct !18
  call void @llvm.lifetime.end.p0(i64 92, ptr %36) #11
  %331 = load i8, ptr %7, align 1, !tbaa !11, !range !22, !noundef !23
  %332 = trunc i8 %331 to i1
  br i1 %332, label %333, label %339

333:                                              ; preds = %317
  call void @llvm.lifetime.start.p0(i64 92, ptr %37) #11
  %334 = load i32, ptr %8, align 4, !tbaa !13
  %335 = load i32, ptr %22, align 4, !tbaa !5
  %336 = load i32, ptr %11, align 4, !tbaa !5
  call void @_Z9tensor4df8DataType10DataFormatjjjj(ptr dead_on_unwind writable sret(%struct.TensorDesc) align 4 %37, i32 noundef %334, i32 noundef 0, i32 noundef %335, i32 noundef %336, i32 noundef 1, i32 noundef 1)
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %30, ptr align 4 %37, i64 92, i1 false), !tbaa.struct !18
  call void @llvm.lifetime.end.p0(i64 92, ptr %37) #11
  call void @llvm.lifetime.start.p0(i64 92, ptr %38) #11
  %337 = load i32, ptr %8, align 4, !tbaa !13
  %338 = load i32, ptr %22, align 4, !tbaa !5
  call void @_Z8tensor1d8DataTypej(ptr dead_on_unwind writable sret(%struct.TensorDesc) align 4 %38, i32 noundef %337, i32 noundef %338)
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %33, ptr align 4 %38, i64 92, i1 false), !tbaa.struct !18
  call void @llvm.lifetime.end.p0(i64 92, ptr %38) #11
  br label %339

339:                                              ; preds = %333, %317
  call void @llvm.lifetime.start.p0(i64 108, ptr %39) #11
  %340 = load i32, ptr %18, align 4, !tbaa !5
  %341 = load i32, ptr %16, align 4, !tbaa !5
  %342 = load i32, ptr %17, align 4, !tbaa !5
  %343 = load i32, ptr %19, align 4, !tbaa !5
  %344 = load i32, ptr %19, align 4, !tbaa !5
  %345 = load i32, ptr %20, align 4, !tbaa !5
  %346 = load i32, ptr %20, align 4, !tbaa !5
  %347 = load i32, ptr %20, align 4, !tbaa !5
  %348 = load i32, ptr %20, align 4, !tbaa !5
  %349 = load i32, ptr %14, align 4, !tbaa !5
  call void @_Z26createConvolutionParamSpecjjjjjjjjjjjjjjjjj15ConvolutionMode(ptr dead_on_unwind writable sret(%struct.ConvolutionParamSpec) align 4 %39, i32 noundef %340, i32 noundef 1, i32 noundef %341, i32 noundef %342, i32 noundef 1, i32 noundef %343, i32 noundef %344, i32 noundef 0, i32 noundef 0, i32 noundef %345, i32 noundef %346, i32 noundef %347, i32 noundef %348, i32 noundef 1, i32 noundef 1, i32 noundef 1, i32 noundef %349, i32 noundef 2)
  call void @llvm.lifetime.start.p0(i64 8, ptr %40) #11
  store ptr null, ptr %40, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %41) #11
  store ptr null, ptr %41, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %42) #11
  store ptr null, ptr %42, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %43) #11
  store ptr null, ptr %43, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %44) #11
  %350 = load i32, ptr %10, align 4, !tbaa !5
  %351 = load i32, ptr %11, align 4, !tbaa !5
  %352 = mul i32 %350, %351
  %353 = load i32, ptr %12, align 4, !tbaa !5
  %354 = mul i32 %352, %353
  %355 = load i32, ptr %13, align 4, !tbaa !5
  %356 = mul i32 %354, %355
  %357 = load i32, ptr %8, align 4, !tbaa !13
  %358 = call noundef ptr @_Z10ut_input_vj8DataType14UT_RANDOM_TYPE(i32 noundef %356, i32 noundef %357, i32 noundef 0)
  store ptr %358, ptr %44, align 8, !tbaa !9
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %45, ptr align 4 %29, i64 92, i1 false), !tbaa.struct !18
  %359 = call noundef i32 @_Z17tensorNumElements10TensorDesc(ptr noundef byval(%struct.TensorDesc) align 8 %45)
  %360 = load i32, ptr %8, align 4, !tbaa !13
  %361 = call noundef ptr @_Z10ut_input_vj8DataType14UT_RANDOM_TYPE(i32 noundef %359, i32 noundef %360, i32 noundef 0)
  store ptr %361, ptr %40, align 8, !tbaa !9
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %46, ptr align 4 %32, i64 92, i1 false), !tbaa.struct !18
  %362 = call noundef i32 @_Z17tensorNumElements10TensorDesc(ptr noundef byval(%struct.TensorDesc) align 8 %46)
  %363 = load i32, ptr %8, align 4, !tbaa !13
  %364 = call noundef ptr @_Z10ut_input_vj8DataType14UT_RANDOM_TYPE(i32 noundef %362, i32 noundef %363, i32 noundef 0)
  store ptr %364, ptr %41, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 32, ptr %47) #11
  call void @_ZN6TensorC2E10MemoryType(ptr noundef nonnull align 8 dereferenceable(32) %47, i32 noundef 1)
  call void @llvm.lifetime.start.p0(i64 32, ptr %48) #11
  invoke void @_ZN6TensorC2E10MemoryType(ptr noundef nonnull align 8 dereferenceable(32) %48, i32 noundef 1)
          to label %365 unwind label %513

365:                                              ; preds = %339
  call void @llvm.lifetime.start.p0(i64 32, ptr %51) #11
  invoke void @_ZN6TensorC2E10MemoryType(ptr noundef nonnull align 8 dereferenceable(32) %51, i32 noundef 1)
          to label %366 unwind label %517

366:                                              ; preds = %365
  call void @llvm.lifetime.start.p0(i64 32, ptr %52) #11
  invoke void @_ZN6TensorC2E10MemoryType(ptr noundef nonnull align 8 dereferenceable(32) %52, i32 noundef 1)
          to label %367 unwind label %521

367:                                              ; preds = %366
  call void @llvm.lifetime.start.p0(i64 32, ptr %53) #11
  invoke void @_ZN6TensorC2E10MemoryType(ptr noundef nonnull align 8 dereferenceable(32) %53, i32 noundef 1)
          to label %368 unwind label %525

368:                                              ; preds = %367
  call void @llvm.lifetime.start.p0(i64 32, ptr %54) #11
  invoke void @_ZN6TensorC2E10MemoryType(ptr noundef nonnull align 8 dereferenceable(32) %54, i32 noundef 1)
          to label %369 unwind label %529

369:                                              ; preds = %368
  call void @llvm.lifetime.start.p0(i64 32, ptr %55) #11
  invoke void @_ZN6TensorC2E10MemoryType(ptr noundef nonnull align 8 dereferenceable(32) %55, i32 noundef 1)
          to label %370 unwind label %533

370:                                              ; preds = %369
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %56, ptr align 4 %28, i64 92, i1 false), !tbaa.struct !18
  invoke void @_ZN6Tensor6resizeE10TensorDesc(ptr noundef nonnull align 8 dereferenceable(32) %47, ptr noundef byval(%struct.TensorDesc) align 8 %56)
          to label %371 unwind label %537

371:                                              ; preds = %370
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %57, ptr align 4 %28, i64 92, i1 false), !tbaa.struct !18
  invoke void @_ZN6Tensor6resizeE10TensorDesc(ptr noundef nonnull align 8 dereferenceable(32) %48, ptr noundef byval(%struct.TensorDesc) align 8 %57)
          to label %372 unwind label %537

372:                                              ; preds = %371
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %58, ptr align 4 %29, i64 92, i1 false), !tbaa.struct !18
  invoke void @_ZN6Tensor6resizeE10TensorDesc(ptr noundef nonnull align 8 dereferenceable(32) %51, ptr noundef byval(%struct.TensorDesc) align 8 %58)
          to label %373 unwind label %537

373:                                              ; preds = %372
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %59, ptr align 4 %29, i64 92, i1 false), !tbaa.struct !18
  invoke void @_ZN6Tensor6resizeE10TensorDesc(ptr noundef nonnull align 8 dereferenceable(32) %52, ptr noundef byval(%struct.TensorDesc) align 8 %59)
          to label %374 unwind label %537

374:                                              ; preds = %373
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %60, ptr align 4 %32, i64 92, i1 false), !tbaa.struct !18
  invoke void @_ZN6Tensor6resizeE10TensorDesc(ptr noundef nonnull align 8 dereferenceable(32) %55, ptr noundef byval(%struct.TensorDesc) align 8 %60)
          to label %375 unwind label %537

375:                                              ; preds = %374
  invoke void @_ZN6Tensor5allocEv(ptr noundef nonnull align 8 dereferenceable(32) %47)
          to label %376 unwind label %537

376:                                              ; preds = %375
  invoke void @_ZN6Tensor5allocEv(ptr noundef nonnull align 8 dereferenceable(32) %48)
          to label %377 unwind label %537

377:                                              ; preds = %376
  invoke void @_ZN6Tensor5allocEv(ptr noundef nonnull align 8 dereferenceable(32) %51)
          to label %378 unwind label %537

378:                                              ; preds = %377
  invoke void @_ZN6Tensor5allocEv(ptr noundef nonnull align 8 dereferenceable(32) %52)
          to label %379 unwind label %537

379:                                              ; preds = %378
  invoke void @_ZN6Tensor5allocEv(ptr noundef nonnull align 8 dereferenceable(32) %55)
          to label %380 unwind label %537

380:                                              ; preds = %379
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %61, ptr noundef nonnull align 8 dereferenceable(32) %47) #11
  %381 = invoke noundef ptr @_Z19get_ptr_from_tensor6Tensor4Arch(ptr noundef %61, i32 noundef 1)
          to label %382 unwind label %541

382:                                              ; preds = %380
  %383 = load ptr, ptr %44, align 8, !tbaa !9
  %384 = load i32, ptr %8, align 4, !tbaa !13
  %385 = invoke noundef i32 @_Z7bytesOf8DataType(i32 noundef %384)
          to label %386 unwind label %541

386:                                              ; preds = %382
  %387 = load i32, ptr %10, align 4, !tbaa !5
  %388 = mul i32 %385, %387
  %389 = load i32, ptr %11, align 4, !tbaa !5
  %390 = mul i32 %388, %389
  %391 = load i32, ptr %12, align 4, !tbaa !5
  %392 = mul i32 %390, %391
  %393 = load i32, ptr %13, align 4, !tbaa !5
  %394 = mul i32 %392, %393
  %395 = zext i32 %394 to i64
  invoke void @_Z10UNI_MEMCPYPvPKvm(ptr noundef %381, ptr noundef %383, i64 noundef %395)
          to label %396 unwind label %541

396:                                              ; preds = %386
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #11
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %62, ptr noundef nonnull align 8 dereferenceable(32) %48) #11
  %397 = invoke noundef ptr @_Z19get_ptr_from_tensor6Tensor4Arch(ptr noundef %62, i32 noundef 1)
          to label %398 unwind label %545

398:                                              ; preds = %396
  %399 = load ptr, ptr %44, align 8, !tbaa !9
  %400 = load i32, ptr %8, align 4, !tbaa !13
  %401 = invoke noundef i32 @_Z7bytesOf8DataType(i32 noundef %400)
          to label %402 unwind label %545

402:                                              ; preds = %398
  %403 = load i32, ptr %10, align 4, !tbaa !5
  %404 = mul i32 %401, %403
  %405 = load i32, ptr %11, align 4, !tbaa !5
  %406 = mul i32 %404, %405
  %407 = load i32, ptr %12, align 4, !tbaa !5
  %408 = mul i32 %406, %407
  %409 = load i32, ptr %13, align 4, !tbaa !5
  %410 = mul i32 %408, %409
  %411 = zext i32 %410 to i64
  invoke void @_Z10UNI_MEMCPYPvPKvm(ptr noundef %397, ptr noundef %399, i64 noundef %411)
          to label %412 unwind label %545

412:                                              ; preds = %402
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #11
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %63, ptr noundef nonnull align 8 dereferenceable(32) %51) #11
  %413 = invoke noundef ptr @_Z19get_ptr_from_tensor6Tensor4Arch(ptr noundef %63, i32 noundef 1)
          to label %414 unwind label %549

414:                                              ; preds = %412
  %415 = load ptr, ptr %40, align 8, !tbaa !9
  %416 = load i32, ptr %8, align 4, !tbaa !13
  %417 = invoke noundef i32 @_Z7bytesOf8DataType(i32 noundef %416)
          to label %418 unwind label %549

418:                                              ; preds = %414
  %419 = mul i32 %417, 1
  %420 = load i32, ptr %11, align 4, !tbaa !5
  %421 = mul i32 %419, %420
  %422 = load i32, ptr %16, align 4, !tbaa !5
  %423 = mul i32 %421, %422
  %424 = load i32, ptr %17, align 4, !tbaa !5
  %425 = mul i32 %423, %424
  %426 = zext i32 %425 to i64
  invoke void @_Z10UNI_MEMCPYPvPKvm(ptr noundef %413, ptr noundef %415, i64 noundef %426)
          to label %427 unwind label %549

427:                                              ; preds = %418
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #11
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %64, ptr noundef nonnull align 8 dereferenceable(32) %52) #11
  %428 = invoke noundef ptr @_Z19get_ptr_from_tensor6Tensor4Arch(ptr noundef %64, i32 noundef 1)
          to label %429 unwind label %553

429:                                              ; preds = %427
  %430 = load ptr, ptr %40, align 8, !tbaa !9
  %431 = load i32, ptr %8, align 4, !tbaa !13
  %432 = invoke noundef i32 @_Z7bytesOf8DataType(i32 noundef %431)
          to label %433 unwind label %553

433:                                              ; preds = %429
  %434 = mul i32 %432, 1
  %435 = load i32, ptr %11, align 4, !tbaa !5
  %436 = mul i32 %434, %435
  %437 = load i32, ptr %16, align 4, !tbaa !5
  %438 = mul i32 %436, %437
  %439 = load i32, ptr %17, align 4, !tbaa !5
  %440 = mul i32 %438, %439
  %441 = zext i32 %440 to i64
  invoke void @_Z10UNI_MEMCPYPvPKvm(ptr noundef %428, ptr noundef %430, i64 noundef %441)
          to label %442 unwind label %553

442:                                              ; preds = %433
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #11
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %65, ptr noundef nonnull align 8 dereferenceable(32) %55) #11
  %443 = invoke noundef ptr @_Z19get_ptr_from_tensor6Tensor4Arch(ptr noundef %65, i32 noundef 1)
          to label %444 unwind label %557

444:                                              ; preds = %442
  %445 = load ptr, ptr %41, align 8, !tbaa !9
  %446 = load i32, ptr %8, align 4, !tbaa !13
  %447 = invoke noundef i32 @_Z7bytesOf8DataType(i32 noundef %446)
          to label %448 unwind label %557

448:                                              ; preds = %444
  %449 = load i32, ptr %11, align 4, !tbaa !5
  %450 = mul i32 %447, %449
  %451 = zext i32 %450 to i64
  invoke void @_Z10UNI_MEMCPYPvPKvm(ptr noundef %443, ptr noundef %445, i64 noundef %451)
          to label %452 unwind label %557

452:                                              ; preds = %448
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #11
  call void @llvm.lifetime.start.p0(i64 32, ptr %66) #11
  invoke void @_ZN6TensorC2E10MemoryType(ptr noundef nonnull align 8 dereferenceable(32) %66, i32 noundef 1)
          to label %453 unwind label %561

453:                                              ; preds = %452
  call void @llvm.lifetime.start.p0(i64 32, ptr %67) #11
  invoke void @_ZN6TensorC2E10MemoryType(ptr noundef nonnull align 8 dereferenceable(32) %67, i32 noundef 1)
          to label %454 unwind label %565

454:                                              ; preds = %453
  call void @llvm.lifetime.start.p0(i64 32, ptr %68) #11
  invoke void @_ZN6TensorC2E10MemoryType(ptr noundef nonnull align 8 dereferenceable(32) %68, i32 noundef 1)
          to label %455 unwind label %569

455:                                              ; preds = %454
  %456 = load i8, ptr %7, align 1, !tbaa !11, !range !22, !noundef !23
  %457 = trunc i8 %456 to i1
  br i1 %457, label %458, label %589

458:                                              ; preds = %455
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %69, ptr align 4 %30, i64 92, i1 false), !tbaa.struct !18
  %459 = invoke noundef i32 @_Z17tensorNumElements10TensorDesc(ptr noundef byval(%struct.TensorDesc) align 8 %69)
          to label %460 unwind label %573

460:                                              ; preds = %458
  %461 = load i32, ptr %8, align 4, !tbaa !13
  %462 = invoke noundef ptr @_Z10ut_input_vj8DataType14UT_RANDOM_TYPE(i32 noundef %459, i32 noundef %461, i32 noundef 0)
          to label %463 unwind label %573

463:                                              ; preds = %460
  store ptr %462, ptr %42, align 8, !tbaa !9
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %70, ptr align 4 %33, i64 92, i1 false), !tbaa.struct !18
  %464 = invoke noundef i32 @_Z17tensorNumElements10TensorDesc(ptr noundef byval(%struct.TensorDesc) align 8 %70)
          to label %465 unwind label %573

465:                                              ; preds = %463
  %466 = load i32, ptr %8, align 4, !tbaa !13
  %467 = invoke noundef ptr @_Z10ut_input_vj8DataType14UT_RANDOM_TYPE(i32 noundef %464, i32 noundef %466, i32 noundef 0)
          to label %468 unwind label %573

468:                                              ; preds = %465
  store ptr %467, ptr %43, align 8, !tbaa !9
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %71, ptr align 4 %30, i64 92, i1 false), !tbaa.struct !18
  invoke void @_ZN6Tensor6resizeE10TensorDesc(ptr noundef nonnull align 8 dereferenceable(32) %66, ptr noundef byval(%struct.TensorDesc) align 8 %71)
          to label %469 unwind label %573

469:                                              ; preds = %468
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %72, ptr align 4 %30, i64 92, i1 false), !tbaa.struct !18
  invoke void @_ZN6Tensor6resizeE10TensorDesc(ptr noundef nonnull align 8 dereferenceable(32) %67, ptr noundef byval(%struct.TensorDesc) align 8 %72)
          to label %470 unwind label %573

470:                                              ; preds = %469
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %73, ptr align 4 %33, i64 92, i1 false), !tbaa.struct !18
  invoke void @_ZN6Tensor6resizeE10TensorDesc(ptr noundef nonnull align 8 dereferenceable(32) %68, ptr noundef byval(%struct.TensorDesc) align 8 %73)
          to label %471 unwind label %573

471:                                              ; preds = %470
  invoke void @_ZN6Tensor5allocEv(ptr noundef nonnull align 8 dereferenceable(32) %66)
          to label %472 unwind label %573

472:                                              ; preds = %471
  invoke void @_ZN6Tensor5allocEv(ptr noundef nonnull align 8 dereferenceable(32) %67)
          to label %473 unwind label %573

473:                                              ; preds = %472
  invoke void @_ZN6Tensor5allocEv(ptr noundef nonnull align 8 dereferenceable(32) %68)
          to label %474 unwind label %573

474:                                              ; preds = %473
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %74, ptr noundef nonnull align 8 dereferenceable(32) %66) #11
  %475 = invoke noundef ptr @_Z19get_ptr_from_tensor6Tensor4Arch(ptr noundef %74, i32 noundef 1)
          to label %476 unwind label %577

476:                                              ; preds = %474
  %477 = load ptr, ptr %42, align 8, !tbaa !9
  %478 = load i32, ptr %8, align 4, !tbaa !13
  %479 = invoke noundef i32 @_Z7bytesOf8DataType(i32 noundef %478)
          to label %480 unwind label %577

480:                                              ; preds = %476
  %481 = load i32, ptr %22, align 4, !tbaa !5
  %482 = mul i32 %479, %481
  %483 = load i32, ptr %11, align 4, !tbaa !5
  %484 = mul i32 %482, %483
  %485 = mul i32 %484, 1
  %486 = mul i32 %485, 1
  %487 = zext i32 %486 to i64
  invoke void @_Z10UNI_MEMCPYPvPKvm(ptr noundef %475, ptr noundef %477, i64 noundef %487)
          to label %488 unwind label %577

488:                                              ; preds = %480
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %74) #11
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %75, ptr noundef nonnull align 8 dereferenceable(32) %67) #11
  %489 = invoke noundef ptr @_Z19get_ptr_from_tensor6Tensor4Arch(ptr noundef %75, i32 noundef 1)
          to label %490 unwind label %581

490:                                              ; preds = %488
  %491 = load ptr, ptr %42, align 8, !tbaa !9
  %492 = load i32, ptr %8, align 4, !tbaa !13
  %493 = invoke noundef i32 @_Z7bytesOf8DataType(i32 noundef %492)
          to label %494 unwind label %581

494:                                              ; preds = %490
  %495 = load i32, ptr %22, align 4, !tbaa !5
  %496 = mul i32 %493, %495
  %497 = load i32, ptr %11, align 4, !tbaa !5
  %498 = mul i32 %496, %497
  %499 = mul i32 %498, 1
  %500 = mul i32 %499, 1
  %501 = zext i32 %500 to i64
  invoke void @_Z10UNI_MEMCPYPvPKvm(ptr noundef %489, ptr noundef %491, i64 noundef %501)
          to label %502 unwind label %581

502:                                              ; preds = %494
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #11
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %76, ptr noundef nonnull align 8 dereferenceable(32) %68) #11
  %503 = invoke noundef ptr @_Z19get_ptr_from_tensor6Tensor4Arch(ptr noundef %76, i32 noundef 1)
          to label %504 unwind label %585

504:                                              ; preds = %502
  %505 = load ptr, ptr %43, align 8, !tbaa !9
  %506 = load i32, ptr %8, align 4, !tbaa !13
  %507 = invoke noundef i32 @_Z7bytesOf8DataType(i32 noundef %506)
          to label %508 unwind label %585

508:                                              ; preds = %504
  %509 = load i32, ptr %22, align 4, !tbaa !5
  %510 = mul i32 %507, %509
  %511 = zext i32 %510 to i64
  invoke void @_Z10UNI_MEMCPYPvPKvm(ptr noundef %503, ptr noundef %505, i64 noundef %511)
          to label %512 unwind label %585

512:                                              ; preds = %508
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %76) #11
  br label %589

513:                                              ; preds = %339
  %514 = landingpad { ptr, i32 }
          cleanup
  %515 = extractvalue { ptr, i32 } %514, 0
  store ptr %515, ptr %49, align 8
  %516 = extractvalue { ptr, i32 } %514, 1
  store i32 %516, ptr %50, align 4
  br label %1453

517:                                              ; preds = %365
  %518 = landingpad { ptr, i32 }
          cleanup
  %519 = extractvalue { ptr, i32 } %518, 0
  store ptr %519, ptr %49, align 8
  %520 = extractvalue { ptr, i32 } %518, 1
  store i32 %520, ptr %50, align 4
  br label %1452

521:                                              ; preds = %366
  %522 = landingpad { ptr, i32 }
          cleanup
  %523 = extractvalue { ptr, i32 } %522, 0
  store ptr %523, ptr %49, align 8
  %524 = extractvalue { ptr, i32 } %522, 1
  store i32 %524, ptr %50, align 4
  br label %1451

525:                                              ; preds = %367
  %526 = landingpad { ptr, i32 }
          cleanup
  %527 = extractvalue { ptr, i32 } %526, 0
  store ptr %527, ptr %49, align 8
  %528 = extractvalue { ptr, i32 } %526, 1
  store i32 %528, ptr %50, align 4
  br label %1450

529:                                              ; preds = %368
  %530 = landingpad { ptr, i32 }
          cleanup
  %531 = extractvalue { ptr, i32 } %530, 0
  store ptr %531, ptr %49, align 8
  %532 = extractvalue { ptr, i32 } %530, 1
  store i32 %532, ptr %50, align 4
  br label %1449

533:                                              ; preds = %369
  %534 = landingpad { ptr, i32 }
          cleanup
  %535 = extractvalue { ptr, i32 } %534, 0
  store ptr %535, ptr %49, align 8
  %536 = extractvalue { ptr, i32 } %534, 1
  store i32 %536, ptr %50, align 4
  br label %1448

537:                                              ; preds = %379, %378, %377, %376, %375, %374, %373, %372, %371, %370
  %538 = landingpad { ptr, i32 }
          cleanup
  %539 = extractvalue { ptr, i32 } %538, 0
  store ptr %539, ptr %49, align 8
  %540 = extractvalue { ptr, i32 } %538, 1
  store i32 %540, ptr %50, align 4
  br label %1447

541:                                              ; preds = %386, %382, %380
  %542 = landingpad { ptr, i32 }
          cleanup
  %543 = extractvalue { ptr, i32 } %542, 0
  store ptr %543, ptr %49, align 8
  %544 = extractvalue { ptr, i32 } %542, 1
  store i32 %544, ptr %50, align 4
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #11
  br label %1447

545:                                              ; preds = %402, %398, %396
  %546 = landingpad { ptr, i32 }
          cleanup
  %547 = extractvalue { ptr, i32 } %546, 0
  store ptr %547, ptr %49, align 8
  %548 = extractvalue { ptr, i32 } %546, 1
  store i32 %548, ptr %50, align 4
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #11
  br label %1447

549:                                              ; preds = %418, %414, %412
  %550 = landingpad { ptr, i32 }
          cleanup
  %551 = extractvalue { ptr, i32 } %550, 0
  store ptr %551, ptr %49, align 8
  %552 = extractvalue { ptr, i32 } %550, 1
  store i32 %552, ptr %50, align 4
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #11
  br label %1447

553:                                              ; preds = %433, %429, %427
  %554 = landingpad { ptr, i32 }
          cleanup
  %555 = extractvalue { ptr, i32 } %554, 0
  store ptr %555, ptr %49, align 8
  %556 = extractvalue { ptr, i32 } %554, 1
  store i32 %556, ptr %50, align 4
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #11
  br label %1447

557:                                              ; preds = %448, %444, %442
  %558 = landingpad { ptr, i32 }
          cleanup
  %559 = extractvalue { ptr, i32 } %558, 0
  store ptr %559, ptr %49, align 8
  %560 = extractvalue { ptr, i32 } %558, 1
  store i32 %560, ptr %50, align 4
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #11
  br label %1447

561:                                              ; preds = %452
  %562 = landingpad { ptr, i32 }
          cleanup
  %563 = extractvalue { ptr, i32 } %562, 0
  store ptr %563, ptr %49, align 8
  %564 = extractvalue { ptr, i32 } %562, 1
  store i32 %564, ptr %50, align 4
  br label %1446

565:                                              ; preds = %453
  %566 = landingpad { ptr, i32 }
          cleanup
  %567 = extractvalue { ptr, i32 } %566, 0
  store ptr %567, ptr %49, align 8
  %568 = extractvalue { ptr, i32 } %566, 1
  store i32 %568, ptr %50, align 4
  br label %1445

569:                                              ; preds = %454
  %570 = landingpad { ptr, i32 }
          cleanup
  %571 = extractvalue { ptr, i32 } %570, 0
  store ptr %571, ptr %49, align 8
  %572 = extractvalue { ptr, i32 } %570, 1
  store i32 %572, ptr %50, align 4
  br label %1444

573:                                              ; preds = %473, %472, %471, %470, %469, %468, %465, %463, %460, %458
  %574 = landingpad { ptr, i32 }
          cleanup
  %575 = extractvalue { ptr, i32 } %574, 0
  store ptr %575, ptr %49, align 8
  %576 = extractvalue { ptr, i32 } %574, 1
  store i32 %576, ptr %50, align 4
  br label %1443

577:                                              ; preds = %480, %476, %474
  %578 = landingpad { ptr, i32 }
          cleanup
  %579 = extractvalue { ptr, i32 } %578, 0
  store ptr %579, ptr %49, align 8
  %580 = extractvalue { ptr, i32 } %578, 1
  store i32 %580, ptr %50, align 4
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %74) #11
  br label %1443

581:                                              ; preds = %494, %490, %488
  %582 = landingpad { ptr, i32 }
          cleanup
  %583 = extractvalue { ptr, i32 } %582, 0
  store ptr %583, ptr %49, align 8
  %584 = extractvalue { ptr, i32 } %582, 1
  store i32 %584, ptr %50, align 4
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #11
  br label %1443

585:                                              ; preds = %508, %504, %502
  %586 = landingpad { ptr, i32 }
          cleanup
  %587 = extractvalue { ptr, i32 } %586, 0
  store ptr %587, ptr %49, align 8
  %588 = extractvalue { ptr, i32 } %586, 1
  store i32 %588, ptr %50, align 4
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %76) #11
  br label %1443

589:                                              ; preds = %512, %455
  %590 = load i8, ptr %7, align 1, !tbaa !11, !range !22, !noundef !23
  %591 = trunc i8 %590 to i1
  br i1 %591, label %592, label %625

592:                                              ; preds = %589
  call void @llvm.lifetime.start.p0(i64 4, ptr %77) #11
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %78, ptr noundef nonnull align 8 dereferenceable(32) %51) #11
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %79, ptr noundef nonnull align 8 dereferenceable(32) %66) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %80, ptr align 4 %39, i64 108, i1 false), !tbaa.struct !24
  %593 = load i32, ptr %8, align 4, !tbaa !13
  %594 = invoke noundef i32 @_Z49depthwise_pointwise_convolution_infer_output_sizeP6TensorS_S_20ConvolutionParamSpecS0_8DataTypeP8ArchInfo(ptr noundef %47, ptr noundef %78, ptr noundef %79, ptr noundef byval(%struct.ConvolutionParamSpec) align 8 %80, ptr noundef %53, i32 noundef %593, ptr noundef @_ZL15UT_CPU_ARCHINFO)
          to label %595 unwind label %615

595:                                              ; preds = %592
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %78) #11
  store i32 %594, ptr %77, align 4, !tbaa !30
  %596 = load i32, ptr %77, align 4, !tbaa !30
  %597 = icmp ne i32 %596, 0
  br i1 %597, label %598, label %623

598:                                              ; preds = %595
  call void @llvm.lifetime.start.p0(i64 4, ptr %81) #11
  %599 = call i64 (i64, ...) @syscall(i64 noundef 186) #11
  %600 = trunc i64 %599 to i32
  store i32 %600, ptr %81, align 4, !tbaa !5
  %601 = load i32, ptr %81, align 4, !tbaa !5
  %602 = invoke i32 (ptr, ...) @printf(ptr noundef @.str, i32 noundef %601)
          to label %603 unwind label %619

603:                                              ; preds = %598
  %604 = load ptr, ptr @stdout, align 8, !tbaa !9
  %605 = invoke i32 @fflush(ptr noundef %604)
          to label %606 unwind label %619

606:                                              ; preds = %603
  %607 = load i32, ptr %77, align 4, !tbaa !30
  %608 = invoke ptr @ee2str(i32 noundef %607)
          to label %609 unwind label %619

609:                                              ; preds = %606
  %610 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.2, ptr noundef %608)
          to label %611 unwind label %619

611:                                              ; preds = %609
  %612 = load ptr, ptr @stdout, align 8, !tbaa !9
  %613 = invoke i32 @fflush(ptr noundef %612)
          to label %614 unwind label %619

614:                                              ; preds = %611
  call void @exit(i32 noundef 1) #12
  unreachable

615:                                              ; preds = %592
  %616 = landingpad { ptr, i32 }
          cleanup
  %617 = extractvalue { ptr, i32 } %616, 0
  store ptr %617, ptr %49, align 8
  %618 = extractvalue { ptr, i32 } %616, 1
  store i32 %618, ptr %50, align 4
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %78) #11
  br label %624

619:                                              ; preds = %611, %609, %606, %603, %598
  %620 = landingpad { ptr, i32 }
          cleanup
  %621 = extractvalue { ptr, i32 } %620, 0
  store ptr %621, ptr %49, align 8
  %622 = extractvalue { ptr, i32 } %620, 1
  store i32 %622, ptr %50, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %81) #11
  br label %624

623:                                              ; preds = %595
  call void @llvm.lifetime.end.p0(i64 4, ptr %77) #11
  br label %658

624:                                              ; preds = %619, %615
  call void @llvm.lifetime.end.p0(i64 4, ptr %77) #11
  br label %1443

625:                                              ; preds = %589
  call void @llvm.lifetime.start.p0(i64 4, ptr %82) #11
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %83, ptr noundef nonnull align 8 dereferenceable(32) %51) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %84, ptr align 4 %39, i64 108, i1 false), !tbaa.struct !24
  %626 = load i32, ptr %8, align 4, !tbaa !13
  %627 = invoke noundef i32 @_Z39depthwise_convolution_infer_output_sizeP6TensorS_20ConvolutionParamSpecS0_8DataTypeP8ArchInfo(ptr noundef %47, ptr noundef %83, ptr noundef byval(%struct.ConvolutionParamSpec) align 8 %84, ptr noundef %53, i32 noundef %626, ptr noundef @_ZL15UT_CPU_ARCHINFO)
          to label %628 unwind label %648

628:                                              ; preds = %625
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %83) #11
  store i32 %627, ptr %82, align 4, !tbaa !30
  %629 = load i32, ptr %82, align 4, !tbaa !30
  %630 = icmp ne i32 %629, 0
  br i1 %630, label %631, label %656

631:                                              ; preds = %628
  call void @llvm.lifetime.start.p0(i64 4, ptr %85) #11
  %632 = call i64 (i64, ...) @syscall(i64 noundef 186) #11
  %633 = trunc i64 %632 to i32
  store i32 %633, ptr %85, align 4, !tbaa !5
  %634 = load i32, ptr %85, align 4, !tbaa !5
  %635 = invoke i32 (ptr, ...) @printf(ptr noundef @.str, i32 noundef %634)
          to label %636 unwind label %652

636:                                              ; preds = %631
  %637 = load ptr, ptr @stdout, align 8, !tbaa !9
  %638 = invoke i32 @fflush(ptr noundef %637)
          to label %639 unwind label %652

639:                                              ; preds = %636
  %640 = load i32, ptr %82, align 4, !tbaa !30
  %641 = invoke ptr @ee2str(i32 noundef %640)
          to label %642 unwind label %652

642:                                              ; preds = %639
  %643 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.2, ptr noundef %641)
          to label %644 unwind label %652

644:                                              ; preds = %642
  %645 = load ptr, ptr @stdout, align 8, !tbaa !9
  %646 = invoke i32 @fflush(ptr noundef %645)
          to label %647 unwind label %652

647:                                              ; preds = %644
  call void @exit(i32 noundef 1) #12
  unreachable

648:                                              ; preds = %625
  %649 = landingpad { ptr, i32 }
          cleanup
  %650 = extractvalue { ptr, i32 } %649, 0
  store ptr %650, ptr %49, align 8
  %651 = extractvalue { ptr, i32 } %649, 1
  store i32 %651, ptr %50, align 4
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %83) #11
  br label %657

652:                                              ; preds = %644, %642, %639, %636, %631
  %653 = landingpad { ptr, i32 }
          cleanup
  %654 = extractvalue { ptr, i32 } %653, 0
  store ptr %654, ptr %49, align 8
  %655 = extractvalue { ptr, i32 } %653, 1
  store i32 %655, ptr %50, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #11
  br label %657

656:                                              ; preds = %628
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #11
  br label %658

657:                                              ; preds = %652, %648
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #11
  br label %1443

658:                                              ; preds = %656, %623
  call void @llvm.lifetime.start.p0(i64 4, ptr %86) #11
  call void @llvm.lifetime.start.p0(i64 4, ptr %87) #11
  call void @llvm.lifetime.start.p0(i64 4, ptr %88) #11
  invoke void @_ZN6Tensor8get_descEv(ptr dead_on_unwind writable sret(%struct.TensorDesc) align 4 %89, ptr noundef nonnull align 8 dereferenceable(32) %53)
          to label %659 unwind label %681

659:                                              ; preds = %658
  %660 = invoke noundef i32 @_Z11tensor4dGet10TensorDescP8DataTypeP10DataFormatPjS4_S4_S4_(ptr noundef byval(%struct.TensorDesc) align 8 %89, ptr noundef %86, ptr noundef %87, ptr noundef %21, ptr noundef %22, ptr noundef %23, ptr noundef %24)
          to label %661 unwind label %681

661:                                              ; preds = %659
  store i32 %660, ptr %88, align 4, !tbaa !30
  %662 = load i32, ptr %88, align 4, !tbaa !30
  %663 = icmp ne i32 %662, 0
  br i1 %663, label %664, label %689

664:                                              ; preds = %661
  call void @llvm.lifetime.start.p0(i64 4, ptr %90) #11
  %665 = call i64 (i64, ...) @syscall(i64 noundef 186) #11
  %666 = trunc i64 %665 to i32
  store i32 %666, ptr %90, align 4, !tbaa !5
  %667 = load i32, ptr %90, align 4, !tbaa !5
  %668 = invoke i32 (ptr, ...) @printf(ptr noundef @.str, i32 noundef %667)
          to label %669 unwind label %685

669:                                              ; preds = %664
  %670 = load ptr, ptr @stdout, align 8, !tbaa !9
  %671 = invoke i32 @fflush(ptr noundef %670)
          to label %672 unwind label %685

672:                                              ; preds = %669
  %673 = load i32, ptr %88, align 4, !tbaa !30
  %674 = invoke ptr @ee2str(i32 noundef %673)
          to label %675 unwind label %685

675:                                              ; preds = %672
  %676 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.2, ptr noundef %674)
          to label %677 unwind label %685

677:                                              ; preds = %675
  %678 = load ptr, ptr @stdout, align 8, !tbaa !9
  %679 = invoke i32 @fflush(ptr noundef %678)
          to label %680 unwind label %685

680:                                              ; preds = %677
  call void @exit(i32 noundef 1) #12
  unreachable

681:                                              ; preds = %659, %658
  %682 = landingpad { ptr, i32 }
          cleanup
  %683 = extractvalue { ptr, i32 } %682, 0
  store ptr %683, ptr %49, align 8
  %684 = extractvalue { ptr, i32 } %682, 1
  store i32 %684, ptr %50, align 4
  br label %720

685:                                              ; preds = %677, %675, %672, %669, %664
  %686 = landingpad { ptr, i32 }
          cleanup
  %687 = extractvalue { ptr, i32 } %686, 0
  store ptr %687, ptr %49, align 8
  %688 = extractvalue { ptr, i32 } %686, 1
  store i32 %688, ptr %50, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %90) #11
  br label %720

689:                                              ; preds = %661
  call void @llvm.lifetime.end.p0(i64 4, ptr %88) #11
  invoke void @_ZN6Tensor5allocEv(ptr noundef nonnull align 8 dereferenceable(32) %53)
          to label %690 unwind label %721

690:                                              ; preds = %689
  invoke void @_ZN6Tensor8get_descEv(ptr dead_on_unwind writable sret(%struct.TensorDesc) align 4 %91, ptr noundef nonnull align 8 dereferenceable(32) %53)
          to label %691 unwind label %721

691:                                              ; preds = %690
  invoke void @_ZN6Tensor6resizeE10TensorDesc(ptr noundef nonnull align 8 dereferenceable(32) %54, ptr noundef byval(%struct.TensorDesc) align 8 %91)
          to label %692 unwind label %721

692:                                              ; preds = %691
  invoke void @_ZN6Tensor5allocEv(ptr noundef nonnull align 8 dereferenceable(32) %54)
          to label %693 unwind label %721

693:                                              ; preds = %692
  call void @llvm.lifetime.start.p0(i64 4, ptr %92) #11
  store i32 1, ptr %92, align 4, !tbaa !32
  call void @llvm.lifetime.start.p0(i64 4, ptr %93) #11
  store i32 5, ptr %93, align 4, !tbaa !34
  %694 = load i8, ptr %7, align 1, !tbaa !11, !range !22, !noundef !23
  %695 = trunc i8 %694 to i1
  br i1 %695, label %696, label %735

696:                                              ; preds = %693
  call void @llvm.lifetime.start.p0(i64 4, ptr %94) #11
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %95, ptr noundef nonnull align 8 dereferenceable(32) %47) #11
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %96, ptr noundef nonnull align 8 dereferenceable(32) %51) #11
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %97, ptr noundef nonnull align 8 dereferenceable(32) %66) #11
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %98, ptr noundef nonnull align 8 dereferenceable(32) %53) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %99, ptr align 4 %39, i64 108, i1 false), !tbaa.struct !24
  %697 = load i32, ptr %92, align 4, !tbaa !32
  %698 = load i32, ptr %8, align 4, !tbaa !13
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %100, ptr align 4 %26, i64 20, i1 false), !tbaa.struct !36
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %101, ptr align 4 %27, i64 20, i1 false), !tbaa.struct !36
  %699 = invoke noundef i32 @_Z55depthwise_pointwise_convolution_infer_forward_algorithm6TensorS_S_S_20ConvolutionParamSpec17ConvolutionPolicyP36DepthwiseConvolutionForwardAlgorithm8DataType19ActivationParamSpecS5_P8ArchInfo(ptr noundef %95, ptr noundef %96, ptr noundef %97, ptr noundef %98, ptr noundef byval(%struct.ConvolutionParamSpec) align 8 %99, i32 noundef %697, ptr noundef %93, i32 noundef %698, ptr noundef byval(%struct.ActivationParamSpec) align 8 %100, ptr noundef byval(%struct.ActivationParamSpec) align 8 %101, ptr noundef @_ZL15UT_CPU_ARCHINFO)
          to label %700 unwind label %725

700:                                              ; preds = %696
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %98) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %97) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %96) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %95) #11
  store i32 %699, ptr %94, align 4, !tbaa !30
  %701 = load i32, ptr %94, align 4, !tbaa !30
  %702 = icmp ne i32 %701, 0
  br i1 %702, label %703, label %733

703:                                              ; preds = %700
  call void @llvm.lifetime.start.p0(i64 4, ptr %102) #11
  %704 = call i64 (i64, ...) @syscall(i64 noundef 186) #11
  %705 = trunc i64 %704 to i32
  store i32 %705, ptr %102, align 4, !tbaa !5
  %706 = load i32, ptr %102, align 4, !tbaa !5
  %707 = invoke i32 (ptr, ...) @printf(ptr noundef @.str, i32 noundef %706)
          to label %708 unwind label %729

708:                                              ; preds = %703
  %709 = load ptr, ptr @stdout, align 8, !tbaa !9
  %710 = invoke i32 @fflush(ptr noundef %709)
          to label %711 unwind label %729

711:                                              ; preds = %708
  %712 = load i32, ptr %94, align 4, !tbaa !30
  %713 = invoke ptr @ee2str(i32 noundef %712)
          to label %714 unwind label %729

714:                                              ; preds = %711
  %715 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.2, ptr noundef %713)
          to label %716 unwind label %729

716:                                              ; preds = %714
  %717 = load ptr, ptr @stdout, align 8, !tbaa !9
  %718 = invoke i32 @fflush(ptr noundef %717)
          to label %719 unwind label %729

719:                                              ; preds = %716
  call void @exit(i32 noundef 1) #12
  unreachable

720:                                              ; preds = %685, %681
  call void @llvm.lifetime.end.p0(i64 4, ptr %88) #11
  br label %1442

721:                                              ; preds = %692, %691, %690, %689
  %722 = landingpad { ptr, i32 }
          cleanup
  %723 = extractvalue { ptr, i32 } %722, 0
  store ptr %723, ptr %49, align 8
  %724 = extractvalue { ptr, i32 } %722, 1
  store i32 %724, ptr %50, align 4
  br label %1442

725:                                              ; preds = %696
  %726 = landingpad { ptr, i32 }
          cleanup
  %727 = extractvalue { ptr, i32 } %726, 0
  store ptr %727, ptr %49, align 8
  %728 = extractvalue { ptr, i32 } %726, 1
  store i32 %728, ptr %50, align 4
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %98) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %97) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %96) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %95) #11
  br label %734

729:                                              ; preds = %716, %714, %711, %708, %703
  %730 = landingpad { ptr, i32 }
          cleanup
  %731 = extractvalue { ptr, i32 } %730, 0
  store ptr %731, ptr %49, align 8
  %732 = extractvalue { ptr, i32 } %730, 1
  store i32 %732, ptr %50, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %102) #11
  br label %734

733:                                              ; preds = %700
  call void @llvm.lifetime.end.p0(i64 4, ptr %94) #11
  br label %769

734:                                              ; preds = %729, %725
  call void @llvm.lifetime.end.p0(i64 4, ptr %94) #11
  br label %1441

735:                                              ; preds = %693
  call void @llvm.lifetime.start.p0(i64 4, ptr %103) #11
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %104, ptr noundef nonnull align 8 dereferenceable(32) %47) #11
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %105, ptr noundef nonnull align 8 dereferenceable(32) %51) #11
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %106, ptr noundef nonnull align 8 dereferenceable(32) %53) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %107, ptr align 4 %39, i64 108, i1 false), !tbaa.struct !24
  %736 = load i32, ptr %92, align 4, !tbaa !32
  %737 = load i32, ptr %8, align 4, !tbaa !13
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %108, ptr align 4 %26, i64 20, i1 false), !tbaa.struct !36
  %738 = invoke noundef i32 @_Z45depthwise_convolution_infer_forward_algorithm6TensorS_S_20ConvolutionParamSpec17ConvolutionPolicyP36DepthwiseConvolutionForwardAlgorithm8DataType19ActivationParamSpecP8ArchInfo(ptr noundef %104, ptr noundef %105, ptr noundef %106, ptr noundef byval(%struct.ConvolutionParamSpec) align 8 %107, i32 noundef %736, ptr noundef %93, i32 noundef %737, ptr noundef byval(%struct.ActivationParamSpec) align 8 %108, ptr noundef @_ZL15UT_CPU_ARCHINFO)
          to label %739 unwind label %759

739:                                              ; preds = %735
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %106) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %105) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %104) #11
  store i32 %738, ptr %103, align 4, !tbaa !30
  %740 = load i32, ptr %103, align 4, !tbaa !30
  %741 = icmp ne i32 %740, 0
  br i1 %741, label %742, label %767

742:                                              ; preds = %739
  call void @llvm.lifetime.start.p0(i64 4, ptr %109) #11
  %743 = call i64 (i64, ...) @syscall(i64 noundef 186) #11
  %744 = trunc i64 %743 to i32
  store i32 %744, ptr %109, align 4, !tbaa !5
  %745 = load i32, ptr %109, align 4, !tbaa !5
  %746 = invoke i32 (ptr, ...) @printf(ptr noundef @.str, i32 noundef %745)
          to label %747 unwind label %763

747:                                              ; preds = %742
  %748 = load ptr, ptr @stdout, align 8, !tbaa !9
  %749 = invoke i32 @fflush(ptr noundef %748)
          to label %750 unwind label %763

750:                                              ; preds = %747
  %751 = load i32, ptr %103, align 4, !tbaa !30
  %752 = invoke ptr @ee2str(i32 noundef %751)
          to label %753 unwind label %763

753:                                              ; preds = %750
  %754 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.2, ptr noundef %752)
          to label %755 unwind label %763

755:                                              ; preds = %753
  %756 = load ptr, ptr @stdout, align 8, !tbaa !9
  %757 = invoke i32 @fflush(ptr noundef %756)
          to label %758 unwind label %763

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

759:                                              ; preds = %735
  %760 = landingpad { ptr, i32 }
          cleanup
  %761 = extractvalue { ptr, i32 } %760, 0
  store ptr %761, ptr %49, align 8
  %762 = extractvalue { ptr, i32 } %760, 1
  store i32 %762, ptr %50, align 4
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %106) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %105) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %104) #11
  br label %768

763:                                              ; preds = %755, %753, %750, %747, %742
  %764 = landingpad { ptr, i32 }
          cleanup
  %765 = extractvalue { ptr, i32 } %764, 0
  store ptr %765, ptr %49, align 8
  %766 = extractvalue { ptr, i32 } %764, 1
  store i32 %766, ptr %50, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %109) #11
  br label %768

767:                                              ; preds = %739
  call void @llvm.lifetime.end.p0(i64 4, ptr %103) #11
  br label %769

768:                                              ; preds = %763, %759
  call void @llvm.lifetime.end.p0(i64 4, ptr %103) #11
  br label %1441

769:                                              ; preds = %767, %733
  call void @llvm.lifetime.start.p0(i64 4, ptr %110) #11
  %770 = load i8, ptr %7, align 1, !tbaa !11, !range !22, !noundef !23
  %771 = trunc i8 %770 to i1
  br i1 %771, label %772, label %805

772:                                              ; preds = %769
  call void @llvm.lifetime.start.p0(i64 4, ptr %111) #11
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %112, ptr noundef nonnull align 8 dereferenceable(32) %47) #11
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %113, ptr noundef nonnull align 8 dereferenceable(32) %51) #11
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %114, ptr noundef nonnull align 8 dereferenceable(32) %66) #11
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %115, ptr noundef nonnull align 8 dereferenceable(32) %53) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %116, ptr align 4 %39, i64 108, i1 false), !tbaa.struct !24
  %773 = load i32, ptr %93, align 4, !tbaa !34
  %774 = invoke noundef i32 @_Z55depthwise_pointwise_convolution_infer_forward_tmp_bytes6TensorS_S_S_20ConvolutionParamSpec36DepthwiseConvolutionForwardAlgorithmPjP8ArchInfo(ptr noundef %112, ptr noundef %113, ptr noundef %114, ptr noundef %115, ptr noundef byval(%struct.ConvolutionParamSpec) align 8 %116, i32 noundef %773, ptr noundef %110, ptr noundef @_ZL15UT_CPU_ARCHINFO)
          to label %775 unwind label %795

775:                                              ; preds = %772
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %115) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %114) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %113) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %112) #11
  store i32 %774, ptr %111, align 4, !tbaa !30
  %776 = load i32, ptr %111, align 4, !tbaa !30
  %777 = icmp ne i32 %776, 0
  br i1 %777, label %778, label %803

778:                                              ; preds = %775
  call void @llvm.lifetime.start.p0(i64 4, ptr %117) #11
  %779 = call i64 (i64, ...) @syscall(i64 noundef 186) #11
  %780 = trunc i64 %779 to i32
  store i32 %780, ptr %117, align 4, !tbaa !5
  %781 = load i32, ptr %117, align 4, !tbaa !5
  %782 = invoke i32 (ptr, ...) @printf(ptr noundef @.str, i32 noundef %781)
          to label %783 unwind label %799

783:                                              ; preds = %778
  %784 = load ptr, ptr @stdout, align 8, !tbaa !9
  %785 = invoke i32 @fflush(ptr noundef %784)
          to label %786 unwind label %799

786:                                              ; preds = %783
  %787 = load i32, ptr %111, align 4, !tbaa !30
  %788 = invoke ptr @ee2str(i32 noundef %787)
          to label %789 unwind label %799

789:                                              ; preds = %786
  %790 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.2, ptr noundef %788)
          to label %791 unwind label %799

791:                                              ; preds = %789
  %792 = load ptr, ptr @stdout, align 8, !tbaa !9
  %793 = invoke i32 @fflush(ptr noundef %792)
          to label %794 unwind label %799

794:                                              ; preds = %791
  call void @exit(i32 noundef 1) #12
  unreachable

795:                                              ; preds = %772
  %796 = landingpad { ptr, i32 }
          cleanup
  %797 = extractvalue { ptr, i32 } %796, 0
  store ptr %797, ptr %49, align 8
  %798 = extractvalue { ptr, i32 } %796, 1
  store i32 %798, ptr %50, align 4
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %115) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %114) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %113) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %112) #11
  br label %804

799:                                              ; preds = %791, %789, %786, %783, %778
  %800 = landingpad { ptr, i32 }
          cleanup
  %801 = extractvalue { ptr, i32 } %800, 0
  store ptr %801, ptr %49, align 8
  %802 = extractvalue { ptr, i32 } %800, 1
  store i32 %802, ptr %50, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %117) #11
  br label %804

803:                                              ; preds = %775
  call void @llvm.lifetime.end.p0(i64 4, ptr %111) #11
  br label %838

804:                                              ; preds = %799, %795
  call void @llvm.lifetime.end.p0(i64 4, ptr %111) #11
  br label %1440

805:                                              ; preds = %769
  call void @llvm.lifetime.start.p0(i64 4, ptr %118) #11
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %119, ptr noundef nonnull align 8 dereferenceable(32) %47) #11
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %120, ptr noundef nonnull align 8 dereferenceable(32) %51) #11
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %121, ptr noundef nonnull align 8 dereferenceable(32) %53) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %122, ptr align 4 %39, i64 108, i1 false), !tbaa.struct !24
  %806 = load i32, ptr %93, align 4, !tbaa !34
  %807 = invoke noundef i32 @_Z45depthwise_convolution_infer_forward_tmp_bytes6TensorS_S_20ConvolutionParamSpec36DepthwiseConvolutionForwardAlgorithmPjP8ArchInfo(ptr noundef %119, ptr noundef %120, ptr noundef %121, ptr noundef byval(%struct.ConvolutionParamSpec) align 8 %122, i32 noundef %806, ptr noundef %110, ptr noundef @_ZL15UT_CPU_ARCHINFO)
          to label %808 unwind label %828

808:                                              ; preds = %805
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %121) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %120) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %119) #11
  store i32 %807, ptr %118, align 4, !tbaa !30
  %809 = load i32, ptr %118, align 4, !tbaa !30
  %810 = icmp ne i32 %809, 0
  br i1 %810, label %811, label %836

811:                                              ; preds = %808
  call void @llvm.lifetime.start.p0(i64 4, ptr %123) #11
  %812 = call i64 (i64, ...) @syscall(i64 noundef 186) #11
  %813 = trunc i64 %812 to i32
  store i32 %813, ptr %123, align 4, !tbaa !5
  %814 = load i32, ptr %123, align 4, !tbaa !5
  %815 = invoke i32 (ptr, ...) @printf(ptr noundef @.str, i32 noundef %814)
          to label %816 unwind label %832

816:                                              ; preds = %811
  %817 = load ptr, ptr @stdout, align 8, !tbaa !9
  %818 = invoke i32 @fflush(ptr noundef %817)
          to label %819 unwind label %832

819:                                              ; preds = %816
  %820 = load i32, ptr %118, align 4, !tbaa !30
  %821 = invoke ptr @ee2str(i32 noundef %820)
          to label %822 unwind label %832

822:                                              ; preds = %819
  %823 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.2, ptr noundef %821)
          to label %824 unwind label %832

824:                                              ; preds = %822
  %825 = load ptr, ptr @stdout, align 8, !tbaa !9
  %826 = invoke i32 @fflush(ptr noundef %825)
          to label %827 unwind label %832

827:                                              ; preds = %824
  call void @exit(i32 noundef 1) #12
  unreachable

828:                                              ; preds = %805
  %829 = landingpad { ptr, i32 }
          cleanup
  %830 = extractvalue { ptr, i32 } %829, 0
  store ptr %830, ptr %49, align 8
  %831 = extractvalue { ptr, i32 } %829, 1
  store i32 %831, ptr %50, align 4
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %121) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %120) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %119) #11
  br label %837

832:                                              ; preds = %824, %822, %819, %816, %811
  %833 = landingpad { ptr, i32 }
          cleanup
  %834 = extractvalue { ptr, i32 } %833, 0
  store ptr %834, ptr %49, align 8
  %835 = extractvalue { ptr, i32 } %833, 1
  store i32 %835, ptr %50, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %123) #11
  br label %837

836:                                              ; preds = %808
  call void @llvm.lifetime.end.p0(i64 4, ptr %118) #11
  br label %838

837:                                              ; preds = %832, %828
  call void @llvm.lifetime.end.p0(i64 4, ptr %118) #11
  br label %1440

838:                                              ; preds = %836, %803
  call void @llvm.lifetime.start.p0(i64 32, ptr %124) #11
  invoke void @_ZN6TensorC2E10MemoryType(ptr noundef nonnull align 8 dereferenceable(32) %124, i32 noundef 1)
          to label %839 unwind label %869

839:                                              ; preds = %838
  %840 = load i32, ptr %110, align 4, !tbaa !5
  invoke void @_Z8tensor1d8DataTypej(ptr dead_on_unwind writable sret(%struct.TensorDesc) align 4 %125, i32 noundef 0, i32 noundef %840)
          to label %841 unwind label %873

841:                                              ; preds = %839
  invoke void @_ZN6Tensor6resizeE10TensorDesc(ptr noundef nonnull align 8 dereferenceable(32) %124, ptr noundef byval(%struct.TensorDesc) align 8 %125)
          to label %842 unwind label %873

842:                                              ; preds = %841
  invoke void @_ZN6Tensor5allocEv(ptr noundef nonnull align 8 dereferenceable(32) %124)
          to label %843 unwind label %873

843:                                              ; preds = %842
  call void @llvm.lifetime.start.p0(i64 4, ptr %126) #11
  call void @llvm.lifetime.start.p0(i64 4, ptr %127) #11
  %844 = load i8, ptr %7, align 1, !tbaa !11, !range !22, !noundef !23
  %845 = trunc i8 %844 to i1
  br i1 %845, label %846, label %887

846:                                              ; preds = %843
  call void @llvm.lifetime.start.p0(i64 4, ptr %128) #11
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %129, ptr noundef nonnull align 8 dereferenceable(32) %51) #11
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %130, ptr noundef nonnull align 8 dereferenceable(32) %66) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %131, ptr align 4 %39, i64 108, i1 false), !tbaa.struct !24
  %847 = load i32, ptr %93, align 4, !tbaa !34
  %848 = invoke noundef i32 @_Z54depthwise_pointwise_convolution_transform_filter_bytes6TensorS_20ConvolutionParamSpec36DepthwiseConvolutionForwardAlgorithmPvS2_P8ArchInfo(ptr noundef %129, ptr noundef %130, ptr noundef byval(%struct.ConvolutionParamSpec) align 8 %131, i32 noundef %847, ptr noundef %126, ptr noundef %127, ptr noundef @_ZL15UT_CPU_ARCHINFO)
          to label %849 unwind label %877

849:                                              ; preds = %846
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %130) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %129) #11
  store i32 %848, ptr %128, align 4, !tbaa !30
  %850 = load i32, ptr %128, align 4, !tbaa !30
  %851 = icmp ne i32 %850, 0
  br i1 %851, label %852, label %885

852:                                              ; preds = %849
  call void @llvm.lifetime.start.p0(i64 4, ptr %132) #11
  %853 = call i64 (i64, ...) @syscall(i64 noundef 186) #11
  %854 = trunc i64 %853 to i32
  store i32 %854, ptr %132, align 4, !tbaa !5
  %855 = load i32, ptr %132, align 4, !tbaa !5
  %856 = invoke i32 (ptr, ...) @printf(ptr noundef @.str, i32 noundef %855)
          to label %857 unwind label %881

857:                                              ; preds = %852
  %858 = load ptr, ptr @stdout, align 8, !tbaa !9
  %859 = invoke i32 @fflush(ptr noundef %858)
          to label %860 unwind label %881

860:                                              ; preds = %857
  %861 = load i32, ptr %128, align 4, !tbaa !30
  %862 = invoke ptr @ee2str(i32 noundef %861)
          to label %863 unwind label %881

863:                                              ; preds = %860
  %864 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.2, ptr noundef %862)
          to label %865 unwind label %881

865:                                              ; preds = %863
  %866 = load ptr, ptr @stdout, align 8, !tbaa !9
  %867 = invoke i32 @fflush(ptr noundef %866)
          to label %868 unwind label %881

868:                                              ; preds = %865
  call void @exit(i32 noundef 1) #12
  unreachable

869:                                              ; preds = %838
  %870 = landingpad { ptr, i32 }
          cleanup
  %871 = extractvalue { ptr, i32 } %870, 0
  store ptr %871, ptr %49, align 8
  %872 = extractvalue { ptr, i32 } %870, 1
  store i32 %872, ptr %50, align 4
  br label %1439

873:                                              ; preds = %842, %841, %839
  %874 = landingpad { ptr, i32 }
          cleanup
  %875 = extractvalue { ptr, i32 } %874, 0
  store ptr %875, ptr %49, align 8
  %876 = extractvalue { ptr, i32 } %874, 1
  store i32 %876, ptr %50, align 4
  br label %1438

877:                                              ; preds = %846
  %878 = landingpad { ptr, i32 }
          cleanup
  %879 = extractvalue { ptr, i32 } %878, 0
  store ptr %879, ptr %49, align 8
  %880 = extractvalue { ptr, i32 } %878, 1
  store i32 %880, ptr %50, align 4
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %130) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %129) #11
  br label %886

881:                                              ; preds = %865, %863, %860, %857, %852
  %882 = landingpad { ptr, i32 }
          cleanup
  %883 = extractvalue { ptr, i32 } %882, 0
  store ptr %883, ptr %49, align 8
  %884 = extractvalue { ptr, i32 } %882, 1
  store i32 %884, ptr %50, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %132) #11
  br label %886

885:                                              ; preds = %849
  call void @llvm.lifetime.end.p0(i64 4, ptr %128) #11
  br label %920

886:                                              ; preds = %881, %877
  call void @llvm.lifetime.end.p0(i64 4, ptr %128) #11
  br label %1437

887:                                              ; preds = %843
  call void @llvm.lifetime.start.p0(i64 4, ptr %133) #11
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %134, ptr noundef nonnull align 8 dereferenceable(32) %51) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %135, ptr align 4 %39, i64 108, i1 false), !tbaa.struct !24
  %888 = load i32, ptr %93, align 4, !tbaa !34
  %889 = invoke noundef i32 @_Z44depthwise_convolution_transform_filter_bytes6Tensor20ConvolutionParamSpec36DepthwiseConvolutionForwardAlgorithmPvP8ArchInfo(ptr noundef %134, ptr noundef byval(%struct.ConvolutionParamSpec) align 8 %135, i32 noundef %888, ptr noundef %126, ptr noundef @_ZL15UT_CPU_ARCHINFO)
          to label %890 unwind label %910

890:                                              ; preds = %887
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %134) #11
  store i32 %889, ptr %133, align 4, !tbaa !30
  %891 = load i32, ptr %133, align 4, !tbaa !30
  %892 = icmp ne i32 %891, 0
  br i1 %892, label %893, label %918

893:                                              ; preds = %890
  call void @llvm.lifetime.start.p0(i64 4, ptr %136) #11
  %894 = call i64 (i64, ...) @syscall(i64 noundef 186) #11
  %895 = trunc i64 %894 to i32
  store i32 %895, ptr %136, align 4, !tbaa !5
  %896 = load i32, ptr %136, align 4, !tbaa !5
  %897 = invoke i32 (ptr, ...) @printf(ptr noundef @.str, i32 noundef %896)
          to label %898 unwind label %914

898:                                              ; preds = %893
  %899 = load ptr, ptr @stdout, align 8, !tbaa !9
  %900 = invoke i32 @fflush(ptr noundef %899)
          to label %901 unwind label %914

901:                                              ; preds = %898
  %902 = load i32, ptr %133, align 4, !tbaa !30
  %903 = invoke ptr @ee2str(i32 noundef %902)
          to label %904 unwind label %914

904:                                              ; preds = %901
  %905 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.2, ptr noundef %903)
          to label %906 unwind label %914

906:                                              ; preds = %904
  %907 = load ptr, ptr @stdout, align 8, !tbaa !9
  %908 = invoke i32 @fflush(ptr noundef %907)
          to label %909 unwind label %914

909:                                              ; preds = %906
  call void @exit(i32 noundef 1) #12
  unreachable

910:                                              ; preds = %887
  %911 = landingpad { ptr, i32 }
          cleanup
  %912 = extractvalue { ptr, i32 } %911, 0
  store ptr %912, ptr %49, align 8
  %913 = extractvalue { ptr, i32 } %911, 1
  store i32 %913, ptr %50, align 4
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %134) #11
  br label %919

914:                                              ; preds = %906, %904, %901, %898, %893
  %915 = landingpad { ptr, i32 }
          cleanup
  %916 = extractvalue { ptr, i32 } %915, 0
  store ptr %916, ptr %49, align 8
  %917 = extractvalue { ptr, i32 } %915, 1
  store i32 %917, ptr %50, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %136) #11
  br label %919

918:                                              ; preds = %890
  call void @llvm.lifetime.end.p0(i64 4, ptr %133) #11
  br label %920

919:                                              ; preds = %914, %910
  call void @llvm.lifetime.end.p0(i64 4, ptr %133) #11
  br label %1437

920:                                              ; preds = %918, %885
  call void @llvm.lifetime.start.p0(i64 32, ptr %137) #11
  invoke void @_ZN6TensorC2E10MemoryType(ptr noundef nonnull align 8 dereferenceable(32) %137, i32 noundef 1)
          to label %921 unwind label %934

921:                                              ; preds = %920
  %922 = load i32, ptr %126, align 4, !tbaa !5
  invoke void @_Z8tensor1d8DataTypej(ptr dead_on_unwind writable sret(%struct.TensorDesc) align 4 %138, i32 noundef 0, i32 noundef %922)
          to label %923 unwind label %938

923:                                              ; preds = %921
  invoke void @_ZN6Tensor6resizeE10TensorDesc(ptr noundef nonnull align 8 dereferenceable(32) %137, ptr noundef byval(%struct.TensorDesc) align 8 %138)
          to label %924 unwind label %938

924:                                              ; preds = %923
  invoke void @_ZN6Tensor5allocEv(ptr noundef nonnull align 8 dereferenceable(32) %137)
          to label %925 unwind label %938

925:                                              ; preds = %924
  call void @llvm.lifetime.start.p0(i64 32, ptr %139) #11
  invoke void @_ZN6TensorC2E10MemoryType(ptr noundef nonnull align 8 dereferenceable(32) %139, i32 noundef 1)
          to label %926 unwind label %942

926:                                              ; preds = %925
  %927 = load i8, ptr %7, align 1, !tbaa !11, !range !22, !noundef !23
  %928 = trunc i8 %927 to i1
  br i1 %928, label %929, label %950

929:                                              ; preds = %926
  %930 = load i32, ptr %127, align 4, !tbaa !5
  invoke void @_Z8tensor1d8DataTypej(ptr dead_on_unwind writable sret(%struct.TensorDesc) align 4 %140, i32 noundef 0, i32 noundef %930)
          to label %931 unwind label %946

931:                                              ; preds = %929
  invoke void @_ZN6Tensor6resizeE10TensorDesc(ptr noundef nonnull align 8 dereferenceable(32) %139, ptr noundef byval(%struct.TensorDesc) align 8 %140)
          to label %932 unwind label %946

932:                                              ; preds = %931
  invoke void @_ZN6Tensor5allocEv(ptr noundef nonnull align 8 dereferenceable(32) %139)
          to label %933 unwind label %946

933:                                              ; preds = %932
  br label %950

934:                                              ; preds = %920
  %935 = landingpad { ptr, i32 }
          cleanup
  %936 = extractvalue { ptr, i32 } %935, 0
  store ptr %936, ptr %49, align 8
  %937 = extractvalue { ptr, i32 } %935, 1
  store i32 %937, ptr %50, align 4
  br label %1436

938:                                              ; preds = %924, %923, %921
  %939 = landingpad { ptr, i32 }
          cleanup
  %940 = extractvalue { ptr, i32 } %939, 0
  store ptr %940, ptr %49, align 8
  %941 = extractvalue { ptr, i32 } %939, 1
  store i32 %941, ptr %50, align 4
  br label %1435

942:                                              ; preds = %925
  %943 = landingpad { ptr, i32 }
          cleanup
  %944 = extractvalue { ptr, i32 } %943, 0
  store ptr %944, ptr %49, align 8
  %945 = extractvalue { ptr, i32 } %943, 1
  store i32 %945, ptr %50, align 4
  br label %1434

946:                                              ; preds = %932, %931, %929
  %947 = landingpad { ptr, i32 }
          cleanup
  %948 = extractvalue { ptr, i32 } %947, 0
  store ptr %948, ptr %49, align 8
  %949 = extractvalue { ptr, i32 } %947, 1
  store i32 %949, ptr %50, align 4
  br label %1433

950:                                              ; preds = %933, %926
  %951 = load i8, ptr %7, align 1, !tbaa !11, !range !22, !noundef !23
  %952 = trunc i8 %951 to i1
  br i1 %952, label %953, label %986

953:                                              ; preds = %950
  call void @llvm.lifetime.start.p0(i64 4, ptr %141) #11
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %142, ptr noundef nonnull align 8 dereferenceable(32) %51) #11
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %143, ptr noundef nonnull align 8 dereferenceable(32) %66) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %144, ptr align 4 %39, i64 108, i1 false), !tbaa.struct !24
  %954 = load i32, ptr %93, align 4, !tbaa !34
  %955 = invoke noundef i32 @_Z48depthwise_pointwise_convolution_transform_filter6TensorS_20ConvolutionParamSpec36DepthwiseConvolutionForwardAlgorithmPS_S2_P8ArchInfo(ptr noundef %142, ptr noundef %143, ptr noundef byval(%struct.ConvolutionParamSpec) align 8 %144, i32 noundef %954, ptr noundef %137, ptr noundef %139, ptr noundef @_ZL15UT_CPU_ARCHINFO)
          to label %956 unwind label %976

956:                                              ; preds = %953
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %143) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %142) #11
  store i32 %955, ptr %141, align 4, !tbaa !30
  %957 = load i32, ptr %141, align 4, !tbaa !30
  %958 = icmp ne i32 %957, 0
  br i1 %958, label %959, label %984

959:                                              ; preds = %956
  call void @llvm.lifetime.start.p0(i64 4, ptr %145) #11
  %960 = call i64 (i64, ...) @syscall(i64 noundef 186) #11
  %961 = trunc i64 %960 to i32
  store i32 %961, ptr %145, align 4, !tbaa !5
  %962 = load i32, ptr %145, align 4, !tbaa !5
  %963 = invoke i32 (ptr, ...) @printf(ptr noundef @.str, i32 noundef %962)
          to label %964 unwind label %980

964:                                              ; preds = %959
  %965 = load ptr, ptr @stdout, align 8, !tbaa !9
  %966 = invoke i32 @fflush(ptr noundef %965)
          to label %967 unwind label %980

967:                                              ; preds = %964
  %968 = load i32, ptr %141, align 4, !tbaa !30
  %969 = invoke ptr @ee2str(i32 noundef %968)
          to label %970 unwind label %980

970:                                              ; preds = %967
  %971 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.2, ptr noundef %969)
          to label %972 unwind label %980

972:                                              ; preds = %970
  %973 = load ptr, ptr @stdout, align 8, !tbaa !9
  %974 = invoke i32 @fflush(ptr noundef %973)
          to label %975 unwind label %980

975:                                              ; preds = %972
  call void @exit(i32 noundef 1) #12
  unreachable

976:                                              ; preds = %953
  %977 = landingpad { ptr, i32 }
          cleanup
  %978 = extractvalue { ptr, i32 } %977, 0
  store ptr %978, ptr %49, align 8
  %979 = extractvalue { ptr, i32 } %977, 1
  store i32 %979, ptr %50, align 4
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %143) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %142) #11
  br label %985

980:                                              ; preds = %972, %970, %967, %964, %959
  %981 = landingpad { ptr, i32 }
          cleanup
  %982 = extractvalue { ptr, i32 } %981, 0
  store ptr %982, ptr %49, align 8
  %983 = extractvalue { ptr, i32 } %981, 1
  store i32 %983, ptr %50, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %145) #11
  br label %985

984:                                              ; preds = %956
  call void @llvm.lifetime.end.p0(i64 4, ptr %141) #11
  br label %1019

985:                                              ; preds = %980, %976
  call void @llvm.lifetime.end.p0(i64 4, ptr %141) #11
  br label %1433

986:                                              ; preds = %950
  call void @llvm.lifetime.start.p0(i64 4, ptr %146) #11
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %147, ptr noundef nonnull align 8 dereferenceable(32) %51) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %148, ptr align 4 %39, i64 108, i1 false), !tbaa.struct !24
  %987 = load i32, ptr %93, align 4, !tbaa !34
  %988 = invoke noundef i32 @_Z38depthwise_convolution_transform_filter6Tensor20ConvolutionParamSpec36DepthwiseConvolutionForwardAlgorithmPS_P8ArchInfo(ptr noundef %147, ptr noundef byval(%struct.ConvolutionParamSpec) align 8 %148, i32 noundef %987, ptr noundef %137, ptr noundef @_ZL15UT_CPU_ARCHINFO)
          to label %989 unwind label %1009

989:                                              ; preds = %986
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %147) #11
  store i32 %988, ptr %146, align 4, !tbaa !30
  %990 = load i32, ptr %146, align 4, !tbaa !30
  %991 = icmp ne i32 %990, 0
  br i1 %991, label %992, label %1017

992:                                              ; preds = %989
  call void @llvm.lifetime.start.p0(i64 4, ptr %149) #11
  %993 = call i64 (i64, ...) @syscall(i64 noundef 186) #11
  %994 = trunc i64 %993 to i32
  store i32 %994, ptr %149, align 4, !tbaa !5
  %995 = load i32, ptr %149, align 4, !tbaa !5
  %996 = invoke i32 (ptr, ...) @printf(ptr noundef @.str, i32 noundef %995)
          to label %997 unwind label %1013

997:                                              ; preds = %992
  %998 = load ptr, ptr @stdout, align 8, !tbaa !9
  %999 = invoke i32 @fflush(ptr noundef %998)
          to label %1000 unwind label %1013

1000:                                             ; preds = %997
  %1001 = load i32, ptr %146, align 4, !tbaa !30
  %1002 = invoke ptr @ee2str(i32 noundef %1001)
          to label %1003 unwind label %1013

1003:                                             ; preds = %1000
  %1004 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.2, ptr noundef %1002)
          to label %1005 unwind label %1013

1005:                                             ; preds = %1003
  %1006 = load ptr, ptr @stdout, align 8, !tbaa !9
  %1007 = invoke i32 @fflush(ptr noundef %1006)
          to label %1008 unwind label %1013

1008:                                             ; preds = %1005
  call void @exit(i32 noundef 1) #12
  unreachable

1009:                                             ; preds = %986
  %1010 = landingpad { ptr, i32 }
          cleanup
  %1011 = extractvalue { ptr, i32 } %1010, 0
  store ptr %1011, ptr %49, align 8
  %1012 = extractvalue { ptr, i32 } %1010, 1
  store i32 %1012, ptr %50, align 4
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %147) #11
  br label %1018

1013:                                             ; preds = %1005, %1003, %1000, %997, %992
  %1014 = landingpad { ptr, i32 }
          cleanup
  %1015 = extractvalue { ptr, i32 } %1014, 0
  store ptr %1015, ptr %49, align 8
  %1016 = extractvalue { ptr, i32 } %1014, 1
  store i32 %1016, ptr %50, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %149) #11
  br label %1018

1017:                                             ; preds = %989
  call void @llvm.lifetime.end.p0(i64 4, ptr %146) #11
  br label %1019

1018:                                             ; preds = %1013, %1009
  call void @llvm.lifetime.end.p0(i64 4, ptr %146) #11
  br label %1433

1019:                                             ; preds = %1017, %984
  call void @llvm.lifetime.start.p0(i64 24, ptr %150) #11
  call void @llvm.lifetime.start.p0(i64 1, ptr %151) #11
  call void @_ZNSaI6TensorEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %151) #11
  invoke void @_ZNSt6vectorI6TensorSaIS0_EEC2EmRKS0_RKS1_(ptr noundef nonnull align 8 dereferenceable(24) %150, i64 noundef 1, ptr noundef nonnull align 8 dereferenceable(32) %47, ptr noundef nonnull align 1 dereferenceable(1) %151)
          to label %1020 unwind label %1050

1020:                                             ; preds = %1019
  call void @_ZNSt15__new_allocatorI6TensorED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %151) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %151) #11
  call void @llvm.lifetime.start.p0(i64 24, ptr %152) #11
  call void @llvm.lifetime.start.p0(i64 1, ptr %153) #11
  call void @_ZNSaI6TensorEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %153) #11
  invoke void @_ZNSt6vectorI6TensorSaIS0_EEC2EmRKS0_RKS1_(ptr noundef nonnull align 8 dereferenceable(24) %152, i64 noundef 1, ptr noundef nonnull align 8 dereferenceable(32) %48, ptr noundef nonnull align 1 dereferenceable(1) %153)
          to label %1021 unwind label %1054

1021:                                             ; preds = %1020
  call void @_ZNSt15__new_allocatorI6TensorED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %153) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %153) #11
  call void @llvm.lifetime.start.p0(i64 24, ptr %154) #11
  call void @llvm.lifetime.start.p0(i64 1, ptr %155) #11
  call void @_ZNSaI6TensorEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %155) #11
  invoke void @_ZNSt6vectorI6TensorSaIS0_EEC2EmRKS0_RKS1_(ptr noundef nonnull align 8 dereferenceable(24) %154, i64 noundef 1, ptr noundef nonnull align 8 dereferenceable(32) %124, ptr noundef nonnull align 1 dereferenceable(1) %155)
          to label %1022 unwind label %1058

1022:                                             ; preds = %1021
  call void @_ZNSt15__new_allocatorI6TensorED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %155) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %155) #11
  %1023 = load i8, ptr %7, align 1, !tbaa !11, !range !22, !noundef !23
  %1024 = trunc i8 %1023 to i1
  br i1 %1024, label %1025, label %1124

1025:                                             ; preds = %1022
  call void @llvm.lifetime.start.p0(i64 4, ptr %156) #11
  invoke void @_ZNSt6vectorI6TensorSaIS0_EEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %157, ptr noundef nonnull align 8 dereferenceable(24) %150)
          to label %1026 unwind label %1062

1026:                                             ; preds = %1025
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %158, ptr noundef nonnull align 8 dereferenceable(32) %137) #11
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %159, ptr noundef nonnull align 8 dereferenceable(32) %139) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %160, ptr align 4 %39, i64 108, i1 false), !tbaa.struct !24
  %1027 = load i32, ptr %93, align 4, !tbaa !34
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %161, ptr noundef nonnull align 8 dereferenceable(32) %55) #11
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %162, ptr noundef nonnull align 8 dereferenceable(32) %68) #11
  invoke void @_ZNSt6vectorI6TensorSaIS0_EEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %163, ptr noundef nonnull align 8 dereferenceable(24) %154)
          to label %1028 unwind label %1066

1028:                                             ; preds = %1026
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %164, ptr noundef nonnull align 8 dereferenceable(32) %53) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %165, ptr align 4 %26, i64 20, i1 false), !tbaa.struct !36
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %166, ptr align 4 %27, i64 20, i1 false), !tbaa.struct !36
  %1029 = invoke noundef i32 @_Z31depthwise_pointwise_convolutionSt6vectorI6TensorSaIS0_EES0_S0_20ConvolutionParamSpec36DepthwiseConvolutionForwardAlgorithmPvS0_S0_S2_S0_19ActivationParamSpecS6_P8ArchInfo(ptr noundef %157, ptr noundef %158, ptr noundef %159, ptr noundef byval(%struct.ConvolutionParamSpec) align 8 %160, i32 noundef %1027, ptr noundef null, ptr noundef %161, ptr noundef %162, ptr noundef %163, ptr noundef %164, ptr noundef byval(%struct.ActivationParamSpec) align 8 %165, ptr noundef byval(%struct.ActivationParamSpec) align 8 %166, ptr noundef @_ZL15UT_CPU_ARCHINFO)
          to label %1030 unwind label %1070

1030:                                             ; preds = %1028
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %164) #11
  call void @_ZNSt6vectorI6TensorSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %163) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %162) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %161) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %159) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %158) #11
  call void @_ZNSt6vectorI6TensorSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %157) #11
  store i32 %1029, ptr %156, align 4, !tbaa !30
  %1031 = load i32, ptr %156, align 4, !tbaa !30
  %1032 = icmp ne i32 %1031, 0
  br i1 %1032, label %1033, label %1079

1033:                                             ; preds = %1030
  call void @llvm.lifetime.start.p0(i64 4, ptr %167) #11
  %1034 = call i64 (i64, ...) @syscall(i64 noundef 186) #11
  %1035 = trunc i64 %1034 to i32
  store i32 %1035, ptr %167, align 4, !tbaa !5
  %1036 = load i32, ptr %167, align 4, !tbaa !5
  %1037 = invoke i32 (ptr, ...) @printf(ptr noundef @.str, i32 noundef %1036)
          to label %1038 unwind label %1075

1038:                                             ; preds = %1033
  %1039 = load ptr, ptr @stdout, align 8, !tbaa !9
  %1040 = invoke i32 @fflush(ptr noundef %1039)
          to label %1041 unwind label %1075

1041:                                             ; preds = %1038
  %1042 = load i32, ptr %156, align 4, !tbaa !30
  %1043 = invoke ptr @ee2str(i32 noundef %1042)
          to label %1044 unwind label %1075

1044:                                             ; preds = %1041
  %1045 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.2, ptr noundef %1043)
          to label %1046 unwind label %1075

1046:                                             ; preds = %1044
  %1047 = load ptr, ptr @stdout, align 8, !tbaa !9
  %1048 = invoke i32 @fflush(ptr noundef %1047)
          to label %1049 unwind label %1075

1049:                                             ; preds = %1046
  call void @exit(i32 noundef 1) #12
  unreachable

1050:                                             ; preds = %1019
  %1051 = landingpad { ptr, i32 }
          cleanup
  %1052 = extractvalue { ptr, i32 } %1051, 0
  store ptr %1052, ptr %49, align 8
  %1053 = extractvalue { ptr, i32 } %1051, 1
  store i32 %1053, ptr %50, align 4
  call void @_ZNSt15__new_allocatorI6TensorED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %151) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %151) #11
  br label %1432

1054:                                             ; preds = %1020
  %1055 = landingpad { ptr, i32 }
          cleanup
  %1056 = extractvalue { ptr, i32 } %1055, 0
  store ptr %1056, ptr %49, align 8
  %1057 = extractvalue { ptr, i32 } %1055, 1
  store i32 %1057, ptr %50, align 4
  call void @_ZNSt15__new_allocatorI6TensorED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %153) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %153) #11
  br label %1431

1058:                                             ; preds = %1021
  %1059 = landingpad { ptr, i32 }
          cleanup
  %1060 = extractvalue { ptr, i32 } %1059, 0
  store ptr %1060, ptr %49, align 8
  %1061 = extractvalue { ptr, i32 } %1059, 1
  store i32 %1061, ptr %50, align 4
  call void @_ZNSt15__new_allocatorI6TensorED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %155) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %155) #11
  br label %1430

1062:                                             ; preds = %1025
  %1063 = landingpad { ptr, i32 }
          cleanup
  %1064 = extractvalue { ptr, i32 } %1063, 0
  store ptr %1064, ptr %49, align 8
  %1065 = extractvalue { ptr, i32 } %1063, 1
  store i32 %1065, ptr %50, align 4
  br label %1104

1066:                                             ; preds = %1026
  %1067 = landingpad { ptr, i32 }
          cleanup
  %1068 = extractvalue { ptr, i32 } %1067, 0
  store ptr %1068, ptr %49, align 8
  %1069 = extractvalue { ptr, i32 } %1067, 1
  store i32 %1069, ptr %50, align 4
  br label %1074

1070:                                             ; preds = %1028
  %1071 = landingpad { ptr, i32 }
          cleanup
  %1072 = extractvalue { ptr, i32 } %1071, 0
  store ptr %1072, ptr %49, align 8
  %1073 = extractvalue { ptr, i32 } %1071, 1
  store i32 %1073, ptr %50, align 4
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %164) #11
  call void @_ZNSt6vectorI6TensorSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %163) #11
  br label %1074

1074:                                             ; preds = %1070, %1066
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %162) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %161) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %159) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %158) #11
  call void @_ZNSt6vectorI6TensorSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %157) #11
  br label %1104

1075:                                             ; preds = %1046, %1044, %1041, %1038, %1033
  %1076 = landingpad { ptr, i32 }
          cleanup
  %1077 = extractvalue { ptr, i32 } %1076, 0
  store ptr %1077, ptr %49, align 8
  %1078 = extractvalue { ptr, i32 } %1076, 1
  store i32 %1078, ptr %50, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %167) #11
  br label %1104

1079:                                             ; preds = %1030
  call void @llvm.lifetime.end.p0(i64 4, ptr %156) #11
  call void @llvm.lifetime.start.p0(i64 4, ptr %168) #11
  invoke void @_ZNSt6vectorI6TensorSaIS0_EEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %169, ptr noundef nonnull align 8 dereferenceable(24) %152)
          to label %1080 unwind label %1105

1080:                                             ; preds = %1079
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %170, ptr noundef nonnull align 8 dereferenceable(32) %52) #11
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %171, ptr noundef nonnull align 8 dereferenceable(32) %67) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %172, ptr align 4 %39, i64 108, i1 false), !tbaa.struct !24
  %1081 = load i32, ptr %93, align 4, !tbaa !34
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %173, ptr noundef nonnull align 8 dereferenceable(32) %55) #11
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %174, ptr noundef nonnull align 8 dereferenceable(32) %68) #11
  invoke void @_ZNSt6vectorI6TensorSaIS0_EEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %175, ptr noundef nonnull align 8 dereferenceable(24) %154)
          to label %1082 unwind label %1109

1082:                                             ; preds = %1080
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %176, ptr noundef nonnull align 8 dereferenceable(32) %54) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %177, ptr align 4 %26, i64 20, i1 false), !tbaa.struct !36
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %178, ptr align 4 %27, i64 20, i1 false), !tbaa.struct !36
  %1083 = invoke noundef i32 @_Z31depthwise_pointwise_convolutionSt6vectorI6TensorSaIS0_EES0_S0_20ConvolutionParamSpec36DepthwiseConvolutionForwardAlgorithmPvS0_S0_S2_S0_19ActivationParamSpecS6_P8ArchInfo(ptr noundef %169, ptr noundef %170, ptr noundef %171, ptr noundef byval(%struct.ConvolutionParamSpec) align 8 %172, i32 noundef %1081, ptr noundef null, ptr noundef %173, ptr noundef %174, ptr noundef %175, ptr noundef %176, ptr noundef byval(%struct.ActivationParamSpec) align 8 %177, ptr noundef byval(%struct.ActivationParamSpec) align 8 %178, ptr noundef @_ZL18UT_SERIAL_ARCHINFO)
          to label %1084 unwind label %1113

1084:                                             ; preds = %1082
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %176) #11
  call void @_ZNSt6vectorI6TensorSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %175) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %174) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %173) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %171) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %170) #11
  call void @_ZNSt6vectorI6TensorSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %169) #11
  store i32 %1083, ptr %168, align 4, !tbaa !30
  %1085 = load i32, ptr %168, align 4, !tbaa !30
  %1086 = icmp ne i32 %1085, 0
  br i1 %1086, label %1087, label %1122

1087:                                             ; preds = %1084
  call void @llvm.lifetime.start.p0(i64 4, ptr %179) #11
  %1088 = call i64 (i64, ...) @syscall(i64 noundef 186) #11
  %1089 = trunc i64 %1088 to i32
  store i32 %1089, ptr %179, align 4, !tbaa !5
  %1090 = load i32, ptr %179, align 4, !tbaa !5
  %1091 = invoke i32 (ptr, ...) @printf(ptr noundef @.str, i32 noundef %1090)
          to label %1092 unwind label %1118

1092:                                             ; preds = %1087
  %1093 = load ptr, ptr @stdout, align 8, !tbaa !9
  %1094 = invoke i32 @fflush(ptr noundef %1093)
          to label %1095 unwind label %1118

1095:                                             ; preds = %1092
  %1096 = load i32, ptr %168, align 4, !tbaa !30
  %1097 = invoke ptr @ee2str(i32 noundef %1096)
          to label %1098 unwind label %1118

1098:                                             ; preds = %1095
  %1099 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.2, ptr noundef %1097)
          to label %1100 unwind label %1118

1100:                                             ; preds = %1098
  %1101 = load ptr, ptr @stdout, align 8, !tbaa !9
  %1102 = invoke i32 @fflush(ptr noundef %1101)
          to label %1103 unwind label %1118

1103:                                             ; preds = %1100
  call void @exit(i32 noundef 1) #12
  unreachable

1104:                                             ; preds = %1075, %1074, %1062
  call void @llvm.lifetime.end.p0(i64 4, ptr %156) #11
  br label %1429

1105:                                             ; preds = %1079
  %1106 = landingpad { ptr, i32 }
          cleanup
  %1107 = extractvalue { ptr, i32 } %1106, 0
  store ptr %1107, ptr %49, align 8
  %1108 = extractvalue { ptr, i32 } %1106, 1
  store i32 %1108, ptr %50, align 4
  br label %1123

1109:                                             ; preds = %1080
  %1110 = landingpad { ptr, i32 }
          cleanup
  %1111 = extractvalue { ptr, i32 } %1110, 0
  store ptr %1111, ptr %49, align 8
  %1112 = extractvalue { ptr, i32 } %1110, 1
  store i32 %1112, ptr %50, align 4
  br label %1117

1113:                                             ; preds = %1082
  %1114 = landingpad { ptr, i32 }
          cleanup
  %1115 = extractvalue { ptr, i32 } %1114, 0
  store ptr %1115, ptr %49, align 8
  %1116 = extractvalue { ptr, i32 } %1114, 1
  store i32 %1116, ptr %50, align 4
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %176) #11
  call void @_ZNSt6vectorI6TensorSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %175) #11
  br label %1117

1117:                                             ; preds = %1113, %1109
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %174) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %173) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %171) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %170) #11
  call void @_ZNSt6vectorI6TensorSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %169) #11
  br label %1123

1118:                                             ; preds = %1100, %1098, %1095, %1092, %1087
  %1119 = landingpad { ptr, i32 }
          cleanup
  %1120 = extractvalue { ptr, i32 } %1119, 0
  store ptr %1120, ptr %49, align 8
  %1121 = extractvalue { ptr, i32 } %1119, 1
  store i32 %1121, ptr %50, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %179) #11
  br label %1123

1122:                                             ; preds = %1084
  call void @llvm.lifetime.end.p0(i64 4, ptr %168) #11
  br label %1189

1123:                                             ; preds = %1118, %1117, %1105
  call void @llvm.lifetime.end.p0(i64 4, ptr %168) #11
  br label %1429

1124:                                             ; preds = %1022
  call void @llvm.lifetime.start.p0(i64 4, ptr %180) #11
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %181, ptr noundef nonnull align 8 dereferenceable(32) %47) #11
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %182, ptr noundef nonnull align 8 dereferenceable(32) %137) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %183, ptr align 4 %39, i64 108, i1 false), !tbaa.struct !24
  %1125 = load i32, ptr %93, align 4, !tbaa !34
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %184, ptr noundef nonnull align 8 dereferenceable(32) %55) #11
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %185, ptr noundef nonnull align 8 dereferenceable(32) %124) #11
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %186, ptr noundef nonnull align 8 dereferenceable(32) %53) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %187, ptr align 4 %26, i64 20, i1 false), !tbaa.struct !36
  %1126 = invoke noundef i32 @_Z21depthwise_convolution6TensorS_20ConvolutionParamSpec36DepthwiseConvolutionForwardAlgorithmPvS_S_S_19ActivationParamSpecP8ArchInfo(ptr noundef %181, ptr noundef %182, ptr noundef byval(%struct.ConvolutionParamSpec) align 8 %183, i32 noundef %1125, ptr noundef null, ptr noundef %184, ptr noundef %185, ptr noundef %186, ptr noundef byval(%struct.ActivationParamSpec) align 8 %187, ptr noundef @_ZL15UT_CPU_ARCHINFO)
          to label %1127 unwind label %1147

1127:                                             ; preds = %1124
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %186) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %185) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %184) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %182) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %181) #11
  store i32 %1126, ptr %180, align 4, !tbaa !30
  %1128 = load i32, ptr %180, align 4, !tbaa !30
  %1129 = icmp ne i32 %1128, 0
  br i1 %1129, label %1130, label %1155

1130:                                             ; preds = %1127
  call void @llvm.lifetime.start.p0(i64 4, ptr %188) #11
  %1131 = call i64 (i64, ...) @syscall(i64 noundef 186) #11
  %1132 = trunc i64 %1131 to i32
  store i32 %1132, ptr %188, align 4, !tbaa !5
  %1133 = load i32, ptr %188, align 4, !tbaa !5
  %1134 = invoke i32 (ptr, ...) @printf(ptr noundef @.str, i32 noundef %1133)
          to label %1135 unwind label %1151

1135:                                             ; preds = %1130
  %1136 = load ptr, ptr @stdout, align 8, !tbaa !9
  %1137 = invoke i32 @fflush(ptr noundef %1136)
          to label %1138 unwind label %1151

1138:                                             ; preds = %1135
  %1139 = load i32, ptr %180, align 4, !tbaa !30
  %1140 = invoke ptr @ee2str(i32 noundef %1139)
          to label %1141 unwind label %1151

1141:                                             ; preds = %1138
  %1142 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.2, ptr noundef %1140)
          to label %1143 unwind label %1151

1143:                                             ; preds = %1141
  %1144 = load ptr, ptr @stdout, align 8, !tbaa !9
  %1145 = invoke i32 @fflush(ptr noundef %1144)
          to label %1146 unwind label %1151

1146:                                             ; preds = %1143
  call void @exit(i32 noundef 1) #12
  unreachable

1147:                                             ; preds = %1124
  %1148 = landingpad { ptr, i32 }
          cleanup
  %1149 = extractvalue { ptr, i32 } %1148, 0
  store ptr %1149, ptr %49, align 8
  %1150 = extractvalue { ptr, i32 } %1148, 1
  store i32 %1150, ptr %50, align 4
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %186) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %185) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %184) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %182) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %181) #11
  br label %1178

1151:                                             ; preds = %1143, %1141, %1138, %1135, %1130
  %1152 = landingpad { ptr, i32 }
          cleanup
  %1153 = extractvalue { ptr, i32 } %1152, 0
  store ptr %1153, ptr %49, align 8
  %1154 = extractvalue { ptr, i32 } %1152, 1
  store i32 %1154, ptr %50, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %188) #11
  br label %1178

1155:                                             ; preds = %1127
  call void @llvm.lifetime.end.p0(i64 4, ptr %180) #11
  call void @llvm.lifetime.start.p0(i64 4, ptr %189) #11
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %190, ptr noundef nonnull align 8 dereferenceable(32) %48) #11
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %191, ptr noundef nonnull align 8 dereferenceable(32) %52) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %192, ptr align 4 %39, i64 108, i1 false), !tbaa.struct !24
  %1156 = load i32, ptr %93, align 4, !tbaa !34
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %193, ptr noundef nonnull align 8 dereferenceable(32) %55) #11
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %194, ptr noundef nonnull align 8 dereferenceable(32) %124) #11
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %195, ptr noundef nonnull align 8 dereferenceable(32) %54) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %196, ptr align 4 %26, i64 20, i1 false), !tbaa.struct !36
  %1157 = invoke noundef i32 @_Z21depthwise_convolution6TensorS_20ConvolutionParamSpec36DepthwiseConvolutionForwardAlgorithmPvS_S_S_19ActivationParamSpecP8ArchInfo(ptr noundef %190, ptr noundef %191, ptr noundef byval(%struct.ConvolutionParamSpec) align 8 %192, i32 noundef %1156, ptr noundef null, ptr noundef %193, ptr noundef %194, ptr noundef %195, ptr noundef byval(%struct.ActivationParamSpec) align 8 %196, ptr noundef @_ZL18UT_SERIAL_ARCHINFO)
          to label %1158 unwind label %1179

1158:                                             ; preds = %1155
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %195) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %194) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %193) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %191) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %190) #11
  store i32 %1157, ptr %189, align 4, !tbaa !30
  %1159 = load i32, ptr %189, align 4, !tbaa !30
  %1160 = icmp ne i32 %1159, 0
  br i1 %1160, label %1161, label %1187

1161:                                             ; preds = %1158
  call void @llvm.lifetime.start.p0(i64 4, ptr %197) #11
  %1162 = call i64 (i64, ...) @syscall(i64 noundef 186) #11
  %1163 = trunc i64 %1162 to i32
  store i32 %1163, ptr %197, align 4, !tbaa !5
  %1164 = load i32, ptr %197, align 4, !tbaa !5
  %1165 = invoke i32 (ptr, ...) @printf(ptr noundef @.str, i32 noundef %1164)
          to label %1166 unwind label %1183

1166:                                             ; preds = %1161
  %1167 = load ptr, ptr @stdout, align 8, !tbaa !9
  %1168 = invoke i32 @fflush(ptr noundef %1167)
          to label %1169 unwind label %1183

1169:                                             ; preds = %1166
  %1170 = load i32, ptr %189, align 4, !tbaa !30
  %1171 = invoke ptr @ee2str(i32 noundef %1170)
          to label %1172 unwind label %1183

1172:                                             ; preds = %1169
  %1173 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.2, ptr noundef %1171)
          to label %1174 unwind label %1183

1174:                                             ; preds = %1172
  %1175 = load ptr, ptr @stdout, align 8, !tbaa !9
  %1176 = invoke i32 @fflush(ptr noundef %1175)
          to label %1177 unwind label %1183

1177:                                             ; preds = %1174
  call void @exit(i32 noundef 1) #12
  unreachable

1178:                                             ; preds = %1151, %1147
  call void @llvm.lifetime.end.p0(i64 4, ptr %180) #11
  br label %1429

1179:                                             ; preds = %1155
  %1180 = landingpad { ptr, i32 }
          cleanup
  %1181 = extractvalue { ptr, i32 } %1180, 0
  store ptr %1181, ptr %49, align 8
  %1182 = extractvalue { ptr, i32 } %1180, 1
  store i32 %1182, ptr %50, align 4
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %195) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %194) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %193) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %191) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %190) #11
  br label %1188

1183:                                             ; preds = %1174, %1172, %1169, %1166, %1161
  %1184 = landingpad { ptr, i32 }
          cleanup
  %1185 = extractvalue { ptr, i32 } %1184, 0
  store ptr %1185, ptr %49, align 8
  %1186 = extractvalue { ptr, i32 } %1184, 1
  store i32 %1186, ptr %50, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %197) #11
  br label %1188

1187:                                             ; preds = %1158
  call void @llvm.lifetime.end.p0(i64 4, ptr %189) #11
  br label %1189

1188:                                             ; preds = %1183, %1179
  call void @llvm.lifetime.end.p0(i64 4, ptr %189) #11
  br label %1429

1189:                                             ; preds = %1187, %1122
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %198, ptr noundef nonnull align 8 dereferenceable(32) %53) #11
  %1190 = invoke noundef ptr @_Z19get_ptr_from_tensor6Tensor4Arch(ptr noundef %198, i32 noundef 1)
          to label %1191 unwind label %1204

1191:                                             ; preds = %1189
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %199, ptr noundef nonnull align 8 dereferenceable(32) %54) #11
  %1192 = invoke noundef ptr @_Z19get_ptr_from_tensor6Tensor4Arch(ptr noundef %199, i32 noundef 1)
          to label %1193 unwind label %1208

1193:                                             ; preds = %1191
  %1194 = invoke noundef i32 @_ZN6Tensor6lengthEv(ptr noundef nonnull align 8 dereferenceable(32) %53)
          to label %1195 unwind label %1208

1195:                                             ; preds = %1193
  %1196 = load i32, ptr %8, align 4, !tbaa !13
  invoke void @_Z10ut_check_vPvS_j8DataTypef(ptr noundef %1190, ptr noundef %1192, i32 noundef %1194, i32 noundef %1196, float noundef 0x3FB99999A0000000)
          to label %1197 unwind label %1208

1197:                                             ; preds = %1195
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %199) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %198) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %200) #11
  %1198 = invoke noundef double @_Z10ut_time_msv()
          to label %1199 unwind label %1213

1199:                                             ; preds = %1197
  store double %1198, ptr %200, align 8, !tbaa !37
  call void @llvm.lifetime.start.p0(i64 4, ptr %201) #11
  store i32 0, ptr %201, align 4, !tbaa !5
  br label %1200

1200:                                             ; preds = %1298, %1199
  %1201 = load i32, ptr %201, align 4, !tbaa !5
  %1202 = icmp slt i32 %1201, 6
  br i1 %1202, label %1217, label %1203

1203:                                             ; preds = %1200
  call void @llvm.lifetime.end.p0(i64 4, ptr %201) #11
  br label %1302

1204:                                             ; preds = %1189
  %1205 = landingpad { ptr, i32 }
          cleanup
  %1206 = extractvalue { ptr, i32 } %1205, 0
  store ptr %1206, ptr %49, align 8
  %1207 = extractvalue { ptr, i32 } %1205, 1
  store i32 %1207, ptr %50, align 4
  br label %1212

1208:                                             ; preds = %1195, %1193, %1191
  %1209 = landingpad { ptr, i32 }
          cleanup
  %1210 = extractvalue { ptr, i32 } %1209, 0
  store ptr %1210, ptr %49, align 8
  %1211 = extractvalue { ptr, i32 } %1209, 1
  store i32 %1211, ptr %50, align 4
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %199) #11
  br label %1212

1212:                                             ; preds = %1208, %1204
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %198) #11
  br label %1429

1213:                                             ; preds = %1197
  %1214 = landingpad { ptr, i32 }
          cleanup
  %1215 = extractvalue { ptr, i32 } %1214, 0
  store ptr %1215, ptr %49, align 8
  %1216 = extractvalue { ptr, i32 } %1214, 1
  store i32 %1216, ptr %50, align 4
  br label %1428

1217:                                             ; preds = %1200
  %1218 = load i8, ptr %7, align 1, !tbaa !11, !range !22, !noundef !23
  %1219 = trunc i8 %1218 to i1
  br i1 %1219, label %1220, label %1264

1220:                                             ; preds = %1217
  call void @llvm.lifetime.start.p0(i64 4, ptr %202) #11
  invoke void @_ZNSt6vectorI6TensorSaIS0_EEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %203, ptr noundef nonnull align 8 dereferenceable(24) %150)
          to label %1221 unwind label %1245

1221:                                             ; preds = %1220
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %204, ptr noundef nonnull align 8 dereferenceable(32) %137) #11
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %205, ptr noundef nonnull align 8 dereferenceable(32) %139) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %206, ptr align 4 %39, i64 108, i1 false), !tbaa.struct !24
  %1222 = load i32, ptr %93, align 4, !tbaa !34
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %207, ptr noundef nonnull align 8 dereferenceable(32) %55) #11
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %208, ptr noundef nonnull align 8 dereferenceable(32) %68) #11
  invoke void @_ZNSt6vectorI6TensorSaIS0_EEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %209, ptr noundef nonnull align 8 dereferenceable(24) %154)
          to label %1223 unwind label %1249

1223:                                             ; preds = %1221
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %210, ptr noundef nonnull align 8 dereferenceable(32) %53) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %211, ptr align 4 %26, i64 20, i1 false), !tbaa.struct !36
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %212, ptr align 4 %27, i64 20, i1 false), !tbaa.struct !36
  %1224 = invoke noundef i32 @_Z31depthwise_pointwise_convolutionSt6vectorI6TensorSaIS0_EES0_S0_20ConvolutionParamSpec36DepthwiseConvolutionForwardAlgorithmPvS0_S0_S2_S0_19ActivationParamSpecS6_P8ArchInfo(ptr noundef %203, ptr noundef %204, ptr noundef %205, ptr noundef byval(%struct.ConvolutionParamSpec) align 8 %206, i32 noundef %1222, ptr noundef null, ptr noundef %207, ptr noundef %208, ptr noundef %209, ptr noundef %210, ptr noundef byval(%struct.ActivationParamSpec) align 8 %211, ptr noundef byval(%struct.ActivationParamSpec) align 8 %212, ptr noundef @_ZL15UT_CPU_ARCHINFO)
          to label %1225 unwind label %1253

1225:                                             ; preds = %1223
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %210) #11
  call void @_ZNSt6vectorI6TensorSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %209) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %208) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %207) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %205) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %204) #11
  call void @_ZNSt6vectorI6TensorSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %203) #11
  store i32 %1224, ptr %202, align 4, !tbaa !30
  %1226 = load i32, ptr %202, align 4, !tbaa !30
  %1227 = icmp ne i32 %1226, 0
  br i1 %1227, label %1228, label %1262

1228:                                             ; preds = %1225
  call void @llvm.lifetime.start.p0(i64 4, ptr %213) #11
  %1229 = call i64 (i64, ...) @syscall(i64 noundef 186) #11
  %1230 = trunc i64 %1229 to i32
  store i32 %1230, ptr %213, align 4, !tbaa !5
  %1231 = load i32, ptr %213, align 4, !tbaa !5
  %1232 = invoke i32 (ptr, ...) @printf(ptr noundef @.str, i32 noundef %1231)
          to label %1233 unwind label %1258

1233:                                             ; preds = %1228
  %1234 = load ptr, ptr @stdout, align 8, !tbaa !9
  %1235 = invoke i32 @fflush(ptr noundef %1234)
          to label %1236 unwind label %1258

1236:                                             ; preds = %1233
  %1237 = load i32, ptr %202, align 4, !tbaa !30
  %1238 = invoke ptr @ee2str(i32 noundef %1237)
          to label %1239 unwind label %1258

1239:                                             ; preds = %1236
  %1240 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.2, ptr noundef %1238)
          to label %1241 unwind label %1258

1241:                                             ; preds = %1239
  %1242 = load ptr, ptr @stdout, align 8, !tbaa !9
  %1243 = invoke i32 @fflush(ptr noundef %1242)
          to label %1244 unwind label %1258

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

1245:                                             ; preds = %1220
  %1246 = landingpad { ptr, i32 }
          cleanup
  %1247 = extractvalue { ptr, i32 } %1246, 0
  store ptr %1247, ptr %49, align 8
  %1248 = extractvalue { ptr, i32 } %1246, 1
  store i32 %1248, ptr %50, align 4
  br label %1263

1249:                                             ; preds = %1221
  %1250 = landingpad { ptr, i32 }
          cleanup
  %1251 = extractvalue { ptr, i32 } %1250, 0
  store ptr %1251, ptr %49, align 8
  %1252 = extractvalue { ptr, i32 } %1250, 1
  store i32 %1252, ptr %50, align 4
  br label %1257

1253:                                             ; preds = %1223
  %1254 = landingpad { ptr, i32 }
          cleanup
  %1255 = extractvalue { ptr, i32 } %1254, 0
  store ptr %1255, ptr %49, align 8
  %1256 = extractvalue { ptr, i32 } %1254, 1
  store i32 %1256, ptr %50, align 4
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %210) #11
  call void @_ZNSt6vectorI6TensorSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %209) #11
  br label %1257

1257:                                             ; preds = %1253, %1249
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %208) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %207) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %205) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %204) #11
  call void @_ZNSt6vectorI6TensorSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %203) #11
  br label %1263

1258:                                             ; preds = %1241, %1239, %1236, %1233, %1228
  %1259 = landingpad { ptr, i32 }
          cleanup
  %1260 = extractvalue { ptr, i32 } %1259, 0
  store ptr %1260, ptr %49, align 8
  %1261 = extractvalue { ptr, i32 } %1259, 1
  store i32 %1261, ptr %50, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %213) #11
  br label %1263

1262:                                             ; preds = %1225
  call void @llvm.lifetime.end.p0(i64 4, ptr %202) #11
  br label %1297

1263:                                             ; preds = %1258, %1257, %1245
  call void @llvm.lifetime.end.p0(i64 4, ptr %202) #11
  br label %1301

1264:                                             ; preds = %1217
  call void @llvm.lifetime.start.p0(i64 4, ptr %214) #11
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %215, ptr noundef nonnull align 8 dereferenceable(32) %47) #11
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %216, ptr noundef nonnull align 8 dereferenceable(32) %137) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %217, ptr align 4 %39, i64 108, i1 false), !tbaa.struct !24
  %1265 = load i32, ptr %93, align 4, !tbaa !34
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %218, ptr noundef nonnull align 8 dereferenceable(32) %55) #11
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %219, ptr noundef nonnull align 8 dereferenceable(32) %124) #11
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %220, ptr noundef nonnull align 8 dereferenceable(32) %53) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %221, ptr align 4 %26, i64 20, i1 false), !tbaa.struct !36
  %1266 = invoke noundef i32 @_Z21depthwise_convolution6TensorS_20ConvolutionParamSpec36DepthwiseConvolutionForwardAlgorithmPvS_S_S_19ActivationParamSpecP8ArchInfo(ptr noundef %215, ptr noundef %216, ptr noundef byval(%struct.ConvolutionParamSpec) align 8 %217, i32 noundef %1265, ptr noundef null, ptr noundef %218, ptr noundef %219, ptr noundef %220, ptr noundef byval(%struct.ActivationParamSpec) align 8 %221, ptr noundef @_ZL15UT_CPU_ARCHINFO)
          to label %1267 unwind label %1287

1267:                                             ; preds = %1264
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %220) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %219) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %218) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %216) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %215) #11
  store i32 %1266, ptr %214, align 4, !tbaa !30
  %1268 = load i32, ptr %214, align 4, !tbaa !30
  %1269 = icmp ne i32 %1268, 0
  br i1 %1269, label %1270, label %1295

1270:                                             ; preds = %1267
  call void @llvm.lifetime.start.p0(i64 4, ptr %222) #11
  %1271 = call i64 (i64, ...) @syscall(i64 noundef 186) #11
  %1272 = trunc i64 %1271 to i32
  store i32 %1272, ptr %222, align 4, !tbaa !5
  %1273 = load i32, ptr %222, align 4, !tbaa !5
  %1274 = invoke i32 (ptr, ...) @printf(ptr noundef @.str, i32 noundef %1273)
          to label %1275 unwind label %1291

1275:                                             ; preds = %1270
  %1276 = load ptr, ptr @stdout, align 8, !tbaa !9
  %1277 = invoke i32 @fflush(ptr noundef %1276)
          to label %1278 unwind label %1291

1278:                                             ; preds = %1275
  %1279 = load i32, ptr %214, align 4, !tbaa !30
  %1280 = invoke ptr @ee2str(i32 noundef %1279)
          to label %1281 unwind label %1291

1281:                                             ; preds = %1278
  %1282 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.2, ptr noundef %1280)
          to label %1283 unwind label %1291

1283:                                             ; preds = %1281
  %1284 = load ptr, ptr @stdout, align 8, !tbaa !9
  %1285 = invoke i32 @fflush(ptr noundef %1284)
          to label %1286 unwind label %1291

1286:                                             ; preds = %1283
  call void @exit(i32 noundef 1) #12
  unreachable

1287:                                             ; preds = %1264
  %1288 = landingpad { ptr, i32 }
          cleanup
  %1289 = extractvalue { ptr, i32 } %1288, 0
  store ptr %1289, ptr %49, align 8
  %1290 = extractvalue { ptr, i32 } %1288, 1
  store i32 %1290, ptr %50, align 4
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %220) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %219) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %218) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %216) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %215) #11
  br label %1296

1291:                                             ; preds = %1283, %1281, %1278, %1275, %1270
  %1292 = landingpad { ptr, i32 }
          cleanup
  %1293 = extractvalue { ptr, i32 } %1292, 0
  store ptr %1293, ptr %49, align 8
  %1294 = extractvalue { ptr, i32 } %1292, 1
  store i32 %1294, ptr %50, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %222) #11
  br label %1296

1295:                                             ; preds = %1267
  call void @llvm.lifetime.end.p0(i64 4, ptr %214) #11
  br label %1297

1296:                                             ; preds = %1291, %1287
  call void @llvm.lifetime.end.p0(i64 4, ptr %214) #11
  br label %1301

1297:                                             ; preds = %1295, %1262
  br label %1298

1298:                                             ; preds = %1297
  %1299 = load i32, ptr %201, align 4, !tbaa !5
  %1300 = add nsw i32 %1299, 1
  store i32 %1300, ptr %201, align 4, !tbaa !5
  br label %1200, !llvm.loop !39

1301:                                             ; preds = %1296, %1263
  call void @llvm.lifetime.end.p0(i64 4, ptr %201) #11
  br label %1428

1302:                                             ; preds = %1203
  call void @llvm.lifetime.start.p0(i64 8, ptr %223) #11
  %1303 = invoke noundef double @_Z10ut_time_msv()
          to label %1304 unwind label %1381

1304:                                             ; preds = %1302
  store double %1303, ptr %223, align 8, !tbaa !37
  call void @llvm.lifetime.start.p0(i64 8, ptr %224) #11
  %1305 = load double, ptr %223, align 8, !tbaa !37
  %1306 = load double, ptr %200, align 8, !tbaa !37
  %1307 = fsub double %1305, %1306
  %1308 = fdiv double %1307, 6.000000e+00
  store double %1308, ptr %224, align 8, !tbaa !37
  call void @llvm.lifetime.start.p0(i64 150, ptr %225) #11
  call void @llvm.lifetime.start.p0(i64 120, ptr %226) #11
  %1309 = getelementptr inbounds [120 x i8], ptr %226, i64 0, i64 0
  %1310 = load i32, ptr %10, align 4, !tbaa !5
  %1311 = load i32, ptr %11, align 4, !tbaa !5
  %1312 = load i32, ptr %12, align 4, !tbaa !5
  %1313 = load i32, ptr %13, align 4, !tbaa !5
  %1314 = load i32, ptr %14, align 4, !tbaa !5
  %1315 = load i32, ptr %15, align 4, !tbaa !5
  %1316 = load i32, ptr %16, align 4, !tbaa !5
  %1317 = load i32, ptr %17, align 4, !tbaa !5
  %1318 = load i32, ptr %19, align 4, !tbaa !5
  %1319 = load i32, ptr %20, align 4, !tbaa !5
  %1320 = load i32, ptr %21, align 4, !tbaa !5
  %1321 = load i32, ptr %22, align 4, !tbaa !5
  %1322 = load i32, ptr %23, align 4, !tbaa !5
  %1323 = load i32, ptr %24, align 4, !tbaa !5
  %1324 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef %1309, ptr noundef @.str.3, i32 noundef %1310, i32 noundef %1311, i32 noundef %1312, i32 noundef %1313, i32 noundef %1314, i32 noundef %1315, i32 noundef %1316, i32 noundef %1317, i32 noundef %1318, i32 noundef %1319, i32 noundef %1320, i32 noundef %1321, i32 noundef %1322, i32 noundef %1323) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %227) #11
  store double 0.000000e+00, ptr %227, align 8, !tbaa !37
  %1325 = load i8, ptr %7, align 1, !tbaa !11, !range !22, !noundef !23
  %1326 = trunc i8 %1325 to i1
  br i1 %1326, label %1327, label %1385

1327:                                             ; preds = %1304
  %1328 = getelementptr inbounds [150 x i8], ptr %225, i64 0, i64 0
  %1329 = getelementptr inbounds [120 x i8], ptr %226, i64 0, i64 0
  %1330 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef %1328, ptr noundef @.str.4, ptr noundef @.str.5, ptr noundef %1329) #11
  %1331 = load i32, ptr %10, align 4, !tbaa !5
  %1332 = uitofp i32 %1331 to double
  %1333 = fmul double 2.000000e+00, %1332
  %1334 = load i32, ptr %11, align 4, !tbaa !5
  %1335 = uitofp i32 %1334 to double
  %1336 = fmul double %1333, %1335
  %1337 = load i32, ptr %23, align 4, !tbaa !5
  %1338 = uitofp i32 %1337 to double
  %1339 = fmul double %1336, %1338
  %1340 = load i32, ptr %24, align 4, !tbaa !5
  %1341 = uitofp i32 %1340 to double
  %1342 = fmul double %1339, %1341
  %1343 = load i32, ptr %16, align 4, !tbaa !5
  %1344 = uitofp i32 %1343 to double
  %1345 = fmul double %1342, %1344
  %1346 = load i32, ptr %17, align 4, !tbaa !5
  %1347 = uitofp i32 %1346 to double
  %1348 = load i32, ptr %10, align 4, !tbaa !5
  %1349 = load i32, ptr %11, align 4, !tbaa !5
  %1350 = mul i32 %1348, %1349
  %1351 = load i32, ptr %23, align 4, !tbaa !5
  %1352 = mul i32 %1350, %1351
  %1353 = load i32, ptr %24, align 4, !tbaa !5
  %1354 = mul i32 %1352, %1353
  %1355 = uitofp i32 %1354 to double
  %1356 = call double @llvm.fmuladd.f64(double %1345, double %1347, double %1355)
  %1357 = load i32, ptr %21, align 4, !tbaa !5
  %1358 = uitofp i32 %1357 to double
  %1359 = fmul double 2.000000e+00, %1358
  %1360 = load i32, ptr %22, align 4, !tbaa !5
  %1361 = uitofp i32 %1360 to double
  %1362 = fmul double %1359, %1361
  %1363 = load i32, ptr %23, align 4, !tbaa !5
  %1364 = uitofp i32 %1363 to double
  %1365 = fmul double %1362, %1364
  %1366 = load i32, ptr %24, align 4, !tbaa !5
  %1367 = uitofp i32 %1366 to double
  %1368 = fmul double %1365, %1367
  %1369 = load i32, ptr %11, align 4, !tbaa !5
  %1370 = uitofp i32 %1369 to double
  %1371 = call double @llvm.fmuladd.f64(double %1368, double %1370, double %1356)
  %1372 = load i32, ptr %21, align 4, !tbaa !5
  %1373 = load i32, ptr %22, align 4, !tbaa !5
  %1374 = mul i32 %1372, %1373
  %1375 = load i32, ptr %23, align 4, !tbaa !5
  %1376 = mul i32 %1374, %1375
  %1377 = load i32, ptr %24, align 4, !tbaa !5
  %1378 = mul i32 %1376, %1377
  %1379 = uitofp i32 %1378 to double
  %1380 = fadd double %1371, %1379
  store double %1380, ptr %227, align 8, !tbaa !37
  br label %1408

1381:                                             ; preds = %1302
  %1382 = landingpad { ptr, i32 }
          cleanup
  %1383 = extractvalue { ptr, i32 } %1382, 0
  store ptr %1383, ptr %49, align 8
  %1384 = extractvalue { ptr, i32 } %1382, 1
  store i32 %1384, ptr %50, align 4
  br label %1427

1385:                                             ; preds = %1304
  %1386 = getelementptr inbounds [150 x i8], ptr %225, i64 0, i64 0
  %1387 = getelementptr inbounds [120 x i8], ptr %226, i64 0, i64 0
  %1388 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef %1386, ptr noundef @.str.4, ptr noundef @.str.6, ptr noundef %1387) #11
  %1389 = load i32, ptr %10, align 4, !tbaa !5
  %1390 = uitofp i32 %1389 to double
  %1391 = fmul double 1.000000e+00, %1390
  %1392 = load i32, ptr %11, align 4, !tbaa !5
  %1393 = uitofp i32 %1392 to double
  %1394 = fmul double %1391, %1393
  %1395 = load i32, ptr %23, align 4, !tbaa !5
  %1396 = uitofp i32 %1395 to double
  %1397 = fmul double %1394, %1396
  %1398 = load i32, ptr %24, align 4, !tbaa !5
  %1399 = uitofp i32 %1398 to double
  %1400 = fmul double %1397, %1399
  %1401 = load i32, ptr %16, align 4, !tbaa !5
  %1402 = uitofp i32 %1401 to double
  %1403 = fmul double 2.000000e+00, %1402
  %1404 = load i32, ptr %17, align 4, !tbaa !5
  %1405 = uitofp i32 %1404 to double
  %1406 = call double @llvm.fmuladd.f64(double %1403, double %1405, double 1.000000e+00)
  %1407 = fmul double %1400, %1406
  store double %1407, ptr %227, align 8, !tbaa !37
  br label %1408

1408:                                             ; preds = %1385, %1327
  %1409 = load i32, ptr %8, align 4, !tbaa !13
  %1410 = getelementptr inbounds [150 x i8], ptr %225, i64 0, i64 0
  %1411 = load double, ptr %227, align 8, !tbaa !37
  %1412 = load double, ptr %224, align 8, !tbaa !37
  invoke void @_Z6ut_log8DataTypePcdd(i32 noundef %1409, ptr noundef %1410, double noundef %1411, double noundef %1412)
          to label %1413 unwind label %1422

1413:                                             ; preds = %1408
  %1414 = load ptr, ptr %44, align 8, !tbaa !9
  call void @free(ptr noundef %1414) #11
  %1415 = load ptr, ptr %40, align 8, !tbaa !9
  call void @free(ptr noundef %1415) #11
  %1416 = load ptr, ptr %41, align 8, !tbaa !9
  call void @free(ptr noundef %1416) #11
  %1417 = load i8, ptr %7, align 1, !tbaa !11, !range !22, !noundef !23
  %1418 = trunc i8 %1417 to i1
  br i1 %1418, label %1419, label %1426

1419:                                             ; preds = %1413
  %1420 = load ptr, ptr %42, align 8, !tbaa !9
  call void @free(ptr noundef %1420) #11
  %1421 = load ptr, ptr %43, align 8, !tbaa !9
  call void @free(ptr noundef %1421) #11
  br label %1426

1422:                                             ; preds = %1408
  %1423 = landingpad { ptr, i32 }
          cleanup
  %1424 = extractvalue { ptr, i32 } %1423, 0
  store ptr %1424, ptr %49, align 8
  %1425 = extractvalue { ptr, i32 } %1423, 1
  store i32 %1425, ptr %50, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %227) #11
  call void @llvm.lifetime.end.p0(i64 120, ptr %226) #11
  call void @llvm.lifetime.end.p0(i64 150, ptr %225) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %224) #11
  br label %1427

1426:                                             ; preds = %1419, %1413
  call void @llvm.lifetime.end.p0(i64 8, ptr %227) #11
  call void @llvm.lifetime.end.p0(i64 120, ptr %226) #11
  call void @llvm.lifetime.end.p0(i64 150, ptr %225) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %224) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %223) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %200) #11
  call void @_ZNSt6vectorI6TensorSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %154) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %154) #11
  call void @_ZNSt6vectorI6TensorSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %152) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %152) #11
  call void @_ZNSt6vectorI6TensorSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %150) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %150) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %139) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr %139) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %137) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr %137) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %127) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %126) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %124) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr %124) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %110) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %93) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %92) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %87) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %86) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr %68) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr %67) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %66) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr %66) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr %55) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr %54) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr %53) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr %52) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr %51) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr %48) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr %47) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %43) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %42) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #11
  call void @llvm.lifetime.end.p0(i64 108, ptr %39) #11
  call void @llvm.lifetime.end.p0(i64 92, ptr %33) #11
  call void @llvm.lifetime.end.p0(i64 92, ptr %32) #11
  call void @llvm.lifetime.end.p0(i64 92, ptr %31) #11
  call void @llvm.lifetime.end.p0(i64 92, ptr %30) #11
  call void @llvm.lifetime.end.p0(i64 92, ptr %29) #11
  call void @llvm.lifetime.end.p0(i64 92, ptr %28) #11
  call void @llvm.lifetime.end.p0(i64 20, ptr %27) #11
  call void @llvm.lifetime.end.p0(i64 20, ptr %26) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %10) #11
  ret i32 0

1427:                                             ; preds = %1422, %1381
  call void @llvm.lifetime.end.p0(i64 8, ptr %223) #11
  br label %1428

1428:                                             ; preds = %1427, %1301, %1213
  call void @llvm.lifetime.end.p0(i64 8, ptr %200) #11
  br label %1429

1429:                                             ; preds = %1428, %1212, %1188, %1178, %1123, %1104
  call void @_ZNSt6vectorI6TensorSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %154) #11
  br label %1430

1430:                                             ; preds = %1429, %1058
  call void @llvm.lifetime.end.p0(i64 24, ptr %154) #11
  call void @_ZNSt6vectorI6TensorSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %152) #11
  br label %1431

1431:                                             ; preds = %1430, %1054
  call void @llvm.lifetime.end.p0(i64 24, ptr %152) #11
  call void @_ZNSt6vectorI6TensorSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %150) #11
  br label %1432

1432:                                             ; preds = %1431, %1050
  call void @llvm.lifetime.end.p0(i64 24, ptr %150) #11
  br label %1433

1433:                                             ; preds = %1432, %1018, %985, %946
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %139) #11
  br label %1434

1434:                                             ; preds = %1433, %942
  call void @llvm.lifetime.end.p0(i64 32, ptr %139) #11
  br label %1435

1435:                                             ; preds = %1434, %938
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %137) #11
  br label %1436

1436:                                             ; preds = %1435, %934
  call void @llvm.lifetime.end.p0(i64 32, ptr %137) #11
  br label %1437

1437:                                             ; preds = %1436, %919, %886
  call void @llvm.lifetime.end.p0(i64 4, ptr %127) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %126) #11
  br label %1438

1438:                                             ; preds = %1437, %873
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %124) #11
  br label %1439

1439:                                             ; preds = %1438, %869
  call void @llvm.lifetime.end.p0(i64 32, ptr %124) #11
  br label %1440

1440:                                             ; preds = %1439, %837, %804
  call void @llvm.lifetime.end.p0(i64 4, ptr %110) #11
  br label %1441

1441:                                             ; preds = %1440, %768, %734
  call void @llvm.lifetime.end.p0(i64 4, ptr %93) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %92) #11
  br label %1442

1442:                                             ; preds = %1441, %721, %720
  call void @llvm.lifetime.end.p0(i64 4, ptr %87) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %86) #11
  br label %1443

1443:                                             ; preds = %1442, %657, %624, %585, %581, %577, %573
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #11
  br label %1444

1444:                                             ; preds = %1443, %569
  call void @llvm.lifetime.end.p0(i64 32, ptr %68) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #11
  br label %1445

1445:                                             ; preds = %1444, %565
  call void @llvm.lifetime.end.p0(i64 32, ptr %67) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %66) #11
  br label %1446

1446:                                             ; preds = %1445, %561
  call void @llvm.lifetime.end.p0(i64 32, ptr %66) #11
  br label %1447

1447:                                             ; preds = %1446, %557, %553, %549, %545, %541, %537
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #11
  br label %1448

1448:                                             ; preds = %1447, %533
  call void @llvm.lifetime.end.p0(i64 32, ptr %55) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #11
  br label %1449

1449:                                             ; preds = %1448, %529
  call void @llvm.lifetime.end.p0(i64 32, ptr %54) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #11
  br label %1450

1450:                                             ; preds = %1449, %525
  call void @llvm.lifetime.end.p0(i64 32, ptr %53) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #11
  br label %1451

1451:                                             ; preds = %1450, %521
  call void @llvm.lifetime.end.p0(i64 32, ptr %52) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #11
  br label %1452

1452:                                             ; preds = %1451, %517
  call void @llvm.lifetime.end.p0(i64 32, ptr %51) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #11
  br label %1453

1453:                                             ; preds = %1452, %513
  call void @llvm.lifetime.end.p0(i64 32, ptr %48) #11
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr %47) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %43) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %42) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #11
  call void @llvm.lifetime.end.p0(i64 108, ptr %39) #11
  call void @llvm.lifetime.end.p0(i64 92, ptr %33) #11
  call void @llvm.lifetime.end.p0(i64 92, ptr %32) #11
  call void @llvm.lifetime.end.p0(i64 92, ptr %31) #11
  call void @llvm.lifetime.end.p0(i64 92, ptr %30) #11
  call void @llvm.lifetime.end.p0(i64 92, ptr %29) #11
  call void @llvm.lifetime.end.p0(i64 92, ptr %28) #11
  call void @llvm.lifetime.end.p0(i64 20, ptr %27) #11
  call void @llvm.lifetime.end.p0(i64 20, ptr %26) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %10) #11
  br label %1454

1454:                                             ; preds = %1453
  %1455 = load ptr, ptr %49, align 8
  %1456 = load i32, ptr %50, align 4
  %1457 = insertvalue { ptr, i32 } poison, ptr %1455, 0
  %1458 = insertvalue { ptr, i32 } %1457, i32 %1456, 1
  resume { ptr, i32 } %1458
}

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

; Function Attrs: nounwind
declare i64 @syscall(i64 noundef, ...) #2

declare i32 @printf(ptr noundef, ...) #3

declare i32 @fflush(ptr noundef) #3

; Function Attrs: noreturn nounwind
declare void @exit(i32 noundef) #4

; Function Attrs: inlinehint mustprogress nounwind willreturn memory(read) uwtable
declare i32 @atoi(ptr noundef nonnull) #5

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN19ActivationParamSpecC2Ev(ptr noundef nonnull align 4 dereferenceable(20)) unnamed_addr #6 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN10TensorDescC2Ev(ptr noundef nonnull align 4 dereferenceable(92)) unnamed_addr #6 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_Z9tensor4df8DataType10DataFormatjjjj(ptr dead_on_unwind noalias writable sret(%struct.TensorDesc) align 4, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef) #6

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_Z8tensor1d8DataTypej(ptr dead_on_unwind noalias writable sret(%struct.TensorDesc) align 4, i32 noundef, i32 noundef) #8

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_Z26createConvolutionParamSpecjjjjjjjjjjjjjjjjj15ConvolutionMode(ptr dead_on_unwind noalias writable sret(%struct.ConvolutionParamSpec) align 4, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef) #6

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef ptr @_Z10ut_input_vj8DataType14UT_RANDOM_TYPE(i32 noundef, i32 noundef, i32 noundef) #8

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef i32 @_Z17tensorNumElements10TensorDesc(ptr noundef byval(%struct.TensorDesc) align 8) #6

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6TensorC2E10MemoryType(ptr noundef nonnull align 8 dereferenceable(32), i32 noundef) unnamed_addr #0 align 2

declare i32 @__gxx_personality_v0(...)

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6Tensor6resizeE10TensorDesc(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef byval(%struct.TensorDesc) align 8) #0 align 2

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_Z10UNI_MEMCPYPvPKvm(ptr noundef, ptr noundef, i64 noundef) #8

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef ptr @_Z19get_ptr_from_tensor6Tensor4Arch(ptr noundef, i32 noundef) #8

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef i32 @_Z7bytesOf8DataType(i32 noundef) #8

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

declare noundef i32 @_Z49depthwise_pointwise_convolution_infer_output_sizeP6TensorS_S_20ConvolutionParamSpecS0_8DataTypeP8ArchInfo(ptr noundef, ptr noundef, ptr noundef, ptr noundef byval(%struct.ConvolutionParamSpec) align 8, ptr noundef, i32 noundef, ptr noundef) #3

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local ptr @ee2str(i32 noundef) #6

declare noundef i32 @_Z39depthwise_convolution_infer_output_sizeP6TensorS_20ConvolutionParamSpecS0_8DataTypeP8ArchInfo(ptr noundef, ptr noundef, ptr noundef byval(%struct.ConvolutionParamSpec) align 8, ptr noundef, i32 noundef, ptr noundef) #3

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef i32 @_Z11tensor4dGet10TensorDescP8DataTypeP10DataFormatPjS4_S4_S4_(ptr noundef byval(%struct.TensorDesc) align 8, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef) #6

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6Tensor8get_descEv(ptr dead_on_unwind noalias writable sret(%struct.TensorDesc) align 4, ptr noundef nonnull align 8 dereferenceable(32)) #0 align 2

declare noundef i32 @_Z55depthwise_pointwise_convolution_infer_forward_algorithm6TensorS_S_S_20ConvolutionParamSpec17ConvolutionPolicyP36DepthwiseConvolutionForwardAlgorithm8DataType19ActivationParamSpecS5_P8ArchInfo(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef byval(%struct.ConvolutionParamSpec) align 8, i32 noundef, ptr noundef, i32 noundef, ptr noundef byval(%struct.ActivationParamSpec) align 8, ptr noundef byval(%struct.ActivationParamSpec) align 8, ptr noundef) #3

declare noundef i32 @_Z45depthwise_convolution_infer_forward_algorithm6TensorS_S_20ConvolutionParamSpec17ConvolutionPolicyP36DepthwiseConvolutionForwardAlgorithm8DataType19ActivationParamSpecP8ArchInfo(ptr noundef, ptr noundef, ptr noundef, ptr noundef byval(%struct.ConvolutionParamSpec) align 8, i32 noundef, ptr noundef, i32 noundef, ptr noundef byval(%struct.ActivationParamSpec) align 8, ptr noundef) #3

declare noundef i32 @_Z55depthwise_pointwise_convolution_infer_forward_tmp_bytes6TensorS_S_S_20ConvolutionParamSpec36DepthwiseConvolutionForwardAlgorithmPjP8ArchInfo(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef byval(%struct.ConvolutionParamSpec) align 8, i32 noundef, ptr noundef, ptr noundef) #3

declare noundef i32 @_Z45depthwise_convolution_infer_forward_tmp_bytes6TensorS_S_20ConvolutionParamSpec36DepthwiseConvolutionForwardAlgorithmPjP8ArchInfo(ptr noundef, ptr noundef, ptr noundef, ptr noundef byval(%struct.ConvolutionParamSpec) align 8, i32 noundef, ptr noundef, ptr noundef) #3

declare noundef i32 @_Z54depthwise_pointwise_convolution_transform_filter_bytes6TensorS_20ConvolutionParamSpec36DepthwiseConvolutionForwardAlgorithmPvS2_P8ArchInfo(ptr noundef, ptr noundef, ptr noundef byval(%struct.ConvolutionParamSpec) align 8, i32 noundef, ptr noundef, ptr noundef, ptr noundef) #3

declare noundef i32 @_Z44depthwise_convolution_transform_filter_bytes6Tensor20ConvolutionParamSpec36DepthwiseConvolutionForwardAlgorithmPvP8ArchInfo(ptr noundef, ptr noundef byval(%struct.ConvolutionParamSpec) align 8, i32 noundef, ptr noundef, ptr noundef) #3

declare noundef i32 @_Z48depthwise_pointwise_convolution_transform_filter6TensorS_20ConvolutionParamSpec36DepthwiseConvolutionForwardAlgorithmPS_S2_P8ArchInfo(ptr noundef, ptr noundef, ptr noundef byval(%struct.ConvolutionParamSpec) align 8, i32 noundef, ptr noundef, ptr noundef, ptr noundef) #3

declare noundef i32 @_Z38depthwise_convolution_transform_filter6Tensor20ConvolutionParamSpec36DepthwiseConvolutionForwardAlgorithmPS_P8ArchInfo(ptr noundef, ptr noundef byval(%struct.ConvolutionParamSpec) align 8, i32 noundef, ptr noundef, ptr noundef) #3

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSaI6TensorEC2Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #9 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt6vectorI6TensorSaIS0_EEC2EmRKS0_RKS1_(ptr noundef nonnull align 8 dereferenceable(24), i64 noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #0 align 2

declare noundef i32 @_Z31depthwise_pointwise_convolutionSt6vectorI6TensorSaIS0_EES0_S0_20ConvolutionParamSpec36DepthwiseConvolutionForwardAlgorithmPvS0_S0_S2_S0_19ActivationParamSpecS6_P8ArchInfo(ptr noundef, ptr noundef, ptr noundef, ptr noundef byval(%struct.ConvolutionParamSpec) align 8, i32 noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef byval(%struct.ActivationParamSpec) align 8, ptr noundef byval(%struct.ActivationParamSpec) align 8, ptr noundef) #3

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt6vectorI6TensorSaIS0_EEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #0 align 2

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

declare noundef i32 @_Z21depthwise_convolution6TensorS_20ConvolutionParamSpec36DepthwiseConvolutionForwardAlgorithmPvS_S_S_19ActivationParamSpecP8ArchInfo(ptr noundef, ptr noundef, ptr noundef byval(%struct.ConvolutionParamSpec) align 8, i32 noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef byval(%struct.ActivationParamSpec) align 8, ptr noundef) #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_Z10ut_check_vPvS_j8DataTypef(ptr noundef, ptr noundef, i32 noundef, i32 noundef, float noundef) #8

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZN6Tensor6lengthEv(ptr noundef nonnull align 8 dereferenceable(32)) #0 align 2

declare noundef double @_Z10ut_time_msv() #3

; Function Attrs: nounwind
declare i32 @sprintf(ptr noundef, ptr noundef, ...) #2

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare double @llvm.fmuladd.f64(double, double, double) #10

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_Z6ut_log8DataTypePcdd(i32 noundef, ptr noundef, double noundef, double noundef) #8

; Function Attrs: nounwind
declare void @free(ptr noundef) #2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt15__new_allocatorI6TensorED2Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #9 align 2

attributes #0 = { 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 #1 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { noreturn nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { inlinehint mustprogress nounwind willreturn memory(read) uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { inlinehint mustprogress 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 #7 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #8 = { 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 #9 = { 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 #10 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #11 = { nounwind }
attributes #12 = { noreturn nounwind }
attributes #13 = { nounwind willreturn memory(read) }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"any pointer", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"bool", !7, i64 0}
!13 = !{!14, !14, i64 0}
!14 = !{!"_ZTS8DataType", !7, i64 0}
!15 = !{!16, !17, i64 0}
!16 = !{!"_ZTS19ActivationParamSpec", !17, i64 0, !7, i64 4}
!17 = !{!"_ZTS14ActivationMode", !7, i64 0}
!18 = !{i64 0, i64 4, !13, i64 4, i64 4, !19, i64 8, i64 4, !5, i64 12, i64 80, !21}
!19 = !{!20, !20, i64 0}
!20 = !{!"_ZTS10DataFormat", !7, i64 0}
!21 = !{!7, !7, i64 0}
!22 = !{i8 0, i8 2}
!23 = !{}
!24 = !{i64 0, i64 4, !5, i64 4, i64 4, !5, i64 8, i64 4, !5, i64 12, i64 4, !5, i64 16, i64 4, !5, i64 20, i64 4, !5, i64 24, i64 4, !5, i64 28, i64 4, !5, i64 32, i64 4, !5, i64 36, i64 4, !5, i64 40, i64 4, !5, i64 44, i64 4, !5, i64 48, i64 4, !5, i64 52, i64 4, !5, i64 56, i64 4, !5, i64 60, i64 4, !5, i64 64, i64 4, !5, i64 68, i64 4, !5, i64 72, i64 4, !25, i64 76, i64 4, !27, i64 80, i64 4, !27, i64 84, i64 8, !21, i64 92, i64 4, !28, i64 96, i64 4, !5, i64 100, i64 4, !5, i64 104, i64 4, !5}
!25 = !{!26, !26, i64 0}
!26 = !{!"_ZTS15ConvolutionMode", !7, i64 0}
!27 = !{!17, !17, i64 0}
!28 = !{!29, !29, i64 0}
!29 = !{!"_ZTS9RoundMode", !7, i64 0}
!30 = !{!31, !31, i64 0}
!31 = !{!"_ZTS2EE", !7, i64 0}
!32 = !{!33, !33, i64 0}
!33 = !{!"_ZTS17ConvolutionPolicy", !7, i64 0}
!34 = !{!35, !35, i64 0}
!35 = !{!"_ZTS36DepthwiseConvolutionForwardAlgorithm", !7, i64 0}
!36 = !{i64 0, i64 4, !27, i64 4, i64 16, !21}
!37 = !{!38, !38, i64 0}
!38 = !{!"double", !7, i64 0}
!39 = distinct !{!39, !40}
!40 = !{!"llvm.loop.mustprogress"}


; 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.ArchInfo = type { i32, ptr }
%struct.ActivationParamSpec = type { i32, [4 x float] }
%struct.TensorDesc = type { i32, i32, i32, [20 x i32] }
%struct.ConvolutionParamSpec = type { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, %union.ActivationSpec, i32, i32, i32, i32 }
%union.ActivationSpec = type { %struct.ClipParamSpec }
%struct.ClipParamSpec = type { float, float }
%class.Tensor = type { %"class.std::shared_ptr", %"class.std::shared_ptr.0" }
%"class.std::shared_ptr" = type { %"class.std::__shared_ptr" }
%"class.std::__shared_ptr" = type { ptr, %"class.std::__shared_count" }
%"class.std::__shared_count" = type { ptr }
%"class.std::shared_ptr.0" = type { %"class.std::__shared_ptr.1" }
%"class.std::__shared_ptr.1" = type { ptr, %"class.std::__shared_count" }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<Tensor, std::allocator<Tensor>>::_Vector_impl" }
%"struct.std::_Vector_base<Tensor, std::allocator<Tensor>>::_Vector_impl" = type { %"struct.std::_Vector_base<Tensor, std::allocator<Tensor>>::_Vector_impl_data" }
%"struct.std::_Vector_base<Tensor, std::allocator<Tensor>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::allocator" = type { i8 }

@.str = external hidden unnamed_addr constant [20 x i8], align 1
@stdout = external local_unnamed_addr global ptr, align 8
@.str.1 = external hidden unnamed_addr constant [23 x i8], align 1
@_ZL15UT_CPU_ARCHINFO = external hidden global %struct.ArchInfo, align 8
@.str.2 = external hidden unnamed_addr constant [18 x i8], align 1
@_ZL18UT_SERIAL_ARCHINFO = external hidden global %struct.ArchInfo, align 8
@.str.3 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [21 x i8], align 1

; Function Attrs: mustprogress uwtable
define dso_local noundef i32 @_Z24depthwiseConvolutionTestiPPcb8DataType(i32 noundef %0, ptr nocapture noundef readonly %1, i1 noundef zeroext %2, i32 noundef %3) local_unnamed_addr #0 personality ptr @__gxx_personality_v0 {
  %5 = alloca i32, align 4
  %6 = alloca i32, align 4
  %7 = alloca i32, align 4
  %8 = alloca i32, align 4
  %9 = alloca %struct.ActivationParamSpec, align 8
  %10 = alloca %struct.ActivationParamSpec, align 8
  %11 = alloca %struct.TensorDesc, align 8
  %12 = alloca %struct.TensorDesc, align 8
  %13 = alloca %struct.TensorDesc, align 8
  %14 = alloca %struct.TensorDesc, align 4
  %15 = alloca %struct.TensorDesc, align 8
  %16 = alloca %struct.TensorDesc, align 8
  %17 = alloca %struct.TensorDesc, align 4
  %18 = alloca %struct.TensorDesc, align 4
  %19 = alloca %struct.TensorDesc, align 4
  %20 = alloca %struct.TensorDesc, align 4
  %21 = alloca %struct.TensorDesc, align 4
  %22 = alloca %struct.ConvolutionParamSpec, align 8
  %23 = alloca %class.Tensor, align 8
  %24 = alloca %class.Tensor, align 8
  %25 = alloca %class.Tensor, align 8
  %26 = alloca %class.Tensor, align 8
  %27 = alloca %class.Tensor, align 8
  %28 = alloca %class.Tensor, align 8
  %29 = alloca %class.Tensor, align 8
  %30 = alloca %class.Tensor, align 8
  %31 = alloca %class.Tensor, align 8
  %32 = alloca %class.Tensor, align 8
  %33 = alloca %class.Tensor, align 8
  %34 = alloca %class.Tensor, align 8
  %35 = alloca %class.Tensor, align 8
  %36 = alloca %class.Tensor, align 8
  %37 = alloca %class.Tensor, align 8
  %38 = alloca %class.Tensor, align 8
  %39 = alloca %class.Tensor, align 8
  %40 = alloca %class.Tensor, align 8
  %41 = alloca %class.Tensor, align 8
  %42 = alloca %class.Tensor, align 8
  %43 = alloca %class.Tensor, align 8
  %44 = alloca i32, align 4
  %45 = alloca i32, align 4
  %46 = alloca %struct.TensorDesc, align 8
  %47 = alloca %struct.TensorDesc, align 8
  %48 = alloca i32, align 4
  %49 = alloca %class.Tensor, align 8
  %50 = alloca %class.Tensor, align 8
  %51 = alloca %class.Tensor, align 8
  %52 = alloca %class.Tensor, align 8
  %53 = alloca %class.Tensor, align 8
  %54 = alloca %class.Tensor, align 8
  %55 = alloca %class.Tensor, align 8
  %56 = alloca i32, align 4
  %57 = alloca %class.Tensor, align 8
  %58 = alloca %class.Tensor, align 8
  %59 = alloca %class.Tensor, align 8
  %60 = alloca %class.Tensor, align 8
  %61 = alloca %class.Tensor, align 8
  %62 = alloca %class.Tensor, align 8
  %63 = alloca %class.Tensor, align 8
  %64 = alloca %class.Tensor, align 8
  %65 = alloca %struct.TensorDesc, align 8
  %66 = alloca i32, align 4
  %67 = alloca i32, align 4
  %68 = alloca %class.Tensor, align 8
  %69 = alloca %class.Tensor, align 8
  %70 = alloca %class.Tensor, align 8
  %71 = alloca %class.Tensor, align 8
  %72 = alloca %struct.TensorDesc, align 8
  %73 = alloca %class.Tensor, align 8
  %74 = alloca %struct.TensorDesc, align 8
  %75 = alloca %class.Tensor, align 8
  %76 = alloca %class.Tensor, align 8
  %77 = alloca %class.Tensor, align 8
  %78 = alloca %"class.std::vector", align 8
  %79 = alloca %"class.std::allocator", align 1
  %80 = alloca %"class.std::vector", align 8
  %81 = alloca %"class.std::allocator", align 1
  %82 = alloca %"class.std::vector", align 8
  %83 = alloca %"class.std::allocator", align 1
  %84 = alloca %"class.std::vector", align 8
  %85 = alloca %class.Tensor, align 8
  %86 = alloca %class.Tensor, align 8
  %87 = alloca %struct.ConvolutionParamSpec, align 8
  %88 = alloca %class.Tensor, align 8
  %89 = alloca %class.Tensor, align 8
  %90 = alloca %"class.std::vector", align 8
  %91 = alloca %class.Tensor, align 8
  %92 = alloca %"class.std::vector", align 8
  %93 = alloca %class.Tensor, align 8
  %94 = alloca %class.Tensor, align 8
  %95 = alloca %struct.ConvolutionParamSpec, align 8
  %96 = alloca %class.Tensor, align 8
  %97 = alloca %class.Tensor, align 8
  %98 = alloca %"class.std::vector", align 8
  %99 = alloca %class.Tensor, align 8
  %100 = alloca %class.Tensor, align 8
  %101 = alloca %class.Tensor, align 8
  %102 = alloca %struct.ConvolutionParamSpec, align 8
  %103 = alloca %class.Tensor, align 8
  %104 = alloca %class.Tensor, align 8
  %105 = alloca %class.Tensor, align 8
  %106 = alloca %class.Tensor, align 8
  %107 = alloca %class.Tensor, align 8
  %108 = alloca %struct.ConvolutionParamSpec, align 8
  %109 = alloca %class.Tensor, align 8
  %110 = alloca %class.Tensor, align 8
  %111 = alloca %class.Tensor, align 8
  %112 = alloca %class.Tensor, align 8
  %113 = alloca %class.Tensor, align 8
  %114 = alloca %"class.std::vector", align 8
  %115 = alloca %class.Tensor, align 8
  %116 = alloca %class.Tensor, align 8
  %117 = alloca %struct.ConvolutionParamSpec, align 8
  %118 = alloca %class.Tensor, align 8
  %119 = alloca %class.Tensor, align 8
  %120 = alloca %"class.std::vector", align 8
  %121 = alloca %class.Tensor, align 8
  %122 = alloca %class.Tensor, align 8
  %123 = alloca %class.Tensor, align 8
  %124 = alloca %struct.ConvolutionParamSpec, align 8
  %125 = alloca %class.Tensor, align 8
  %126 = alloca %class.Tensor, align 8
  %127 = alloca %class.Tensor, align 8
  %128 = alloca [150 x i8], align 16
  %129 = alloca [120 x i8], align 16
  %130 = icmp eq i32 %0, 16
  br i1 %130, label %140, label %131

131:                                              ; preds = %4
  %132 = tail call i64 (i64, ...) @syscall(i64 noundef 186) #13
  %133 = trunc i64 %132 to i32
  %134 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str, i32 noundef %133)
  %135 = load ptr, ptr @stdout, align 8, !tbaa !5
  %136 = tail call i32 @fflush(ptr noundef %135)
  %137 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.1)
  %138 = load ptr, ptr @stdout, align 8, !tbaa !5
  %139 = tail call i32 @fflush(ptr noundef %138)
  tail call void @exit(i32 noundef 1) #14
  unreachable

140:                                              ; preds = %4
  %141 = getelementptr inbounds i8, ptr %1, i64 8
  %142 = load ptr, ptr %141, align 8, !tbaa !5
  %143 = tail call i32 @atoi(ptr nocapture noundef %142) #15
  %144 = getelementptr inbounds i8, ptr %1, i64 16
  %145 = load ptr, ptr %144, align 8, !tbaa !5
  %146 = tail call i32 @atoi(ptr nocapture noundef %145) #15
  %147 = getelementptr inbounds i8, ptr %1, i64 24
  %148 = load ptr, ptr %147, align 8, !tbaa !5
  %149 = tail call i32 @atoi(ptr nocapture noundef %148) #15
  %150 = getelementptr inbounds i8, ptr %1, i64 32
  %151 = load ptr, ptr %150, align 8, !tbaa !5
  %152 = tail call i32 @atoi(ptr nocapture noundef %151) #15
  %153 = getelementptr inbounds i8, ptr %1, i64 40
  %154 = load ptr, ptr %153, align 8, !tbaa !5
  %155 = tail call i32 @atoi(ptr nocapture noundef %154) #15
  %156 = getelementptr inbounds i8, ptr %1, i64 48
  %157 = load ptr, ptr %156, align 8, !tbaa !5
  %158 = tail call i32 @atoi(ptr nocapture noundef %157) #15
  %159 = getelementptr inbounds i8, ptr %1, i64 56
  %160 = load ptr, ptr %159, align 8, !tbaa !5
  %161 = tail call i32 @atoi(ptr nocapture noundef %160) #15
  %162 = getelementptr inbounds i8, ptr %1, i64 64
  %163 = load ptr, ptr %162, align 8, !tbaa !5
  %164 = tail call i32 @atoi(ptr nocapture noundef %163) #15
  %165 = getelementptr inbounds i8, ptr %1, i64 72
  %166 = load ptr, ptr %165, align 8, !tbaa !5
  %167 = tail call i32 @atoi(ptr nocapture noundef %166) #15
  %168 = getelementptr inbounds i8, ptr %1, i64 80
  %169 = load ptr, ptr %168, align 8, !tbaa !5
  %170 = tail call i32 @atoi(ptr nocapture noundef %169) #15
  %171 = getelementptr inbounds i8, ptr %1, i64 88
  %172 = load ptr, ptr %171, align 8, !tbaa !5
  %173 = tail call i32 @atoi(ptr nocapture noundef %172) #15
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %5) #13
  %174 = getelementptr inbounds i8, ptr %1, i64 96
  %175 = load ptr, ptr %174, align 8, !tbaa !5
  %176 = tail call i32 @atoi(ptr nocapture noundef %175) #15
  store i32 %176, ptr %5, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %6) #13
  %177 = getelementptr inbounds i8, ptr %1, i64 104
  %178 = load ptr, ptr %177, align 8, !tbaa !5
  %179 = tail call i32 @atoi(ptr nocapture noundef %178) #15
  store i32 %179, ptr %6, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %7) #13
  %180 = getelementptr inbounds i8, ptr %1, i64 112
  %181 = load ptr, ptr %180, align 8, !tbaa !5
  %182 = tail call i32 @atoi(ptr nocapture noundef %181) #15
  store i32 %182, ptr %7, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %8) #13
  %183 = getelementptr inbounds i8, ptr %1, i64 120
  %184 = load ptr, ptr %183, align 8, !tbaa !5
  %185 = tail call i32 @atoi(ptr nocapture noundef %184) #15
  store i32 %185, ptr %8, align 4, !tbaa !9
  %186 = icmp eq i32 %143, 1
  %187 = icmp eq i32 %176, 1
  %or.cond = select i1 %186, i1 %187, i1 false
  br i1 %or.cond, label %197, label %188

188:                                              ; preds = %140
  %189 = tail call i64 (i64, ...) @syscall(i64 noundef 186) #13
  %190 = trunc i64 %189 to i32
  %191 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str, i32 noundef %190)
  %192 = load ptr, ptr @stdout, align 8, !tbaa !5
  %193 = tail call i32 @fflush(ptr noundef %192)
  %194 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.1)
  %195 = load ptr, ptr @stdout, align 8, !tbaa !5
  %196 = tail call i32 @fflush(ptr noundef %195)
  tail call void @exit(i32 noundef 1) #14
  unreachable

197:                                              ; preds = %140
  call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %9) #13
  call void @_ZN19ActivationParamSpecC2Ev(ptr noundef nonnull align 4 dereferenceable(20) %9) #13
  call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %10) #13
  call void @_ZN19ActivationParamSpecC2Ev(ptr noundef nonnull align 4 dereferenceable(20) %10) #13
  store i32 0, ptr %9, align 8, !tbaa !11
  store i32 0, ptr %10, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 92, ptr nonnull %11) #13
  call void @_ZN10TensorDescC2Ev(ptr noundef nonnull align 4 dereferenceable(92) %11) #13
  call void @llvm.lifetime.start.p0(i64 92, ptr nonnull %12) #13
  call void @_ZN10TensorDescC2Ev(ptr noundef nonnull align 4 dereferenceable(92) %12) #13
  call void @llvm.lifetime.start.p0(i64 92, ptr nonnull %13) #13
  call void @_ZN10TensorDescC2Ev(ptr noundef nonnull align 4 dereferenceable(92) %13) #13
  call void @llvm.lifetime.start.p0(i64 92, ptr nonnull %14) #13
  call void @_ZN10TensorDescC2Ev(ptr noundef nonnull align 4 dereferenceable(92) %14) #13
  call void @llvm.lifetime.start.p0(i64 92, ptr nonnull %15) #13
  call void @_ZN10TensorDescC2Ev(ptr noundef nonnull align 4 dereferenceable(92) %15) #13
  call void @llvm.lifetime.start.p0(i64 92, ptr nonnull %16) #13
  call void @_ZN10TensorDescC2Ev(ptr noundef nonnull align 4 dereferenceable(92) %16) #13
  call void @llvm.lifetime.start.p0(i64 92, ptr nonnull %17) #13
  call void @_Z9tensor4df8DataType10DataFormatjjjj(ptr dead_on_unwind nonnull writable sret(%struct.TensorDesc) align 4 %17, i32 noundef %3, i32 noundef 2, i32 noundef 1, i32 noundef %146, i32 noundef %149, i32 noundef %152)
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(92) %11, ptr noundef nonnull align 4 dereferenceable(92) %17, i64 92, i1 false), !tbaa.struct !14
  call void @llvm.lifetime.end.p0(i64 92, ptr nonnull %17) #13
  call void @llvm.lifetime.start.p0(i64 92, ptr nonnull %18) #13
  call void @_Z9tensor4df8DataType10DataFormatjjjj(ptr dead_on_unwind nonnull writable sret(%struct.TensorDesc) align 4 %18, i32 noundef %3, i32 noundef 0, i32 noundef 1, i32 noundef %146, i32 noundef %161, i32 noundef %164)
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(92) %12, ptr noundef nonnull align 4 dereferenceable(92) %18, i64 92, i1 false), !tbaa.struct !14
  call void @llvm.lifetime.end.p0(i64 92, ptr nonnull %18) #13
  call void @llvm.lifetime.start.p0(i64 92, ptr nonnull %19) #13
  call void @_Z8tensor1d8DataTypej(ptr dead_on_unwind nonnull writable sret(%struct.TensorDesc) align 4 %19, i32 noundef %3, i32 noundef %146)
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(92) %15, ptr noundef nonnull align 4 dereferenceable(92) %19, i64 92, i1 false), !tbaa.struct !14
  call void @llvm.lifetime.end.p0(i64 92, ptr nonnull %19) #13
  br i1 %2, label %198, label %201

198:                                              ; preds = %197
  call void @llvm.lifetime.start.p0(i64 92, ptr nonnull %20) #13
  %199 = load i32, ptr %6, align 4, !tbaa !9
  call void @_Z9tensor4df8DataType10DataFormatjjjj(ptr dead_on_unwind nonnull writable sret(%struct.TensorDesc) align 4 %20, i32 noundef %3, i32 noundef 0, i32 noundef %199, i32 noundef %146, i32 noundef 1, i32 noundef 1)
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(92) %13, ptr noundef nonnull align 4 dereferenceable(92) %20, i64 92, i1 false), !tbaa.struct !14
  call void @llvm.lifetime.end.p0(i64 92, ptr nonnull %20) #13
  call void @llvm.lifetime.start.p0(i64 92, ptr nonnull %21) #13
  %200 = load i32, ptr %6, align 4, !tbaa !9
  call void @_Z8tensor1d8DataTypej(ptr dead_on_unwind nonnull writable sret(%struct.TensorDesc) align 4 %21, i32 noundef %3, i32 noundef %200)
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(92) %16, ptr noundef nonnull align 4 dereferenceable(92) %21, i64 92, i1 false), !tbaa.struct !14
  call void @llvm.lifetime.end.p0(i64 92, ptr nonnull %21) #13
  br label %201

201:                                              ; preds = %198, %197
  call void @llvm.lifetime.start.p0(i64 108, ptr nonnull %22) #13
  call void @_Z26createConvolutionParamSpecjjjjjjjjjjjjjjjjj15ConvolutionMode(ptr dead_on_unwind nonnull writable sret(%struct.ConvolutionParamSpec) align 4 %22, i32 noundef %167, i32 noundef 1, i32 noundef %161, i32 noundef %164, i32 noundef 1, i32 noundef %170, i32 noundef %170, i32 noundef 0, i32 noundef 0, i32 noundef %173, i32 noundef %173, i32 noundef %173, i32 noundef %173, i32 noundef 1, i32 noundef 1, i32 noundef 1, i32 noundef %155, i32 noundef 2)
  %202 = mul i32 %149, %146
  %203 = mul i32 %202, %152
  %204 = call noundef ptr @_Z10ut_input_vj8DataType14UT_RANDOM_TYPE(i32 noundef %203, i32 noundef %3, i32 noundef 0)
  %205 = call noundef i32 @_Z17tensorNumElements10TensorDesc(ptr noundef nonnull byval(%struct.TensorDesc) align 8 %12)
  %206 = call noundef ptr @_Z10ut_input_vj8DataType14UT_RANDOM_TYPE(i32 noundef %205, i32 noundef %3, i32 noundef 0)
  %207 = call noundef i32 @_Z17tensorNumElements10TensorDesc(ptr noundef nonnull byval(%struct.TensorDesc) align 8 %15)
  %208 = call noundef ptr @_Z10ut_input_vj8DataType14UT_RANDOM_TYPE(i32 noundef %207, i32 noundef %3, i32 noundef 0)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %23) #13
  call void @_ZN6TensorC2E10MemoryType(ptr noundef nonnull align 8 dereferenceable(32) %23, i32 noundef 1)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %24) #13
  invoke void @_ZN6TensorC2E10MemoryType(ptr noundef nonnull align 8 dereferenceable(32) %24, i32 noundef 1)
          to label %209 unwind label %303

209:                                              ; preds = %201
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %25) #13
  invoke void @_ZN6TensorC2E10MemoryType(ptr noundef nonnull align 8 dereferenceable(32) %25, i32 noundef 1)
          to label %210 unwind label %305

210:                                              ; preds = %209
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %26) #13
  invoke void @_ZN6TensorC2E10MemoryType(ptr noundef nonnull align 8 dereferenceable(32) %26, i32 noundef 1)
          to label %211 unwind label %307

211:                                              ; preds = %210
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %27) #13
  invoke void @_ZN6TensorC2E10MemoryType(ptr noundef nonnull align 8 dereferenceable(32) %27, i32 noundef 1)
          to label %212 unwind label %309

212:                                              ; preds = %211
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %28) #13
  invoke void @_ZN6TensorC2E10MemoryType(ptr noundef nonnull align 8 dereferenceable(32) %28, i32 noundef 1)
          to label %213 unwind label %311

213:                                              ; preds = %212
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %29) #13
  invoke void @_ZN6TensorC2E10MemoryType(ptr noundef nonnull align 8 dereferenceable(32) %29, i32 noundef 1)
          to label %214 unwind label %313

214:                                              ; preds = %213
  invoke void @_ZN6Tensor6resizeE10TensorDesc(ptr noundef nonnull align 8 dereferenceable(32) %23, ptr noundef nonnull byval(%struct.TensorDesc) align 8 %11)
          to label %215 unwind label %315

215:                                              ; preds = %214
  invoke void @_ZN6Tensor6resizeE10TensorDesc(ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef nonnull byval(%struct.TensorDesc) align 8 %11)
          to label %216 unwind label %315

216:                                              ; preds = %215
  invoke void @_ZN6Tensor6resizeE10TensorDesc(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull byval(%struct.TensorDesc) align 8 %12)
          to label %217 unwind label %315

217:                                              ; preds = %216
  invoke void @_ZN6Tensor6resizeE10TensorDesc(ptr noundef nonnull align 8 dereferenceable(32) %26, ptr noundef nonnull byval(%struct.TensorDesc) align 8 %12)
          to label %218 unwind label %315

218:                                              ; preds = %217
  invoke void @_ZN6Tensor6resizeE10TensorDesc(ptr noundef nonnull align 8 dereferenceable(32) %29, ptr noundef nonnull byval(%struct.TensorDesc) align 8 %15)
          to label %219 unwind label %315

219:                                              ; preds = %218
  invoke void @_ZN6Tensor5allocEv(ptr noundef nonnull align 8 dereferenceable(32) %23)
          to label %220 unwind label %315

220:                                              ; preds = %219
  invoke void @_ZN6Tensor5allocEv(ptr noundef nonnull align 8 dereferenceable(32) %24)
          to label %221 unwind label %315

221:                                              ; preds = %220
  invoke void @_ZN6Tensor5allocEv(ptr noundef nonnull align 8 dereferenceable(32) %25)
          to label %222 unwind label %315

222:                                              ; preds = %221
  invoke void @_ZN6Tensor5allocEv(ptr noundef nonnull align 8 dereferenceable(32) %26)
          to label %223 unwind label %315

223:                                              ; preds = %222
  invoke void @_ZN6Tensor5allocEv(ptr noundef nonnull align 8 dereferenceable(32) %29)
          to label %224 unwind label %315

224:                                              ; preds = %223
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef nonnull align 8 dereferenceable(32) %23) #13
  %225 = invoke noundef ptr @_Z19get_ptr_from_tensor6Tensor4Arch(ptr noundef nonnull %30, i32 noundef 1)
          to label %226 unwind label %317

226:                                              ; preds = %224
  %227 = invoke noundef i32 @_Z7bytesOf8DataType(i32 noundef %3)
          to label %228 unwind label %317

228:                                              ; preds = %226
  %229 = mul i32 %203, %227
  %230 = zext i32 %229 to i64
  invoke void @_Z10UNI_MEMCPYPvPKvm(ptr noundef %225, ptr noundef %204, i64 noundef %230)
          to label %231 unwind label %317

231:                                              ; preds = %228
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #13
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %31, ptr noundef nonnull align 8 dereferenceable(32) %24) #13
  %232 = invoke noundef ptr @_Z19get_ptr_from_tensor6Tensor4Arch(ptr noundef nonnull %31, i32 noundef 1)
          to label %233 unwind label %319

233:                                              ; preds = %231
  %234 = invoke noundef i32 @_Z7bytesOf8DataType(i32 noundef %3)
          to label %235 unwind label %319

235:                                              ; preds = %233
  %236 = mul i32 %203, %234
  %237 = zext i32 %236 to i64
  invoke void @_Z10UNI_MEMCPYPvPKvm(ptr noundef %232, ptr noundef %204, i64 noundef %237)
          to label %238 unwind label %319

238:                                              ; preds = %235
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #13
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %32, ptr noundef nonnull align 8 dereferenceable(32) %25) #13
  %239 = invoke noundef ptr @_Z19get_ptr_from_tensor6Tensor4Arch(ptr noundef nonnull %32, i32 noundef 1)
          to label %240 unwind label %321

240:                                              ; preds = %238
  %241 = invoke noundef i32 @_Z7bytesOf8DataType(i32 noundef %3)
          to label %242 unwind label %321

242:                                              ; preds = %240
  %243 = mul i32 %161, %146
  %244 = mul i32 %243, %164
  %245 = mul i32 %244, %241
  %246 = zext i32 %245 to i64
  invoke void @_Z10UNI_MEMCPYPvPKvm(ptr noundef %239, ptr noundef %206, i64 noundef %246)
          to label %247 unwind label %321

247:                                              ; preds = %242
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #13
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %33, ptr noundef nonnull align 8 dereferenceable(32) %26) #13
  %248 = invoke noundef ptr @_Z19get_ptr_from_tensor6Tensor4Arch(ptr noundef nonnull %33, i32 noundef 1)
          to label %249 unwind label %323

249:                                              ; preds = %247
  %250 = invoke noundef i32 @_Z7bytesOf8DataType(i32 noundef %3)
          to label %251 unwind label %323

251:                                              ; preds = %249
  %252 = mul i32 %244, %250
  %253 = zext i32 %252 to i64
  invoke void @_Z10UNI_MEMCPYPvPKvm(ptr noundef %248, ptr noundef %206, i64 noundef %253)
          to label %254 unwind label %323

254:                                              ; preds = %251
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #13
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %34, ptr noundef nonnull align 8 dereferenceable(32) %29) #13
  %255 = invoke noundef ptr @_Z19get_ptr_from_tensor6Tensor4Arch(ptr noundef nonnull %34, i32 noundef 1)
          to label %256 unwind label %325

256:                                              ; preds = %254
  %257 = invoke noundef i32 @_Z7bytesOf8DataType(i32 noundef %3)
          to label %258 unwind label %325

258:                                              ; preds = %256
  %259 = mul i32 %257, %146
  %260 = zext i32 %259 to i64
  invoke void @_Z10UNI_MEMCPYPvPKvm(ptr noundef %255, ptr noundef %208, i64 noundef %260)
          to label %261 unwind label %325

261:                                              ; preds = %258
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #13
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %35) #13
  invoke void @_ZN6TensorC2E10MemoryType(ptr noundef nonnull align 8 dereferenceable(32) %35, i32 noundef 1)
          to label %262 unwind label %327

262:                                              ; preds = %261
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %36) #13
  invoke void @_ZN6TensorC2E10MemoryType(ptr noundef nonnull align 8 dereferenceable(32) %36, i32 noundef 1)
          to label %263 unwind label %329

263:                                              ; preds = %262
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %37) #13
  invoke void @_ZN6TensorC2E10MemoryType(ptr noundef nonnull align 8 dereferenceable(32) %37, i32 noundef 1)
          to label %264 unwind label %331

264:                                              ; preds = %263
  br i1 %2, label %265, label %356

265:                                              ; preds = %264
  %266 = call noundef i32 @_Z17tensorNumElements10TensorDesc(ptr noundef nonnull byval(%struct.TensorDesc) align 8 %13)
  %267 = invoke noundef ptr @_Z10ut_input_vj8DataType14UT_RANDOM_TYPE(i32 noundef %266, i32 noundef %3, i32 noundef 0)
          to label %268 unwind label %333

268:                                              ; preds = %265
  %269 = call noundef i32 @_Z17tensorNumElements10TensorDesc(ptr noundef nonnull byval(%struct.TensorDesc) align 8 %16)
  %270 = invoke noundef ptr @_Z10ut_input_vj8DataType14UT_RANDOM_TYPE(i32 noundef %269, i32 noundef %3, i32 noundef 0)
          to label %271 unwind label %333

271:                                              ; preds = %268
  invoke void @_ZN6Tensor6resizeE10TensorDesc(ptr noundef nonnull align 8 dereferenceable(32) %35, ptr noundef nonnull byval(%struct.TensorDesc) align 8 %13)
          to label %272 unwind label %333

272:                                              ; preds = %271
  invoke void @_ZN6Tensor6resizeE10TensorDesc(ptr noundef nonnull align 8 dereferenceable(32) %36, ptr noundef nonnull byval(%struct.TensorDesc) align 8 %13)
          to label %273 unwind label %333

273:                                              ; preds = %272
  invoke void @_ZN6Tensor6resizeE10TensorDesc(ptr noundef nonnull align 8 dereferenceable(32) %37, ptr noundef nonnull byval(%struct.TensorDesc) align 8 %16)
          to label %274 unwind label %333

274:                                              ; preds = %273
  invoke void @_ZN6Tensor5allocEv(ptr noundef nonnull align 8 dereferenceable(32) %35)
          to label %275 unwind label %333

275:                                              ; preds = %274
  invoke void @_ZN6Tensor5allocEv(ptr noundef nonnull align 8 dereferenceable(32) %36)
          to label %276 unwind label %333

276:                                              ; preds = %275
  invoke void @_ZN6Tensor5allocEv(ptr noundef nonnull align 8 dereferenceable(32) %37)
          to label %277 unwind label %333

277:                                              ; preds = %276
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %38, ptr noundef nonnull align 8 dereferenceable(32) %35) #13
  %278 = invoke noundef ptr @_Z19get_ptr_from_tensor6Tensor4Arch(ptr noundef nonnull %38, i32 noundef 1)
          to label %279 unwind label %335

279:                                              ; preds = %277
  %280 = invoke noundef i32 @_Z7bytesOf8DataType(i32 noundef %3)
          to label %281 unwind label %335

281:                                              ; preds = %279
  %282 = load i32, ptr %6, align 4, !tbaa !9
  %283 = mul i32 %280, %146
  %284 = mul i32 %283, %282
  %285 = zext i32 %284 to i64
  invoke void @_Z10UNI_MEMCPYPvPKvm(ptr noundef %278, ptr noundef %267, i64 noundef %285)
          to label %286 unwind label %335

286:                                              ; preds = %281
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #13
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %39, ptr noundef nonnull align 8 dereferenceable(32) %36) #13
  %287 = invoke noundef ptr @_Z19get_ptr_from_tensor6Tensor4Arch(ptr noundef nonnull %39, i32 noundef 1)
          to label %288 unwind label %337

288:                                              ; preds = %286
  %289 = invoke noundef i32 @_Z7bytesOf8DataType(i32 noundef %3)
          to label %290 unwind label %337

290:                                              ; preds = %288
  %291 = load i32, ptr %6, align 4, !tbaa !9
  %292 = mul i32 %289, %146
  %293 = mul i32 %292, %291
  %294 = zext i32 %293 to i64
  invoke void @_Z10UNI_MEMCPYPvPKvm(ptr noundef %287, ptr noundef %267, i64 noundef %294)
          to label %295 unwind label %337

295:                                              ; preds = %290
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #13
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %40, ptr noundef nonnull align 8 dereferenceable(32) %37) #13
  %296 = invoke noundef ptr @_Z19get_ptr_from_tensor6Tensor4Arch(ptr noundef nonnull %40, i32 noundef 1)
          to label %297 unwind label %339

297:                                              ; preds = %295
  %298 = invoke noundef i32 @_Z7bytesOf8DataType(i32 noundef %3)
          to label %299 unwind label %339

299:                                              ; preds = %297
  %300 = load i32, ptr %6, align 4, !tbaa !9
  %301 = mul i32 %300, %298
  %302 = zext i32 %301 to i64
  invoke void @_Z10UNI_MEMCPYPvPKvm(ptr noundef %296, ptr noundef %270, i64 noundef %302)
          to label %341 unwind label %339

303:                                              ; preds = %201
  %304 = landingpad { ptr, i32 }
          cleanup
  br label %785

305:                                              ; preds = %209
  %306 = landingpad { ptr, i32 }
          cleanup
  br label %784

307:                                              ; preds = %210
  %308 = landingpad { ptr, i32 }
          cleanup
  br label %783

309:                                              ; preds = %211
  %310 = landingpad { ptr, i32 }
          cleanup
  br label %782

311:                                              ; preds = %212
  %312 = landingpad { ptr, i32 }
          cleanup
  br label %781

313:                                              ; preds = %213
  %314 = landingpad { ptr, i32 }
          cleanup
  br label %780

315:                                              ; preds = %223, %222, %221, %220, %219, %218, %217, %216, %215, %214
  %316 = landingpad { ptr, i32 }
          cleanup
  br label %779

317:                                              ; preds = %228, %226, %224
  %318 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #13
  br label %779

319:                                              ; preds = %235, %233, %231
  %320 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #13
  br label %779

321:                                              ; preds = %242, %240, %238
  %322 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #13
  br label %779

323:                                              ; preds = %251, %249, %247
  %324 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #13
  br label %779

325:                                              ; preds = %258, %256, %254
  %326 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #13
  br label %779

327:                                              ; preds = %261
  %328 = landingpad { ptr, i32 }
          cleanup
  br label %778

329:                                              ; preds = %262
  %330 = landingpad { ptr, i32 }
          cleanup
  br label %777

331:                                              ; preds = %263
  %332 = landingpad { ptr, i32 }
          cleanup
  br label %776

333:                                              ; preds = %276, %275, %274, %273, %272, %271, %268, %265
  %334 = landingpad { ptr, i32 }
          cleanup
  br label %775

335:                                              ; preds = %281, %279, %277
  %336 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #13
  br label %775

337:                                              ; preds = %290, %288, %286
  %338 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #13
  br label %775

339:                                              ; preds = %299, %297, %295
  %340 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #13
  br label %775

341:                                              ; preds = %299
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #13
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %41, ptr noundef nonnull align 8 dereferenceable(32) %25) #13
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %42, ptr noundef nonnull align 8 dereferenceable(32) %35) #13
  %342 = invoke noundef i32 @_Z49depthwise_pointwise_convolution_infer_output_sizeP6TensorS_S_20ConvolutionParamSpecS0_8DataTypeP8ArchInfo(ptr noundef nonnull %23, ptr noundef nonnull %41, ptr noundef nonnull %42, ptr noundef nonnull byval(%struct.ConvolutionParamSpec) align 8 %22, ptr noundef nonnull %27, i32 noundef %3, ptr noundef nonnull @_ZL15UT_CPU_ARCHINFO)
          to label %343 unwind label %354

343:                                              ; preds = %341
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #13
  %.not247 = icmp eq i32 %342, 0
  br i1 %.not247, label %371, label %344

344:                                              ; preds = %343
  %345 = call i64 (i64, ...) @syscall(i64 noundef 186) #13
  %346 = trunc i64 %345 to i32
  %347 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str, i32 noundef %346)
  %348 = load ptr, ptr @stdout, align 8, !tbaa !5
  %349 = call i32 @fflush(ptr noundef %348)
  %350 = call ptr @ee2str(i32 noundef %342)
  %351 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.2, ptr noundef %350)
  %352 = load ptr, ptr @stdout, align 8, !tbaa !5
  %353 = call i32 @fflush(ptr noundef %352)
  call void @exit(i32 noundef 1) #14
  unreachable

354:                                              ; preds = %341
  %355 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #13
  br label %775

356:                                              ; preds = %264
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %43, ptr noundef nonnull align 8 dereferenceable(32) %25) #13
  %357 = invoke noundef i32 @_Z39depthwise_convolution_infer_output_sizeP6TensorS_20ConvolutionParamSpecS0_8DataTypeP8ArchInfo(ptr noundef nonnull %23, ptr noundef nonnull %43, ptr noundef nonnull byval(%struct.ConvolutionParamSpec) align 8 %22, ptr noundef nonnull %27, i32 noundef %3, ptr noundef nonnull @_ZL15UT_CPU_ARCHINFO)
          to label %358 unwind label %369

358:                                              ; preds = %356
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #13
  %.not = icmp eq i32 %357, 0
  br i1 %.not, label %371, label %359

359:                                              ; preds = %358
  %360 = call i64 (i64, ...) @syscall(i64 noundef 186) #13
  %361 = trunc i64 %360 to i32
  %362 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str, i32 noundef %361)
  %363 = load ptr, ptr @stdout, align 8, !tbaa !5
  %364 = call i32 @fflush(ptr noundef %363)
  %365 = call ptr @ee2str(i32 noundef %357)
  %366 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.2, ptr noundef %365)
  %367 = load ptr, ptr @stdout, align 8, !tbaa !5
  %368 = call i32 @fflush(ptr noundef %367)
  call void @exit(i32 noundef 1) #14
  unreachable

369:                                              ; preds = %356
  %370 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #13
  br label %775

371:                                              ; preds = %358, %343
  %.0190306 = phi ptr [ null, %358 ], [ %267, %343 ]
  %.0191304 = phi ptr [ null, %358 ], [ %270, %343 ]
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %44) #13
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %45) #13
  invoke void @_ZN6Tensor8get_descEv(ptr dead_on_unwind nonnull writable sret(%struct.TensorDesc) align 4 %46, ptr noundef nonnull align 8 dereferenceable(32) %27)
          to label %372 unwind label %384

372:                                              ; preds = %371
  %373 = call noundef i32 @_Z11tensor4dGet10TensorDescP8DataTypeP10DataFormatPjS4_S4_S4_(ptr noundef nonnull byval(%struct.TensorDesc) align 8 %46, ptr noundef nonnull %44, ptr noundef nonnull %45, ptr noundef nonnull %5, ptr noundef nonnull %6, ptr noundef nonnull %7, ptr noundef nonnull %8)
  %.not248 = icmp eq i32 %373, 0
  br i1 %.not248, label %386, label %374

374:                                              ; preds = %372
  %375 = call i64 (i64, ...) @syscall(i64 noundef 186) #13
  %376 = trunc i64 %375 to i32
  %377 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str, i32 noundef %376)
  %378 = load ptr, ptr @stdout, align 8, !tbaa !5
  %379 = call i32 @fflush(ptr noundef %378)
  %380 = call ptr @ee2str(i32 noundef %373)
  %381 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.2, ptr noundef %380)
  %382 = load ptr, ptr @stdout, align 8, !tbaa !5
  %383 = call i32 @fflush(ptr noundef %382)
  call void @exit(i32 noundef 1) #14
  unreachable

384:                                              ; preds = %371
  %385 = landingpad { ptr, i32 }
          cleanup
  br label %774

386:                                              ; preds = %372
  invoke void @_ZN6Tensor5allocEv(ptr noundef nonnull align 8 dereferenceable(32) %27)
          to label %387 unwind label %404

387:                                              ; preds = %386
  invoke void @_ZN6Tensor8get_descEv(ptr dead_on_unwind nonnull writable sret(%struct.TensorDesc) align 4 %47, ptr noundef nonnull align 8 dereferenceable(32) %27)
          to label %388 unwind label %404

388:                                              ; preds = %387
  invoke void @_ZN6Tensor6resizeE10TensorDesc(ptr noundef nonnull align 8 dereferenceable(32) %28, ptr noundef nonnull byval(%struct.TensorDesc) align 8 %47)
          to label %389 unwind label %404

389:                                              ; preds = %388
  invoke void @_ZN6Tensor5allocEv(ptr noundef nonnull align 8 dereferenceable(32) %28)
          to label %390 unwind label %404

390:                                              ; preds = %389
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %48) #13
  store i32 5, ptr %48, align 4, !tbaa !20
  br i1 %2, label %391, label %408

391:                                              ; preds = %390
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %49, ptr noundef nonnull align 8 dereferenceable(32) %23) #13
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef nonnull align 8 dereferenceable(32) %25) #13
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %51, ptr noundef nonnull align 8 dereferenceable(32) %35) #13
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %52, ptr noundef nonnull align 8 dereferenceable(32) %27) #13
  %392 = invoke noundef i32 @_Z55depthwise_pointwise_convolution_infer_forward_algorithm6TensorS_S_S_20ConvolutionParamSpec17ConvolutionPolicyP36DepthwiseConvolutionForwardAlgorithm8DataType19ActivationParamSpecS5_P8ArchInfo(ptr noundef nonnull %49, ptr noundef nonnull %50, ptr noundef nonnull %51, ptr noundef nonnull %52, ptr noundef nonnull byval(%struct.ConvolutionParamSpec) align 8 %22, i32 noundef 1, ptr noundef nonnull %48, i32 noundef %3, ptr noundef nonnull byval(%struct.ActivationParamSpec) align 8 %9, ptr noundef nonnull byval(%struct.ActivationParamSpec) align 8 %10, ptr noundef nonnull @_ZL15UT_CPU_ARCHINFO)
          to label %393 unwind label %406

393:                                              ; preds = %391
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #13
  %.not250 = icmp eq i32 %392, 0
  br i1 %.not250, label %423, label %394

394:                                              ; preds = %393
  %395 = call i64 (i64, ...) @syscall(i64 noundef 186) #13
  %396 = trunc i64 %395 to i32
  %397 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str, i32 noundef %396)
  %398 = load ptr, ptr @stdout, align 8, !tbaa !5
  %399 = call i32 @fflush(ptr noundef %398)
  %400 = call ptr @ee2str(i32 noundef %392)
  %401 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.2, ptr noundef %400)
  %402 = load ptr, ptr @stdout, align 8, !tbaa !5
  %403 = call i32 @fflush(ptr noundef %402)
  call void @exit(i32 noundef 1) #14
  unreachable

404:                                              ; preds = %389, %388, %387, %386
  %405 = landingpad { ptr, i32 }
          cleanup
  br label %774

406:                                              ; preds = %391
  %407 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #13
  br label %773

408:                                              ; preds = %390
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %53, ptr noundef nonnull align 8 dereferenceable(32) %23) #13
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %54, ptr noundef nonnull align 8 dereferenceable(32) %25) #13
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %55, ptr noundef nonnull align 8 dereferenceable(32) %27) #13
  %409 = invoke noundef i32 @_Z45depthwise_convolution_infer_forward_algorithm6TensorS_S_20ConvolutionParamSpec17ConvolutionPolicyP36DepthwiseConvolutionForwardAlgorithm8DataType19ActivationParamSpecP8ArchInfo(ptr noundef nonnull %53, ptr noundef nonnull %54, ptr noundef nonnull %55, ptr noundef nonnull byval(%struct.ConvolutionParamSpec) align 8 %22, i32 noundef 1, ptr noundef nonnull %48, i32 noundef %3, ptr noundef nonnull byval(%struct.ActivationParamSpec) align 8 %9, ptr noundef nonnull @_ZL15UT_CPU_ARCHINFO)
          to label %410 unwind label %421

410:                                              ; preds = %408
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #13
  %.not249 = icmp eq i32 %409, 0
  br i1 %.not249, label %439, label %411

411:                                              ; preds = %410
  %412 = call i64 (i64, ...) @syscall(i64 noundef 186) #13
  %413 = trunc i64 %412 to i32
  %414 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str, i32 noundef %413)
  %415 = load ptr, ptr @stdout, align 8, !tbaa !5
  %416 = call i32 @fflush(ptr noundef %415)
  %417 = call ptr @ee2str(i32 noundef %409)
  %418 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.2, ptr noundef %417)
  %419 = load ptr, ptr @stdout, align 8, !tbaa !5
  %420 = call i32 @fflush(ptr noundef %419)
  call void @exit(i32 noundef 1) #14
  unreachable

421:                                              ; preds = %408
  %422 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #13
  br label %773

423:                                              ; preds = %393
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %56) #13
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %57, ptr noundef nonnull align 8 dereferenceable(32) %23) #13
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %58, ptr noundef nonnull align 8 dereferenceable(32) %25) #13
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %59, ptr noundef nonnull align 8 dereferenceable(32) %35) #13
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %60, ptr noundef nonnull align 8 dereferenceable(32) %27) #13
  %424 = load i32, ptr %48, align 4, !tbaa !20
  %425 = invoke noundef i32 @_Z55depthwise_pointwise_convolution_infer_forward_tmp_bytes6TensorS_S_S_20ConvolutionParamSpec36DepthwiseConvolutionForwardAlgorithmPjP8ArchInfo(ptr noundef nonnull %57, ptr noundef nonnull %58, ptr noundef nonnull %59, ptr noundef nonnull %60, ptr noundef nonnull byval(%struct.ConvolutionParamSpec) align 8 %22, i32 noundef %424, ptr noundef nonnull %56, ptr noundef nonnull @_ZL15UT_CPU_ARCHINFO)
          to label %426 unwind label %437

426:                                              ; preds = %423
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #13
  %.not252 = icmp eq i32 %425, 0
  br i1 %.not252, label %455, label %427

427:                                              ; preds = %426
  %428 = call i64 (i64, ...) @syscall(i64 noundef 186) #13
  %429 = trunc i64 %428 to i32
  %430 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str, i32 noundef %429)
  %431 = load ptr, ptr @stdout, align 8, !tbaa !5
  %432 = call i32 @fflush(ptr noundef %431)
  %433 = call ptr @ee2str(i32 noundef %425)
  %434 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.2, ptr noundef %433)
  %435 = load ptr, ptr @stdout, align 8, !tbaa !5
  %436 = call i32 @fflush(ptr noundef %435)
  call void @exit(i32 noundef 1) #14
  unreachable

437:                                              ; preds = %423
  %438 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #13
  br label %772

439:                                              ; preds = %410
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %56) #13
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %61, ptr noundef nonnull align 8 dereferenceable(32) %23) #13
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %62, ptr noundef nonnull align 8 dereferenceable(32) %25) #13
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %63, ptr noundef nonnull align 8 dereferenceable(32) %27) #13
  %440 = load i32, ptr %48, align 4, !tbaa !20
  %441 = invoke noundef i32 @_Z45depthwise_convolution_infer_forward_tmp_bytes6TensorS_S_20ConvolutionParamSpec36DepthwiseConvolutionForwardAlgorithmPjP8ArchInfo(ptr noundef nonnull %61, ptr noundef nonnull %62, ptr noundef nonnull %63, ptr noundef nonnull byval(%struct.ConvolutionParamSpec) align 8 %22, i32 noundef %440, ptr noundef nonnull %56, ptr noundef nonnull @_ZL15UT_CPU_ARCHINFO)
          to label %442 unwind label %453

442:                                              ; preds = %439
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #13
  %.not251 = icmp eq i32 %441, 0
  br i1 %.not251, label %455, label %443

443:                                              ; preds = %442
  %444 = call i64 (i64, ...) @syscall(i64 noundef 186) #13
  %445 = trunc i64 %444 to i32
  %446 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str, i32 noundef %445)
  %447 = load ptr, ptr @stdout, align 8, !tbaa !5
  %448 = call i32 @fflush(ptr noundef %447)
  %449 = call ptr @ee2str(i32 noundef %441)
  %450 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.2, ptr noundef %449)
  %451 = load ptr, ptr @stdout, align 8, !tbaa !5
  %452 = call i32 @fflush(ptr noundef %451)
  call void @exit(i32 noundef 1) #14
  unreachable

453:                                              ; preds = %439
  %454 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #13
  br label %772

455:                                              ; preds = %442, %426
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %64) #13
  invoke void @_ZN6TensorC2E10MemoryType(ptr noundef nonnull align 8 dereferenceable(32) %64, i32 noundef 1)
          to label %456 unwind label %475

456:                                              ; preds = %455
  %457 = load i32, ptr %56, align 4, !tbaa !9
  invoke void @_Z8tensor1d8DataTypej(ptr dead_on_unwind nonnull writable sret(%struct.TensorDesc) align 4 %65, i32 noundef 0, i32 noundef %457)
          to label %458 unwind label %477

458:                                              ; preds = %456
  invoke void @_ZN6Tensor6resizeE10TensorDesc(ptr noundef nonnull align 8 dereferenceable(32) %64, ptr noundef nonnull byval(%struct.TensorDesc) align 8 %65)
          to label %459 unwind label %477

459:                                              ; preds = %458
  invoke void @_ZN6Tensor5allocEv(ptr noundef nonnull align 8 dereferenceable(32) %64)
          to label %460 unwind label %477

460:                                              ; preds = %459
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %66) #13
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %67) #13
  br i1 %2, label %461, label %481

461:                                              ; preds = %460
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %68, ptr noundef nonnull align 8 dereferenceable(32) %25) #13
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %69, ptr noundef nonnull align 8 dereferenceable(32) %35) #13
  %462 = load i32, ptr %48, align 4, !tbaa !20
  %463 = invoke noundef i32 @_Z54depthwise_pointwise_convolution_transform_filter_bytes6TensorS_20ConvolutionParamSpec36DepthwiseConvolutionForwardAlgorithmPvS2_P8ArchInfo(ptr noundef nonnull %68, ptr noundef nonnull %69, ptr noundef nonnull byval(%struct.ConvolutionParamSpec) align 8 %22, i32 noundef %462, ptr noundef nonnull %66, ptr noundef nonnull %67, ptr noundef nonnull @_ZL15UT_CPU_ARCHINFO)
          to label %464 unwind label %479

464:                                              ; preds = %461
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #13
  %.not254 = icmp eq i32 %463, 0
  br i1 %.not254, label %497, label %465

465:                                              ; preds = %464
  %466 = call i64 (i64, ...) @syscall(i64 noundef 186) #13
  %467 = trunc i64 %466 to i32
  %468 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str, i32 noundef %467)
  %469 = load ptr, ptr @stdout, align 8, !tbaa !5
  %470 = call i32 @fflush(ptr noundef %469)
  %471 = call ptr @ee2str(i32 noundef %463)
  %472 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.2, ptr noundef %471)
  %473 = load ptr, ptr @stdout, align 8, !tbaa !5
  %474 = call i32 @fflush(ptr noundef %473)
  call void @exit(i32 noundef 1) #14
  unreachable

475:                                              ; preds = %455
  %476 = landingpad { ptr, i32 }
          cleanup
  br label %771

477:                                              ; preds = %459, %458, %456
  %478 = landingpad { ptr, i32 }
          cleanup
  br label %770

479:                                              ; preds = %461
  %480 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #13
  br label %769

481:                                              ; preds = %460
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %70, ptr noundef nonnull align 8 dereferenceable(32) %25) #13
  %482 = load i32, ptr %48, align 4, !tbaa !20
  %483 = invoke noundef i32 @_Z44depthwise_convolution_transform_filter_bytes6Tensor20ConvolutionParamSpec36DepthwiseConvolutionForwardAlgorithmPvP8ArchInfo(ptr noundef nonnull %70, ptr noundef nonnull byval(%struct.ConvolutionParamSpec) align 8 %22, i32 noundef %482, ptr noundef nonnull %66, ptr noundef nonnull @_ZL15UT_CPU_ARCHINFO)
          to label %484 unwind label %495

484:                                              ; preds = %481
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #13
  %.not253 = icmp eq i32 %483, 0
  br i1 %.not253, label %497, label %485

485:                                              ; preds = %484
  %486 = call i64 (i64, ...) @syscall(i64 noundef 186) #13
  %487 = trunc i64 %486 to i32
  %488 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str, i32 noundef %487)
  %489 = load ptr, ptr @stdout, align 8, !tbaa !5
  %490 = call i32 @fflush(ptr noundef %489)
  %491 = call ptr @ee2str(i32 noundef %483)
  %492 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.2, ptr noundef %491)
  %493 = load ptr, ptr @stdout, align 8, !tbaa !5
  %494 = call i32 @fflush(ptr noundef %493)
  call void @exit(i32 noundef 1) #14
  unreachable

495:                                              ; preds = %481
  %496 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #13
  br label %769

497:                                              ; preds = %484, %464
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %71) #13
  invoke void @_ZN6TensorC2E10MemoryType(ptr noundef nonnull align 8 dereferenceable(32) %71, i32 noundef 1)
          to label %498 unwind label %508

498:                                              ; preds = %497
  %499 = load i32, ptr %66, align 4, !tbaa !9
  invoke void @_Z8tensor1d8DataTypej(ptr dead_on_unwind nonnull writable sret(%struct.TensorDesc) align 4 %72, i32 noundef 0, i32 noundef %499)
          to label %500 unwind label %510

500:                                              ; preds = %498
  invoke void @_ZN6Tensor6resizeE10TensorDesc(ptr noundef nonnull align 8 dereferenceable(32) %71, ptr noundef nonnull byval(%struct.TensorDesc) align 8 %72)
          to label %501 unwind label %510

501:                                              ; preds = %500
  invoke void @_ZN6Tensor5allocEv(ptr noundef nonnull align 8 dereferenceable(32) %71)
          to label %502 unwind label %510

502:                                              ; preds = %501
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %73) #13
  invoke void @_ZN6TensorC2E10MemoryType(ptr noundef nonnull align 8 dereferenceable(32) %73, i32 noundef 1)
          to label %503 unwind label %512

503:                                              ; preds = %502
  br i1 %2, label %504, label %.critedge

504:                                              ; preds = %503
  %505 = load i32, ptr %67, align 4, !tbaa !9
  invoke void @_Z8tensor1d8DataTypej(ptr dead_on_unwind nonnull writable sret(%struct.TensorDesc) align 4 %74, i32 noundef 0, i32 noundef %505)
          to label %506 unwind label %514

506:                                              ; preds = %504
  invoke void @_ZN6Tensor6resizeE10TensorDesc(ptr noundef nonnull align 8 dereferenceable(32) %73, ptr noundef nonnull byval(%struct.TensorDesc) align 8 %74)
          to label %507 unwind label %514

507:                                              ; preds = %506
  invoke void @_ZN6Tensor5allocEv(ptr noundef nonnull align 8 dereferenceable(32) %73)
          to label %516 unwind label %514

508:                                              ; preds = %497
  %509 = landingpad { ptr, i32 }
          cleanup
  br label %768

510:                                              ; preds = %501, %500, %498
  %511 = landingpad { ptr, i32 }
          cleanup
  br label %767

512:                                              ; preds = %502
  %513 = landingpad { ptr, i32 }
          cleanup
  br label %766

514:                                              ; preds = %507, %506, %504
  %515 = landingpad { ptr, i32 }
          cleanup
  br label %765

516:                                              ; preds = %507
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %75, ptr noundef nonnull align 8 dereferenceable(32) %25) #13
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %76, ptr noundef nonnull align 8 dereferenceable(32) %35) #13
  %517 = load i32, ptr %48, align 4, !tbaa !20
  %518 = invoke noundef i32 @_Z48depthwise_pointwise_convolution_transform_filter6TensorS_20ConvolutionParamSpec36DepthwiseConvolutionForwardAlgorithmPS_S2_P8ArchInfo(ptr noundef nonnull %75, ptr noundef nonnull %76, ptr noundef nonnull byval(%struct.ConvolutionParamSpec) align 8 %22, i32 noundef %517, ptr noundef nonnull %71, ptr noundef nonnull %73, ptr noundef nonnull @_ZL15UT_CPU_ARCHINFO)
          to label %519 unwind label %530

519:                                              ; preds = %516
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %76) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #13
  %.not256 = icmp eq i32 %518, 0
  br i1 %.not256, label %547, label %520

520:                                              ; preds = %519
  %521 = call i64 (i64, ...) @syscall(i64 noundef 186) #13
  %522 = trunc i64 %521 to i32
  %523 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str, i32 noundef %522)
  %524 = load ptr, ptr @stdout, align 8, !tbaa !5
  %525 = call i32 @fflush(ptr noundef %524)
  %526 = call ptr @ee2str(i32 noundef %518)
  %527 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.2, ptr noundef %526)
  %528 = load ptr, ptr @stdout, align 8, !tbaa !5
  %529 = call i32 @fflush(ptr noundef %528)
  call void @exit(i32 noundef 1) #14
  unreachable

530:                                              ; preds = %516
  %531 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %76) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #13
  br label %765

.critedge:                                        ; preds = %503
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %77, ptr noundef nonnull align 8 dereferenceable(32) %25) #13
  %532 = load i32, ptr %48, align 4, !tbaa !20
  %533 = invoke noundef i32 @_Z38depthwise_convolution_transform_filter6Tensor20ConvolutionParamSpec36DepthwiseConvolutionForwardAlgorithmPS_P8ArchInfo(ptr noundef nonnull %77, ptr noundef nonnull byval(%struct.ConvolutionParamSpec) align 8 %22, i32 noundef %532, ptr noundef nonnull %71, ptr noundef nonnull @_ZL15UT_CPU_ARCHINFO)
          to label %534 unwind label %545

534:                                              ; preds = %.critedge
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #13
  %.not255 = icmp eq i32 %533, 0
  br i1 %.not255, label %547, label %535

535:                                              ; preds = %534
  %536 = call i64 (i64, ...) @syscall(i64 noundef 186) #13
  %537 = trunc i64 %536 to i32
  %538 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str, i32 noundef %537)
  %539 = load ptr, ptr @stdout, align 8, !tbaa !5
  %540 = call i32 @fflush(ptr noundef %539)
  %541 = call ptr @ee2str(i32 noundef %533)
  %542 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.2, ptr noundef %541)
  %543 = load ptr, ptr @stdout, align 8, !tbaa !5
  %544 = call i32 @fflush(ptr noundef %543)
  call void @exit(i32 noundef 1) #14
  unreachable

545:                                              ; preds = %.critedge
  %546 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #13
  br label %765

547:                                              ; preds = %534, %519
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %78) #13
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %79) #13
  call void @_ZNSaI6TensorEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %79) #13
  invoke void @_ZNSt6vectorI6TensorSaIS0_EEC2EmRKS0_RKS1_(ptr noundef nonnull align 8 dereferenceable(24) %78, i64 noundef 1, ptr noundef nonnull align 8 dereferenceable(32) %23, ptr noundef nonnull align 1 dereferenceable(1) %79)
          to label %548 unwind label %567

548:                                              ; preds = %547
  call void @_ZNSt15__new_allocatorI6TensorED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %79) #13
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %79) #13
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %80) #13
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %81) #13
  call void @_ZNSaI6TensorEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %81) #13
  invoke void @_ZNSt6vectorI6TensorSaIS0_EEC2EmRKS0_RKS1_(ptr noundef nonnull align 8 dereferenceable(24) %80, i64 noundef 1, ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef nonnull align 1 dereferenceable(1) %81)
          to label %549 unwind label %569

549:                                              ; preds = %548
  call void @_ZNSt15__new_allocatorI6TensorED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %81) #13
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %81) #13
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %82) #13
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %83) #13
  call void @_ZNSaI6TensorEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %83) #13
  invoke void @_ZNSt6vectorI6TensorSaIS0_EEC2EmRKS0_RKS1_(ptr noundef nonnull align 8 dereferenceable(24) %82, i64 noundef 1, ptr noundef nonnull align 8 dereferenceable(32) %64, ptr noundef nonnull align 1 dereferenceable(1) %83)
          to label %550 unwind label %571

550:                                              ; preds = %549
  call void @_ZNSt15__new_allocatorI6TensorED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %83) #13
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %83) #13
  br i1 %2, label %551, label %603

551:                                              ; preds = %550
  invoke void @_ZNSt6vectorI6TensorSaIS0_EEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %84, ptr noundef nonnull align 8 dereferenceable(24) %78)
          to label %552 unwind label %573

552:                                              ; preds = %551
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %85, ptr noundef nonnull align 8 dereferenceable(32) %71) #13
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %86, ptr noundef nonnull align 8 dereferenceable(32) %73) #13
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(108) %87, ptr noundef nonnull align 8 dereferenceable(108) %22, i64 108, i1 false), !tbaa.struct !22
  %553 = load i32, ptr %48, align 4, !tbaa !20
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %88, ptr noundef nonnull align 8 dereferenceable(32) %29) #13
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %89, ptr noundef nonnull align 8 dereferenceable(32) %37) #13
  invoke void @_ZNSt6vectorI6TensorSaIS0_EEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %90, ptr noundef nonnull align 8 dereferenceable(24) %82)
          to label %554 unwind label %575

554:                                              ; preds = %552
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %91, ptr noundef nonnull align 8 dereferenceable(32) %27) #13
  %555 = invoke noundef i32 @_Z31depthwise_pointwise_convolutionSt6vectorI6TensorSaIS0_EES0_S0_20ConvolutionParamSpec36DepthwiseConvolutionForwardAlgorithmPvS0_S0_S2_S0_19ActivationParamSpecS6_P8ArchInfo(ptr noundef nonnull %84, ptr noundef nonnull %85, ptr noundef nonnull %86, ptr noundef nonnull byval(%struct.ConvolutionParamSpec) align 8 %87, i32 noundef %553, ptr noundef null, ptr noundef nonnull %88, ptr noundef nonnull %89, ptr noundef nonnull %90, ptr noundef nonnull %91, ptr noundef nonnull byval(%struct.ActivationParamSpec) align 8 %9, ptr noundef nonnull byval(%struct.ActivationParamSpec) align 8 %10, ptr noundef nonnull @_ZL15UT_CPU_ARCHINFO)
          to label %556 unwind label %577

556:                                              ; preds = %554
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %91) #13
  call void @_ZNSt6vectorI6TensorSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %90) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %89) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %88) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %86) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %85) #13
  call void @_ZNSt6vectorI6TensorSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %84) #13
  %.not261 = icmp eq i32 %555, 0
  br i1 %.not261, label %580, label %557

557:                                              ; preds = %556
  %558 = call i64 (i64, ...) @syscall(i64 noundef 186) #13
  %559 = trunc i64 %558 to i32
  %560 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str, i32 noundef %559)
  %561 = load ptr, ptr @stdout, align 8, !tbaa !5
  %562 = call i32 @fflush(ptr noundef %561)
  %563 = call ptr @ee2str(i32 noundef %555)
  %564 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.2, ptr noundef %563)
  %565 = load ptr, ptr @stdout, align 8, !tbaa !5
  %566 = call i32 @fflush(ptr noundef %565)
  call void @exit(i32 noundef 1) #14
  unreachable

567:                                              ; preds = %547
  %568 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorI6TensorED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %79) #13
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %79) #13
  br label %764

569:                                              ; preds = %548
  %570 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorI6TensorED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %81) #13
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %81) #13
  br label %763

571:                                              ; preds = %549
  %572 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorI6TensorED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %83) #13
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %83) #13
  br label %762

573:                                              ; preds = %551
  %574 = landingpad { ptr, i32 }
          cleanup
  br label %761

575:                                              ; preds = %552
  %576 = landingpad { ptr, i32 }
          cleanup
  br label %579

577:                                              ; preds = %554
  %578 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %91) #13
  call void @_ZNSt6vectorI6TensorSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %90) #13
  br label %579

579:                                              ; preds = %577, %575
  %.pn = phi { ptr, i32 } [ %578, %577 ], [ %576, %575 ]
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %89) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %88) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %86) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %85) #13
  call void @_ZNSt6vectorI6TensorSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %84) #13
  br label %761

580:                                              ; preds = %556
  invoke void @_ZNSt6vectorI6TensorSaIS0_EEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %92, ptr noundef nonnull align 8 dereferenceable(24) %80)
          to label %581 unwind label %596

581:                                              ; preds = %580
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %93, ptr noundef nonnull align 8 dereferenceable(32) %26) #13
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %94, ptr noundef nonnull align 8 dereferenceable(32) %36) #13
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(108) %95, ptr noundef nonnull align 8 dereferenceable(108) %22, i64 108, i1 false), !tbaa.struct !22
  %582 = load i32, ptr %48, align 4, !tbaa !20
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %96, ptr noundef nonnull align 8 dereferenceable(32) %29) #13
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %97, ptr noundef nonnull align 8 dereferenceable(32) %37) #13
  invoke void @_ZNSt6vectorI6TensorSaIS0_EEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %98, ptr noundef nonnull align 8 dereferenceable(24) %82)
          to label %583 unwind label %598

583:                                              ; preds = %581
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %99, ptr noundef nonnull align 8 dereferenceable(32) %28) #13
  %584 = invoke noundef i32 @_Z31depthwise_pointwise_convolutionSt6vectorI6TensorSaIS0_EES0_S0_20ConvolutionParamSpec36DepthwiseConvolutionForwardAlgorithmPvS0_S0_S2_S0_19ActivationParamSpecS6_P8ArchInfo(ptr noundef nonnull %92, ptr noundef nonnull %93, ptr noundef nonnull %94, ptr noundef nonnull byval(%struct.ConvolutionParamSpec) align 8 %95, i32 noundef %582, ptr noundef null, ptr noundef nonnull %96, ptr noundef nonnull %97, ptr noundef nonnull %98, ptr noundef nonnull %99, ptr noundef nonnull byval(%struct.ActivationParamSpec) align 8 %9, ptr noundef nonnull byval(%struct.ActivationParamSpec) align 8 %10, ptr noundef nonnull @_ZL18UT_SERIAL_ARCHINFO)
          to label %585 unwind label %600

585:                                              ; preds = %583
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %99) #13
  call void @_ZNSt6vectorI6TensorSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %98) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %97) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %96) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %94) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %93) #13
  call void @_ZNSt6vectorI6TensorSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %92) #13
  %.not265 = icmp eq i32 %584, 0
  br i1 %.not265, label %635, label %586

586:                                              ; preds = %585
  %587 = call i64 (i64, ...) @syscall(i64 noundef 186) #13
  %588 = trunc i64 %587 to i32
  %589 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str, i32 noundef %588)
  %590 = load ptr, ptr @stdout, align 8, !tbaa !5
  %591 = call i32 @fflush(ptr noundef %590)
  %592 = call ptr @ee2str(i32 noundef %584)
  %593 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.2, ptr noundef %592)
  %594 = load ptr, ptr @stdout, align 8, !tbaa !5
  %595 = call i32 @fflush(ptr noundef %594)
  call void @exit(i32 noundef 1) #14
  unreachable

596:                                              ; preds = %580
  %597 = landingpad { ptr, i32 }
          cleanup
  br label %761

598:                                              ; preds = %581
  %599 = landingpad { ptr, i32 }
          cleanup
  br label %602

600:                                              ; preds = %583
  %601 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %99) #13
  call void @_ZNSt6vectorI6TensorSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %98) #13
  br label %602

602:                                              ; preds = %600, %598
  %.pn262 = phi { ptr, i32 } [ %601, %600 ], [ %599, %598 ]
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %97) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %96) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %94) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %93) #13
  call void @_ZNSt6vectorI6TensorSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %92) #13
  br label %761

603:                                              ; preds = %550
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %100, ptr noundef nonnull align 8 dereferenceable(32) %23) #13
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %101, ptr noundef nonnull align 8 dereferenceable(32) %71) #13
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(108) %102, ptr noundef nonnull align 8 dereferenceable(108) %22, i64 108, i1 false), !tbaa.struct !22
  %604 = load i32, ptr %48, align 4, !tbaa !20
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %103, ptr noundef nonnull align 8 dereferenceable(32) %29) #13
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %104, ptr noundef nonnull align 8 dereferenceable(32) %64) #13
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %105, ptr noundef nonnull align 8 dereferenceable(32) %27) #13
  %605 = invoke noundef i32 @_Z21depthwise_convolution6TensorS_20ConvolutionParamSpec36DepthwiseConvolutionForwardAlgorithmPvS_S_S_19ActivationParamSpecP8ArchInfo(ptr noundef nonnull %100, ptr noundef nonnull %101, ptr noundef nonnull byval(%struct.ConvolutionParamSpec) align 8 %102, i32 noundef %604, ptr noundef null, ptr noundef nonnull %103, ptr noundef nonnull %104, ptr noundef nonnull %105, ptr noundef nonnull byval(%struct.ActivationParamSpec) align 8 %9, ptr noundef nonnull @_ZL15UT_CPU_ARCHINFO)
          to label %606 unwind label %617

606:                                              ; preds = %603
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %105) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %104) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %103) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %101) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %100) #13
  %.not257 = icmp eq i32 %605, 0
  br i1 %.not257, label %619, label %607

607:                                              ; preds = %606
  %608 = call i64 (i64, ...) @syscall(i64 noundef 186) #13
  %609 = trunc i64 %608 to i32
  %610 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str, i32 noundef %609)
  %611 = load ptr, ptr @stdout, align 8, !tbaa !5
  %612 = call i32 @fflush(ptr noundef %611)
  %613 = call ptr @ee2str(i32 noundef %605)
  %614 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.2, ptr noundef %613)
  %615 = load ptr, ptr @stdout, align 8, !tbaa !5
  %616 = call i32 @fflush(ptr noundef %615)
  call void @exit(i32 noundef 1) #14
  unreachable

617:                                              ; preds = %603
  %618 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %105) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %104) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %103) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %101) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %100) #13
  br label %761

619:                                              ; preds = %606
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %106, ptr noundef nonnull align 8 dereferenceable(32) %24) #13
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %107, ptr noundef nonnull align 8 dereferenceable(32) %26) #13
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(108) %108, ptr noundef nonnull align 8 dereferenceable(108) %22, i64 108, i1 false), !tbaa.struct !22
  %620 = load i32, ptr %48, align 4, !tbaa !20
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %109, ptr noundef nonnull align 8 dereferenceable(32) %29) #13
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %110, ptr noundef nonnull align 8 dereferenceable(32) %64) #13
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %111, ptr noundef nonnull align 8 dereferenceable(32) %28) #13
  %621 = invoke noundef i32 @_Z21depthwise_convolution6TensorS_20ConvolutionParamSpec36DepthwiseConvolutionForwardAlgorithmPvS_S_S_19ActivationParamSpecP8ArchInfo(ptr noundef nonnull %106, ptr noundef nonnull %107, ptr noundef nonnull byval(%struct.ConvolutionParamSpec) align 8 %108, i32 noundef %620, ptr noundef null, ptr noundef nonnull %109, ptr noundef nonnull %110, ptr noundef nonnull %111, ptr noundef nonnull byval(%struct.ActivationParamSpec) align 8 %9, ptr noundef nonnull @_ZL18UT_SERIAL_ARCHINFO)
          to label %622 unwind label %633

622:                                              ; preds = %619
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %111) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %110) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %109) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %107) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %106) #13
  %.not258 = icmp eq i32 %621, 0
  br i1 %.not258, label %635, label %623

623:                                              ; preds = %622
  %624 = call i64 (i64, ...) @syscall(i64 noundef 186) #13
  %625 = trunc i64 %624 to i32
  %626 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str, i32 noundef %625)
  %627 = load ptr, ptr @stdout, align 8, !tbaa !5
  %628 = call i32 @fflush(ptr noundef %627)
  %629 = call ptr @ee2str(i32 noundef %621)
  %630 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.2, ptr noundef %629)
  %631 = load ptr, ptr @stdout, align 8, !tbaa !5
  %632 = call i32 @fflush(ptr noundef %631)
  call void @exit(i32 noundef 1) #14
  unreachable

633:                                              ; preds = %619
  %634 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %111) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %110) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %109) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %107) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %106) #13
  br label %761

635:                                              ; preds = %622, %585
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %112, ptr noundef nonnull align 8 dereferenceable(32) %27) #13
  %636 = invoke noundef ptr @_Z19get_ptr_from_tensor6Tensor4Arch(ptr noundef nonnull %112, i32 noundef 1)
          to label %637 unwind label %657

637:                                              ; preds = %635
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %113, ptr noundef nonnull align 8 dereferenceable(32) %28) #13
  %638 = invoke noundef ptr @_Z19get_ptr_from_tensor6Tensor4Arch(ptr noundef nonnull %113, i32 noundef 1)
          to label %639 unwind label %659

639:                                              ; preds = %637
  %640 = invoke noundef i32 @_ZN6Tensor6lengthEv(ptr noundef nonnull align 8 dereferenceable(32) %27)
          to label %641 unwind label %659

641:                                              ; preds = %639
  invoke void @_Z10ut_check_vPvS_j8DataTypef(ptr noundef %636, ptr noundef %638, i32 noundef %640, i32 noundef %3, float noundef 0x3FB99999A0000000)
          to label %642 unwind label %659

642:                                              ; preds = %641
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %113) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %112) #13
  %643 = invoke noundef double @_Z10ut_time_msv()
          to label %.preheader unwind label %662

.preheader:                                       ; preds = %642
  br i1 %2, label %.preheader.split.us, label %.preheader.split.preheader

.preheader.split.preheader:                       ; preds = %.preheader
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %122, ptr noundef nonnull align 8 dereferenceable(32) %23) #13
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %123, ptr noundef nonnull align 8 dereferenceable(32) %71) #13
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(108) %124, ptr noundef nonnull align 8 dereferenceable(108) %22, i64 108, i1 false), !tbaa.struct !22
  %644 = load i32, ptr %48, align 4, !tbaa !20
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %125, ptr noundef nonnull align 8 dereferenceable(32) %29) #13
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %126, ptr noundef nonnull align 8 dereferenceable(32) %64) #13
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %127, ptr noundef nonnull align 8 dereferenceable(32) %27) #13
  %645 = invoke noundef i32 @_Z21depthwise_convolution6TensorS_20ConvolutionParamSpec36DepthwiseConvolutionForwardAlgorithmPvS_S_S_19ActivationParamSpecP8ArchInfo(ptr noundef nonnull %122, ptr noundef nonnull %123, ptr noundef nonnull byval(%struct.ConvolutionParamSpec) align 8 %124, i32 noundef %644, ptr noundef null, ptr noundef nonnull %125, ptr noundef nonnull %126, ptr noundef nonnull %127, ptr noundef nonnull byval(%struct.ActivationParamSpec) align 8 %9, ptr noundef nonnull @_ZL15UT_CPU_ARCHINFO)
          to label %674 unwind label %685

.preheader.split.us:                              ; preds = %.preheader, %651
  %.0228310.us = phi i32 [ %652, %651 ], [ 0, %.preheader ]
  invoke void @_ZNSt6vectorI6TensorSaIS0_EEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %114, ptr noundef nonnull align 8 dereferenceable(24) %78)
          to label %646 unwind label %.split.us

646:                                              ; preds = %.preheader.split.us
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %115, ptr noundef nonnull align 8 dereferenceable(32) %71) #13
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %116, ptr noundef nonnull align 8 dereferenceable(32) %73) #13
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(108) %117, ptr noundef nonnull align 8 dereferenceable(108) %22, i64 108, i1 false), !tbaa.struct !22
  %647 = load i32, ptr %48, align 4, !tbaa !20
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %118, ptr noundef nonnull align 8 dereferenceable(32) %29) #13
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %119, ptr noundef nonnull align 8 dereferenceable(32) %37) #13
  invoke void @_ZNSt6vectorI6TensorSaIS0_EEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %120, ptr noundef nonnull align 8 dereferenceable(24) %82)
          to label %648 unwind label %.split312.us

648:                                              ; preds = %646
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %121, ptr noundef nonnull align 8 dereferenceable(32) %27) #13
  %649 = invoke noundef i32 @_Z31depthwise_pointwise_convolutionSt6vectorI6TensorSaIS0_EES0_S0_20ConvolutionParamSpec36DepthwiseConvolutionForwardAlgorithmPvS0_S0_S2_S0_19ActivationParamSpecS6_P8ArchInfo(ptr noundef nonnull %114, ptr noundef nonnull %115, ptr noundef nonnull %116, ptr noundef nonnull byval(%struct.ConvolutionParamSpec) align 8 %117, i32 noundef %647, ptr noundef null, ptr noundef nonnull %118, ptr noundef nonnull %119, ptr noundef nonnull %120, ptr noundef nonnull %121, ptr noundef nonnull byval(%struct.ActivationParamSpec) align 8 %9, ptr noundef nonnull byval(%struct.ActivationParamSpec) align 8 %10, ptr noundef nonnull @_ZL15UT_CPU_ARCHINFO)
          to label %650 unwind label %.split315.us

650:                                              ; preds = %648
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %121) #13
  call void @_ZNSt6vectorI6TensorSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %120) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %119) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %118) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %116) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %115) #13
  call void @_ZNSt6vectorI6TensorSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %114) #13
  %.not301.us = icmp eq i32 %649, 0
  br i1 %.not301.us, label %651, label %.split318.us

651:                                              ; preds = %650
  %652 = add nuw nsw i32 %.0228310.us, 1
  %exitcond.not = icmp eq i32 %652, 6
  br i1 %exitcond.not, label %.split321.us, label %.preheader.split.us, !llvm.loop !28

.split.us:                                        ; preds = %.preheader.split.us
  %653 = landingpad { ptr, i32 }
          cleanup
  br label %761

.split312.us:                                     ; preds = %646
  %654 = landingpad { ptr, i32 }
          cleanup
  br label %673

.split315.us:                                     ; preds = %648
  %655 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %121) #13
  call void @_ZNSt6vectorI6TensorSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %120) #13
  br label %673

.split321.us:                                     ; preds = %651, %701
  %656 = invoke noundef double @_Z10ut_time_msv()
          to label %702 unwind label %740

657:                                              ; preds = %635
  %658 = landingpad { ptr, i32 }
          cleanup
  br label %661

659:                                              ; preds = %641, %639, %637
  %660 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %113) #13
  br label %661

661:                                              ; preds = %659, %657
  %.pn266 = phi { ptr, i32 } [ %660, %659 ], [ %658, %657 ]
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %112) #13
  br label %761

662:                                              ; preds = %642
  %663 = landingpad { ptr, i32 }
          cleanup
  br label %761

.split318.us:                                     ; preds = %650
  %664 = call i64 (i64, ...) @syscall(i64 noundef 186) #13
  %665 = trunc i64 %664 to i32
  %666 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str, i32 noundef %665)
  %667 = load ptr, ptr @stdout, align 8, !tbaa !5
  %668 = call i32 @fflush(ptr noundef %667)
  %669 = call ptr @ee2str(i32 noundef %649)
  %670 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.2, ptr noundef %669)
  %671 = load ptr, ptr @stdout, align 8, !tbaa !5
  %672 = call i32 @fflush(ptr noundef %671)
  call void @exit(i32 noundef 1) #14
  unreachable

673:                                              ; preds = %.split315.us, %.split312.us
  %.pn271 = phi { ptr, i32 } [ %655, %.split315.us ], [ %654, %.split312.us ]
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %119) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %118) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %116) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %115) #13
  call void @_ZNSt6vectorI6TensorSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %114) #13
  br label %761

674:                                              ; preds = %.preheader.split.preheader
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %127) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %126) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %125) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %123) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %122) #13
  %.not270 = icmp eq i32 %645, 0
  br i1 %.not270, label %.preheader.split.1, label %675

675:                                              ; preds = %701, %698, %695, %692, %689, %674
  %.lcssa324 = phi i32 [ %645, %674 ], [ %688, %689 ], [ %691, %692 ], [ %694, %695 ], [ %697, %698 ], [ %700, %701 ]
  %676 = call i64 (i64, ...) @syscall(i64 noundef 186) #13
  %677 = trunc i64 %676 to i32
  %678 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str, i32 noundef %677)
  %679 = load ptr, ptr @stdout, align 8, !tbaa !5
  %680 = call i32 @fflush(ptr noundef %679)
  %681 = call ptr @ee2str(i32 noundef %.lcssa324)
  %682 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.2, ptr noundef %681)
  %683 = load ptr, ptr @stdout, align 8, !tbaa !5
  %684 = call i32 @fflush(ptr noundef %683)
  call void @exit(i32 noundef 1) #14
  unreachable

685:                                              ; preds = %.preheader.split.5, %.preheader.split.4, %.preheader.split.3, %.preheader.split.2, %.preheader.split.1, %.preheader.split.preheader
  %686 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %127) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %126) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %125) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %123) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %122) #13
  br label %761

.preheader.split.1:                               ; preds = %674
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %122, ptr noundef nonnull align 8 dereferenceable(32) %23) #13
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %123, ptr noundef nonnull align 8 dereferenceable(32) %71) #13
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(108) %124, ptr noundef nonnull align 8 dereferenceable(108) %22, i64 108, i1 false), !tbaa.struct !22
  %687 = load i32, ptr %48, align 4, !tbaa !20
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %125, ptr noundef nonnull align 8 dereferenceable(32) %29) #13
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %126, ptr noundef nonnull align 8 dereferenceable(32) %64) #13
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %127, ptr noundef nonnull align 8 dereferenceable(32) %27) #13
  %688 = invoke noundef i32 @_Z21depthwise_convolution6TensorS_20ConvolutionParamSpec36DepthwiseConvolutionForwardAlgorithmPvS_S_S_19ActivationParamSpecP8ArchInfo(ptr noundef nonnull %122, ptr noundef nonnull %123, ptr noundef nonnull byval(%struct.ConvolutionParamSpec) align 8 %124, i32 noundef %687, ptr noundef null, ptr noundef nonnull %125, ptr noundef nonnull %126, ptr noundef nonnull %127, ptr noundef nonnull byval(%struct.ActivationParamSpec) align 8 %9, ptr noundef nonnull @_ZL15UT_CPU_ARCHINFO)
          to label %689 unwind label %685

689:                                              ; preds = %.preheader.split.1
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %127) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %126) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %125) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %123) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %122) #13
  %.not270.1 = icmp eq i32 %688, 0
  br i1 %.not270.1, label %.preheader.split.2, label %675

.preheader.split.2:                               ; preds = %689
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %122, ptr noundef nonnull align 8 dereferenceable(32) %23) #13
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %123, ptr noundef nonnull align 8 dereferenceable(32) %71) #13
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(108) %124, ptr noundef nonnull align 8 dereferenceable(108) %22, i64 108, i1 false), !tbaa.struct !22
  %690 = load i32, ptr %48, align 4, !tbaa !20
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %125, ptr noundef nonnull align 8 dereferenceable(32) %29) #13
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %126, ptr noundef nonnull align 8 dereferenceable(32) %64) #13
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %127, ptr noundef nonnull align 8 dereferenceable(32) %27) #13
  %691 = invoke noundef i32 @_Z21depthwise_convolution6TensorS_20ConvolutionParamSpec36DepthwiseConvolutionForwardAlgorithmPvS_S_S_19ActivationParamSpecP8ArchInfo(ptr noundef nonnull %122, ptr noundef nonnull %123, ptr noundef nonnull byval(%struct.ConvolutionParamSpec) align 8 %124, i32 noundef %690, ptr noundef null, ptr noundef nonnull %125, ptr noundef nonnull %126, ptr noundef nonnull %127, ptr noundef nonnull byval(%struct.ActivationParamSpec) align 8 %9, ptr noundef nonnull @_ZL15UT_CPU_ARCHINFO)
          to label %692 unwind label %685

692:                                              ; preds = %.preheader.split.2
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %127) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %126) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %125) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %123) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %122) #13
  %.not270.2 = icmp eq i32 %691, 0
  br i1 %.not270.2, label %.preheader.split.3, label %675

.preheader.split.3:                               ; preds = %692
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %122, ptr noundef nonnull align 8 dereferenceable(32) %23) #13
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %123, ptr noundef nonnull align 8 dereferenceable(32) %71) #13
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(108) %124, ptr noundef nonnull align 8 dereferenceable(108) %22, i64 108, i1 false), !tbaa.struct !22
  %693 = load i32, ptr %48, align 4, !tbaa !20
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %125, ptr noundef nonnull align 8 dereferenceable(32) %29) #13
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %126, ptr noundef nonnull align 8 dereferenceable(32) %64) #13
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %127, ptr noundef nonnull align 8 dereferenceable(32) %27) #13
  %694 = invoke noundef i32 @_Z21depthwise_convolution6TensorS_20ConvolutionParamSpec36DepthwiseConvolutionForwardAlgorithmPvS_S_S_19ActivationParamSpecP8ArchInfo(ptr noundef nonnull %122, ptr noundef nonnull %123, ptr noundef nonnull byval(%struct.ConvolutionParamSpec) align 8 %124, i32 noundef %693, ptr noundef null, ptr noundef nonnull %125, ptr noundef nonnull %126, ptr noundef nonnull %127, ptr noundef nonnull byval(%struct.ActivationParamSpec) align 8 %9, ptr noundef nonnull @_ZL15UT_CPU_ARCHINFO)
          to label %695 unwind label %685

695:                                              ; preds = %.preheader.split.3
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %127) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %126) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %125) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %123) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %122) #13
  %.not270.3 = icmp eq i32 %694, 0
  br i1 %.not270.3, label %.preheader.split.4, label %675

.preheader.split.4:                               ; preds = %695
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %122, ptr noundef nonnull align 8 dereferenceable(32) %23) #13
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %123, ptr noundef nonnull align 8 dereferenceable(32) %71) #13
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(108) %124, ptr noundef nonnull align 8 dereferenceable(108) %22, i64 108, i1 false), !tbaa.struct !22
  %696 = load i32, ptr %48, align 4, !tbaa !20
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %125, ptr noundef nonnull align 8 dereferenceable(32) %29) #13
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %126, ptr noundef nonnull align 8 dereferenceable(32) %64) #13
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %127, ptr noundef nonnull align 8 dereferenceable(32) %27) #13
  %697 = invoke noundef i32 @_Z21depthwise_convolution6TensorS_20ConvolutionParamSpec36DepthwiseConvolutionForwardAlgorithmPvS_S_S_19ActivationParamSpecP8ArchInfo(ptr noundef nonnull %122, ptr noundef nonnull %123, ptr noundef nonnull byval(%struct.ConvolutionParamSpec) align 8 %124, i32 noundef %696, ptr noundef null, ptr noundef nonnull %125, ptr noundef nonnull %126, ptr noundef nonnull %127, ptr noundef nonnull byval(%struct.ActivationParamSpec) align 8 %9, ptr noundef nonnull @_ZL15UT_CPU_ARCHINFO)
          to label %698 unwind label %685

698:                                              ; preds = %.preheader.split.4
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %127) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %126) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %125) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %123) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %122) #13
  %.not270.4 = icmp eq i32 %697, 0
  br i1 %.not270.4, label %.preheader.split.5, label %675

.preheader.split.5:                               ; preds = %698
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %122, ptr noundef nonnull align 8 dereferenceable(32) %23) #13
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %123, ptr noundef nonnull align 8 dereferenceable(32) %71) #13
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(108) %124, ptr noundef nonnull align 8 dereferenceable(108) %22, i64 108, i1 false), !tbaa.struct !22
  %699 = load i32, ptr %48, align 4, !tbaa !20
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %125, ptr noundef nonnull align 8 dereferenceable(32) %29) #13
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %126, ptr noundef nonnull align 8 dereferenceable(32) %64) #13
  call void @_ZN6TensorC2ERKS_(ptr noundef nonnull align 8 dereferenceable(32) %127, ptr noundef nonnull align 8 dereferenceable(32) %27) #13
  %700 = invoke noundef i32 @_Z21depthwise_convolution6TensorS_20ConvolutionParamSpec36DepthwiseConvolutionForwardAlgorithmPvS_S_S_19ActivationParamSpecP8ArchInfo(ptr noundef nonnull %122, ptr noundef nonnull %123, ptr noundef nonnull byval(%struct.ConvolutionParamSpec) align 8 %124, i32 noundef %699, ptr noundef null, ptr noundef nonnull %125, ptr noundef nonnull %126, ptr noundef nonnull %127, ptr noundef nonnull byval(%struct.ActivationParamSpec) align 8 %9, ptr noundef nonnull @_ZL15UT_CPU_ARCHINFO)
          to label %701 unwind label %685

701:                                              ; preds = %.preheader.split.5
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %127) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %126) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %125) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %123) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %122) #13
  %.not270.5 = icmp eq i32 %700, 0
  br i1 %.not270.5, label %.split321.us, label %675

702:                                              ; preds = %.split321.us
  %703 = fsub double %656, %643
  %704 = fdiv double %703, 6.000000e+00
  call void @llvm.lifetime.start.p0(i64 150, ptr nonnull %128) #13
  call void @llvm.lifetime.start.p0(i64 120, ptr nonnull %129) #13
  %705 = load i32, ptr %5, align 4, !tbaa !9
  %706 = load i32, ptr %6, align 4, !tbaa !9
  %707 = load i32, ptr %7, align 4, !tbaa !9
  %708 = load i32, ptr %8, align 4, !tbaa !9
  %709 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %129, ptr noundef nonnull dereferenceable(1) @.str.3, i32 noundef 1, i32 noundef %146, i32 noundef %149, i32 noundef %152, i32 noundef %155, i32 noundef %158, i32 noundef %161, i32 noundef %164, i32 noundef %170, i32 noundef %173, i32 noundef %705, i32 noundef %706, i32 noundef %707, i32 noundef %708) #13
  %710 = uitofp i32 %146 to double
  br i1 %2, label %711, label %742

711:                                              ; preds = %702
  %712 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %128, ptr noundef nonnull dereferenceable(1) @.str.4, ptr noundef nonnull @.str.5, ptr noundef nonnull %129) #13
  %713 = fmul double %710, 2.000000e+00
  %714 = load i32, ptr %7, align 4, !tbaa !9
  %715 = uitofp i32 %714 to double
  %716 = fmul double %713, %715
  %717 = load i32, ptr %8, align 4, !tbaa !9
  %718 = uitofp i32 %717 to double
  %719 = fmul double %716, %718
  %720 = uitofp i32 %161 to double
  %721 = fmul double %719, %720
  %722 = uitofp i32 %164 to double
  %723 = mul i32 %717, %714
  %724 = mul i32 %723, %146
  %725 = uitofp i32 %724 to double
  %726 = call double @llvm.fmuladd.f64(double %721, double %722, double %725)
  %727 = load i32, ptr %5, align 4, !tbaa !9
  %728 = uitofp i32 %727 to double
  %729 = fmul double %728, 2.000000e+00
  %730 = load i32, ptr %6, align 4, !tbaa !9
  %731 = uitofp i32 %730 to double
  %732 = fmul double %729, %731
  %733 = fmul double %732, %715
  %734 = fmul double %733, %718
  %735 = call double @llvm.fmuladd.f64(double %734, double %710, double %726)
  %736 = mul i32 %723, %727
  %737 = mul i32 %736, %730
  %738 = uitofp i32 %737 to double
  %739 = fadd double %735, %738
  br label %755

740:                                              ; preds = %.split321.us
  %741 = landingpad { ptr, i32 }
          cleanup
  br label %761

742:                                              ; preds = %702
  %743 = call i32 (ptr, ptr, ...) @sprintf(ptr noundef nonnull dereferenceable(1) %128, ptr noundef nonnull dereferenceable(1) @.str.4, ptr noundef nonnull @.str.6, ptr noundef nonnull %129) #13
  %744 = load i32, ptr %7, align 4, !tbaa !9
  %745 = uitofp i32 %744 to double
  %746 = fmul double %710, %745
  %747 = load i32, ptr %8, align 4, !tbaa !9
  %748 = uitofp i32 %747 to double
  %749 = fmul double %746, %748
  %750 = uitofp i32 %161 to double
  %751 = fmul double %750, 2.000000e+00
  %752 = uitofp i32 %164 to double
  %753 = call double @llvm.fmuladd.f64(double %751, double %752, double 1.000000e+00)
  %754 = fmul double %753, %749
  br label %755

755:                                              ; preds = %742, %711
  %.0 = phi double [ %739, %711 ], [ %754, %742 ]
  invoke void @_Z6ut_log8DataTypePcdd(i32 noundef %3, ptr noundef nonnull %128, double noundef %.0, double noundef %704)
          to label %756 unwind label %758

756:                                              ; preds = %755
  call void @free(ptr noundef %204) #13
  call void @free(ptr noundef %206) #13
  call void @free(ptr noundef %208) #13
  br i1 %2, label %757, label %760

757:                                              ; preds = %756
  call void @free(ptr noundef %.0190306) #13
  call void @free(ptr noundef %.0191304) #13
  br label %760

758:                                              ; preds = %755
  %759 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %129) #13
  call void @llvm.lifetime.end.p0(i64 150, ptr nonnull %128) #13
  br label %761

760:                                              ; preds = %757, %756
  call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %129) #13
  call void @llvm.lifetime.end.p0(i64 150, ptr nonnull %128) #13
  call void @_ZNSt6vectorI6TensorSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %82) #13
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %82) #13
  call void @_ZNSt6vectorI6TensorSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %80) #13
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %80) #13
  call void @_ZNSt6vectorI6TensorSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %78) #13
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %78) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #13
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %73) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #13
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %71) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %67) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %66) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #13
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %64) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %56) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %48) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %45) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %44) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #13
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %37) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #13
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %36) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #13
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #13
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #13
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %28) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #13
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #13
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #13
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #13
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #13
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #13
  call void @llvm.lifetime.end.p0(i64 108, ptr nonnull %22) #13
  call void @llvm.lifetime.end.p0(i64 92, ptr nonnull %16) #13
  call void @llvm.lifetime.end.p0(i64 92, ptr nonnull %15) #13
  call void @llvm.lifetime.end.p0(i64 92, ptr nonnull %14) #13
  call void @llvm.lifetime.end.p0(i64 92, ptr nonnull %13) #13
  call void @llvm.lifetime.end.p0(i64 92, ptr nonnull %12) #13
  call void @llvm.lifetime.end.p0(i64 92, ptr nonnull %11) #13
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %10) #13
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %9) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %8) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %7) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %6) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %5) #13
  ret i32 0

761:                                              ; preds = %662, %.split.us, %673, %685, %758, %740, %596, %602, %573, %579, %661, %633, %617
  %.pn271.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn266, %661 ], [ %634, %633 ], [ %618, %617 ], [ %.pn, %579 ], [ %574, %573 ], [ %.pn262, %602 ], [ %597, %596 ], [ %663, %662 ], [ %686, %685 ], [ %.pn271, %673 ], [ %653, %.split.us ], [ %759, %758 ], [ %741, %740 ]
  call void @_ZNSt6vectorI6TensorSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %82) #13
  br label %762

762:                                              ; preds = %761, %571
  %.pn271.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn271.pn.pn.pn.pn, %761 ], [ %572, %571 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %82) #13
  call void @_ZNSt6vectorI6TensorSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %80) #13
  br label %763

763:                                              ; preds = %762, %569
  %.pn271.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn271.pn.pn.pn.pn.pn, %762 ], [ %570, %569 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %80) #13
  call void @_ZNSt6vectorI6TensorSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %78) #13
  br label %764

764:                                              ; preds = %763, %567
  %.pn271.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn271.pn.pn.pn.pn.pn.pn, %763 ], [ %568, %567 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %78) #13
  br label %765

765:                                              ; preds = %764, %545, %530, %514
  %.pn271.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn271.pn.pn.pn.pn.pn.pn.pn, %764 ], [ %531, %530 ], [ %546, %545 ], [ %515, %514 ]
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #13
  br label %766

766:                                              ; preds = %765, %512
  %.pn271.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn271.pn.pn.pn.pn.pn.pn.pn.pn, %765 ], [ %513, %512 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %73) #13
  br label %767

767:                                              ; preds = %766, %510
  %.pn271.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn271.pn.pn.pn.pn.pn.pn.pn.pn.pn, %766 ], [ %511, %510 ]
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #13
  br label %768

768:                                              ; preds = %767, %508
  %.pn271.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn271.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %767 ], [ %509, %508 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %71) #13
  br label %769

769:                                              ; preds = %768, %495, %479
  %.pn271.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn271.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %768 ], [ %480, %479 ], [ %496, %495 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %67) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %66) #13
  br label %770

770:                                              ; preds = %769, %477
  %.pn271.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn271.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %769 ], [ %478, %477 ]
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #13
  br label %771

771:                                              ; preds = %770, %475
  %.pn271.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn271.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %770 ], [ %476, %475 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %64) #13
  br label %772

772:                                              ; preds = %771, %453, %437
  %.pn271.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn271.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %771 ], [ %438, %437 ], [ %454, %453 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %56) #13
  br label %773

773:                                              ; preds = %772, %421, %406
  %.pn271.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn271.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %772 ], [ %407, %406 ], [ %422, %421 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %48) #13
  br label %774

774:                                              ; preds = %773, %404, %384
  %.pn271.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn271.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %773 ], [ %405, %404 ], [ %385, %384 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %45) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %44) #13
  br label %775

775:                                              ; preds = %774, %369, %354, %339, %337, %335, %333
  %.pn271.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn271.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %774 ], [ %355, %354 ], [ %370, %369 ], [ %340, %339 ], [ %338, %337 ], [ %336, %335 ], [ %334, %333 ]
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #13
  br label %776

776:                                              ; preds = %775, %331
  %.pn271.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn271.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %775 ], [ %332, %331 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %37) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #13
  br label %777

777:                                              ; preds = %776, %329
  %.pn271.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn271.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %776 ], [ %330, %329 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %36) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #13
  br label %778

778:                                              ; preds = %777, %327
  %.pn271.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn271.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %777 ], [ %328, %327 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #13
  br label %779

779:                                              ; preds = %778, %325, %323, %321, %319, %317, %315
  %.pn271.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn271.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %778 ], [ %326, %325 ], [ %324, %323 ], [ %322, %321 ], [ %320, %319 ], [ %318, %317 ], [ %316, %315 ]
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #13
  br label %780

780:                                              ; preds = %779, %313
  %.pn271.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn271.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %779 ], [ %314, %313 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #13
  br label %781

781:                                              ; preds = %780, %311
  %.pn271.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn271.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %780 ], [ %312, %311 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %28) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #13
  br label %782

782:                                              ; preds = %781, %309
  %.pn271.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn271.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %781 ], [ %310, %309 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #13
  br label %783

783:                                              ; preds = %782, %307
  %.pn271.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn271.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %782 ], [ %308, %307 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #13
  br label %784

784:                                              ; preds = %783, %305
  %.pn271.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn271.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %783 ], [ %306, %305 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #13
  br label %785

785:                                              ; preds = %784, %303
  %.pn271.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn271.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %784 ], [ %304, %303 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #13
  call void @_ZN6TensorD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #13
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #13
  call void @llvm.lifetime.end.p0(i64 108, ptr nonnull %22) #13
  call void @llvm.lifetime.end.p0(i64 92, ptr nonnull %16) #13
  call void @llvm.lifetime.end.p0(i64 92, ptr nonnull %15) #13
  call void @llvm.lifetime.end.p0(i64 92, ptr nonnull %14) #13
  call void @llvm.lifetime.end.p0(i64 92, ptr nonnull %13) #13
  call void @llvm.lifetime.end.p0(i64 92, ptr nonnull %12) #13
  call void @llvm.lifetime.end.p0(i64 92, ptr nonnull %11) #13
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %10) #13
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %9) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %8) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %7) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %6) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %5) #13
  resume { ptr, i32 } %.pn271.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn
}

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

; Function Attrs: nounwind
declare i64 @syscall(i64 noundef, ...) local_unnamed_addr #2

; Function Attrs: nofree nounwind
declare noundef i32 @printf(ptr nocapture noundef readonly, ...) local_unnamed_addr #3

; Function Attrs: nofree nounwind
declare noundef i32 @fflush(ptr nocapture noundef) local_unnamed_addr #3

; Function Attrs: noreturn nounwind
declare void @exit(i32 noundef) local_unnamed_addr #4

; Function Attrs: inlinehint mustprogress nofree nounwind willreturn memory(read) uwtable
declare i32 @atoi(ptr nocapture noundef nonnull) local_unnamed_addr #5

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN19ActivationParamSpecC2Ev(ptr noundef nonnull align 4 dereferenceable(20)) unnamed_addr #6 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN10TensorDescC2Ev(ptr noundef nonnull align 4 dereferenceable(92)) unnamed_addr #6 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_Z9tensor4df8DataType10DataFormatjjjj(ptr dead_on_unwind noalias writable sret(%struct.TensorDesc) align 4, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #6

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_Z8tensor1d8DataTypej(ptr dead_on_unwind noalias writable sret(%struct.TensorDesc) align 4, i32 noundef, i32 noundef) local_unnamed_addr #8

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_Z26createConvolutionParamSpecjjjjjjjjjjjjjjjjj15ConvolutionMode(ptr dead_on_unwind noalias writable sret(%struct.ConvolutionParamSpec) align 4, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #6

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef ptr @_Z10ut_input_vj8DataType14UT_RANDOM_TYPE(i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #8

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef i32 @_Z17tensorNumElements10TensorDesc(ptr noundef byval(%struct.TensorDesc) align 8) local_unnamed_addr #6

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6TensorC2E10MemoryType(ptr noundef nonnull align 8 dereferenceable(32), i32 noundef) unnamed_addr #0 align 2

declare i32 @__gxx_personality_v0(...)

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6Tensor6resizeE10TensorDesc(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef byval(%struct.TensorDesc) align 8) local_unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6Tensor5allocEv(ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #0 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_Z10UNI_MEMCPYPvPKvm(ptr noundef, ptr noundef, i64 noundef) local_unnamed_addr #8

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef ptr @_Z19get_ptr_from_tensor6Tensor4Arch(ptr noundef, i32 noundef) local_unnamed_addr #8

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef i32 @_Z7bytesOf8DataType(i32 noundef) local_unnamed_addr #8

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

declare noundef i32 @_Z49depthwise_pointwise_convolution_infer_output_sizeP6TensorS_S_20ConvolutionParamSpecS0_8DataTypeP8ArchInfo(ptr noundef, ptr noundef, ptr noundef, ptr noundef byval(%struct.ConvolutionParamSpec) align 8, ptr noundef, i32 noundef, ptr noundef) local_unnamed_addr #9

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local ptr @ee2str(i32 noundef) local_unnamed_addr #6

declare noundef i32 @_Z39depthwise_convolution_infer_output_sizeP6TensorS_20ConvolutionParamSpecS0_8DataTypeP8ArchInfo(ptr noundef, ptr noundef, ptr noundef byval(%struct.ConvolutionParamSpec) align 8, ptr noundef, i32 noundef, ptr noundef) local_unnamed_addr #9

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef i32 @_Z11tensor4dGet10TensorDescP8DataTypeP10DataFormatPjS4_S4_S4_(ptr noundef byval(%struct.TensorDesc) align 8, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #6

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN6Tensor8get_descEv(ptr dead_on_unwind noalias writable sret(%struct.TensorDesc) align 4, ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #0 align 2

declare noundef i32 @_Z55depthwise_pointwise_convolution_infer_forward_algorithm6TensorS_S_S_20ConvolutionParamSpec17ConvolutionPolicyP36DepthwiseConvolutionForwardAlgorithm8DataType19ActivationParamSpecS5_P8ArchInfo(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef byval(%struct.ConvolutionParamSpec) align 8, i32 noundef, ptr noundef, i32 noundef, ptr noundef byval(%struct.ActivationParamSpec) align 8, ptr noundef byval(%struct.ActivationParamSpec) align 8, ptr noundef) local_unnamed_addr #9

declare noundef i32 @_Z45depthwise_convolution_infer_forward_algorithm6TensorS_S_20ConvolutionParamSpec17ConvolutionPolicyP36DepthwiseConvolutionForwardAlgorithm8DataType19ActivationParamSpecP8ArchInfo(ptr noundef, ptr noundef, ptr noundef, ptr noundef byval(%struct.ConvolutionParamSpec) align 8, i32 noundef, ptr noundef, i32 noundef, ptr noundef byval(%struct.ActivationParamSpec) align 8, ptr noundef) local_unnamed_addr #9

declare noundef i32 @_Z55depthwise_pointwise_convolution_infer_forward_tmp_bytes6TensorS_S_S_20ConvolutionParamSpec36DepthwiseConvolutionForwardAlgorithmPjP8ArchInfo(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef byval(%struct.ConvolutionParamSpec) align 8, i32 noundef, ptr noundef, ptr noundef) local_unnamed_addr #9

declare noundef i32 @_Z45depthwise_convolution_infer_forward_tmp_bytes6TensorS_S_20ConvolutionParamSpec36DepthwiseConvolutionForwardAlgorithmPjP8ArchInfo(ptr noundef, ptr noundef, ptr noundef, ptr noundef byval(%struct.ConvolutionParamSpec) align 8, i32 noundef, ptr noundef, ptr noundef) local_unnamed_addr #9

declare noundef i32 @_Z54depthwise_pointwise_convolution_transform_filter_bytes6TensorS_20ConvolutionParamSpec36DepthwiseConvolutionForwardAlgorithmPvS2_P8ArchInfo(ptr noundef, ptr noundef, ptr noundef byval(%struct.ConvolutionParamSpec) align 8, i32 noundef, ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #9

declare noundef i32 @_Z44depthwise_convolution_transform_filter_bytes6Tensor20ConvolutionParamSpec36DepthwiseConvolutionForwardAlgorithmPvP8ArchInfo(ptr noundef, ptr noundef byval(%struct.ConvolutionParamSpec) align 8, i32 noundef, ptr noundef, ptr noundef) local_unnamed_addr #9

declare noundef i32 @_Z48depthwise_pointwise_convolution_transform_filter6TensorS_20ConvolutionParamSpec36DepthwiseConvolutionForwardAlgorithmPS_S2_P8ArchInfo(ptr noundef, ptr noundef, ptr noundef byval(%struct.ConvolutionParamSpec) align 8, i32 noundef, ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #9

declare noundef i32 @_Z38depthwise_convolution_transform_filter6Tensor20ConvolutionParamSpec36DepthwiseConvolutionForwardAlgorithmPS_P8ArchInfo(ptr noundef, ptr noundef byval(%struct.ConvolutionParamSpec) align 8, i32 noundef, ptr noundef, ptr noundef) local_unnamed_addr #9

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSaI6TensorEC2Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #10 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt6vectorI6TensorSaIS0_EEC2EmRKS0_RKS1_(ptr noundef nonnull align 8 dereferenceable(24), i64 noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #0 align 2

declare noundef i32 @_Z31depthwise_pointwise_convolutionSt6vectorI6TensorSaIS0_EES0_S0_20ConvolutionParamSpec36DepthwiseConvolutionForwardAlgorithmPvS0_S0_S2_S0_19ActivationParamSpecS6_P8ArchInfo(ptr noundef, ptr noundef, ptr noundef, ptr noundef byval(%struct.ConvolutionParamSpec) align 8, i32 noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef byval(%struct.ActivationParamSpec) align 8, ptr noundef byval(%struct.ActivationParamSpec) align 8, ptr noundef) local_unnamed_addr #9

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt6vectorI6TensorSaIS0_EEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #0 align 2

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

declare noundef i32 @_Z21depthwise_convolution6TensorS_20ConvolutionParamSpec36DepthwiseConvolutionForwardAlgorithmPvS_S_S_19ActivationParamSpecP8ArchInfo(ptr noundef, ptr noundef, ptr noundef byval(%struct.ConvolutionParamSpec) align 8, i32 noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef byval(%struct.ActivationParamSpec) align 8, ptr noundef) local_unnamed_addr #9

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_Z10ut_check_vPvS_j8DataTypef(ptr noundef, ptr noundef, i32 noundef, i32 noundef, float noundef) local_unnamed_addr #8

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZN6Tensor6lengthEv(ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #0 align 2

declare noundef double @_Z10ut_time_msv() local_unnamed_addr #9

; Function Attrs: nofree nounwind
declare noundef i32 @sprintf(ptr noalias nocapture noundef writeonly, ptr nocapture noundef readonly, ...) local_unnamed_addr #3

; Function Attrs: mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare double @llvm.fmuladd.f64(double, double, double) #11

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_Z6ut_log8DataTypePcdd(i32 noundef, ptr noundef, double noundef, double noundef) local_unnamed_addr #8

; Function Attrs: mustprogress nounwind willreturn allockind("free") memory(argmem: readwrite, inaccessiblemem: readwrite)
declare void @free(ptr allocptr nocapture noundef) local_unnamed_addr #12

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt15__new_allocatorI6TensorED2Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #10 align 2

attributes #0 = { 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 #1 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { nofree nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { noreturn nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { inlinehint mustprogress nofree nounwind willreturn memory(read) uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { inlinehint mustprogress 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 #7 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #8 = { 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 #9 = { "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 #10 = { 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 #11 = { mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #12 = { mustprogress nounwind willreturn allockind("free") memory(argmem: readwrite, inaccessiblemem: readwrite) "alloc-family"="malloc" "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 #13 = { nounwind }
attributes #14 = { noreturn nounwind }
attributes #15 = { nounwind willreturn memory(read) }

!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, !10, i64 0}
!10 = !{!"int", !7, i64 0}
!11 = !{!12, !13, i64 0}
!12 = !{!"_ZTS19ActivationParamSpec", !13, i64 0, !7, i64 4}
!13 = !{!"_ZTS14ActivationMode", !7, i64 0}
!14 = !{i64 0, i64 4, !15, i64 4, i64 4, !17, i64 8, i64 4, !9, i64 12, i64 80, !19}
!15 = !{!16, !16, i64 0}
!16 = !{!"_ZTS8DataType", !7, i64 0}
!17 = !{!18, !18, i64 0}
!18 = !{!"_ZTS10DataFormat", !7, i64 0}
!19 = !{!7, !7, i64 0}
!20 = !{!21, !21, i64 0}
!21 = !{!"_ZTS36DepthwiseConvolutionForwardAlgorithm", !7, i64 0}
!22 = !{i64 0, i64 4, !9, i64 4, i64 4, !9, i64 8, i64 4, !9, i64 12, i64 4, !9, i64 16, i64 4, !9, i64 20, i64 4, !9, i64 24, i64 4, !9, i64 28, i64 4, !9, i64 32, i64 4, !9, i64 36, i64 4, !9, i64 40, i64 4, !9, i64 44, i64 4, !9, i64 48, i64 4, !9, i64 52, i64 4, !9, i64 56, i64 4, !9, i64 60, i64 4, !9, i64 64, i64 4, !9, i64 68, i64 4, !9, i64 72, i64 4, !23, i64 76, i64 4, !25, i64 80, i64 4, !25, i64 84, i64 8, !19, i64 92, i64 4, !26, i64 96, i64 4, !9, i64 100, i64 4, !9, i64 104, i64 4, !9}
!23 = !{!24, !24, i64 0}
!24 = !{!"_ZTS15ConvolutionMode", !7, i64 0}
!25 = !{!13, !13, i64 0}
!26 = !{!27, !27, i64 0}
!27 = !{!"_ZTS9RoundMode", !7, i64 0}
!28 = distinct !{!28, !29}
!29 = !{!"llvm.loop.mustprogress"}


; Effective O3 passes: CorrelatedValuePropagationPass,DSEPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferAlignmentPass,InferFunctionAttrsPass,InstCombinePass,InstSimplifyPass,JumpThreadingPass,LCSSAPass,LoopRotatePass,LoopSimplifyCFGPass,LoopSimplifyPass,LoopUnrollPass,MemCpyOptPass,PostOrderFunctionAttrsPass,ReassociatePass,SROAPass,SimplifyCFGPass,TailCallElimPass