; LLVM IR from ImperialCollegeLondon/pnflow :: src/pnm/pnextract/blockNet.ll (Z12growPores_X2R10voxelFieldIiEiii)

; 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::basic_ostream" = type { ptr, %"class.std::basic_ios" }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"class.std::locale" = type { ptr }
%class.voxelField.35 = type { ptr, i64, %class.var3.28, %"class.std::vector.18" }
%class.var3.28 = type { i32, i32, i32 }
%"class.std::vector.18" = type { %"struct.std::_Vector_base.19" }
%"struct.std::_Vector_base.19" = 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 }

@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@.str.28 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [11 x i8], align 1

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

declare i32 @__gxx_personality_v0(...)

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 4 dereferenceable(4) ptr @_ZN10voxelFieldIiEclEiim(ptr noundef nonnull align 8 dereferenceable(56), i32 noundef, i32 noundef, i64 noundef) #2 align 2

; Function Attrs: mustprogress uwtable
define dso_local noundef i32 @_Z12growPores_X2R10voxelFieldIiEiii(ptr noundef nonnull align 8 dereferenceable(56) %0, i32 noundef %1, i32 noundef %2, i32 noundef %3) #3 personality ptr @__gxx_personality_v0 {
  %5 = alloca ptr, align 8
  %6 = alloca i32, align 4
  %7 = alloca i32, align 4
  %8 = alloca i32, align 4
  %9 = alloca %class.voxelField.35, align 8
  %10 = alloca i64, align 8
  %11 = alloca i32, align 4
  %12 = alloca ptr, align 8
  %13 = alloca i32, align 4
  %14 = alloca i32, align 4
  %15 = alloca i32, align 4
  %16 = alloca i32, align 4
  %17 = alloca ptr, align 8
  %18 = alloca i32, align 4
  %19 = alloca i32, align 4
  %20 = alloca i32, align 4
  %21 = alloca ptr, align 8
  %22 = alloca i32, align 4
  %23 = alloca i32, align 4
  %24 = alloca i32, align 4
  %25 = alloca ptr, align 8
  store ptr %0, ptr %5, align 8, !tbaa !5
  store i32 %1, ptr %6, align 4, !tbaa !9
  store i32 %2, ptr %7, align 4, !tbaa !9
  store i32 %3, ptr %8, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 56, ptr %9) #4
  %26 = load ptr, ptr %5, align 8, !tbaa !5
  call void @_ZN10voxelFieldIiEC2ERKS0_(ptr noundef nonnull align 8 dereferenceable(56) %9, ptr noundef nonnull align 8 dereferenceable(56) %26)
  call void @llvm.lifetime.start.p0(i64 8, ptr %10) #4
  store i64 0, ptr %10, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %11) #4
  store i32 1, ptr %11, align 4, !tbaa !9
  br label %27

27:                                               ; preds = %262, %4
  %28 = load i32, ptr %11, align 4, !tbaa !9
  %29 = invoke noundef i32 @_ZNK10voxelFieldIiE2nzEv(ptr noundef nonnull align 8 dereferenceable(56) %9)
          to label %30 unwind label %34

30:                                               ; preds = %27
  %31 = sub nsw i32 %29, 1
  %32 = icmp slt i32 %28, %31
  br i1 %32, label %38, label %33

33:                                               ; preds = %30
  store i32 2, ptr %14, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #4
  br label %266

34:                                               ; preds = %27
  %35 = landingpad { ptr, i32 }
          cleanup
  %36 = extractvalue { ptr, i32 } %35, 0
  store ptr %36, ptr %12, align 8
  %37 = extractvalue { ptr, i32 } %35, 1
  store i32 %37, ptr %13, align 4
  br label %265

38:                                               ; preds = %30
  call void @llvm.lifetime.start.p0(i64 4, ptr %15) #4
  store i32 1, ptr %15, align 4, !tbaa !9
  br label %39

39:                                               ; preds = %257, %38
  %40 = load i32, ptr %15, align 4, !tbaa !9
  %41 = invoke noundef i32 @_ZNK10voxelFieldIiE2nyEv(ptr noundef nonnull align 8 dereferenceable(56) %9)
          to label %42 unwind label %46

42:                                               ; preds = %39
  %43 = sub nsw i32 %41, 1
  %44 = icmp slt i32 %40, %43
  br i1 %44, label %50, label %45

45:                                               ; preds = %42
  store i32 5, ptr %14, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #4
  br label %261

46:                                               ; preds = %39
  %47 = landingpad { ptr, i32 }
          cleanup
  %48 = extractvalue { ptr, i32 } %47, 0
  store ptr %48, ptr %12, align 8
  %49 = extractvalue { ptr, i32 } %47, 1
  store i32 %49, ptr %13, align 4
  br label %260

50:                                               ; preds = %42
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #4
  store i32 1, ptr %16, align 4, !tbaa !9
  br label %51

51:                                               ; preds = %252, %50
  %52 = load i32, ptr %16, align 4, !tbaa !9
  %53 = invoke noundef i32 @_ZNK10voxelFieldIiE2nxEv(ptr noundef nonnull align 8 dereferenceable(56) %9)
          to label %54 unwind label %58

54:                                               ; preds = %51
  %55 = sub nsw i32 %53, 1
  %56 = icmp slt i32 %52, %55
  br i1 %56, label %62, label %57

57:                                               ; preds = %54
  store i32 8, ptr %14, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #4
  br label %256

58:                                               ; preds = %51
  %59 = landingpad { ptr, i32 }
          cleanup
  %60 = extractvalue { ptr, i32 } %59, 0
  store ptr %60, ptr %12, align 8
  %61 = extractvalue { ptr, i32 } %59, 1
  store i32 %61, ptr %13, align 4
  br label %255

62:                                               ; preds = %54
  call void @llvm.lifetime.start.p0(i64 8, ptr %17) #4
  %63 = load i32, ptr %16, align 4, !tbaa !9
  %64 = load i32, ptr %15, align 4, !tbaa !9
  %65 = load i32, ptr %11, align 4, !tbaa !9
  %66 = sext i32 %65 to i64
  %67 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN10voxelFieldIiEclEiim(ptr noundef nonnull align 8 dereferenceable(56) %9, i32 noundef %63, i32 noundef %64, i64 noundef %66)
          to label %68 unwind label %101

68:                                               ; preds = %62
  store ptr %67, ptr %17, align 8, !tbaa !5
  %69 = load ptr, ptr %17, align 8, !tbaa !5
  %70 = load i32, ptr %69, align 4, !tbaa !9
  %71 = load i32, ptr %8, align 4, !tbaa !9
  %72 = icmp eq i32 %70, %71
  br i1 %72, label %73, label %251

73:                                               ; preds = %68
  %74 = load i32, ptr %6, align 4, !tbaa !9
  %75 = load ptr, ptr %17, align 8, !tbaa !5
  %76 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_iEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %9, i32 noundef 1, ptr noundef %75)
          to label %77 unwind label %101

77:                                               ; preds = %73
  %78 = load i32, ptr %76, align 4, !tbaa !9
  %79 = icmp sle i32 %74, %78
  br i1 %79, label %80, label %105

80:                                               ; preds = %77
  %81 = load ptr, ptr %17, align 8, !tbaa !5
  %82 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_iEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %9, i32 noundef 1, ptr noundef %81)
          to label %83 unwind label %101

83:                                               ; preds = %80
  %84 = load i32, ptr %82, align 4, !tbaa !9
  %85 = load i32, ptr %7, align 4, !tbaa !9
  %86 = icmp sle i32 %84, %85
  br i1 %86, label %87, label %105

87:                                               ; preds = %83
  %88 = load ptr, ptr %17, align 8, !tbaa !5
  %89 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_iEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %9, i32 noundef 1, ptr noundef %88)
          to label %90 unwind label %101

90:                                               ; preds = %87
  %91 = load i32, ptr %89, align 4, !tbaa !9
  %92 = load ptr, ptr %5, align 8, !tbaa !5
  %93 = load i32, ptr %16, align 4, !tbaa !9
  %94 = load i32, ptr %15, align 4, !tbaa !9
  %95 = load i32, ptr %11, align 4, !tbaa !9
  %96 = sext i32 %95 to i64
  %97 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN10voxelFieldIiEclEiim(ptr noundef nonnull align 8 dereferenceable(56) %92, i32 noundef %93, i32 noundef %94, i64 noundef %96)
          to label %98 unwind label %101

98:                                               ; preds = %90
  store i32 %91, ptr %97, align 4, !tbaa !9
  %99 = load i64, ptr %10, align 8, !tbaa !11
  %100 = add nsw i64 %99, 1
  store i64 %100, ptr %10, align 8, !tbaa !11
  br label %250

101:                                              ; preds = %234, %231, %224, %217, %206, %203, %196, %189, %178, %175, %168, %161, %150, %147, %140, %133, %122, %119, %112, %105, %90, %87, %80, %73, %62
  %102 = landingpad { ptr, i32 }
          cleanup
  %103 = extractvalue { ptr, i32 } %102, 0
  store ptr %103, ptr %12, align 8
  %104 = extractvalue { ptr, i32 } %102, 1
  store i32 %104, ptr %13, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %17) #4
  br label %255

105:                                              ; preds = %83, %77
  %106 = load i32, ptr %6, align 4, !tbaa !9
  %107 = load ptr, ptr %17, align 8, !tbaa !5
  %108 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_iEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %9, i32 noundef -1, ptr noundef %107)
          to label %109 unwind label %101

109:                                              ; preds = %105
  %110 = load i32, ptr %108, align 4, !tbaa !9
  %111 = icmp sle i32 %106, %110
  br i1 %111, label %112, label %133

112:                                              ; preds = %109
  %113 = load ptr, ptr %17, align 8, !tbaa !5
  %114 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_iEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %9, i32 noundef -1, ptr noundef %113)
          to label %115 unwind label %101

115:                                              ; preds = %112
  %116 = load i32, ptr %114, align 4, !tbaa !9
  %117 = load i32, ptr %7, align 4, !tbaa !9
  %118 = icmp sle i32 %116, %117
  br i1 %118, label %119, label %133

119:                                              ; preds = %115
  %120 = load ptr, ptr %17, align 8, !tbaa !5
  %121 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_iEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %9, i32 noundef -1, ptr noundef %120)
          to label %122 unwind label %101

122:                                              ; preds = %119
  %123 = load i32, ptr %121, align 4, !tbaa !9
  %124 = load ptr, ptr %5, align 8, !tbaa !5
  %125 = load i32, ptr %16, align 4, !tbaa !9
  %126 = load i32, ptr %15, align 4, !tbaa !9
  %127 = load i32, ptr %11, align 4, !tbaa !9
  %128 = sext i32 %127 to i64
  %129 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN10voxelFieldIiEclEiim(ptr noundef nonnull align 8 dereferenceable(56) %124, i32 noundef %125, i32 noundef %126, i64 noundef %128)
          to label %130 unwind label %101

130:                                              ; preds = %122
  store i32 %123, ptr %129, align 4, !tbaa !9
  %131 = load i64, ptr %10, align 8, !tbaa !11
  %132 = add nsw i64 %131, 1
  store i64 %132, ptr %10, align 8, !tbaa !11
  br label %249

133:                                              ; preds = %115, %109
  %134 = load i32, ptr %6, align 4, !tbaa !9
  %135 = load ptr, ptr %17, align 8, !tbaa !5
  %136 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_jEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %9, i32 noundef 1, ptr noundef %135)
          to label %137 unwind label %101

137:                                              ; preds = %133
  %138 = load i32, ptr %136, align 4, !tbaa !9
  %139 = icmp sle i32 %134, %138
  br i1 %139, label %140, label %161

140:                                              ; preds = %137
  %141 = load ptr, ptr %17, align 8, !tbaa !5
  %142 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_jEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %9, i32 noundef 1, ptr noundef %141)
          to label %143 unwind label %101

