; LLVM IR from ardiloot/NonlinearTMM :: NonlinearTMM/src/eigen-3.4.0/unsupported/test (cxx11_tensor_image_patch)

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

%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::basic_ostream" = type { ptr, %"class.std::basic_ios" }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"class.std::locale" = type { ptr }
%"class.Eigen::Tensor.30" = type { %"class.Eigen::TensorStorage.33" }
%"class.Eigen::TensorStorage.33" = type { ptr, %"struct.Eigen::DSizes.34" }
%"struct.Eigen::DSizes.34" = type { %"struct.std::array.35" }
%"struct.std::array.35" = type { [3 x i64] }
%"class.Eigen::Tensor.36" = type { %"class.Eigen::TensorStorage.39" }
%"class.Eigen::TensorStorage.39" = type { ptr, %"struct.Eigen::DSizes.34" }
%"class.Eigen::TensorLayoutSwapOp.40" = type { ptr }
%"class.Eigen::Tensor" = type { %"class.Eigen::TensorStorage" }
%"class.Eigen::TensorStorage" = type { ptr, %"struct.Eigen::DSizes" }
%"struct.Eigen::DSizes" = type { %"struct.std::array" }
%"struct.std::array" = type { [4 x i64] }
%"class.Eigen::TensorImagePatchOp.43" = type { ptr, i64, i64, i64, i64, i64, i64, i64, i64, i8, i64, i64, i64, i64, i32, float }
%"class.Eigen::Tensor.10" = type { %"class.Eigen::TensorStorage.13" }
%"class.Eigen::TensorStorage.13" = type { ptr, %"struct.Eigen::DSizes" }
%"class.Eigen::TensorImagePatchOp.45" = type { ptr, i64, i64, i64, i64, i64, i64, i64, i64, i8, i64, i64, i64, i64, i32, float }

@_ZN5EigenL12g_test_stackB5cxx11E = external hidden global %"class.std::vector", align 8
@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@.str.28 = external hidden unnamed_addr constant [130 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.102 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.103 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.104 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.105 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.106 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.107 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.108 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.109 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.110 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.111 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.112 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.113 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.114 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.115 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.116 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.117 = external hidden unnamed_addr constant [80 x i8], align 1

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

declare i32 @__gxx_personality_v0(...)

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

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) #1

; Function Attrs: mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) #2 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_(ptr noundef nonnull align 8 dereferenceable(8)) #1

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext, ptr noundef, ptr noundef, i32 noundef, ptr noundef) #1

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN5Eigen13test_is_equalIllEEbRKT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8), i1 noundef zeroext) #2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZNK5Eigen6TensorIfLi4ELi0ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(40), i64 noundef) #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZNK5Eigen6TensorIfLi4ELi1ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(40), i64 noundef) #5 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN5Eigen13test_is_equalIliEEbRKT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 4 dereferenceable(4), i1 noundef zeroext) #2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef ptr @_ZN5Eigen6TensorIfLi4ELi0ElE4dataEv(ptr noundef nonnull align 8 dereferenceable(40)) #1 align 2

; Function Attrs: mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEf(ptr noundef nonnull align 8 dereferenceable(8), float noundef) #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN5Eigen13test_is_equalIffEEbRKT_RKT0_b(ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4), i1 noundef zeroext) #2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef ptr @_ZN5Eigen6TensorIfLi4ELi1ElE4dataEv(ptr noundef nonnull align 8 dereferenceable(40)) #1 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen6TensorIfLi4ELi0ElEclIJiiEEERfllDpT_(ptr noundef nonnull align 8 dereferenceable(40), i64 noundef, i64 noundef, i32 noundef, i32 noundef) #1 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen6TensorIfLi4ELi1ElEclIJiiEEERfllDpT_(ptr noundef nonnull align 8 dereferenceable(40), i64 noundef, i64 noundef, i32 noundef, i32 noundef) #1 align 2

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

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

; Function Attrs: mustprogress uwtable
define dso_local void @_Z23test_patch_no_extra_dimv() #2 personality ptr @__gxx_personality_v0 {
  %1 = alloca %"class.Eigen::Tensor.30", align 8
  %2 = alloca ptr, align 8
  %3 = alloca i32, align 4
  %4 = alloca %"class.Eigen::Tensor.36", align 8
  %5 = alloca %"class.Eigen::TensorLayoutSwapOp.40", align 8
  %6 = alloca i64, align 8
  %7 = alloca i64, align 8
  %8 = alloca i64, align 8
  %9 = alloca i64, align 8
  %10 = alloca i64, align 8
  %11 = alloca i64, align 8
  %12 = alloca %"class.Eigen::Tensor", align 8
  %13 = alloca %"class.Eigen::TensorImagePatchOp.43", align 8
  %14 = alloca i64, align 8
  %15 = alloca i32, align 4
  %16 = alloca i64, align 8
  %17 = alloca i32, align 4
  %18 = alloca i64, align 8
  %19 = alloca i32, align 4
  %20 = alloca i64, align 8
  %21 = alloca i32, align 4
  %22 = alloca %"class.Eigen::Tensor.10", align 8
  %23 = alloca %"class.Eigen::TensorImagePatchOp.45", align 8
  %24 = alloca i64, align 8
  %25 = alloca i32, align 4
  %26 = alloca i64, align 8
  %27 = alloca i32, align 4
  %28 = alloca i64, align 8
  %29 = alloca i32, align 4
  %30 = alloca i64, align 8
  %31 = alloca i32, align 4
  %32 = alloca i32, align 4
  %33 = alloca %"class.Eigen::Tensor", align 8
  %34 = alloca %"class.Eigen::TensorImagePatchOp.43", align 8
  %35 = alloca i64, align 8
  %36 = alloca i32, align 4
  %37 = alloca i64, align 8
  %38 = alloca i32, align 4
  %39 = alloca i64, align 8
  %40 = alloca i32, align 4
  %41 = alloca i64, align 8
  %42 = alloca i32, align 4
  %43 = alloca %"class.Eigen::Tensor.10", align 8
  %44 = alloca %"class.Eigen::TensorImagePatchOp.45", align 8
  %45 = alloca i64, align 8
  %46 = alloca i32, align 4
  %47 = alloca i64, align 8
  %48 = alloca i32, align 4
  %49 = alloca i64, align 8
  %50 = alloca i32, align 4
  %51 = alloca i64, align 8
  %52 = alloca i32, align 4
  %53 = alloca i32, align 4
  %54 = alloca i32, align 4
  %55 = alloca i32, align 4
  %56 = alloca i32, align 4
  %57 = alloca i32, align 4
  %58 = alloca i32, align 4
  %59 = alloca i32, align 4
  %60 = alloca float, align 4
  %61 = alloca float, align 4
  %62 = alloca %"class.Eigen::Tensor", align 8
  %63 = alloca %"class.Eigen::TensorImagePatchOp.43", align 8
  %64 = alloca i64, align 8
  %65 = alloca i32, align 4
  %66 = alloca i64, align 8
  %67 = alloca i32, align 4
  %68 = alloca i64, align 8
  %69 = alloca i32, align 4
  %70 = alloca i64, align 8
  %71 = alloca i32, align 4
  %72 = alloca %"class.Eigen::Tensor.10", align 8
  %73 = alloca %"class.Eigen::TensorImagePatchOp.45", align 8
  %74 = alloca i64, align 8
  %75 = alloca i32, align 4
  %76 = alloca i64, align 8
  %77 = alloca i32, align 4
  %78 = alloca i64, align 8
  %79 = alloca i32, align 4
  %80 = alloca i64, align 8
  %81 = alloca i32, align 4
  %82 = alloca i32, align 4
  %83 = alloca i32, align 4
  %84 = alloca i32, align 4
  %85 = alloca i32, align 4
  %86 = alloca i32, align 4
  %87 = alloca i32, align 4
  %88 = alloca i32, align 4
  %89 = alloca i32, align 4
  %90 = alloca i32, align 4
  %91 = alloca float, align 4
  %92 = alloca float, align 4
  %93 = alloca i32, align 4
  %94 = alloca i32, align 4
  call void @llvm.lifetime.start.p0(i64 32, ptr %1) #6
  call void @_ZN5Eigen6TensorIfLi3ELi0ElEC2IJiiEEElDpT_(ptr noundef nonnull align 8 dereferenceable(32) %1, i64 noundef 2, i32 noundef 3, i32 noundef 5)
  %95 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5Eigen10TensorBaseINS_6TensorIfLi3ELi0ElEELi1EE9setRandomEv(ptr noundef nonnull align 1 dereferenceable(1) %1)
          to label %96 unwind label %199

96:                                               ; preds = %0
  call void @llvm.lifetime.start.p0(i64 32, ptr %4) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %5) #6
  %97 = invoke ptr @_ZN5Eigen10TensorBaseINS_6TensorIfLi3ELi0ElEELi1EE11swap_layoutEv(ptr noundef nonnull align 1 dereferenceable(1) %1)
          to label %98 unwind label %203

98:                                               ; preds = %96
  %99 = getelementptr inbounds %"class.Eigen::TensorLayoutSwapOp.40", ptr %5, i32 0, i32 0
  store ptr %97, ptr %99, align 8
  invoke void @_ZN5Eigen6TensorIfLi3ELi1ElEC2INS_18TensorLayoutSwapOpINS0_IfLi3ELi0ElEEEEEERKNS_10TensorBaseIT_Li1EEE(ptr noundef nonnull align 8 dereferenceable(32) %4, ptr noundef nonnull align 1 dereferenceable(1) %5)
          to label %100 unwind label %203

100:                                              ; preds = %98
  call void @llvm.lifetime.end.p0(i64 8, ptr %5) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %6) #6
  %101 = invoke noundef i64 @_ZNK5Eigen6TensorIfLi3ELi0ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(32) %1, i64 noundef 0)
          to label %102 unwind label %207

102:                                              ; preds = %100
  store i64 %101, ptr %6, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %7) #6
  %103 = invoke noundef i64 @_ZNK5Eigen6TensorIfLi3ELi1ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef 2)
          to label %104 unwind label %211

104:                                              ; preds = %102
  store i64 %103, ptr %7, align 8, !tbaa !5
  %105 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIllEEbRKT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(8) %6, ptr noundef nonnull align 8 dereferenceable(8) %7, i1 noundef zeroext true)
          to label %106 unwind label %211

106:                                              ; preds = %104
  %107 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %108 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %107) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %105, ptr noundef %108, ptr noundef @.str.28, i32 noundef 464, ptr noundef @.str.102)
          to label %109 unwind label %211

109:                                              ; preds = %106
  call void @llvm.lifetime.end.p0(i64 8, ptr %7) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %6) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %8) #6
  %110 = invoke noundef i64 @_ZNK5Eigen6TensorIfLi3ELi0ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(32) %1, i64 noundef 1)
          to label %111 unwind label %216

111:                                              ; preds = %109
  store i64 %110, ptr %8, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %9) #6
  %112 = invoke noundef i64 @_ZNK5Eigen6TensorIfLi3ELi1ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef 1)
          to label %113 unwind label %220

113:                                              ; preds = %111
  store i64 %112, ptr %9, align 8, !tbaa !5
  %114 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIllEEbRKT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(8) %8, ptr noundef nonnull align 8 dereferenceable(8) %9, i1 noundef zeroext true)
          to label %115 unwind label %220

115:                                              ; preds = %113
  %116 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %117 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %116) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %114, ptr noundef %117, ptr noundef @.str.28, i32 noundef 465, ptr noundef @.str.103)
          to label %118 unwind label %220

118:                                              ; preds = %115
  call void @llvm.lifetime.end.p0(i64 8, ptr %9) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %8) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %10) #6
  %119 = invoke noundef i64 @_ZNK5Eigen6TensorIfLi3ELi0ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(32) %1, i64 noundef 2)
          to label %120 unwind label %225

120:                                              ; preds = %118
  store i64 %119, ptr %10, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %11) #6
  %121 = invoke noundef i64 @_ZNK5Eigen6TensorIfLi3ELi1ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef 0)
          to label %122 unwind label %229

122:                                              ; preds = %120
  store i64 %121, ptr %11, align 8, !tbaa !5
  %123 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIllEEbRKT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(8) %10, ptr noundef nonnull align 8 dereferenceable(8) %11, i1 noundef zeroext true)
          to label %124 unwind label %229

124:                                              ; preds = %122
  %125 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %126 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %125) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %123, ptr noundef %126, ptr noundef @.str.28, i32 noundef 466, ptr noundef @.str.104)
          to label %127 unwind label %229

127:                                              ; preds = %124
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %10) #6
  call void @llvm.lifetime.start.p0(i64 40, ptr %12) #6
  invoke void @_ZN5Eigen6TensorIfLi4ELi0ElEC2Ev(ptr noundef nonnull align 8 dereferenceable(40) %12)
          to label %128 unwind label %234

128:                                              ; preds = %127
  call void @llvm.lifetime.start.p0(i64 120, ptr %13) #6
  invoke void @_ZNK5Eigen10TensorBaseINS_6TensorIfLi3ELi0ElEELi0EE21extract_image_patchesEllllllNS_11PaddingTypeEf(ptr dead_on_unwind writable sret(%"class.Eigen::TensorImagePatchOp.43") align 8 %13, ptr noundef nonnull align 1 dereferenceable(1) %1, i64 noundef 1, i64 noundef 1, i64 noundef 1, i64 noundef 1, i64 noundef 1, i64 noundef 1, i32 noundef 2, float noundef 0.000000e+00)
          to label %129 unwind label %238

129:                                              ; preds = %128
  %130 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN5Eigen6TensorIfLi4ELi0ElEaSINS_18TensorImagePatchOpILln1ELln1EKNS0_IfLi3ELi0ElEEEEEERS1_RKT_(ptr noundef nonnull align 8 dereferenceable(40) %12, ptr noundef nonnull align 8 dereferenceable(120) %13)
          to label %131 unwind label %238

131:                                              ; preds = %129
  call void @llvm.lifetime.end.p0(i64 120, ptr %13) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %14) #6
  %132 = invoke noundef i64 @_ZNK5Eigen6TensorIfLi4ELi0ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(40) %12, i64 noundef 0)
          to label %133 unwind label %242

133:                                              ; preds = %131
  store i64 %132, ptr %14, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %15) #6
  store i32 2, ptr %15, align 4, !tbaa !9
  %134 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIliEEbRKT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(8) %14, ptr noundef nonnull align 4 dereferenceable(4) %15, i1 noundef zeroext true)
          to label %135 unwind label %246

135:                                              ; preds = %133
  %136 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %137 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %136) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %134, ptr noundef %137, ptr noundef @.str.28, i32 noundef 471, ptr noundef @.str.33)
          to label %138 unwind label %246

138:                                              ; preds = %135
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %14) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %16) #6
  %139 = invoke noundef i64 @_ZNK5Eigen6TensorIfLi4ELi0ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(40) %12, i64 noundef 1)
          to label %140 unwind label %251

140:                                              ; preds = %138
  store i64 %139, ptr %16, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %17) #6
  store i32 1, ptr %17, align 4, !tbaa !9
  %141 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIliEEbRKT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(8) %16, ptr noundef nonnull align 4 dereferenceable(4) %17, i1 noundef zeroext true)
          to label %142 unwind label %255

142:                                              ; preds = %140
  %143 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %144 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %143) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %141, ptr noundef %144, ptr noundef @.str.28, i32 noundef 472, ptr noundef @.str.34)
          to label %145 unwind label %255

145:                                              ; preds = %142
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %16) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %18) #6
  %146 = invoke noundef i64 @_ZNK5Eigen6TensorIfLi4ELi0ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(40) %12, i64 noundef 2)
          to label %147 unwind label %260

147:                                              ; preds = %145
  store i64 %146, ptr %18, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %19) #6
  store i32 1, ptr %19, align 4, !tbaa !9
  %148 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIliEEbRKT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(8) %18, ptr noundef nonnull align 4 dereferenceable(4) %19, i1 noundef zeroext true)
          to label %149 unwind label %264

149:                                              ; preds = %147
  %150 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %151 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %150) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %148, ptr noundef %151, ptr noundef @.str.28, i32 noundef 473, ptr noundef @.str.35)
          to label %152 unwind label %264

152:                                              ; preds = %149
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %20) #6
  %153 = invoke noundef i64 @_ZNK5Eigen6TensorIfLi4ELi0ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(40) %12, i64 noundef 3)
          to label %154 unwind label %269

154:                                              ; preds = %152
  store i64 %153, ptr %20, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %21) #6
  store i32 15, ptr %21, align 4, !tbaa !9
  %155 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIliEEbRKT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(8) %20, ptr noundef nonnull align 4 dereferenceable(4) %21, i1 noundef zeroext true)
          to label %156 unwind label %273

156:                                              ; preds = %154
  %157 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %158 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %157) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %155, ptr noundef %158, ptr noundef @.str.28, i32 noundef 474, ptr noundef @.str.36)
          to label %159 unwind label %273

159:                                              ; preds = %156
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %20) #6
  call void @llvm.lifetime.start.p0(i64 40, ptr %22) #6
  invoke void @_ZN5Eigen6TensorIfLi4ELi1ElEC2Ev(ptr noundef nonnull align 8 dereferenceable(40) %22)
          to label %160 unwind label %278

160:                                              ; preds = %159
  call void @llvm.lifetime.start.p0(i64 120, ptr %23) #6
  invoke void @_ZNK5Eigen10TensorBaseINS_6TensorIfLi3ELi1ElEELi0EE21extract_image_patchesEllllllNS_11PaddingTypeEf(ptr dead_on_unwind writable sret(%"class.Eigen::TensorImagePatchOp.45") align 8 %23, ptr noundef nonnull align 1 dereferenceable(1) %4, i64 noundef 1, i64 noundef 1, i64 noundef 1, i64 noundef 1, i64 noundef 1, i64 noundef 1, i32 noundef 2, float noundef 0.000000e+00)
          to label %161 unwind label %282

161:                                              ; preds = %160
  %162 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN5Eigen6TensorIfLi4ELi1ElEaSINS_18TensorImagePatchOpILln1ELln1EKNS0_IfLi3ELi1ElEEEEEERS1_RKT_(ptr noundef nonnull align 8 dereferenceable(40) %22, ptr noundef nonnull align 8 dereferenceable(120) %23)
          to label %163 unwind label %282

163:                                              ; preds = %161
  call void @llvm.lifetime.end.p0(i64 120, ptr %23) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %24) #6
  %164 = invoke noundef i64 @_ZNK5Eigen6TensorIfLi4ELi1ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(40) %22, i64 noundef 0)
          to label %165 unwind label %286

165:                                              ; preds = %163
  store i64 %164, ptr %24, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %25) #6
  store i32 15, ptr %25, align 4, !tbaa !9
  %166 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIliEEbRKT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(8) %24, ptr noundef nonnull align 4 dereferenceable(4) %25, i1 noundef zeroext true)
          to label %167 unwind label %290

167:                                              ; preds = %165
  %168 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %169 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %168) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %166, ptr noundef %169, ptr noundef @.str.28, i32 noundef 479, ptr noundef @.str.105)
          to label %170 unwind label %290

170:                                              ; preds = %167
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %26) #6
  %171 = invoke noundef i64 @_ZNK5Eigen6TensorIfLi4ELi1ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(40) %22, i64 noundef 1)
          to label %172 unwind label %295

172:                                              ; preds = %170
  store i64 %171, ptr %26, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %27) #6
  store i32 1, ptr %27, align 4, !tbaa !9
  %173 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIliEEbRKT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(8) %26, ptr noundef nonnull align 4 dereferenceable(4) %27, i1 noundef zeroext true)
          to label %174 unwind label %299

174:                                              ; preds = %172
  %175 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %176 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %175) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %173, ptr noundef %176, ptr noundef @.str.28, i32 noundef 480, ptr noundef @.str.106)
          to label %177 unwind label %299

177:                                              ; preds = %174
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %28) #6
  %178 = invoke noundef i64 @_ZNK5Eigen6TensorIfLi4ELi1ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(40) %22, i64 noundef 2)
          to label %179 unwind label %304

179:                                              ; preds = %177
  store i64 %178, ptr %28, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %29) #6
  store i32 1, ptr %29, align 4, !tbaa !9
  %180 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIliEEbRKT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(8) %28, ptr noundef nonnull align 4 dereferenceable(4) %29, i1 noundef zeroext true)
          to label %181 unwind label %308

181:                                              ; preds = %179
  %182 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %183 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %182) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %180, ptr noundef %183, ptr noundef @.str.28, i32 noundef 481, ptr noundef @.str.40)
          to label %184 unwind label %308

184:                                              ; preds = %181
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %30) #6
  %185 = invoke noundef i64 @_ZNK5Eigen6TensorIfLi4ELi1ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(40) %22, i64 noundef 3)
          to label %186 unwind label %313

186:                                              ; preds = %184
  store i64 %185, ptr %30, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %31) #6
  store i32 2, ptr %31, align 4, !tbaa !9
  %187 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIliEEbRKT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(8) %30, ptr noundef nonnull align 4 dereferenceable(4) %31, i1 noundef zeroext true)
          to label %188 unwind label %317

188:                                              ; preds = %186
  %189 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %190 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %189) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %187, ptr noundef %190, ptr noundef @.str.28, i32 noundef 482, ptr noundef @.str.107)
          to label %191 unwind label %317

191:                                              ; preds = %188
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %32) #6
  store i32 0, ptr %32, align 4, !tbaa !9
  br label %192

192:                                              ; preds = %471, %191
  %193 = load i32, ptr %32, align 4, !tbaa !9
  %194 = sext i32 %193 to i64
  %195 = invoke noundef i64 @_ZNK5Eigen6TensorIfLi3ELi0ElE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %1)
          to label %196 unwind label %322

196:                                              ; preds = %192
  %197 = icmp slt i64 %194, %195
  br i1 %197, label %326, label %198

198:                                              ; preds = %196
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #6
  br label %474

199:                                              ; preds = %0
  %200 = landingpad { ptr, i32 }
          cleanup
  %201 = extractvalue { ptr, i32 } %200, 0
  store ptr %201, ptr %2, align 8
  %202 = extractvalue { ptr, i32 } %200, 1
  store i32 %202, ptr %3, align 4
  br label %1242

203:                                              ; preds = %98, %96
  %204 = landingpad { ptr, i32 }
          cleanup
  %205 = extractvalue { ptr, i32 } %204, 0
  store ptr %205, ptr %2, align 8
  %206 = extractvalue { ptr, i32 } %204, 1
  store i32 %206, ptr %3, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %5) #6
  br label %1241

207:                                              ; preds = %100
  %208 = landingpad { ptr, i32 }
          cleanup
  %209 = extractvalue { ptr, i32 } %208, 0
  store ptr %209, ptr %2, align 8
  %210 = extractvalue { ptr, i32 } %208, 1
  store i32 %210, ptr %3, align 4
  br label %215

211:                                              ; preds = %106, %104, %102
  %212 = landingpad { ptr, i32 }
          cleanup
  %213 = extractvalue { ptr, i32 } %212, 0
  store ptr %213, ptr %2, align 8
  %214 = extractvalue { ptr, i32 } %212, 1
  store i32 %214, ptr %3, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %7) #6
  br label %215

215:                                              ; preds = %211, %207
  call void @llvm.lifetime.end.p0(i64 8, ptr %6) #6
  br label %1240

216:                                              ; preds = %109
  %217 = landingpad { ptr, i32 }
          cleanup
  %218 = extractvalue { ptr, i32 } %217, 0
  store ptr %218, ptr %2, align 8
  %219 = extractvalue { ptr, i32 } %217, 1
  store i32 %219, ptr %3, align 4
  br label %224

220:                                              ; preds = %115, %113, %111
  %221 = landingpad { ptr, i32 }
          cleanup
  %222 = extractvalue { ptr, i32 } %221, 0
  store ptr %222, ptr %2, align 8
  %223 = extractvalue { ptr, i32 } %221, 1
  store i32 %223, ptr %3, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %9) #6
  br label %224

224:                                              ; preds = %220, %216
  call void @llvm.lifetime.end.p0(i64 8, ptr %8) #6
  br label %1240

225:                                              ; preds = %118
  %226 = landingpad { ptr, i32 }
          cleanup
  %227 = extractvalue { ptr, i32 } %226, 0
  store ptr %227, ptr %2, align 8
  %228 = extractvalue { ptr, i32 } %226, 1
  store i32 %228, ptr %3, align 4
  br label %233

229:                                              ; preds = %124, %122, %120
  %230 = landingpad { ptr, i32 }
          cleanup
  %231 = extractvalue { ptr, i32 } %230, 0
  store ptr %231, ptr %2, align 8
  %232 = extractvalue { ptr, i32 } %230, 1
  store i32 %232, ptr %3, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #6
  br label %233

233:                                              ; preds = %229, %225
  call void @llvm.lifetime.end.p0(i64 8, ptr %10) #6
  br label %1240

234:                                              ; preds = %127
  %235 = landingpad { ptr, i32 }
          cleanup
  %236 = extractvalue { ptr, i32 } %235, 0
  store ptr %236, ptr %2, align 8
  %237 = extractvalue { ptr, i32 } %235, 1
  store i32 %237, ptr %3, align 4
  br label %1239

