; LLVM IR from romerojosh/zefr :: src/tets.ll (ZN4Tets22setup_ppt_connectivityEv)

; 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.0" = type { %"struct.std::_Vector_base.1" }
%"struct.std::_Vector_base.1" = type { %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int>>::_Vector_impl" }
%"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int>>::_Vector_impl" = type { %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int>>::_Vector_impl_data" }
%"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::initializer_list" = type { ptr, i64 }
%"class.std::allocator.2" = type { i8 }
%class.Elements = type { ptr, ptr, ptr, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, [4 x i8], %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %"class.std::vector.0", %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector.5, %class.mdvector.5, %class.mdvector.5, %class.mdvector.5, %class.mdvector.5, %"class.std::vector", %"class.std::vector", %"class.std::vector", %"class.std::vector", %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, i32, %"class.std::vector", %"class.std::vector", %"class.std::vector", %"class.std::vector", %"class.std::vector", %"class.std::vector", %"class.std::vector", %"class.std::vector.7", %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, i64, i64, i64, i64, i64, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdview, %class.mdview, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, i32, [4 x i8], %class.mdvector, %class.mdvector, i32, ptr, %"class.std::vector.7", %class.mdvector.5, %class.mdvector, %class.mdvector, %class.mdvector }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl" }
%"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl" = type { %"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl_data" }
%"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%class.mdview = type { %class.mdvector.12, %class.mdvector.5, i32, [4 x i8] }
%class.mdvector.12 = type <{ i32, [4 x i8], i64, i64, %"struct.std::array", %"struct.std::array", %"class.std::vector.13", ptr, i8, [7 x i8] }>
%"struct.std::array" = type { [6 x i32] }
%"class.std::vector.13" = type { %"struct.std::_Vector_base.14" }
%"struct.std::_Vector_base.14" = type { %"struct.std::_Vector_base<double *, std::allocator<double *>>::_Vector_impl" }
%"struct.std::_Vector_base<double *, std::allocator<double *>>::_Vector_impl" = type { %"struct.std::_Vector_base<double *, std::allocator<double *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<double *, std::allocator<double *>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.7" = type { %"struct.std::_Vector_base.8" }
%"struct.std::_Vector_base.8" = type { %"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl" }
%"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl" = type { %"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl_data" }
%"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%class.mdvector.5 = type <{ i32, [4 x i8], i64, i64, %"struct.std::array", %"struct.std::array", %"class.std::vector.0", ptr, i8, [7 x i8] }>
%class.mdvector = type <{ i32, [4 x i8], i64, i64, %"struct.std::array", %"struct.std::array", %"class.std::vector", ptr, i8, [7 x i8] }>

declare i32 @__gxx_personality_v0(...)

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

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

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

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

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN4Tets22setup_ppt_connectivityEv(ptr noundef nonnull align 8 dereferenceable(14304) %0) unnamed_addr #2 align 2 personality ptr @__gxx_personality_v0 {
  %2 = alloca ptr, align 8
  %3 = alloca i32, align 4
  %4 = alloca %"class.std::vector.0", align 8
  %5 = alloca %"class.std::initializer_list", align 8
  %6 = alloca [2 x i32], align 4
  %7 = alloca %"class.std::allocator.2", align 1
  %8 = alloca ptr, align 8
  %9 = alloca i32, align 4
  %10 = alloca %"class.std::vector.0", align 8
  %11 = alloca %"class.std::allocator.2", align 1
  %12 = alloca i32, align 4
  %13 = alloca i32, align 4
  %14 = alloca i32, align 4
  %15 = alloca i32, align 4
  %16 = alloca i32, align 4
  %17 = alloca i32, align 4
  %18 = alloca i32, align 4
  %19 = alloca i32, align 4
  %20 = alloca i32, align 4
  %21 = alloca i32, align 4
  %22 = alloca i32, align 4
  %23 = alloca i32, align 4
  store ptr %0, ptr %2, align 8, !tbaa !5
  %24 = load ptr, ptr %2, align 8
  call void @llvm.lifetime.start.p0(i64 4, ptr %3) #3
  %25 = getelementptr inbounds %class.Elements, ptr %24, i32 0, i32 5
  %26 = load i32, ptr %25, align 8, !tbaa !9
  store i32 %26, ptr %3, align 4, !tbaa !36
  %27 = load i32, ptr %3, align 4, !tbaa !36
  %28 = load i32, ptr %3, align 4, !tbaa !36
  %29 = add nsw i32 %28, 1
  %30 = mul nsw i32 %27, %29
  %31 = load i32, ptr %3, align 4, !tbaa !36
  %32 = add nsw i32 %31, 2
  %33 = mul nsw i32 %30, %32
  %34 = sdiv i32 %33, 6
  %35 = load i32, ptr %3, align 4, !tbaa !36
  %36 = sub nsw i32 %35, 1
  %37 = mul nsw i32 4, %36
  %38 = load i32, ptr %3, align 4, !tbaa !36
  %39 = mul nsw i32 %37, %38
  %40 = load i32, ptr %3, align 4, !tbaa !36
  %41 = add nsw i32 %40, 1
  %42 = mul nsw i32 %39, %41
  %43 = sdiv i32 %42, 6
  %44 = add nsw i32 %34, %43
  %45 = load i32, ptr %3, align 4, !tbaa !36
  %46 = sub nsw i32 %45, 2
  %47 = load i32, ptr %3, align 4, !tbaa !36
  %48 = sub nsw i32 %47, 1
  %49 = mul nsw i32 %46, %48
  %50 = load i32, ptr %3, align 4, !tbaa !36
  %51 = mul nsw i32 %49, %50
  %52 = sdiv i32 %51, 6
  %53 = add nsw i32 %44, %52
  %54 = getelementptr inbounds %class.Elements, ptr %24, i32 0, i32 20
  store i32 %53, ptr %54, align 4, !tbaa !37
  %55 = getelementptr inbounds %class.Elements, ptr %24, i32 0, i32 21
  store i32 4, ptr %55, align 8, !tbaa !38
  %56 = getelementptr inbounds %class.Elements, ptr %24, i32 0, i32 161
  call void @llvm.lifetime.start.p0(i64 8, ptr %6) #3
  store i32 4, ptr %6, align 4, !tbaa !36
  %57 = getelementptr inbounds i32, ptr %6, i64 1
  %58 = getelementptr inbounds %class.Elements, ptr %24, i32 0, i32 20
  %59 = load i32, ptr %58, align 4, !tbaa !37
  store i32 %59, ptr %57, align 4, !tbaa !36
  %60 = getelementptr inbounds %"class.std::initializer_list", ptr %5, i32 0, i32 0
  store ptr %6, ptr %60, align 8, !tbaa !39
  %61 = getelementptr inbounds %"class.std::initializer_list", ptr %5, i32 0, i32 1
  store i64 2, ptr %61, align 8, !tbaa !41
  call void @llvm.lifetime.start.p0(i64 1, ptr %7) #3
  call void @_ZNSaIjEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %7) #3
  %62 = getelementptr inbounds { ptr, i64 }, ptr %5, i32 0, i32 0
  %63 = load ptr, ptr %62, align 8
  %64 = getelementptr inbounds { ptr, i64 }, ptr %5, i32 0, i32 1
  %65 = load i64, ptr %64, align 8
  invoke void @_ZNSt6vectorIjSaIjEEC2ESt16initializer_listIjERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %4, ptr %63, i64 %65, ptr noundef nonnull align 1 dereferenceable(1) %7)
          to label %66 unwind label %83

66:                                               ; preds = %1
  invoke void @_ZN8mdvectorIjE6assignESt6vectorIjSaIjEEjb(ptr noundef nonnull align 8 dereferenceable(105) %56, ptr noundef %4, i32 noundef 0, i1 noundef zeroext false)
          to label %67 unwind label %87

67:                                               ; preds = %66
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %4) #3
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %7) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr %7) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %6) #3
  call void @llvm.lifetime.start.p0(i64 24, ptr %10) #3
  call void @llvm.lifetime.start.p0(i64 1, ptr %11) #3
  call void @_ZNSaIjEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %11) #3
  invoke void @_ZNSt6vectorIjSaIjEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef 6, ptr noundef nonnull align 1 dereferenceable(1) %11)
          to label %68 unwind label %92

68:                                               ; preds = %67
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %11) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr %11) #3
  call void @llvm.lifetime.start.p0(i64 4, ptr %12) #3
  %69 = load i32, ptr %3, align 4, !tbaa !36
  %70 = add nsw i32 %69, 1
  %71 = load i32, ptr %3, align 4, !tbaa !36
  %72 = add nsw i32 %71, 2
  %73 = mul nsw i32 %70, %72
  %74 = load i32, ptr %3, align 4, !tbaa !36
  %75 = add nsw i32 %74, 3
  %76 = mul nsw i32 %73, %75
  %77 = sdiv i32 %76, 6
  store i32 %77, ptr %12, align 4, !tbaa !36
  call void @llvm.lifetime.start.p0(i64 4, ptr %13) #3
  store i32 0, ptr %13, align 4, !tbaa !36
  call void @llvm.lifetime.start.p0(i64 4, ptr %14) #3
  store i32 0, ptr %14, align 4, !tbaa !36
  br label %78

78:                                               ; preds = %291, %68
  %79 = load i32, ptr %14, align 4, !tbaa !36
  %80 = load i32, ptr %3, align 4, !tbaa !36
  %81 = icmp slt i32 %79, %80
  br i1 %81, label %96, label %82

82:                                               ; preds = %78
  store i32 2, ptr %15, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #3
  br label %294

83:                                               ; preds = %1
  %84 = landingpad { ptr, i32 }
          cleanup
  %85 = extractvalue { ptr, i32 } %84, 0
  store ptr %85, ptr %8, align 8
  %86 = extractvalue { ptr, i32 } %84, 1
  store i32 %86, ptr %9, align 4
  br label %91

87:                                               ; preds = %66
  %88 = landingpad { ptr, i32 }
          cleanup
  %89 = extractvalue { ptr, i32 } %88, 0
  store ptr %89, ptr %8, align 8
  %90 = extractvalue { ptr, i32 } %88, 1
  store i32 %90, ptr %9, align 4
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %4) #3
  br label %91

91:                                               ; preds = %87, %83
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %7) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr %7) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %6) #3
  br label %885

92:                                               ; preds = %67
  %93 = landingpad { ptr, i32 }
          cleanup
  %94 = extractvalue { ptr, i32 } %93, 0
  store ptr %94, ptr %8, align 8
  %95 = extractvalue { ptr, i32 } %93, 1
  store i32 %95, ptr %9, align 4
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %11) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr %11) #3
  br label %884

96:                                               ; preds = %78
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #3
  store i32 0, ptr %16, align 4, !tbaa !36
  br label %97

97:                                               ; preds = %287, %96
  %98 = load i32, ptr %16, align 4, !tbaa !36
  %99 = load i32, ptr %3, align 4, !tbaa !36
  %100 = load i32, ptr %14, align 4, !tbaa !36
  %101 = sub nsw i32 %99, %100
  %102 = icmp slt i32 %98, %101
  br i1 %102, label %104, label %103

103:                                              ; preds = %97
  store i32 5, ptr %15, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #3
  br label %290

104:                                              ; preds = %97
  call void @llvm.lifetime.start.p0(i64 4, ptr %17) #3
  store i32 0, ptr %17, align 4, !tbaa !36
  br label %105

105:                                              ; preds = %279, %104
  %106 = load i32, ptr %17, align 4, !tbaa !36
  %107 = load i32, ptr %3, align 4, !tbaa !36
  %108 = load i32, ptr %14, align 4, !tbaa !36
  %109 = sub nsw i32 %107, %108
  %110 = load i32, ptr %16, align 4, !tbaa !36
  %111 = sub nsw i32 %109, %110
  %112 = icmp slt i32 %106, %111
  br i1 %112, label %114, label %113

113:                                              ; preds = %105
  store i32 8, ptr %15, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #3
  br label %286