143:                                              ; preds = %140
  %144 = load i32, ptr %142, align 4, !tbaa !9
  %145 = load i32, ptr %7, align 4, !tbaa !9
  %146 = icmp sle i32 %144, %145
  br i1 %146, label %147, label %161

147:                                              ; preds = %143
  %148 = load ptr, ptr %17, align 8, !tbaa !5
  %149 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_jEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %9, i32 noundef 1, ptr noundef %148)
          to label %150 unwind label %101

150:                                              ; preds = %147
  %151 = load i32, ptr %149, align 4, !tbaa !9
  %152 = load ptr, ptr %5, align 8, !tbaa !5
  %153 = load i32, ptr %16, align 4, !tbaa !9
  %154 = load i32, ptr %15, align 4, !tbaa !9
  %155 = load i32, ptr %11, align 4, !tbaa !9
  %156 = sext i32 %155 to i64
  %157 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN10voxelFieldIiEclEiim(ptr noundef nonnull align 8 dereferenceable(56) %152, i32 noundef %153, i32 noundef %154, i64 noundef %156)
          to label %158 unwind label %101

158:                                              ; preds = %150
  store i32 %151, ptr %157, align 4, !tbaa !9
  %159 = load i64, ptr %10, align 8, !tbaa !11
  %160 = add nsw i64 %159, 1
  store i64 %160, ptr %10, align 8, !tbaa !11
  br label %248

161:                                              ; preds = %143, %137
  %162 = load i32, ptr %6, align 4, !tbaa !9
  %163 = load ptr, ptr %17, align 8, !tbaa !5
  %164 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_jEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %9, i32 noundef -1, ptr noundef %163)
          to label %165 unwind label %101

165:                                              ; preds = %161
  %166 = load i32, ptr %164, align 4, !tbaa !9
  %167 = icmp sle i32 %162, %166
  br i1 %167, label %168, label %189

168:                                              ; preds = %165
  %169 = load ptr, ptr %17, align 8, !tbaa !5
  %170 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_jEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %9, i32 noundef -1, ptr noundef %169)
          to label %171 unwind label %101

171:                                              ; preds = %168
  %172 = load i32, ptr %170, align 4, !tbaa !9
  %173 = load i32, ptr %7, align 4, !tbaa !9
  %174 = icmp sle i32 %172, %173
  br i1 %174, label %175, label %189

175:                                              ; preds = %171
  %176 = load ptr, ptr %17, align 8, !tbaa !5
  %177 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_jEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %9, i32 noundef -1, ptr noundef %176)
          to label %178 unwind label %101

178:                                              ; preds = %175
  %179 = load i32, ptr %177, align 4, !tbaa !9
  %180 = load ptr, ptr %5, align 8, !tbaa !5
  %181 = load i32, ptr %16, align 4, !tbaa !9
  %182 = load i32, ptr %15, align 4, !tbaa !9
  %183 = load i32, ptr %11, align 4, !tbaa !9
  %184 = sext i32 %183 to i64
  %185 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN10voxelFieldIiEclEiim(ptr noundef nonnull align 8 dereferenceable(56) %180, i32 noundef %181, i32 noundef %182, i64 noundef %184)
          to label %186 unwind label %101

186:                                              ; preds = %178
  store i32 %179, ptr %185, align 4, !tbaa !9
  %187 = load i64, ptr %10, align 8, !tbaa !11
  %188 = add nsw i64 %187, 1
  store i64 %188, ptr %10, align 8, !tbaa !11
  br label %247

189:                                              ; preds = %171, %165
  %190 = load i32, ptr %6, align 4, !tbaa !9
  %191 = load ptr, ptr %17, align 8, !tbaa !5
  %192 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_kEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %9, i32 noundef 1, ptr noundef %191)
          to label %193 unwind label %101

193:                                              ; preds = %189
  %194 = load i32, ptr %192, align 4, !tbaa !9
  %195 = icmp sle i32 %190, %194
  br i1 %195, label %196, label %217

196:                                              ; preds = %193
  %197 = load ptr, ptr %17, align 8, !tbaa !5
  %198 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_kEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %9, i32 noundef 1, ptr noundef %197)
          to label %199 unwind label %101

199:                                              ; preds = %196
  %200 = load i32, ptr %198, align 4, !tbaa !9
  %201 = load i32, ptr %7, align 4, !tbaa !9
  %202 = icmp sle i32 %200, %201
  br i1 %202, label %203, label %217

203:                                              ; preds = %199
  %204 = load ptr, ptr %17, align 8, !tbaa !5
  %205 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_kEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %9, i32 noundef 1, ptr noundef %204)
          to label %206 unwind label %101

206:                                              ; preds = %203
  %207 = load i32, ptr %205, align 4, !tbaa !9
  %208 = load ptr, ptr %5, align 8, !tbaa !5
  %209 = load i32, ptr %16, align 4, !tbaa !9
  %210 = load i32, ptr %15, align 4, !tbaa !9
  %211 = load i32, ptr %11, align 4, !tbaa !9
  %212 = sext i32 %211 to i64
  %213 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN10voxelFieldIiEclEiim(ptr noundef nonnull align 8 dereferenceable(56) %208, i32 noundef %209, i32 noundef %210, i64 noundef %212)
          to label %214 unwind label %101

214:                                              ; preds = %206
  store i32 %207, ptr %213, align 4, !tbaa !9
  %215 = load i64, ptr %10, align 8, !tbaa !11
  %216 = add nsw i64 %215, 1
  store i64 %216, ptr %10, align 8, !tbaa !11
  br label %246

217:                                              ; preds = %199, %193
  %218 = load i32, ptr %6, align 4, !tbaa !9
  %219 = load ptr, ptr %17, align 8, !tbaa !5
  %220 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_kEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %9, i32 noundef -1, ptr noundef %219)
          to label %221 unwind label %101

221:                                              ; preds = %217
  %222 = load i32, ptr %220, align 4, !tbaa !9
  %223 = icmp sle i32 %218, %222
  br i1 %223, label %224, label %245

224:                                              ; preds = %221
  %225 = load ptr, ptr %17, align 8, !tbaa !5
  %226 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_kEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %9, i32 noundef -1, ptr noundef %225)
          to label %227 unwind label %101

227:                                              ; preds = %224
  %228 = load i32, ptr %226, align 4, !tbaa !9
  %229 = load i32, ptr %7, align 4, !tbaa !9
  %230 = icmp sle i32 %228, %229
  br i1 %230, label %231, label %245

231:                                              ; preds = %227
  %232 = load ptr, ptr %17, align 8, !tbaa !5
  %233 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_kEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %9, i32 noundef -1, ptr noundef %232)
          to label %234 unwind label %101

234:                                              ; preds = %231
  %235 = load i32, ptr %233, align 4, !tbaa !9
  %236 = load ptr, ptr %5, align 8, !tbaa !5
  %237 = load i32, ptr %16, align 4, !tbaa !9
  %238 = load i32, ptr %15, align 4, !tbaa !9
  %239 = load i32, ptr %11, align 4, !tbaa !9
  %240 = sext i32 %239 to i64
  %241 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN10voxelFieldIiEclEiim(ptr noundef nonnull align 8 dereferenceable(56) %236, i32 noundef %237, i32 noundef %238, i64 noundef %240)
          to label %242 unwind label %101

242:                                              ; preds = %234
  store i32 %235, ptr %241, align 4, !tbaa !9
  %243 = load i64, ptr %10, align 8, !tbaa !11
  %244 = add nsw i64 %243, 1
  store i64 %244, ptr %10, align 8, !tbaa !11
  br label %245

245:                                              ; preds = %242, %227, %221
  br label %246

246:                                              ; preds = %245, %214
  br label %247

247:                                              ; preds = %246, %186
  br label %248

248:                                              ; preds = %247, %158
  br label %249

249:                                              ; preds = %248, %130
  br label %250

250:                                              ; preds = %249, %98
  br label %251

251:                                              ; preds = %250, %68
  call void @llvm.lifetime.end.p0(i64 8, ptr %17) #4
  br label %252

252:                                              ; preds = %251
  %253 = load i32, ptr %16, align 4, !tbaa !9
  %254 = add nsw i32 %253, 1
  store i32 %254, ptr %16, align 4, !tbaa !9
  br label %51, !llvm.loop !13

255:                                              ; preds = %101, %58
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #4
  br label %260

256:                                              ; preds = %57
  br label %257

257:                                              ; preds = %256
  %258 = load i32, ptr %15, align 4, !tbaa !9
  %259 = add nsw i32 %258, 1
  store i32 %259, ptr %15, align 4, !tbaa !9
  br label %39, !llvm.loop !15

260:                                              ; preds = %255, %46
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #4
  br label %265

261:                                              ; preds = %45
  br label %262

262:                                              ; preds = %261
  %263 = load i32, ptr %11, align 4, !tbaa !9
  %264 = add nsw i32 %263, 1
  store i32 %264, ptr %11, align 4, !tbaa !9
  br label %27, !llvm.loop !16

265:                                              ; preds = %260, %34
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #4
  br label %816

266:                                              ; preds = %33
  %267 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.59)
          to label %268 unwind label %282

268:                                              ; preds = %266
  %269 = load i64, ptr %10, align 8, !tbaa !11
  %270 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEx(ptr noundef nonnull align 8 dereferenceable(8) %267, i64 noundef %269)
          to label %271 unwind label %282

271:                                              ; preds = %268
  %272 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %270, ptr noundef @.str.60)
          to label %273 unwind label %282

273:                                              ; preds = %271
  store i64 0, ptr %10, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %18) #4
  store i32 1, ptr %18, align 4, !tbaa !9
  br label %274

274:                                              ; preds = %535, %273
  %275 = load i32, ptr %18, align 4, !tbaa !9
  %276 = load ptr, ptr %5, align 8, !tbaa !5
  %277 = invoke noundef i32 @_ZNK10voxelFieldIiE2nzEv(ptr noundef nonnull align 8 dereferenceable(56) %276)
          to label %278 unwind label %286

278:                                              ; preds = %274
  %279 = sub nsw i32 %277, 1
  %280 = icmp slt i32 %275, %279
  br i1 %280, label %290, label %281

281:                                              ; preds = %278
  store i32 11, ptr %14, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #4
  br label %539

282:                                              ; preds = %811, %808, %806, %542, %539, %271, %268, %266
  %283 = landingpad { ptr, i32 }
          cleanup
  %284 = extractvalue { ptr, i32 } %283, 0
  store ptr %284, ptr %12, align 8
  %285 = extractvalue { ptr, i32 } %283, 1
  store i32 %285, ptr %13, align 4
  br label %816

286:                                              ; preds = %274
  %287 = landingpad { ptr, i32 }
          cleanup
  %288 = extractvalue { ptr, i32 } %287, 0
  store ptr %288, ptr %12, align 8
  %289 = extractvalue { ptr, i32 } %287, 1
  store i32 %289, ptr %13, align 4
  br label %538

290:                                              ; preds = %278
  call void @llvm.lifetime.start.p0(i64 4, ptr %19) #4
  store i32 1, ptr %19, align 4, !tbaa !9
  br label %291

291:                                              ; preds = %530, %290
  %292 = load i32, ptr %19, align 4, !tbaa !9
  %293 = load ptr, ptr %5, align 8, !tbaa !5
  %294 = invoke noundef i32 @_ZNK10voxelFieldIiE2nyEv(ptr noundef nonnull align 8 dereferenceable(56) %293)
          to label %295 unwind label %299

295:                                              ; preds = %291
  %296 = sub nsw i32 %294, 1
  %297 = icmp slt i32 %292, %296
  br i1 %297, label %303, label %298

298:                                              ; preds = %295
  store i32 14, ptr %14, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #4
  br label %534

299:                                              ; preds = %291
  %300 = landingpad { ptr, i32 }
          cleanup
  %301 = extractvalue { ptr, i32 } %300, 0
  store ptr %301, ptr %12, align 8
  %302 = extractvalue { ptr, i32 } %300, 1
  store i32 %302, ptr %13, align 4
  br label %533