238:                                              ; preds = %129, %128
  %239 = landingpad { ptr, i32 }
          cleanup
  %240 = extractvalue { ptr, i32 } %239, 0
  store ptr %240, ptr %2, align 8
  %241 = extractvalue { ptr, i32 } %239, 1
  store i32 %241, ptr %3, align 4
  call void @llvm.lifetime.end.p0(i64 120, ptr %13) #6
  br label %1238

242:                                              ; preds = %131
  %243 = landingpad { ptr, i32 }
          cleanup
  %244 = extractvalue { ptr, i32 } %243, 0
  store ptr %244, ptr %2, align 8
  %245 = extractvalue { ptr, i32 } %243, 1
  store i32 %245, ptr %3, align 4
  br label %250

246:                                              ; preds = %135, %133
  %247 = landingpad { ptr, i32 }
          cleanup
  %248 = extractvalue { ptr, i32 } %247, 0
  store ptr %248, ptr %2, align 8
  %249 = extractvalue { ptr, i32 } %247, 1
  store i32 %249, ptr %3, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #6
  br label %250

250:                                              ; preds = %246, %242
  call void @llvm.lifetime.end.p0(i64 8, ptr %14) #6
  br label %1238

251:                                              ; preds = %138
  %252 = landingpad { ptr, i32 }
          cleanup
  %253 = extractvalue { ptr, i32 } %252, 0
  store ptr %253, ptr %2, align 8
  %254 = extractvalue { ptr, i32 } %252, 1
  store i32 %254, ptr %3, align 4
  br label %259

255:                                              ; preds = %142, %140
  %256 = landingpad { ptr, i32 }
          cleanup
  %257 = extractvalue { ptr, i32 } %256, 0
  store ptr %257, ptr %2, align 8
  %258 = extractvalue { ptr, i32 } %256, 1
  store i32 %258, ptr %3, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #6
  br label %259

259:                                              ; preds = %255, %251
  call void @llvm.lifetime.end.p0(i64 8, ptr %16) #6
  br label %1238

260:                                              ; preds = %145
  %261 = landingpad { ptr, i32 }
          cleanup
  %262 = extractvalue { ptr, i32 } %261, 0
  store ptr %262, ptr %2, align 8
  %263 = extractvalue { ptr, i32 } %261, 1
  store i32 %263, ptr %3, align 4
  br label %268

264:                                              ; preds = %149, %147
  %265 = landingpad { ptr, i32 }
          cleanup
  %266 = extractvalue { ptr, i32 } %265, 0
  store ptr %266, ptr %2, align 8
  %267 = extractvalue { ptr, i32 } %265, 1
  store i32 %267, ptr %3, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #6
  br label %268

268:                                              ; preds = %264, %260
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #6
  br label %1238

269:                                              ; preds = %152
  %270 = landingpad { ptr, i32 }
          cleanup
  %271 = extractvalue { ptr, i32 } %270, 0
  store ptr %271, ptr %2, align 8
  %272 = extractvalue { ptr, i32 } %270, 1
  store i32 %272, ptr %3, align 4
  br label %277

273:                                              ; preds = %156, %154
  %274 = landingpad { ptr, i32 }
          cleanup
  %275 = extractvalue { ptr, i32 } %274, 0
  store ptr %275, ptr %2, align 8
  %276 = extractvalue { ptr, i32 } %274, 1
  store i32 %276, ptr %3, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #6
  br label %277

277:                                              ; preds = %273, %269
  call void @llvm.lifetime.end.p0(i64 8, ptr %20) #6
  br label %1238

278:                                              ; preds = %159
  %279 = landingpad { ptr, i32 }
          cleanup
  %280 = extractvalue { ptr, i32 } %279, 0
  store ptr %280, ptr %2, align 8
  %281 = extractvalue { ptr, i32 } %279, 1
  store i32 %281, ptr %3, align 4
  br label %1237

282:                                              ; preds = %161, %160
  %283 = landingpad { ptr, i32 }
          cleanup
  %284 = extractvalue { ptr, i32 } %283, 0
  store ptr %284, ptr %2, align 8
  %285 = extractvalue { ptr, i32 } %283, 1
  store i32 %285, ptr %3, align 4
  call void @llvm.lifetime.end.p0(i64 120, ptr %23) #6
  br label %1236

286:                                              ; preds = %163
  %287 = landingpad { ptr, i32 }
          cleanup
  %288 = extractvalue { ptr, i32 } %287, 0
  store ptr %288, ptr %2, align 8
  %289 = extractvalue { ptr, i32 } %287, 1
  store i32 %289, ptr %3, align 4
  br label %294

290:                                              ; preds = %167, %165
  %291 = landingpad { ptr, i32 }
          cleanup
  %292 = extractvalue { ptr, i32 } %291, 0
  store ptr %292, ptr %2, align 8
  %293 = extractvalue { ptr, i32 } %291, 1
  store i32 %293, ptr %3, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #6
  br label %294

294:                                              ; preds = %290, %286
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #6
  br label %1236

295:                                              ; preds = %170
  %296 = landingpad { ptr, i32 }
          cleanup
  %297 = extractvalue { ptr, i32 } %296, 0
  store ptr %297, ptr %2, align 8
  %298 = extractvalue { ptr, i32 } %296, 1
  store i32 %298, ptr %3, align 4
  br label %303

299:                                              ; preds = %174, %172
  %300 = landingpad { ptr, i32 }
          cleanup
  %301 = extractvalue { ptr, i32 } %300, 0
  store ptr %301, ptr %2, align 8
  %302 = extractvalue { ptr, i32 } %300, 1
  store i32 %302, ptr %3, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #6
  br label %303

303:                                              ; preds = %299, %295
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #6
  br label %1236

304:                                              ; preds = %177
  %305 = landingpad { ptr, i32 }
          cleanup
  %306 = extractvalue { ptr, i32 } %305, 0
  store ptr %306, ptr %2, align 8
  %307 = extractvalue { ptr, i32 } %305, 1
  store i32 %307, ptr %3, align 4
  br label %312

308:                                              ; preds = %181, %179
  %309 = landingpad { ptr, i32 }
          cleanup
  %310 = extractvalue { ptr, i32 } %309, 0
  store ptr %310, ptr %2, align 8
  %311 = extractvalue { ptr, i32 } %309, 1
  store i32 %311, ptr %3, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #6
  br label %312

312:                                              ; preds = %308, %304
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #6
  br label %1236

313:                                              ; preds = %184
  %314 = landingpad { ptr, i32 }
          cleanup
  %315 = extractvalue { ptr, i32 } %314, 0
  store ptr %315, ptr %2, align 8
  %316 = extractvalue { ptr, i32 } %314, 1
  store i32 %316, ptr %3, align 4
  br label %321

317:                                              ; preds = %188, %186
  %318 = landingpad { ptr, i32 }
          cleanup
  %319 = extractvalue { ptr, i32 } %318, 0
  store ptr %319, ptr %2, align 8
  %320 = extractvalue { ptr, i32 } %318, 1
  store i32 %320, ptr %3, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #6
  br label %321

321:                                              ; preds = %317, %313
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #6
  br label %1236

322:                                              ; preds = %467, %462, %457, %455, %452, %447, %442, %440, %437, %432, %427, %425, %422, %416, %414, %412, %406, %404, %402, %399, %397, %385, %383, %380, %375, %370, %368, %365, %359, %357, %355, %349, %347, %345, %342, %340, %328, %326, %192
  %323 = landingpad { ptr, i32 }
          cleanup
  %324 = extractvalue { ptr, i32 } %323, 0
  store ptr %324, ptr %2, align 8
  %325 = extractvalue { ptr, i32 } %323, 1
  store i32 %325, ptr %3, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #6
  br label %1236

326:                                              ; preds = %196
  %327 = invoke noundef ptr @_ZN5Eigen6TensorIfLi3ELi0ElE4dataEv(ptr noundef nonnull align 8 dereferenceable(32) %1)
          to label %328 unwind label %322

328:                                              ; preds = %326
  %329 = load i32, ptr %32, align 4, !tbaa !9
  %330 = sext i32 %329 to i64
  %331 = getelementptr inbounds float, ptr %327, i64 %330
  %332 = load float, ptr %331, align 4, !tbaa !11
  %333 = invoke noundef ptr @_ZN5Eigen6TensorIfLi4ELi0ElE4dataEv(ptr noundef nonnull align 8 dereferenceable(40) %12)
          to label %334 unwind label %322

334:                                              ; preds = %328
  %335 = load i32, ptr %32, align 4, !tbaa !9
  %336 = sext i32 %335 to i64
  %337 = getelementptr inbounds float, ptr %333, i64 %336
  %338 = load float, ptr %337, align 4, !tbaa !11
  %339 = fcmp une float %332, %338
  br i1 %339, label %340, label %368

340:                                              ; preds = %334
  %341 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.43)
          to label %342 unwind label %322

342:                                              ; preds = %340
  %343 = load i32, ptr %32, align 4, !tbaa !9
  %344 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %341, i32 noundef %343)
          to label %345 unwind label %322

345:                                              ; preds = %342
  %346 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %344, ptr noundef @.str.44)
          to label %347 unwind label %322

347:                                              ; preds = %345
  %348 = invoke noundef ptr @_ZN5Eigen6TensorIfLi3ELi0ElE4dataEv(ptr noundef nonnull align 8 dereferenceable(32) %1)
          to label %349 unwind label %322

349:                                              ; preds = %347
  %350 = load i32, ptr %32, align 4, !tbaa !9
  %351 = sext i32 %350 to i64
  %352 = getelementptr inbounds float, ptr %348, i64 %351
  %353 = load float, ptr %352, align 4, !tbaa !11
  %354 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEf(ptr noundef nonnull align 8 dereferenceable(8) %346, float noundef %353)
          to label %355 unwind label %322

355:                                              ; preds = %349
  %356 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %354, ptr noundef @.str.45)
          to label %357 unwind label %322

357:                                              ; preds = %355
  %358 = invoke noundef ptr @_ZN5Eigen6TensorIfLi4ELi0ElE4dataEv(ptr noundef nonnull align 8 dereferenceable(40) %12)
          to label %359 unwind label %322

359:                                              ; preds = %357
  %360 = load i32, ptr %32, align 4, !tbaa !9
  %361 = sext i32 %360 to i64
  %362 = getelementptr inbounds float, ptr %358, i64 %361
  %363 = load float, ptr %362, align 4, !tbaa !11
  %364 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEf(ptr noundef nonnull align 8 dereferenceable(8) %356, float noundef %363)
          to label %365 unwind label %322

365:                                              ; preds = %359
  %366 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %364, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %367 unwind label %322

367:                                              ; preds = %365
  br label %368

368:                                              ; preds = %367, %334
  %369 = invoke noundef ptr @_ZN5Eigen6TensorIfLi4ELi0ElE4dataEv(ptr noundef nonnull align 8 dereferenceable(40) %12)
          to label %370 unwind label %322

370:                                              ; preds = %368
  %371 = load i32, ptr %32, align 4, !tbaa !9
  %372 = sext i32 %371 to i64
  %373 = getelementptr inbounds float, ptr %369, i64 %372
  %374 = invoke noundef ptr @_ZN5Eigen6TensorIfLi3ELi0ElE4dataEv(ptr noundef nonnull align 8 dereferenceable(32) %1)
          to label %375 unwind label %322

375:                                              ; preds = %370
  %376 = load i32, ptr %32, align 4, !tbaa !9
  %377 = sext i32 %376 to i64
  %378 = getelementptr inbounds float, ptr %374, i64 %377
  %379 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIffEEbRKT_RKT0_b(ptr noundef nonnull align 4 dereferenceable(4) %373, ptr noundef nonnull align 4 dereferenceable(4) %378, i1 noundef zeroext true)
          to label %380 unwind label %322

380:                                              ; preds = %375
  %381 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %382 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %381) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %379, ptr noundef %382, ptr noundef @.str.28, i32 noundef 489, ptr noundef @.str.46)
          to label %383 unwind label %322

383:                                              ; preds = %380
  %384 = invoke noundef ptr @_ZN5Eigen6TensorIfLi3ELi1ElE4dataEv(ptr noundef nonnull align 8 dereferenceable(32) %4)
          to label %385 unwind label %322

385:                                              ; preds = %383
  %386 = load i32, ptr %32, align 4, !tbaa !9
  %387 = sext i32 %386 to i64
  %388 = getelementptr inbounds float, ptr %384, i64 %387
  %389 = load float, ptr %388, align 4, !tbaa !11
  %390 = invoke noundef ptr @_ZN5Eigen6TensorIfLi4ELi1ElE4dataEv(ptr noundef nonnull align 8 dereferenceable(40) %22)
          to label %391 unwind label %322

391:                                              ; preds = %385
  %392 = load i32, ptr %32, align 4, !tbaa !9
  %393 = sext i32 %392 to i64
  %394 = getelementptr inbounds float, ptr %390, i64 %393
  %395 = load float, ptr %394, align 4, !tbaa !11
  %396 = fcmp une float %389, %395
  br i1 %396, label %397, label %425

397:                                              ; preds = %391
  %398 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.43)
          to label %399 unwind label %322

399:                                              ; preds = %397
  %400 = load i32, ptr %32, align 4, !tbaa !9
  %401 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %398, i32 noundef %400)
          to label %402 unwind label %322

402:                                              ; preds = %399
  %403 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %401, ptr noundef @.str.44)
          to label %404 unwind label %322

404:                                              ; preds = %402
  %405 = invoke noundef ptr @_ZN5Eigen6TensorIfLi3ELi0ElE4dataEv(ptr noundef nonnull align 8 dereferenceable(32) %1)
          to label %406 unwind label %322

406:                                              ; preds = %404
  %407 = load i32, ptr %32, align 4, !tbaa !9
  %408 = sext i32 %407 to i64
  %409 = getelementptr inbounds float, ptr %405, i64 %408
  %410 = load float, ptr %409, align 4, !tbaa !11
  %411 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEf(ptr noundef nonnull align 8 dereferenceable(8) %403, float noundef %410)
          to label %412 unwind label %322

412:                                              ; preds = %406
  %413 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %411, ptr noundef @.str.45)
          to label %414 unwind label %322

414:                                              ; preds = %412
  %415 = invoke noundef ptr @_ZN5Eigen6TensorIfLi4ELi1ElE4dataEv(ptr noundef nonnull align 8 dereferenceable(40) %22)
          to label %416 unwind label %322

416:                                              ; preds = %414
  %417 = load i32, ptr %32, align 4, !tbaa !9
  %418 = sext i32 %417 to i64
  %419 = getelementptr inbounds float, ptr %415, i64 %418
  %420 = load float, ptr %419, align 4, !tbaa !11
  %421 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEf(ptr noundef nonnull align 8 dereferenceable(8) %413, float noundef %420)
          to label %422 unwind label %322

422:                                              ; preds = %416
  %423 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %421, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %424 unwind label %322

424:                                              ; preds = %422
  br label %425

425:                                              ; preds = %424, %391
  %426 = invoke noundef ptr @_ZN5Eigen6TensorIfLi4ELi1ElE4dataEv(ptr noundef nonnull align 8 dereferenceable(40) %22)
          to label %427 unwind label %322

427:                                              ; preds = %425
  %428 = load i32, ptr %32, align 4, !tbaa !9
  %429 = sext i32 %428 to i64
  %430 = getelementptr inbounds float, ptr %426, i64 %429
  %431 = invoke noundef ptr @_ZN5Eigen6TensorIfLi3ELi1ElE4dataEv(ptr noundef nonnull align 8 dereferenceable(32) %4)
          to label %432 unwind label %322

432:                                              ; preds = %427
  %433 = load i32, ptr %32, align 4, !tbaa !9
  %434 = sext i32 %433 to i64
  %435 = getelementptr inbounds float, ptr %431, i64 %434
  %436 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIffEEbRKT_RKT0_b(ptr noundef nonnull align 4 dereferenceable(4) %430, ptr noundef nonnull align 4 dereferenceable(4) %435, i1 noundef zeroext true)
          to label %437 unwind label %322

437:                                              ; preds = %432
  %438 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %439 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %438) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %436, ptr noundef %439, ptr noundef @.str.28, i32 noundef 497, ptr noundef @.str.47)
          to label %440 unwind label %322

440:                                              ; preds = %437
  %441 = invoke noundef ptr @_ZN5Eigen6TensorIfLi3ELi0ElE4dataEv(ptr noundef nonnull align 8 dereferenceable(32) %1)
          to label %442 unwind label %322

442:                                              ; preds = %440
  %443 = load i32, ptr %32, align 4, !tbaa !9
  %444 = sext i32 %443 to i64
  %445 = getelementptr inbounds float, ptr %441, i64 %444
  %446 = invoke noundef ptr @_ZN5Eigen6TensorIfLi3ELi1ElE4dataEv(ptr noundef nonnull align 8 dereferenceable(32) %4)
          to label %447 unwind label %322

447:                                              ; preds = %442
  %448 = load i32, ptr %32, align 4, !tbaa !9
  %449 = sext i32 %448 to i64
  %450 = getelementptr inbounds float, ptr %446, i64 %449
  %451 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIffEEbRKT_RKT0_b(ptr noundef nonnull align 4 dereferenceable(4) %445, ptr noundef nonnull align 4 dereferenceable(4) %450, i1 noundef zeroext true)
          to label %452 unwind label %322

452:                                              ; preds = %447
  %453 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %454 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %453) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %451, ptr noundef %454, ptr noundef @.str.28, i32 noundef 498, ptr noundef @.str.48)
          to label %455 unwind label %322

455:                                              ; preds = %452
  %456 = invoke noundef ptr @_ZN5Eigen6TensorIfLi4ELi0ElE4dataEv(ptr noundef nonnull align 8 dereferenceable(40) %12)
          to label %457 unwind label %322

457:                                              ; preds = %455
  %458 = load i32, ptr %32, align 4, !tbaa !9
  %459 = sext i32 %458 to i64
  %460 = getelementptr inbounds float, ptr %456, i64 %459
  %461 = invoke noundef ptr @_ZN5Eigen6TensorIfLi4ELi1ElE4dataEv(ptr noundef nonnull align 8 dereferenceable(40) %22)
          to label %462 unwind label %322

462:                                              ; preds = %457
  %463 = load i32, ptr %32, align 4, !tbaa !9
  %464 = sext i32 %463 to i64
  %465 = getelementptr inbounds float, ptr %461, i64 %464
  %466 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIffEEbRKT_RKT0_b(ptr noundef nonnull align 4 dereferenceable(4) %460, ptr noundef nonnull align 4 dereferenceable(4) %465, i1 noundef zeroext true)
          to label %467 unwind label %322

467:                                              ; preds = %462
  %468 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %469 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %468) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %466, ptr noundef %469, ptr noundef @.str.28, i32 noundef 500, ptr noundef @.str.49)
          to label %470 unwind label %322

470:                                              ; preds = %467
  br label %471

471:                                              ; preds = %470
  %472 = load i32, ptr %32, align 4, !tbaa !9
  %473 = add nsw i32 %472, 1
  store i32 %473, ptr %32, align 4, !tbaa !9
  br label %192, !llvm.loop !13

474:                                              ; preds = %198
  call void @llvm.lifetime.start.p0(i64 40, ptr %33) #6
  invoke void @_ZN5Eigen6TensorIfLi4ELi0ElEC2Ev(ptr noundef nonnull align 8 dereferenceable(40) %33)
          to label %475 unwind label %543

475:                                              ; preds = %474
  call void @llvm.lifetime.start.p0(i64 120, ptr %34) #6
  invoke void @_ZNK5Eigen10TensorBaseINS_6TensorIfLi3ELi0ElEELi0EE21extract_image_patchesEllllllNS_11PaddingTypeEf(ptr dead_on_unwind writable sret(%"class.Eigen::TensorImagePatchOp.43") align 8 %34, ptr noundef nonnull align 1 dereferenceable(1) %1, i64 noundef 3, i64 noundef 5, i64 noundef 1, i64 noundef 1, i64 noundef 1, i64 noundef 1, i32 noundef 2, float noundef 0.000000e+00)
          to label %476 unwind label %547

476:                                              ; preds = %475
  %477 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN5Eigen6TensorIfLi4ELi0ElEaSINS_18TensorImagePatchOpILln1ELln1EKNS0_IfLi3ELi0ElEEEEEERS1_RKT_(ptr noundef nonnull align 8 dereferenceable(40) %33, ptr noundef nonnull align 8 dereferenceable(120) %34)
          to label %478 unwind label %547

478:                                              ; preds = %476
  call void @llvm.lifetime.end.p0(i64 120, ptr %34) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %35) #6
  %479 = invoke noundef i64 @_ZNK5Eigen6TensorIfLi4ELi0ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(40) %33, i64 noundef 0)
          to label %480 unwind label %551

480:                                              ; preds = %478
  store i64 %479, ptr %35, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %36) #6
  store i32 2, ptr %36, align 4, !tbaa !9
  %481 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIliEEbRKT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(8) %35, ptr noundef nonnull align 4 dereferenceable(4) %36, i1 noundef zeroext true)
          to label %482 unwind label %555

482:                                              ; preds = %480
  %483 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %484 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %483) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %481, ptr noundef %484, ptr noundef @.str.28, i32 noundef 506, ptr noundef @.str.50)
          to label %485 unwind label %555

485:                                              ; preds = %482
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %37) #6
  %486 = invoke noundef i64 @_ZNK5Eigen6TensorIfLi4ELi0ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(40) %33, i64 noundef 1)
          to label %487 unwind label %560

487:                                              ; preds = %485
  store i64 %486, ptr %37, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %38) #6
  store i32 3, ptr %38, align 4, !tbaa !9
  %488 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIliEEbRKT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(8) %37, ptr noundef nonnull align 4 dereferenceable(4) %38, i1 noundef zeroext true)
          to label %489 unwind label %564

489:                                              ; preds = %487
  %490 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %491 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %490) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %488, ptr noundef %491, ptr noundef @.str.28, i32 noundef 507, ptr noundef @.str.51)
          to label %492 unwind label %564

492:                                              ; preds = %489
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %39) #6
  %493 = invoke noundef i64 @_ZNK5Eigen6TensorIfLi4ELi0ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(40) %33, i64 noundef 2)
          to label %494 unwind label %569

494:                                              ; preds = %492
  store i64 %493, ptr %39, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %40) #6
  store i32 5, ptr %40, align 4, !tbaa !9
  %495 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIliEEbRKT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(8) %39, ptr noundef nonnull align 4 dereferenceable(4) %40, i1 noundef zeroext true)
          to label %496 unwind label %573

496:                                              ; preds = %494
  %497 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %498 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %497) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %495, ptr noundef %498, ptr noundef @.str.28, i32 noundef 508, ptr noundef @.str.52)
          to label %499 unwind label %573

499:                                              ; preds = %496
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %41) #6
  %500 = invoke noundef i64 @_ZNK5Eigen6TensorIfLi4ELi0ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(40) %33, i64 noundef 3)
          to label %501 unwind label %578

501:                                              ; preds = %499
  store i64 %500, ptr %41, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %42) #6
  store i32 15, ptr %42, align 4, !tbaa !9
  %502 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIliEEbRKT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(8) %41, ptr noundef nonnull align 4 dereferenceable(4) %42, i1 noundef zeroext true)
          to label %503 unwind label %582

503:                                              ; preds = %501
  %504 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %505 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %504) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %502, ptr noundef %505, ptr noundef @.str.28, i32 noundef 509, ptr noundef @.str.53)
          to label %506 unwind label %582

506:                                              ; preds = %503
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #6
  call void @llvm.lifetime.start.p0(i64 40, ptr %43) #6
  invoke void @_ZN5Eigen6TensorIfLi4ELi1ElEC2Ev(ptr noundef nonnull align 8 dereferenceable(40) %43)
          to label %507 unwind label %587

507:                                              ; preds = %506
  call void @llvm.lifetime.start.p0(i64 120, ptr %44) #6
  invoke void @_ZNK5Eigen10TensorBaseINS_6TensorIfLi3ELi1ElEELi0EE21extract_image_patchesEllllllNS_11PaddingTypeEf(ptr dead_on_unwind writable sret(%"class.Eigen::TensorImagePatchOp.45") align 8 %44, ptr noundef nonnull align 1 dereferenceable(1) %4, i64 noundef 3, i64 noundef 5, i64 noundef 1, i64 noundef 1, i64 noundef 1, i64 noundef 1, i32 noundef 2, float noundef 0.000000e+00)
          to label %508 unwind label %591

508:                                              ; preds = %507
  %509 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN5Eigen6TensorIfLi4ELi1ElEaSINS_18TensorImagePatchOpILln1ELln1EKNS0_IfLi3ELi1ElEEEEEERS1_RKT_(ptr noundef nonnull align 8 dereferenceable(40) %43, ptr noundef nonnull align 8 dereferenceable(120) %44)
          to label %510 unwind label %591