114:                                              ; preds = %105
  %115 = load i32, ptr %12, align 4, !tbaa !36
  %116 = load i32, ptr %3, align 4, !tbaa !36
  %117 = add nsw i32 %116, 1
  %118 = load i32, ptr %14, align 4, !tbaa !36
  %119 = sub nsw i32 %117, %118
  %120 = load i32, ptr %3, align 4, !tbaa !36
  %121 = add nsw i32 %120, 2
  %122 = load i32, ptr %14, align 4, !tbaa !36
  %123 = sub nsw i32 %121, %122
  %124 = mul nsw i32 %119, %123
  %125 = load i32, ptr %3, align 4, !tbaa !36
  %126 = add nsw i32 %125, 3
  %127 = load i32, ptr %14, align 4, !tbaa !36
  %128 = sub nsw i32 %126, %127
  %129 = mul nsw i32 %124, %128
  %130 = sdiv i32 %129, 6
  %131 = sub nsw i32 %115, %130
  %132 = load i32, ptr %16, align 4, !tbaa !36
  %133 = load i32, ptr %3, align 4, !tbaa !36
  %134 = add nsw i32 %133, 1
  %135 = load i32, ptr %14, align 4, !tbaa !36
  %136 = sub nsw i32 %134, %135
  %137 = mul nsw i32 %132, %136
  %138 = add nsw i32 %131, %137
  %139 = load i32, ptr %16, align 4, !tbaa !36
  %140 = sub nsw i32 %139, 1
  %141 = load i32, ptr %16, align 4, !tbaa !36
  %142 = mul nsw i32 %140, %141
  %143 = sdiv i32 %142, 2
  %144 = sub nsw i32 %138, %143
  %145 = load i32, ptr %17, align 4, !tbaa !36
  %146 = add nsw i32 %144, %145
  %147 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef 0) #3
  store i32 %146, ptr %147, align 4, !tbaa !36
  %148 = load i32, ptr %12, align 4, !tbaa !36
  %149 = load i32, ptr %3, align 4, !tbaa !36
  %150 = add nsw i32 %149, 1
  %151 = load i32, ptr %14, align 4, !tbaa !36
  %152 = sub nsw i32 %150, %151
  %153 = load i32, ptr %3, align 4, !tbaa !36
  %154 = add nsw i32 %153, 2
  %155 = load i32, ptr %14, align 4, !tbaa !36
  %156 = sub nsw i32 %154, %155
  %157 = mul nsw i32 %152, %156
  %158 = load i32, ptr %3, align 4, !tbaa !36
  %159 = add nsw i32 %158, 3
  %160 = load i32, ptr %14, align 4, !tbaa !36
  %161 = sub nsw i32 %159, %160
  %162 = mul nsw i32 %157, %161
  %163 = sdiv i32 %162, 6
  %164 = sub nsw i32 %148, %163
  %165 = load i32, ptr %16, align 4, !tbaa !36
  %166 = load i32, ptr %3, align 4, !tbaa !36
  %167 = add nsw i32 %166, 1
  %168 = load i32, ptr %14, align 4, !tbaa !36
  %169 = sub nsw i32 %167, %168
  %170 = mul nsw i32 %165, %169
  %171 = add nsw i32 %164, %170
  %172 = load i32, ptr %16, align 4, !tbaa !36
  %173 = sub nsw i32 %172, 1
  %174 = load i32, ptr %16, align 4, !tbaa !36
  %175 = mul nsw i32 %173, %174
  %176 = sdiv i32 %175, 2
  %177 = sub nsw i32 %171, %176
  %178 = load i32, ptr %17, align 4, !tbaa !36
  %179 = add nsw i32 %177, %178
  %180 = add nsw i32 %179, 1
  %181 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef 1) #3
  store i32 %180, ptr %181, align 4, !tbaa !36
  %182 = load i32, ptr %12, align 4, !tbaa !36
  %183 = load i32, ptr %3, align 4, !tbaa !36
  %184 = add nsw i32 %183, 1
  %185 = load i32, ptr %14, align 4, !tbaa !36
  %186 = sub nsw i32 %184, %185
  %187 = load i32, ptr %3, align 4, !tbaa !36
  %188 = add nsw i32 %187, 2
  %189 = load i32, ptr %14, align 4, !tbaa !36
  %190 = sub nsw i32 %188, %189
  %191 = mul nsw i32 %186, %190
  %192 = load i32, ptr %3, align 4, !tbaa !36
  %193 = add nsw i32 %192, 3
  %194 = load i32, ptr %14, align 4, !tbaa !36
  %195 = sub nsw i32 %193, %194
  %196 = mul nsw i32 %191, %195
  %197 = sdiv i32 %196, 6
  %198 = sub nsw i32 %182, %197
  %199 = load i32, ptr %16, align 4, !tbaa !36
  %200 = add nsw i32 %199, 1
  %201 = load i32, ptr %3, align 4, !tbaa !36
  %202 = add nsw i32 %201, 1
  %203 = load i32, ptr %14, align 4, !tbaa !36
  %204 = sub nsw i32 %202, %203
  %205 = mul nsw i32 %200, %204
  %206 = add nsw i32 %198, %205
  %207 = load i32, ptr %16, align 4, !tbaa !36
  %208 = load i32, ptr %16, align 4, !tbaa !36
  %209 = add nsw i32 %208, 1
  %210 = mul nsw i32 %207, %209
  %211 = sdiv i32 %210, 2
  %212 = sub nsw i32 %206, %211
  %213 = load i32, ptr %17, align 4, !tbaa !36
  %214 = add nsw i32 %212, %213
  %215 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef 2) #3
  store i32 %214, ptr %215, align 4, !tbaa !36
  %216 = load i32, ptr %12, align 4, !tbaa !36
  %217 = load i32, ptr %3, align 4, !tbaa !36
  %218 = add nsw i32 %217, 1
  %219 = load i32, ptr %14, align 4, !tbaa !36
  %220 = add nsw i32 %219, 1
  %221 = sub nsw i32 %218, %220
  %222 = load i32, ptr %3, align 4, !tbaa !36
  %223 = add nsw i32 %222, 2
  %224 = load i32, ptr %14, align 4, !tbaa !36
  %225 = add nsw i32 %224, 1
  %226 = sub nsw i32 %223, %225
  %227 = mul nsw i32 %221, %226
  %228 = load i32, ptr %3, align 4, !tbaa !36
  %229 = add nsw i32 %228, 3
  %230 = load i32, ptr %14, align 4, !tbaa !36
  %231 = add nsw i32 %230, 1
  %232 = sub nsw i32 %229, %231
  %233 = mul nsw i32 %227, %232
  %234 = sdiv i32 %233, 6
  %235 = sub nsw i32 %216, %234
  %236 = load i32, ptr %16, align 4, !tbaa !36
  %237 = load i32, ptr %3, align 4, !tbaa !36
  %238 = add nsw i32 %237, 1
  %239 = load i32, ptr %14, align 4, !tbaa !36
  %240 = add nsw i32 %239, 1
  %241 = sub nsw i32 %238, %240
  %242 = mul nsw i32 %236, %241
  %243 = add nsw i32 %235, %242
  %244 = load i32, ptr %16, align 4, !tbaa !36
  %245 = sub nsw i32 %244, 1
  %246 = load i32, ptr %16, align 4, !tbaa !36
  %247 = mul nsw i32 %245, %246
  %248 = sdiv i32 %247, 2
  %249 = sub nsw i32 %243, %248
  %250 = load i32, ptr %17, align 4, !tbaa !36
  %251 = add nsw i32 %249, %250
  %252 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef 3) #3
  store i32 %251, ptr %252, align 4, !tbaa !36
  %253 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef 0) #3
  %254 = load i32, ptr %253, align 4, !tbaa !36
  %255 = getelementptr inbounds %class.Elements, ptr %24, i32 0, i32 161
  %256 = load i32, ptr %13, align 4, !tbaa !36
  %257 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN8mdvectorIjEclEjj(ptr noundef nonnull align 8 dereferenceable(105) %255, i32 noundef 0, i32 noundef %256)
          to label %258 unwind label %282

258:                                              ; preds = %114
  store i32 %254, ptr %257, align 4, !tbaa !36
  %259 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef 1) #3
  %260 = load i32, ptr %259, align 4, !tbaa !36
  %261 = getelementptr inbounds %class.Elements, ptr %24, i32 0, i32 161
  %262 = load i32, ptr %13, align 4, !tbaa !36
  %263 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN8mdvectorIjEclEjj(ptr noundef nonnull align 8 dereferenceable(105) %261, i32 noundef 1, i32 noundef %262)
          to label %264 unwind label %282

264:                                              ; preds = %258
  store i32 %260, ptr %263, align 4, !tbaa !36
  %265 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef 2) #3
  %266 = load i32, ptr %265, align 4, !tbaa !36
  %267 = getelementptr inbounds %class.Elements, ptr %24, i32 0, i32 161
  %268 = load i32, ptr %13, align 4, !tbaa !36
  %269 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN8mdvectorIjEclEjj(ptr noundef nonnull align 8 dereferenceable(105) %267, i32 noundef 2, i32 noundef %268)
          to label %270 unwind label %282

270:                                              ; preds = %264
  store i32 %266, ptr %269, align 4, !tbaa !36
  %271 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef 3) #3
  %272 = load i32, ptr %271, align 4, !tbaa !36
  %273 = getelementptr inbounds %class.Elements, ptr %24, i32 0, i32 161
  %274 = load i32, ptr %13, align 4, !tbaa !36
  %275 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN8mdvectorIjEclEjj(ptr noundef nonnull align 8 dereferenceable(105) %273, i32 noundef 3, i32 noundef %274)
          to label %276 unwind label %282

276:                                              ; preds = %270
  store i32 %272, ptr %275, align 4, !tbaa !36
  %277 = load i32, ptr %13, align 4, !tbaa !36
  %278 = add nsw i32 %277, 1
  store i32 %278, ptr %13, align 4, !tbaa !36
  br label %279

279:                                              ; preds = %276
  %280 = load i32, ptr %17, align 4, !tbaa !36
  %281 = add nsw i32 %280, 1
  store i32 %281, ptr %17, align 4, !tbaa !36
  br label %105, !llvm.loop !42

282:                                              ; preds = %270, %264, %258, %114
  %283 = landingpad { ptr, i32 }
          cleanup
  %284 = extractvalue { ptr, i32 } %283, 0
  store ptr %284, ptr %8, align 8
  %285 = extractvalue { ptr, i32 } %283, 1
  store i32 %285, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #3
  br label %883

286:                                              ; preds = %113
  br label %287

287:                                              ; preds = %286
  %288 = load i32, ptr %16, align 4, !tbaa !36
  %289 = add nsw i32 %288, 1
  store i32 %289, ptr %16, align 4, !tbaa !36
  br label %97, !llvm.loop !44

290:                                              ; preds = %103
  br label %291

291:                                              ; preds = %290
  %292 = load i32, ptr %14, align 4, !tbaa !36
  %293 = add nsw i32 %292, 1
  store i32 %293, ptr %14, align 4, !tbaa !36
  br label %78, !llvm.loop !45

294:                                              ; preds = %82
  call void @llvm.lifetime.start.p0(i64 4, ptr %18) #3
  store i32 0, ptr %18, align 4, !tbaa !36
  br label %295

295:                                              ; preds = %660, %294
  %296 = load i32, ptr %18, align 4, !tbaa !36
  %297 = load i32, ptr %3, align 4, !tbaa !36
  %298 = sub nsw i32 %297, 1
  %299 = icmp slt i32 %296, %298
  br i1 %299, label %301, label %300

300:                                              ; preds = %295
  store i32 11, ptr %15, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #3
  br label %663

301:                                              ; preds = %295
  call void @llvm.lifetime.start.p0(i64 4, ptr %19) #3
  store i32 0, ptr %19, align 4, !tbaa !36
  br label %302

302:                                              ; preds = %656, %301
  %303 = load i32, ptr %19, align 4, !tbaa !36
  %304 = load i32, ptr %3, align 4, !tbaa !36
  %305 = sub nsw i32 %304, 1
  %306 = load i32, ptr %18, align 4, !tbaa !36
  %307 = sub nsw i32 %305, %306
  %308 = icmp slt i32 %303, %307
  br i1 %308, label %310, label %309

309:                                              ; preds = %302
  store i32 14, ptr %15, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #3
  br label %659

310:                                              ; preds = %302
  call void @llvm.lifetime.start.p0(i64 4, ptr %20) #3
  store i32 0, ptr %20, align 4, !tbaa !36
  br label %311

311:                                              ; preds = %648, %310
  %312 = load i32, ptr %20, align 4, !tbaa !36
  %313 = load i32, ptr %3, align 4, !tbaa !36
  %314 = sub nsw i32 %313, 1
  %315 = load i32, ptr %18, align 4, !tbaa !36
  %316 = sub nsw i32 %314, %315
  %317 = load i32, ptr %19, align 4, !tbaa !36
  %318 = sub nsw i32 %316, %317
  %319 = icmp slt i32 %312, %318
  br i1 %319, label %321, label %320

320:                                              ; preds = %311
  store i32 17, ptr %15, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #3
  br label %655