303:                                              ; preds = %295
  call void @llvm.lifetime.start.p0(i64 4, ptr %20) #4
  store i32 1, ptr %20, align 4, !tbaa !9
  br label %304

304:                                              ; preds = %525, %303
  %305 = load i32, ptr %20, align 4, !tbaa !9
  %306 = load ptr, ptr %5, align 8, !tbaa !5
  %307 = invoke noundef i32 @_ZNK10voxelFieldIiE2nxEv(ptr noundef nonnull align 8 dereferenceable(56) %306)
          to label %308 unwind label %312

308:                                              ; preds = %304
  %309 = sub nsw i32 %307, 1
  %310 = icmp slt i32 %305, %309
  br i1 %310, label %316, label %311

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

312:                                              ; preds = %304
  %313 = landingpad { ptr, i32 }
          cleanup
  %314 = extractvalue { ptr, i32 } %313, 0
  store ptr %314, ptr %12, align 8
  %315 = extractvalue { ptr, i32 } %313, 1
  store i32 %315, ptr %13, align 4
  br label %528

316:                                              ; preds = %308
  call void @llvm.lifetime.start.p0(i64 8, ptr %21) #4
  %317 = load ptr, ptr %5, align 8, !tbaa !5
  %318 = load i32, ptr %20, align 4, !tbaa !9
  %319 = load i32, ptr %19, align 4, !tbaa !9
  %320 = load i32, ptr %18, align 4, !tbaa !9
  %321 = sext i32 %320 to i64
  %322 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN10voxelFieldIiEclEiim(ptr noundef nonnull align 8 dereferenceable(56) %317, i32 noundef %318, i32 noundef %319, i64 noundef %321)
          to label %323 unwind label %359

323:                                              ; preds = %316
  store ptr %322, ptr %21, align 8, !tbaa !5
  %324 = load ptr, ptr %21, align 8, !tbaa !5
  %325 = load i32, ptr %324, align 4, !tbaa !9
  %326 = load i32, ptr %8, align 4, !tbaa !9
  %327 = icmp eq i32 %325, %326
  br i1 %327, label %328, label %524

328:                                              ; preds = %323
  %329 = load i32, ptr %6, align 4, !tbaa !9
  %330 = load ptr, ptr %5, align 8, !tbaa !5
  %331 = load ptr, ptr %21, align 8, !tbaa !5
  %332 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_iEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %330, i32 noundef 1, ptr noundef %331)
          to label %333 unwind label %359

333:                                              ; preds = %328
  %334 = load i32, ptr %332, align 4, !tbaa !9
  %335 = icmp sle i32 %329, %334
  br i1 %335, label %336, label %363

336:                                              ; preds = %333
  %337 = load ptr, ptr %5, align 8, !tbaa !5
  %338 = load ptr, ptr %21, align 8, !tbaa !5
  %339 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_iEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %337, i32 noundef 1, ptr noundef %338)
          to label %340 unwind label %359

340:                                              ; preds = %336
  %341 = load i32, ptr %339, align 4, !tbaa !9
  %342 = load i32, ptr %7, align 4, !tbaa !9
  %343 = icmp sle i32 %341, %342
  br i1 %343, label %344, label %363

344:                                              ; preds = %340
  %345 = load ptr, ptr %5, align 8, !tbaa !5
  %346 = load ptr, ptr %21, align 8, !tbaa !5
  %347 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_iEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %345, i32 noundef 1, ptr noundef %346)
          to label %348 unwind label %359

348:                                              ; preds = %344
  %349 = load i32, ptr %347, align 4, !tbaa !9
  %350 = load ptr, ptr %5, align 8, !tbaa !5
  %351 = load i32, ptr %20, align 4, !tbaa !9
  %352 = load i32, ptr %19, align 4, !tbaa !9
  %353 = load i32, ptr %18, align 4, !tbaa !9
  %354 = sext i32 %353 to i64
  %355 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN10voxelFieldIiEclEiim(ptr noundef nonnull align 8 dereferenceable(56) %350, i32 noundef %351, i32 noundef %352, i64 noundef %354)
          to label %356 unwind label %359

356:                                              ; preds = %348
  store i32 %349, ptr %355, align 4, !tbaa !9
  %357 = load i64, ptr %10, align 8, !tbaa !11
  %358 = add nsw i64 %357, 1
  store i64 %358, ptr %10, align 8, !tbaa !11
  br label %523

359:                                              ; preds = %507, %503, %495, %487, %476, %472, %464, %456, %445, %441, %433, %425, %414, %410, %402, %394, %383, %379, %371, %363, %348, %344, %336, %328, %316
  %360 = landingpad { ptr, i32 }
          cleanup
  %361 = extractvalue { ptr, i32 } %360, 0
  store ptr %361, ptr %12, align 8
  %362 = extractvalue { ptr, i32 } %360, 1
  store i32 %362, ptr %13, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #4
  br label %528

363:                                              ; preds = %340, %333
  %364 = load i32, ptr %6, align 4, !tbaa !9
  %365 = load ptr, ptr %5, align 8, !tbaa !5
  %366 = load ptr, ptr %21, align 8, !tbaa !5
  %367 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_iEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %365, i32 noundef -1, ptr noundef %366)
          to label %368 unwind label %359

368:                                              ; preds = %363
  %369 = load i32, ptr %367, align 4, !tbaa !9
  %370 = icmp sle i32 %364, %369
  br i1 %370, label %371, label %394

371:                                              ; preds = %368
  %372 = load ptr, ptr %5, align 8, !tbaa !5
  %373 = load ptr, ptr %21, align 8, !tbaa !5
  %374 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_iEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %372, i32 noundef -1, ptr noundef %373)
          to label %375 unwind label %359

375:                                              ; preds = %371
  %376 = load i32, ptr %374, align 4, !tbaa !9
  %377 = load i32, ptr %7, align 4, !tbaa !9
  %378 = icmp sle i32 %376, %377
  br i1 %378, label %379, label %394

379:                                              ; preds = %375
  %380 = load ptr, ptr %5, align 8, !tbaa !5
  %381 = load ptr, ptr %21, align 8, !tbaa !5
  %382 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_iEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %380, i32 noundef -1, ptr noundef %381)
          to label %383 unwind label %359

383:                                              ; preds = %379
  %384 = load i32, ptr %382, align 4, !tbaa !9
  %385 = load ptr, ptr %5, align 8, !tbaa !5
  %386 = load i32, ptr %20, align 4, !tbaa !9
  %387 = load i32, ptr %19, align 4, !tbaa !9
  %388 = load i32, ptr %18, align 4, !tbaa !9
  %389 = sext i32 %388 to i64
  %390 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN10voxelFieldIiEclEiim(ptr noundef nonnull align 8 dereferenceable(56) %385, i32 noundef %386, i32 noundef %387, i64 noundef %389)
          to label %391 unwind label %359

391:                                              ; preds = %383
  store i32 %384, ptr %390, align 4, !tbaa !9
  %392 = load i64, ptr %10, align 8, !tbaa !11
  %393 = add nsw i64 %392, 1
  store i64 %393, ptr %10, align 8, !tbaa !11
  br label %522

394:                                              ; preds = %375, %368
  %395 = load i32, ptr %6, align 4, !tbaa !9
  %396 = load ptr, ptr %5, align 8, !tbaa !5
  %397 = load ptr, ptr %21, align 8, !tbaa !5
  %398 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_jEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %396, i32 noundef 1, ptr noundef %397)
          to label %399 unwind label %359

399:                                              ; preds = %394
  %400 = load i32, ptr %398, align 4, !tbaa !9
  %401 = icmp sle i32 %395, %400
  br i1 %401, label %402, label %425

402:                                              ; preds = %399
  %403 = load ptr, ptr %5, align 8, !tbaa !5
  %404 = load ptr, ptr %21, align 8, !tbaa !5
  %405 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_jEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %403, i32 noundef 1, ptr noundef %404)
          to label %406 unwind label %359

406:                                              ; preds = %402
  %407 = load i32, ptr %405, align 4, !tbaa !9
  %408 = load i32, ptr %7, align 4, !tbaa !9
  %409 = icmp sle i32 %407, %408
  br i1 %409, label %410, label %425

410:                                              ; preds = %406
  %411 = load ptr, ptr %5, align 8, !tbaa !5
  %412 = load ptr, ptr %21, align 8, !tbaa !5
  %413 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_jEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %411, i32 noundef 1, ptr noundef %412)
          to label %414 unwind label %359

414:                                              ; preds = %410
  %415 = load i32, ptr %413, align 4, !tbaa !9
  %416 = load ptr, ptr %5, align 8, !tbaa !5
  %417 = load i32, ptr %20, align 4, !tbaa !9
  %418 = load i32, ptr %19, align 4, !tbaa !9
  %419 = load i32, ptr %18, align 4, !tbaa !9
  %420 = sext i32 %419 to i64
  %421 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN10voxelFieldIiEclEiim(ptr noundef nonnull align 8 dereferenceable(56) %416, i32 noundef %417, i32 noundef %418, i64 noundef %420)
          to label %422 unwind label %359

422:                                              ; preds = %414
  store i32 %415, ptr %421, align 4, !tbaa !9
  %423 = load i64, ptr %10, align 8, !tbaa !11
  %424 = add nsw i64 %423, 1
  store i64 %424, ptr %10, align 8, !tbaa !11
  br label %521

425:                                              ; preds = %406, %399
  %426 = load i32, ptr %6, align 4, !tbaa !9
  %427 = load ptr, ptr %5, align 8, !tbaa !5
  %428 = load ptr, ptr %21, align 8, !tbaa !5
  %429 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_jEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %427, i32 noundef -1, ptr noundef %428)
          to label %430 unwind label %359

430:                                              ; preds = %425
  %431 = load i32, ptr %429, align 4, !tbaa !9
  %432 = icmp sle i32 %426, %431
  br i1 %432, label %433, label %456

433:                                              ; preds = %430
  %434 = load ptr, ptr %5, align 8, !tbaa !5
  %435 = load ptr, ptr %21, align 8, !tbaa !5
  %436 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_jEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %434, i32 noundef -1, ptr noundef %435)
          to label %437 unwind label %359

437:                                              ; preds = %433
  %438 = load i32, ptr %436, align 4, !tbaa !9
  %439 = load i32, ptr %7, align 4, !tbaa !9
  %440 = icmp sle i32 %438, %439
  br i1 %440, label %441, label %456

441:                                              ; preds = %437
  %442 = load ptr, ptr %5, align 8, !tbaa !5
  %443 = load ptr, ptr %21, align 8, !tbaa !5
  %444 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_jEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %442, i32 noundef -1, ptr noundef %443)
          to label %445 unwind label %359

445:                                              ; preds = %441
  %446 = load i32, ptr %444, align 4, !tbaa !9
  %447 = load ptr, ptr %5, align 8, !tbaa !5
  %448 = load i32, ptr %20, align 4, !tbaa !9
  %449 = load i32, ptr %19, align 4, !tbaa !9
  %450 = load i32, ptr %18, align 4, !tbaa !9
  %451 = sext i32 %450 to i64
  %452 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN10voxelFieldIiEclEiim(ptr noundef nonnull align 8 dereferenceable(56) %447, i32 noundef %448, i32 noundef %449, i64 noundef %451)
          to label %453 unwind label %359

453:                                              ; preds = %445
  store i32 %446, ptr %452, align 4, !tbaa !9
  %454 = load i64, ptr %10, align 8, !tbaa !11
  %455 = add nsw i64 %454, 1
  store i64 %455, ptr %10, align 8, !tbaa !11
  br label %520

456:                                              ; preds = %437, %430
  %457 = load i32, ptr %6, align 4, !tbaa !9
  %458 = load ptr, ptr %5, align 8, !tbaa !5
  %459 = load ptr, ptr %21, align 8, !tbaa !5
  %460 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_kEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %458, i32 noundef 1, ptr noundef %459)
          to label %461 unwind label %359