510:                                              ; preds = %508
  call void @llvm.lifetime.end.p0(i64 120, ptr %44) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %45) #6
  %511 = invoke noundef i64 @_ZNK5Eigen6TensorIfLi4ELi1ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(40) %43, i64 noundef 0)
          to label %512 unwind label %595

512:                                              ; preds = %510
  store i64 %511, ptr %45, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %46) #6
  store i32 15, ptr %46, align 4, !tbaa !9
  %513 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIliEEbRKT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(8) %45, ptr noundef nonnull align 4 dereferenceable(4) %46, i1 noundef zeroext true)
          to label %514 unwind label %599

514:                                              ; preds = %512
  %515 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %516 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %515) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %513, ptr noundef %516, ptr noundef @.str.28, i32 noundef 514, ptr noundef @.str.108)
          to label %517 unwind label %599

517:                                              ; preds = %514
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %47) #6
  %518 = invoke noundef i64 @_ZNK5Eigen6TensorIfLi4ELi1ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(40) %43, i64 noundef 1)
          to label %519 unwind label %604

519:                                              ; preds = %517
  store i64 %518, ptr %47, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %48) #6
  store i32 5, ptr %48, align 4, !tbaa !9
  %520 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIliEEbRKT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(8) %47, ptr noundef nonnull align 4 dereferenceable(4) %48, i1 noundef zeroext true)
          to label %521 unwind label %608

521:                                              ; preds = %519
  %522 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %523 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %522) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %520, ptr noundef %523, ptr noundef @.str.28, i32 noundef 515, ptr noundef @.str.109)
          to label %524 unwind label %608

524:                                              ; preds = %521
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %49) #6
  %525 = invoke noundef i64 @_ZNK5Eigen6TensorIfLi4ELi1ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(40) %43, i64 noundef 2)
          to label %526 unwind label %613

526:                                              ; preds = %524
  store i64 %525, ptr %49, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %50) #6
  store i32 3, ptr %50, align 4, !tbaa !9
  %527 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIliEEbRKT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(8) %49, ptr noundef nonnull align 4 dereferenceable(4) %50, i1 noundef zeroext true)
          to label %528 unwind label %617

528:                                              ; preds = %526
  %529 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %530 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %529) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %527, ptr noundef %530, ptr noundef @.str.28, i32 noundef 516, ptr noundef @.str.110)
          to label %531 unwind label %617

531:                                              ; preds = %528
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %49) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %51) #6
  %532 = invoke noundef i64 @_ZNK5Eigen6TensorIfLi4ELi1ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(40) %43, i64 noundef 3)
          to label %533 unwind label %622

533:                                              ; preds = %531
  store i64 %532, ptr %51, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %52) #6
  store i32 2, ptr %52, align 4, !tbaa !9
  %534 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIliEEbRKT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(8) %51, ptr noundef nonnull align 4 dereferenceable(4) %52, i1 noundef zeroext true)
          to label %535 unwind label %626

535:                                              ; preds = %533
  %536 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %537 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %536) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %534, ptr noundef %537, ptr noundef @.str.28, i32 noundef 517, ptr noundef @.str.111)
          to label %538 unwind label %626

538:                                              ; preds = %535
  call void @llvm.lifetime.end.p0(i64 4, ptr %52) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %51) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %53) #6
  store i32 0, ptr %53, align 4, !tbaa !9
  br label %539

539:                                              ; preds = %840, %538
  %540 = load i32, ptr %53, align 4, !tbaa !9
  %541 = icmp slt i32 %540, 3
  br i1 %541, label %631, label %542

542:                                              ; preds = %539
  store i32 5, ptr %54, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #6
  br label %843

543:                                              ; preds = %474
  %544 = landingpad { ptr, i32 }
          cleanup
  %545 = extractvalue { ptr, i32 } %544, 0
  store ptr %545, ptr %2, align 8
  %546 = extractvalue { ptr, i32 } %544, 1
  store i32 %546, ptr %3, align 4
  br label %1235

547:                                              ; preds = %476, %475
  %548 = landingpad { ptr, i32 }
          cleanup
  %549 = extractvalue { ptr, i32 } %548, 0
  store ptr %549, ptr %2, align 8
  %550 = extractvalue { ptr, i32 } %548, 1
  store i32 %550, ptr %3, align 4
  call void @llvm.lifetime.end.p0(i64 120, ptr %34) #6
  br label %1234

551:                                              ; preds = %478
  %552 = landingpad { ptr, i32 }
          cleanup
  %553 = extractvalue { ptr, i32 } %552, 0
  store ptr %553, ptr %2, align 8
  %554 = extractvalue { ptr, i32 } %552, 1
  store i32 %554, ptr %3, align 4
  br label %559

555:                                              ; preds = %482, %480
  %556 = landingpad { ptr, i32 }
          cleanup
  %557 = extractvalue { ptr, i32 } %556, 0
  store ptr %557, ptr %2, align 8
  %558 = extractvalue { ptr, i32 } %556, 1
  store i32 %558, ptr %3, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #6
  br label %559

559:                                              ; preds = %555, %551
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #6
  br label %1234

560:                                              ; preds = %485
  %561 = landingpad { ptr, i32 }
          cleanup
  %562 = extractvalue { ptr, i32 } %561, 0
  store ptr %562, ptr %2, align 8
  %563 = extractvalue { ptr, i32 } %561, 1
  store i32 %563, ptr %3, align 4
  br label %568

564:                                              ; preds = %489, %487
  %565 = landingpad { ptr, i32 }
          cleanup
  %566 = extractvalue { ptr, i32 } %565, 0
  store ptr %566, ptr %2, align 8
  %567 = extractvalue { ptr, i32 } %565, 1
  store i32 %567, ptr %3, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #6
  br label %568

568:                                              ; preds = %564, %560
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #6
  br label %1234

569:                                              ; preds = %492
  %570 = landingpad { ptr, i32 }
          cleanup
  %571 = extractvalue { ptr, i32 } %570, 0
  store ptr %571, ptr %2, align 8
  %572 = extractvalue { ptr, i32 } %570, 1
  store i32 %572, ptr %3, align 4
  br label %577

573:                                              ; preds = %496, %494
  %574 = landingpad { ptr, i32 }
          cleanup
  %575 = extractvalue { ptr, i32 } %574, 0
  store ptr %575, ptr %2, align 8
  %576 = extractvalue { ptr, i32 } %574, 1
  store i32 %576, ptr %3, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #6
  br label %577

577:                                              ; preds = %573, %569
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #6
  br label %1234

578:                                              ; preds = %499
  %579 = landingpad { ptr, i32 }
          cleanup
  %580 = extractvalue { ptr, i32 } %579, 0
  store ptr %580, ptr %2, align 8
  %581 = extractvalue { ptr, i32 } %579, 1
  store i32 %581, ptr %3, align 4
  br label %586

582:                                              ; preds = %503, %501
  %583 = landingpad { ptr, i32 }
          cleanup
  %584 = extractvalue { ptr, i32 } %583, 0
  store ptr %584, ptr %2, align 8
  %585 = extractvalue { ptr, i32 } %583, 1
  store i32 %585, ptr %3, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #6
  br label %586

586:                                              ; preds = %582, %578
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #6
  br label %1234

587:                                              ; preds = %506
  %588 = landingpad { ptr, i32 }
          cleanup
  %589 = extractvalue { ptr, i32 } %588, 0
  store ptr %589, ptr %2, align 8
  %590 = extractvalue { ptr, i32 } %588, 1
  store i32 %590, ptr %3, align 4
  br label %1233

591:                                              ; preds = %508, %507
  %592 = landingpad { ptr, i32 }
          cleanup
  %593 = extractvalue { ptr, i32 } %592, 0
  store ptr %593, ptr %2, align 8
  %594 = extractvalue { ptr, i32 } %592, 1
  store i32 %594, ptr %3, align 4
  call void @llvm.lifetime.end.p0(i64 120, ptr %44) #6
  br label %1232

595:                                              ; preds = %510
  %596 = landingpad { ptr, i32 }
          cleanup
  %597 = extractvalue { ptr, i32 } %596, 0
  store ptr %597, ptr %2, align 8
  %598 = extractvalue { ptr, i32 } %596, 1
  store i32 %598, ptr %3, align 4
  br label %603

599:                                              ; preds = %514, %512
  %600 = landingpad { ptr, i32 }
          cleanup
  %601 = extractvalue { ptr, i32 } %600, 0
  store ptr %601, ptr %2, align 8
  %602 = extractvalue { ptr, i32 } %600, 1
  store i32 %602, ptr %3, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #6
  br label %603

603:                                              ; preds = %599, %595
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #6
  br label %1232

604:                                              ; preds = %517
  %605 = landingpad { ptr, i32 }
          cleanup
  %606 = extractvalue { ptr, i32 } %605, 0
  store ptr %606, ptr %2, align 8
  %607 = extractvalue { ptr, i32 } %605, 1
  store i32 %607, ptr %3, align 4
  br label %612

608:                                              ; preds = %521, %519
  %609 = landingpad { ptr, i32 }
          cleanup
  %610 = extractvalue { ptr, i32 } %609, 0
  store ptr %610, ptr %2, align 8
  %611 = extractvalue { ptr, i32 } %609, 1
  store i32 %611, ptr %3, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #6
  br label %612

612:                                              ; preds = %608, %604
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #6
  br label %1232

613:                                              ; preds = %524
  %614 = landingpad { ptr, i32 }
          cleanup
  %615 = extractvalue { ptr, i32 } %614, 0
  store ptr %615, ptr %2, align 8
  %616 = extractvalue { ptr, i32 } %614, 1
  store i32 %616, ptr %3, align 4
  br label %621

617:                                              ; preds = %528, %526
  %618 = landingpad { ptr, i32 }
          cleanup
  %619 = extractvalue { ptr, i32 } %618, 0
  store ptr %619, ptr %2, align 8
  %620 = extractvalue { ptr, i32 } %618, 1
  store i32 %620, ptr %3, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #6
  br label %621

621:                                              ; preds = %617, %613
  call void @llvm.lifetime.end.p0(i64 8, ptr %49) #6
  br label %1232

622:                                              ; preds = %531
  %623 = landingpad { ptr, i32 }
          cleanup
  %624 = extractvalue { ptr, i32 } %623, 0
  store ptr %624, ptr %2, align 8
  %625 = extractvalue { ptr, i32 } %623, 1
  store i32 %625, ptr %3, align 4
  br label %630

626:                                              ; preds = %535, %533
  %627 = landingpad { ptr, i32 }
          cleanup
  %628 = extractvalue { ptr, i32 } %627, 0
  store ptr %628, ptr %2, align 8
  %629 = extractvalue { ptr, i32 } %627, 1
  store i32 %629, ptr %3, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %52) #6
  br label %630

630:                                              ; preds = %626, %622
  call void @llvm.lifetime.end.p0(i64 8, ptr %51) #6
  br label %1232

631:                                              ; preds = %539
  call void @llvm.lifetime.start.p0(i64 4, ptr %55) #6
  store i32 0, ptr %55, align 4, !tbaa !9
  br label %632

632:                                              ; preds = %836, %631
  %633 = load i32, ptr %55, align 4, !tbaa !9
  %634 = icmp slt i32 %633, 5
  br i1 %634, label %636, label %635

635:                                              ; preds = %632
  store i32 8, ptr %54, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #6
  br label %839

636:                                              ; preds = %632
  call void @llvm.lifetime.start.p0(i64 4, ptr %56) #6
  %637 = load i32, ptr %53, align 4, !tbaa !9
  %638 = load i32, ptr %55, align 4, !tbaa !9
  %639 = mul nsw i32 3, %638
  %640 = add nsw i32 %637, %639
  store i32 %640, ptr %56, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %57) #6
  store i32 0, ptr %57, align 4, !tbaa !9
  br label %641

641:                                              ; preds = %832, %636
  %642 = load i32, ptr %57, align 4, !tbaa !9
  %643 = icmp slt i32 %642, 3
  br i1 %643, label %645, label %644

644:                                              ; preds = %641
  store i32 11, ptr %54, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #6
  br label %835

645:                                              ; preds = %641
  call void @llvm.lifetime.start.p0(i64 4, ptr %58) #6
  store i32 0, ptr %58, align 4, !tbaa !9
  br label %646

646:                                              ; preds = %828, %645
  %647 = load i32, ptr %58, align 4, !tbaa !9
  %648 = icmp slt i32 %647, 5
  br i1 %648, label %650, label %649

649:                                              ; preds = %646
  store i32 14, ptr %54, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #6
  br label %831

650:                                              ; preds = %646
  call void @llvm.lifetime.start.p0(i64 4, ptr %59) #6
  store i32 0, ptr %59, align 4, !tbaa !9
  br label %651

651:                                              ; preds = %824, %650
  %652 = load i32, ptr %59, align 4, !tbaa !9
  %653 = icmp slt i32 %652, 2
  br i1 %653, label %655, label %654

654:                                              ; preds = %651
  store i32 17, ptr %54, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #6
  br label %827

655:                                              ; preds = %651
  call void @llvm.lifetime.start.p0(i64 4, ptr %60) #6
  store float 0.000000e+00, ptr %60, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %61) #6
  store float 0.000000e+00, ptr %61, align 4, !tbaa !11
  %656 = load i32, ptr %57, align 4, !tbaa !9
  %657 = sub nsw i32 %656, 1
  %658 = load i32, ptr %53, align 4, !tbaa !9
  %659 = add nsw i32 %657, %658
  %660 = icmp sge i32 %659, 0
  br i1 %660, label %661, label %712

661:                                              ; preds = %655
  %662 = load i32, ptr %58, align 4, !tbaa !9
  %663 = sub nsw i32 %662, 2
  %664 = load i32, ptr %55, align 4, !tbaa !9
  %665 = add nsw i32 %663, %664
  %666 = icmp sge i32 %665, 0
  br i1 %666, label %667, label %712

667:                                              ; preds = %661
  %668 = load i32, ptr %57, align 4, !tbaa !9
  %669 = sub nsw i32 %668, 1
  %670 = load i32, ptr %53, align 4, !tbaa !9
  %671 = add nsw i32 %669, %670
  %672 = icmp slt i32 %671, 3
  br i1 %672, label %673, label %712

673:                                              ; preds = %667
  %674 = load i32, ptr %58, align 4, !tbaa !9
  %675 = sub nsw i32 %674, 2
  %676 = load i32, ptr %55, align 4, !tbaa !9
  %677 = add nsw i32 %675, %676
  %678 = icmp slt i32 %677, 5
  br i1 %678, label %679, label %712

679:                                              ; preds = %673
  %680 = load i32, ptr %59, align 4, !tbaa !9
  %681 = sext i32 %680 to i64
  %682 = load i32, ptr %57, align 4, !tbaa !9
  %683 = sub nsw i32 %682, 1
  %684 = load i32, ptr %53, align 4, !tbaa !9
  %685 = add nsw i32 %683, %684
  %686 = sext i32 %685 to i64
  %687 = load i32, ptr %58, align 4, !tbaa !9
  %688 = sub nsw i32 %687, 2
  %689 = load i32, ptr %55, align 4, !tbaa !9
  %690 = add nsw i32 %688, %689
  %691 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen6TensorIfLi3ELi0ElEclIJiEEERfllDpT_(ptr noundef nonnull align 8 dereferenceable(32) %1, i64 noundef %681, i64 noundef %686, i32 noundef %690)
          to label %692 unwind label %708

692:                                              ; preds = %679
  %693 = load float, ptr %691, align 4, !tbaa !11
  store float %693, ptr %60, align 4, !tbaa !11
  %694 = load i32, ptr %58, align 4, !tbaa !9
  %695 = sub nsw i32 %694, 2
  %696 = load i32, ptr %55, align 4, !tbaa !9
  %697 = add nsw i32 %695, %696
  %698 = sext i32 %697 to i64
  %699 = load i32, ptr %57, align 4, !tbaa !9
  %700 = sub nsw i32 %699, 1
  %701 = load i32, ptr %53, align 4, !tbaa !9
  %702 = add nsw i32 %700, %701
  %703 = sext i32 %702 to i64
  %704 = load i32, ptr %59, align 4, !tbaa !9
  %705 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen6TensorIfLi3ELi1ElEclIJiEEERfllDpT_(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %698, i64 noundef %703, i32 noundef %704)
          to label %706 unwind label %708

706:                                              ; preds = %692
  %707 = load float, ptr %705, align 4, !tbaa !11
  store float %707, ptr %61, align 4, !tbaa !11
  br label %712

708:                                              ; preds = %820, %818, %815, %813, %805, %802, %799, %797, %794, %792, %789, %787, %784, %782, %779, %777, %765, %762, %760, %752, %749, %746, %744, %741, %739, %736, %734, %731, %729, %726, %724, %712, %692, %679
  %709 = landingpad { ptr, i32 }
          cleanup
  %710 = extractvalue { ptr, i32 } %709, 0
  store ptr %710, ptr %2, align 8
  %711 = extractvalue { ptr, i32 } %709, 1
  store i32 %711, ptr %3, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %60) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %56) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #6
  br label %1232

712:                                              ; preds = %706, %673, %667, %661, %655
  %713 = load i32, ptr %59, align 4, !tbaa !9
  %714 = sext i32 %713 to i64
  %715 = load i32, ptr %57, align 4, !tbaa !9
  %716 = sext i32 %715 to i64
  %717 = load i32, ptr %58, align 4, !tbaa !9
  %718 = load i32, ptr %56, align 4, !tbaa !9
  %719 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen6TensorIfLi4ELi0ElEclIJiiEEERfllDpT_(ptr noundef nonnull align 8 dereferenceable(40) %33, i64 noundef %714, i64 noundef %716, i32 noundef %717, i32 noundef %718)
          to label %720 unwind label %708

720:                                              ; preds = %712
  %721 = load float, ptr %719, align 4, !tbaa !11
  %722 = load float, ptr %60, align 4, !tbaa !11
  %723 = fcmp une float %721, %722
  br i1 %723, label %724, label %752

724:                                              ; preds = %720
  %725 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.60)
          to label %726 unwind label %708

726:                                              ; preds = %724
  %727 = load i32, ptr %53, align 4, !tbaa !9
  %728 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %725, i32 noundef %727)
          to label %729 unwind label %708

729:                                              ; preds = %726
  %730 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %728, ptr noundef @.str.61)
          to label %731 unwind label %708

731:                                              ; preds = %729
  %732 = load i32, ptr %55, align 4, !tbaa !9
  %733 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %730, i32 noundef %732)
          to label %734 unwind label %708

734:                                              ; preds = %731
  %735 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %733, ptr noundef @.str.62)
          to label %736 unwind label %708

736:                                              ; preds = %734
  %737 = load i32, ptr %57, align 4, !tbaa !9
  %738 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %735, i32 noundef %737)
          to label %739 unwind label %708

739:                                              ; preds = %736
  %740 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %738, ptr noundef @.str.63)
          to label %741 unwind label %708

741:                                              ; preds = %739
  %742 = load i32, ptr %58, align 4, !tbaa !9
  %743 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %740, i32 noundef %742)
          to label %744 unwind label %708

744:                                              ; preds = %741
  %745 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %743, ptr noundef @.str.64)
          to label %746 unwind label %708

746:                                              ; preds = %744
  %747 = load i32, ptr %59, align 4, !tbaa !9
  %748 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %745, i32 noundef %747)
          to label %749 unwind label %708

749:                                              ; preds = %746
  %750 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %748, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %751 unwind label %708

751:                                              ; preds = %749
  br label %752

752:                                              ; preds = %751, %720
  %753 = load i32, ptr %59, align 4, !tbaa !9
  %754 = sext i32 %753 to i64
  %755 = load i32, ptr %57, align 4, !tbaa !9
  %756 = sext i32 %755 to i64
  %757 = load i32, ptr %58, align 4, !tbaa !9
  %758 = load i32, ptr %56, align 4, !tbaa !9
  %759 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen6TensorIfLi4ELi0ElEclIJiiEEERfllDpT_(ptr noundef nonnull align 8 dereferenceable(40) %33, i64 noundef %754, i64 noundef %756, i32 noundef %757, i32 noundef %758)
          to label %760 unwind label %708

760:                                              ; preds = %752
  %761 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIffEEbRKT_RKT0_b(ptr noundef nonnull align 4 dereferenceable(4) %759, ptr noundef nonnull align 4 dereferenceable(4) %60, i1 noundef zeroext true)
          to label %762 unwind label %708

762:                                              ; preds = %760
  %763 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %764 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %763) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %761, ptr noundef %764, ptr noundef @.str.28, i32 noundef 535, ptr noundef @.str.112)
          to label %765 unwind label %708

765:                                              ; preds = %762
  %766 = load i32, ptr %56, align 4, !tbaa !9
  %767 = sext i32 %766 to i64
  %768 = load i32, ptr %58, align 4, !tbaa !9
  %769 = sext i32 %768 to i64
  %770 = load i32, ptr %57, align 4, !tbaa !9
  %771 = load i32, ptr %59, align 4, !tbaa !9
  %772 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen6TensorIfLi4ELi1ElEclIJiiEEERfllDpT_(ptr noundef nonnull align 8 dereferenceable(40) %43, i64 noundef %767, i64 noundef %769, i32 noundef %770, i32 noundef %771)
          to label %773 unwind label %708

773:                                              ; preds = %765
  %774 = load float, ptr %772, align 4, !tbaa !11
  %775 = load float, ptr %61, align 4, !tbaa !11
  %776 = fcmp une float %774, %775
  br i1 %776, label %777, label %805

777:                                              ; preds = %773
  %778 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.60)
          to label %779 unwind label %708

779:                                              ; preds = %777
  %780 = load i32, ptr %53, align 4, !tbaa !9
  %781 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %778, i32 noundef %780)
          to label %782 unwind label %708

782:                                              ; preds = %779
  %783 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %781, ptr noundef @.str.61)
          to label %784 unwind label %708

784:                                              ; preds = %782
  %785 = load i32, ptr %55, align 4, !tbaa !9
  %786 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %783, i32 noundef %785)
          to label %787 unwind label %708

787:                                              ; preds = %784
  %788 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %786, ptr noundef @.str.62)
          to label %789 unwind label %708

789:                                              ; preds = %787
  %790 = load i32, ptr %57, align 4, !tbaa !9
  %791 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %788, i32 noundef %790)
          to label %792 unwind label %708

792:                                              ; preds = %789
  %793 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %791, ptr noundef @.str.63)
          to label %794 unwind label %708

794:                                              ; preds = %792
  %795 = load i32, ptr %58, align 4, !tbaa !9
  %796 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %793, i32 noundef %795)
          to label %797 unwind label %708

797:                                              ; preds = %794
  %798 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %796, ptr noundef @.str.64)
          to label %799 unwind label %708

799:                                              ; preds = %797
  %800 = load i32, ptr %59, align 4, !tbaa !9
  %801 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %798, i32 noundef %800)
          to label %802 unwind label %708

802:                                              ; preds = %799
  %803 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %801, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %804 unwind label %708

804:                                              ; preds = %802
  br label %805

805:                                              ; preds = %804, %773
  %806 = load i32, ptr %56, align 4, !tbaa !9
  %807 = sext i32 %806 to i64
  %808 = load i32, ptr %58, align 4, !tbaa !9
  %809 = sext i32 %808 to i64
  %810 = load i32, ptr %57, align 4, !tbaa !9
  %811 = load i32, ptr %59, align 4, !tbaa !9
  %812 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen6TensorIfLi4ELi1ElEclIJiiEEERfllDpT_(ptr noundef nonnull align 8 dereferenceable(40) %43, i64 noundef %807, i64 noundef %809, i32 noundef %810, i32 noundef %811)
          to label %813 unwind label %708

813:                                              ; preds = %805
  %814 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIffEEbRKT_RKT0_b(ptr noundef nonnull align 4 dereferenceable(4) %812, ptr noundef nonnull align 4 dereferenceable(4) %61, i1 noundef zeroext true)
          to label %815 unwind label %708

815:                                              ; preds = %813
  %816 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %817 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %816) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %814, ptr noundef %817, ptr noundef @.str.28, i32 noundef 542, ptr noundef @.str.113)
          to label %818 unwind label %708

818:                                              ; preds = %815
  %819 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIffEEbRKT_RKT0_b(ptr noundef nonnull align 4 dereferenceable(4) %60, ptr noundef nonnull align 4 dereferenceable(4) %61, i1 noundef zeroext true)
          to label %820 unwind label %708

820:                                              ; preds = %818
  %821 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %822 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %821) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %819, ptr noundef %822, ptr noundef @.str.28, i32 noundef 544, ptr noundef @.str.68)
          to label %823 unwind label %708

823:                                              ; preds = %820
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %60) #6
  br label %824

824:                                              ; preds = %823
  %825 = load i32, ptr %59, align 4, !tbaa !9
  %826 = add nsw i32 %825, 1
  store i32 %826, ptr %59, align 4, !tbaa !9
  br label %651, !llvm.loop !15

827:                                              ; preds = %654
  br label %828

828:                                              ; preds = %827
  %829 = load i32, ptr %58, align 4, !tbaa !9
  %830 = add nsw i32 %829, 1
  store i32 %830, ptr %58, align 4, !tbaa !9
  br label %646, !llvm.loop !16