321:                                              ; preds = %311
  %322 = load i32, ptr %12, align 4, !tbaa !36
  %323 = load i32, ptr %3, align 4, !tbaa !36
  %324 = add nsw i32 %323, 1
  %325 = load i32, ptr %18, align 4, !tbaa !36
  %326 = sub nsw i32 %324, %325
  %327 = load i32, ptr %3, align 4, !tbaa !36
  %328 = add nsw i32 %327, 2
  %329 = load i32, ptr %18, align 4, !tbaa !36
  %330 = sub nsw i32 %328, %329
  %331 = mul nsw i32 %326, %330
  %332 = load i32, ptr %3, align 4, !tbaa !36
  %333 = add nsw i32 %332, 3
  %334 = load i32, ptr %18, align 4, !tbaa !36
  %335 = sub nsw i32 %333, %334
  %336 = mul nsw i32 %331, %335
  %337 = sdiv i32 %336, 6
  %338 = sub nsw i32 %322, %337
  %339 = load i32, ptr %19, align 4, !tbaa !36
  %340 = load i32, ptr %3, align 4, !tbaa !36
  %341 = add nsw i32 %340, 1
  %342 = load i32, ptr %18, align 4, !tbaa !36
  %343 = sub nsw i32 %341, %342
  %344 = mul nsw i32 %339, %343
  %345 = add nsw i32 %338, %344
  %346 = load i32, ptr %19, align 4, !tbaa !36
  %347 = sub nsw i32 %346, 1
  %348 = load i32, ptr %19, align 4, !tbaa !36
  %349 = mul nsw i32 %347, %348
  %350 = sdiv i32 %349, 2
  %351 = sub nsw i32 %345, %350
  %352 = load i32, ptr %20, align 4, !tbaa !36
  %353 = add nsw i32 %351, %352
  %354 = add nsw i32 %353, 1
  %355 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef 0) #3
  store i32 %354, ptr %355, align 4, !tbaa !36
  %356 = load i32, ptr %12, align 4, !tbaa !36
  %357 = load i32, ptr %3, align 4, !tbaa !36
  %358 = add nsw i32 %357, 1
  %359 = load i32, ptr %18, align 4, !tbaa !36
  %360 = sub nsw i32 %358, %359
  %361 = load i32, ptr %3, align 4, !tbaa !36
  %362 = add nsw i32 %361, 2
  %363 = load i32, ptr %18, align 4, !tbaa !36
  %364 = sub nsw i32 %362, %363
  %365 = mul nsw i32 %360, %364
  %366 = load i32, ptr %3, align 4, !tbaa !36
  %367 = add nsw i32 %366, 3
  %368 = load i32, ptr %18, align 4, !tbaa !36
  %369 = sub nsw i32 %367, %368
  %370 = mul nsw i32 %365, %369
  %371 = sdiv i32 %370, 6
  %372 = sub nsw i32 %356, %371
  %373 = load i32, ptr %19, align 4, !tbaa !36
  %374 = add nsw i32 %373, 1
  %375 = load i32, ptr %3, align 4, !tbaa !36
  %376 = add nsw i32 %375, 1
  %377 = load i32, ptr %18, align 4, !tbaa !36
  %378 = sub nsw i32 %376, %377
  %379 = mul nsw i32 %374, %378
  %380 = add nsw i32 %372, %379
  %381 = load i32, ptr %19, align 4, !tbaa !36
  %382 = load i32, ptr %19, align 4, !tbaa !36
  %383 = add nsw i32 %382, 1
  %384 = mul nsw i32 %381, %383
  %385 = sdiv i32 %384, 2
  %386 = sub nsw i32 %380, %385
  %387 = load i32, ptr %20, align 4, !tbaa !36
  %388 = add nsw i32 %386, %387
  %389 = add nsw i32 %388, 1
  %390 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef 1) #3
  store i32 %389, ptr %390, align 4, !tbaa !36
  %391 = load i32, ptr %12, align 4, !tbaa !36
  %392 = load i32, ptr %3, align 4, !tbaa !36
  %393 = add nsw i32 %392, 1
  %394 = load i32, ptr %18, align 4, !tbaa !36
  %395 = add nsw i32 %394, 1
  %396 = sub nsw i32 %393, %395
  %397 = load i32, ptr %3, align 4, !tbaa !36
  %398 = add nsw i32 %397, 2
  %399 = load i32, ptr %18, align 4, !tbaa !36
  %400 = add nsw i32 %399, 1
  %401 = sub nsw i32 %398, %400
  %402 = mul nsw i32 %396, %401
  %403 = load i32, ptr %3, align 4, !tbaa !36
  %404 = add nsw i32 %403, 3
  %405 = load i32, ptr %18, align 4, !tbaa !36
  %406 = add nsw i32 %405, 1
  %407 = sub nsw i32 %404, %406
  %408 = mul nsw i32 %402, %407
  %409 = sdiv i32 %408, 6
  %410 = sub nsw i32 %391, %409
  %411 = load i32, ptr %19, align 4, !tbaa !36
  %412 = load i32, ptr %3, align 4, !tbaa !36
  %413 = add nsw i32 %412, 1
  %414 = load i32, ptr %18, align 4, !tbaa !36
  %415 = add nsw i32 %414, 1
  %416 = sub nsw i32 %413, %415
  %417 = mul nsw i32 %411, %416
  %418 = add nsw i32 %410, %417
  %419 = load i32, ptr %19, align 4, !tbaa !36
  %420 = sub nsw i32 %419, 1
  %421 = load i32, ptr %19, align 4, !tbaa !36
  %422 = mul nsw i32 %420, %421
  %423 = sdiv i32 %422, 2
  %424 = sub nsw i32 %418, %423
  %425 = load i32, ptr %20, align 4, !tbaa !36
  %426 = add nsw i32 %424, %425
  %427 = add nsw i32 %426, 1
  %428 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef 2) #3
  store i32 %427, ptr %428, align 4, !tbaa !36
  %429 = load i32, ptr %12, align 4, !tbaa !36
  %430 = load i32, ptr %3, align 4, !tbaa !36
  %431 = add nsw i32 %430, 1
  %432 = load i32, ptr %18, align 4, !tbaa !36
  %433 = add nsw i32 %432, 1
  %434 = sub nsw i32 %431, %433
  %435 = load i32, ptr %3, align 4, !tbaa !36
  %436 = add nsw i32 %435, 2
  %437 = load i32, ptr %18, align 4, !tbaa !36
  %438 = add nsw i32 %437, 1
  %439 = sub nsw i32 %436, %438
  %440 = mul nsw i32 %434, %439
  %441 = load i32, ptr %3, align 4, !tbaa !36
  %442 = add nsw i32 %441, 3
  %443 = load i32, ptr %18, align 4, !tbaa !36
  %444 = add nsw i32 %443, 1
  %445 = sub nsw i32 %442, %444
  %446 = mul nsw i32 %440, %445
  %447 = sdiv i32 %446, 6
  %448 = sub nsw i32 %429, %447
  %449 = load i32, ptr %19, align 4, !tbaa !36
  %450 = add nsw i32 %449, 1
  %451 = load i32, ptr %3, align 4, !tbaa !36
  %452 = add nsw i32 %451, 1
  %453 = load i32, ptr %18, align 4, !tbaa !36
  %454 = add nsw i32 %453, 1
  %455 = sub nsw i32 %452, %454
  %456 = mul nsw i32 %450, %455
  %457 = add nsw i32 %448, %456
  %458 = load i32, ptr %19, align 4, !tbaa !36
  %459 = load i32, ptr %19, align 4, !tbaa !36
  %460 = add nsw i32 %459, 1
  %461 = mul nsw i32 %458, %460
  %462 = sdiv i32 %461, 2
  %463 = sub nsw i32 %457, %462
  %464 = load i32, ptr %20, align 4, !tbaa !36
  %465 = sub nsw i32 %464, 1
  %466 = add nsw i32 %463, %465
  %467 = add nsw i32 %466, 1
  %468 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef 3) #3
  store i32 %467, ptr %468, align 4, !tbaa !36
  %469 = load i32, ptr %12, align 4, !tbaa !36
  %470 = load i32, ptr %3, align 4, !tbaa !36
  %471 = add nsw i32 %470, 1
  %472 = load i32, ptr %18, align 4, !tbaa !36
  %473 = add nsw i32 %472, 1
  %474 = sub nsw i32 %471, %473
  %475 = load i32, ptr %3, align 4, !tbaa !36
  %476 = add nsw i32 %475, 2
  %477 = load i32, ptr %18, align 4, !tbaa !36
  %478 = add nsw i32 %477, 1
  %479 = sub nsw i32 %476, %478
  %480 = mul nsw i32 %474, %479
  %481 = load i32, ptr %3, align 4, !tbaa !36
  %482 = add nsw i32 %481, 3
  %483 = load i32, ptr %18, align 4, !tbaa !36
  %484 = add nsw i32 %483, 1
  %485 = sub nsw i32 %482, %484
  %486 = mul nsw i32 %480, %485
  %487 = sdiv i32 %486, 6
  %488 = sub nsw i32 %469, %487
  %489 = load i32, ptr %19, align 4, !tbaa !36
  %490 = load i32, ptr %3, align 4, !tbaa !36
  %491 = add nsw i32 %490, 1
  %492 = load i32, ptr %18, align 4, !tbaa !36
  %493 = add nsw i32 %492, 1
  %494 = sub nsw i32 %491, %493
  %495 = mul nsw i32 %489, %494
  %496 = add nsw i32 %488, %495
  %497 = load i32, ptr %19, align 4, !tbaa !36
  %498 = sub nsw i32 %497, 1
  %499 = load i32, ptr %19, align 4, !tbaa !36
  %500 = mul nsw i32 %498, %499
  %501 = sdiv i32 %500, 2
  %502 = sub nsw i32 %496, %501
  %503 = load i32, ptr %20, align 4, !tbaa !36
  %504 = sub nsw i32 %503, 1
  %505 = add nsw i32 %502, %504
  %506 = add nsw i32 %505, 1
  %507 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef 4) #3
  store i32 %506, ptr %507, align 4, !tbaa !36
  %508 = load i32, ptr %12, align 4, !tbaa !36
  %509 = load i32, ptr %3, align 4, !tbaa !36
  %510 = add nsw i32 %509, 1
  %511 = load i32, ptr %18, align 4, !tbaa !36
  %512 = sub nsw i32 %510, %511
  %513 = load i32, ptr %3, align 4, !tbaa !36
  %514 = add nsw i32 %513, 2
  %515 = load i32, ptr %18, align 4, !tbaa !36
  %516 = sub nsw i32 %514, %515
  %517 = mul nsw i32 %512, %516
  %518 = load i32, ptr %3, align 4, !tbaa !36
  %519 = add nsw i32 %518, 3
  %520 = load i32, ptr %18, align 4, !tbaa !36
  %521 = sub nsw i32 %519, %520
  %522 = mul nsw i32 %517, %521
  %523 = sdiv i32 %522, 6
  %524 = sub nsw i32 %508, %523
  %525 = load i32, ptr %19, align 4, !tbaa !36
  %526 = add nsw i32 %525, 1
  %527 = load i32, ptr %3, align 4, !tbaa !36
  %528 = add nsw i32 %527, 1
  %529 = load i32, ptr %18, align 4, !tbaa !36
  %530 = sub nsw i32 %528, %529
  %531 = mul nsw i32 %526, %530
  %532 = add nsw i32 %524, %531
  %533 = load i32, ptr %19, align 4, !tbaa !36
  %534 = load i32, ptr %19, align 4, !tbaa !36
  %535 = add nsw i32 %534, 1
  %536 = mul nsw i32 %533, %535
  %537 = sdiv i32 %536, 2
  %538 = sub nsw i32 %532, %537
  %539 = load i32, ptr %20, align 4, !tbaa !36
  %540 = sub nsw i32 %539, 1
  %541 = add nsw i32 %538, %540
  %542 = add nsw i32 %541, 1
  %543 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef 5) #3
  store i32 %542, ptr %543, align 4, !tbaa !36
  %544 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef 0) #3
  %545 = load i32, ptr %544, align 4, !tbaa !36
  %546 = getelementptr inbounds %class.Elements, ptr %24, i32 0, i32 161
  %547 = load i32, ptr %13, align 4, !tbaa !36
  %548 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN8mdvectorIjEclEjj(ptr noundef nonnull align 8 dereferenceable(105) %546, i32 noundef 0, i32 noundef %547)
          to label %549 unwind label %651

549:                                              ; preds = %321
  store i32 %545, ptr %548, align 4, !tbaa !36
  %550 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef 2) #3
  %551 = load i32, ptr %550, align 4, !tbaa !36
  %552 = getelementptr inbounds %class.Elements, ptr %24, i32 0, i32 161
  %553 = load i32, ptr %13, align 4, !tbaa !36
  %554 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN8mdvectorIjEclEjj(ptr noundef nonnull align 8 dereferenceable(105) %552, i32 noundef 1, i32 noundef %553)
          to label %555 unwind label %651

555:                                              ; preds = %549
  store i32 %551, ptr %554, align 4, !tbaa !36
  %556 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef 1) #3
  %557 = load i32, ptr %556, align 4, !tbaa !36
  %558 = getelementptr inbounds %class.Elements, ptr %24, i32 0, i32 161
  %559 = load i32, ptr %13, align 4, !tbaa !36
  %560 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN8mdvectorIjEclEjj(ptr noundef nonnull align 8 dereferenceable(105) %558, i32 noundef 2, i32 noundef %559)
          to label %561 unwind label %651

561:                                              ; preds = %555
  store i32 %557, ptr %560, align 4, !tbaa !36
  %562 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef 4) #3
  %563 = load i32, ptr %562, align 4, !tbaa !36
  %564 = getelementptr inbounds %class.Elements, ptr %24, i32 0, i32 161
  %565 = load i32, ptr %13, align 4, !tbaa !36
  %566 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN8mdvectorIjEclEjj(ptr noundef nonnull align 8 dereferenceable(105) %564, i32 noundef 3, i32 noundef %565)
          to label %567 unwind label %651

567:                                              ; preds = %561
  store i32 %563, ptr %566, align 4, !tbaa !36
  %568 = load i32, ptr %13, align 4, !tbaa !36
  %569 = add nsw i32 %568, 1
  store i32 %569, ptr %13, align 4, !tbaa !36
  %570 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef 2) #3
  %571 = load i32, ptr %570, align 4, !tbaa !36
  %572 = getelementptr inbounds %class.Elements, ptr %24, i32 0, i32 161
  %573 = load i32, ptr %13, align 4, !tbaa !36
  %574 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN8mdvectorIjEclEjj(ptr noundef nonnull align 8 dereferenceable(105) %572, i32 noundef 0, i32 noundef %573)
          to label %575 unwind label %651