461:                                              ; preds = %456
  %462 = load i32, ptr %460, align 4, !tbaa !9
  %463 = icmp sle i32 %457, %462
  br i1 %463, label %464, label %487

464:                                              ; preds = %461
  %465 = load ptr, ptr %5, align 8, !tbaa !5
  %466 = load ptr, ptr %21, align 8, !tbaa !5
  %467 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_kEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %465, i32 noundef 1, ptr noundef %466)
          to label %468 unwind label %359

468:                                              ; preds = %464
  %469 = load i32, ptr %467, align 4, !tbaa !9
  %470 = load i32, ptr %7, align 4, !tbaa !9
  %471 = icmp sle i32 %469, %470
  br i1 %471, label %472, label %487

472:                                              ; preds = %468
  %473 = load ptr, ptr %5, align 8, !tbaa !5
  %474 = load ptr, ptr %21, align 8, !tbaa !5
  %475 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_kEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %473, i32 noundef 1, ptr noundef %474)
          to label %476 unwind label %359

476:                                              ; preds = %472
  %477 = load i32, ptr %475, align 4, !tbaa !9
  %478 = load ptr, ptr %5, align 8, !tbaa !5
  %479 = load i32, ptr %20, align 4, !tbaa !9
  %480 = load i32, ptr %19, align 4, !tbaa !9
  %481 = load i32, ptr %18, align 4, !tbaa !9
  %482 = sext i32 %481 to i64
  %483 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN10voxelFieldIiEclEiim(ptr noundef nonnull align 8 dereferenceable(56) %478, i32 noundef %479, i32 noundef %480, i64 noundef %482)
          to label %484 unwind label %359

484:                                              ; preds = %476
  store i32 %477, ptr %483, align 4, !tbaa !9
  %485 = load i64, ptr %10, align 8, !tbaa !11
  %486 = add nsw i64 %485, 1
  store i64 %486, ptr %10, align 8, !tbaa !11
  br label %519

487:                                              ; preds = %468, %461
  %488 = load i32, ptr %6, align 4, !tbaa !9
  %489 = load ptr, ptr %5, align 8, !tbaa !5
  %490 = load ptr, ptr %21, align 8, !tbaa !5
  %491 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_kEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %489, i32 noundef -1, ptr noundef %490)
          to label %492 unwind label %359

492:                                              ; preds = %487
  %493 = load i32, ptr %491, align 4, !tbaa !9
  %494 = icmp sle i32 %488, %493
  br i1 %494, label %495, label %518

495:                                              ; preds = %492
  %496 = load ptr, ptr %5, align 8, !tbaa !5
  %497 = load ptr, ptr %21, align 8, !tbaa !5
  %498 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_kEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %496, i32 noundef -1, ptr noundef %497)
          to label %499 unwind label %359

499:                                              ; preds = %495
  %500 = load i32, ptr %498, align 4, !tbaa !9
  %501 = load i32, ptr %7, align 4, !tbaa !9
  %502 = icmp sle i32 %500, %501
  br i1 %502, label %503, label %518

503:                                              ; preds = %499
  %504 = load ptr, ptr %5, align 8, !tbaa !5
  %505 = load ptr, ptr %21, align 8, !tbaa !5
  %506 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_kEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %504, i32 noundef -1, ptr noundef %505)
          to label %507 unwind label %359

507:                                              ; preds = %503
  %508 = load i32, ptr %506, align 4, !tbaa !9
  %509 = load ptr, ptr %5, align 8, !tbaa !5
  %510 = load i32, ptr %20, align 4, !tbaa !9
  %511 = load i32, ptr %19, align 4, !tbaa !9
  %512 = load i32, ptr %18, align 4, !tbaa !9
  %513 = sext i32 %512 to i64
  %514 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN10voxelFieldIiEclEiim(ptr noundef nonnull align 8 dereferenceable(56) %509, i32 noundef %510, i32 noundef %511, i64 noundef %513)
          to label %515 unwind label %359

515:                                              ; preds = %507
  store i32 %508, ptr %514, align 4, !tbaa !9
  %516 = load i64, ptr %10, align 8, !tbaa !11
  %517 = add nsw i64 %516, 1
  store i64 %517, ptr %10, align 8, !tbaa !11
  br label %518

518:                                              ; preds = %515, %499, %492
  br label %519

519:                                              ; preds = %518, %484
  br label %520

520:                                              ; preds = %519, %453
  br label %521

521:                                              ; preds = %520, %422
  br label %522

522:                                              ; preds = %521, %391
  br label %523

523:                                              ; preds = %522, %356
  br label %524

524:                                              ; preds = %523, %323
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #4
  br label %525

525:                                              ; preds = %524
  %526 = load i32, ptr %20, align 4, !tbaa !9
  %527 = add nsw i32 %526, 1
  store i32 %527, ptr %20, align 4, !tbaa !9
  br label %304, !llvm.loop !17

528:                                              ; preds = %359, %312
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #4
  br label %533

529:                                              ; preds = %311
  br label %530

530:                                              ; preds = %529
  %531 = load i32, ptr %19, align 4, !tbaa !9
  %532 = add nsw i32 %531, 1
  store i32 %532, ptr %19, align 4, !tbaa !9
  br label %291, !llvm.loop !18

533:                                              ; preds = %528, %299
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #4
  br label %538

534:                                              ; preds = %298
  br label %535

535:                                              ; preds = %534
  %536 = load i32, ptr %18, align 4, !tbaa !9
  %537 = add nsw i32 %536, 1
  store i32 %537, ptr %18, align 4, !tbaa !9
  br label %274, !llvm.loop !19

538:                                              ; preds = %533, %286
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #4
  br label %816

539:                                              ; preds = %281
  %540 = load i64, ptr %10, align 8, !tbaa !11
  %541 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEx(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, i64 noundef %540)
          to label %542 unwind label %282

542:                                              ; preds = %539
  %543 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %541, ptr noundef @.str.60)
          to label %544 unwind label %282

544:                                              ; preds = %542
  store i64 0, ptr %10, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %22) #4
  %545 = load ptr, ptr %5, align 8, !tbaa !5
  %546 = invoke noundef i32 @_ZNK10voxelFieldIiE2nzEv(ptr noundef nonnull align 8 dereferenceable(56) %545)
          to label %547 unwind label %553

547:                                              ; preds = %544
  %548 = sub nsw i32 %546, 2
  store i32 %548, ptr %22, align 4, !tbaa !9
  br label %549

549:                                              ; preds = %802, %547
  %550 = load i32, ptr %22, align 4, !tbaa !9
  %551 = icmp sge i32 %550, 1
  br i1 %551, label %557, label %552

552:                                              ; preds = %549
  store i32 20, ptr %14, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #4
  br label %806

553:                                              ; preds = %544
  %554 = landingpad { ptr, i32 }
          cleanup
  %555 = extractvalue { ptr, i32 } %554, 0
  store ptr %555, ptr %12, align 8
  %556 = extractvalue { ptr, i32 } %554, 1
  store i32 %556, ptr %13, align 4
  br label %805

557:                                              ; preds = %549
  call void @llvm.lifetime.start.p0(i64 4, ptr %23) #4
  %558 = load ptr, ptr %5, align 8, !tbaa !5
  %559 = invoke noundef i32 @_ZNK10voxelFieldIiE2nyEv(ptr noundef nonnull align 8 dereferenceable(56) %558)
          to label %560 unwind label %566

560:                                              ; preds = %557
  %561 = sub nsw i32 %559, 2
  store i32 %561, ptr %23, align 4, !tbaa !9
  br label %562

562:                                              ; preds = %797, %560
  %563 = load i32, ptr %23, align 4, !tbaa !9
  %564 = icmp sge i32 %563, 1
  br i1 %564, label %570, label %565

565:                                              ; preds = %562
  store i32 23, ptr %14, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #4
  br label %801

566:                                              ; preds = %557
  %567 = landingpad { ptr, i32 }
          cleanup
  %568 = extractvalue { ptr, i32 } %567, 0
  store ptr %568, ptr %12, align 8
  %569 = extractvalue { ptr, i32 } %567, 1
  store i32 %569, ptr %13, align 4
  br label %800

570:                                              ; preds = %562
  call void @llvm.lifetime.start.p0(i64 4, ptr %24) #4
  %571 = load ptr, ptr %5, align 8, !tbaa !5
  %572 = invoke noundef i32 @_ZNK10voxelFieldIiE2nxEv(ptr noundef nonnull align 8 dereferenceable(56) %571)
          to label %573 unwind label %579

573:                                              ; preds = %570
  %574 = sub nsw i32 %572, 2
  store i32 %574, ptr %24, align 4, !tbaa !9
  br label %575

575:                                              ; preds = %792, %573
  %576 = load i32, ptr %24, align 4, !tbaa !9
  %577 = icmp sge i32 %576, 1
  br i1 %577, label %583, label %578

578:                                              ; preds = %575
  store i32 26, ptr %14, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #4
  br label %796

579:                                              ; preds = %570
  %580 = landingpad { ptr, i32 }
          cleanup
  %581 = extractvalue { ptr, i32 } %580, 0
  store ptr %581, ptr %12, align 8
  %582 = extractvalue { ptr, i32 } %580, 1
  store i32 %582, ptr %13, align 4
  br label %795

583:                                              ; preds = %575
  call void @llvm.lifetime.start.p0(i64 8, ptr %25) #4
  %584 = load ptr, ptr %5, align 8, !tbaa !5
  %585 = load i32, ptr %24, align 4, !tbaa !9
  %586 = load i32, ptr %23, align 4, !tbaa !9
  %587 = load i32, ptr %22, align 4, !tbaa !9
  %588 = sext i32 %587 to i64
  %589 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN10voxelFieldIiEclEiim(ptr noundef nonnull align 8 dereferenceable(56) %584, i32 noundef %585, i32 noundef %586, i64 noundef %588)
          to label %590 unwind label %626

590:                                              ; preds = %583
  store ptr %589, ptr %25, align 8, !tbaa !5
  %591 = load ptr, ptr %25, align 8, !tbaa !5
  %592 = load i32, ptr %591, align 4, !tbaa !9
  %593 = load i32, ptr %8, align 4, !tbaa !9
  %594 = icmp eq i32 %592, %593
  br i1 %594, label %595, label %791

595:                                              ; preds = %590
  %596 = load i32, ptr %6, align 4, !tbaa !9
  %597 = load ptr, ptr %5, align 8, !tbaa !5
  %598 = load ptr, ptr %25, align 8, !tbaa !5
  %599 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_iEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %597, i32 noundef 1, ptr noundef %598)
          to label %600 unwind label %626

600:                                              ; preds = %595
  %601 = load i32, ptr %599, align 4, !tbaa !9
  %602 = icmp sle i32 %596, %601
  br i1 %602, label %603, label %630

603:                                              ; preds = %600
  %604 = load ptr, ptr %5, align 8, !tbaa !5
  %605 = load ptr, ptr %25, align 8, !tbaa !5
  %606 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_iEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %604, i32 noundef 1, ptr noundef %605)
          to label %607 unwind label %626

607:                                              ; preds = %603
  %608 = load i32, ptr %606, align 4, !tbaa !9
  %609 = load i32, ptr %7, align 4, !tbaa !9
  %610 = icmp sle i32 %608, %609
  br i1 %610, label %611, label %630

611:                                              ; preds = %607
  %612 = load ptr, ptr %5, align 8, !tbaa !5
  %613 = load ptr, ptr %25, align 8, !tbaa !5
  %614 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_iEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %612, i32 noundef 1, ptr noundef %613)
          to label %615 unwind label %626