831:                                              ; preds = %649
  br label %832

832:                                              ; preds = %831
  %833 = load i32, ptr %57, align 4, !tbaa !9
  %834 = add nsw i32 %833, 1
  store i32 %834, ptr %57, align 4, !tbaa !9
  br label %641, !llvm.loop !17

835:                                              ; preds = %644
  call void @llvm.lifetime.end.p0(i64 4, ptr %56) #6
  br label %836

836:                                              ; preds = %835
  %837 = load i32, ptr %55, align 4, !tbaa !9
  %838 = add nsw i32 %837, 1
  store i32 %838, ptr %55, align 4, !tbaa !9
  br label %632, !llvm.loop !18

839:                                              ; preds = %635
  br label %840

840:                                              ; preds = %839
  %841 = load i32, ptr %53, align 4, !tbaa !9
  %842 = add nsw i32 %841, 1
  store i32 %842, ptr %53, align 4, !tbaa !9
  br label %539, !llvm.loop !19

843:                                              ; preds = %542
  call void @llvm.lifetime.start.p0(i64 40, ptr %62) #6
  invoke void @_ZN5Eigen6TensorIfLi4ELi0ElEC2Ev(ptr noundef nonnull align 8 dereferenceable(40) %62)
          to label %844 unwind label %912

844:                                              ; preds = %843
  call void @llvm.lifetime.start.p0(i64 120, ptr %63) #6
  invoke void @_ZNK5Eigen10TensorBaseINS_6TensorIfLi3ELi0ElEELi0EE21extract_image_patchesEllllllNS_11PaddingTypeEf(ptr dead_on_unwind writable sret(%"class.Eigen::TensorImagePatchOp.43") align 8 %63, ptr noundef nonnull align 1 dereferenceable(1) %1, i64 noundef 2, i64 noundef 2, i64 noundef 1, i64 noundef 1, i64 noundef 1, i64 noundef 1, i32 noundef 2, float noundef 0.000000e+00)
          to label %845 unwind label %916

845:                                              ; preds = %844
  %846 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN5Eigen6TensorIfLi4ELi0ElEaSINS_18TensorImagePatchOpILln1ELln1EKNS0_IfLi3ELi0ElEEEEEERS1_RKT_(ptr noundef nonnull align 8 dereferenceable(40) %62, ptr noundef nonnull align 8 dereferenceable(120) %63)
          to label %847 unwind label %916

847:                                              ; preds = %845
  call void @llvm.lifetime.end.p0(i64 120, ptr %63) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %64) #6
  %848 = invoke noundef i64 @_ZNK5Eigen6TensorIfLi4ELi0ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(40) %62, i64 noundef 0)
          to label %849 unwind label %920

849:                                              ; preds = %847
  store i64 %848, ptr %64, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %65) #6
  store i32 2, ptr %65, align 4, !tbaa !9
  %850 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIliEEbRKT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(8) %64, ptr noundef nonnull align 4 dereferenceable(4) %65, i1 noundef zeroext true)
          to label %851 unwind label %924

851:                                              ; preds = %849
  %852 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %853 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %852) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %850, ptr noundef %853, ptr noundef @.str.28, i32 noundef 554, ptr noundef @.str.69)
          to label %854 unwind label %924

854:                                              ; preds = %851
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %64) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %66) #6
  %855 = invoke noundef i64 @_ZNK5Eigen6TensorIfLi4ELi0ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(40) %62, i64 noundef 1)
          to label %856 unwind label %929

856:                                              ; preds = %854
  store i64 %855, ptr %66, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %67) #6
  store i32 2, ptr %67, align 4, !tbaa !9
  %857 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIliEEbRKT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(8) %66, ptr noundef nonnull align 4 dereferenceable(4) %67, i1 noundef zeroext true)
          to label %858 unwind label %933

858:                                              ; preds = %856
  %859 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %860 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %859) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %857, ptr noundef %860, ptr noundef @.str.28, i32 noundef 555, ptr noundef @.str.70)
          to label %861 unwind label %933

861:                                              ; preds = %858
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %66) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %68) #6
  %862 = invoke noundef i64 @_ZNK5Eigen6TensorIfLi4ELi0ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(40) %62, i64 noundef 2)
          to label %863 unwind label %938

863:                                              ; preds = %861
  store i64 %862, ptr %68, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %69) #6
  store i32 2, ptr %69, align 4, !tbaa !9
  %864 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIliEEbRKT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(8) %68, ptr noundef nonnull align 4 dereferenceable(4) %69, i1 noundef zeroext true)
          to label %865 unwind label %942

865:                                              ; preds = %863
  %866 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %867 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %866) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %864, ptr noundef %867, ptr noundef @.str.28, i32 noundef 556, ptr noundef @.str.71)
          to label %868 unwind label %942

868:                                              ; preds = %865
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %68) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %70) #6
  %869 = invoke noundef i64 @_ZNK5Eigen6TensorIfLi4ELi0ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(40) %62, i64 noundef 3)
          to label %870 unwind label %947

870:                                              ; preds = %868
  store i64 %869, ptr %70, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %71) #6
  store i32 15, ptr %71, align 4, !tbaa !9
  %871 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIliEEbRKT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(8) %70, ptr noundef nonnull align 4 dereferenceable(4) %71, i1 noundef zeroext true)
          to label %872 unwind label %951

872:                                              ; preds = %870
  %873 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %874 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %873) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %871, ptr noundef %874, ptr noundef @.str.28, i32 noundef 557, ptr noundef @.str.72)
          to label %875 unwind label %951

875:                                              ; preds = %872
  call void @llvm.lifetime.end.p0(i64 4, ptr %71) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %70) #6
  call void @llvm.lifetime.start.p0(i64 40, ptr %72) #6
  invoke void @_ZN5Eigen6TensorIfLi4ELi1ElEC2Ev(ptr noundef nonnull align 8 dereferenceable(40) %72)
          to label %876 unwind label %956

876:                                              ; preds = %875
  call void @llvm.lifetime.start.p0(i64 120, ptr %73) #6
  invoke void @_ZNK5Eigen10TensorBaseINS_6TensorIfLi3ELi1ElEELi0EE21extract_image_patchesEllllllNS_11PaddingTypeEf(ptr dead_on_unwind writable sret(%"class.Eigen::TensorImagePatchOp.45") align 8 %73, ptr noundef nonnull align 1 dereferenceable(1) %4, i64 noundef 2, i64 noundef 2, i64 noundef 1, i64 noundef 1, i64 noundef 1, i64 noundef 1, i32 noundef 2, float noundef 0.000000e+00)
          to label %877 unwind label %960

877:                                              ; preds = %876
  %878 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN5Eigen6TensorIfLi4ELi1ElEaSINS_18TensorImagePatchOpILln1ELln1EKNS0_IfLi3ELi1ElEEEEEERS1_RKT_(ptr noundef nonnull align 8 dereferenceable(40) %72, ptr noundef nonnull align 8 dereferenceable(120) %73)
          to label %879 unwind label %960

879:                                              ; preds = %877
  call void @llvm.lifetime.end.p0(i64 120, ptr %73) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %74) #6
  %880 = invoke noundef i64 @_ZNK5Eigen6TensorIfLi4ELi1ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(40) %72, i64 noundef 0)
          to label %881 unwind label %964

881:                                              ; preds = %879
  store i64 %880, ptr %74, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %75) #6
  store i32 15, ptr %75, align 4, !tbaa !9
  %882 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIliEEbRKT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(8) %74, ptr noundef nonnull align 4 dereferenceable(4) %75, i1 noundef zeroext true)
          to label %883 unwind label %968

883:                                              ; preds = %881
  %884 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %885 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %884) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %882, ptr noundef %885, ptr noundef @.str.28, i32 noundef 562, ptr noundef @.str.114)
          to label %886 unwind label %968

886:                                              ; preds = %883
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %74) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %76) #6
  %887 = invoke noundef i64 @_ZNK5Eigen6TensorIfLi4ELi1ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(40) %72, i64 noundef 1)
          to label %888 unwind label %973

888:                                              ; preds = %886
  store i64 %887, ptr %76, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %77) #6
  store i32 2, ptr %77, align 4, !tbaa !9
  %889 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIliEEbRKT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(8) %76, ptr noundef nonnull align 4 dereferenceable(4) %77, i1 noundef zeroext true)
          to label %890 unwind label %977

890:                                              ; preds = %888
  %891 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %892 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %891) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %889, ptr noundef %892, ptr noundef @.str.28, i32 noundef 563, ptr noundef @.str.115)
          to label %893 unwind label %977

893:                                              ; preds = %890
  call void @llvm.lifetime.end.p0(i64 4, ptr %77) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %76) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %78) #6
  %894 = invoke noundef i64 @_ZNK5Eigen6TensorIfLi4ELi1ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(40) %72, i64 noundef 2)
          to label %895 unwind label %982

895:                                              ; preds = %893
  store i64 %894, ptr %78, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %79) #6
  store i32 2, ptr %79, align 4, !tbaa !9
  %896 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIliEEbRKT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(8) %78, ptr noundef nonnull align 4 dereferenceable(4) %79, i1 noundef zeroext true)
          to label %897 unwind label %986

897:                                              ; preds = %895
  %898 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %899 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %898) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %896, ptr noundef %899, ptr noundef @.str.28, i32 noundef 564, ptr noundef @.str.76)
          to label %900 unwind label %986

900:                                              ; preds = %897
  call void @llvm.lifetime.end.p0(i64 4, ptr %79) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %78) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %80) #6
  %901 = invoke noundef i64 @_ZNK5Eigen6TensorIfLi4ELi1ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(40) %72, i64 noundef 3)
          to label %902 unwind label %991

902:                                              ; preds = %900
  store i64 %901, ptr %80, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %81) #6
  store i32 2, ptr %81, align 4, !tbaa !9
  %903 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIliEEbRKT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(8) %80, ptr noundef nonnull align 4 dereferenceable(4) %81, i1 noundef zeroext true)
          to label %904 unwind label %995

904:                                              ; preds = %902
  %905 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %906 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %905) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %903, ptr noundef %906, ptr noundef @.str.28, i32 noundef 565, ptr noundef @.str.77)
          to label %907 unwind label %995

907:                                              ; preds = %904
  call void @llvm.lifetime.end.p0(i64 4, ptr %81) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %80) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %82) #6
  store i32 0, ptr %82, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %83) #6
  store i32 0, ptr %83, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %84) #6
  store i32 1, ptr %84, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %85) #6
  store i32 0, ptr %85, align 4, !tbaa !9
  br label %908

908:                                              ; preds = %1224, %907
  %909 = load i32, ptr %85, align 4, !tbaa !9
  %910 = icmp slt i32 %909, 3
  br i1 %910, label %1000, label %911

911:                                              ; preds = %908
  store i32 20, ptr %54, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #6
  br label %1227

912:                                              ; preds = %843
  %913 = landingpad { ptr, i32 }
          cleanup
  %914 = extractvalue { ptr, i32 } %913, 0
  store ptr %914, ptr %2, align 8
  %915 = extractvalue { ptr, i32 } %913, 1
  store i32 %915, ptr %3, align 4
  br label %1231

916:                                              ; preds = %845, %844
  %917 = landingpad { ptr, i32 }
          cleanup
  %918 = extractvalue { ptr, i32 } %917, 0
  store ptr %918, ptr %2, align 8
  %919 = extractvalue { ptr, i32 } %917, 1
  store i32 %919, ptr %3, align 4
  call void @llvm.lifetime.end.p0(i64 120, ptr %63) #6
  br label %1230

920:                                              ; preds = %847
  %921 = landingpad { ptr, i32 }
          cleanup
  %922 = extractvalue { ptr, i32 } %921, 0
  store ptr %922, ptr %2, align 8
  %923 = extractvalue { ptr, i32 } %921, 1
  store i32 %923, ptr %3, align 4
  br label %928

924:                                              ; preds = %851, %849
  %925 = landingpad { ptr, i32 }
          cleanup
  %926 = extractvalue { ptr, i32 } %925, 0
  store ptr %926, ptr %2, align 8
  %927 = extractvalue { ptr, i32 } %925, 1
  store i32 %927, ptr %3, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #6
  br label %928

928:                                              ; preds = %924, %920
  call void @llvm.lifetime.end.p0(i64 8, ptr %64) #6
  br label %1230

929:                                              ; preds = %854
  %930 = landingpad { ptr, i32 }
          cleanup
  %931 = extractvalue { ptr, i32 } %930, 0
  store ptr %931, ptr %2, align 8
  %932 = extractvalue { ptr, i32 } %930, 1
  store i32 %932, ptr %3, align 4
  br label %937

933:                                              ; preds = %858, %856
  %934 = landingpad { ptr, i32 }
          cleanup
  %935 = extractvalue { ptr, i32 } %934, 0
  store ptr %935, ptr %2, align 8
  %936 = extractvalue { ptr, i32 } %934, 1
  store i32 %936, ptr %3, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #6
  br label %937

937:                                              ; preds = %933, %929
  call void @llvm.lifetime.end.p0(i64 8, ptr %66) #6
  br label %1230

938:                                              ; preds = %861
  %939 = landingpad { ptr, i32 }
          cleanup
  %940 = extractvalue { ptr, i32 } %939, 0
  store ptr %940, ptr %2, align 8
  %941 = extractvalue { ptr, i32 } %939, 1
  store i32 %941, ptr %3, align 4
  br label %946

942:                                              ; preds = %865, %863
  %943 = landingpad { ptr, i32 }
          cleanup
  %944 = extractvalue { ptr, i32 } %943, 0
  store ptr %944, ptr %2, align 8
  %945 = extractvalue { ptr, i32 } %943, 1
  store i32 %945, ptr %3, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #6
  br label %946

946:                                              ; preds = %942, %938
  call void @llvm.lifetime.end.p0(i64 8, ptr %68) #6
  br label %1230

947:                                              ; preds = %868
  %948 = landingpad { ptr, i32 }
          cleanup
  %949 = extractvalue { ptr, i32 } %948, 0
  store ptr %949, ptr %2, align 8
  %950 = extractvalue { ptr, i32 } %948, 1
  store i32 %950, ptr %3, align 4
  br label %955

951:                                              ; preds = %872, %870
  %952 = landingpad { ptr, i32 }
          cleanup
  %953 = extractvalue { ptr, i32 } %952, 0
  store ptr %953, ptr %2, align 8
  %954 = extractvalue { ptr, i32 } %952, 1
  store i32 %954, ptr %3, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %71) #6
  br label %955

955:                                              ; preds = %951, %947
  call void @llvm.lifetime.end.p0(i64 8, ptr %70) #6
  br label %1230

956:                                              ; preds = %875
  %957 = landingpad { ptr, i32 }
          cleanup
  %958 = extractvalue { ptr, i32 } %957, 0
  store ptr %958, ptr %2, align 8
  %959 = extractvalue { ptr, i32 } %957, 1
  store i32 %959, ptr %3, align 4
  br label %1229

960:                                              ; preds = %877, %876
  %961 = landingpad { ptr, i32 }
          cleanup
  %962 = extractvalue { ptr, i32 } %961, 0
  store ptr %962, ptr %2, align 8
  %963 = extractvalue { ptr, i32 } %961, 1
  store i32 %963, ptr %3, align 4
  call void @llvm.lifetime.end.p0(i64 120, ptr %73) #6
  br label %1228

964:                                              ; preds = %879
  %965 = landingpad { ptr, i32 }
          cleanup
  %966 = extractvalue { ptr, i32 } %965, 0
  store ptr %966, ptr %2, align 8
  %967 = extractvalue { ptr, i32 } %965, 1
  store i32 %967, ptr %3, align 4
  br label %972

968:                                              ; preds = %883, %881
  %969 = landingpad { ptr, i32 }
          cleanup
  %970 = extractvalue { ptr, i32 } %969, 0
  store ptr %970, ptr %2, align 8
  %971 = extractvalue { ptr, i32 } %969, 1
  store i32 %971, ptr %3, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #6
  br label %972

972:                                              ; preds = %968, %964
  call void @llvm.lifetime.end.p0(i64 8, ptr %74) #6
  br label %1228

973:                                              ; preds = %886
  %974 = landingpad { ptr, i32 }
          cleanup
  %975 = extractvalue { ptr, i32 } %974, 0
  store ptr %975, ptr %2, align 8
  %976 = extractvalue { ptr, i32 } %974, 1
  store i32 %976, ptr %3, align 4
  br label %981

977:                                              ; preds = %890, %888
  %978 = landingpad { ptr, i32 }
          cleanup
  %979 = extractvalue { ptr, i32 } %978, 0
  store ptr %979, ptr %2, align 8
  %980 = extractvalue { ptr, i32 } %978, 1
  store i32 %980, ptr %3, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %77) #6
  br label %981

981:                                              ; preds = %977, %973
  call void @llvm.lifetime.end.p0(i64 8, ptr %76) #6
  br label %1228

982:                                              ; preds = %893
  %983 = landingpad { ptr, i32 }
          cleanup
  %984 = extractvalue { ptr, i32 } %983, 0
  store ptr %984, ptr %2, align 8
  %985 = extractvalue { ptr, i32 } %983, 1
  store i32 %985, ptr %3, align 4
  br label %990

986:                                              ; preds = %897, %895
  %987 = landingpad { ptr, i32 }
          cleanup
  %988 = extractvalue { ptr, i32 } %987, 0
  store ptr %988, ptr %2, align 8
  %989 = extractvalue { ptr, i32 } %987, 1
  store i32 %989, ptr %3, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %79) #6
  br label %990

990:                                              ; preds = %986, %982
  call void @llvm.lifetime.end.p0(i64 8, ptr %78) #6
  br label %1228

991:                                              ; preds = %900
  %992 = landingpad { ptr, i32 }
          cleanup
  %993 = extractvalue { ptr, i32 } %992, 0
  store ptr %993, ptr %2, align 8
  %994 = extractvalue { ptr, i32 } %992, 1
  store i32 %994, ptr %3, align 4
  br label %999

995:                                              ; preds = %904, %902
  %996 = landingpad { ptr, i32 }
          cleanup
  %997 = extractvalue { ptr, i32 } %996, 0
  store ptr %997, ptr %2, align 8
  %998 = extractvalue { ptr, i32 } %996, 1
  store i32 %998, ptr %3, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %81) #6
  br label %999

999:                                              ; preds = %995, %991
  call void @llvm.lifetime.end.p0(i64 8, ptr %80) #6
  br label %1228

1000:                                             ; preds = %908
  call void @llvm.lifetime.start.p0(i64 4, ptr %86) #6
  store i32 0, ptr %86, align 4, !tbaa !9
  br label %1001

1001:                                             ; preds = %1220, %1000
  %1002 = load i32, ptr %86, align 4, !tbaa !9
  %1003 = icmp slt i32 %1002, 5
  br i1 %1003, label %1005, label %1004

1004:                                             ; preds = %1001
  store i32 23, ptr %54, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %86) #6
  br label %1223

1005:                                             ; preds = %1001
  call void @llvm.lifetime.start.p0(i64 4, ptr %87) #6
  %1006 = load i32, ptr %85, align 4, !tbaa !9
  %1007 = load i32, ptr %86, align 4, !tbaa !9
  %1008 = mul nsw i32 3, %1007
  %1009 = add nsw i32 %1006, %1008
  store i32 %1009, ptr %87, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %88) #6
  store i32 0, ptr %88, align 4, !tbaa !9
  br label %1010

1010:                                             ; preds = %1216, %1005
  %1011 = load i32, ptr %88, align 4, !tbaa !9
  %1012 = icmp slt i32 %1011, 2
  br i1 %1012, label %1014, label %1013

1013:                                             ; preds = %1010
  store i32 26, ptr %54, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %88) #6
  br label %1219

1014:                                             ; preds = %1010
  call void @llvm.lifetime.start.p0(i64 4, ptr %89) #6
  store i32 0, ptr %89, align 4, !tbaa !9
  br label %1015

1015:                                             ; preds = %1212, %1014
  %1016 = load i32, ptr %89, align 4, !tbaa !9
  %1017 = icmp slt i32 %1016, 2
  br i1 %1017, label %1019, label %1018

1018:                                             ; preds = %1015
  store i32 29, ptr %54, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %89) #6
  br label %1215

1019:                                             ; preds = %1015
  call void @llvm.lifetime.start.p0(i64 4, ptr %90) #6
  store i32 0, ptr %90, align 4, !tbaa !9
  br label %1020

1020:                                             ; preds = %1208, %1019
  %1021 = load i32, ptr %90, align 4, !tbaa !9
  %1022 = icmp slt i32 %1021, 2
  br i1 %1022, label %1024, label %1023

1023:                                             ; preds = %1020
  store i32 32, ptr %54, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %90) #6
  br label %1211

1024:                                             ; preds = %1020
  call void @llvm.lifetime.start.p0(i64 4, ptr %91) #6
  store float 0.000000e+00, ptr %91, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %92) #6
  store float 0.000000e+00, ptr %92, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %93) #6
  %1025 = load i32, ptr %88, align 4, !tbaa !9
  %1026 = load i32, ptr %84, align 4, !tbaa !9
  %1027 = mul nsw i32 %1025, %1026
  %1028 = load i32, ptr %85, align 4, !tbaa !9
  %1029 = add nsw i32 %1027, %1028
  %1030 = load i32, ptr %82, align 4, !tbaa !9
  %1031 = sub nsw i32 %1029, %1030
  store i32 %1031, ptr %93, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %94) #6
  %1032 = load i32, ptr %89, align 4, !tbaa !9
  %1033 = load i32, ptr %84, align 4, !tbaa !9
  %1034 = mul nsw i32 %1032, %1033
  %1035 = load i32, ptr %86, align 4, !tbaa !9
  %1036 = add nsw i32 %1034, %1035
  %1037 = load i32, ptr %83, align 4, !tbaa !9
  %1038 = sub nsw i32 %1036, %1037
  store i32 %1038, ptr %94, align 4, !tbaa !9
  %1039 = load i32, ptr %93, align 4, !tbaa !9
  %1040 = icmp sge i32 %1039, 0
  br i1 %1040, label %1041, label %1069

1041:                                             ; preds = %1024
  %1042 = load i32, ptr %94, align 4, !tbaa !9
  %1043 = icmp sge i32 %1042, 0
  br i1 %1043, label %1044, label %1069

1044:                                             ; preds = %1041
  %1045 = load i32, ptr %93, align 4, !tbaa !9
  %1046 = sext i32 %1045 to i64
  %1047 = invoke noundef i64 @_ZNK5Eigen6TensorIfLi3ELi0ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(32) %1, i64 noundef 1)
          to label %1048 unwind label %1065

1048:                                             ; preds = %1044
  %1049 = icmp slt i64 %1046, %1047
  br i1 %1049, label %1050, label %1069

1050:                                             ; preds = %1048
  %1051 = load i32, ptr %94, align 4, !tbaa !9
  %1052 = sext i32 %1051 to i64
  %1053 = invoke noundef i64 @_ZNK5Eigen6TensorIfLi3ELi0ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(32) %1, i64 noundef 2)
          to label %1054 unwind label %1065

1054:                                             ; preds = %1050
  %1055 = icmp slt i64 %1052, %1053
  br i1 %1055, label %1056, label %1069

1056:                                             ; preds = %1054
  %1057 = load i32, ptr %90, align 4, !tbaa !9
  %1058 = sext i32 %1057 to i64
  %1059 = load i32, ptr %93, align 4, !tbaa !9
  %1060 = sext i32 %1059 to i64
  %1061 = load i32, ptr %94, align 4, !tbaa !9
  %1062 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen6TensorIfLi3ELi0ElEclIJiEEERfllDpT_(ptr noundef nonnull align 8 dereferenceable(32) %1, i64 noundef %1058, i64 noundef %1060, i32 noundef %1061)
          to label %1063 unwind label %1065

1063:                                             ; preds = %1056
  %1064 = load float, ptr %1062, align 4, !tbaa !11
  store float %1064, ptr %91, align 4, !tbaa !11
  br label %1069

1065:                                             ; preds = %1204, %1202, %1199, %1197, %1189, %1186, %1183, %1181, %1178, %1176, %1173, %1171, %1168, %1166, %1163, %1161, %1149, %1140, %1134, %1128, %1119, %1117, %1109, %1106, %1103, %1101, %1098, %1096, %1093, %1091, %1088, %1086, %1083, %1081, %1069, %1056, %1050, %1044
  %1066 = landingpad { ptr, i32 }
          cleanup
  %1067 = extractvalue { ptr, i32 } %1066, 0
  store ptr %1067, ptr %2, align 8
  %1068 = extractvalue { ptr, i32 } %1066, 1
  store i32 %1068, ptr %3, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %94) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %93) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %92) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %91) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %90) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %89) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %88) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %87) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %86) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #6
  br label %1228