575:                                              ; preds = %567
  store i32 %571, ptr %574, align 4, !tbaa !36
  %576 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef 3) #3
  %577 = load i32, ptr %576, align 4, !tbaa !36
  %578 = getelementptr inbounds %class.Elements, ptr %24, i32 0, i32 161
  %579 = load i32, ptr %13, align 4, !tbaa !36
  %580 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN8mdvectorIjEclEjj(ptr noundef nonnull align 8 dereferenceable(105) %578, i32 noundef 1, i32 noundef %579)
          to label %581 unwind label %651

581:                                              ; preds = %575
  store i32 %577, ptr %580, align 4, !tbaa !36
  %582 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef 1) #3
  %583 = load i32, ptr %582, align 4, !tbaa !36
  %584 = getelementptr inbounds %class.Elements, ptr %24, i32 0, i32 161
  %585 = load i32, ptr %13, align 4, !tbaa !36
  %586 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN8mdvectorIjEclEjj(ptr noundef nonnull align 8 dereferenceable(105) %584, i32 noundef 2, i32 noundef %585)
          to label %587 unwind label %651

587:                                              ; preds = %581
  store i32 %583, ptr %586, align 4, !tbaa !36
  %588 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef 4) #3
  %589 = load i32, ptr %588, align 4, !tbaa !36
  %590 = getelementptr inbounds %class.Elements, ptr %24, i32 0, i32 161
  %591 = load i32, ptr %13, align 4, !tbaa !36
  %592 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN8mdvectorIjEclEjj(ptr noundef nonnull align 8 dereferenceable(105) %590, i32 noundef 3, i32 noundef %591)
          to label %593 unwind label %651

593:                                              ; preds = %587
  store i32 %589, ptr %592, align 4, !tbaa !36
  %594 = load i32, ptr %13, align 4, !tbaa !36
  %595 = add nsw i32 %594, 1
  store i32 %595, ptr %13, align 4, !tbaa !36
  %596 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef 5) #3
  %597 = load i32, ptr %596, align 4, !tbaa !36
  %598 = getelementptr inbounds %class.Elements, ptr %24, i32 0, i32 161
  %599 = load i32, ptr %13, align 4, !tbaa !36
  %600 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN8mdvectorIjEclEjj(ptr noundef nonnull align 8 dereferenceable(105) %598, i32 noundef 0, i32 noundef %599)
          to label %601 unwind label %651

601:                                              ; preds = %593
  store i32 %597, ptr %600, align 4, !tbaa !36
  %602 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef 1) #3
  %603 = load i32, ptr %602, align 4, !tbaa !36
  %604 = getelementptr inbounds %class.Elements, ptr %24, i32 0, i32 161
  %605 = load i32, ptr %13, align 4, !tbaa !36
  %606 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN8mdvectorIjEclEjj(ptr noundef nonnull align 8 dereferenceable(105) %604, i32 noundef 1, i32 noundef %605)
          to label %607 unwind label %651

607:                                              ; preds = %601
  store i32 %603, ptr %606, align 4, !tbaa !36
  %608 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef 3) #3
  %609 = load i32, ptr %608, align 4, !tbaa !36
  %610 = getelementptr inbounds %class.Elements, ptr %24, i32 0, i32 161
  %611 = load i32, ptr %13, align 4, !tbaa !36
  %612 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN8mdvectorIjEclEjj(ptr noundef nonnull align 8 dereferenceable(105) %610, i32 noundef 2, i32 noundef %611)
          to label %613 unwind label %651

613:                                              ; preds = %607
  store i32 %609, ptr %612, align 4, !tbaa !36
  %614 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef 4) #3
  %615 = load i32, ptr %614, align 4, !tbaa !36
  %616 = getelementptr inbounds %class.Elements, ptr %24, i32 0, i32 161
  %617 = load i32, ptr %13, align 4, !tbaa !36
  %618 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN8mdvectorIjEclEjj(ptr noundef nonnull align 8 dereferenceable(105) %616, i32 noundef 3, i32 noundef %617)
          to label %619 unwind label %651

619:                                              ; preds = %613
  store i32 %615, ptr %618, align 4, !tbaa !36
  %620 = load i32, ptr %13, align 4, !tbaa !36
  %621 = add nsw i32 %620, 1
  store i32 %621, ptr %13, align 4, !tbaa !36
  %622 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef 0) #3
  %623 = load i32, ptr %622, align 4, !tbaa !36
  %624 = getelementptr inbounds %class.Elements, ptr %24, i32 0, i32 161
  %625 = load i32, ptr %13, align 4, !tbaa !36
  %626 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN8mdvectorIjEclEjj(ptr noundef nonnull align 8 dereferenceable(105) %624, i32 noundef 0, i32 noundef %625)
          to label %627 unwind label %651

627:                                              ; preds = %619
  store i32 %623, ptr %626, align 4, !tbaa !36
  %628 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef 4) #3
  %629 = load i32, ptr %628, align 4, !tbaa !36
  %630 = getelementptr inbounds %class.Elements, ptr %24, i32 0, i32 161
  %631 = load i32, ptr %13, align 4, !tbaa !36
  %632 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN8mdvectorIjEclEjj(ptr noundef nonnull align 8 dereferenceable(105) %630, i32 noundef 1, i32 noundef %631)
          to label %633 unwind label %651

633:                                              ; preds = %627
  store i32 %629, ptr %632, align 4, !tbaa !36
  %634 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef 1) #3
  %635 = load i32, ptr %634, align 4, !tbaa !36
  %636 = getelementptr inbounds %class.Elements, ptr %24, i32 0, i32 161
  %637 = load i32, ptr %13, align 4, !tbaa !36
  %638 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN8mdvectorIjEclEjj(ptr noundef nonnull align 8 dereferenceable(105) %636, i32 noundef 2, i32 noundef %637)
          to label %639 unwind label %651

639:                                              ; preds = %633
  store i32 %635, ptr %638, align 4, !tbaa !36
  %640 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef 5) #3
  %641 = load i32, ptr %640, align 4, !tbaa !36
  %642 = getelementptr inbounds %class.Elements, ptr %24, i32 0, i32 161
  %643 = load i32, ptr %13, align 4, !tbaa !36
  %644 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN8mdvectorIjEclEjj(ptr noundef nonnull align 8 dereferenceable(105) %642, i32 noundef 3, i32 noundef %643)
          to label %645 unwind label %651

645:                                              ; preds = %639
  store i32 %641, ptr %644, align 4, !tbaa !36
  %646 = load i32, ptr %13, align 4, !tbaa !36
  %647 = add nsw i32 %646, 1
  store i32 %647, ptr %13, align 4, !tbaa !36
  br label %648

648:                                              ; preds = %645
  %649 = load i32, ptr %20, align 4, !tbaa !36
  %650 = add nsw i32 %649, 1
  store i32 %650, ptr %20, align 4, !tbaa !36
  br label %311, !llvm.loop !46

651:                                              ; preds = %639, %633, %627, %619, %613, %607, %601, %593, %587, %581, %575, %567, %561, %555, %549, %321
  %652 = landingpad { ptr, i32 }
          cleanup
  %653 = extractvalue { ptr, i32 } %652, 0
  store ptr %653, ptr %8, align 8
  %654 = extractvalue { ptr, i32 } %652, 1
  store i32 %654, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #3
  br label %883

655:                                              ; preds = %320
  br label %656

656:                                              ; preds = %655
  %657 = load i32, ptr %19, align 4, !tbaa !36
  %658 = add nsw i32 %657, 1
  store i32 %658, ptr %19, align 4, !tbaa !36
  br label %302, !llvm.loop !47

659:                                              ; preds = %309
  br label %660

660:                                              ; preds = %659
  %661 = load i32, ptr %18, align 4, !tbaa !36
  %662 = add nsw i32 %661, 1
  store i32 %662, ptr %18, align 4, !tbaa !36
  br label %295, !llvm.loop !48

663:                                              ; preds = %300
  call void @llvm.lifetime.start.p0(i64 4, ptr %21) #3
  store i32 0, ptr %21, align 4, !tbaa !36
  br label %664

664:                                              ; preds = %879, %663
  %665 = load i32, ptr %21, align 4, !tbaa !36
  %666 = load i32, ptr %3, align 4, !tbaa !36
  %667 = sub nsw i32 %666, 2
  %668 = icmp slt i32 %665, %667
  br i1 %668, label %670, label %669

669:                                              ; preds = %664
  store i32 20, ptr %15, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #3
  br label %882

670:                                              ; preds = %664
  call void @llvm.lifetime.start.p0(i64 4, ptr %22) #3
  store i32 0, ptr %22, align 4, !tbaa !36
  br label %671

671:                                              ; preds = %875, %670
  %672 = load i32, ptr %22, align 4, !tbaa !36
  %673 = load i32, ptr %3, align 4, !tbaa !36
  %674 = sub nsw i32 %673, 2
  %675 = load i32, ptr %21, align 4, !tbaa !36
  %676 = sub nsw i32 %674, %675
  %677 = icmp slt i32 %672, %676
  br i1 %677, label %679, label %678

678:                                              ; preds = %671
  store i32 23, ptr %15, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #3
  br label %878

679:                                              ; preds = %671
  call void @llvm.lifetime.start.p0(i64 4, ptr %23) #3
  store i32 0, ptr %23, align 4, !tbaa !36
  br label %680

680:                                              ; preds = %867, %679
  %681 = load i32, ptr %23, align 4, !tbaa !36
  %682 = load i32, ptr %3, align 4, !tbaa !36
  %683 = sub nsw i32 %682, 2
  %684 = load i32, ptr %21, align 4, !tbaa !36
  %685 = sub nsw i32 %683, %684
  %686 = load i32, ptr %22, align 4, !tbaa !36
  %687 = sub nsw i32 %685, %686
  %688 = icmp slt i32 %681, %687
  br i1 %688, label %690, label %689

689:                                              ; preds = %680
  store i32 26, ptr %15, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #3
  br label %874