615:                                              ; preds = %611
  %616 = load i32, ptr %614, align 4, !tbaa !9
  %617 = load ptr, ptr %5, align 8, !tbaa !5
  %618 = load i32, ptr %24, align 4, !tbaa !9
  %619 = load i32, ptr %23, align 4, !tbaa !9
  %620 = load i32, ptr %22, align 4, !tbaa !9
  %621 = sext i32 %620 to i64
  %622 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN10voxelFieldIiEclEiim(ptr noundef nonnull align 8 dereferenceable(56) %617, i32 noundef %618, i32 noundef %619, i64 noundef %621)
          to label %623 unwind label %626

623:                                              ; preds = %615
  store i32 %616, ptr %622, align 4, !tbaa !9
  %624 = load i64, ptr %10, align 8, !tbaa !11
  %625 = add nsw i64 %624, 1
  store i64 %625, ptr %10, align 8, !tbaa !11
  br label %790

626:                                              ; preds = %774, %770, %762, %754, %743, %739, %731, %723, %712, %708, %700, %692, %681, %677, %669, %661, %650, %646, %638, %630, %615, %611, %603, %595, %583
  %627 = landingpad { ptr, i32 }
          cleanup
  %628 = extractvalue { ptr, i32 } %627, 0
  store ptr %628, ptr %12, align 8
  %629 = extractvalue { ptr, i32 } %627, 1
  store i32 %629, ptr %13, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #4
  br label %795

630:                                              ; preds = %607, %600
  %631 = load i32, ptr %6, align 4, !tbaa !9
  %632 = load ptr, ptr %5, align 8, !tbaa !5
  %633 = load ptr, ptr %25, align 8, !tbaa !5
  %634 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_iEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %632, i32 noundef -1, ptr noundef %633)
          to label %635 unwind label %626

635:                                              ; preds = %630
  %636 = load i32, ptr %634, align 4, !tbaa !9
  %637 = icmp sle i32 %631, %636
  br i1 %637, label %638, label %661

638:                                              ; preds = %635
  %639 = load ptr, ptr %5, align 8, !tbaa !5
  %640 = load ptr, ptr %25, align 8, !tbaa !5
  %641 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_iEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %639, i32 noundef -1, ptr noundef %640)
          to label %642 unwind label %626

642:                                              ; preds = %638
  %643 = load i32, ptr %641, align 4, !tbaa !9
  %644 = load i32, ptr %7, align 4, !tbaa !9
  %645 = icmp sle i32 %643, %644
  br i1 %645, label %646, label %661

646:                                              ; preds = %642
  %647 = load ptr, ptr %5, align 8, !tbaa !5
  %648 = load ptr, ptr %25, align 8, !tbaa !5
  %649 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_iEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %647, i32 noundef -1, ptr noundef %648)
          to label %650 unwind label %626

650:                                              ; preds = %646
  %651 = load i32, ptr %649, align 4, !tbaa !9
  %652 = load ptr, ptr %5, align 8, !tbaa !5
  %653 = load i32, ptr %24, align 4, !tbaa !9
  %654 = load i32, ptr %23, align 4, !tbaa !9
  %655 = load i32, ptr %22, align 4, !tbaa !9
  %656 = sext i32 %655 to i64
  %657 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN10voxelFieldIiEclEiim(ptr noundef nonnull align 8 dereferenceable(56) %652, i32 noundef %653, i32 noundef %654, i64 noundef %656)
          to label %658 unwind label %626

658:                                              ; preds = %650
  store i32 %651, ptr %657, align 4, !tbaa !9
  %659 = load i64, ptr %10, align 8, !tbaa !11
  %660 = add nsw i64 %659, 1
  store i64 %660, ptr %10, align 8, !tbaa !11
  br label %789

661:                                              ; preds = %642, %635
  %662 = load i32, ptr %6, align 4, !tbaa !9
  %663 = load ptr, ptr %5, align 8, !tbaa !5
  %664 = load ptr, ptr %25, align 8, !tbaa !5
  %665 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_jEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %663, i32 noundef 1, ptr noundef %664)
          to label %666 unwind label %626

666:                                              ; preds = %661
  %667 = load i32, ptr %665, align 4, !tbaa !9
  %668 = icmp sle i32 %662, %667
  br i1 %668, label %669, label %692

669:                                              ; preds = %666
  %670 = load ptr, ptr %5, align 8, !tbaa !5
  %671 = load ptr, ptr %25, align 8, !tbaa !5
  %672 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_jEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %670, i32 noundef 1, ptr noundef %671)
          to label %673 unwind label %626

673:                                              ; preds = %669
  %674 = load i32, ptr %672, align 4, !tbaa !9
  %675 = load i32, ptr %7, align 4, !tbaa !9
  %676 = icmp sle i32 %674, %675
  br i1 %676, label %677, label %692

677:                                              ; preds = %673
  %678 = load ptr, ptr %5, align 8, !tbaa !5
  %679 = load ptr, ptr %25, align 8, !tbaa !5
  %680 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_jEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %678, i32 noundef 1, ptr noundef %679)
          to label %681 unwind label %626

681:                                              ; preds = %677
  %682 = load i32, ptr %680, align 4, !tbaa !9
  %683 = load ptr, ptr %5, align 8, !tbaa !5
  %684 = load i32, ptr %24, align 4, !tbaa !9
  %685 = load i32, ptr %23, align 4, !tbaa !9
  %686 = load i32, ptr %22, align 4, !tbaa !9
  %687 = sext i32 %686 to i64
  %688 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN10voxelFieldIiEclEiim(ptr noundef nonnull align 8 dereferenceable(56) %683, i32 noundef %684, i32 noundef %685, i64 noundef %687)
          to label %689 unwind label %626

689:                                              ; preds = %681
  store i32 %682, ptr %688, align 4, !tbaa !9
  %690 = load i64, ptr %10, align 8, !tbaa !11
  %691 = add nsw i64 %690, 1
  store i64 %691, ptr %10, align 8, !tbaa !11
  br label %788

692:                                              ; preds = %673, %666
  %693 = load i32, ptr %6, align 4, !tbaa !9
  %694 = load ptr, ptr %5, align 8, !tbaa !5
  %695 = load ptr, ptr %25, align 8, !tbaa !5
  %696 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_jEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %694, i32 noundef -1, ptr noundef %695)
          to label %697 unwind label %626

697:                                              ; preds = %692
  %698 = load i32, ptr %696, align 4, !tbaa !9
  %699 = icmp sle i32 %693, %698
  br i1 %699, label %700, label %723

700:                                              ; preds = %697
  %701 = load ptr, ptr %5, align 8, !tbaa !5
  %702 = load ptr, ptr %25, align 8, !tbaa !5
  %703 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_jEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %701, i32 noundef -1, ptr noundef %702)
          to label %704 unwind label %626

704:                                              ; preds = %700
  %705 = load i32, ptr %703, align 4, !tbaa !9
  %706 = load i32, ptr %7, align 4, !tbaa !9
  %707 = icmp sle i32 %705, %706
  br i1 %707, label %708, label %723

708:                                              ; preds = %704
  %709 = load ptr, ptr %5, align 8, !tbaa !5
  %710 = load ptr, ptr %25, align 8, !tbaa !5
  %711 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_jEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %709, i32 noundef -1, ptr noundef %710)
          to label %712 unwind label %626

712:                                              ; preds = %708
  %713 = load i32, ptr %711, align 4, !tbaa !9
  %714 = load ptr, ptr %5, align 8, !tbaa !5
  %715 = load i32, ptr %24, align 4, !tbaa !9
  %716 = load i32, ptr %23, align 4, !tbaa !9
  %717 = load i32, ptr %22, align 4, !tbaa !9
  %718 = sext i32 %717 to i64
  %719 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN10voxelFieldIiEclEiim(ptr noundef nonnull align 8 dereferenceable(56) %714, i32 noundef %715, i32 noundef %716, i64 noundef %718)
          to label %720 unwind label %626

720:                                              ; preds = %712
  store i32 %713, ptr %719, align 4, !tbaa !9
  %721 = load i64, ptr %10, align 8, !tbaa !11
  %722 = add nsw i64 %721, 1
  store i64 %722, ptr %10, align 8, !tbaa !11
  br label %787

723:                                              ; preds = %704, %697
  %724 = load i32, ptr %6, align 4, !tbaa !9
  %725 = load ptr, ptr %5, align 8, !tbaa !5
  %726 = load ptr, ptr %25, align 8, !tbaa !5
  %727 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_kEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %725, i32 noundef 1, ptr noundef %726)
          to label %728 unwind label %626

728:                                              ; preds = %723
  %729 = load i32, ptr %727, align 4, !tbaa !9
  %730 = icmp sle i32 %724, %729
  br i1 %730, label %731, label %754

731:                                              ; preds = %728
  %732 = load ptr, ptr %5, align 8, !tbaa !5
  %733 = load ptr, ptr %25, align 8, !tbaa !5
  %734 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_kEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %732, i32 noundef 1, ptr noundef %733)
          to label %735 unwind label %626

735:                                              ; preds = %731
  %736 = load i32, ptr %734, align 4, !tbaa !9
  %737 = load i32, ptr %7, align 4, !tbaa !9
  %738 = icmp sle i32 %736, %737
  br i1 %738, label %739, label %754

739:                                              ; preds = %735
  %740 = load ptr, ptr %5, align 8, !tbaa !5
  %741 = load ptr, ptr %25, align 8, !tbaa !5
  %742 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_kEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %740, i32 noundef 1, ptr noundef %741)
          to label %743 unwind label %626

743:                                              ; preds = %739
  %744 = load i32, ptr %742, align 4, !tbaa !9
  %745 = load ptr, ptr %5, align 8, !tbaa !5
  %746 = load i32, ptr %24, align 4, !tbaa !9
  %747 = load i32, ptr %23, align 4, !tbaa !9
  %748 = load i32, ptr %22, align 4, !tbaa !9
  %749 = sext i32 %748 to i64
  %750 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN10voxelFieldIiEclEiim(ptr noundef nonnull align 8 dereferenceable(56) %745, i32 noundef %746, i32 noundef %747, i64 noundef %749)
          to label %751 unwind label %626

751:                                              ; preds = %743
  store i32 %744, ptr %750, align 4, !tbaa !9
  %752 = load i64, ptr %10, align 8, !tbaa !11
  %753 = add nsw i64 %752, 1
  store i64 %753, ptr %10, align 8, !tbaa !11
  br label %786

754:                                              ; preds = %735, %728
  %755 = load i32, ptr %6, align 4, !tbaa !9
  %756 = load ptr, ptr %5, align 8, !tbaa !5
  %757 = load ptr, ptr %25, align 8, !tbaa !5
  %758 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_kEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %756, i32 noundef -1, ptr noundef %757)
          to label %759 unwind label %626

759:                                              ; preds = %754
  %760 = load i32, ptr %758, align 4, !tbaa !9
  %761 = icmp sle i32 %755, %760
  br i1 %761, label %762, label %785

762:                                              ; preds = %759
  %763 = load ptr, ptr %5, align 8, !tbaa !5
  %764 = load ptr, ptr %25, align 8, !tbaa !5
  %765 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_kEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %763, i32 noundef -1, ptr noundef %764)
          to label %766 unwind label %626

766:                                              ; preds = %762
  %767 = load i32, ptr %765, align 4, !tbaa !9
  %768 = load i32, ptr %7, align 4, !tbaa !9
  %769 = icmp sle i32 %767, %768
  br i1 %769, label %770, label %785

770:                                              ; preds = %766
  %771 = load ptr, ptr %5, align 8, !tbaa !5
  %772 = load ptr, ptr %25, align 8, !tbaa !5
  %773 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_kEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %771, i32 noundef -1, ptr noundef %772)
          to label %774 unwind label %626