1069:                                             ; preds = %1063, %1054, %1048, %1041, %1024
  %1070 = load i32, ptr %90, align 4, !tbaa !9
  %1071 = sext i32 %1070 to i64
  %1072 = load i32, ptr %88, align 4, !tbaa !9
  %1073 = sext i32 %1072 to i64
  %1074 = load i32, ptr %89, align 4, !tbaa !9
  %1075 = load i32, ptr %87, align 4, !tbaa !9
  %1076 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen6TensorIfLi4ELi0ElEclIJiiEEERfllDpT_(ptr noundef nonnull align 8 dereferenceable(40) %62, i64 noundef %1071, i64 noundef %1073, i32 noundef %1074, i32 noundef %1075)
          to label %1077 unwind label %1065

1077:                                             ; preds = %1069
  %1078 = load float, ptr %1076, align 4, !tbaa !11
  %1079 = load float, ptr %91, align 4, !tbaa !11
  %1080 = fcmp une float %1078, %1079
  br i1 %1080, label %1081, label %1109

1081:                                             ; preds = %1077
  %1082 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.60)
          to label %1083 unwind label %1065

1083:                                             ; preds = %1081
  %1084 = load i32, ptr %85, align 4, !tbaa !9
  %1085 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %1082, i32 noundef %1084)
          to label %1086 unwind label %1065

1086:                                             ; preds = %1083
  %1087 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1085, ptr noundef @.str.61)
          to label %1088 unwind label %1065

1088:                                             ; preds = %1086
  %1089 = load i32, ptr %86, align 4, !tbaa !9
  %1090 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %1087, i32 noundef %1089)
          to label %1091 unwind label %1065

1091:                                             ; preds = %1088
  %1092 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1090, ptr noundef @.str.62)
          to label %1093 unwind label %1065

1093:                                             ; preds = %1091
  %1094 = load i32, ptr %88, align 4, !tbaa !9
  %1095 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %1092, i32 noundef %1094)
          to label %1096 unwind label %1065

1096:                                             ; preds = %1093
  %1097 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1095, ptr noundef @.str.63)
          to label %1098 unwind label %1065

1098:                                             ; preds = %1096
  %1099 = load i32, ptr %89, align 4, !tbaa !9
  %1100 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %1097, i32 noundef %1099)
          to label %1101 unwind label %1065

1101:                                             ; preds = %1098
  %1102 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1100, ptr noundef @.str.64)
          to label %1103 unwind label %1065

1103:                                             ; preds = %1101
  %1104 = load i32, ptr %90, align 4, !tbaa !9
  %1105 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %1102, i32 noundef %1104)
          to label %1106 unwind label %1065

1106:                                             ; preds = %1103
  %1107 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1105, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1108 unwind label %1065

1108:                                             ; preds = %1106
  br label %1109

1109:                                             ; preds = %1108, %1077
  %1110 = load i32, ptr %90, align 4, !tbaa !9
  %1111 = sext i32 %1110 to i64
  %1112 = load i32, ptr %88, align 4, !tbaa !9
  %1113 = sext i32 %1112 to i64
  %1114 = load i32, ptr %89, align 4, !tbaa !9
  %1115 = load i32, ptr %87, align 4, !tbaa !9
  %1116 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen6TensorIfLi4ELi0ElEclIJiiEEERfllDpT_(ptr noundef nonnull align 8 dereferenceable(40) %62, i64 noundef %1111, i64 noundef %1113, i32 noundef %1114, i32 noundef %1115)
          to label %1117 unwind label %1065

1117:                                             ; preds = %1109
  %1118 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIffEEbRKT_RKT0_b(ptr noundef nonnull align 4 dereferenceable(4) %1116, ptr noundef nonnull align 4 dereferenceable(4) %91, i1 noundef zeroext true)
          to label %1119 unwind label %1065

1119:                                             ; preds = %1117
  %1120 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %1121 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %1120) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %1118, ptr noundef %1121, ptr noundef @.str.28, i32 noundef 589, ptr noundef @.str.116)
          to label %1122 unwind label %1065

1122:                                             ; preds = %1119
  %1123 = load i32, ptr %93, align 4, !tbaa !9
  %1124 = icmp sge i32 %1123, 0
  br i1 %1124, label %1125, label %1149

1125:                                             ; preds = %1122
  %1126 = load i32, ptr %94, align 4, !tbaa !9
  %1127 = icmp sge i32 %1126, 0
  br i1 %1127, label %1128, label %1149

1128:                                             ; preds = %1125
  %1129 = load i32, ptr %93, align 4, !tbaa !9
  %1130 = sext i32 %1129 to i64
  %1131 = invoke noundef i64 @_ZNK5Eigen6TensorIfLi3ELi1ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef 1)
          to label %1132 unwind label %1065

1132:                                             ; preds = %1128
  %1133 = icmp slt i64 %1130, %1131
  br i1 %1133, label %1134, label %1149

1134:                                             ; preds = %1132
  %1135 = load i32, ptr %94, align 4, !tbaa !9
  %1136 = sext i32 %1135 to i64
  %1137 = invoke noundef i64 @_ZNK5Eigen6TensorIfLi3ELi1ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef 0)
          to label %1138 unwind label %1065

1138:                                             ; preds = %1134
  %1139 = icmp slt i64 %1136, %1137
  br i1 %1139, label %1140, label %1149

1140:                                             ; preds = %1138
  %1141 = load i32, ptr %94, align 4, !tbaa !9
  %1142 = sext i32 %1141 to i64
  %1143 = load i32, ptr %93, align 4, !tbaa !9
  %1144 = sext i32 %1143 to i64
  %1145 = load i32, ptr %90, align 4, !tbaa !9
  %1146 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen6TensorIfLi3ELi1ElEclIJiEEERfllDpT_(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %1142, i64 noundef %1144, i32 noundef %1145)
          to label %1147 unwind label %1065

1147:                                             ; preds = %1140
  %1148 = load float, ptr %1146, align 4, !tbaa !11
  store float %1148, ptr %92, align 4, !tbaa !11
  br label %1149

1149:                                             ; preds = %1147, %1138, %1132, %1125, %1122
  %1150 = load i32, ptr %87, align 4, !tbaa !9
  %1151 = sext i32 %1150 to i64
  %1152 = load i32, ptr %89, align 4, !tbaa !9
  %1153 = sext i32 %1152 to i64
  %1154 = load i32, ptr %88, align 4, !tbaa !9
  %1155 = load i32, ptr %90, align 4, !tbaa !9
  %1156 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen6TensorIfLi4ELi1ElEclIJiiEEERfllDpT_(ptr noundef nonnull align 8 dereferenceable(40) %72, i64 noundef %1151, i64 noundef %1153, i32 noundef %1154, i32 noundef %1155)
          to label %1157 unwind label %1065

1157:                                             ; preds = %1149
  %1158 = load float, ptr %1156, align 4, !tbaa !11
  %1159 = load float, ptr %92, align 4, !tbaa !11
  %1160 = fcmp une float %1158, %1159
  br i1 %1160, label %1161, label %1189

1161:                                             ; preds = %1157
  %1162 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.60)
          to label %1163 unwind label %1065

1163:                                             ; preds = %1161
  %1164 = load i32, ptr %85, align 4, !tbaa !9
  %1165 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %1162, i32 noundef %1164)
          to label %1166 unwind label %1065

1166:                                             ; preds = %1163
  %1167 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1165, ptr noundef @.str.61)
          to label %1168 unwind label %1065

1168:                                             ; preds = %1166
  %1169 = load i32, ptr %86, align 4, !tbaa !9
  %1170 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %1167, i32 noundef %1169)
          to label %1171 unwind label %1065

1171:                                             ; preds = %1168
  %1172 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1170, ptr noundef @.str.62)
          to label %1173 unwind label %1065

1173:                                             ; preds = %1171
  %1174 = load i32, ptr %88, align 4, !tbaa !9
  %1175 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %1172, i32 noundef %1174)
          to label %1176 unwind label %1065

1176:                                             ; preds = %1173
  %1177 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1175, ptr noundef @.str.63)
          to label %1178 unwind label %1065

1178:                                             ; preds = %1176
  %1179 = load i32, ptr %89, align 4, !tbaa !9
  %1180 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %1177, i32 noundef %1179)
          to label %1181 unwind label %1065

1181:                                             ; preds = %1178
  %1182 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1180, ptr noundef @.str.64)
          to label %1183 unwind label %1065

1183:                                             ; preds = %1181
  %1184 = load i32, ptr %90, align 4, !tbaa !9
  %1185 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %1182, i32 noundef %1184)
          to label %1186 unwind label %1065

1186:                                             ; preds = %1183
  %1187 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1185, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %1188 unwind label %1065

1188:                                             ; preds = %1186
  br label %1189

1189:                                             ; preds = %1188, %1157
  %1190 = load i32, ptr %87, align 4, !tbaa !9
  %1191 = sext i32 %1190 to i64
  %1192 = load i32, ptr %89, align 4, !tbaa !9
  %1193 = sext i32 %1192 to i64
  %1194 = load i32, ptr %88, align 4, !tbaa !9
  %1195 = load i32, ptr %90, align 4, !tbaa !9
  %1196 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen6TensorIfLi4ELi1ElEclIJiiEEERfllDpT_(ptr noundef nonnull align 8 dereferenceable(40) %72, i64 noundef %1191, i64 noundef %1193, i32 noundef %1194, i32 noundef %1195)
          to label %1197 unwind label %1065

1197:                                             ; preds = %1189
  %1198 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIffEEbRKT_RKT0_b(ptr noundef nonnull align 4 dereferenceable(4) %1196, ptr noundef nonnull align 4 dereferenceable(4) %92, i1 noundef zeroext true)
          to label %1199 unwind label %1065

1199:                                             ; preds = %1197
  %1200 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %1201 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %1200) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %1198, ptr noundef %1201, ptr noundef @.str.28, i32 noundef 597, ptr noundef @.str.117)
          to label %1202 unwind label %1065

1202:                                             ; preds = %1199
  %1203 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIffEEbRKT_RKT0_b(ptr noundef nonnull align 4 dereferenceable(4) %91, ptr noundef nonnull align 4 dereferenceable(4) %92, i1 noundef zeroext true)
          to label %1204 unwind label %1065

1204:                                             ; preds = %1202
  %1205 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %1206 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %1205) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %1203, ptr noundef %1206, ptr noundef @.str.28, i32 noundef 599, ptr noundef @.str.68)
          to label %1207 unwind label %1065

1207:                                             ; preds = %1204
  call void @llvm.lifetime.end.p0(i64 4, ptr %94) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %93) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %92) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %91) #6
  br label %1208

1208:                                             ; preds = %1207
  %1209 = load i32, ptr %90, align 4, !tbaa !9
  %1210 = add nsw i32 %1209, 1
  store i32 %1210, ptr %90, align 4, !tbaa !9
  br label %1020, !llvm.loop !20

1211:                                             ; preds = %1023
  br label %1212

1212:                                             ; preds = %1211
  %1213 = load i32, ptr %89, align 4, !tbaa !9
  %1214 = add nsw i32 %1213, 1
  store i32 %1214, ptr %89, align 4, !tbaa !9
  br label %1015, !llvm.loop !21

1215:                                             ; preds = %1018
  br label %1216

1216:                                             ; preds = %1215
  %1217 = load i32, ptr %88, align 4, !tbaa !9
  %1218 = add nsw i32 %1217, 1
  store i32 %1218, ptr %88, align 4, !tbaa !9
  br label %1010, !llvm.loop !22

1219:                                             ; preds = %1013
  call void @llvm.lifetime.end.p0(i64 4, ptr %87) #6
  br label %1220

1220:                                             ; preds = %1219
  %1221 = load i32, ptr %86, align 4, !tbaa !9
  %1222 = add nsw i32 %1221, 1
  store i32 %1222, ptr %86, align 4, !tbaa !9
  br label %1001, !llvm.loop !23

1223:                                             ; preds = %1004
  br label %1224

1224:                                             ; preds = %1223
  %1225 = load i32, ptr %85, align 4, !tbaa !9
  %1226 = add nsw i32 %1225, 1
  store i32 %1226, ptr %85, align 4, !tbaa !9
  br label %908, !llvm.loop !24

1227:                                             ; preds = %911
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #6
  call void @_ZN5Eigen6TensorIfLi4ELi1ElED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %72) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %72) #6
  call void @_ZN5Eigen6TensorIfLi4ELi0ElED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %62) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %62) #6
  call void @_ZN5Eigen6TensorIfLi4ELi1ElED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %43) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %43) #6
  call void @_ZN5Eigen6TensorIfLi4ELi0ElED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %33) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %33) #6
  call void @_ZN5Eigen6TensorIfLi4ELi1ElED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %22) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %22) #6
  call void @_ZN5Eigen6TensorIfLi4ELi0ElED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %12) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %12) #6
  call void @_ZN5Eigen6TensorIfLi3ELi1ElED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %4) #6
  call void @_ZN5Eigen6TensorIfLi3ELi0ElED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %1) #6
  ret void

1228:                                             ; preds = %1065, %999, %990, %981, %972, %960
  call void @_ZN5Eigen6TensorIfLi4ELi1ElED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %72) #6
  br label %1229

1229:                                             ; preds = %1228, %956
  call void @llvm.lifetime.end.p0(i64 40, ptr %72) #6
  br label %1230

1230:                                             ; preds = %1229, %955, %946, %937, %928, %916
  call void @_ZN5Eigen6TensorIfLi4ELi0ElED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %62) #6
  br label %1231

1231:                                             ; preds = %1230, %912
  call void @llvm.lifetime.end.p0(i64 40, ptr %62) #6
  br label %1232

1232:                                             ; preds = %1231, %708, %630, %621, %612, %603, %591
  call void @_ZN5Eigen6TensorIfLi4ELi1ElED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %43) #6
  br label %1233

1233:                                             ; preds = %1232, %587
  call void @llvm.lifetime.end.p0(i64 40, ptr %43) #6
  br label %1234

1234:                                             ; preds = %1233, %586, %577, %568, %559, %547
  call void @_ZN5Eigen6TensorIfLi4ELi0ElED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %33) #6
  br label %1235

1235:                                             ; preds = %1234, %543
  call void @llvm.lifetime.end.p0(i64 40, ptr %33) #6
  br label %1236

1236:                                             ; preds = %1235, %322, %321, %312, %303, %294, %282
  call void @_ZN5Eigen6TensorIfLi4ELi1ElED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %22) #6
  br label %1237

1237:                                             ; preds = %1236, %278
  call void @llvm.lifetime.end.p0(i64 40, ptr %22) #6
  br label %1238

1238:                                             ; preds = %1237, %277, %268, %259, %250, %238
  call void @_ZN5Eigen6TensorIfLi4ELi0ElED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %12) #6
  br label %1239

1239:                                             ; preds = %1238, %234
  call void @llvm.lifetime.end.p0(i64 40, ptr %12) #6
  br label %1240

1240:                                             ; preds = %1239, %233, %224, %215
  call void @_ZN5Eigen6TensorIfLi3ELi1ElED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #6
  br label %1241

1241:                                             ; preds = %1240, %203
  call void @llvm.lifetime.end.p0(i64 32, ptr %4) #6
  br label %1242

1242:                                             ; preds = %1241, %199
  call void @_ZN5Eigen6TensorIfLi3ELi0ElED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %1) #6
  br label %1243

1243:                                             ; preds = %1242
  %1244 = load ptr, ptr %2, align 8
  %1245 = load i32, ptr %3, align 4
  %1246 = insertvalue { ptr, i32 } poison, ptr %1244, 0
  %1247 = insertvalue { ptr, i32 } %1246, i32 %1245, 1
  resume { ptr, i32 } %1247
}

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(32) ptr @_ZN5Eigen10TensorBaseINS_6TensorIfLi3ELi0ElEELi1EE9setRandomEv(ptr noundef nonnull align 1 dereferenceable(1)) #1 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local ptr @_ZN5Eigen10TensorBaseINS_6TensorIfLi3ELi0ElEELi1EE11swap_layoutEv(ptr noundef nonnull align 1 dereferenceable(1)) #1 align 2

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZNK5Eigen6TensorIfLi3ELi0ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(32), i64 noundef) #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZNK5Eigen6TensorIfLi3ELi1ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(32), i64 noundef) #5 align 2

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZNK5Eigen10TensorBaseINS_6TensorIfLi3ELi0ElEELi0EE21extract_image_patchesEllllllNS_11PaddingTypeEf(ptr dead_on_unwind noalias writable sret(%"class.Eigen::TensorImagePatchOp.43") align 8, ptr noundef nonnull align 1 dereferenceable(1), i64 noundef, i64 noundef, i64 noundef, i64 noundef, i64 noundef, i64 noundef, i32 noundef, float noundef) #1 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(40) ptr @_ZN5Eigen6TensorIfLi4ELi0ElEaSINS_18TensorImagePatchOpILln1ELln1EKNS0_IfLi3ELi0ElEEEEEERS1_RKT_(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef nonnull align 8 dereferenceable(120)) #1 align 2

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZNK5Eigen10TensorBaseINS_6TensorIfLi3ELi1ElEELi0EE21extract_image_patchesEllllllNS_11PaddingTypeEf(ptr dead_on_unwind noalias writable sret(%"class.Eigen::TensorImagePatchOp.45") align 8, ptr noundef nonnull align 1 dereferenceable(1), i64 noundef, i64 noundef, i64 noundef, i64 noundef, i64 noundef, i64 noundef, i32 noundef, float noundef) #1 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(40) ptr @_ZN5Eigen6TensorIfLi4ELi1ElEaSINS_18TensorImagePatchOpILln1ELln1EKNS0_IfLi3ELi1ElEEEEEERS1_RKT_(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef nonnull align 8 dereferenceable(120)) #1 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef i64 @_ZNK5Eigen6TensorIfLi3ELi0ElE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32)) #1 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef ptr @_ZN5Eigen6TensorIfLi3ELi0ElE4dataEv(ptr noundef nonnull align 8 dereferenceable(32)) #1 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef ptr @_ZN5Eigen6TensorIfLi3ELi1ElE4dataEv(ptr noundef nonnull align 8 dereferenceable(32)) #1 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen6TensorIfLi3ELi0ElEclIJiEEERfllDpT_(ptr noundef nonnull align 8 dereferenceable(32), i64 noundef, i64 noundef, i32 noundef) #1 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen6TensorIfLi3ELi1ElEclIJiEEERfllDpT_(ptr noundef nonnull align 8 dereferenceable(32), i64 noundef, i64 noundef, i32 noundef) #1 align 2

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

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

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"long", !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, !12, i64 0}
!12 = !{!"float", !7, i64 0}
!13 = distinct !{!13, !14}
!14 = !{!"llvm.loop.mustprogress"}
!15 = distinct !{!15, !14}
!16 = distinct !{!16, !14}
!17 = distinct !{!17, !14}
!18 = distinct !{!18, !14}
!19 = distinct !{!19, !14}
!20 = distinct !{!20, !14}
!21 = distinct !{!21, !14}
!22 = distinct !{!22, !14}
!23 = distinct !{!23, !14}
!24 = distinct !{!24, !14}


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

%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::basic_ostream" = type { ptr, %"class.std::basic_ios" }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"class.std::locale" = type { ptr }
%"class.Eigen::Tensor.30" = type { %"class.Eigen::TensorStorage.33" }
%"class.Eigen::TensorStorage.33" = type { ptr, %"struct.Eigen::DSizes.34" }
%"struct.Eigen::DSizes.34" = type { %"struct.std::array.35" }
%"struct.std::array.35" = type { [3 x i64] }
%"class.Eigen::Tensor.36" = type { %"class.Eigen::TensorStorage.39" }
%"class.Eigen::TensorStorage.39" = type { ptr, %"struct.Eigen::DSizes.34" }
%"class.Eigen::TensorLayoutSwapOp.40" = type { ptr }
%"class.Eigen::Tensor" = type { %"class.Eigen::TensorStorage" }
%"class.Eigen::TensorStorage" = type { ptr, %"struct.Eigen::DSizes" }
%"struct.Eigen::DSizes" = type { %"struct.std::array" }
%"struct.std::array" = type { [4 x i64] }
%"class.Eigen::TensorImagePatchOp.43" = type { ptr, i64, i64, i64, i64, i64, i64, i64, i64, i8, i64, i64, i64, i64, i32, float }
%"class.Eigen::Tensor.10" = type { %"class.Eigen::TensorStorage.13" }
%"class.Eigen::TensorStorage.13" = type { ptr, %"struct.Eigen::DSizes" }
%"class.Eigen::TensorImagePatchOp.45" = type { ptr, i64, i64, i64, i64, i64, i64, i64, i64, i8, i64, i64, i64, i64, i32, float }

@_ZN5EigenL12g_test_stackB5cxx11E = external hidden global %"class.std::vector", align 8
@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@.str.28 = external hidden unnamed_addr constant [130 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.102 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.103 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.104 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.105 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.106 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.107 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.108 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.109 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.110 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.111 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.112 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.113 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.114 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.115 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.116 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.117 = external hidden unnamed_addr constant [80 x i8], align 1

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

declare i32 @__gxx_personality_v0(...)

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

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) local_unnamed_addr #1

; Function Attrs: mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) local_unnamed_addr #2 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_(ptr noundef nonnull align 8 dereferenceable(8)) #1

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext, ptr noundef, ptr noundef, i32 noundef, ptr noundef) local_unnamed_addr #1

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #4 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN5Eigen13test_is_equalIllEEbRKT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8), i1 noundef zeroext) local_unnamed_addr #2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZNK5Eigen6TensorIfLi4ELi0ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(40), i64 noundef) local_unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZNK5Eigen6TensorIfLi4ELi1ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(40), i64 noundef) local_unnamed_addr #5 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN5Eigen13test_is_equalIliEEbRKT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 4 dereferenceable(4), i1 noundef zeroext) local_unnamed_addr #2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef ptr @_ZN5Eigen6TensorIfLi4ELi0ElE4dataEv(ptr noundef nonnull align 8 dereferenceable(40)) local_unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEf(ptr noundef nonnull align 8 dereferenceable(8), float noundef) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN5Eigen13test_is_equalIffEEbRKT_RKT0_b(ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4), i1 noundef zeroext) local_unnamed_addr #2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef ptr @_ZN5Eigen6TensorIfLi4ELi1ElE4dataEv(ptr noundef nonnull align 8 dereferenceable(40)) local_unnamed_addr #1 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen6TensorIfLi4ELi0ElEclIJiiEEERfllDpT_(ptr noundef nonnull align 8 dereferenceable(40), i64 noundef, i64 noundef, i32 noundef, i32 noundef) local_unnamed_addr #1 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen6TensorIfLi4ELi1ElEclIJiiEEERfllDpT_(ptr noundef nonnull align 8 dereferenceable(40), i64 noundef, i64 noundef, i32 noundef, i32 noundef) local_unnamed_addr #1 align 2

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

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

; Function Attrs: mustprogress uwtable
define dso_local void @_Z23test_patch_no_extra_dimv() local_unnamed_addr #2 personality ptr @__gxx_personality_v0 {
  %1 = alloca %"class.Eigen::Tensor.30", align 8
  %2 = alloca %"class.Eigen::Tensor.36", align 8
  %3 = alloca %"class.Eigen::TensorLayoutSwapOp.40", align 8
  %4 = alloca i64, align 8
  %5 = alloca i64, align 8
  %6 = alloca i64, align 8
  %7 = alloca i64, align 8
  %8 = alloca i64, align 8
  %9 = alloca i64, align 8
  %10 = alloca %"class.Eigen::Tensor", align 8
  %11 = alloca %"class.Eigen::TensorImagePatchOp.43", align 8
  %12 = alloca i64, align 8
  %13 = alloca i32, align 4
  %14 = alloca i64, align 8
  %15 = alloca i32, align 4
  %16 = alloca i64, align 8
  %17 = alloca i32, align 4
  %18 = alloca i64, align 8
  %19 = alloca i32, align 4
  %20 = alloca %"class.Eigen::Tensor.10", align 8
  %21 = alloca %"class.Eigen::TensorImagePatchOp.45", align 8
  %22 = alloca i64, align 8
  %23 = alloca i32, align 4
  %24 = alloca i64, align 8
  %25 = alloca i32, align 4
  %26 = alloca i64, align 8
  %27 = alloca i32, align 4
  %28 = alloca i64, align 8
  %29 = alloca i32, align 4
  %30 = alloca %"class.Eigen::Tensor", align 8
  %31 = alloca %"class.Eigen::TensorImagePatchOp.43", align 8
  %32 = alloca i64, align 8
  %33 = alloca i32, align 4
  %34 = alloca i64, align 8
  %35 = alloca i32, align 4
  %36 = alloca i64, align 8
  %37 = alloca i32, align 4
  %38 = alloca i64, align 8
  %39 = alloca i32, align 4
  %40 = alloca %"class.Eigen::Tensor.10", align 8
  %41 = alloca %"class.Eigen::TensorImagePatchOp.45", align 8
  %42 = alloca i64, align 8
  %43 = alloca i32, align 4
  %44 = alloca i64, align 8
  %45 = alloca i32, align 4
  %46 = alloca i64, align 8
  %47 = alloca i32, align 4
  %48 = alloca i64, align 8
  %49 = alloca i32, align 4
  %50 = alloca float, align 4
  %51 = alloca float, align 4
  %52 = alloca %"class.Eigen::Tensor", align 8
  %53 = alloca %"class.Eigen::TensorImagePatchOp.43", align 8
  %54 = alloca i64, align 8
  %55 = alloca i32, align 4
  %56 = alloca i64, align 8
  %57 = alloca i32, align 4
  %58 = alloca i64, align 8
  %59 = alloca i32, align 4
  %60 = alloca i64, align 8
  %61 = alloca i32, align 4
  %62 = alloca %"class.Eigen::Tensor.10", align 8
  %63 = alloca %"class.Eigen::TensorImagePatchOp.45", align 8
  %64 = alloca i64, align 8
  %65 = alloca i32, align 4
  %66 = alloca i64, align 8
  %67 = alloca i32, align 4
  %68 = alloca i64, align 8
  %69 = alloca i32, align 4
  %70 = alloca i64, align 8
  %71 = alloca i32, align 4
  %72 = alloca float, align 4
  %73 = alloca float, align 4
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %1) #6
  call void @_ZN5Eigen6TensorIfLi3ELi0ElEC2IJiiEEElDpT_(ptr noundef nonnull align 8 dereferenceable(32) %1, i64 noundef 2, i32 noundef 3, i32 noundef 5)
  %74 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZN5Eigen10TensorBaseINS_6TensorIfLi3ELi0ElEELi1EE9setRandomEv(ptr noundef nonnull align 1 dereferenceable(1) %1)
          to label %75 unwind label %161