690:                                              ; preds = %680
  %691 = load i32, ptr %12, align 4, !tbaa !36
  %692 = load i32, ptr %3, align 4, !tbaa !36
  %693 = add nsw i32 %692, 1
  %694 = load i32, ptr %21, align 4, !tbaa !36
  %695 = sub nsw i32 %693, %694
  %696 = load i32, ptr %3, align 4, !tbaa !36
  %697 = add nsw i32 %696, 2
  %698 = load i32, ptr %21, align 4, !tbaa !36
  %699 = sub nsw i32 %697, %698
  %700 = mul nsw i32 %695, %699
  %701 = load i32, ptr %3, align 4, !tbaa !36
  %702 = add nsw i32 %701, 3
  %703 = load i32, ptr %21, align 4, !tbaa !36
  %704 = sub nsw i32 %702, %703
  %705 = mul nsw i32 %700, %704
  %706 = sdiv i32 %705, 6
  %707 = sub nsw i32 %691, %706
  %708 = load i32, ptr %22, align 4, !tbaa !36
  %709 = add nsw i32 %708, 1
  %710 = load i32, ptr %3, align 4, !tbaa !36
  %711 = add nsw i32 %710, 1
  %712 = load i32, ptr %21, align 4, !tbaa !36
  %713 = sub nsw i32 %711, %712
  %714 = mul nsw i32 %709, %713
  %715 = add nsw i32 %707, %714
  %716 = load i32, ptr %22, align 4, !tbaa !36
  %717 = load i32, ptr %22, align 4, !tbaa !36
  %718 = add nsw i32 %717, 1
  %719 = mul nsw i32 %716, %718
  %720 = sdiv i32 %719, 2
  %721 = sub nsw i32 %715, %720
  %722 = load i32, ptr %23, align 4, !tbaa !36
  %723 = add nsw i32 %721, %722
  %724 = add nsw i32 %723, 1
  %725 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef 0) #3
  store i32 %724, ptr %725, align 4, !tbaa !36
  %726 = load i32, ptr %12, align 4, !tbaa !36
  %727 = load i32, ptr %3, align 4, !tbaa !36
  %728 = add nsw i32 %727, 1
  %729 = load i32, ptr %21, align 4, !tbaa !36
  %730 = add nsw i32 %729, 1
  %731 = sub nsw i32 %728, %730
  %732 = load i32, ptr %3, align 4, !tbaa !36
  %733 = add nsw i32 %732, 2
  %734 = load i32, ptr %21, align 4, !tbaa !36
  %735 = add nsw i32 %734, 1
  %736 = sub nsw i32 %733, %735
  %737 = mul nsw i32 %731, %736
  %738 = load i32, ptr %3, align 4, !tbaa !36
  %739 = add nsw i32 %738, 3
  %740 = load i32, ptr %21, align 4, !tbaa !36
  %741 = add nsw i32 %740, 1
  %742 = sub nsw i32 %739, %741
  %743 = mul nsw i32 %737, %742
  %744 = sdiv i32 %743, 6
  %745 = sub nsw i32 %726, %744
  %746 = load i32, ptr %22, align 4, !tbaa !36
  %747 = load i32, ptr %3, align 4, !tbaa !36
  %748 = add nsw i32 %747, 1
  %749 = load i32, ptr %21, align 4, !tbaa !36
  %750 = add nsw i32 %749, 1
  %751 = sub nsw i32 %748, %750
  %752 = mul nsw i32 %746, %751
  %753 = add nsw i32 %745, %752
  %754 = load i32, ptr %22, align 4, !tbaa !36
  %755 = sub nsw i32 %754, 1
  %756 = load i32, ptr %22, align 4, !tbaa !36
  %757 = mul nsw i32 %755, %756
  %758 = sdiv i32 %757, 2
  %759 = sub nsw i32 %753, %758
  %760 = load i32, ptr %23, align 4, !tbaa !36
  %761 = add nsw i32 %759, %760
  %762 = add nsw i32 %761, 1
  %763 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef 1) #3
  store i32 %762, ptr %763, align 4, !tbaa !36
  %764 = load i32, ptr %12, align 4, !tbaa !36
  %765 = load i32, ptr %3, align 4, !tbaa !36
  %766 = add nsw i32 %765, 1
  %767 = load i32, ptr %21, align 4, !tbaa !36
  %768 = add nsw i32 %767, 1
  %769 = sub nsw i32 %766, %768
  %770 = load i32, ptr %3, align 4, !tbaa !36
  %771 = add nsw i32 %770, 2
  %772 = load i32, ptr %21, align 4, !tbaa !36
  %773 = add nsw i32 %772, 1
  %774 = sub nsw i32 %771, %773
  %775 = mul nsw i32 %769, %774
  %776 = load i32, ptr %3, align 4, !tbaa !36
  %777 = add nsw i32 %776, 3
  %778 = load i32, ptr %21, align 4, !tbaa !36
  %779 = add nsw i32 %778, 1
  %780 = sub nsw i32 %777, %779
  %781 = mul nsw i32 %775, %780
  %782 = sdiv i32 %781, 6
  %783 = sub nsw i32 %764, %782
  %784 = load i32, ptr %22, align 4, !tbaa !36
  %785 = add nsw i32 %784, 1
  %786 = load i32, ptr %3, align 4, !tbaa !36
  %787 = add nsw i32 %786, 1
  %788 = load i32, ptr %21, align 4, !tbaa !36
  %789 = add nsw i32 %788, 1
  %790 = sub nsw i32 %787, %789
  %791 = mul nsw i32 %785, %790
  %792 = add nsw i32 %783, %791
  %793 = load i32, ptr %22, align 4, !tbaa !36
  %794 = load i32, ptr %22, align 4, !tbaa !36
  %795 = add nsw i32 %794, 1
  %796 = mul nsw i32 %793, %795
  %797 = sdiv i32 %796, 2
  %798 = sub nsw i32 %792, %797
  %799 = load i32, ptr %23, align 4, !tbaa !36
  %800 = add nsw i32 %798, %799
  %801 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef 2) #3
  store i32 %800, ptr %801, align 4, !tbaa !36
  %802 = load i32, ptr %12, align 4, !tbaa !36
  %803 = load i32, ptr %3, align 4, !tbaa !36
  %804 = add nsw i32 %803, 1
  %805 = load i32, ptr %21, align 4, !tbaa !36
  %806 = add nsw i32 %805, 1
  %807 = sub nsw i32 %804, %806
  %808 = load i32, ptr %3, align 4, !tbaa !36
  %809 = add nsw i32 %808, 2
  %810 = load i32, ptr %21, align 4, !tbaa !36
  %811 = add nsw i32 %810, 1
  %812 = sub nsw i32 %809, %811
  %813 = mul nsw i32 %807, %812
  %814 = load i32, ptr %3, align 4, !tbaa !36
  %815 = add nsw i32 %814, 3
  %816 = load i32, ptr %21, align 4, !tbaa !36
  %817 = add nsw i32 %816, 1
  %818 = sub nsw i32 %815, %817
  %819 = mul nsw i32 %813, %818
  %820 = sdiv i32 %819, 6
  %821 = sub nsw i32 %802, %820
  %822 = load i32, ptr %22, align 4, !tbaa !36
  %823 = add nsw i32 %822, 1
  %824 = load i32, ptr %3, align 4, !tbaa !36
  %825 = add nsw i32 %824, 1
  %826 = load i32, ptr %21, align 4, !tbaa !36
  %827 = add nsw i32 %826, 1
  %828 = sub nsw i32 %825, %827
  %829 = mul nsw i32 %823, %828
  %830 = add nsw i32 %821, %829
  %831 = load i32, ptr %22, align 4, !tbaa !36
  %832 = load i32, ptr %22, align 4, !tbaa !36
  %833 = add nsw i32 %832, 1
  %834 = mul nsw i32 %831, %833
  %835 = sdiv i32 %834, 2
  %836 = sub nsw i32 %830, %835
  %837 = load i32, ptr %23, align 4, !tbaa !36
  %838 = add nsw i32 %836, %837
  %839 = add nsw i32 %838, 1
  %840 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef 3) #3
  store i32 %839, ptr %840, align 4, !tbaa !36
  %841 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef 0) #3
  %842 = load i32, ptr %841, align 4, !tbaa !36
  %843 = getelementptr inbounds %class.Elements, ptr %24, i32 0, i32 161
  %844 = load i32, ptr %13, align 4, !tbaa !36
  %845 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN8mdvectorIjEclEjj(ptr noundef nonnull align 8 dereferenceable(105) %843, i32 noundef 0, i32 noundef %844)
          to label %846 unwind label %870

846:                                              ; preds = %690
  store i32 %842, ptr %845, align 4, !tbaa !36
  %847 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef 1) #3
  %848 = load i32, ptr %847, align 4, !tbaa !36
  %849 = getelementptr inbounds %class.Elements, ptr %24, i32 0, i32 161
  %850 = load i32, ptr %13, align 4, !tbaa !36
  %851 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN8mdvectorIjEclEjj(ptr noundef nonnull align 8 dereferenceable(105) %849, i32 noundef 1, i32 noundef %850)
          to label %852 unwind label %870

852:                                              ; preds = %846
  store i32 %848, ptr %851, align 4, !tbaa !36
  %853 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef 2) #3
  %854 = load i32, ptr %853, align 4, !tbaa !36
  %855 = getelementptr inbounds %class.Elements, ptr %24, i32 0, i32 161
  %856 = load i32, ptr %13, align 4, !tbaa !36
  %857 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN8mdvectorIjEclEjj(ptr noundef nonnull align 8 dereferenceable(105) %855, i32 noundef 2, i32 noundef %856)
          to label %858 unwind label %870

858:                                              ; preds = %852
  store i32 %854, ptr %857, align 4, !tbaa !36
  %859 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef 3) #3
  %860 = load i32, ptr %859, align 4, !tbaa !36
  %861 = getelementptr inbounds %class.Elements, ptr %24, i32 0, i32 161
  %862 = load i32, ptr %13, align 4, !tbaa !36
  %863 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN8mdvectorIjEclEjj(ptr noundef nonnull align 8 dereferenceable(105) %861, i32 noundef 3, i32 noundef %862)
          to label %864 unwind label %870

864:                                              ; preds = %858
  store i32 %860, ptr %863, align 4, !tbaa !36
  %865 = load i32, ptr %13, align 4, !tbaa !36
  %866 = add nsw i32 %865, 1
  store i32 %866, ptr %13, align 4, !tbaa !36
  br label %867

867:                                              ; preds = %864
  %868 = load i32, ptr %23, align 4, !tbaa !36
  %869 = add nsw i32 %868, 1
  store i32 %869, ptr %23, align 4, !tbaa !36
  br label %680, !llvm.loop !49

870:                                              ; preds = %858, %852, %846, %690
  %871 = landingpad { ptr, i32 }
          cleanup
  %872 = extractvalue { ptr, i32 } %871, 0
  store ptr %872, ptr %8, align 8
  %873 = extractvalue { ptr, i32 } %871, 1
  store i32 %873, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #3
  br label %883

874:                                              ; preds = %689
  br label %875

875:                                              ; preds = %874
  %876 = load i32, ptr %22, align 4, !tbaa !36
  %877 = add nsw i32 %876, 1
  store i32 %877, ptr %22, align 4, !tbaa !36
  br label %671, !llvm.loop !50

878:                                              ; preds = %678
  br label %879

879:                                              ; preds = %878
  %880 = load i32, ptr %21, align 4, !tbaa !36
  %881 = add nsw i32 %880, 1
  store i32 %881, ptr %21, align 4, !tbaa !36
  br label %664, !llvm.loop !51

882:                                              ; preds = %669
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #3
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #3
  call void @llvm.lifetime.end.p0(i64 24, ptr %10) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %3) #3
  ret void

883:                                              ; preds = %870, %651, %282
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #3
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #3
  br label %884

884:                                              ; preds = %883, %92
  call void @llvm.lifetime.end.p0(i64 24, ptr %10) #3
  br label %885

885:                                              ; preds = %884, %91
  call void @llvm.lifetime.end.p0(i64 4, ptr %3) #3
  br label %886

886:                                              ; preds = %885
  %887 = load ptr, ptr %8, align 8
  %888 = load i32, ptr %9, align 4
  %889 = insertvalue { ptr, i32 } poison, ptr %887, 0
  %890 = insertvalue { ptr, i32 } %889, i32 %888, 1
  resume { ptr, i32 } %890
}

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24), i64 noundef) #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 4 dereferenceable(4) ptr @_ZN8mdvectorIjEclEjj(ptr noundef nonnull align 8 dereferenceable(105), i32 noundef, i32 noundef) #1 align 2

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

attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { 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 #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 = { nounwind }

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !12, i64 32}
!10 = !{!"_ZTS8Elements", !6, i64 8, !6, i64 16, !11, i64 24, !12, i64 28, !12, i64 32, !12, i64 36, !12, i64 40, !12, i64 44, !12, i64 48, !12, i64 52, !12, i64 56, !12, i64 60, !12, i64 64, !12, i64 68, !12, i64 72, !12, i64 76, !12, i64 80, !12, i64 84, !12, i64 88, !12, i64 92, !12, i64 96, !13, i64 104, !13, i64 216, !13, i64 328, !13, i64 440, !21, i64 552, !13, i64 576, !13, i64 688, !13, i64 800, !13, i64 912, !13, i64 1024, !25, i64 1136, !25, i64 1248, !25, i64 1360, !25, i64 1472, !25, i64 1584, !16, i64 1696, !16, i64 1720, !16, i64 1744, !16, i64 1768, !13, i64 1792, !13, i64 1904, !13, i64 2016, !13, i64 2128, !13, i64 2240, !13, i64 2352, !13, i64 2464, !13, i64 2576, !13, i64 2688, !13, i64 2800, !13, i64 2912, !13, i64 3024, !13, i64 3136, !13, i64 3248, !13, i64 3360, !13, i64 3472, !13, i64 3584, !13, i64 3696, !13, i64 3808, !13, i64 3920, !13, i64 4032, !13, i64 4144, !13, i64 4256, !13, i64 4368, !13, i64 4480, !13, i64 4592, !13, i64 4704, !13, i64 4816, !13, i64 4928, !13, i64 5040, !13, i64 5152, !13, i64 5264, !13, i64 5376, !13, i64 5488, !13, i64 5600, !13, i64 5712, !13, i64 5824, !13, i64 5936, !12, i64 6048, !16, i64 6056, !16, i64 6080, !16, i64 6104, !16, i64 6128, !16, i64 6152, !16, i64 6176, !16, i64 6200, !26, i64 6224, !13, i64 6248, !13, i64 6360, !13, i64 6472, !13, i64 6584, !13, i64 6696, !13, i64 6808, !13, i64 6920, !13, i64 7032, !13, i64 7144, !14, i64 7256, !14, i64 7264, !14, i64 7272, !14, i64 7280, !14, i64 7288, !13, i64 7296, !13, i64 7408, !13, i64 7520, !13, i64 7632, !13, i64 7744, !13, i64 7856, !13, i64 7968, !13, i64 8080, !13, i64 8192, !13, i64 8304, !13, i64 8416, !13, i64 8528, !13, i64 8640, !13, i64 8752, !13, i64 8864, !13, i64 8976, !13, i64 9088, !13, i64 9200, !13, i64 9312, !13, i64 9424, !13, i64 9536, !13, i64 9648, !13, i64 9760, !13, i64 9872, !13, i64 9984, !13, i64 10096, !13, i64 10208, !13, i64 10320, !13, i64 10432, !13, i64 10544, !13, i64 10656, !13, i64 10768, !13, i64 10880, !13, i64 10992, !13, i64 11104, !13, i64 11216, !13, i64 11328, !13, i64 11440, !13, i64 11552, !13, i64 11664, !13, i64 11776, !13, i64 11888, !13, i64 12000, !30, i64 12112, !30, i64 12344, !13, i64 12576, !13, i64 12688, !13, i64 12800, !13, i64 12912, !13, i64 13024, !13, i64 13136, !12, i64 13248, !13, i64 13256, !13, i64 13368, !12, i64 13480, !6, i64 13488, !26, i64 13496, !25, i64 13520, !13, i64 13632, !13, i64 13744, !13, i64 13856}
!11 = !{!"_ZTS8ELE_TYPE", !7, i64 0}
!12 = !{!"int", !7, i64 0}
!13 = !{!"_ZTS8mdvectorIdE", !12, i64 0, !14, i64 8, !14, i64 16, !15, i64 24, !15, i64 48, !16, i64 72, !6, i64 96, !20, i64 104}
!14 = !{!"long", !7, i64 0}
!15 = !{!"_ZTSSt5arrayIjLm6EE", !7, i64 0}
!16 = !{!"_ZTSSt6vectorIdSaIdEE", !17, i64 0}
!17 = !{!"_ZTSSt12_Vector_baseIdSaIdEE", !18, i64 0}
!18 = !{!"_ZTSNSt12_Vector_baseIdSaIdEE12_Vector_implE", !19, i64 0}
!19 = !{!"_ZTSNSt12_Vector_baseIdSaIdEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!20 = !{!"bool", !7, i64 0}
!21 = !{!"_ZTSSt6vectorIjSaIjEE", !22, i64 0}
!22 = !{!"_ZTSSt12_Vector_baseIjSaIjEE", !23, i64 0}
!23 = !{!"_ZTSNSt12_Vector_baseIjSaIjEE12_Vector_implE", !24, i64 0}
!24 = !{!"_ZTSNSt12_Vector_baseIjSaIjEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!25 = !{!"_ZTS8mdvectorIjE", !12, i64 0, !14, i64 8, !14, i64 16, !15, i64 24, !15, i64 48, !21, i64 72, !6, i64 96, !20, i64 104}
!26 = !{!"_ZTSSt6vectorIiSaIiEE", !27, i64 0}
!27 = !{!"_ZTSSt12_Vector_baseIiSaIiEE", !28, i64 0}
!28 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE12_Vector_implE", !29, i64 0}
!29 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!30 = !{!"_ZTS6mdviewIdE", !31, i64 0, !25, i64 112, !12, i64 224}
!31 = !{!"_ZTS8mdvectorIPdE", !12, i64 0, !14, i64 8, !14, i64 16, !15, i64 24, !15, i64 48, !32, i64 72, !6, i64 96, !20, i64 104}
!32 = !{!"_ZTSSt6vectorIPdSaIS0_EE", !33, i64 0}
!33 = !{!"_ZTSSt12_Vector_baseIPdSaIS0_EE", !34, i64 0}
!34 = !{!"_ZTSNSt12_Vector_baseIPdSaIS0_EE12_Vector_implE", !35, i64 0}
!35 = !{!"_ZTSNSt12_Vector_baseIPdSaIS0_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!36 = !{!12, !12, i64 0}
!37 = !{!10, !12, i64 92}
!38 = !{!10, !12, i64 96}
!39 = !{!40, !6, i64 0}
!40 = !{!"_ZTSSt16initializer_listIjE", !6, i64 0, !14, i64 8}
!41 = !{!40, !14, i64 8}
!42 = distinct !{!42, !43}
!43 = !{!"llvm.loop.mustprogress"}
!44 = distinct !{!44, !43}
!45 = distinct !{!45, !43}
!46 = distinct !{!46, !43}
!47 = distinct !{!47, !43}
!48 = distinct !{!48, !43}
!49 = distinct !{!49, !43}
!50 = distinct !{!50, !43}
!51 = distinct !{!51, !43}


; 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.0" = type { %"struct.std::_Vector_base.1" }
%"struct.std::_Vector_base.1" = type { %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int>>::_Vector_impl" }
%"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int>>::_Vector_impl" = type { %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int>>::_Vector_impl_data" }
%"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::allocator.2" = type { i8 }

declare i32 @__gxx_personality_v0(...)

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

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

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

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

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN4Tets22setup_ppt_connectivityEv(ptr noundef nonnull align 8 dereferenceable(14304) %0) unnamed_addr #2 align 2 personality ptr @__gxx_personality_v0 {
  %2 = alloca %"class.std::vector.0", align 8
  %3 = alloca [2 x i32], align 4
  %4 = alloca %"class.std::allocator.2", align 1
  %5 = alloca %"class.std::vector.0", align 8
  %6 = alloca %"class.std::allocator.2", align 1
  %7 = getelementptr inbounds i8, ptr %0, i64 32
  %8 = load i32, ptr %7, align 8, !tbaa !5
  %9 = add nsw i32 %8, 1
  %10 = mul i32 %9, %8
  %11 = add nsw i32 %8, 2
  %12 = mul nsw i32 %10, %11
  %13 = sdiv i32 %12, 6
  %14 = add i32 %8, -1
  %15 = shl i32 %10, 2
  %16 = mul i32 %15, %14
  %17 = sdiv i32 %16, 6
  %18 = add i32 %8, -2
  %19 = mul i32 %14, %8
  %20 = mul i32 %19, %18
  %21 = sdiv i32 %20, 6
  %22 = add nsw i32 %21, %13
  %23 = add nsw i32 %22, %17
  %24 = getelementptr inbounds i8, ptr %0, i64 92
  store i32 %23, ptr %24, align 4, !tbaa !35
  %25 = getelementptr inbounds i8, ptr %0, i64 96
  store i32 4, ptr %25, align 8, !tbaa !36
  %26 = getelementptr inbounds i8, ptr %0, i64 13520
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3) #3
  store i32 4, ptr %3, align 4, !tbaa !37
  %27 = getelementptr inbounds i8, ptr %3, i64 4
  store i32 %23, ptr %27, align 4, !tbaa !37
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %4) #3
  call void @_ZNSaIjEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %4) #3
  invoke void @_ZNSt6vectorIjSaIjEEC2ESt16initializer_listIjERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %2, ptr nonnull %3, i64 2, ptr noundef nonnull align 1 dereferenceable(1) %4)
          to label %28 unwind label %50

28:                                               ; preds = %1
  invoke void @_ZN8mdvectorIjE6assignESt6vectorIjSaIjEEjb(ptr noundef nonnull align 8 dereferenceable(105) %26, ptr noundef nonnull %2, i32 noundef 0, i1 noundef zeroext false)
          to label %29 unwind label %52

29:                                               ; preds = %28
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %2) #3
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %4) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %4) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) #3
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %5) #3
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %6) #3
  call void @_ZNSaIjEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %6) #3
  invoke void @_ZNSt6vectorIjSaIjEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef 6, ptr noundef nonnull align 1 dereferenceable(1) %6)
          to label %30 unwind label %55

30:                                               ; preds = %29
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %6) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %6) #3
  %31 = mul nsw i32 %9, %11
  %32 = add nsw i32 %8, 3
  %33 = mul nsw i32 %31, %32
  %34 = sdiv i32 %33, 6
  %35 = icmp sgt i32 %8, 0
  br i1 %35, label %.preheader301, label %._crit_edge334

.preheader301:                                    ; preds = %30, %._crit_edge306
  %indvars.iv = phi i32 [ %indvars.iv.next, %._crit_edge306 ], [ %8, %30 ]
  %.0269309 = phi i32 [ %.pre-phi349, %._crit_edge306 ], [ 0, %30 ]
  %.0270308 = phi i32 [ %.1.lcssa, %._crit_edge306 ], [ 0, %30 ]
  %36 = sub nsw i32 %8, %.0269309
  %37 = icmp sgt i32 %36, 0
  br i1 %37, label %.preheader300.lr.ph, label %.preheader301.._crit_edge306_crit_edge

.preheader301.._crit_edge306_crit_edge:           ; preds = %.preheader301
  %.pre348 = add nuw nsw i32 %.0269309, 1
  br label %._crit_edge306

.preheader300.lr.ph:                              ; preds = %.preheader301
  %38 = sub nsw i32 %9, %.0269309
  %39 = sub nsw i32 %11, %.0269309
  %40 = mul nsw i32 %38, %39
  %41 = sub nsw i32 %32, %.0269309
  %42 = mul nsw i32 %40, %41
  %.neg288 = sdiv i32 %42, -6
  %43 = add nsw i32 %.neg288, %34
  %44 = add nuw nsw i32 %.0269309, 1
  %45 = sub nsw i32 %11, %44
  %46 = mul nsw i32 %45, %36
  %47 = sub nsw i32 %32, %44
  %48 = mul nsw i32 %46, %47
  %.neg289 = sdiv i32 %48, -6
  %49 = add nsw i32 %.neg289, %34
  br label %.preheader300

.preheader299:                                    ; preds = %._crit_edge306
  %.not = icmp eq i32 %8, 1
  br i1 %.not, label %._crit_edge334, label %.preheader298

50:                                               ; preds = %1
  %51 = landingpad { ptr, i32 }
          cleanup
  br label %54

52:                                               ; preds = %28
  %53 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %2) #3
  br label %54

54:                                               ; preds = %52, %50
  %.pn = phi { ptr, i32 } [ %53, %52 ], [ %51, %50 ]
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %4) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %4) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) #3
  br label %257

55:                                               ; preds = %29
  %56 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %6) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %6) #3
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5) #3
  br label %257

.preheader300:                                    ; preds = %.preheader300.lr.ph, %._crit_edge
  %.0268305 = phi i32 [ 0, %.preheader300.lr.ph ], [ %.pre-phi, %._crit_edge ]
  %.1304 = phi i32 [ %.0270308, %.preheader300.lr.ph ], [ %.2.lcssa, %._crit_edge ]
  %57 = sub nsw i32 %36, %.0268305
  %58 = icmp sgt i32 %57, 0
  br i1 %58, label %.lr.ph, label %.preheader300.._crit_edge_crit_edge

.preheader300.._crit_edge_crit_edge:              ; preds = %.preheader300
  %.pre = add nuw nsw i32 %.0268305, 1
  br label %._crit_edge

.lr.ph:                                           ; preds = %.preheader300
  %59 = mul nsw i32 %.0268305, %38
  %60 = add nsw i32 %59, %43
  %61 = add nsw i32 %.0268305, -1
  %62 = mul nsw i32 %61, %.0268305
  %.neg335 = sdiv i32 %62, -2
  %63 = add i32 %60, %.neg335
  %64 = add nuw nsw i32 %.0268305, 1
  %65 = mul nsw i32 %64, %38
  %66 = add nsw i32 %65, %43
  %67 = mul nuw nsw i32 %64, %.0268305
  %68 = lshr i32 %67, 1
  %69 = sub i32 %66, %68
  %70 = mul nuw nsw i32 %.0268305, %36
  %71 = add nsw i32 %49, %70
  %72 = add i32 %71, %.neg335
  br label %73

._crit_edge306:                                   ; preds = %._crit_edge, %.preheader301.._crit_edge306_crit_edge
  %.pre-phi349 = phi i32 [ %.pre348, %.preheader301.._crit_edge306_crit_edge ], [ %44, %._crit_edge ]
  %.1.lcssa = phi i32 [ %.0270308, %.preheader301.._crit_edge306_crit_edge ], [ %.2.lcssa, %._crit_edge ]
  %indvars.iv.next = add i32 %indvars.iv, -1
  %exitcond339.not = icmp eq i32 %.pre-phi349, %8
  br i1 %exitcond339.not, label %.preheader299, label %.preheader301, !llvm.loop !38

._crit_edge:                                      ; preds = %73, %.preheader300.._crit_edge_crit_edge
  %.pre-phi = phi i32 [ %.pre, %.preheader300.._crit_edge_crit_edge ], [ %64, %73 ]
  %.2.lcssa = phi i32 [ %.1304, %.preheader300.._crit_edge_crit_edge ], [ %94, %73 ]
  %exitcond.not = icmp eq i32 %.pre-phi, %indvars.iv
  br i1 %exitcond.not, label %._crit_edge306, label %.preheader300, !llvm.loop !40

73:                                               ; preds = %.lr.ph, %73
  %.0267303 = phi i32 [ 0, %.lr.ph ], [ %95, %73 ]
  %.2302 = phi i32 [ %.1304, %.lr.ph ], [ %94, %73 ]
  %74 = add nsw i32 %63, %.0267303
  %75 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef 0) #3
  store i32 %74, ptr %75, align 4, !tbaa !37
  %76 = add nsw i32 %74, 1
  %77 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef 1) #3
  store i32 %76, ptr %77, align 4, !tbaa !37
  %78 = add nsw i32 %69, %.0267303
  %79 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef 2) #3
  store i32 %78, ptr %79, align 4, !tbaa !37
  %80 = add nsw i32 %72, %.0267303
  %81 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef 3) #3
  store i32 %80, ptr %81, align 4, !tbaa !37
  %82 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef 0) #3
  %83 = load i32, ptr %82, align 4, !tbaa !37
  %84 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN8mdvectorIjEclEjj(ptr noundef nonnull align 8 dereferenceable(105) %26, i32 noundef 0, i32 noundef %.2302)
  store i32 %83, ptr %84, align 4, !tbaa !37
  %85 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef 1) #3
  %86 = load i32, ptr %85, align 4, !tbaa !37
  %87 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN8mdvectorIjEclEjj(ptr noundef nonnull align 8 dereferenceable(105) %26, i32 noundef 1, i32 noundef %.2302)
  store i32 %86, ptr %87, align 4, !tbaa !37
  %88 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef 2) #3
  %89 = load i32, ptr %88, align 4, !tbaa !37
  %90 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN8mdvectorIjEclEjj(ptr noundef nonnull align 8 dereferenceable(105) %26, i32 noundef 2, i32 noundef %.2302)
  store i32 %89, ptr %90, align 4, !tbaa !37
  %91 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef 3) #3
  %92 = load i32, ptr %91, align 4, !tbaa !37
  %93 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN8mdvectorIjEclEjj(ptr noundef nonnull align 8 dereferenceable(105) %26, i32 noundef 3, i32 noundef %.2302)
  store i32 %92, ptr %93, align 4, !tbaa !37
  %94 = add nsw i32 %.2302, 1
  %95 = add nuw nsw i32 %.0267303, 1
  %96 = icmp slt i32 %95, %57
  br i1 %96, label %73, label %._crit_edge, !llvm.loop !41