774:                                              ; preds = %770
  %775 = load i32, ptr %773, align 4, !tbaa !9
  %776 = load ptr, ptr %5, align 8, !tbaa !5
  %777 = load i32, ptr %24, align 4, !tbaa !9
  %778 = load i32, ptr %23, align 4, !tbaa !9
  %779 = load i32, ptr %22, align 4, !tbaa !9
  %780 = sext i32 %779 to i64
  %781 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN10voxelFieldIiEclEiim(ptr noundef nonnull align 8 dereferenceable(56) %776, i32 noundef %777, i32 noundef %778, i64 noundef %780)
          to label %782 unwind label %626

782:                                              ; preds = %774
  store i32 %775, ptr %781, align 4, !tbaa !9
  %783 = load i64, ptr %10, align 8, !tbaa !11
  %784 = add nsw i64 %783, 1
  store i64 %784, ptr %10, align 8, !tbaa !11
  br label %785

785:                                              ; preds = %782, %766, %759
  br label %786

786:                                              ; preds = %785, %751
  br label %787

787:                                              ; preds = %786, %720
  br label %788

788:                                              ; preds = %787, %689
  br label %789

789:                                              ; preds = %788, %658
  br label %790

790:                                              ; preds = %789, %623
  br label %791

791:                                              ; preds = %790, %590
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #4
  br label %792

792:                                              ; preds = %791
  %793 = load i32, ptr %24, align 4, !tbaa !9
  %794 = add nsw i32 %793, -1
  store i32 %794, ptr %24, align 4, !tbaa !9
  br label %575, !llvm.loop !20

795:                                              ; preds = %626, %579
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #4
  br label %800

796:                                              ; preds = %578
  br label %797

797:                                              ; preds = %796
  %798 = load i32, ptr %23, align 4, !tbaa !9
  %799 = add nsw i32 %798, -1
  store i32 %799, ptr %23, align 4, !tbaa !9
  br label %562, !llvm.loop !21

800:                                              ; preds = %795, %566
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #4
  br label %805

801:                                              ; preds = %565
  br label %802

802:                                              ; preds = %801
  %803 = load i32, ptr %22, align 4, !tbaa !9
  %804 = add nsw i32 %803, -1
  store i32 %804, ptr %22, align 4, !tbaa !9
  br label %549, !llvm.loop !22

805:                                              ; preds = %800, %553
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #4
  br label %816

806:                                              ; preds = %552
  %807 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.61)
          to label %808 unwind label %282

808:                                              ; preds = %806
  %809 = load i64, ptr %10, align 8, !tbaa !11
  %810 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEx(ptr noundef nonnull align 8 dereferenceable(8) %807, i64 noundef %809)
          to label %811 unwind label %282

811:                                              ; preds = %808
  %812 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %810, ptr noundef @.str.28)
          to label %813 unwind label %282

813:                                              ; preds = %811
  %814 = load i64, ptr %10, align 8, !tbaa !11
  %815 = trunc i64 %814 to i32
  store i32 1, ptr %14, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %10) #4
  call void @_ZN10voxelFieldIiED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %9) #4
  call void @llvm.lifetime.end.p0(i64 56, ptr %9) #4
  ret i32 %815

816:                                              ; preds = %805, %538, %282, %265
  call void @llvm.lifetime.end.p0(i64 8, ptr %10) #4
  call void @_ZN10voxelFieldIiED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %9) #4
  call void @llvm.lifetime.end.p0(i64 56, ptr %9) #4
  br label %817

817:                                              ; preds = %816
  %818 = load ptr, ptr %12, align 8
  %819 = load i32, ptr %13, align 4
  %820 = insertvalue { ptr, i32 } poison, ptr %818, 0
  %821 = insertvalue { ptr, i32 } %820, i32 %819, 1
  resume { ptr, i32 } %821
}

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZNK10voxelFieldIiE2nxEv(ptr noundef nonnull align 8 dereferenceable(56)) #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZNK10voxelFieldIiE2nzEv(ptr noundef nonnull align 8 dereferenceable(56)) #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZNK10voxelFieldIiE2nyEv(ptr noundef nonnull align 8 dereferenceable(56)) #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN10voxelFieldIiEC2ERKS0_(ptr noundef nonnull align 8 dereferenceable(56), ptr noundef nonnull align 8 dereferenceable(56)) unnamed_addr #3 align 2

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

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

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

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

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

attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { inlinehint mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { 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, !10, i64 0}
!10 = !{!"int", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"long long", !7, i64 0}
!13 = distinct !{!13, !14}
!14 = !{!"llvm.loop.mustprogress"}
!15 = distinct !{!15, !14}
!16 = distinct !{!16, !14}
!17 = distinct !{!17, !14}
!18 = distinct !{!18, !14}
!19 = distinct !{!19, !14}
!20 = distinct !{!20, !14}
!21 = distinct !{!21, !14}
!22 = distinct !{!22, !14}


; 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::basic_ostream" = type { ptr, %"class.std::basic_ios" }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"class.std::locale" = type { ptr }
%class.voxelField.35 = type { ptr, i64, %class.var3.28, %"class.std::vector.18" }
%class.var3.28 = type { i32, i32, i32 }
%"class.std::vector.18" = type { %"struct.std::_Vector_base.19" }
%"struct.std::_Vector_base.19" = 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 }

@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@.str.28 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [11 x i8], align 1

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

declare i32 @__gxx_personality_v0(...)

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

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

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

; Function Attrs: mustprogress uwtable
define dso_local noundef i32 @_Z12growPores_X2R10voxelFieldIiEiii(ptr noundef nonnull align 8 dereferenceable(56) %0, i32 noundef %1, i32 noundef %2, i32 noundef %3) local_unnamed_addr #3 personality ptr @__gxx_personality_v0 {
  %5 = alloca %class.voxelField.35, align 8
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %5) #4
  call void @_ZN10voxelFieldIiEC2ERKS0_(ptr noundef nonnull align 8 dereferenceable(56) %5, ptr noundef nonnull align 8 dereferenceable(56) %0)
  %6 = call noundef i32 @_ZNK10voxelFieldIiE2nzEv(ptr noundef nonnull align 8 dereferenceable(56) %5)
  %7 = icmp sgt i32 %6, 2
  br i1 %7, label %.preheader310, label %._crit_edge319

.preheader310:                                    ; preds = %4, %._crit_edge315
  %indvars.iv = phi i64 [ %indvars.iv.next, %._crit_edge315 ], [ 1, %4 ]
  %.0318 = phi i64 [ %.1.lcssa, %._crit_edge315 ], [ 0, %4 ]
  %8 = call noundef i32 @_ZNK10voxelFieldIiE2nyEv(ptr noundef nonnull align 8 dereferenceable(56) %5)
  %9 = icmp sgt i32 %8, 2
  br i1 %9, label %.preheader309, label %._crit_edge315

._crit_edge319:                                   ; preds = %._crit_edge315, %4
  %.0.lcssa = phi i64 [ 0, %4 ], [ %.1.lcssa, %._crit_edge315 ]
  %10 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.59)
          to label %80 unwind label %89

.preheader309:                                    ; preds = %.preheader310, %._crit_edge
  %.1314 = phi i64 [ %.2.lcssa, %._crit_edge ], [ %.0318, %.preheader310 ]
  %.0271313 = phi i32 [ %17, %._crit_edge ], [ 1, %.preheader310 ]
  %11 = call noundef i32 @_ZNK10voxelFieldIiE2nxEv(ptr noundef nonnull align 8 dereferenceable(56) %5)
  %12 = icmp sgt i32 %11, 2
  br i1 %12, label %.lr.ph, label %._crit_edge

._crit_edge315:                                   ; preds = %._crit_edge, %.preheader310
  %.1.lcssa = phi i64 [ %.0318, %.preheader310 ], [ %.2.lcssa, %._crit_edge ]
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
  %13 = call noundef i32 @_ZNK10voxelFieldIiE2nzEv(ptr noundef nonnull align 8 dereferenceable(56) %5)
  %14 = add nsw i32 %13, -1
  %15 = sext i32 %14 to i64
  %16 = icmp slt i64 %indvars.iv.next, %15
  br i1 %16, label %.preheader310, label %._crit_edge319, !llvm.loop !5

._crit_edge:                                      ; preds = %75, %.preheader309
  %.2.lcssa = phi i64 [ %.1314, %.preheader309 ], [ %.3, %75 ]
  %17 = add nuw nsw i32 %.0271313, 1
  %18 = call noundef i32 @_ZNK10voxelFieldIiE2nyEv(ptr noundef nonnull align 8 dereferenceable(56) %5)
  %19 = add nsw i32 %18, -1
  %20 = icmp slt i32 %17, %19
  br i1 %20, label %.preheader309, label %._crit_edge315, !llvm.loop !7

.lr.ph:                                           ; preds = %.preheader309, %75
  %.2312 = phi i64 [ %.3, %75 ], [ %.1314, %.preheader309 ]
  %.0270311 = phi i32 [ %76, %75 ], [ 1, %.preheader309 ]
  %21 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN10voxelFieldIiEclEiim(ptr noundef nonnull align 8 dereferenceable(56) %5, i32 noundef %.0270311, i32 noundef %.0271313, i64 noundef %indvars.iv)
  %22 = load i32, ptr %21, align 4, !tbaa !8
  %23 = icmp eq i32 %22, %3
  br i1 %23, label %24, label %75

24:                                               ; preds = %.lr.ph
  %25 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_iEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %5, i32 noundef 1, ptr noundef nonnull %21)
  %26 = load i32, ptr %25, align 4, !tbaa !8
  %.not295 = icmp slt i32 %26, %1
  br i1 %.not295, label %32, label %27

27:                                               ; preds = %24
  %28 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_iEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %5, i32 noundef 1, ptr noundef nonnull %21)
  %29 = load i32, ptr %28, align 4, !tbaa !8
  %.not296 = icmp sgt i32 %29, %2
  br i1 %.not296, label %32, label %30

30:                                               ; preds = %27
  %31 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_iEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %5, i32 noundef 1, ptr noundef nonnull %21)
  br label %.sink.split

32:                                               ; preds = %27, %24
  %33 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_iEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %5, i32 noundef -1, ptr noundef nonnull %21)
  %34 = load i32, ptr %33, align 4, !tbaa !8
  %.not297 = icmp slt i32 %34, %1
  br i1 %.not297, label %40, label %35

35:                                               ; preds = %32
  %36 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_iEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %5, i32 noundef -1, ptr noundef nonnull %21)
  %37 = load i32, ptr %36, align 4, !tbaa !8
  %.not298 = icmp sgt i32 %37, %2
  br i1 %.not298, label %40, label %38

38:                                               ; preds = %35
  %39 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_iEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %5, i32 noundef -1, ptr noundef nonnull %21)
  br label %.sink.split

40:                                               ; preds = %35, %32
  %41 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_jEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %5, i32 noundef 1, ptr noundef nonnull %21)
  %42 = load i32, ptr %41, align 4, !tbaa !8
  %.not299 = icmp slt i32 %42, %1
  br i1 %.not299, label %48, label %43

43:                                               ; preds = %40
  %44 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_jEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %5, i32 noundef 1, ptr noundef nonnull %21)
  %45 = load i32, ptr %44, align 4, !tbaa !8
  %.not300 = icmp sgt i32 %45, %2
  br i1 %.not300, label %48, label %46

46:                                               ; preds = %43
  %47 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_jEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %5, i32 noundef 1, ptr noundef nonnull %21)
  br label %.sink.split

48:                                               ; preds = %43, %40
  %49 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_jEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %5, i32 noundef -1, ptr noundef nonnull %21)
  %50 = load i32, ptr %49, align 4, !tbaa !8
  %.not301 = icmp slt i32 %50, %1
  br i1 %.not301, label %56, label %51

51:                                               ; preds = %48
  %52 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_jEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %5, i32 noundef -1, ptr noundef nonnull %21)
  %53 = load i32, ptr %52, align 4, !tbaa !8
  %.not302 = icmp sgt i32 %53, %2
  br i1 %.not302, label %56, label %54