75:                                               ; preds = %0
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %2) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3) #6
  %76 = invoke ptr @_ZN5Eigen10TensorBaseINS_6TensorIfLi3ELi0ElEELi1EE11swap_layoutEv(ptr noundef nonnull align 1 dereferenceable(1) %1)
          to label %77 unwind label %163

77:                                               ; preds = %75
  store ptr %76, ptr %3, align 8
  invoke void @_ZN5Eigen6TensorIfLi3ELi1ElEC2INS_18TensorLayoutSwapOpINS0_IfLi3ELi0ElEEEEEERKNS_10TensorBaseIT_Li1EEE(ptr noundef nonnull align 8 dereferenceable(32) %2, ptr noundef nonnull align 1 dereferenceable(1) %3)
          to label %78 unwind label %163

78:                                               ; preds = %77
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %4) #6
  %79 = call noundef i64 @_ZNK5Eigen6TensorIfLi3ELi0ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(32) %1, i64 noundef 0)
  store i64 %79, ptr %4, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %5) #6
  %80 = call noundef i64 @_ZNK5Eigen6TensorIfLi3ELi1ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(32) %2, i64 noundef 2)
  store i64 %80, ptr %5, align 8, !tbaa !5
  %81 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIllEEbRKT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(8) %4, ptr noundef nonnull align 8 dereferenceable(8) %5, i1 noundef zeroext true)
          to label %82 unwind label %165

82:                                               ; preds = %78
  %83 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %84 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %83) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %81, ptr noundef %84, ptr noundef nonnull @.str.28, i32 noundef 464, ptr noundef nonnull @.str.102)
          to label %85 unwind label %165

85:                                               ; preds = %82
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %4) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %6) #6
  %86 = call noundef i64 @_ZNK5Eigen6TensorIfLi3ELi0ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(32) %1, i64 noundef 1)
  store i64 %86, ptr %6, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %7) #6
  %87 = call noundef i64 @_ZNK5Eigen6TensorIfLi3ELi1ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(32) %2, i64 noundef 1)
  store i64 %87, ptr %7, align 8, !tbaa !5
  %88 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIllEEbRKT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(8) %6, ptr noundef nonnull align 8 dereferenceable(8) %7, i1 noundef zeroext true)
          to label %89 unwind label %167

89:                                               ; preds = %85
  %90 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %91 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %90) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %88, ptr noundef %91, ptr noundef nonnull @.str.28, i32 noundef 465, ptr noundef nonnull @.str.103)
          to label %92 unwind label %167

92:                                               ; preds = %89
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %8) #6
  %93 = call noundef i64 @_ZNK5Eigen6TensorIfLi3ELi0ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(32) %1, i64 noundef 2)
  store i64 %93, ptr %8, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %9) #6
  %94 = call noundef i64 @_ZNK5Eigen6TensorIfLi3ELi1ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(32) %2, i64 noundef 0)
  store i64 %94, ptr %9, align 8, !tbaa !5
  %95 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIllEEbRKT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(8) %8, ptr noundef nonnull align 8 dereferenceable(8) %9, i1 noundef zeroext true)
          to label %96 unwind label %169

96:                                               ; preds = %92
  %97 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %98 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %97) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %95, ptr noundef %98, ptr noundef nonnull @.str.28, i32 noundef 466, ptr noundef nonnull @.str.104)
          to label %99 unwind label %169

99:                                               ; preds = %96
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %9) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #6
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %10) #6
  invoke void @_ZN5Eigen6TensorIfLi4ELi0ElEC2Ev(ptr noundef nonnull align 8 dereferenceable(40) %10)
          to label %100 unwind label %171

100:                                              ; preds = %99
  call void @llvm.lifetime.start.p0(i64 120, ptr nonnull %11) #6
  invoke void @_ZNK5Eigen10TensorBaseINS_6TensorIfLi3ELi0ElEELi0EE21extract_image_patchesEllllllNS_11PaddingTypeEf(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::TensorImagePatchOp.43") align 8 %11, ptr noundef nonnull align 1 dereferenceable(1) %1, i64 noundef 1, i64 noundef 1, i64 noundef 1, i64 noundef 1, i64 noundef 1, i64 noundef 1, i32 noundef 2, float noundef 0.000000e+00)
          to label %101 unwind label %173

101:                                              ; preds = %100
  %102 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN5Eigen6TensorIfLi4ELi0ElEaSINS_18TensorImagePatchOpILln1ELln1EKNS0_IfLi3ELi0ElEEEEEERS1_RKT_(ptr noundef nonnull align 8 dereferenceable(40) %10, ptr noundef nonnull align 8 dereferenceable(120) %11)
          to label %103 unwind label %173

103:                                              ; preds = %101
  call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %11) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %12) #6
  %104 = call noundef i64 @_ZNK5Eigen6TensorIfLi4ELi0ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(40) %10, i64 noundef 0)
  store i64 %104, ptr %12, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %13) #6
  store i32 2, ptr %13, align 4, !tbaa !9
  %105 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIliEEbRKT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(8) %12, ptr noundef nonnull align 4 dereferenceable(4) %13, i1 noundef zeroext true)
          to label %106 unwind label %175

106:                                              ; preds = %103
  %107 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %108 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %107) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %105, ptr noundef %108, ptr noundef nonnull @.str.28, i32 noundef 471, ptr noundef nonnull @.str.33)
          to label %109 unwind label %175

109:                                              ; preds = %106
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %13) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %14) #6
  %110 = call noundef i64 @_ZNK5Eigen6TensorIfLi4ELi0ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(40) %10, i64 noundef 1)
  store i64 %110, ptr %14, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %15) #6
  store i32 1, ptr %15, align 4, !tbaa !9
  %111 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIliEEbRKT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(8) %14, ptr noundef nonnull align 4 dereferenceable(4) %15, i1 noundef zeroext true)
          to label %112 unwind label %177

112:                                              ; preds = %109
  %113 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %114 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %113) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %111, ptr noundef %114, ptr noundef nonnull @.str.28, i32 noundef 472, ptr noundef nonnull @.str.34)
          to label %115 unwind label %177

115:                                              ; preds = %112
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %15) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %16) #6
  %116 = call noundef i64 @_ZNK5Eigen6TensorIfLi4ELi0ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(40) %10, i64 noundef 2)
  store i64 %116, ptr %16, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %17) #6
  store i32 1, ptr %17, align 4, !tbaa !9
  %117 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIliEEbRKT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(8) %16, ptr noundef nonnull align 4 dereferenceable(4) %17, i1 noundef zeroext true)
          to label %118 unwind label %179

118:                                              ; preds = %115
  %119 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %120 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %119) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %117, ptr noundef %120, ptr noundef nonnull @.str.28, i32 noundef 473, ptr noundef nonnull @.str.35)
          to label %121 unwind label %179

121:                                              ; preds = %118
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %17) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %18) #6
  %122 = call noundef i64 @_ZNK5Eigen6TensorIfLi4ELi0ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(40) %10, i64 noundef 3)
  store i64 %122, ptr %18, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %19) #6
  store i32 15, ptr %19, align 4, !tbaa !9
  %123 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIliEEbRKT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(8) %18, ptr noundef nonnull align 4 dereferenceable(4) %19, i1 noundef zeroext true)
          to label %124 unwind label %181

124:                                              ; preds = %121
  %125 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %126 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %125) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %123, ptr noundef %126, ptr noundef nonnull @.str.28, i32 noundef 474, ptr noundef nonnull @.str.36)
          to label %127 unwind label %181

127:                                              ; preds = %124
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %19) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #6
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %20) #6
  invoke void @_ZN5Eigen6TensorIfLi4ELi1ElEC2Ev(ptr noundef nonnull align 8 dereferenceable(40) %20)
          to label %128 unwind label %183

128:                                              ; preds = %127
  call void @llvm.lifetime.start.p0(i64 120, ptr nonnull %21) #6
  invoke void @_ZNK5Eigen10TensorBaseINS_6TensorIfLi3ELi1ElEELi0EE21extract_image_patchesEllllllNS_11PaddingTypeEf(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::TensorImagePatchOp.45") align 8 %21, ptr noundef nonnull align 1 dereferenceable(1) %2, i64 noundef 1, i64 noundef 1, i64 noundef 1, i64 noundef 1, i64 noundef 1, i64 noundef 1, i32 noundef 2, float noundef 0.000000e+00)
          to label %129 unwind label %185

129:                                              ; preds = %128
  %130 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN5Eigen6TensorIfLi4ELi1ElEaSINS_18TensorImagePatchOpILln1ELln1EKNS0_IfLi3ELi1ElEEEEEERS1_RKT_(ptr noundef nonnull align 8 dereferenceable(40) %20, ptr noundef nonnull align 8 dereferenceable(120) %21)
          to label %131 unwind label %185

131:                                              ; preds = %129
  call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %21) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %22) #6
  %132 = call noundef i64 @_ZNK5Eigen6TensorIfLi4ELi1ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(40) %20, i64 noundef 0)
  store i64 %132, ptr %22, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %23) #6
  store i32 15, ptr %23, align 4, !tbaa !9
  %133 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIliEEbRKT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(8) %22, ptr noundef nonnull align 4 dereferenceable(4) %23, i1 noundef zeroext true)
          to label %134 unwind label %187

134:                                              ; preds = %131
  %135 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %136 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %135) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %133, ptr noundef %136, ptr noundef nonnull @.str.28, i32 noundef 479, ptr noundef nonnull @.str.105)
          to label %137 unwind label %187

137:                                              ; preds = %134
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %23) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %22) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %24) #6
  %138 = call noundef i64 @_ZNK5Eigen6TensorIfLi4ELi1ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(40) %20, i64 noundef 1)
  store i64 %138, ptr %24, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %25) #6
  store i32 1, ptr %25, align 4, !tbaa !9
  %139 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIliEEbRKT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(8) %24, ptr noundef nonnull align 4 dereferenceable(4) %25, i1 noundef zeroext true)
          to label %140 unwind label %189

140:                                              ; preds = %137
  %141 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %142 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %141) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %139, ptr noundef %142, ptr noundef nonnull @.str.28, i32 noundef 480, ptr noundef nonnull @.str.106)
          to label %143 unwind label %189

143:                                              ; preds = %140
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %25) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %26) #6
  %144 = call noundef i64 @_ZNK5Eigen6TensorIfLi4ELi1ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(40) %20, i64 noundef 2)
  store i64 %144, ptr %26, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %27) #6
  store i32 1, ptr %27, align 4, !tbaa !9
  %145 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIliEEbRKT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(8) %26, ptr noundef nonnull align 4 dereferenceable(4) %27, i1 noundef zeroext true)
          to label %146 unwind label %191

146:                                              ; preds = %143
  %147 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %148 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %147) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %145, ptr noundef %148, ptr noundef nonnull @.str.28, i32 noundef 481, ptr noundef nonnull @.str.40)
          to label %149 unwind label %191

149:                                              ; preds = %146
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %27) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %26) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %28) #6
  %150 = call noundef i64 @_ZNK5Eigen6TensorIfLi4ELi1ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(40) %20, i64 noundef 3)
  store i64 %150, ptr %28, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %29) #6
  store i32 2, ptr %29, align 4, !tbaa !9
  %151 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIliEEbRKT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(8) %28, ptr noundef nonnull align 4 dereferenceable(4) %29, i1 noundef zeroext true)
          to label %152 unwind label %193

152:                                              ; preds = %149
  %153 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %154 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %153) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %151, ptr noundef %154, ptr noundef nonnull @.str.28, i32 noundef 482, ptr noundef nonnull @.str.107)
          to label %155 unwind label %193

155:                                              ; preds = %152
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %29) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %28) #6
  br label %156

156:                                              ; preds = %307, %155
  %indvars.iv = phi i64 [ %indvars.iv.next, %307 ], [ 0, %155 ]
  %157 = invoke noundef i64 @_ZNK5Eigen6TensorIfLi3ELi0ElE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %1)
          to label %158 unwind label %195

158:                                              ; preds = %156
  %159 = icmp sgt i64 %157, %indvars.iv
  br i1 %159, label %197, label %160

160:                                              ; preds = %158
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %30) #6
  invoke void @_ZN5Eigen6TensorIfLi4ELi0ElEC2Ev(ptr noundef nonnull align 8 dereferenceable(40) %30)
          to label %308 unwind label %368

161:                                              ; preds = %0
  %162 = landingpad { ptr, i32 }
          cleanup
  br label %718

163:                                              ; preds = %77, %75
  %164 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) #6
  br label %717

165:                                              ; preds = %82, %78
  %166 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %4) #6
  br label %716

167:                                              ; preds = %89, %85
  %168 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #6
  br label %716

169:                                              ; preds = %96, %92
  %170 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %9) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #6
  br label %716

171:                                              ; preds = %99
  %172 = landingpad { ptr, i32 }
          cleanup
  br label %715

173:                                              ; preds = %101, %100
  %174 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %11) #6
  br label %714

175:                                              ; preds = %106, %103
  %176 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %13) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #6
  br label %714

177:                                              ; preds = %112, %109
  %178 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %15) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #6
  br label %714

179:                                              ; preds = %118, %115
  %180 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %17) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #6
  br label %714

181:                                              ; preds = %124, %121
  %182 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %19) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #6
  br label %714

183:                                              ; preds = %127
  %184 = landingpad { ptr, i32 }
          cleanup
  br label %713

185:                                              ; preds = %129, %128
  %186 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %21) #6
  br label %712

187:                                              ; preds = %134, %131
  %188 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %23) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %22) #6
  br label %712

189:                                              ; preds = %140, %137
  %190 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %25) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #6
  br label %712

191:                                              ; preds = %146, %143
  %192 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %27) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %26) #6
  br label %712

193:                                              ; preds = %152, %149
  %194 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %29) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %28) #6
  br label %712

195:                                              ; preds = %304, %300, %298, %296, %293, %289, %287, %285, %282, %278, %276, %274, %272, %268, %266, %264, %260, %258, %256, %253, %251, %243, %241, %238, %234, %232, %230, %228, %224, %222, %220, %216, %214, %212, %209, %207, %199, %197, %156
  %196 = landingpad { ptr, i32 }
          cleanup
  br label %712

197:                                              ; preds = %158
  %198 = invoke noundef ptr @_ZN5Eigen6TensorIfLi3ELi0ElE4dataEv(ptr noundef nonnull align 8 dereferenceable(32) %1)
          to label %199 unwind label %195

199:                                              ; preds = %197
  %200 = getelementptr inbounds float, ptr %198, i64 %indvars.iv
  %201 = load float, ptr %200, align 4, !tbaa !11
  %202 = invoke noundef ptr @_ZN5Eigen6TensorIfLi4ELi0ElE4dataEv(ptr noundef nonnull align 8 dereferenceable(40) %10)
          to label %203 unwind label %195

203:                                              ; preds = %199
  %204 = getelementptr inbounds float, ptr %202, i64 %indvars.iv
  %205 = load float, ptr %204, align 4, !tbaa !11
  %206 = fcmp une float %201, %205
  br i1 %206, label %207, label %230

207:                                              ; preds = %203
  %208 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.43)
          to label %209 unwind label %195

209:                                              ; preds = %207
  %210 = trunc nuw nsw i64 %indvars.iv to i32
  %211 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %208, i32 noundef %210)
          to label %212 unwind label %195

212:                                              ; preds = %209
  %213 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %211, ptr noundef nonnull @.str.44)
          to label %214 unwind label %195

214:                                              ; preds = %212
  %215 = invoke noundef ptr @_ZN5Eigen6TensorIfLi3ELi0ElE4dataEv(ptr noundef nonnull align 8 dereferenceable(32) %1)
          to label %216 unwind label %195

216:                                              ; preds = %214
  %217 = getelementptr inbounds float, ptr %215, i64 %indvars.iv
  %218 = load float, ptr %217, align 4, !tbaa !11
  %219 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEf(ptr noundef nonnull align 8 dereferenceable(8) %213, float noundef %218)
          to label %220 unwind label %195

220:                                              ; preds = %216
  %221 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %219, ptr noundef nonnull @.str.45)
          to label %222 unwind label %195

222:                                              ; preds = %220
  %223 = invoke noundef ptr @_ZN5Eigen6TensorIfLi4ELi0ElE4dataEv(ptr noundef nonnull align 8 dereferenceable(40) %10)
          to label %224 unwind label %195

224:                                              ; preds = %222
  %225 = getelementptr inbounds float, ptr %223, i64 %indvars.iv
  %226 = load float, ptr %225, align 4, !tbaa !11
  %227 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEf(ptr noundef nonnull align 8 dereferenceable(8) %221, float noundef %226)
          to label %228 unwind label %195

228:                                              ; preds = %224
  %229 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %227, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %230 unwind label %195

230:                                              ; preds = %228, %203
  %231 = invoke noundef ptr @_ZN5Eigen6TensorIfLi4ELi0ElE4dataEv(ptr noundef nonnull align 8 dereferenceable(40) %10)
          to label %232 unwind label %195

232:                                              ; preds = %230
  %233 = invoke noundef ptr @_ZN5Eigen6TensorIfLi3ELi0ElE4dataEv(ptr noundef nonnull align 8 dereferenceable(32) %1)
          to label %234 unwind label %195

234:                                              ; preds = %232
  %235 = getelementptr inbounds float, ptr %231, i64 %indvars.iv
  %236 = getelementptr inbounds float, ptr %233, i64 %indvars.iv
  %237 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIffEEbRKT_RKT0_b(ptr noundef nonnull align 4 dereferenceable(4) %235, ptr noundef nonnull align 4 dereferenceable(4) %236, i1 noundef zeroext true)
          to label %238 unwind label %195

238:                                              ; preds = %234
  %239 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %240 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %239) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %237, ptr noundef %240, ptr noundef nonnull @.str.28, i32 noundef 489, ptr noundef nonnull @.str.46)
          to label %241 unwind label %195

241:                                              ; preds = %238
  %242 = invoke noundef ptr @_ZN5Eigen6TensorIfLi3ELi1ElE4dataEv(ptr noundef nonnull align 8 dereferenceable(32) %2)
          to label %243 unwind label %195

243:                                              ; preds = %241
  %244 = getelementptr inbounds float, ptr %242, i64 %indvars.iv
  %245 = load float, ptr %244, align 4, !tbaa !11
  %246 = invoke noundef ptr @_ZN5Eigen6TensorIfLi4ELi1ElE4dataEv(ptr noundef nonnull align 8 dereferenceable(40) %20)
          to label %247 unwind label %195

247:                                              ; preds = %243
  %248 = getelementptr inbounds float, ptr %246, i64 %indvars.iv
  %249 = load float, ptr %248, align 4, !tbaa !11
  %250 = fcmp une float %245, %249
  br i1 %250, label %251, label %274

251:                                              ; preds = %247
  %252 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.43)
          to label %253 unwind label %195

253:                                              ; preds = %251
  %254 = trunc nuw nsw i64 %indvars.iv to i32
  %255 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %252, i32 noundef %254)
          to label %256 unwind label %195

256:                                              ; preds = %253
  %257 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %255, ptr noundef nonnull @.str.44)
          to label %258 unwind label %195

258:                                              ; preds = %256
  %259 = invoke noundef ptr @_ZN5Eigen6TensorIfLi3ELi0ElE4dataEv(ptr noundef nonnull align 8 dereferenceable(32) %1)
          to label %260 unwind label %195

260:                                              ; preds = %258
  %261 = getelementptr inbounds float, ptr %259, i64 %indvars.iv
  %262 = load float, ptr %261, align 4, !tbaa !11
  %263 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEf(ptr noundef nonnull align 8 dereferenceable(8) %257, float noundef %262)
          to label %264 unwind label %195

264:                                              ; preds = %260
  %265 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %263, ptr noundef nonnull @.str.45)
          to label %266 unwind label %195

266:                                              ; preds = %264
  %267 = invoke noundef ptr @_ZN5Eigen6TensorIfLi4ELi1ElE4dataEv(ptr noundef nonnull align 8 dereferenceable(40) %20)
          to label %268 unwind label %195

268:                                              ; preds = %266
  %269 = getelementptr inbounds float, ptr %267, i64 %indvars.iv
  %270 = load float, ptr %269, align 4, !tbaa !11
  %271 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEf(ptr noundef nonnull align 8 dereferenceable(8) %265, float noundef %270)
          to label %272 unwind label %195

272:                                              ; preds = %268
  %273 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %271, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %274 unwind label %195

274:                                              ; preds = %272, %247
  %275 = invoke noundef ptr @_ZN5Eigen6TensorIfLi4ELi1ElE4dataEv(ptr noundef nonnull align 8 dereferenceable(40) %20)
          to label %276 unwind label %195

276:                                              ; preds = %274
  %277 = invoke noundef ptr @_ZN5Eigen6TensorIfLi3ELi1ElE4dataEv(ptr noundef nonnull align 8 dereferenceable(32) %2)
          to label %278 unwind label %195

278:                                              ; preds = %276
  %279 = getelementptr inbounds float, ptr %275, i64 %indvars.iv
  %280 = getelementptr inbounds float, ptr %277, i64 %indvars.iv
  %281 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIffEEbRKT_RKT0_b(ptr noundef nonnull align 4 dereferenceable(4) %279, ptr noundef nonnull align 4 dereferenceable(4) %280, i1 noundef zeroext true)
          to label %282 unwind label %195

282:                                              ; preds = %278
  %283 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %284 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %283) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %281, ptr noundef %284, ptr noundef nonnull @.str.28, i32 noundef 497, ptr noundef nonnull @.str.47)
          to label %285 unwind label %195

285:                                              ; preds = %282
  %286 = invoke noundef ptr @_ZN5Eigen6TensorIfLi3ELi0ElE4dataEv(ptr noundef nonnull align 8 dereferenceable(32) %1)
          to label %287 unwind label %195

287:                                              ; preds = %285
  %288 = invoke noundef ptr @_ZN5Eigen6TensorIfLi3ELi1ElE4dataEv(ptr noundef nonnull align 8 dereferenceable(32) %2)
          to label %289 unwind label %195

289:                                              ; preds = %287
  %290 = getelementptr inbounds float, ptr %286, i64 %indvars.iv
  %291 = getelementptr inbounds float, ptr %288, i64 %indvars.iv
  %292 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIffEEbRKT_RKT0_b(ptr noundef nonnull align 4 dereferenceable(4) %290, ptr noundef nonnull align 4 dereferenceable(4) %291, i1 noundef zeroext true)
          to label %293 unwind label %195

293:                                              ; preds = %289
  %294 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %295 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %294) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %292, ptr noundef %295, ptr noundef nonnull @.str.28, i32 noundef 498, ptr noundef nonnull @.str.48)
          to label %296 unwind label %195

296:                                              ; preds = %293
  %297 = invoke noundef ptr @_ZN5Eigen6TensorIfLi4ELi0ElE4dataEv(ptr noundef nonnull align 8 dereferenceable(40) %10)
          to label %298 unwind label %195

298:                                              ; preds = %296
  %299 = invoke noundef ptr @_ZN5Eigen6TensorIfLi4ELi1ElE4dataEv(ptr noundef nonnull align 8 dereferenceable(40) %20)
          to label %300 unwind label %195

300:                                              ; preds = %298
  %301 = getelementptr inbounds float, ptr %297, i64 %indvars.iv
  %302 = getelementptr inbounds float, ptr %299, i64 %indvars.iv
  %303 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIffEEbRKT_RKT0_b(ptr noundef nonnull align 4 dereferenceable(4) %301, ptr noundef nonnull align 4 dereferenceable(4) %302, i1 noundef zeroext true)
          to label %304 unwind label %195