.preheader298:                                    ; preds = %.preheader299, %._crit_edge318
  %indvars.iv340 = phi i32 [ %indvars.iv.next341, %._crit_edge318 ], [ %14, %.preheader299 ]
  %.0266321 = phi i32 [ %.pre-phi353, %._crit_edge318 ], [ 0, %.preheader299 ]
  %.3320 = phi i32 [ %.4.lcssa, %._crit_edge318 ], [ %.1.lcssa, %.preheader299 ]
  %97 = sub nsw i32 %14, %.0266321
  %98 = icmp sgt i32 %97, 0
  br i1 %98, label %.preheader297.lr.ph, label %.preheader298.._crit_edge318_crit_edge

.preheader298.._crit_edge318_crit_edge:           ; preds = %.preheader298
  %.pre352 = add nuw nsw i32 %.0266321, 1
  br label %._crit_edge318

.preheader297.lr.ph:                              ; preds = %.preheader298
  %99 = sub nsw i32 %9, %.0266321
  %100 = sub nsw i32 %11, %.0266321
  %101 = mul nsw i32 %99, %100
  %102 = sub nsw i32 %32, %.0266321
  %103 = mul nsw i32 %101, %102
  %.neg286 = sdiv i32 %103, -6
  %104 = add nsw i32 %.neg286, %34
  %105 = add nsw i32 %104, 1
  %106 = add nuw nsw i32 %.0266321, 1
  %107 = sub nsw i32 %8, %.0266321
  %108 = sub nsw i32 %11, %106
  %109 = mul nsw i32 %108, %107
  %110 = sub nsw i32 %32, %106
  %111 = mul nsw i32 %109, %110
  %.neg287 = sdiv i32 %111, -6
  %112 = add nsw i32 %.neg287, %34
  br label %.preheader297

.preheader296:                                    ; preds = %._crit_edge318
  %113 = icmp sgt i32 %8, 2
  br i1 %113, label %.preheader295.lr.ph, label %._crit_edge334

.preheader295.lr.ph:                              ; preds = %.preheader296
  %114 = add nuw nsw i32 %34, 1
  br label %.preheader295

.preheader297:                                    ; preds = %.preheader297.lr.ph, %._crit_edge314
  %.0265317 = phi i32 [ 0, %.preheader297.lr.ph ], [ %.pre-phi351, %._crit_edge314 ]
  %.4316 = phi i32 [ %.3320, %.preheader297.lr.ph ], [ %.5.lcssa, %._crit_edge314 ]
  %115 = sub nsw i32 %97, %.0265317
  %116 = icmp sgt i32 %115, 0
  br i1 %116, label %.lr.ph313, label %.preheader297.._crit_edge314_crit_edge

.preheader297.._crit_edge314_crit_edge:           ; preds = %.preheader297
  %.pre350 = add nuw nsw i32 %.0265317, 1
  br label %._crit_edge314

.lr.ph313:                                        ; preds = %.preheader297
  %117 = mul nsw i32 %.0265317, %99
  %118 = add nsw i32 %.0265317, -1
  %119 = mul nsw i32 %118, %.0265317
  %.neg336 = sdiv i32 %119, -2
  %120 = add i32 %105, %117
  %121 = add i32 %120, %.neg336
  %122 = add nuw nsw i32 %.0265317, 1
  %123 = mul nsw i32 %122, %99
  %124 = add nsw i32 %123, %104
  %125 = mul nuw nsw i32 %122, %.0265317
  %126 = lshr i32 %125, 1
  %127 = sub i32 %124, %126
  %128 = mul nsw i32 %.0265317, %107
  %129 = add nsw i32 %128, %112
  %130 = add i32 %129, %.neg336
  %131 = mul nsw i32 %122, %107
  %132 = add nsw i32 %131, %112
  %133 = sub i32 %132, %126
  br label %134

._crit_edge318:                                   ; preds = %._crit_edge314, %.preheader298.._crit_edge318_crit_edge
  %.pre-phi353 = phi i32 [ %.pre352, %.preheader298.._crit_edge318_crit_edge ], [ %106, %._crit_edge314 ]
  %.4.lcssa = phi i32 [ %.3320, %.preheader298.._crit_edge318_crit_edge ], [ %.5.lcssa, %._crit_edge314 ]
  %indvars.iv.next341 = add i32 %indvars.iv340, -1
  %exitcond343.not = icmp eq i32 %.pre-phi353, %14
  br i1 %exitcond343.not, label %.preheader296, label %.preheader298, !llvm.loop !42

._crit_edge314:                                   ; preds = %134, %.preheader297.._crit_edge314_crit_edge
  %.pre-phi351 = phi i32 [ %.pre350, %.preheader297.._crit_edge314_crit_edge ], [ %122, %134 ]
  %.5.lcssa = phi i32 [ %.4316, %.preheader297.._crit_edge314_crit_edge ], [ %198, %134 ]
  %exitcond342.not = icmp eq i32 %.pre-phi351, %indvars.iv340
  br i1 %exitcond342.not, label %._crit_edge318, label %.preheader297, !llvm.loop !43

134:                                              ; preds = %.lr.ph313, %134
  %.0264312 = phi i32 [ 0, %.lr.ph313 ], [ %199, %134 ]
  %.5311 = phi i32 [ %.4316, %.lr.ph313 ], [ %198, %134 ]
  %135 = add i32 %121, %.0264312
  %136 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef 0) #3
  store i32 %135, ptr %136, align 4, !tbaa !37
  %137 = add i32 %127, %.0264312
  %138 = add nsw i32 %137, 1
  %139 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef 1) #3
  store i32 %138, ptr %139, align 4, !tbaa !37
  %140 = add i32 %130, %.0264312
  %141 = add nsw i32 %140, 1
  %142 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef 2) #3
  store i32 %141, ptr %142, align 4, !tbaa !37
  %143 = add i32 %133, %.0264312
  %144 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef 3) #3
  store i32 %143, ptr %144, align 4, !tbaa !37
  %145 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef 4) #3
  store i32 %140, ptr %145, align 4, !tbaa !37
  %146 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef 5) #3
  store i32 %137, ptr %146, align 4, !tbaa !37
  %147 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef 0) #3
  %148 = load i32, ptr %147, align 4, !tbaa !37
  %149 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN8mdvectorIjEclEjj(ptr noundef nonnull align 8 dereferenceable(105) %26, i32 noundef 0, i32 noundef %.5311)
  store i32 %148, ptr %149, align 4, !tbaa !37
  %150 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef 2) #3
  %151 = load i32, ptr %150, align 4, !tbaa !37
  %152 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN8mdvectorIjEclEjj(ptr noundef nonnull align 8 dereferenceable(105) %26, i32 noundef 1, i32 noundef %.5311)
  store i32 %151, ptr %152, align 4, !tbaa !37
  %153 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef 1) #3
  %154 = load i32, ptr %153, align 4, !tbaa !37
  %155 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN8mdvectorIjEclEjj(ptr noundef nonnull align 8 dereferenceable(105) %26, i32 noundef 2, i32 noundef %.5311)
  store i32 %154, ptr %155, align 4, !tbaa !37
  %156 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef 4) #3
  %157 = load i32, ptr %156, align 4, !tbaa !37
  %158 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN8mdvectorIjEclEjj(ptr noundef nonnull align 8 dereferenceable(105) %26, i32 noundef 3, i32 noundef %.5311)
  store i32 %157, ptr %158, align 4, !tbaa !37
  %159 = add nsw i32 %.5311, 1
  %160 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef 2) #3
  %161 = load i32, ptr %160, align 4, !tbaa !37
  %162 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN8mdvectorIjEclEjj(ptr noundef nonnull align 8 dereferenceable(105) %26, i32 noundef 0, i32 noundef %159)
  store i32 %161, ptr %162, align 4, !tbaa !37
  %163 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef 3) #3
  %164 = load i32, ptr %163, align 4, !tbaa !37
  %165 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN8mdvectorIjEclEjj(ptr noundef nonnull align 8 dereferenceable(105) %26, i32 noundef 1, i32 noundef %159)
  store i32 %164, ptr %165, align 4, !tbaa !37
  %166 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef 1) #3
  %167 = load i32, ptr %166, align 4, !tbaa !37
  %168 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN8mdvectorIjEclEjj(ptr noundef nonnull align 8 dereferenceable(105) %26, i32 noundef 2, i32 noundef %159)
  store i32 %167, ptr %168, align 4, !tbaa !37
  %169 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef 4) #3
  %170 = load i32, ptr %169, align 4, !tbaa !37
  %171 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN8mdvectorIjEclEjj(ptr noundef nonnull align 8 dereferenceable(105) %26, i32 noundef 3, i32 noundef %159)
  store i32 %170, ptr %171, align 4, !tbaa !37
  %172 = add nsw i32 %.5311, 2
  %173 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef 5) #3
  %174 = load i32, ptr %173, align 4, !tbaa !37
  %175 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN8mdvectorIjEclEjj(ptr noundef nonnull align 8 dereferenceable(105) %26, i32 noundef 0, i32 noundef %172)
  store i32 %174, ptr %175, align 4, !tbaa !37
  %176 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef 1) #3
  %177 = load i32, ptr %176, align 4, !tbaa !37
  %178 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN8mdvectorIjEclEjj(ptr noundef nonnull align 8 dereferenceable(105) %26, i32 noundef 1, i32 noundef %172)
  store i32 %177, ptr %178, align 4, !tbaa !37
  %179 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef 3) #3
  %180 = load i32, ptr %179, align 4, !tbaa !37
  %181 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN8mdvectorIjEclEjj(ptr noundef nonnull align 8 dereferenceable(105) %26, i32 noundef 2, i32 noundef %172)
  store i32 %180, ptr %181, align 4, !tbaa !37
  %182 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef 4) #3
  %183 = load i32, ptr %182, align 4, !tbaa !37
  %184 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN8mdvectorIjEclEjj(ptr noundef nonnull align 8 dereferenceable(105) %26, i32 noundef 3, i32 noundef %172)
  store i32 %183, ptr %184, align 4, !tbaa !37
  %185 = add nsw i32 %.5311, 3
  %186 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef 0) #3
  %187 = load i32, ptr %186, align 4, !tbaa !37
  %188 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN8mdvectorIjEclEjj(ptr noundef nonnull align 8 dereferenceable(105) %26, i32 noundef 0, i32 noundef %185)
  store i32 %187, ptr %188, align 4, !tbaa !37
  %189 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef 4) #3
  %190 = load i32, ptr %189, align 4, !tbaa !37
  %191 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN8mdvectorIjEclEjj(ptr noundef nonnull align 8 dereferenceable(105) %26, i32 noundef 1, i32 noundef %185)
  store i32 %190, ptr %191, align 4, !tbaa !37
  %192 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef 1) #3
  %193 = load i32, ptr %192, align 4, !tbaa !37
  %194 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN8mdvectorIjEclEjj(ptr noundef nonnull align 8 dereferenceable(105) %26, i32 noundef 2, i32 noundef %185)
  store i32 %193, ptr %194, align 4, !tbaa !37
  %195 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef 5) #3
  %196 = load i32, ptr %195, align 4, !tbaa !37
  %197 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN8mdvectorIjEclEjj(ptr noundef nonnull align 8 dereferenceable(105) %26, i32 noundef 3, i32 noundef %185)
  store i32 %196, ptr %197, align 4, !tbaa !37
  %198 = add nsw i32 %.5311, 4
  %199 = add nuw nsw i32 %.0264312, 1
  %200 = icmp slt i32 %199, %115
  br i1 %200, label %134, label %._crit_edge314, !llvm.loop !44

.preheader295:                                    ; preds = %.preheader295.lr.ph, %._crit_edge330
  %indvars.iv344 = phi i32 [ %18, %.preheader295.lr.ph ], [ %indvars.iv.next345, %._crit_edge330 ]
  %.0263333 = phi i32 [ 0, %.preheader295.lr.ph ], [ %.pre-phi357, %._crit_edge330 ]
  %.6332 = phi i32 [ %.4.lcssa, %.preheader295.lr.ph ], [ %.7.lcssa, %._crit_edge330 ]
  %201 = sub nsw i32 %18, %.0263333
  %202 = icmp sgt i32 %201, 0
  br i1 %202, label %.preheader.lr.ph, label %.preheader295.._crit_edge330_crit_edge

.preheader295.._crit_edge330_crit_edge:           ; preds = %.preheader295
  %.pre356 = add nuw nsw i32 %.0263333, 1
  br label %._crit_edge330