54:                                               ; preds = %51
  %55 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_jEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %5, i32 noundef -1, ptr noundef nonnull %21)
  br label %.sink.split

56:                                               ; preds = %51, %48
  %57 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_kEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %5, i32 noundef 1, ptr noundef nonnull %21)
  %58 = load i32, ptr %57, align 4, !tbaa !8
  %.not303 = icmp slt i32 %58, %1
  br i1 %.not303, label %64, label %59

59:                                               ; preds = %56
  %60 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_kEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %5, i32 noundef 1, ptr noundef nonnull %21)
  %61 = load i32, ptr %60, align 4, !tbaa !8
  %.not304 = icmp sgt i32 %61, %2
  br i1 %.not304, label %64, label %62

62:                                               ; preds = %59
  %63 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_kEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %5, i32 noundef 1, ptr noundef nonnull %21)
  br label %.sink.split

64:                                               ; preds = %59, %56
  %65 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_kEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %5, i32 noundef -1, ptr noundef nonnull %21)
  %66 = load i32, ptr %65, align 4, !tbaa !8
  %.not305 = icmp slt i32 %66, %1
  br i1 %.not305, label %75, label %67

67:                                               ; preds = %64
  %68 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_kEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %5, i32 noundef -1, ptr noundef nonnull %21)
  %69 = load i32, ptr %68, align 4, !tbaa !8
  %.not306 = icmp sgt i32 %69, %2
  br i1 %.not306, label %75, label %70

70:                                               ; preds = %67
  %71 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_kEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %5, i32 noundef -1, ptr noundef nonnull %21)
  br label %.sink.split

.sink.split:                                      ; preds = %38, %54, %70, %62, %46, %30
  %.sink360 = phi ptr [ %31, %30 ], [ %47, %46 ], [ %63, %62 ], [ %71, %70 ], [ %55, %54 ], [ %39, %38 ]
  %72 = load i32, ptr %.sink360, align 4, !tbaa !8
  %73 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN10voxelFieldIiEclEiim(ptr noundef nonnull align 8 dereferenceable(56) %0, i32 noundef %.0270311, i32 noundef %.0271313, i64 noundef %indvars.iv)
  store i32 %72, ptr %73, align 4, !tbaa !8
  %74 = add nsw i64 %.2312, 1
  br label %75

75:                                               ; preds = %.sink.split, %67, %64, %.lr.ph
  %.3 = phi i64 [ %.2312, %67 ], [ %.2312, %64 ], [ %.2312, %.lr.ph ], [ %74, %.sink.split ]
  %76 = add nuw nsw i32 %.0270311, 1
  %77 = call noundef i32 @_ZNK10voxelFieldIiE2nxEv(ptr noundef nonnull align 8 dereferenceable(56) %5)
  %78 = add nsw i32 %77, -1
  %79 = icmp slt i32 %76, %78
  br i1 %79, label %.lr.ph, label %._crit_edge, !llvm.loop !12

80:                                               ; preds = %._crit_edge319
  %81 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEx(ptr noundef nonnull align 8 dereferenceable(8) %10, i64 noundef %.0.lcssa)
          to label %82 unwind label %89

82:                                               ; preds = %80
  %83 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %81, ptr noundef nonnull @.str.60)
          to label %.preheader308 unwind label %89

.preheader308:                                    ; preds = %82
  %84 = call noundef i32 @_ZNK10voxelFieldIiE2nzEv(ptr noundef nonnull align 8 dereferenceable(56) %0)
  %85 = icmp sgt i32 %84, 2
  br i1 %85, label %.preheader307, label %._crit_edge332

.preheader307:                                    ; preds = %.preheader308, %._crit_edge328
  %indvars.iv353 = phi i64 [ %indvars.iv.next354, %._crit_edge328 ], [ 1, %.preheader308 ]
  %.4331 = phi i64 [ %.5.lcssa, %._crit_edge328 ], [ 0, %.preheader308 ]
  %86 = call noundef i32 @_ZNK10voxelFieldIiE2nyEv(ptr noundef nonnull align 8 dereferenceable(56) %0)
  %87 = icmp sgt i32 %86, 2
  br i1 %87, label %.preheader, label %._crit_edge328

._crit_edge332:                                   ; preds = %._crit_edge328, %.preheader308
  %.4.lcssa = phi i64 [ 0, %.preheader308 ], [ %.5.lcssa, %._crit_edge328 ]
  %88 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEx(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, i64 noundef %.4.lcssa)
          to label %160 unwind label %89

89:                                               ; preds = %237, %235, %._crit_edge350, %160, %._crit_edge332, %82, %80, %._crit_edge319
  %90 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN10voxelFieldIiED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %5) #4
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %5) #4
  resume { ptr, i32 } %90

.preheader:                                       ; preds = %.preheader307, %._crit_edge324
  %.5327 = phi i64 [ %.6.lcssa, %._crit_edge324 ], [ %.4331, %.preheader307 ]
  %.0268326 = phi i32 [ %97, %._crit_edge324 ], [ 1, %.preheader307 ]
  %91 = call noundef i32 @_ZNK10voxelFieldIiE2nxEv(ptr noundef nonnull align 8 dereferenceable(56) %0)
  %92 = icmp sgt i32 %91, 2
  br i1 %92, label %.lr.ph323, label %._crit_edge324

._crit_edge328:                                   ; preds = %._crit_edge324, %.preheader307
  %.5.lcssa = phi i64 [ %.4331, %.preheader307 ], [ %.6.lcssa, %._crit_edge324 ]
  %indvars.iv.next354 = add nuw nsw i64 %indvars.iv353, 1
  %93 = call noundef i32 @_ZNK10voxelFieldIiE2nzEv(ptr noundef nonnull align 8 dereferenceable(56) %0)
  %94 = add nsw i32 %93, -1
  %95 = sext i32 %94 to i64
  %96 = icmp slt i64 %indvars.iv.next354, %95
  br i1 %96, label %.preheader307, label %._crit_edge332, !llvm.loop !13

._crit_edge324:                                   ; preds = %155, %.preheader
  %.6.lcssa = phi i64 [ %.5327, %.preheader ], [ %.7, %155 ]
  %97 = add nuw nsw i32 %.0268326, 1
  %98 = call noundef i32 @_ZNK10voxelFieldIiE2nyEv(ptr noundef nonnull align 8 dereferenceable(56) %0)
  %99 = add nsw i32 %98, -1
  %100 = icmp slt i32 %97, %99
  br i1 %100, label %.preheader, label %._crit_edge328, !llvm.loop !14

.lr.ph323:                                        ; preds = %.preheader, %155
  %.6322 = phi i64 [ %.7, %155 ], [ %.5327, %.preheader ]
  %.0267321 = phi i32 [ %156, %155 ], [ 1, %.preheader ]
  %101 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN10voxelFieldIiEclEiim(ptr noundef nonnull align 8 dereferenceable(56) %0, i32 noundef %.0267321, i32 noundef %.0268326, i64 noundef %indvars.iv353)
  %102 = load i32, ptr %101, align 4, !tbaa !8
  %103 = icmp eq i32 %102, %3
  br i1 %103, label %104, label %155

104:                                              ; preds = %.lr.ph323
  %105 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_iEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %0, i32 noundef 1, ptr noundef nonnull %101)
  %106 = load i32, ptr %105, align 4, !tbaa !8
  %.not283 = icmp slt i32 %106, %1
  br i1 %.not283, label %112, label %107

107:                                              ; preds = %104
  %108 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_iEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %0, i32 noundef 1, ptr noundef nonnull %101)
  %109 = load i32, ptr %108, align 4, !tbaa !8
  %.not284 = icmp sgt i32 %109, %2
  br i1 %.not284, label %112, label %110

110:                                              ; preds = %107
  %111 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_iEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %0, i32 noundef 1, ptr noundef nonnull %101)
  br label %.sink.split361

112:                                              ; preds = %107, %104
  %113 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_iEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %0, i32 noundef -1, ptr noundef nonnull %101)
  %114 = load i32, ptr %113, align 4, !tbaa !8
  %.not285 = icmp slt i32 %114, %1
  br i1 %.not285, label %120, label %115

115:                                              ; preds = %112
  %116 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_iEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %0, i32 noundef -1, ptr noundef nonnull %101)
  %117 = load i32, ptr %116, align 4, !tbaa !8
  %.not286 = icmp sgt i32 %117, %2
  br i1 %.not286, label %120, label %118

118:                                              ; preds = %115
  %119 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_iEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %0, i32 noundef -1, ptr noundef nonnull %101)
  br label %.sink.split361

120:                                              ; preds = %115, %112
  %121 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_jEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %0, i32 noundef 1, ptr noundef nonnull %101)
  %122 = load i32, ptr %121, align 4, !tbaa !8
  %.not287 = icmp slt i32 %122, %1
  br i1 %.not287, label %128, label %123

123:                                              ; preds = %120
  %124 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_jEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %0, i32 noundef 1, ptr noundef nonnull %101)
  %125 = load i32, ptr %124, align 4, !tbaa !8
  %.not288 = icmp sgt i32 %125, %2
  br i1 %.not288, label %128, label %126

126:                                              ; preds = %123
  %127 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_jEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %0, i32 noundef 1, ptr noundef nonnull %101)
  br label %.sink.split361

128:                                              ; preds = %123, %120
  %129 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_jEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %0, i32 noundef -1, ptr noundef nonnull %101)
  %130 = load i32, ptr %129, align 4, !tbaa !8
  %.not289 = icmp slt i32 %130, %1
  br i1 %.not289, label %136, label %131

131:                                              ; preds = %128
  %132 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_jEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %0, i32 noundef -1, ptr noundef nonnull %101)
  %133 = load i32, ptr %132, align 4, !tbaa !8
  %.not290 = icmp sgt i32 %133, %2
  br i1 %.not290, label %136, label %134

134:                                              ; preds = %131
  %135 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_jEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %0, i32 noundef -1, ptr noundef nonnull %101)
  br label %.sink.split361

136:                                              ; preds = %131, %128
  %137 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_kEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %0, i32 noundef 1, ptr noundef nonnull %101)
  %138 = load i32, ptr %137, align 4, !tbaa !8
  %.not291 = icmp slt i32 %138, %1
  br i1 %.not291, label %144, label %139

139:                                              ; preds = %136
  %140 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_kEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %0, i32 noundef 1, ptr noundef nonnull %101)
  %141 = load i32, ptr %140, align 4, !tbaa !8
  %.not292 = icmp sgt i32 %141, %2
  br i1 %.not292, label %144, label %142

142:                                              ; preds = %139
  %143 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_kEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %0, i32 noundef 1, ptr noundef nonnull %101)
  br label %.sink.split361

144:                                              ; preds = %139, %136
  %145 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_kEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %0, i32 noundef -1, ptr noundef nonnull %101)
  %146 = load i32, ptr %145, align 4, !tbaa !8
  %.not293 = icmp slt i32 %146, %1
  br i1 %.not293, label %155, label %147

147:                                              ; preds = %144
  %148 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_kEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %0, i32 noundef -1, ptr noundef nonnull %101)
  %149 = load i32, ptr %148, align 4, !tbaa !8
  %.not294 = icmp sgt i32 %149, %2
  br i1 %.not294, label %155, label %150

150:                                              ; preds = %147
  %151 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_kEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %0, i32 noundef -1, ptr noundef nonnull %101)
  br label %.sink.split361

.sink.split361:                                   ; preds = %118, %134, %150, %142, %126, %110
  %.sink363 = phi ptr [ %111, %110 ], [ %127, %126 ], [ %143, %142 ], [ %151, %150 ], [ %135, %134 ], [ %119, %118 ]
  %152 = load i32, ptr %.sink363, align 4, !tbaa !8
  %153 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN10voxelFieldIiEclEiim(ptr noundef nonnull align 8 dereferenceable(56) %0, i32 noundef %.0267321, i32 noundef %.0268326, i64 noundef %indvars.iv353)
  store i32 %152, ptr %153, align 4, !tbaa !8
  %154 = add nsw i64 %.6322, 1
  br label %155