304:                                              ; preds = %300
  %305 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %306 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %305) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %303, ptr noundef %306, ptr noundef nonnull @.str.28, i32 noundef 500, ptr noundef nonnull @.str.49)
          to label %307 unwind label %195

307:                                              ; preds = %304
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
  br label %156, !llvm.loop !13

308:                                              ; preds = %160
  call void @llvm.lifetime.start.p0(i64 120, ptr nonnull %31) #6
  invoke void @_ZNK5Eigen10TensorBaseINS_6TensorIfLi3ELi0ElEELi0EE21extract_image_patchesEllllllNS_11PaddingTypeEf(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::TensorImagePatchOp.43") align 8 %31, ptr noundef nonnull align 1 dereferenceable(1) %1, i64 noundef 3, i64 noundef 5, i64 noundef 1, i64 noundef 1, i64 noundef 1, i64 noundef 1, i32 noundef 2, float noundef 0.000000e+00)
          to label %309 unwind label %370

309:                                              ; preds = %308
  %310 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN5Eigen6TensorIfLi4ELi0ElEaSINS_18TensorImagePatchOpILln1ELln1EKNS0_IfLi3ELi0ElEEEEEERS1_RKT_(ptr noundef nonnull align 8 dereferenceable(40) %30, ptr noundef nonnull align 8 dereferenceable(120) %31)
          to label %311 unwind label %370

311:                                              ; preds = %309
  call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %31) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %32) #6
  %312 = call noundef i64 @_ZNK5Eigen6TensorIfLi4ELi0ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(40) %30, i64 noundef 0)
  store i64 %312, ptr %32, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %33) #6
  store i32 2, ptr %33, align 4, !tbaa !9
  %313 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIliEEbRKT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(8) %32, ptr noundef nonnull align 4 dereferenceable(4) %33, i1 noundef zeroext true)
          to label %314 unwind label %372

314:                                              ; preds = %311
  %315 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %316 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %315) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %313, ptr noundef %316, ptr noundef nonnull @.str.28, i32 noundef 506, ptr noundef nonnull @.str.50)
          to label %317 unwind label %372

317:                                              ; preds = %314
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %33) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %32) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %34) #6
  %318 = call noundef i64 @_ZNK5Eigen6TensorIfLi4ELi0ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(40) %30, i64 noundef 1)
  store i64 %318, ptr %34, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %35) #6
  store i32 3, ptr %35, align 4, !tbaa !9
  %319 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIliEEbRKT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(8) %34, ptr noundef nonnull align 4 dereferenceable(4) %35, i1 noundef zeroext true)
          to label %320 unwind label %374

320:                                              ; preds = %317
  %321 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %322 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %321) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %319, ptr noundef %322, ptr noundef nonnull @.str.28, i32 noundef 507, ptr noundef nonnull @.str.51)
          to label %323 unwind label %374

323:                                              ; preds = %320
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %35) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %34) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %36) #6
  %324 = call noundef i64 @_ZNK5Eigen6TensorIfLi4ELi0ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(40) %30, i64 noundef 2)
  store i64 %324, ptr %36, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %37) #6
  store i32 5, ptr %37, align 4, !tbaa !9
  %325 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIliEEbRKT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(8) %36, ptr noundef nonnull align 4 dereferenceable(4) %37, i1 noundef zeroext true)
          to label %326 unwind label %376

326:                                              ; preds = %323
  %327 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %328 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %327) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %325, ptr noundef %328, ptr noundef nonnull @.str.28, i32 noundef 508, ptr noundef nonnull @.str.52)
          to label %329 unwind label %376

329:                                              ; preds = %326
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %37) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %36) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %38) #6
  %330 = call noundef i64 @_ZNK5Eigen6TensorIfLi4ELi0ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(40) %30, i64 noundef 3)
  store i64 %330, ptr %38, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %39) #6
  store i32 15, ptr %39, align 4, !tbaa !9
  %331 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIliEEbRKT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(8) %38, ptr noundef nonnull align 4 dereferenceable(4) %39, i1 noundef zeroext true)
          to label %332 unwind label %378

332:                                              ; preds = %329
  %333 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %334 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %333) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %331, ptr noundef %334, ptr noundef nonnull @.str.28, i32 noundef 509, ptr noundef nonnull @.str.53)
          to label %335 unwind label %378

335:                                              ; preds = %332
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %39) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %38) #6
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %40) #6
  invoke void @_ZN5Eigen6TensorIfLi4ELi1ElEC2Ev(ptr noundef nonnull align 8 dereferenceable(40) %40)
          to label %336 unwind label %380

336:                                              ; preds = %335
  call void @llvm.lifetime.start.p0(i64 120, ptr nonnull %41) #6
  invoke void @_ZNK5Eigen10TensorBaseINS_6TensorIfLi3ELi1ElEELi0EE21extract_image_patchesEllllllNS_11PaddingTypeEf(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::TensorImagePatchOp.45") align 8 %41, ptr noundef nonnull align 1 dereferenceable(1) %2, i64 noundef 3, i64 noundef 5, i64 noundef 1, i64 noundef 1, i64 noundef 1, i64 noundef 1, i32 noundef 2, float noundef 0.000000e+00)
          to label %337 unwind label %382

337:                                              ; preds = %336
  %338 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN5Eigen6TensorIfLi4ELi1ElEaSINS_18TensorImagePatchOpILln1ELln1EKNS0_IfLi3ELi1ElEEEEEERS1_RKT_(ptr noundef nonnull align 8 dereferenceable(40) %40, ptr noundef nonnull align 8 dereferenceable(120) %41)
          to label %339 unwind label %382

339:                                              ; preds = %337
  call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %41) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %42) #6
  %340 = call noundef i64 @_ZNK5Eigen6TensorIfLi4ELi1ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(40) %40, i64 noundef 0)
  store i64 %340, ptr %42, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %43) #6
  store i32 15, ptr %43, align 4, !tbaa !9
  %341 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIliEEbRKT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(8) %42, ptr noundef nonnull align 4 dereferenceable(4) %43, i1 noundef zeroext true)
          to label %342 unwind label %384

342:                                              ; preds = %339
  %343 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %344 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %343) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %341, ptr noundef %344, ptr noundef nonnull @.str.28, i32 noundef 514, ptr noundef nonnull @.str.108)
          to label %345 unwind label %384

345:                                              ; preds = %342
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %43) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %42) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %44) #6
  %346 = call noundef i64 @_ZNK5Eigen6TensorIfLi4ELi1ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(40) %40, i64 noundef 1)
  store i64 %346, ptr %44, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %45) #6
  store i32 5, ptr %45, align 4, !tbaa !9
  %347 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIliEEbRKT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(8) %44, ptr noundef nonnull align 4 dereferenceable(4) %45, i1 noundef zeroext true)
          to label %348 unwind label %386

348:                                              ; preds = %345
  %349 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %350 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %349) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %347, ptr noundef %350, ptr noundef nonnull @.str.28, i32 noundef 515, ptr noundef nonnull @.str.109)
          to label %351 unwind label %386

351:                                              ; preds = %348
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %45) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %44) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %46) #6
  %352 = call noundef i64 @_ZNK5Eigen6TensorIfLi4ELi1ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(40) %40, i64 noundef 2)
  store i64 %352, ptr %46, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %47) #6
  store i32 3, ptr %47, align 4, !tbaa !9
  %353 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIliEEbRKT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(8) %46, ptr noundef nonnull align 4 dereferenceable(4) %47, i1 noundef zeroext true)
          to label %354 unwind label %388

354:                                              ; preds = %351
  %355 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %356 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %355) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %353, ptr noundef %356, ptr noundef nonnull @.str.28, i32 noundef 516, ptr noundef nonnull @.str.110)
          to label %357 unwind label %388

357:                                              ; preds = %354
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %47) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %46) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %48) #6
  %358 = call noundef i64 @_ZNK5Eigen6TensorIfLi4ELi1ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(40) %40, i64 noundef 3)
  store i64 %358, ptr %48, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %49) #6
  store i32 2, ptr %49, align 4, !tbaa !9
  %359 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIliEEbRKT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(8) %48, ptr noundef nonnull align 4 dereferenceable(4) %49, i1 noundef zeroext true)
          to label %360 unwind label %390

360:                                              ; preds = %357
  %361 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %362 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %361) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %359, ptr noundef %362, ptr noundef nonnull @.str.28, i32 noundef 517, ptr noundef nonnull @.str.111)
          to label %363 unwind label %390

363:                                              ; preds = %360
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %49) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %48) #6
  br label %.preheader194

.preheader194:                                    ; preds = %363, %392
  %indvars.iv222 = phi i64 [ 0, %363 ], [ %indvars.iv.next223, %392 ]
  %364 = add nsw i64 %indvars.iv222, -1
  %365 = trunc nuw nsw i64 %indvars.iv222 to i32
  %366 = trunc nuw nsw i64 %indvars.iv222 to i32
  br label %393

367:                                              ; preds = %392
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %52) #6
  invoke void @_ZN5Eigen6TensorIfLi4ELi0ElEC2Ev(ptr noundef nonnull align 8 dereferenceable(40) %52)
          to label %501 unwind label %560

368:                                              ; preds = %160
  %369 = landingpad { ptr, i32 }
          cleanup
  br label %711

370:                                              ; preds = %309, %308
  %371 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %31) #6
  br label %710

372:                                              ; preds = %314, %311
  %373 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %33) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %32) #6
  br label %710

374:                                              ; preds = %320, %317
  %375 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %35) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %34) #6
  br label %710

376:                                              ; preds = %326, %323
  %377 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %37) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %36) #6
  br label %710

378:                                              ; preds = %332, %329
  %379 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %39) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %38) #6
  br label %710

380:                                              ; preds = %335
  %381 = landingpad { ptr, i32 }
          cleanup
  br label %709

382:                                              ; preds = %337, %336
  %383 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %41) #6
  br label %708

384:                                              ; preds = %342, %339
  %385 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %43) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %42) #6
  br label %708

386:                                              ; preds = %348, %345
  %387 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %45) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %44) #6
  br label %708

388:                                              ; preds = %354, %351
  %389 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %47) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %46) #6
  br label %708

390:                                              ; preds = %360, %357
  %391 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %49) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %48) #6
  br label %708

392:                                              ; preds = %404
  %indvars.iv.next223 = add nuw nsw i64 %indvars.iv222, 1
  %exitcond225.not = icmp eq i64 %indvars.iv.next223, 3
  br i1 %exitcond225.not, label %367, label %.preheader194, !llvm.loop !15

393:                                              ; preds = %.preheader194, %404
  %indvars.iv218 = phi i64 [ 0, %.preheader194 ], [ %indvars.iv.next219, %404 ]
  %394 = mul nuw nsw i64 %indvars.iv218, 3
  %395 = add nuw nsw i64 %394, %indvars.iv222
  %396 = add nsw i64 %indvars.iv218, -2
  %397 = trunc nuw nsw i64 %395 to i32
  %398 = trunc nuw nsw i64 %indvars.iv218 to i32
  %399 = trunc nuw nsw i64 %indvars.iv218 to i32
  br label %.preheader193

.preheader193:                                    ; preds = %393, %409
  %indvars.iv214 = phi i64 [ 0, %393 ], [ %indvars.iv.next215, %409 ]
  %400 = add nsw i64 %364, %indvars.iv214
  %401 = icmp ugt i64 %400, 2
  %402 = trunc nuw nsw i64 %indvars.iv214 to i32
  %403 = trunc nuw nsw i64 %indvars.iv214 to i32
  br label %.preheader192

404:                                              ; preds = %409
  %indvars.iv.next219 = add nuw nsw i64 %indvars.iv218, 1
  %exitcond221.not = icmp eq i64 %indvars.iv.next219, 5
  br i1 %exitcond221.not, label %392, label %393, !llvm.loop !16

.preheader192:                                    ; preds = %.preheader193, %410
  %indvars.iv211 = phi i64 [ 0, %.preheader193 ], [ %indvars.iv.next212, %410 ]
  %405 = add nsw i64 %396, %indvars.iv211
  %406 = trunc nsw i64 %405 to i32
  %407 = icmp ugt i64 %405, 4
  %or.cond189.not206 = or i1 %401, %407
  %408 = trunc nuw nsw i64 %indvars.iv211 to i32
  br label %411

409:                                              ; preds = %410
  %indvars.iv.next215 = add nuw nsw i64 %indvars.iv214, 1
  %exitcond217.not = icmp eq i64 %indvars.iv.next215, 3
  br i1 %exitcond217.not, label %404, label %.preheader193, !llvm.loop !17

410:                                              ; preds = %500
  %indvars.iv.next212 = add nuw nsw i64 %indvars.iv211, 1
  %exitcond.not = icmp eq i64 %indvars.iv.next212, 5
  br i1 %exitcond.not, label %409, label %.preheader192, !llvm.loop !18

411:                                              ; preds = %.preheader192, %500
  %412 = phi i1 [ true, %.preheader192 ], [ false, %500 ]
  %indvars.iv208 = phi i64 [ 0, %.preheader192 ], [ 1, %500 ]
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %50) #6
  store float 0.000000e+00, ptr %50, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %51) #6
  store float 0.000000e+00, ptr %51, align 4, !tbaa !11
  br i1 %or.cond189.not206, label %423, label %413

413:                                              ; preds = %411
  %414 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen6TensorIfLi3ELi0ElEclIJiEEERfllDpT_(ptr noundef nonnull align 8 dereferenceable(32) %1, i64 noundef %indvars.iv208, i64 noundef %400, i32 noundef %406)
          to label %415 unwind label %421

415:                                              ; preds = %413
  %416 = load float, ptr %414, align 4, !tbaa !11
  store float %416, ptr %50, align 4, !tbaa !11
  %417 = trunc nuw nsw i64 %indvars.iv208 to i32
  %418 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen6TensorIfLi3ELi1ElEclIJiEEERfllDpT_(ptr noundef nonnull align 8 dereferenceable(32) %2, i64 noundef %405, i64 noundef %400, i32 noundef %417)
          to label %419 unwind label %421

419:                                              ; preds = %415
  %420 = load float, ptr %418, align 4, !tbaa !11
  store float %420, ptr %51, align 4, !tbaa !11
  br label %423

421:                                              ; preds = %497, %495, %492, %490, %488, %486, %484, %482, %480, %478, %476, %474, %472, %470, %468, %466, %459, %456, %454, %452, %450, %447, %445, %443, %441, %439, %437, %435, %433, %431, %429, %423, %415, %413
  %422 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %51) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %50) #6
  br label %708

423:                                              ; preds = %411, %419
  %424 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen6TensorIfLi4ELi0ElEclIJiiEEERfllDpT_(ptr noundef nonnull align 8 dereferenceable(40) %30, i64 noundef %indvars.iv208, i64 noundef %indvars.iv214, i32 noundef %408, i32 noundef %397)
          to label %425 unwind label %421

425:                                              ; preds = %423
  %426 = load float, ptr %424, align 4, !tbaa !11
  %427 = load float, ptr %50, align 4, !tbaa !11
  %428 = fcmp une float %426, %427
  br i1 %428, label %429, label %452

429:                                              ; preds = %425
  %430 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.60)
          to label %431 unwind label %421

431:                                              ; preds = %429
  %432 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %430, i32 noundef %365)
          to label %433 unwind label %421

433:                                              ; preds = %431
  %434 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %432, ptr noundef nonnull @.str.61)
          to label %435 unwind label %421

435:                                              ; preds = %433
  %436 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %434, i32 noundef %398)
          to label %437 unwind label %421

437:                                              ; preds = %435
  %438 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %436, ptr noundef nonnull @.str.62)
          to label %439 unwind label %421

439:                                              ; preds = %437
  %440 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %438, i32 noundef %402)
          to label %441 unwind label %421

441:                                              ; preds = %439
  %442 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %440, ptr noundef nonnull @.str.63)
          to label %443 unwind label %421

443:                                              ; preds = %441
  %444 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %442, i32 noundef %408)
          to label %445 unwind label %421

445:                                              ; preds = %443
  %446 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %444, ptr noundef nonnull @.str.64)
          to label %447 unwind label %421

447:                                              ; preds = %445
  %448 = trunc nuw nsw i64 %indvars.iv208 to i32
  %449 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %446, i32 noundef %448)
          to label %450 unwind label %421

450:                                              ; preds = %447
  %451 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %449, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %452 unwind label %421

452:                                              ; preds = %450, %425
  %453 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen6TensorIfLi4ELi0ElEclIJiiEEERfllDpT_(ptr noundef nonnull align 8 dereferenceable(40) %30, i64 noundef %indvars.iv208, i64 noundef %indvars.iv214, i32 noundef %408, i32 noundef %397)
          to label %454 unwind label %421

454:                                              ; preds = %452
  %455 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIffEEbRKT_RKT0_b(ptr noundef nonnull align 4 dereferenceable(4) %453, ptr noundef nonnull align 4 dereferenceable(4) %50, i1 noundef zeroext true)
          to label %456 unwind label %421

456:                                              ; preds = %454
  %457 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %458 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %457) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %455, ptr noundef %458, ptr noundef nonnull @.str.28, i32 noundef 535, ptr noundef nonnull @.str.112)
          to label %459 unwind label %421

459:                                              ; preds = %456
  %460 = trunc nuw nsw i64 %indvars.iv208 to i32
  %461 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen6TensorIfLi4ELi1ElEclIJiiEEERfllDpT_(ptr noundef nonnull align 8 dereferenceable(40) %40, i64 noundef %395, i64 noundef %indvars.iv211, i32 noundef %403, i32 noundef %460)
          to label %462 unwind label %421

462:                                              ; preds = %459
  %463 = load float, ptr %461, align 4, !tbaa !11
  %464 = load float, ptr %51, align 4, !tbaa !11
  %465 = fcmp une float %463, %464
  br i1 %465, label %466, label %488

466:                                              ; preds = %462
  %467 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.60)
          to label %468 unwind label %421

468:                                              ; preds = %466
  %469 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %467, i32 noundef %366)
          to label %470 unwind label %421

470:                                              ; preds = %468
  %471 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %469, ptr noundef nonnull @.str.61)
          to label %472 unwind label %421

472:                                              ; preds = %470
  %473 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %471, i32 noundef %399)
          to label %474 unwind label %421

474:                                              ; preds = %472
  %475 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %473, ptr noundef nonnull @.str.62)
          to label %476 unwind label %421

476:                                              ; preds = %474
  %477 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %475, i32 noundef %403)
          to label %478 unwind label %421

478:                                              ; preds = %476
  %479 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %477, ptr noundef nonnull @.str.63)
          to label %480 unwind label %421

480:                                              ; preds = %478
  %481 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %479, i32 noundef %408)
          to label %482 unwind label %421

482:                                              ; preds = %480
  %483 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %481, ptr noundef nonnull @.str.64)
          to label %484 unwind label %421

484:                                              ; preds = %482
  %485 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %483, i32 noundef %460)
          to label %486 unwind label %421

486:                                              ; preds = %484
  %487 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %485, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %488 unwind label %421

488:                                              ; preds = %486, %462
  %489 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen6TensorIfLi4ELi1ElEclIJiiEEERfllDpT_(ptr noundef nonnull align 8 dereferenceable(40) %40, i64 noundef %395, i64 noundef %indvars.iv211, i32 noundef %403, i32 noundef %460)
          to label %490 unwind label %421

490:                                              ; preds = %488
  %491 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIffEEbRKT_RKT0_b(ptr noundef nonnull align 4 dereferenceable(4) %489, ptr noundef nonnull align 4 dereferenceable(4) %51, i1 noundef zeroext true)
          to label %492 unwind label %421

492:                                              ; preds = %490
  %493 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %494 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %493) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %491, ptr noundef %494, ptr noundef nonnull @.str.28, i32 noundef 542, ptr noundef nonnull @.str.113)
          to label %495 unwind label %421

495:                                              ; preds = %492
  %496 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIffEEbRKT_RKT0_b(ptr noundef nonnull align 4 dereferenceable(4) %50, ptr noundef nonnull align 4 dereferenceable(4) %51, i1 noundef zeroext true)
          to label %497 unwind label %421

497:                                              ; preds = %495
  %498 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %499 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %498) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %496, ptr noundef %499, ptr noundef nonnull @.str.28, i32 noundef 544, ptr noundef nonnull @.str.68)
          to label %500 unwind label %421

500:                                              ; preds = %497
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %51) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %50) #6
  br i1 %412, label %411, label %410, !llvm.loop !19

501:                                              ; preds = %367
  call void @llvm.lifetime.start.p0(i64 120, ptr nonnull %53) #6
  invoke void @_ZNK5Eigen10TensorBaseINS_6TensorIfLi3ELi0ElEELi0EE21extract_image_patchesEllllllNS_11PaddingTypeEf(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::TensorImagePatchOp.43") align 8 %53, ptr noundef nonnull align 1 dereferenceable(1) %1, i64 noundef 2, i64 noundef 2, i64 noundef 1, i64 noundef 1, i64 noundef 1, i64 noundef 1, i32 noundef 2, float noundef 0.000000e+00)
          to label %502 unwind label %562

502:                                              ; preds = %501
  %503 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN5Eigen6TensorIfLi4ELi0ElEaSINS_18TensorImagePatchOpILln1ELln1EKNS0_IfLi3ELi0ElEEEEEERS1_RKT_(ptr noundef nonnull align 8 dereferenceable(40) %52, ptr noundef nonnull align 8 dereferenceable(120) %53)
          to label %504 unwind label %562

504:                                              ; preds = %502
  call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %53) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %54) #6
  %505 = call noundef i64 @_ZNK5Eigen6TensorIfLi4ELi0ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(40) %52, i64 noundef 0)
  store i64 %505, ptr %54, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %55) #6
  store i32 2, ptr %55, align 4, !tbaa !9
  %506 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIliEEbRKT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(8) %54, ptr noundef nonnull align 4 dereferenceable(4) %55, i1 noundef zeroext true)
          to label %507 unwind label %564

507:                                              ; preds = %504
  %508 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %509 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %508) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %506, ptr noundef %509, ptr noundef nonnull @.str.28, i32 noundef 554, ptr noundef nonnull @.str.69)
          to label %510 unwind label %564

510:                                              ; preds = %507
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %55) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %54) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %56) #6
  %511 = call noundef i64 @_ZNK5Eigen6TensorIfLi4ELi0ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(40) %52, i64 noundef 1)
  store i64 %511, ptr %56, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %57) #6
  store i32 2, ptr %57, align 4, !tbaa !9
  %512 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIliEEbRKT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(8) %56, ptr noundef nonnull align 4 dereferenceable(4) %57, i1 noundef zeroext true)
          to label %513 unwind label %566

513:                                              ; preds = %510
  %514 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %515 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %514) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %512, ptr noundef %515, ptr noundef nonnull @.str.28, i32 noundef 555, ptr noundef nonnull @.str.70)
          to label %516 unwind label %566

516:                                              ; preds = %513
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %57) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %56) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %58) #6
  %517 = call noundef i64 @_ZNK5Eigen6TensorIfLi4ELi0ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(40) %52, i64 noundef 2)
  store i64 %517, ptr %58, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %59) #6
  store i32 2, ptr %59, align 4, !tbaa !9
  %518 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIliEEbRKT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(8) %58, ptr noundef nonnull align 4 dereferenceable(4) %59, i1 noundef zeroext true)
          to label %519 unwind label %568

519:                                              ; preds = %516
  %520 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %521 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %520) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %518, ptr noundef %521, ptr noundef nonnull @.str.28, i32 noundef 556, ptr noundef nonnull @.str.71)
          to label %522 unwind label %568

522:                                              ; preds = %519
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %59) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %58) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %60) #6
  %523 = call noundef i64 @_ZNK5Eigen6TensorIfLi4ELi0ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(40) %52, i64 noundef 3)
  store i64 %523, ptr %60, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %61) #6
  store i32 15, ptr %61, align 4, !tbaa !9
  %524 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIliEEbRKT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(8) %60, ptr noundef nonnull align 4 dereferenceable(4) %61, i1 noundef zeroext true)
          to label %525 unwind label %570

525:                                              ; preds = %522
  %526 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %527 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %526) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %524, ptr noundef %527, ptr noundef nonnull @.str.28, i32 noundef 557, ptr noundef nonnull @.str.72)
          to label %528 unwind label %570

528:                                              ; preds = %525
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %61) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %60) #6
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %62) #6
  invoke void @_ZN5Eigen6TensorIfLi4ELi1ElEC2Ev(ptr noundef nonnull align 8 dereferenceable(40) %62)
          to label %529 unwind label %572

529:                                              ; preds = %528
  call void @llvm.lifetime.start.p0(i64 120, ptr nonnull %63) #6
  invoke void @_ZNK5Eigen10TensorBaseINS_6TensorIfLi3ELi1ElEELi0EE21extract_image_patchesEllllllNS_11PaddingTypeEf(ptr dead_on_unwind nonnull writable sret(%"class.Eigen::TensorImagePatchOp.45") align 8 %63, ptr noundef nonnull align 1 dereferenceable(1) %2, i64 noundef 2, i64 noundef 2, i64 noundef 1, i64 noundef 1, i64 noundef 1, i64 noundef 1, i32 noundef 2, float noundef 0.000000e+00)
          to label %530 unwind label %574