.preheader.lr.ph:                                 ; preds = %.preheader295
  %203 = sub nsw i32 %9, %.0263333
  %204 = sub nsw i32 %11, %.0263333
  %205 = mul nsw i32 %203, %204
  %206 = sub nsw i32 %32, %.0263333
  %207 = mul nsw i32 %205, %206
  %.neg = sdiv i32 %207, -6
  %208 = add nsw i32 %114, %.neg
  %209 = add nuw nsw i32 %.0263333, 1
  %210 = sub nsw i32 %8, %.0263333
  %211 = sub nsw i32 %11, %209
  %212 = mul nsw i32 %211, %210
  %213 = sub nsw i32 %32, %209
  %214 = mul nsw i32 %212, %213
  %.neg284 = sdiv i32 %214, -6
  %215 = add nsw i32 %.neg284, %34
  %216 = add nsw i32 %215, 1
  br label %.preheader

._crit_edge334:                                   ; preds = %._crit_edge330, %30, %.preheader299, %.preheader296
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %5) #3
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5) #3
  ret void

.preheader:                                       ; preds = %.preheader.lr.ph, %._crit_edge326
  %.0262329 = phi i32 [ 0, %.preheader.lr.ph ], [ %219, %._crit_edge326 ]
  %.7328 = phi i32 [ %.6332, %.preheader.lr.ph ], [ %.8.lcssa, %._crit_edge326 ]
  %217 = sub nsw i32 %201, %.0262329
  %218 = icmp sgt i32 %217, 0
  %219 = add nuw nsw i32 %.0262329, 1
  br i1 %218, label %.lr.ph325, label %._crit_edge326

.lr.ph325:                                        ; preds = %.preheader
  %220 = mul nsw i32 %219, %203
  %221 = mul nuw nsw i32 %219, %.0262329
  %222 = lshr i32 %221, 1
  %223 = add i32 %208, %220
  %224 = sub i32 %223, %222
  %225 = mul nsw i32 %.0262329, %210
  %226 = add nsw i32 %.0262329, -1
  %227 = mul nsw i32 %226, %.0262329
  %.neg285 = sdiv i32 %227, -2
  %228 = add i32 %216, %225
  %229 = add i32 %228, %.neg285
  %230 = mul nsw i32 %219, %210
  %231 = add nsw i32 %230, %215
  %232 = sub i32 %231, %222
  br label %233

._crit_edge330:                                   ; preds = %._crit_edge326, %.preheader295.._crit_edge330_crit_edge
  %.pre-phi357 = phi i32 [ %.pre356, %.preheader295.._crit_edge330_crit_edge ], [ %209, %._crit_edge326 ]
  %.7.lcssa = phi i32 [ %.6332, %.preheader295.._crit_edge330_crit_edge ], [ %.8.lcssa, %._crit_edge326 ]
  %indvars.iv.next345 = add i32 %indvars.iv344, -1
  %exitcond347.not = icmp eq i32 %.pre-phi357, %18
  br i1 %exitcond347.not, label %._crit_edge334, label %.preheader295, !llvm.loop !45

._crit_edge326:                                   ; preds = %233, %.preheader
  %.8.lcssa = phi i32 [ %.7328, %.preheader ], [ %254, %233 ]
  %exitcond346.not = icmp eq i32 %219, %indvars.iv344
  br i1 %exitcond346.not, label %._crit_edge330, label %.preheader, !llvm.loop !46

233:                                              ; preds = %.lr.ph325, %233
  %.0324 = phi i32 [ 0, %.lr.ph325 ], [ %255, %233 ]
  %.8323 = phi i32 [ %.7328, %.lr.ph325 ], [ %254, %233 ]
  %234 = add i32 %224, %.0324
  %235 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef 0) #3
  store i32 %234, ptr %235, align 4, !tbaa !37
  %236 = add i32 %229, %.0324
  %237 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef 1) #3
  store i32 %236, ptr %237, align 4, !tbaa !37
  %238 = add nsw i32 %232, %.0324
  %239 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef 2) #3
  store i32 %238, ptr %239, align 4, !tbaa !37
  %240 = add nsw i32 %238, 1
  %241 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef 3) #3
  store i32 %240, ptr %241, align 4, !tbaa !37
  %242 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef 0) #3
  %243 = load i32, ptr %242, align 4, !tbaa !37
  %244 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN8mdvectorIjEclEjj(ptr noundef nonnull align 8 dereferenceable(105) %26, i32 noundef 0, i32 noundef %.8323)
  store i32 %243, ptr %244, align 4, !tbaa !37
  %245 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef 1) #3
  %246 = load i32, ptr %245, align 4, !tbaa !37
  %247 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN8mdvectorIjEclEjj(ptr noundef nonnull align 8 dereferenceable(105) %26, i32 noundef 1, i32 noundef %.8323)
  store i32 %246, ptr %247, align 4, !tbaa !37
  %248 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef 2) #3
  %249 = load i32, ptr %248, align 4, !tbaa !37
  %250 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN8mdvectorIjEclEjj(ptr noundef nonnull align 8 dereferenceable(105) %26, i32 noundef 2, i32 noundef %.8323)
  store i32 %249, ptr %250, align 4, !tbaa !37
  %251 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef 3) #3
  %252 = load i32, ptr %251, align 4, !tbaa !37
  %253 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN8mdvectorIjEclEjj(ptr noundef nonnull align 8 dereferenceable(105) %26, i32 noundef 3, i32 noundef %.8323)
  store i32 %252, ptr %253, align 4, !tbaa !37
  %254 = add nsw i32 %.8323, 1
  %255 = add nuw nsw i32 %.0324, 1
  %256 = icmp slt i32 %255, %217
  br i1 %256, label %233, label %._crit_edge326, !llvm.loop !47

257:                                              ; preds = %55, %54
  %.pn282 = phi { ptr, i32 } [ %56, %55 ], [ %.pn, %54 ]
  resume { ptr, i32 } %.pn282
}

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24), i64 noundef) local_unnamed_addr #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 4 dereferenceable(4) ptr @_ZN8mdvectorIjEclEjj(ptr noundef nonnull align 8 dereferenceable(105), i32 noundef, i32 noundef) local_unnamed_addr #1 align 2

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

attributes #0 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { 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 #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 = { 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, !11, i64 32}
!6 = !{!"_ZTS8Elements", !7, i64 8, !7, i64 16, !10, i64 24, !11, i64 28, !11, i64 32, !11, i64 36, !11, i64 40, !11, i64 44, !11, i64 48, !11, i64 52, !11, i64 56, !11, i64 60, !11, i64 64, !11, i64 68, !11, i64 72, !11, i64 76, !11, i64 80, !11, i64 84, !11, i64 88, !11, i64 92, !11, i64 96, !12, i64 104, !12, i64 216, !12, i64 328, !12, i64 440, !20, i64 552, !12, i64 576, !12, i64 688, !12, i64 800, !12, i64 912, !12, i64 1024, !24, i64 1136, !24, i64 1248, !24, i64 1360, !24, i64 1472, !24, i64 1584, !15, i64 1696, !15, i64 1720, !15, i64 1744, !15, i64 1768, !12, i64 1792, !12, i64 1904, !12, i64 2016, !12, i64 2128, !12, i64 2240, !12, i64 2352, !12, i64 2464, !12, i64 2576, !12, i64 2688, !12, i64 2800, !12, i64 2912, !12, i64 3024, !12, i64 3136, !12, i64 3248, !12, i64 3360, !12, i64 3472, !12, i64 3584, !12, i64 3696, !12, i64 3808, !12, i64 3920, !12, i64 4032, !12, i64 4144, !12, i64 4256, !12, i64 4368, !12, i64 4480, !12, i64 4592, !12, i64 4704, !12, i64 4816, !12, i64 4928, !12, i64 5040, !12, i64 5152, !12, i64 5264, !12, i64 5376, !12, i64 5488, !12, i64 5600, !12, i64 5712, !12, i64 5824, !12, i64 5936, !11, i64 6048, !15, i64 6056, !15, i64 6080, !15, i64 6104, !15, i64 6128, !15, i64 6152, !15, i64 6176, !15, i64 6200, !25, i64 6224, !12, i64 6248, !12, i64 6360, !12, i64 6472, !12, i64 6584, !12, i64 6696, !12, i64 6808, !12, i64 6920, !12, i64 7032, !12, i64 7144, !13, i64 7256, !13, i64 7264, !13, i64 7272, !13, i64 7280, !13, i64 7288, !12, i64 7296, !12, i64 7408, !12, i64 7520, !12, i64 7632, !12, i64 7744, !12, i64 7856, !12, i64 7968, !12, i64 8080, !12, i64 8192, !12, i64 8304, !12, i64 8416, !12, i64 8528, !12, i64 8640, !12, i64 8752, !12, i64 8864, !12, i64 8976, !12, i64 9088, !12, i64 9200, !12, i64 9312, !12, i64 9424, !12, i64 9536, !12, i64 9648, !12, i64 9760, !12, i64 9872, !12, i64 9984, !12, i64 10096, !12, i64 10208, !12, i64 10320, !12, i64 10432, !12, i64 10544, !12, i64 10656, !12, i64 10768, !12, i64 10880, !12, i64 10992, !12, i64 11104, !12, i64 11216, !12, i64 11328, !12, i64 11440, !12, i64 11552, !12, i64 11664, !12, i64 11776, !12, i64 11888, !12, i64 12000, !29, i64 12112, !29, i64 12344, !12, i64 12576, !12, i64 12688, !12, i64 12800, !12, i64 12912, !12, i64 13024, !12, i64 13136, !11, i64 13248, !12, i64 13256, !12, i64 13368, !11, i64 13480, !7, i64 13488, !25, i64 13496, !24, i64 13520, !12, i64 13632, !12, i64 13744, !12, i64 13856}
!7 = !{!"any pointer", !8, i64 0}
!8 = !{!"omnipotent char", !9, i64 0}
!9 = !{!"Simple C++ TBAA"}
!10 = !{!"_ZTS8ELE_TYPE", !8, i64 0}
!11 = !{!"int", !8, i64 0}
!12 = !{!"_ZTS8mdvectorIdE", !11, i64 0, !13, i64 8, !13, i64 16, !14, i64 24, !14, i64 48, !15, i64 72, !7, i64 96, !19, i64 104}
!13 = !{!"long", !8, i64 0}
!14 = !{!"_ZTSSt5arrayIjLm6EE", !8, i64 0}
!15 = !{!"_ZTSSt6vectorIdSaIdEE", !16, i64 0}
!16 = !{!"_ZTSSt12_Vector_baseIdSaIdEE", !17, i64 0}
!17 = !{!"_ZTSNSt12_Vector_baseIdSaIdEE12_Vector_implE", !18, i64 0}
!18 = !{!"_ZTSNSt12_Vector_baseIdSaIdEE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!19 = !{!"bool", !8, i64 0}
!20 = !{!"_ZTSSt6vectorIjSaIjEE", !21, i64 0}
!21 = !{!"_ZTSSt12_Vector_baseIjSaIjEE", !22, i64 0}
!22 = !{!"_ZTSNSt12_Vector_baseIjSaIjEE12_Vector_implE", !23, i64 0}
!23 = !{!"_ZTSNSt12_Vector_baseIjSaIjEE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!24 = !{!"_ZTS8mdvectorIjE", !11, i64 0, !13, i64 8, !13, i64 16, !14, i64 24, !14, i64 48, !20, i64 72, !7, i64 96, !19, i64 104}
!25 = !{!"_ZTSSt6vectorIiSaIiEE", !26, i64 0}
!26 = !{!"_ZTSSt12_Vector_baseIiSaIiEE", !27, i64 0}
!27 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE12_Vector_implE", !28, i64 0}
!28 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!29 = !{!"_ZTS6mdviewIdE", !30, i64 0, !24, i64 112, !11, i64 224}
!30 = !{!"_ZTS8mdvectorIPdE", !11, i64 0, !13, i64 8, !13, i64 16, !14, i64 24, !14, i64 48, !31, i64 72, !7, i64 96, !19, i64 104}
!31 = !{!"_ZTSSt6vectorIPdSaIS0_EE", !32, i64 0}
!32 = !{!"_ZTSSt12_Vector_baseIPdSaIS0_EE", !33, i64 0}
!33 = !{!"_ZTSNSt12_Vector_baseIPdSaIS0_EE12_Vector_implE", !34, i64 0}
!34 = !{!"_ZTSNSt12_Vector_baseIPdSaIS0_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!35 = !{!6, !11, i64 92}
!36 = !{!6, !11, i64 96}
!37 = !{!11, !11, i64 0}
!38 = distinct !{!38, !39}
!39 = !{!"llvm.loop.mustprogress"}
!40 = distinct !{!40, !39}
!41 = distinct !{!41, !39}
!42 = distinct !{!42, !39}
!43 = distinct !{!43, !39}
!44 = distinct !{!44, !39}
!45 = distinct !{!45, !39}
!46 = distinct !{!46, !39}
!47 = distinct !{!47, !39}


; Effective O3 passes: CorrelatedValuePropagationPass,EarlyCSEPass,GVNPass,GlobalOptPass,IndVarSimplifyPass,InferFunctionAttrsPass,InstCombinePass,InstSimplifyPass,JumpThreadingPass,LCSSAPass,LICMPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,ReassociatePass,SCCPPass,SROAPass,SimplifyCFGPass