155:                                              ; preds = %.sink.split361, %147, %144, %.lr.ph323
  %.7 = phi i64 [ %.6322, %147 ], [ %.6322, %144 ], [ %.6322, %.lr.ph323 ], [ %154, %.sink.split361 ]
  %156 = add nuw nsw i32 %.0267321, 1
  %157 = call noundef i32 @_ZNK10voxelFieldIiE2nxEv(ptr noundef nonnull align 8 dereferenceable(56) %0)
  %158 = add nsw i32 %157, -1
  %159 = icmp slt i32 %156, %158
  br i1 %159, label %.lr.ph323, label %._crit_edge324, !llvm.loop !15

160:                                              ; preds = %._crit_edge332
  %161 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %88, ptr noundef nonnull @.str.60)
          to label %162 unwind label %89

162:                                              ; preds = %160
  %163 = call noundef i32 @_ZNK10voxelFieldIiE2nzEv(ptr noundef nonnull align 8 dereferenceable(56) %0)
  %164 = icmp sgt i32 %163, 2
  br i1 %164, label %.lr.ph349.preheader, label %._crit_edge350

.lr.ph349.preheader:                              ; preds = %162
  %165 = add nsw i32 %163, -2
  %166 = zext nneg i32 %165 to i64
  br label %.lr.ph349

._crit_edge350:                                   ; preds = %._crit_edge344, %162
  %.8.lcssa = phi i64 [ 0, %162 ], [ %.9.lcssa, %._crit_edge344 ]
  %167 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.61)
          to label %235 unwind label %89

.lr.ph349:                                        ; preds = %.lr.ph349.preheader, %._crit_edge344
  %indvars.iv356 = phi i64 [ %166, %.lr.ph349.preheader ], [ %indvars.iv.next357, %._crit_edge344 ]
  %.8347 = phi i64 [ 0, %.lr.ph349.preheader ], [ %.9.lcssa, %._crit_edge344 ]
  %168 = call noundef i32 @_ZNK10voxelFieldIiE2nyEv(ptr noundef nonnull align 8 dereferenceable(56) %0)
  %169 = icmp sgt i32 %168, 2
  br i1 %169, label %.lr.ph343, label %._crit_edge344

.lr.ph343:                                        ; preds = %.lr.ph349
  %170 = add nsw i32 %168, -2
  br label %172

._crit_edge344:                                   ; preds = %._crit_edge338, %.lr.ph349
  %.9.lcssa = phi i64 [ %.8347, %.lr.ph349 ], [ %.10.lcssa, %._crit_edge338 ]
  %indvars.iv.next357 = add nsw i64 %indvars.iv356, -1
  %171 = icmp sgt i64 %indvars.iv356, 1
  br i1 %171, label %.lr.ph349, label %._crit_edge350, !llvm.loop !16

172:                                              ; preds = %.lr.ph343, %._crit_edge338
  %.9341 = phi i64 [ %.8347, %.lr.ph343 ], [ %.10.lcssa, %._crit_edge338 ]
  %.0264340 = phi i32 [ %170, %.lr.ph343 ], [ %176, %._crit_edge338 ]
  %173 = call noundef i32 @_ZNK10voxelFieldIiE2nxEv(ptr noundef nonnull align 8 dereferenceable(56) %0)
  %174 = icmp sgt i32 %173, 2
  br i1 %174, label %.lr.ph337.preheader, label %._crit_edge338

.lr.ph337.preheader:                              ; preds = %172
  %175 = add nsw i32 %173, -2
  br label %.lr.ph337

._crit_edge338:                                   ; preds = %232, %172
  %.10.lcssa = phi i64 [ %.9341, %172 ], [ %.11, %232 ]
  %176 = add nsw i32 %.0264340, -1
  %177 = icmp sgt i32 %.0264340, 1
  br i1 %177, label %172, label %._crit_edge344, !llvm.loop !17

.lr.ph337:                                        ; preds = %.lr.ph337.preheader, %232
  %.10335 = phi i64 [ %.11, %232 ], [ %.9341, %.lr.ph337.preheader ]
  %.0263334 = phi i32 [ %233, %232 ], [ %175, %.lr.ph337.preheader ]
  %178 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN10voxelFieldIiEclEiim(ptr noundef nonnull align 8 dereferenceable(56) %0, i32 noundef %.0263334, i32 noundef %.0264340, i64 noundef %indvars.iv356)
  %179 = load i32, ptr %178, align 4, !tbaa !8
  %180 = icmp eq i32 %179, %3
  br i1 %180, label %181, label %232

181:                                              ; preds = %.lr.ph337
  %182 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_iEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %0, i32 noundef 1, ptr noundef nonnull %178)
  %183 = load i32, ptr %182, align 4, !tbaa !8
  %.not = icmp slt i32 %183, %1
  br i1 %.not, label %189, label %184

184:                                              ; preds = %181
  %185 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_iEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %0, i32 noundef 1, ptr noundef nonnull %178)
  %186 = load i32, ptr %185, align 4, !tbaa !8
  %.not272 = icmp sgt i32 %186, %2
  br i1 %.not272, label %189, label %187

187:                                              ; preds = %184
  %188 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_iEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %0, i32 noundef 1, ptr noundef nonnull %178)
  br label %.sink.split364

189:                                              ; preds = %184, %181
  %190 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_iEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %0, i32 noundef -1, ptr noundef nonnull %178)
  %191 = load i32, ptr %190, align 4, !tbaa !8
  %.not273 = icmp slt i32 %191, %1
  br i1 %.not273, label %197, label %192

192:                                              ; preds = %189
  %193 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_iEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %0, i32 noundef -1, ptr noundef nonnull %178)
  %194 = load i32, ptr %193, align 4, !tbaa !8
  %.not274 = icmp sgt i32 %194, %2
  br i1 %.not274, label %197, label %195

195:                                              ; preds = %192
  %196 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_iEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %0, i32 noundef -1, ptr noundef nonnull %178)
  br label %.sink.split364

197:                                              ; preds = %192, %189
  %198 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_jEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %0, i32 noundef 1, ptr noundef nonnull %178)
  %199 = load i32, ptr %198, align 4, !tbaa !8
  %.not275 = icmp slt i32 %199, %1
  br i1 %.not275, label %205, label %200

200:                                              ; preds = %197
  %201 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_jEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %0, i32 noundef 1, ptr noundef nonnull %178)
  %202 = load i32, ptr %201, align 4, !tbaa !8
  %.not276 = icmp sgt i32 %202, %2
  br i1 %.not276, label %205, label %203

203:                                              ; preds = %200
  %204 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_jEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %0, i32 noundef 1, ptr noundef nonnull %178)
  br label %.sink.split364

205:                                              ; preds = %200, %197
  %206 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_jEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %0, i32 noundef -1, ptr noundef nonnull %178)
  %207 = load i32, ptr %206, align 4, !tbaa !8
  %.not277 = icmp slt i32 %207, %1
  br i1 %.not277, label %213, label %208

208:                                              ; preds = %205
  %209 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_jEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %0, i32 noundef -1, ptr noundef nonnull %178)
  %210 = load i32, ptr %209, align 4, !tbaa !8
  %.not278 = icmp sgt i32 %210, %2
  br i1 %.not278, label %213, label %211

211:                                              ; preds = %208
  %212 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_jEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %0, i32 noundef -1, ptr noundef nonnull %178)
  br label %.sink.split364

213:                                              ; preds = %208, %205
  %214 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_kEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %0, i32 noundef 1, ptr noundef nonnull %178)
  %215 = load i32, ptr %214, align 4, !tbaa !8
  %.not279 = icmp slt i32 %215, %1
  br i1 %.not279, label %221, label %216

216:                                              ; preds = %213
  %217 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_kEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %0, i32 noundef 1, ptr noundef nonnull %178)
  %218 = load i32, ptr %217, align 4, !tbaa !8
  %.not280 = icmp sgt i32 %218, %2
  br i1 %.not280, label %221, label %219

219:                                              ; preds = %216
  %220 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_kEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %0, i32 noundef 1, ptr noundef nonnull %178)
  br label %.sink.split364

221:                                              ; preds = %216, %213
  %222 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_kEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %0, i32 noundef -1, ptr noundef nonnull %178)
  %223 = load i32, ptr %222, align 4, !tbaa !8
  %.not281 = icmp slt i32 %223, %1
  br i1 %.not281, label %232, label %224

224:                                              ; preds = %221
  %225 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_kEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %0, i32 noundef -1, ptr noundef nonnull %178)
  %226 = load i32, ptr %225, align 4, !tbaa !8
  %.not282 = icmp sgt i32 %226, %2
  br i1 %.not282, label %232, label %227

227:                                              ; preds = %224
  %228 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiE3v_kEiPKi(ptr noundef nonnull align 8 dereferenceable(56) %0, i32 noundef -1, ptr noundef nonnull %178)
  br label %.sink.split364

.sink.split364:                                   ; preds = %195, %211, %227, %219, %203, %187
  %.sink366 = phi ptr [ %188, %187 ], [ %204, %203 ], [ %220, %219 ], [ %228, %227 ], [ %212, %211 ], [ %196, %195 ]
  %229 = load i32, ptr %.sink366, align 4, !tbaa !8
  %230 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN10voxelFieldIiEclEiim(ptr noundef nonnull align 8 dereferenceable(56) %0, i32 noundef %.0263334, i32 noundef %.0264340, i64 noundef %indvars.iv356)
  store i32 %229, ptr %230, align 4, !tbaa !8
  %231 = add nsw i64 %.10335, 1
  br label %232

232:                                              ; preds = %.sink.split364, %224, %221, %.lr.ph337
  %.11 = phi i64 [ %.10335, %224 ], [ %.10335, %221 ], [ %.10335, %.lr.ph337 ], [ %231, %.sink.split364 ]
  %233 = add nsw i32 %.0263334, -1
  %234 = icmp sgt i32 %.0263334, 1
  br i1 %234, label %.lr.ph337, label %._crit_edge338, !llvm.loop !18

235:                                              ; preds = %._crit_edge350
  %236 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEx(ptr noundef nonnull align 8 dereferenceable(8) %167, i64 noundef %.8.lcssa)
          to label %237 unwind label %89

237:                                              ; preds = %235
  %238 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %236, ptr noundef nonnull @.str.28)
          to label %239 unwind label %89

239:                                              ; preds = %237
  %240 = trunc i64 %.8.lcssa to i32
  call void @_ZN10voxelFieldIiED2Ev(ptr noundef nonnull align 8 dereferenceable(56) %5) #4
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %5) #4
  ret i32 %240
}

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZNK10voxelFieldIiE2nxEv(ptr noundef nonnull align 8 dereferenceable(56)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZNK10voxelFieldIiE2nzEv(ptr noundef nonnull align 8 dereferenceable(56)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZNK10voxelFieldIiE2nyEv(ptr noundef nonnull align 8 dereferenceable(56)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN10voxelFieldIiEC2ERKS0_(ptr noundef nonnull align 8 dereferenceable(56), ptr noundef nonnull align 8 dereferenceable(56)) unnamed_addr #3 align 2

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

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

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

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

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

attributes #0 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { inlinehint mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { 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 = distinct !{!5, !6}
!6 = !{!"llvm.loop.mustprogress"}
!7 = distinct !{!7, !6}
!8 = !{!9, !9, i64 0}
!9 = !{!"int", !10, i64 0}
!10 = !{!"omnipotent char", !11, i64 0}
!11 = !{!"Simple C++ TBAA"}
!12 = distinct !{!12, !6}
!13 = distinct !{!13, !6}
!14 = distinct !{!14, !6}
!15 = distinct !{!15, !6}
!16 = distinct !{!16, !6}
!17 = distinct !{!17, !6}
!18 = distinct !{!18, !6}


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