530:                                              ; preds = %529
  %531 = invoke noundef nonnull align 8 dereferenceable(40) ptr @_ZN5Eigen6TensorIfLi4ELi1ElEaSINS_18TensorImagePatchOpILln1ELln1EKNS0_IfLi3ELi1ElEEEEEERS1_RKT_(ptr noundef nonnull align 8 dereferenceable(40) %62, ptr noundef nonnull align 8 dereferenceable(120) %63)
          to label %532 unwind label %574

532:                                              ; preds = %530
  call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %63) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %64) #6
  %533 = call noundef i64 @_ZNK5Eigen6TensorIfLi4ELi1ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(40) %62, i64 noundef 0)
  store i64 %533, ptr %64, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %65) #6
  store i32 15, ptr %65, align 4, !tbaa !9
  %534 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIliEEbRKT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(8) %64, ptr noundef nonnull align 4 dereferenceable(4) %65, i1 noundef zeroext true)
          to label %535 unwind label %576

535:                                              ; preds = %532
  %536 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %537 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %536) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %534, ptr noundef %537, ptr noundef nonnull @.str.28, i32 noundef 562, ptr noundef nonnull @.str.114)
          to label %538 unwind label %576

538:                                              ; preds = %535
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %65) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %64) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %66) #6
  %539 = call noundef i64 @_ZNK5Eigen6TensorIfLi4ELi1ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(40) %62, i64 noundef 1)
  store i64 %539, ptr %66, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %67) #6
  store i32 2, ptr %67, align 4, !tbaa !9
  %540 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIliEEbRKT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(8) %66, ptr noundef nonnull align 4 dereferenceable(4) %67, i1 noundef zeroext true)
          to label %541 unwind label %578

541:                                              ; preds = %538
  %542 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %543 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %542) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %540, ptr noundef %543, ptr noundef nonnull @.str.28, i32 noundef 563, ptr noundef nonnull @.str.115)
          to label %544 unwind label %578

544:                                              ; preds = %541
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %67) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %66) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %68) #6
  %545 = call noundef i64 @_ZNK5Eigen6TensorIfLi4ELi1ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(40) %62, i64 noundef 2)
  store i64 %545, ptr %68, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %69) #6
  store i32 2, ptr %69, align 4, !tbaa !9
  %546 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIliEEbRKT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(8) %68, ptr noundef nonnull align 4 dereferenceable(4) %69, i1 noundef zeroext true)
          to label %547 unwind label %580

547:                                              ; preds = %544
  %548 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %549 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %548) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %546, ptr noundef %549, ptr noundef nonnull @.str.28, i32 noundef 564, ptr noundef nonnull @.str.76)
          to label %550 unwind label %580

550:                                              ; preds = %547
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %69) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %68) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %70) #6
  %551 = call noundef i64 @_ZNK5Eigen6TensorIfLi4ELi1ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(40) %62, i64 noundef 3)
  store i64 %551, ptr %70, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %71) #6
  store i32 2, ptr %71, align 4, !tbaa !9
  %552 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIliEEbRKT_RKT0_b(ptr noundef nonnull align 8 dereferenceable(8) %70, ptr noundef nonnull align 4 dereferenceable(4) %71, i1 noundef zeroext true)
          to label %553 unwind label %582

553:                                              ; preds = %550
  %554 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %555 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %554) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %552, ptr noundef %555, ptr noundef nonnull @.str.28, i32 noundef 565, ptr noundef nonnull @.str.77)
          to label %556 unwind label %582

556:                                              ; preds = %553
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %71) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %70) #6
  br label %.preheader191

.preheader191:                                    ; preds = %556, %584
  %indvars.iv239 = phi i64 [ 0, %556 ], [ %indvars.iv.next240, %584 ]
  %557 = trunc nuw nsw i64 %indvars.iv239 to i32
  %558 = trunc nuw nsw i64 %indvars.iv239 to i32
  br label %585

559:                                              ; preds = %584
  call void @_ZN5Eigen6TensorIfLi4ELi1ElED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %62) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %62) #6
  call void @_ZN5Eigen6TensorIfLi4ELi0ElED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %52) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %52) #6
  call void @_ZN5Eigen6TensorIfLi4ELi1ElED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %40) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %40) #6
  call void @_ZN5Eigen6TensorIfLi4ELi0ElED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %30) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %30) #6
  call void @_ZN5Eigen6TensorIfLi4ELi1ElED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %20) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %20) #6
  call void @_ZN5Eigen6TensorIfLi4ELi0ElED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %10) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %10) #6
  call void @_ZN5Eigen6TensorIfLi3ELi1ElED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %2) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %2) #6
  call void @_ZN5Eigen6TensorIfLi3ELi0ElED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %1) #6
  ret void

560:                                              ; preds = %367
  %561 = landingpad { ptr, i32 }
          cleanup
  br label %707

562:                                              ; preds = %502, %501
  %563 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %53) #6
  br label %706

564:                                              ; preds = %507, %504
  %565 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %55) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %54) #6
  br label %706

566:                                              ; preds = %513, %510
  %567 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %57) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %56) #6
  br label %706

568:                                              ; preds = %519, %516
  %569 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %59) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %58) #6
  br label %706

570:                                              ; preds = %525, %522
  %571 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %61) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %60) #6
  br label %706

572:                                              ; preds = %528
  %573 = landingpad { ptr, i32 }
          cleanup
  br label %705

574:                                              ; preds = %530, %529
  %575 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %63) #6
  br label %704

576:                                              ; preds = %535, %532
  %577 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %65) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %64) #6
  br label %704

578:                                              ; preds = %541, %538
  %579 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %67) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %66) #6
  br label %704

580:                                              ; preds = %547, %544
  %581 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %69) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %68) #6
  br label %704

582:                                              ; preds = %553, %550
  %583 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %71) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %70) #6
  br label %704

584:                                              ; preds = %595
  %indvars.iv.next240 = add nuw nsw i64 %indvars.iv239, 1
  %exitcond242.not = icmp eq i64 %indvars.iv.next240, 3
  br i1 %exitcond242.not, label %559, label %.preheader191, !llvm.loop !20

585:                                              ; preds = %.preheader191, %595
  %indvars.iv235 = phi i64 [ 0, %.preheader191 ], [ %indvars.iv.next236, %595 ]
  %586 = mul nuw nsw i64 %indvars.iv235, 3
  %587 = add nuw nsw i64 %586, %indvars.iv239
  %588 = trunc nuw nsw i64 %587 to i32
  %589 = trunc nuw nsw i64 %indvars.iv235 to i32
  %590 = trunc nuw nsw i64 %indvars.iv235 to i32
  br label %.preheader190

.preheader190:                                    ; preds = %585, %600
  %591 = phi i1 [ true, %585 ], [ false, %600 ]
  %indvars.iv232 = phi i64 [ 0, %585 ], [ 1, %600 ]
  %592 = add nuw nsw i64 %indvars.iv232, %indvars.iv239
  %593 = trunc nuw nsw i64 %indvars.iv232 to i32
  %594 = trunc nuw nsw i64 %indvars.iv232 to i32
  br label %.preheader

595:                                              ; preds = %600
  %indvars.iv.next236 = add nuw nsw i64 %indvars.iv235, 1
  %exitcond238.not = icmp eq i64 %indvars.iv.next236, 5
  br i1 %exitcond238.not, label %584, label %585, !llvm.loop !21

.preheader:                                       ; preds = %.preheader190, %601
  %596 = phi i1 [ true, %.preheader190 ], [ false, %601 ]
  %indvars.iv229 = phi i64 [ 0, %.preheader190 ], [ 1, %601 ]
  %597 = add nuw nsw i64 %indvars.iv229, %indvars.iv235
  %598 = trunc nuw nsw i64 %597 to i32
  %599 = trunc nuw nsw i64 %indvars.iv229 to i32
  br label %602

600:                                              ; preds = %601
  br i1 %591, label %.preheader190, label %595, !llvm.loop !22

601:                                              ; preds = %703
  br i1 %596, label %.preheader, label %600, !llvm.loop !23

602:                                              ; preds = %.preheader, %703
  %603 = phi i1 [ true, %.preheader ], [ false, %703 ]
  %indvars.iv226 = phi i64 [ 0, %.preheader ], [ 1, %703 ]
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %72) #6
  store float 0.000000e+00, ptr %72, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %73) #6
  store float 0.000000e+00, ptr %73, align 4, !tbaa !11
  %604 = call noundef i64 @_ZNK5Eigen6TensorIfLi3ELi0ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(32) %1, i64 noundef 1)
  %605 = icmp sgt i64 %604, %592
  br i1 %605, label %606, label %615

606:                                              ; preds = %602
  %607 = call noundef i64 @_ZNK5Eigen6TensorIfLi3ELi0ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(32) %1, i64 noundef 2)
  %608 = icmp sgt i64 %607, %597
  br i1 %608, label %609, label %615

609:                                              ; preds = %606
  %610 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen6TensorIfLi3ELi0ElEclIJiEEERfllDpT_(ptr noundef nonnull align 8 dereferenceable(32) %1, i64 noundef %indvars.iv226, i64 noundef %592, i32 noundef %598)
          to label %611 unwind label %613

611:                                              ; preds = %609
  %612 = load float, ptr %610, align 4, !tbaa !11
  store float %612, ptr %72, align 4, !tbaa !11
  br label %615

613:                                              ; preds = %700, %698, %695, %693, %691, %689, %687, %685, %683, %681, %679, %677, %675, %673, %671, %669, %662, %657, %648, %646, %644, %642, %639, %637, %635, %633, %631, %629, %627, %625, %623, %621, %615, %609
  %614 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %73) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %72) #6
  br label %704

615:                                              ; preds = %611, %606, %602
  %616 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen6TensorIfLi4ELi0ElEclIJiiEEERfllDpT_(ptr noundef nonnull align 8 dereferenceable(40) %52, i64 noundef %indvars.iv226, i64 noundef %indvars.iv232, i32 noundef %599, i32 noundef %588)
          to label %617 unwind label %613

617:                                              ; preds = %615
  %618 = load float, ptr %616, align 4, !tbaa !11
  %619 = load float, ptr %72, align 4, !tbaa !11
  %620 = fcmp une float %618, %619
  br i1 %620, label %621, label %644

621:                                              ; preds = %617
  %622 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.60)
          to label %623 unwind label %613

623:                                              ; preds = %621
  %624 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %622, i32 noundef %557)
          to label %625 unwind label %613

625:                                              ; preds = %623
  %626 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %624, ptr noundef nonnull @.str.61)
          to label %627 unwind label %613

627:                                              ; preds = %625
  %628 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %626, i32 noundef %589)
          to label %629 unwind label %613

629:                                              ; preds = %627
  %630 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %628, ptr noundef nonnull @.str.62)
          to label %631 unwind label %613

631:                                              ; preds = %629
  %632 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %630, i32 noundef %593)
          to label %633 unwind label %613

633:                                              ; preds = %631
  %634 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %632, ptr noundef nonnull @.str.63)
          to label %635 unwind label %613

635:                                              ; preds = %633
  %636 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %634, i32 noundef %599)
          to label %637 unwind label %613

637:                                              ; preds = %635
  %638 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %636, ptr noundef nonnull @.str.64)
          to label %639 unwind label %613

639:                                              ; preds = %637
  %640 = trunc nuw nsw i64 %indvars.iv226 to i32
  %641 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %638, i32 noundef %640)
          to label %642 unwind label %613

642:                                              ; preds = %639
  %643 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %641, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %644 unwind label %613

644:                                              ; preds = %642, %617
  %645 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen6TensorIfLi4ELi0ElEclIJiiEEERfllDpT_(ptr noundef nonnull align 8 dereferenceable(40) %52, i64 noundef %indvars.iv226, i64 noundef %indvars.iv232, i32 noundef %599, i32 noundef %588)
          to label %646 unwind label %613

646:                                              ; preds = %644
  %647 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIffEEbRKT_RKT0_b(ptr noundef nonnull align 4 dereferenceable(4) %645, ptr noundef nonnull align 4 dereferenceable(4) %72, i1 noundef zeroext true)
          to label %648 unwind label %613

648:                                              ; preds = %646
  %649 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %650 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %649) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %647, ptr noundef %650, ptr noundef nonnull @.str.28, i32 noundef 589, ptr noundef nonnull @.str.116)
          to label %651 unwind label %613

651:                                              ; preds = %648
  %652 = call noundef i64 @_ZNK5Eigen6TensorIfLi3ELi1ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(32) %2, i64 noundef 1)
  %653 = icmp sgt i64 %652, %592
  br i1 %653, label %654, label %662

654:                                              ; preds = %651
  %655 = call noundef i64 @_ZNK5Eigen6TensorIfLi3ELi1ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(32) %2, i64 noundef 0)
  %656 = icmp sgt i64 %655, %597
  br i1 %656, label %657, label %662

657:                                              ; preds = %654
  %658 = trunc nuw nsw i64 %indvars.iv226 to i32
  %659 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen6TensorIfLi3ELi1ElEclIJiEEERfllDpT_(ptr noundef nonnull align 8 dereferenceable(32) %2, i64 noundef %597, i64 noundef %592, i32 noundef %658)
          to label %660 unwind label %613

660:                                              ; preds = %657
  %661 = load float, ptr %659, align 4, !tbaa !11
  store float %661, ptr %73, align 4, !tbaa !11
  br label %662

662:                                              ; preds = %660, %654, %651
  %663 = trunc nuw nsw i64 %indvars.iv226 to i32
  %664 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen6TensorIfLi4ELi1ElEclIJiiEEERfllDpT_(ptr noundef nonnull align 8 dereferenceable(40) %62, i64 noundef %587, i64 noundef %indvars.iv229, i32 noundef %594, i32 noundef %663)
          to label %665 unwind label %613

665:                                              ; preds = %662
  %666 = load float, ptr %664, align 4, !tbaa !11
  %667 = load float, ptr %73, align 4, !tbaa !11
  %668 = fcmp une float %666, %667
  br i1 %668, label %669, label %691

669:                                              ; preds = %665
  %670 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.60)
          to label %671 unwind label %613

671:                                              ; preds = %669
  %672 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %670, i32 noundef %558)
          to label %673 unwind label %613

673:                                              ; preds = %671
  %674 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %672, ptr noundef nonnull @.str.61)
          to label %675 unwind label %613

675:                                              ; preds = %673
  %676 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %674, i32 noundef %590)
          to label %677 unwind label %613

677:                                              ; preds = %675
  %678 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %676, ptr noundef nonnull @.str.62)
          to label %679 unwind label %613

679:                                              ; preds = %677
  %680 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %678, i32 noundef %594)
          to label %681 unwind label %613

681:                                              ; preds = %679
  %682 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %680, ptr noundef nonnull @.str.63)
          to label %683 unwind label %613

683:                                              ; preds = %681
  %684 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %682, i32 noundef %599)
          to label %685 unwind label %613

685:                                              ; preds = %683
  %686 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %684, ptr noundef nonnull @.str.64)
          to label %687 unwind label %613

687:                                              ; preds = %685
  %688 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %686, i32 noundef %663)
          to label %689 unwind label %613

689:                                              ; preds = %687
  %690 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %688, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %691 unwind label %613

691:                                              ; preds = %689, %665
  %692 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen6TensorIfLi4ELi1ElEclIJiiEEERfllDpT_(ptr noundef nonnull align 8 dereferenceable(40) %62, i64 noundef %587, i64 noundef %indvars.iv229, i32 noundef %594, i32 noundef %663)
          to label %693 unwind label %613

693:                                              ; preds = %691
  %694 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIffEEbRKT_RKT0_b(ptr noundef nonnull align 4 dereferenceable(4) %692, ptr noundef nonnull align 4 dereferenceable(4) %73, i1 noundef zeroext true)
          to label %695 unwind label %613

695:                                              ; preds = %693
  %696 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %697 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %696) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %694, ptr noundef %697, ptr noundef nonnull @.str.28, i32 noundef 597, ptr noundef nonnull @.str.117)
          to label %698 unwind label %613

698:                                              ; preds = %695
  %699 = invoke noundef zeroext i1 @_ZN5Eigen13test_is_equalIffEEbRKT_RKT0_b(ptr noundef nonnull align 4 dereferenceable(4) %72, ptr noundef nonnull align 4 dereferenceable(4) %73, i1 noundef zeroext true)
          to label %700 unwind label %613

700:                                              ; preds = %698
  %701 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) @_ZN5EigenL12g_test_stackB5cxx11E) #6
  %702 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %701) #6
  invoke void @_Z11verify_implbPKcS0_iS0_(i1 noundef zeroext %699, ptr noundef %702, ptr noundef nonnull @.str.28, i32 noundef 599, ptr noundef nonnull @.str.68)
          to label %703 unwind label %613

703:                                              ; preds = %700
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %73) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %72) #6
  br i1 %603, label %602, label %601, !llvm.loop !24

704:                                              ; preds = %613, %582, %580, %578, %576, %574
  %.pn = phi { ptr, i32 } [ %614, %613 ], [ %583, %582 ], [ %581, %580 ], [ %579, %578 ], [ %577, %576 ], [ %575, %574 ]
  call void @_ZN5Eigen6TensorIfLi4ELi1ElED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %62) #6
  br label %705

705:                                              ; preds = %704, %572
  %.pn.pn = phi { ptr, i32 } [ %.pn, %704 ], [ %573, %572 ]
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %62) #6
  br label %706

706:                                              ; preds = %705, %570, %568, %566, %564, %562
  %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %705 ], [ %571, %570 ], [ %569, %568 ], [ %567, %566 ], [ %565, %564 ], [ %563, %562 ]
  call void @_ZN5Eigen6TensorIfLi4ELi0ElED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %52) #6
  br label %707

707:                                              ; preds = %706, %560
  %.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn, %706 ], [ %561, %560 ]
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %52) #6
  br label %708

708:                                              ; preds = %707, %421, %390, %388, %386, %384, %382
  %.pn176 = phi { ptr, i32 } [ %422, %421 ], [ %.pn.pn.pn.pn, %707 ], [ %391, %390 ], [ %389, %388 ], [ %387, %386 ], [ %385, %384 ], [ %383, %382 ]
  call void @_ZN5Eigen6TensorIfLi4ELi1ElED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %40) #6
  br label %709

709:                                              ; preds = %708, %380
  %.pn176.pn = phi { ptr, i32 } [ %.pn176, %708 ], [ %381, %380 ]
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %40) #6
  br label %710

710:                                              ; preds = %709, %378, %376, %374, %372, %370
  %.pn176.pn.pn = phi { ptr, i32 } [ %.pn176.pn, %709 ], [ %379, %378 ], [ %377, %376 ], [ %375, %374 ], [ %373, %372 ], [ %371, %370 ]
  call void @_ZN5Eigen6TensorIfLi4ELi0ElED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %30) #6
  br label %711

711:                                              ; preds = %710, %368
  %.pn176.pn.pn.pn = phi { ptr, i32 } [ %.pn176.pn.pn, %710 ], [ %369, %368 ]
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %30) #6
  br label %712

712:                                              ; preds = %711, %195, %193, %191, %189, %187, %185
  %.pn181 = phi { ptr, i32 } [ %196, %195 ], [ %.pn176.pn.pn.pn, %711 ], [ %194, %193 ], [ %192, %191 ], [ %190, %189 ], [ %188, %187 ], [ %186, %185 ]
  call void @_ZN5Eigen6TensorIfLi4ELi1ElED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %20) #6
  br label %713

713:                                              ; preds = %712, %183
  %.pn181.pn = phi { ptr, i32 } [ %.pn181, %712 ], [ %184, %183 ]
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %20) #6
  br label %714

714:                                              ; preds = %713, %181, %179, %177, %175, %173
  %.pn181.pn.pn = phi { ptr, i32 } [ %.pn181.pn, %713 ], [ %182, %181 ], [ %180, %179 ], [ %178, %177 ], [ %176, %175 ], [ %174, %173 ]
  call void @_ZN5Eigen6TensorIfLi4ELi0ElED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %10) #6
  br label %715

715:                                              ; preds = %714, %171
  %.pn181.pn.pn.pn = phi { ptr, i32 } [ %.pn181.pn.pn, %714 ], [ %172, %171 ]
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %10) #6
  br label %716

716:                                              ; preds = %715, %169, %167, %165
  %.pn181.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn181.pn.pn.pn, %715 ], [ %170, %169 ], [ %168, %167 ], [ %166, %165 ]
  call void @_ZN5Eigen6TensorIfLi3ELi1ElED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %2) #6
  br label %717

717:                                              ; preds = %716, %163
  %.pn181.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn181.pn.pn.pn.pn, %716 ], [ %164, %163 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %2) #6
  br label %718

718:                                              ; preds = %717, %161
  %.pn181.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn181.pn.pn.pn.pn.pn, %717 ], [ %162, %161 ]
  call void @_ZN5Eigen6TensorIfLi3ELi0ElED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %1) #6
  resume { ptr, i32 } %.pn181.pn.pn.pn.pn.pn.pn
}

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(32) ptr @_ZN5Eigen10TensorBaseINS_6TensorIfLi3ELi0ElEELi1EE9setRandomEv(ptr noundef nonnull align 1 dereferenceable(1)) local_unnamed_addr #1 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local ptr @_ZN5Eigen10TensorBaseINS_6TensorIfLi3ELi0ElEELi1EE11swap_layoutEv(ptr noundef nonnull align 1 dereferenceable(1)) local_unnamed_addr #1 align 2

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZNK5Eigen6TensorIfLi3ELi0ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(32), i64 noundef) local_unnamed_addr #5 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZNK5Eigen6TensorIfLi3ELi1ElE9dimensionEm(ptr noundef nonnull align 8 dereferenceable(32), i64 noundef) local_unnamed_addr #5 align 2

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZNK5Eigen10TensorBaseINS_6TensorIfLi3ELi0ElEELi0EE21extract_image_patchesEllllllNS_11PaddingTypeEf(ptr dead_on_unwind noalias writable sret(%"class.Eigen::TensorImagePatchOp.43") align 8, ptr noundef nonnull align 1 dereferenceable(1), i64 noundef, i64 noundef, i64 noundef, i64 noundef, i64 noundef, i64 noundef, i32 noundef, float noundef) local_unnamed_addr #1 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(40) ptr @_ZN5Eigen6TensorIfLi4ELi0ElEaSINS_18TensorImagePatchOpILln1ELln1EKNS0_IfLi3ELi0ElEEEEEERS1_RKT_(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef nonnull align 8 dereferenceable(120)) local_unnamed_addr #1 align 2

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZNK5Eigen10TensorBaseINS_6TensorIfLi3ELi1ElEELi0EE21extract_image_patchesEllllllNS_11PaddingTypeEf(ptr dead_on_unwind noalias writable sret(%"class.Eigen::TensorImagePatchOp.45") align 8, ptr noundef nonnull align 1 dereferenceable(1), i64 noundef, i64 noundef, i64 noundef, i64 noundef, i64 noundef, i64 noundef, i32 noundef, float noundef) local_unnamed_addr #1 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(40) ptr @_ZN5Eigen6TensorIfLi4ELi1ElEaSINS_18TensorImagePatchOpILln1ELln1EKNS0_IfLi3ELi1ElEEEEEERS1_RKT_(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef nonnull align 8 dereferenceable(120)) local_unnamed_addr #1 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef i64 @_ZNK5Eigen6TensorIfLi3ELi0ElE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #1 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef ptr @_ZN5Eigen6TensorIfLi3ELi0ElE4dataEv(ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #1 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef ptr @_ZN5Eigen6TensorIfLi3ELi1ElE4dataEv(ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #1 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen6TensorIfLi3ELi0ElEclIJiEEERfllDpT_(ptr noundef nonnull align 8 dereferenceable(32), i64 noundef, i64 noundef, i32 noundef) local_unnamed_addr #1 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 4 dereferenceable(4) ptr @_ZN5Eigen6TensorIfLi3ELi1ElEclIJiEEERfllDpT_(ptr noundef nonnull align 8 dereferenceable(32), i64 noundef, i64 noundef, i32 noundef) local_unnamed_addr #1 align 2

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

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

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"long", !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, !12, i64 0}
!12 = !{!"float", !7, i64 0}
!13 = distinct !{!13, !14}
!14 = !{!"llvm.loop.mustprogress"}
!15 = distinct !{!15, !14}
!16 = distinct !{!16, !14}
!17 = distinct !{!17, !14}
!18 = distinct !{!18, !14}
!19 = distinct !{!19, !14}
!20 = distinct !{!20, !14}
!21 = distinct !{!21, !14}
!22 = distinct !{!22, !14}
!23 = distinct !{!23, !14}
!24 = distinct !{!24, !14}


; Effective O3 passes: ADCEPass,CorrelatedValuePropagationPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferFunctionAttrsPass,InstCombinePass,LICMPass,LoopRotatePass,LoopSimplifyPass,ReassociatePass,SROAPass,SimplifyCFGPass