; LLVM IR from ImperialCollegeLondon/pnflow :: src/pnm/pnextract (writers_vtk)

; 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.var3 = type { double, double, double }
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<var3<double>, std::allocator<var3<double>>>::_Vector_impl" }
%"struct.std::_Vector_base<var3<double>, std::allocator<var3<double>>>::_Vector_impl" = type { %"struct.std::_Vector_base<var3<double>, std::allocator<var3<double>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<var3<double>, std::allocator<var3<double>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.3" = type { %"struct.std::_Vector_base.4" }
%"struct.std::_Vector_base.4" = type { %"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl" }
%"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl" = type { %"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl_data" }
%"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.29" = type { %"struct.std::_Vector_base.30" }
%"struct.std::_Vector_base.30" = type { %"struct.std::_Vector_base<float, std::allocator<float>>::_Vector_impl" }
%"struct.std::_Vector_base<float, std::allocator<float>>::_Vector_impl" = type { %"struct.std::_Vector_base<float, std::allocator<float>>::_Vector_impl_data" }
%"struct.std::_Vector_base<float, std::allocator<float>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::basic_ofstream" = type { %"class.std::basic_ostream.base", %"class.std::basic_filebuf", %"class.std::basic_ios" }
%"class.std::basic_ostream.base" = type { ptr }
%"class.std::basic_filebuf" = type { %"class.std::basic_streambuf", %union.pthread_mutex_t, %"class.std::__basic_file", i32, %struct.__mbstate_t, %struct.__mbstate_t, %struct.__mbstate_t, ptr, i64, i8, i8, i8, i8, ptr, ptr, i8, ptr, ptr, i64, ptr, ptr }
%"class.std::basic_streambuf" = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, %"class.std::locale" }
%union.pthread_mutex_t = type { %struct.__pthread_mutex_s }
%struct.__pthread_mutex_s = type { i32, i32, i32, i32, i32, i16, i16, %struct.__pthread_internal_list }
%struct.__pthread_internal_list = type { ptr, ptr }
%"class.std::__basic_file" = type <{ ptr, i8, [7 x i8] }>
%struct.__mbstate_t = type { i32, %union.anon.39 }
%union.anon.39 = type { i32 }
%"class.std::allocator.8" = type { i8 }
%class.throatNE = type { i32, i32, i32, i32, i32, i16, i16, %"class.std::vector.16", %"class.std::vector.16", %class.var3 }
%"class.std::vector.16" = type { %"struct.std::_Vector_base.17" }
%"struct.std::_Vector_base.17" = type { %"struct.std::_Vector_base<voxel *, std::allocator<voxel *>>::_Vector_impl" }
%"struct.std::_Vector_base<voxel *, std::allocator<voxel *>>::_Vector_impl" = type { %"struct.std::_Vector_base<voxel *, std::allocator<voxel *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<voxel *, std::allocator<voxel *>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%class.medialBall = type { ptr, float, float, float, i16, float, i16, i16, i16, i16, i16, ptr, ptr, ptr }

@.str.4 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [14 x i8], align 1
@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@.str.29 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [33 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

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

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

declare i32 @__gxx_personality_v0(...)

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK4var3IdEplERKS0_(ptr dead_on_unwind noalias writable sret(%class.var3) align 8, ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK4var3IdEmlEd(ptr dead_on_unwind noalias writable sret(%class.var3) align 8, ptr noundef nonnull align 8 dereferenceable(24), double noundef) #2 align 2

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_Z15vtkWriter_startB5cxx11mm(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, i64 noundef, i64 noundef) #2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) #3

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_Z16vtkWriter_finishB5cxx11v(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8) #2

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZNK8throatNE4mb22Ev(ptr noundef nonnull align 8 dereferenceable(96)) #1 align 2

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

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

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

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

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_PKS5_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) #3

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

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(32)) #3

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

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c(ptr noundef nonnull align 8 dereferenceable(8), i8 noundef signext) #3

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

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

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

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef, ptr noundef nonnull align 8 dereferenceable(32)) #2

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef ptr @_ZNK10medialBall11mastrSphereEv(ptr noundef nonnull align 8 dereferenceable(64)) #2 align 2

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

; Function Attrs: mustprogress uwtable
define dso_local void @_Z19vtuWriteThroatMbMbsNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIP8throatNESaIS7_EES5_IP6poreNESaISD_EERK10voxelFieldIiEd4var3IdE(ptr noundef %0, ptr noundef nonnull align 8 dereferenceable(24) %1, ptr noundef %2, ptr noundef nonnull align 8 dereferenceable(56) %3, double noundef %4, ptr noundef byval(%class.var3) align 8 %5) #2 personality ptr @__gxx_personality_v0 {
  %7 = alloca ptr, align 8
  %8 = alloca ptr, align 8
  %9 = alloca ptr, align 8
  %10 = alloca ptr, align 8
  %11 = alloca double, align 8
  %12 = alloca %"class.std::__cxx11::basic_string", align 8
  %13 = alloca %"class.std::__cxx11::basic_string", align 8
  %14 = alloca ptr, align 8
  %15 = alloca i32, align 4
  %16 = alloca %"class.std::vector", align 8
  %17 = alloca %"class.std::vector.3", align 8
  %18 = alloca %"class.std::vector.3", align 8
  %19 = alloca %"class.std::vector.3", align 8
  %20 = alloca %"class.std::vector.29", align 8
  %21 = alloca %"class.std::vector.3", align 8
  %22 = alloca i32, align 4
  %23 = alloca i32, align 4
  %24 = alloca i32, align 4
  %25 = alloca i32, align 4
  %26 = alloca i32, align 4
  %27 = alloca i64, align 8
  %28 = alloca ptr, align 8
  %29 = alloca ptr, align 8
  %30 = alloca ptr, align 8
  %31 = alloca ptr, align 8
  %32 = alloca %"class.std::basic_ofstream", align 8
  %33 = alloca %"class.std::__cxx11::basic_string", align 8
  %34 = alloca %"class.std::__cxx11::basic_string", align 8
  %35 = alloca i64, align 8
  %36 = alloca %class.var3, align 8
  %37 = alloca %class.var3, align 8
  %38 = alloca %"class.std::__cxx11::basic_string", align 8
  %39 = alloca %"class.std::allocator.8", align 1
  %40 = alloca %"class.std::__cxx11::basic_string", align 8
  %41 = alloca %"class.std::allocator.8", align 1
  %42 = alloca i64, align 8
  %43 = alloca i64, align 8
  %44 = alloca %"class.std::__cxx11::basic_string", align 8
  %45 = alloca %"class.std::allocator.8", align 1
  %46 = alloca %"class.std::__cxx11::basic_string", align 8
  %47 = alloca %"class.std::allocator.8", align 1
  %48 = alloca %"class.std::__cxx11::basic_string", align 8
  %49 = alloca %"class.std::allocator.8", align 1
  %50 = alloca %"class.std::__cxx11::basic_string", align 8
  %51 = alloca %"class.std::allocator.8", align 1
  %52 = alloca %"class.std::__cxx11::basic_string", align 8
  %53 = alloca %"class.std::allocator.8", align 1
  %54 = alloca %"class.std::__cxx11::basic_string", align 8
  %55 = alloca %"class.std::allocator.8", align 1
  %56 = alloca %"class.std::__cxx11::basic_string", align 8
  %57 = alloca %"class.std::allocator.8", align 1
  %58 = alloca %"class.std::__cxx11::basic_string", align 8
  %59 = alloca %"class.std::allocator.8", align 1
  %60 = alloca %"class.std::__cxx11::basic_string", align 8
  store ptr %0, ptr %7, align 8, !tbaa !5
  store ptr %1, ptr %8, align 8, !tbaa !5
  store ptr %2, ptr %9, align 8, !tbaa !5
  store ptr %3, ptr %10, align 8, !tbaa !5
  store double %4, ptr %11, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 32, ptr %12) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %13) #5
  call void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %13, ptr noundef @.str.33, ptr noundef nonnull align 8 dereferenceable(32) %0)
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %12, ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef @.str.4)
          to label %61 unwind label %96

61:                                               ; preds = %6
  %62 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(32) %12)
          to label %63 unwind label %100

63:                                               ; preds = %61
  %64 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %62, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %65 unwind label %100

65:                                               ; preds = %63
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %13) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %12) #5
  call void @llvm.lifetime.start.p0(i64 24, ptr %16) #5
  call void @_ZNSt6vectorI4var3IdESaIS1_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %16) #5
  call void @llvm.lifetime.start.p0(i64 24, ptr %17) #5
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %17) #5
  call void @llvm.lifetime.start.p0(i64 24, ptr %18) #5
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %18) #5
  call void @llvm.lifetime.start.p0(i64 24, ptr %19) #5
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %19) #5
  call void @llvm.lifetime.start.p0(i64 24, ptr %20) #5
  call void @_ZNSt6vectorIfSaIfEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %20) #5
  call void @llvm.lifetime.start.p0(i64 24, ptr %21) #5
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %21) #5
  %66 = load ptr, ptr %8, align 8, !tbaa !5
  %67 = call noundef i64 @_ZNKSt6vectorIP8throatNESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %66) #5
  %68 = mul i64 %67, 20
  invoke void @_ZNSt6vectorI4var3IdESaIS1_EE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %16, i64 noundef %68)
          to label %69 unwind label %105

69:                                               ; preds = %65
  %70 = load ptr, ptr %8, align 8, !tbaa !5
  %71 = call noundef i64 @_ZNKSt6vectorIP8throatNESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %70) #5
  %72 = mul i64 %71, 20
  invoke void @_ZNSt6vectorIiSaIiEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %21, i64 noundef %72)
          to label %73 unwind label %105

73:                                               ; preds = %69
  %74 = load ptr, ptr %8, align 8, !tbaa !5
  %75 = call noundef i64 @_ZNKSt6vectorIP8throatNESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %74) #5
  %76 = mul i64 %75, 20
  invoke void @_ZNSt6vectorIiSaIiEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef %76)
          to label %77 unwind label %105

77:                                               ; preds = %73
  %78 = load ptr, ptr %8, align 8, !tbaa !5
  %79 = call noundef i64 @_ZNKSt6vectorIP8throatNESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %78) #5
  %80 = mul i64 %79, 20
  invoke void @_ZNSt6vectorIiSaIiEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %18, i64 noundef %80)
          to label %81 unwind label %105

81:                                               ; preds = %77
  %82 = load ptr, ptr %8, align 8, !tbaa !5
  %83 = call noundef i64 @_ZNKSt6vectorIP8throatNESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %82) #5
  %84 = mul i64 %83, 20
  invoke void @_ZNSt6vectorIiSaIiEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %19, i64 noundef %84)
          to label %85 unwind label %105

85:                                               ; preds = %81
  %86 = load ptr, ptr %8, align 8, !tbaa !5
  %87 = call noundef i64 @_ZNKSt6vectorIP8throatNESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %86) #5
  %88 = mul i64 %87, 20
  invoke void @_ZNSt6vectorIfSaIfEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %20, i64 noundef %88)
          to label %89 unwind label %105

89:                                               ; preds = %85
  call void @llvm.lifetime.start.p0(i64 4, ptr %22) #5
  store i32 0, ptr %22, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %23) #5
  store i32 0, ptr %23, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %24) #5
  store i32 0, ptr %24, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %25) #5
  store i32 0, ptr %25, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %26) #5
  store i32 0, ptr %26, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %27) #5
  store i64 0, ptr %27, align 8, !tbaa !13
  br label %90

90:                                               ; preds = %285, %89
  %91 = load i64, ptr %27, align 8, !tbaa !13
  %92 = load ptr, ptr %8, align 8, !tbaa !5
  %93 = call noundef i64 @_ZNKSt6vectorIP8throatNESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %92) #5
  %94 = icmp ult i64 %91, %93
  br i1 %94, label %109, label %95

95:                                               ; preds = %90
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #5
  br label %290

96:                                               ; preds = %6
  %97 = landingpad { ptr, i32 }
          cleanup
  %98 = extractvalue { ptr, i32 } %97, 0
  store ptr %98, ptr %14, align 8
  %99 = extractvalue { ptr, i32 } %97, 1
  store i32 %99, ptr %15, align 4
  br label %104

100:                                              ; preds = %63, %61
  %101 = landingpad { ptr, i32 }
          cleanup
  %102 = extractvalue { ptr, i32 } %101, 0
  store ptr %102, ptr %14, align 8
  %103 = extractvalue { ptr, i32 } %101, 1
  store i32 %103, ptr %15, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #5
  br label %104

104:                                              ; preds = %100, %96
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %13) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %12) #5
  br label %581

105:                                              ; preds = %85, %81, %77, %73, %69, %65
  %106 = landingpad { ptr, i32 }
          cleanup
  %107 = extractvalue { ptr, i32 } %106, 0
  store ptr %107, ptr %14, align 8
  %108 = extractvalue { ptr, i32 } %106, 1
  store i32 %108, ptr %15, align 4
  br label %580

109:                                              ; preds = %90
  call void @llvm.lifetime.start.p0(i64 8, ptr %28) #5
  %110 = load ptr, ptr %8, align 8, !tbaa !5
  %111 = load i64, ptr %27, align 8, !tbaa !13
  %112 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIP8throatNESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %110, i64 noundef %111) #5
  %113 = load ptr, ptr %112, align 8, !tbaa !5
  store ptr %113, ptr %28, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %29) #5
  %114 = load ptr, ptr %28, align 8, !tbaa !5
  %115 = invoke noundef ptr @_ZNK8throatNE4mb22Ev(ptr noundef nonnull align 8 dereferenceable(96) %114)
          to label %116 unwind label %130

116:                                              ; preds = %109
  store ptr %115, ptr %29, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %30) #5
  %117 = load ptr, ptr %28, align 8, !tbaa !5
  %118 = invoke noundef ptr @_ZNK8throatNE4mb11Ev(ptr noundef nonnull align 8 dereferenceable(96) %117)
          to label %119 unwind label %134

119:                                              ; preds = %116
  store ptr %118, ptr %30, align 8, !tbaa !5
  %120 = load ptr, ptr %30, align 8, !tbaa !5
  %121 = icmp ne ptr %120, null
  br i1 %121, label %122, label %138

122:                                              ; preds = %119
  %123 = load ptr, ptr %30, align 8, !tbaa !5
  %124 = load ptr, ptr %29, align 8, !tbaa !5
  %125 = load i64, ptr %27, align 8, !tbaa !13
  %126 = call noundef i64 @_ZNKSt6vectorIP6poreNESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %2) #5
  %127 = mul i64 %126, 10
  %128 = add i64 %125, %127
  invoke void @_Z11addMbMbMeshRK10medialBallPS0_mRSt6vectorI4var3IdESaIS5_EERS3_IiSaIiEESB_SB_RS3_IfSaIfEESB_(ptr noundef nonnull align 8 dereferenceable(64) %123, ptr noundef %124, i64 noundef %128, ptr noundef nonnull align 8 dereferenceable(24) %16, ptr noundef nonnull align 8 dereferenceable(24) %17, ptr noundef nonnull align 8 dereferenceable(24) %18, ptr noundef nonnull align 8 dereferenceable(24) %19, ptr noundef nonnull align 8 dereferenceable(24) %20, ptr noundef nonnull align 8 dereferenceable(24) %21)
          to label %129 unwind label %134

129:                                              ; preds = %122
  br label %147

130:                                              ; preds = %109
  %131 = landingpad { ptr, i32 }
          cleanup
  %132 = extractvalue { ptr, i32 } %131, 0
  store ptr %132, ptr %14, align 8
  %133 = extractvalue { ptr, i32 } %131, 1
  store i32 %133, ptr %15, align 4
  br label %289

134:                                              ; preds = %143, %122, %116
  %135 = landingpad { ptr, i32 }
          cleanup
  %136 = extractvalue { ptr, i32 } %135, 0
  store ptr %136, ptr %14, align 8
  %137 = extractvalue { ptr, i32 } %135, 1
  store i32 %137, ptr %15, align 4
  br label %288

138:                                              ; preds = %119
  %139 = load ptr, ptr %28, align 8, !tbaa !5
  %140 = getelementptr inbounds %class.throatNE, ptr %139, i32 0, i32 1
  %141 = load i32, ptr %140, align 4, !tbaa !15
  %142 = icmp sgt i32 %141, 2
  br i1 %142, label %143, label %146

143:                                              ; preds = %138
  %144 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.34)
          to label %145 unwind label %134

145:                                              ; preds = %143
  br label %146

146:                                              ; preds = %145, %138
  br label %147

147:                                              ; preds = %146, %129
  call void @llvm.lifetime.start.p0(i64 8, ptr %31) #5
  %148 = load ptr, ptr %29, align 8, !tbaa !5
  %149 = invoke noundef ptr @_ZNK10medialBall11mastrSphereEv(ptr noundef nonnull align 8 dereferenceable(64) %148)
          to label %150 unwind label %177

150:                                              ; preds = %147
  store ptr %149, ptr %31, align 8, !tbaa !5
  %151 = load ptr, ptr %28, align 8, !tbaa !5
  %152 = getelementptr inbounds %class.throatNE, ptr %151, i32 0, i32 2
  %153 = load i32, ptr %152, align 8, !tbaa !23
  %154 = load ptr, ptr %10, align 8, !tbaa !5
  %155 = load ptr, ptr %31, align 8, !tbaa !5
  %156 = getelementptr inbounds %class.medialBall, ptr %155, i32 0, i32 1
  %157 = load float, ptr %156, align 8, !tbaa !24
  %158 = fadd float %157, 1.000000e+00
  %159 = fptosi float %158 to i32
  %160 = load ptr, ptr %31, align 8, !tbaa !5
  %161 = getelementptr inbounds %class.medialBall, ptr %160, i32 0, i32 2
  %162 = load float, ptr %161, align 4, !tbaa !27
  %163 = fadd float %162, 1.000000e+00
  %164 = fptosi float %163 to i32
  %165 = load ptr, ptr %31, align 8, !tbaa !5
  %166 = getelementptr inbounds %class.medialBall, ptr %165, i32 0, i32 3
  %167 = load float, ptr %166, align 8, !tbaa !28
  %168 = fadd float %167, 1.000000e+00
  %169 = fptoui float %168 to i64
  %170 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiEclEiim(ptr noundef nonnull align 8 dereferenceable(56) %154, i32 noundef %159, i32 noundef %164, i64 noundef %169)
          to label %171 unwind label %177

171:                                              ; preds = %150
  %172 = load i32, ptr %170, align 4, !tbaa !11
  %173 = icmp ne i32 %153, %172
  br i1 %173, label %174, label %181

174:                                              ; preds = %171
  %175 = load i32, ptr %26, align 4, !tbaa !11
  %176 = add nsw i32 %175, 1
  store i32 %176, ptr %26, align 4, !tbaa !11
  br label %181

177:                                              ; preds = %264, %237, %234, %197, %150, %147
  %178 = landingpad { ptr, i32 }
          cleanup
  %179 = extractvalue { ptr, i32 } %178, 0
  store ptr %179, ptr %14, align 8
  %180 = extractvalue { ptr, i32 } %178, 1
  store i32 %180, ptr %15, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #5
  br label %288

181:                                              ; preds = %174, %171
  %182 = load ptr, ptr %29, align 8, !tbaa !5
  %183 = getelementptr inbounds %class.medialBall, ptr %182, i32 0, i32 11
  %184 = load ptr, ptr %183, align 8, !tbaa !29
  %185 = load ptr, ptr %29, align 8, !tbaa !5
  %186 = icmp eq ptr %184, %185
  br i1 %186, label %187, label %190

187:                                              ; preds = %181
  %188 = load i32, ptr %23, align 4, !tbaa !11
  %189 = add nsw i32 %188, 1
  store i32 %189, ptr %23, align 4, !tbaa !11
  br label %190

190:                                              ; preds = %187, %181
  br label %191

191:                                              ; preds = %206, %190
  %192 = load ptr, ptr %29, align 8, !tbaa !5
  %193 = getelementptr inbounds %class.medialBall, ptr %192, i32 0, i32 11
  %194 = load ptr, ptr %193, align 8, !tbaa !29
  %195 = load ptr, ptr %29, align 8, !tbaa !5
  %196 = icmp ne ptr %194, %195
  br i1 %196, label %197, label %210

197:                                              ; preds = %191
  %198 = load ptr, ptr %29, align 8, !tbaa !5
  %199 = load ptr, ptr %29, align 8, !tbaa !5
  %200 = getelementptr inbounds %class.medialBall, ptr %199, i32 0, i32 11
  %201 = load ptr, ptr %200, align 8, !tbaa !29
  %202 = load ptr, ptr %28, align 8, !tbaa !5
  %203 = getelementptr inbounds %class.throatNE, ptr %202, i32 0, i32 2
  %204 = load i32, ptr %203, align 8, !tbaa !23
  %205 = sext i32 %204 to i64
  invoke void @_Z11addMbMbMeshRK10medialBallPS0_mRSt6vectorI4var3IdESaIS5_EERS3_IiSaIiEESB_SB_RS3_IfSaIfEESB_(ptr noundef nonnull align 8 dereferenceable(64) %198, ptr noundef %201, i64 noundef %205, ptr noundef nonnull align 8 dereferenceable(24) %16, ptr noundef nonnull align 8 dereferenceable(24) %17, ptr noundef nonnull align 8 dereferenceable(24) %18, ptr noundef nonnull align 8 dereferenceable(24) %19, ptr noundef nonnull align 8 dereferenceable(24) %20, ptr noundef nonnull align 8 dereferenceable(24) %21)
          to label %206 unwind label %177

206:                                              ; preds = %197
  %207 = load ptr, ptr %29, align 8, !tbaa !5
  %208 = getelementptr inbounds %class.medialBall, ptr %207, i32 0, i32 11
  %209 = load ptr, ptr %208, align 8, !tbaa !29
  store ptr %209, ptr %29, align 8, !tbaa !5
  br label %191, !llvm.loop !30

210:                                              ; preds = %191
  %211 = load ptr, ptr %30, align 8, !tbaa !5
  %212 = icmp ne ptr %211, null
  br i1 %212, label %213, label %222

213:                                              ; preds = %210
  %214 = load ptr, ptr %30, align 8, !tbaa !5
  %215 = getelementptr inbounds %class.medialBall, ptr %214, i32 0, i32 11
  %216 = load ptr, ptr %215, align 8, !tbaa !29
  %217 = load ptr, ptr %30, align 8, !tbaa !5
  %218 = icmp eq ptr %216, %217
  br i1 %218, label %219, label %222

219:                                              ; preds = %213
  %220 = load i32, ptr %22, align 4, !tbaa !11
  %221 = add nsw i32 %220, 1
  store i32 %221, ptr %22, align 4, !tbaa !11
  br label %222

222:                                              ; preds = %219, %213, %210
  br label %223

223:                                              ; preds = %273, %222
  %224 = load ptr, ptr %30, align 8, !tbaa !5
  %225 = icmp ne ptr %224, null
  br i1 %225, label %226, label %232

226:                                              ; preds = %223
  %227 = load ptr, ptr %30, align 8, !tbaa !5
  %228 = getelementptr inbounds %class.medialBall, ptr %227, i32 0, i32 11
  %229 = load ptr, ptr %228, align 8, !tbaa !29
  %230 = load ptr, ptr %30, align 8, !tbaa !5
  %231 = icmp ne ptr %229, %230
  br label %232

232:                                              ; preds = %226, %223
  %233 = phi i1 [ false, %223 ], [ %231, %226 ]
  br i1 %233, label %234, label %277

234:                                              ; preds = %232
  %235 = load ptr, ptr %30, align 8, !tbaa !5
  %236 = invoke noundef ptr @_ZNK10medialBall11mastrSphereEv(ptr noundef nonnull align 8 dereferenceable(64) %235)
          to label %237 unwind label %177

237:                                              ; preds = %234
  store ptr %236, ptr %31, align 8, !tbaa !5
  %238 = load ptr, ptr %28, align 8, !tbaa !5
  %239 = getelementptr inbounds %class.throatNE, ptr %238, i32 0, i32 1
  %240 = load i32, ptr %239, align 4, !tbaa !15
  %241 = load ptr, ptr %10, align 8, !tbaa !5
  %242 = load ptr, ptr %31, align 8, !tbaa !5
  %243 = getelementptr inbounds %class.medialBall, ptr %242, i32 0, i32 1
  %244 = load float, ptr %243, align 8, !tbaa !24
  %245 = fadd float %244, 1.000000e+00
  %246 = fptosi float %245 to i32
  %247 = load ptr, ptr %31, align 8, !tbaa !5
  %248 = getelementptr inbounds %class.medialBall, ptr %247, i32 0, i32 2
  %249 = load float, ptr %248, align 4, !tbaa !27
  %250 = fadd float %249, 1.000000e+00
  %251 = fptosi float %250 to i32
  %252 = load ptr, ptr %31, align 8, !tbaa !5
  %253 = getelementptr inbounds %class.medialBall, ptr %252, i32 0, i32 3
  %254 = load float, ptr %253, align 8, !tbaa !28
  %255 = fadd float %254, 1.000000e+00
  %256 = fptoui float %255 to i64
  %257 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiEclEiim(ptr noundef nonnull align 8 dereferenceable(56) %241, i32 noundef %246, i32 noundef %251, i64 noundef %256)
          to label %258 unwind label %177

258:                                              ; preds = %237
  %259 = load i32, ptr %257, align 4, !tbaa !11
  %260 = icmp ne i32 %240, %259
  br i1 %260, label %261, label %264

261:                                              ; preds = %258
  %262 = load i32, ptr %25, align 4, !tbaa !11
  %263 = add nsw i32 %262, 1
  store i32 %263, ptr %25, align 4, !tbaa !11
  br label %264

264:                                              ; preds = %261, %258
  %265 = load ptr, ptr %30, align 8, !tbaa !5
  %266 = load ptr, ptr %30, align 8, !tbaa !5
  %267 = getelementptr inbounds %class.medialBall, ptr %266, i32 0, i32 11
  %268 = load ptr, ptr %267, align 8, !tbaa !29
  %269 = load ptr, ptr %28, align 8, !tbaa !5
  %270 = getelementptr inbounds %class.throatNE, ptr %269, i32 0, i32 1
  %271 = load i32, ptr %270, align 4, !tbaa !15
  %272 = sext i32 %271 to i64
  invoke void @_Z11addMbMbMeshRK10medialBallPS0_mRSt6vectorI4var3IdESaIS5_EERS3_IiSaIiEESB_SB_RS3_IfSaIfEESB_(ptr noundef nonnull align 8 dereferenceable(64) %265, ptr noundef %268, i64 noundef %272, ptr noundef nonnull align 8 dereferenceable(24) %16, ptr noundef nonnull align 8 dereferenceable(24) %17, ptr noundef nonnull align 8 dereferenceable(24) %18, ptr noundef nonnull align 8 dereferenceable(24) %19, ptr noundef nonnull align 8 dereferenceable(24) %20, ptr noundef nonnull align 8 dereferenceable(24) %21)
          to label %273 unwind label %177

273:                                              ; preds = %264
  %274 = load ptr, ptr %30, align 8, !tbaa !5
  %275 = getelementptr inbounds %class.medialBall, ptr %274, i32 0, i32 11
  %276 = load ptr, ptr %275, align 8, !tbaa !29
  store ptr %276, ptr %30, align 8, !tbaa !5
  br label %223, !llvm.loop !32

277:                                              ; preds = %232
  %278 = load ptr, ptr %30, align 8, !tbaa !5
  %279 = load ptr, ptr %29, align 8, !tbaa !5
  %280 = icmp eq ptr %278, %279
  br i1 %280, label %281, label %284

281:                                              ; preds = %277
  %282 = load i32, ptr %24, align 4, !tbaa !11
  %283 = add nsw i32 %282, 1
  store i32 %283, ptr %24, align 4, !tbaa !11
  br label %284

284:                                              ; preds = %281, %277
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #5
  br label %285

285:                                              ; preds = %284
  %286 = load i64, ptr %27, align 8, !tbaa !13
  %287 = add i64 %286, 1
  store i64 %287, ptr %27, align 8, !tbaa !13
  br label %90, !llvm.loop !33

288:                                              ; preds = %177, %134
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #5
  br label %289

289:                                              ; preds = %288, %130
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #5
  br label %579

290:                                              ; preds = %95
  %291 = load i32, ptr %22, align 4, !tbaa !11
  %292 = icmp ne i32 %291, 0
  br i1 %292, label %305, label %293

293:                                              ; preds = %290
  %294 = load i32, ptr %23, align 4, !tbaa !11
  %295 = icmp ne i32 %294, 0
  br i1 %295, label %305, label %296

296:                                              ; preds = %293
  %297 = load i32, ptr %25, align 4, !tbaa !11
  %298 = icmp ne i32 %297, 0
  br i1 %298, label %305, label %299

299:                                              ; preds = %296
  %300 = load i32, ptr %24, align 4, !tbaa !11
  %301 = icmp ne i32 %300, 0
  br i1 %301, label %305, label %302

302:                                              ; preds = %299
  %303 = load i32, ptr %26, align 4, !tbaa !11
  %304 = icmp ne i32 %303, 0
  br i1 %304, label %305, label %337

305:                                              ; preds = %302, %299, %296, %293, %290
  %306 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.35)
          to label %307 unwind label %333

307:                                              ; preds = %305
  %308 = load i32, ptr %22, align 4, !tbaa !11
  %309 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %306, i32 noundef %308)
          to label %310 unwind label %333

310:                                              ; preds = %307
  %311 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %309, ptr noundef @.str.36)
          to label %312 unwind label %333

312:                                              ; preds = %310
  %313 = load i32, ptr %23, align 4, !tbaa !11
  %314 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %311, i32 noundef %313)
          to label %315 unwind label %333

315:                                              ; preds = %312
  %316 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %314, ptr noundef @.str.37)
          to label %317 unwind label %333

317:                                              ; preds = %315
  %318 = load i32, ptr %25, align 4, !tbaa !11
  %319 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %316, i32 noundef %318)
          to label %320 unwind label %333

320:                                              ; preds = %317
  %321 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %319, ptr noundef @.str.38)
          to label %322 unwind label %333

322:                                              ; preds = %320
  %323 = load i32, ptr %24, align 4, !tbaa !11
  %324 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %321, i32 noundef %323)
          to label %325 unwind label %333

325:                                              ; preds = %322
  %326 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %324, ptr noundef @.str.39)
          to label %327 unwind label %333

327:                                              ; preds = %325
  %328 = load i32, ptr %26, align 4, !tbaa !11
  %329 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %326, i32 noundef %328)
          to label %330 unwind label %333

330:                                              ; preds = %327
  %331 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %329, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %332 unwind label %333

332:                                              ; preds = %330
  br label %337

333:                                              ; preds = %330, %327, %325, %322, %320, %317, %315, %312, %310, %307, %305
  %334 = landingpad { ptr, i32 }
          cleanup
  %335 = extractvalue { ptr, i32 } %334, 0
  store ptr %335, ptr %14, align 8
  %336 = extractvalue { ptr, i32 } %334, 1
  store i32 %336, ptr %15, align 4
  br label %579

337:                                              ; preds = %332, %302
  call void @llvm.lifetime.start.p0(i64 512, ptr %32) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %33) #5
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %33, ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef @.str.4)
          to label %338 unwind label %354

338:                                              ; preds = %337
  invoke void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(248) %32, ptr noundef nonnull align 8 dereferenceable(32) %33, i32 noundef 16)
          to label %339 unwind label %358

339:                                              ; preds = %338
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %33) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %34) #5
  %340 = call noundef i64 @_ZNKSt6vectorI4var3IdESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %16) #5
  %341 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %19) #5
  invoke void @_Z15vtkWriter_startB5cxx11mm(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %34, i64 noundef %340, i64 noundef %341)
          to label %342 unwind label %363

342:                                              ; preds = %339
  %343 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %32, ptr noundef nonnull align 8 dereferenceable(32) %34)
          to label %344 unwind label %367

344:                                              ; preds = %342
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %34) #5
  %345 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %32, ptr noundef @.str.5)
          to label %346 unwind label %372

346:                                              ; preds = %344
  %347 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %32, ptr noundef @.str.6)
          to label %348 unwind label %372

348:                                              ; preds = %346
  call void @llvm.lifetime.start.p0(i64 8, ptr %35) #5
  store i64 0, ptr %35, align 8, !tbaa !13
  br label %349

349:                                              ; preds = %391, %348
  %350 = load i64, ptr %35, align 8, !tbaa !13
  %351 = call noundef i64 @_ZNKSt6vectorI4var3IdESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %16) #5
  %352 = icmp ult i64 %350, %351
  br i1 %352, label %376, label %353

353:                                              ; preds = %349
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #5
  br label %398

354:                                              ; preds = %337
  %355 = landingpad { ptr, i32 }
          cleanup
  %356 = extractvalue { ptr, i32 } %355, 0
  store ptr %356, ptr %14, align 8
  %357 = extractvalue { ptr, i32 } %355, 1
  store i32 %357, ptr %15, align 4
  br label %362

358:                                              ; preds = %338
  %359 = landingpad { ptr, i32 }
          cleanup
  %360 = extractvalue { ptr, i32 } %359, 0
  store ptr %360, ptr %14, align 8
  %361 = extractvalue { ptr, i32 } %359, 1
  store i32 %361, ptr %15, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #5
  br label %362

362:                                              ; preds = %358, %354
  call void @llvm.lifetime.end.p0(i64 32, ptr %33) #5
  br label %578

363:                                              ; preds = %339
  %364 = landingpad { ptr, i32 }
          cleanup
  %365 = extractvalue { ptr, i32 } %364, 0
  store ptr %365, ptr %14, align 8
  %366 = extractvalue { ptr, i32 } %364, 1
  store i32 %366, ptr %15, align 4
  br label %371

367:                                              ; preds = %342
  %368 = landingpad { ptr, i32 }
          cleanup
  %369 = extractvalue { ptr, i32 } %368, 0
  store ptr %369, ptr %14, align 8
  %370 = extractvalue { ptr, i32 } %368, 1
  store i32 %370, ptr %15, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #5
  br label %371

371:                                              ; preds = %367, %363
  call void @llvm.lifetime.end.p0(i64 32, ptr %34) #5
  br label %577

372:                                              ; preds = %506, %498, %496, %488, %486, %484, %459, %457, %455, %453, %411, %409, %407, %402, %400, %398, %346, %344
  %373 = landingpad { ptr, i32 }
          cleanup
  %374 = extractvalue { ptr, i32 } %373, 0
  store ptr %374, ptr %14, align 8
  %375 = extractvalue { ptr, i32 } %373, 1
  store i32 %375, ptr %15, align 4
  br label %577

376:                                              ; preds = %349
  call void @llvm.lifetime.start.p0(i64 24, ptr %36) #5
  call void @llvm.lifetime.start.p0(i64 24, ptr %37) #5
  %377 = load i64, ptr %35, align 8, !tbaa !13
  %378 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorI4var3IdESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %16, i64 noundef %377) #5
  %379 = load double, ptr %11, align 8, !tbaa !9
  invoke void @_ZNK4var3IdEmlEd(ptr dead_on_unwind writable sret(%class.var3) align 8 %37, ptr noundef nonnull align 8 dereferenceable(24) %378, double noundef %379)
          to label %380 unwind label %394

380:                                              ; preds = %376
  invoke void @_ZNK4var3IdEplERKS0_(ptr dead_on_unwind writable sret(%class.var3) align 8 %36, ptr noundef nonnull align 8 dereferenceable(24) %37, ptr noundef nonnull align 8 dereferenceable(24) %5)
          to label %381 unwind label %394

381:                                              ; preds = %380
  %382 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZlsIdERSoS0_RK4var3IT_E(ptr noundef nonnull align 8 dereferenceable(8) %32, ptr noundef nonnull align 8 dereferenceable(24) %36)
          to label %383 unwind label %394

383:                                              ; preds = %381
  %384 = load i64, ptr %35, align 8, !tbaa !13
  %385 = and i64 %384, 31
  %386 = icmp eq i64 %385, 31
  %387 = zext i1 %386 to i64
  %388 = select i1 %386, i8 10, i8 32
  %389 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c(ptr noundef nonnull align 8 dereferenceable(8) %382, i8 noundef signext %388)
          to label %390 unwind label %394

390:                                              ; preds = %383
  call void @llvm.lifetime.end.p0(i64 24, ptr %37) #5
  call void @llvm.lifetime.end.p0(i64 24, ptr %36) #5
  br label %391

391:                                              ; preds = %390
  %392 = load i64, ptr %35, align 8, !tbaa !13
  %393 = add i64 %392, 1
  store i64 %393, ptr %35, align 8, !tbaa !13
  br label %349, !llvm.loop !34

394:                                              ; preds = %383, %381, %380, %376
  %395 = landingpad { ptr, i32 }
          cleanup
  %396 = extractvalue { ptr, i32 } %395, 0
  store ptr %396, ptr %14, align 8
  %397 = extractvalue { ptr, i32 } %395, 1
  store i32 %397, ptr %15, align 4
  call void @llvm.lifetime.end.p0(i64 24, ptr %37) #5
  call void @llvm.lifetime.end.p0(i64 24, ptr %36) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #5
  br label %577

398:                                              ; preds = %353
  %399 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %32, ptr noundef @.str.7)
          to label %400 unwind label %372

400:                                              ; preds = %398
  %401 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %32, ptr noundef @.str.8)
          to label %402 unwind label %372

402:                                              ; preds = %400
  %403 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %32, ptr noundef @.str.9)
          to label %404 unwind label %372

404:                                              ; preds = %402
  call void @llvm.lifetime.start.p0(i64 1, ptr %39) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %38, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %39)
          to label %405 unwind label %419

405:                                              ; preds = %404
  call void @llvm.lifetime.start.p0(i64 1, ptr %41) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %41) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %40, ptr noundef @.str.11, ptr noundef nonnull align 1 dereferenceable(1) %41)
          to label %406 unwind label %423

406:                                              ; preds = %405
  invoke void @_Z13writeVtuArrayIiEvRSt14basic_ofstreamIcSt11char_traitsIcEENSt7__cxx1112basic_stringIcS2_SaIcEEERKSt6vectorIT_SaISA_EES8_(ptr noundef nonnull align 8 dereferenceable(248) %32, ptr noundef %38, ptr noundef nonnull align 8 dereferenceable(24) %21, ptr noundef %40)
          to label %407 unwind label %427

407:                                              ; preds = %406
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %41) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %41) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %39) #5
  %408 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %32, ptr noundef @.str.12)
          to label %409 unwind label %372

409:                                              ; preds = %407
  %410 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %408, ptr noundef @.str.13)
          to label %411 unwind label %372

411:                                              ; preds = %409
  %412 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %410, ptr noundef @.str.14)
          to label %413 unwind label %372

413:                                              ; preds = %411
  call void @llvm.lifetime.start.p0(i64 8, ptr %42) #5
  store i64 0, ptr %42, align 8, !tbaa !13
  br label %414

414:                                              ; preds = %446, %413
  %415 = load i64, ptr %42, align 8, !tbaa !13
  %416 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %19) #5
  %417 = icmp ult i64 %415, %416
  br i1 %417, label %433, label %418

418:                                              ; preds = %414
  call void @llvm.lifetime.end.p0(i64 8, ptr %42) #5
  br label %453

419:                                              ; preds = %404
  %420 = landingpad { ptr, i32 }
          cleanup
  %421 = extractvalue { ptr, i32 } %420, 0
  store ptr %421, ptr %14, align 8
  %422 = extractvalue { ptr, i32 } %420, 1
  store i32 %422, ptr %15, align 4
  br label %432

423:                                              ; preds = %405
  %424 = landingpad { ptr, i32 }
          cleanup
  %425 = extractvalue { ptr, i32 } %424, 0
  store ptr %425, ptr %14, align 8
  %426 = extractvalue { ptr, i32 } %424, 1
  store i32 %426, ptr %15, align 4
  br label %431

427:                                              ; preds = %406
  %428 = landingpad { ptr, i32 }
          cleanup
  %429 = extractvalue { ptr, i32 } %428, 0
  store ptr %429, ptr %14, align 8
  %430 = extractvalue { ptr, i32 } %428, 1
  store i32 %430, ptr %15, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #5
  br label %431

431:                                              ; preds = %427, %423
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %41) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %41) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #5
  br label %432

432:                                              ; preds = %431, %419
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %39) #5
  br label %577

433:                                              ; preds = %414
  %434 = load i64, ptr %42, align 8, !tbaa !13
  %435 = mul i64 2, %434
  %436 = add i64 %435, 2
  %437 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %32, i64 noundef %436)
          to label %438 unwind label %449

438:                                              ; preds = %433
  %439 = load i64, ptr %42, align 8, !tbaa !13
  %440 = and i64 %439, 31
  %441 = icmp eq i64 %440, 31
  %442 = zext i1 %441 to i64
  %443 = select i1 %441, i8 10, i8 32
  %444 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c(ptr noundef nonnull align 8 dereferenceable(8) %437, i8 noundef signext %443)
          to label %445 unwind label %449

445:                                              ; preds = %438
  br label %446

446:                                              ; preds = %445
  %447 = load i64, ptr %42, align 8, !tbaa !13
  %448 = add i64 %447, 1
  store i64 %448, ptr %42, align 8, !tbaa !13
  br label %414, !llvm.loop !35

449:                                              ; preds = %438, %433
  %450 = landingpad { ptr, i32 }
          cleanup
  %451 = extractvalue { ptr, i32 } %450, 0
  store ptr %451, ptr %14, align 8
  %452 = extractvalue { ptr, i32 } %450, 1
  store i32 %452, ptr %15, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %42) #5
  br label %577

453:                                              ; preds = %418
  %454 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %32, ptr noundef @.str.7)
          to label %455 unwind label %372

455:                                              ; preds = %453
  %456 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %32, ptr noundef @.str.15)
          to label %457 unwind label %372

457:                                              ; preds = %455
  %458 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %456, ptr noundef @.str.16)
          to label %459 unwind label %372

459:                                              ; preds = %457
  %460 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %458, ptr noundef @.str.14)
          to label %461 unwind label %372

461:                                              ; preds = %459
  call void @llvm.lifetime.start.p0(i64 8, ptr %43) #5
  store i64 0, ptr %43, align 8, !tbaa !13
  br label %462

462:                                              ; preds = %477, %461
  %463 = load i64, ptr %43, align 8, !tbaa !13
  %464 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %19) #5
  %465 = icmp ult i64 %463, %464
  br i1 %465, label %467, label %466

466:                                              ; preds = %462
  call void @llvm.lifetime.end.p0(i64 8, ptr %43) #5
  br label %484

467:                                              ; preds = %462
  %468 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %32, i32 noundef 3)
          to label %469 unwind label %480

469:                                              ; preds = %467
  %470 = load i64, ptr %43, align 8, !tbaa !13
  %471 = and i64 %470, 31
  %472 = icmp eq i64 %471, 31
  %473 = zext i1 %472 to i64
  %474 = select i1 %472, i8 10, i8 32
  %475 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c(ptr noundef nonnull align 8 dereferenceable(8) %468, i8 noundef signext %474)
          to label %476 unwind label %480

476:                                              ; preds = %469
  br label %477

477:                                              ; preds = %476
  %478 = load i64, ptr %43, align 8, !tbaa !13
  %479 = add i64 %478, 1
  store i64 %479, ptr %43, align 8, !tbaa !13
  br label %462, !llvm.loop !36

480:                                              ; preds = %469, %467
  %481 = landingpad { ptr, i32 }
          cleanup
  %482 = extractvalue { ptr, i32 } %481, 0
  store ptr %482, ptr %14, align 8
  %483 = extractvalue { ptr, i32 } %481, 1
  store i32 %483, ptr %15, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %43) #5
  br label %577

484:                                              ; preds = %466
  %485 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %32, ptr noundef @.str.7)
          to label %486 unwind label %372

486:                                              ; preds = %484
  %487 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %32, ptr noundef @.str.17)
          to label %488 unwind label %372

488:                                              ; preds = %486
  %489 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %32, ptr noundef @.str.30)
          to label %490 unwind label %372

490:                                              ; preds = %488
  call void @llvm.lifetime.start.p0(i64 1, ptr %45) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %44, ptr noundef @.str.19, ptr noundef nonnull align 1 dereferenceable(1) %45)
          to label %491 unwind label %512

491:                                              ; preds = %490
  call void @llvm.lifetime.start.p0(i64 1, ptr %47) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %47) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %46, ptr noundef @.str.20, ptr noundef nonnull align 1 dereferenceable(1) %47)
          to label %492 unwind label %516

492:                                              ; preds = %491
  invoke void @_Z13writeVtuArrayIfEvRSt14basic_ofstreamIcSt11char_traitsIcEENSt7__cxx1112basic_stringIcS2_SaIcEEERKSt6vectorIT_SaISA_EES8_(ptr noundef nonnull align 8 dereferenceable(248) %32, ptr noundef %44, ptr noundef nonnull align 8 dereferenceable(24) %20, ptr noundef %46)
          to label %493 unwind label %520

493:                                              ; preds = %492
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %47) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %47) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %45) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr %49) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %49) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %48, ptr noundef @.str.31, ptr noundef nonnull align 1 dereferenceable(1) %49)
          to label %494 unwind label %526

494:                                              ; preds = %493
  call void @llvm.lifetime.start.p0(i64 1, ptr %51) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %51) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef @.str.20, ptr noundef nonnull align 1 dereferenceable(1) %51)
          to label %495 unwind label %530

495:                                              ; preds = %494
  invoke void @_Z13writeVtuArrayIiEvRSt14basic_ofstreamIcSt11char_traitsIcEENSt7__cxx1112basic_stringIcS2_SaIcEEERKSt6vectorIT_SaISA_EES8_(ptr noundef nonnull align 8 dereferenceable(248) %32, ptr noundef %48, ptr noundef nonnull align 8 dereferenceable(24) %18, ptr noundef %50)
          to label %496 unwind label %534

496:                                              ; preds = %495
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %51) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %51) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %49) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %49) #5
  %497 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %32, ptr noundef @.str.32)
          to label %498 unwind label %372

498:                                              ; preds = %496
  %499 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %32, ptr noundef @.str.40)
          to label %500 unwind label %372

500:                                              ; preds = %498
  call void @llvm.lifetime.start.p0(i64 1, ptr %53) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %53) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %52, ptr noundef @.str.22, ptr noundef nonnull align 1 dereferenceable(1) %53)
          to label %501 unwind label %540

501:                                              ; preds = %500
  call void @llvm.lifetime.start.p0(i64 1, ptr %55) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %55) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %54, ptr noundef @.str.11, ptr noundef nonnull align 1 dereferenceable(1) %55)
          to label %502 unwind label %544

502:                                              ; preds = %501
  invoke void @_Z13writeVtuArrayIiEvRSt14basic_ofstreamIcSt11char_traitsIcEENSt7__cxx1112basic_stringIcS2_SaIcEEERKSt6vectorIT_SaISA_EES8_(ptr noundef nonnull align 8 dereferenceable(248) %32, ptr noundef %52, ptr noundef nonnull align 8 dereferenceable(24) %19, ptr noundef %54)
          to label %503 unwind label %548

503:                                              ; preds = %502
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %55) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %55) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %53) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %53) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr %57) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %57) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %56, ptr noundef @.str.29, ptr noundef nonnull align 1 dereferenceable(1) %57)
          to label %504 unwind label %554

504:                                              ; preds = %503
  call void @llvm.lifetime.start.p0(i64 1, ptr %59) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %59) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %58, ptr noundef @.str.11, ptr noundef nonnull align 1 dereferenceable(1) %59)
          to label %505 unwind label %558

505:                                              ; preds = %504
  invoke void @_Z13writeVtuArrayIiEvRSt14basic_ofstreamIcSt11char_traitsIcEENSt7__cxx1112basic_stringIcS2_SaIcEEERKSt6vectorIT_SaISA_EES8_(ptr noundef nonnull align 8 dereferenceable(248) %32, ptr noundef %56, ptr noundef nonnull align 8 dereferenceable(24) %17, ptr noundef %58)
          to label %506 unwind label %562

506:                                              ; preds = %505
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %59) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %59) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %57) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %57) #5
  %507 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %32, ptr noundef @.str.23)
          to label %508 unwind label %372

508:                                              ; preds = %506
  call void @llvm.lifetime.start.p0(i64 32, ptr %60) #5
  invoke void @_Z16vtkWriter_finishB5cxx11v(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %60)
          to label %509 unwind label %568

509:                                              ; preds = %508
  %510 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %32, ptr noundef nonnull align 8 dereferenceable(32) %60)
          to label %511 unwind label %572

511:                                              ; preds = %509
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %60) #5
  call void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(248) %32) #5
  call void @llvm.lifetime.end.p0(i64 512, ptr %32) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #5
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %21) #5
  call void @llvm.lifetime.end.p0(i64 24, ptr %21) #5
  call void @_ZNSt6vectorIfSaIfEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %20) #5
  call void @llvm.lifetime.end.p0(i64 24, ptr %20) #5
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %19) #5
  call void @llvm.lifetime.end.p0(i64 24, ptr %19) #5
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %18) #5
  call void @llvm.lifetime.end.p0(i64 24, ptr %18) #5
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %17) #5
  call void @llvm.lifetime.end.p0(i64 24, ptr %17) #5
  call void @_ZNSt6vectorI4var3IdESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %16) #5
  call void @llvm.lifetime.end.p0(i64 24, ptr %16) #5
  ret void

512:                                              ; preds = %490
  %513 = landingpad { ptr, i32 }
          cleanup
  %514 = extractvalue { ptr, i32 } %513, 0
  store ptr %514, ptr %14, align 8
  %515 = extractvalue { ptr, i32 } %513, 1
  store i32 %515, ptr %15, align 4
  br label %525

516:                                              ; preds = %491
  %517 = landingpad { ptr, i32 }
          cleanup
  %518 = extractvalue { ptr, i32 } %517, 0
  store ptr %518, ptr %14, align 8
  %519 = extractvalue { ptr, i32 } %517, 1
  store i32 %519, ptr %15, align 4
  br label %524

520:                                              ; preds = %492
  %521 = landingpad { ptr, i32 }
          cleanup
  %522 = extractvalue { ptr, i32 } %521, 0
  store ptr %522, ptr %14, align 8
  %523 = extractvalue { ptr, i32 } %521, 1
  store i32 %523, ptr %15, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #5
  br label %524

524:                                              ; preds = %520, %516
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %47) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %47) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #5
  br label %525

525:                                              ; preds = %524, %512
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %45) #5
  br label %577

526:                                              ; preds = %493
  %527 = landingpad { ptr, i32 }
          cleanup
  %528 = extractvalue { ptr, i32 } %527, 0
  store ptr %528, ptr %14, align 8
  %529 = extractvalue { ptr, i32 } %527, 1
  store i32 %529, ptr %15, align 4
  br label %539

530:                                              ; preds = %494
  %531 = landingpad { ptr, i32 }
          cleanup
  %532 = extractvalue { ptr, i32 } %531, 0
  store ptr %532, ptr %14, align 8
  %533 = extractvalue { ptr, i32 } %531, 1
  store i32 %533, ptr %15, align 4
  br label %538

534:                                              ; preds = %495
  %535 = landingpad { ptr, i32 }
          cleanup
  %536 = extractvalue { ptr, i32 } %535, 0
  store ptr %536, ptr %14, align 8
  %537 = extractvalue { ptr, i32 } %535, 1
  store i32 %537, ptr %15, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #5
  br label %538

538:                                              ; preds = %534, %530
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %51) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %51) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #5
  br label %539

539:                                              ; preds = %538, %526
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %49) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %49) #5
  br label %577

540:                                              ; preds = %500
  %541 = landingpad { ptr, i32 }
          cleanup
  %542 = extractvalue { ptr, i32 } %541, 0
  store ptr %542, ptr %14, align 8
  %543 = extractvalue { ptr, i32 } %541, 1
  store i32 %543, ptr %15, align 4
  br label %553

544:                                              ; preds = %501
  %545 = landingpad { ptr, i32 }
          cleanup
  %546 = extractvalue { ptr, i32 } %545, 0
  store ptr %546, ptr %14, align 8
  %547 = extractvalue { ptr, i32 } %545, 1
  store i32 %547, ptr %15, align 4
  br label %552

548:                                              ; preds = %502
  %549 = landingpad { ptr, i32 }
          cleanup
  %550 = extractvalue { ptr, i32 } %549, 0
  store ptr %550, ptr %14, align 8
  %551 = extractvalue { ptr, i32 } %549, 1
  store i32 %551, ptr %15, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #5
  br label %552

552:                                              ; preds = %548, %544
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %55) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %55) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #5
  br label %553

553:                                              ; preds = %552, %540
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %53) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %53) #5
  br label %577

554:                                              ; preds = %503
  %555 = landingpad { ptr, i32 }
          cleanup
  %556 = extractvalue { ptr, i32 } %555, 0
  store ptr %556, ptr %14, align 8
  %557 = extractvalue { ptr, i32 } %555, 1
  store i32 %557, ptr %15, align 4
  br label %567

558:                                              ; preds = %504
  %559 = landingpad { ptr, i32 }
          cleanup
  %560 = extractvalue { ptr, i32 } %559, 0
  store ptr %560, ptr %14, align 8
  %561 = extractvalue { ptr, i32 } %559, 1
  store i32 %561, ptr %15, align 4
  br label %566

562:                                              ; preds = %505
  %563 = landingpad { ptr, i32 }
          cleanup
  %564 = extractvalue { ptr, i32 } %563, 0
  store ptr %564, ptr %14, align 8
  %565 = extractvalue { ptr, i32 } %563, 1
  store i32 %565, ptr %15, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #5
  br label %566

566:                                              ; preds = %562, %558
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %59) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %59) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #5
  br label %567

567:                                              ; preds = %566, %554
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %57) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %57) #5
  br label %577

568:                                              ; preds = %508
  %569 = landingpad { ptr, i32 }
          cleanup
  %570 = extractvalue { ptr, i32 } %569, 0
  store ptr %570, ptr %14, align 8
  %571 = extractvalue { ptr, i32 } %569, 1
  store i32 %571, ptr %15, align 4
  br label %576

572:                                              ; preds = %509
  %573 = landingpad { ptr, i32 }
          cleanup
  %574 = extractvalue { ptr, i32 } %573, 0
  store ptr %574, ptr %14, align 8
  %575 = extractvalue { ptr, i32 } %573, 1
  store i32 %575, ptr %15, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #5
  br label %576

576:                                              ; preds = %572, %568
  call void @llvm.lifetime.end.p0(i64 32, ptr %60) #5
  br label %577

577:                                              ; preds = %576, %567, %553, %539, %525, %480, %449, %432, %394, %372, %371
  call void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(248) %32) #5
  br label %578

578:                                              ; preds = %577, %362
  call void @llvm.lifetime.end.p0(i64 512, ptr %32) #5
  br label %579

579:                                              ; preds = %578, %333, %289
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #5
  br label %580

580:                                              ; preds = %579, %105
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %21) #5
  call void @llvm.lifetime.end.p0(i64 24, ptr %21) #5
  call void @_ZNSt6vectorIfSaIfEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %20) #5
  call void @llvm.lifetime.end.p0(i64 24, ptr %20) #5
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %19) #5
  call void @llvm.lifetime.end.p0(i64 24, ptr %19) #5
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %18) #5
  call void @llvm.lifetime.end.p0(i64 24, ptr %18) #5
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %17) #5
  call void @llvm.lifetime.end.p0(i64 24, ptr %17) #5
  call void @_ZNSt6vectorI4var3IdESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %16) #5
  call void @llvm.lifetime.end.p0(i64 24, ptr %16) #5
  br label %581

581:                                              ; preds = %580, %104
  %582 = load ptr, ptr %14, align 8
  %583 = load i32, ptr %15, align 4
  %584 = insertvalue { ptr, i32 } poison, ptr %582, 0
  %585 = insertvalue { ptr, i32 } %584, i32 %583, 1
  resume { ptr, i32 } %585
}

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZNK8throatNE4mb11Ev(ptr noundef nonnull align 8 dereferenceable(96)) #1 align 2

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

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"double", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"int", !7, i64 0}
!13 = !{!14, !14, i64 0}
!14 = !{!"long", !7, i64 0}
!15 = !{!16, !12, i64 4}
!16 = !{!"_ZTS8throatNE", !12, i64 0, !12, i64 4, !12, i64 8, !12, i64 12, !12, i64 16, !17, i64 20, !17, i64 22, !18, i64 24, !18, i64 48, !22, i64 72}
!17 = !{!"short", !7, i64 0}
!18 = !{!"_ZTSSt6vectorIP5voxelSaIS1_EE", !19, i64 0}
!19 = !{!"_ZTSSt12_Vector_baseIP5voxelSaIS1_EE", !20, i64 0}
!20 = !{!"_ZTSNSt12_Vector_baseIP5voxelSaIS1_EE12_Vector_implE", !21, i64 0}
!21 = !{!"_ZTSNSt12_Vector_baseIP5voxelSaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!22 = !{!"_ZTS4var3IdE", !10, i64 0, !10, i64 8, !10, i64 16}
!23 = !{!16, !12, i64 8}
!24 = !{!25, !26, i64 8}
!25 = !{!"_ZTS10medialBall", !6, i64 0, !26, i64 8, !26, i64 12, !26, i64 16, !17, i64 20, !26, i64 24, !17, i64 28, !17, i64 30, !17, i64 32, !17, i64 34, !17, i64 36, !6, i64 40, !6, i64 48, !6, i64 56}
!26 = !{!"float", !7, i64 0}
!27 = !{!25, !26, i64 12}
!28 = !{!25, !26, i64 16}
!29 = !{!25, !6, i64 40}
!30 = distinct !{!30, !31}
!31 = !{!"llvm.loop.mustprogress"}
!32 = distinct !{!32, !31}
!33 = distinct !{!33, !31}
!34 = distinct !{!34, !31}
!35 = distinct !{!35, !31}
!36 = distinct !{!36, !31}


; 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.var3 = type { double, double, double }
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<var3<double>, std::allocator<var3<double>>>::_Vector_impl" }
%"struct.std::_Vector_base<var3<double>, std::allocator<var3<double>>>::_Vector_impl" = type { %"struct.std::_Vector_base<var3<double>, std::allocator<var3<double>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<var3<double>, std::allocator<var3<double>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.3" = type { %"struct.std::_Vector_base.4" }
%"struct.std::_Vector_base.4" = type { %"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl" }
%"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl" = type { %"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl_data" }
%"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.29" = type { %"struct.std::_Vector_base.30" }
%"struct.std::_Vector_base.30" = type { %"struct.std::_Vector_base<float, std::allocator<float>>::_Vector_impl" }
%"struct.std::_Vector_base<float, std::allocator<float>>::_Vector_impl" = type { %"struct.std::_Vector_base<float, std::allocator<float>>::_Vector_impl_data" }
%"struct.std::_Vector_base<float, std::allocator<float>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::basic_ofstream" = type { %"class.std::basic_ostream.base", %"class.std::basic_filebuf", %"class.std::basic_ios" }
%"class.std::basic_ostream.base" = type { ptr }
%"class.std::basic_filebuf" = type { %"class.std::basic_streambuf", %union.pthread_mutex_t, %"class.std::__basic_file", i32, %struct.__mbstate_t, %struct.__mbstate_t, %struct.__mbstate_t, ptr, i64, i8, i8, i8, i8, ptr, ptr, i8, ptr, ptr, i64, ptr, ptr }
%"class.std::basic_streambuf" = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, %"class.std::locale" }
%union.pthread_mutex_t = type { %struct.__pthread_mutex_s }
%struct.__pthread_mutex_s = type { i32, i32, i32, i32, i32, i16, i16, %struct.__pthread_internal_list }
%struct.__pthread_internal_list = type { ptr, ptr }
%"class.std::__basic_file" = type <{ ptr, i8, [7 x i8] }>
%struct.__mbstate_t = type { i32, %union.anon.39 }
%union.anon.39 = type { i32 }
%"class.std::allocator.8" = type { i8 }

@.str.4 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [14 x i8], align 1
@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@.str.29 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [33 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

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

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

declare i32 @__gxx_personality_v0(...)

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK4var3IdEplERKS0_(ptr dead_on_unwind noalias writable sret(%class.var3) align 8, ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK4var3IdEmlEd(ptr dead_on_unwind noalias writable sret(%class.var3) align 8, ptr noundef nonnull align 8 dereferenceable(24), double noundef) local_unnamed_addr #2 align 2

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_Z15vtkWriter_startB5cxx11mm(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, i64 noundef, i64 noundef) local_unnamed_addr #2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) local_unnamed_addr #3

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_Z16vtkWriter_finishB5cxx11v(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8) local_unnamed_addr #2

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZNK8throatNE4mb22Ev(ptr noundef nonnull align 8 dereferenceable(96)) local_unnamed_addr #1 align 2

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

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

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

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

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_PKS5_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) local_unnamed_addr #3

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c(ptr noundef nonnull align 8 dereferenceable(8), i8 noundef signext) local_unnamed_addr #3

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_Z13writeVtuArrayIiEvRSt14basic_ofstreamIcSt11char_traitsIcEENSt7__cxx1112basic_stringIcS2_SaIcEEERKSt6vectorIT_SaISA_EES8_(ptr noundef nonnull align 8 dereferenceable(248), ptr noundef, ptr noundef nonnull align 8 dereferenceable(24), ptr noundef) local_unnamed_addr #2

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_Z13writeVtuArrayIfEvRSt14basic_ofstreamIcSt11char_traitsIcEENSt7__cxx1112basic_stringIcS2_SaIcEEERKSt6vectorIT_SaISA_EES8_(ptr noundef nonnull align 8 dereferenceable(248), ptr noundef, ptr noundef nonnull align 8 dereferenceable(24), ptr noundef) local_unnamed_addr #2

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_Z11addMbMbMeshRK10medialBallPS0_mRSt6vectorI4var3IdESaIS5_EERS3_IiSaIiEESB_SB_RS3_IfSaIfEESB_(ptr noundef nonnull align 8 dereferenceable(64), ptr noundef, i64 noundef, ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef, ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #2

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef ptr @_ZNK10medialBall11mastrSphereEv(ptr noundef nonnull align 8 dereferenceable(64)) local_unnamed_addr #2 align 2

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

; Function Attrs: mustprogress uwtable
define dso_local void @_Z19vtuWriteThroatMbMbsNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIP8throatNESaIS7_EES5_IP6poreNESaISD_EERK10voxelFieldIiEd4var3IdE(ptr noundef nonnull %0, ptr noundef nonnull align 8 dereferenceable(24) %1, ptr noundef %2, ptr noundef nonnull align 8 dereferenceable(56) %3, double noundef %4, ptr noundef byval(%class.var3) align 8 %5) local_unnamed_addr #2 personality ptr @__gxx_personality_v0 {
  %7 = alloca %"class.std::__cxx11::basic_string", align 8
  %8 = alloca %"class.std::__cxx11::basic_string", align 8
  %9 = alloca %"class.std::vector", align 8
  %10 = alloca %"class.std::vector.3", align 8
  %11 = alloca %"class.std::vector.3", align 8
  %12 = alloca %"class.std::vector.3", align 8
  %13 = alloca %"class.std::vector.29", align 8
  %14 = alloca %"class.std::vector.3", align 8
  %15 = alloca %"class.std::basic_ofstream", align 8
  %16 = alloca %"class.std::__cxx11::basic_string", align 8
  %17 = alloca %"class.std::__cxx11::basic_string", align 8
  %18 = alloca %class.var3, align 8
  %19 = alloca %class.var3, align 8
  %20 = alloca %"class.std::__cxx11::basic_string", align 8
  %21 = alloca %"class.std::allocator.8", align 1
  %22 = alloca %"class.std::__cxx11::basic_string", align 8
  %23 = alloca %"class.std::allocator.8", align 1
  %24 = alloca %"class.std::__cxx11::basic_string", align 8
  %25 = alloca %"class.std::allocator.8", align 1
  %26 = alloca %"class.std::__cxx11::basic_string", align 8
  %27 = alloca %"class.std::allocator.8", align 1
  %28 = alloca %"class.std::__cxx11::basic_string", align 8
  %29 = alloca %"class.std::allocator.8", align 1
  %30 = alloca %"class.std::__cxx11::basic_string", align 8
  %31 = alloca %"class.std::allocator.8", align 1
  %32 = alloca %"class.std::__cxx11::basic_string", align 8
  %33 = alloca %"class.std::allocator.8", align 1
  %34 = alloca %"class.std::__cxx11::basic_string", align 8
  %35 = alloca %"class.std::allocator.8", align 1
  %36 = alloca %"class.std::__cxx11::basic_string", align 8
  %37 = alloca %"class.std::allocator.8", align 1
  %38 = alloca %"class.std::__cxx11::basic_string", align 8
  %39 = alloca %"class.std::allocator.8", align 1
  %40 = alloca %"class.std::__cxx11::basic_string", align 8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %7) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %8) #5
  call void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %8, ptr noundef nonnull @.str.33, ptr noundef nonnull align 8 dereferenceable(32) %0)
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %7, ptr noundef nonnull align 8 dereferenceable(32) %8, ptr noundef nonnull @.str.4)
          to label %41 unwind label %69

41:                                               ; preds = %6
  %42 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull align 8 dereferenceable(32) %7)
          to label %43 unwind label %71

43:                                               ; preds = %41
  %44 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %42, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %45 unwind label %71

45:                                               ; preds = %43
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #5
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %9) #5
  call void @_ZNSt6vectorI4var3IdESaIS1_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #5
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %10) #5
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #5
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %11) #5
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #5
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %12) #5
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %12) #5
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %13) #5
  call void @_ZNSt6vectorIfSaIfEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #5
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %14) #5
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %14) #5
  %46 = call noundef i64 @_ZNKSt6vectorIP8throatNESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %1) #5
  %47 = mul i64 %46, 20
  invoke void @_ZNSt6vectorI4var3IdESaIS1_EE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %9, i64 noundef %47)
          to label %48 unwind label %74

48:                                               ; preds = %45
  %49 = call noundef i64 @_ZNKSt6vectorIP8throatNESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %1) #5
  %50 = mul i64 %49, 20
  invoke void @_ZNSt6vectorIiSaIiEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %14, i64 noundef %50)
          to label %51 unwind label %74

51:                                               ; preds = %48
  %52 = call noundef i64 @_ZNKSt6vectorIP8throatNESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %1) #5
  %53 = mul i64 %52, 20
  invoke void @_ZNSt6vectorIiSaIiEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef %53)
          to label %54 unwind label %74

54:                                               ; preds = %51
  %55 = call noundef i64 @_ZNKSt6vectorIP8throatNESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %1) #5
  %56 = mul i64 %55, 20
  invoke void @_ZNSt6vectorIiSaIiEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %56)
          to label %57 unwind label %74

57:                                               ; preds = %54
  %58 = call noundef i64 @_ZNKSt6vectorIP8throatNESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %1) #5
  %59 = mul i64 %58, 20
  invoke void @_ZNSt6vectorIiSaIiEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %59)
          to label %60 unwind label %74

60:                                               ; preds = %57
  %61 = call noundef i64 @_ZNKSt6vectorIP8throatNESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %1) #5
  %62 = mul i64 %61, 20
  invoke void @_ZNSt6vectorIfSaIfEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %13, i64 noundef %62)
          to label %.preheader168 unwind label %74

.preheader168:                                    ; preds = %60
  %63 = call noundef i64 @_ZNKSt6vectorIP8throatNESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %1) #5
  %.not226 = icmp eq i64 %63, 0
  br i1 %.not226, label %._crit_edge211, label %.lr.ph210

._crit_edge211:                                   ; preds = %.critedge, %.preheader168
  %.0100.lcssa = phi i32 [ 0, %.preheader168 ], [ %.1101236, %.critedge ]
  %.098.lcssa = phi i32 [ 0, %.preheader168 ], [ %.199, %.critedge ]
  %.096.lcssa = phi i32 [ 0, %.preheader168 ], [ %spec.select162, %.critedge ]
  %.093.lcssa = phi i32 [ 0, %.preheader168 ], [ %.194.lcssa, %.critedge ]
  %.091.lcssa = phi i32 [ 0, %.preheader168 ], [ %spec.select, %.critedge ]
  %64 = icmp ne i32 %.0100.lcssa, 0
  %65 = icmp ne i32 %.098.lcssa, 0
  %or.cond = select i1 %64, i1 true, i1 %65
  %66 = icmp ne i32 %.093.lcssa, 0
  %or.cond3 = select i1 %or.cond, i1 true, i1 %66
  %67 = icmp ne i32 %.096.lcssa, 0
  %or.cond5 = select i1 %or.cond3, i1 true, i1 %67
  %68 = icmp ne i32 %.091.lcssa, 0
  %or.cond7 = select i1 %or.cond5, i1 true, i1 %68
  br i1 %or.cond7, label %161, label %185

69:                                               ; preds = %6
  %70 = landingpad { ptr, i32 }
          cleanup
  br label %73

71:                                               ; preds = %43, %41
  %72 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #5
  br label %73

73:                                               ; preds = %71, %69
  %.pn = phi { ptr, i32 } [ %72, %71 ], [ %70, %69 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #5
  br label %347

74:                                               ; preds = %60, %57, %54, %51, %48, %45
  %75 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp

.lr.ph210:                                        ; preds = %.preheader168, %.critedge
  %.090209 = phi i64 [ %158, %.critedge ], [ 0, %.preheader168 ]
  %.091208 = phi i32 [ %spec.select, %.critedge ], [ 0, %.preheader168 ]
  %.093207 = phi i32 [ %.194.lcssa, %.critedge ], [ 0, %.preheader168 ]
  %.096206 = phi i32 [ %spec.select162, %.critedge ], [ 0, %.preheader168 ]
  %.098205 = phi i32 [ %.199, %.critedge ], [ 0, %.preheader168 ]
  %.0100204 = phi i32 [ %.1101236, %.critedge ], [ 0, %.preheader168 ]
  %76 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIP8throatNESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1, i64 noundef %.090209) #5
  %77 = load ptr, ptr %76, align 8, !tbaa !5
  %78 = call noundef ptr @_ZNK8throatNE4mb22Ev(ptr noundef nonnull align 8 dereferenceable(96) %77)
  %79 = call noundef ptr @_ZNK8throatNE4mb11Ev(ptr noundef nonnull align 8 dereferenceable(96) %77)
  %.not = icmp eq ptr %79, null
  br i1 %.not, label %86, label %80

80:                                               ; preds = %.lr.ph210
  %81 = call noundef i64 @_ZNKSt6vectorIP6poreNESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %2) #5
  %82 = mul i64 %81, 10
  %83 = add i64 %82, %.090209
  invoke void @_Z11addMbMbMeshRK10medialBallPS0_mRSt6vectorI4var3IdESaIS5_EERS3_IiSaIiEESB_SB_RS3_IfSaIfEESB_(ptr noundef nonnull align 8 dereferenceable(64) %79, ptr noundef %78, i64 noundef %83, ptr noundef nonnull align 8 dereferenceable(24) %9, ptr noundef nonnull align 8 dereferenceable(24) %10, ptr noundef nonnull align 8 dereferenceable(24) %11, ptr noundef nonnull align 8 dereferenceable(24) %12, ptr noundef nonnull align 8 dereferenceable(24) %13, ptr noundef nonnull align 8 dereferenceable(24) %14)
          to label %92 unwind label %84

84:                                               ; preds = %90, %80
  %85 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp

86:                                               ; preds = %.lr.ph210
  %87 = getelementptr inbounds i8, ptr %77, i64 4
  %88 = load i32, ptr %87, align 4, !tbaa !9
  %89 = icmp sgt i32 %88, 2
  br i1 %89, label %90, label %92

90:                                               ; preds = %86
  %91 = 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.34)
          to label %92 unwind label %84

92:                                               ; preds = %86, %90, %80
  %93 = invoke noundef ptr @_ZNK10medialBall11mastrSphereEv(ptr noundef nonnull align 8 dereferenceable(64) %78)
          to label %94 unwind label %.loopexit.split-lp.loopexit.split-lp

94:                                               ; preds = %92
  %95 = getelementptr inbounds i8, ptr %77, i64 8
  %96 = load i32, ptr %95, align 8, !tbaa !19
  %97 = getelementptr inbounds i8, ptr %93, i64 8
  %98 = load float, ptr %97, align 8, !tbaa !20
  %99 = fadd float %98, 1.000000e+00
  %100 = fptosi float %99 to i32
  %101 = getelementptr inbounds i8, ptr %93, i64 12
  %102 = load float, ptr %101, align 4, !tbaa !23
  %103 = fadd float %102, 1.000000e+00
  %104 = fptosi float %103 to i32
  %105 = getelementptr inbounds i8, ptr %93, i64 16
  %106 = load float, ptr %105, align 8, !tbaa !24
  %107 = fadd float %106, 1.000000e+00
  %108 = fptoui float %107 to i64
  %109 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiEclEiim(ptr noundef nonnull align 8 dereferenceable(56) %3, i32 noundef %100, i32 noundef %104, i64 noundef %108)
  %110 = load i32, ptr %109, align 4, !tbaa !25
  %.not150 = icmp ne i32 %96, %110
  %111 = zext i1 %.not150 to i32
  %spec.select = add nuw nsw i32 %.091208, %111
  %112 = getelementptr inbounds i8, ptr %78, i64 40
  %113 = load ptr, ptr %112, align 8, !tbaa !26
  %114 = icmp eq ptr %113, %78
  %115 = zext i1 %114 to i32
  %.199 = add nuw nsw i32 %.098205, %115
  br i1 %114, label %._crit_edge, label %.lr.ph

.loopexit:                                        ; preds = %132, %134
  %lpad.loopexit = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp

.loopexit.split-lp.loopexit:                      ; preds = %.lr.ph
  %lpad.loopexit165 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp

.loopexit.split-lp.loopexit.split-lp:             ; preds = %92
  %lpad.loopexit.split-lp166 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp

.lr.ph:                                           ; preds = %94, %120
  %116 = phi ptr [ %123, %120 ], [ %113, %94 ]
  %117 = phi ptr [ %122, %120 ], [ %112, %94 ]
  %.088193 = phi ptr [ %121, %120 ], [ %78, %94 ]
  %118 = load i32, ptr %95, align 8, !tbaa !19
  %119 = sext i32 %118 to i64
  invoke void @_Z11addMbMbMeshRK10medialBallPS0_mRSt6vectorI4var3IdESaIS5_EERS3_IiSaIiEESB_SB_RS3_IfSaIfEESB_(ptr noundef nonnull align 8 dereferenceable(64) %.088193, ptr noundef %116, i64 noundef %119, ptr noundef nonnull align 8 dereferenceable(24) %9, ptr noundef nonnull align 8 dereferenceable(24) %10, ptr noundef nonnull align 8 dereferenceable(24) %11, ptr noundef nonnull align 8 dereferenceable(24) %12, ptr noundef nonnull align 8 dereferenceable(24) %13, ptr noundef nonnull align 8 dereferenceable(24) %14)
          to label %120 unwind label %.loopexit.split-lp.loopexit

120:                                              ; preds = %.lr.ph
  %121 = load ptr, ptr %117, align 8, !tbaa !26
  %122 = getelementptr inbounds i8, ptr %121, i64 40
  %123 = load ptr, ptr %122, align 8, !tbaa !26
  %.not151 = icmp eq ptr %123, %121
  br i1 %.not151, label %._crit_edge, label %.lr.ph, !llvm.loop !27

._crit_edge:                                      ; preds = %120, %94
  %.088.lcssa = phi ptr [ %78, %94 ], [ %121, %120 ]
  br i1 %.not, label %.critedge, label %.lr.ph198

.lr.ph198:                                        ; preds = %._crit_edge
  %124 = getelementptr inbounds i8, ptr %79, i64 40
  %125 = load ptr, ptr %124, align 8, !tbaa !26
  %126 = icmp eq ptr %125, %79
  %127 = zext i1 %126 to i32
  %spec.select160 = add nsw i32 %.0100204, %127
  %128 = getelementptr inbounds i8, ptr %77, i64 4
  br label %129

129:                                              ; preds = %.lr.ph198, %153
  %.087196 = phi ptr [ %79, %.lr.ph198 ], [ %155, %153 ]
  %.194195 = phi i32 [ %.093207, %.lr.ph198 ], [ %spec.select161, %153 ]
  %130 = getelementptr inbounds i8, ptr %.087196, i64 40
  %131 = load ptr, ptr %130, align 8, !tbaa !26
  %.not153 = icmp eq ptr %131, %.087196
  br i1 %.not153, label %.critedge, label %132

132:                                              ; preds = %129
  %133 = invoke noundef ptr @_ZNK10medialBall11mastrSphereEv(ptr noundef nonnull align 8 dereferenceable(64) %.087196)
          to label %134 unwind label %.loopexit

134:                                              ; preds = %132
  %135 = load i32, ptr %128, align 4, !tbaa !9
  %136 = getelementptr inbounds i8, ptr %133, i64 8
  %137 = load float, ptr %136, align 8, !tbaa !20
  %138 = fadd float %137, 1.000000e+00
  %139 = fptosi float %138 to i32
  %140 = getelementptr inbounds i8, ptr %133, i64 12
  %141 = load float, ptr %140, align 4, !tbaa !23
  %142 = fadd float %141, 1.000000e+00
  %143 = fptosi float %142 to i32
  %144 = getelementptr inbounds i8, ptr %133, i64 16
  %145 = load float, ptr %144, align 8, !tbaa !24
  %146 = fadd float %145, 1.000000e+00
  %147 = fptoui float %146 to i64
  %148 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK10voxelFieldIiEclEiim(ptr noundef nonnull align 8 dereferenceable(56) %3, i32 noundef %139, i32 noundef %143, i64 noundef %147)
  %149 = load i32, ptr %148, align 4, !tbaa !25
  %150 = load ptr, ptr %130, align 8, !tbaa !26
  %151 = load i32, ptr %128, align 4, !tbaa !9
  %152 = sext i32 %151 to i64
  invoke void @_Z11addMbMbMeshRK10medialBallPS0_mRSt6vectorI4var3IdESaIS5_EERS3_IiSaIiEESB_SB_RS3_IfSaIfEESB_(ptr noundef nonnull align 8 dereferenceable(64) %.087196, ptr noundef %150, i64 noundef %152, ptr noundef nonnull align 8 dereferenceable(24) %9, ptr noundef nonnull align 8 dereferenceable(24) %10, ptr noundef nonnull align 8 dereferenceable(24) %11, ptr noundef nonnull align 8 dereferenceable(24) %12, ptr noundef nonnull align 8 dereferenceable(24) %13, ptr noundef nonnull align 8 dereferenceable(24) %14)
          to label %153 unwind label %.loopexit

153:                                              ; preds = %134
  %.not154 = icmp ne i32 %135, %149
  %154 = zext i1 %.not154 to i32
  %spec.select161 = add nsw i32 %.194195, %154
  %155 = load ptr, ptr %130, align 8, !tbaa !26
  %.not152 = icmp eq ptr %155, null
  br i1 %.not152, label %.critedge, label %129, !llvm.loop !29

.critedge:                                        ; preds = %129, %153, %._crit_edge
  %.1101236 = phi i32 [ %.0100204, %._crit_edge ], [ %spec.select160, %153 ], [ %spec.select160, %129 ]
  %.194.lcssa = phi i32 [ %.093207, %._crit_edge ], [ %.194195, %129 ], [ %spec.select161, %153 ]
  %.087.lcssa = phi ptr [ null, %._crit_edge ], [ %.087196, %129 ], [ null, %153 ]
  %156 = icmp eq ptr %.087.lcssa, %.088.lcssa
  %157 = zext i1 %156 to i32
  %spec.select162 = add nuw nsw i32 %.096206, %157
  %158 = add nuw i64 %.090209, 1
  %159 = call noundef i64 @_ZNKSt6vectorIP8throatNESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %1) #5
  %160 = icmp ult i64 %158, %159
  br i1 %160, label %.lr.ph210, label %._crit_edge211, !llvm.loop !30

161:                                              ; preds = %._crit_edge211
  %162 = 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.35)
          to label %163 unwind label %183

163:                                              ; preds = %161
  %164 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %162, i32 noundef %.0100.lcssa)
          to label %165 unwind label %183

165:                                              ; preds = %163
  %166 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %164, ptr noundef nonnull @.str.36)
          to label %167 unwind label %183

167:                                              ; preds = %165
  %168 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %166, i32 noundef %.098.lcssa)
          to label %169 unwind label %183

169:                                              ; preds = %167
  %170 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %168, ptr noundef nonnull @.str.37)
          to label %171 unwind label %183

171:                                              ; preds = %169
  %172 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %170, i32 noundef %.093.lcssa)
          to label %173 unwind label %183

173:                                              ; preds = %171
  %174 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %172, ptr noundef nonnull @.str.38)
          to label %175 unwind label %183

175:                                              ; preds = %173
  %176 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %174, i32 noundef %.096.lcssa)
          to label %177 unwind label %183

177:                                              ; preds = %175
  %178 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %176, ptr noundef nonnull @.str.39)
          to label %179 unwind label %183

179:                                              ; preds = %177
  %180 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %178, i32 noundef %.091.lcssa)
          to label %181 unwind label %183

181:                                              ; preds = %179
  %182 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %180, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %185 unwind label %183

183:                                              ; preds = %181, %179, %177, %175, %173, %171, %169, %167, %165, %163, %161
  %184 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp

185:                                              ; preds = %181, %._crit_edge211
  call void @llvm.lifetime.start.p0(i64 512, ptr nonnull %15) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %16) #5
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %16, ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull @.str.4)
          to label %186 unwind label %198

186:                                              ; preds = %185
  invoke void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(248) %15, ptr noundef nonnull align 8 dereferenceable(32) %16, i32 noundef 16)
          to label %187 unwind label %200

187:                                              ; preds = %186
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %17) #5
  %188 = call noundef i64 @_ZNKSt6vectorI4var3IdESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %9) #5
  %189 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %12) #5
  invoke void @_Z15vtkWriter_startB5cxx11mm(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %17, i64 noundef %188, i64 noundef %189)
          to label %190 unwind label %203

190:                                              ; preds = %187
  %191 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %15, ptr noundef nonnull align 8 dereferenceable(32) %17)
          to label %192 unwind label %205

192:                                              ; preds = %190
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #5
  %193 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %15, ptr noundef nonnull @.str.5)
          to label %194 unwind label %208

194:                                              ; preds = %192
  %195 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %15, ptr noundef nonnull @.str.6)
          to label %.preheader164 unwind label %208

.preheader164:                                    ; preds = %194
  %196 = call noundef i64 @_ZNKSt6vectorI4var3IdESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %9) #5
  %.not227 = icmp eq i64 %196, 0
  br i1 %.not227, label %._crit_edge219, label %.lr.ph218

._crit_edge219:                                   ; preds = %219, %.preheader164
  %197 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %15, ptr noundef nonnull @.str.7)
          to label %225 unwind label %208

198:                                              ; preds = %185
  %199 = landingpad { ptr, i32 }
          cleanup
  br label %202

200:                                              ; preds = %186
  %201 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #5
  br label %202

202:                                              ; preds = %200, %198
  %.pn126 = phi { ptr, i32 } [ %201, %200 ], [ %199, %198 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #5
  br label %346

203:                                              ; preds = %187
  %204 = landingpad { ptr, i32 }
          cleanup
  br label %207

205:                                              ; preds = %190
  %206 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #5
  br label %207

207:                                              ; preds = %205, %203
  %.pn128 = phi { ptr, i32 } [ %206, %205 ], [ %204, %203 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #5
  br label %345

208:                                              ; preds = %302, %294, %292, %284, %282, %._crit_edge225, %266, %264, %262, %._crit_edge222, %236, %234, %232, %227, %225, %._crit_edge219, %194, %192
  %209 = landingpad { ptr, i32 }
          cleanup
  br label %345

.lr.ph218:                                        ; preds = %.preheader164, %219
  %.086217 = phi i64 [ %220, %219 ], [ 0, %.preheader164 ]
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %18) #5
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %19) #5
  %210 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorI4var3IdESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %9, i64 noundef %.086217) #5
  invoke void @_ZNK4var3IdEmlEd(ptr dead_on_unwind nonnull writable sret(%class.var3) align 8 %19, ptr noundef nonnull align 8 dereferenceable(24) %210, double noundef %4)
          to label %211 unwind label %223

211:                                              ; preds = %.lr.ph218
  invoke void @_ZNK4var3IdEplERKS0_(ptr dead_on_unwind nonnull writable sret(%class.var3) align 8 %18, ptr noundef nonnull align 8 dereferenceable(24) %19, ptr noundef nonnull align 8 dereferenceable(24) %5)
          to label %212 unwind label %223

212:                                              ; preds = %211
  %213 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZlsIdERSoS0_RK4var3IT_E(ptr noundef nonnull align 8 dereferenceable(8) %15, ptr noundef nonnull align 8 dereferenceable(24) %18)
          to label %214 unwind label %223

214:                                              ; preds = %212
  %215 = and i64 %.086217, 31
  %216 = icmp eq i64 %215, 31
  %217 = select i1 %216, i8 10, i8 32
  %218 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c(ptr noundef nonnull align 8 dereferenceable(8) %213, i8 noundef signext %217)
          to label %219 unwind label %223

219:                                              ; preds = %214
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %19) #5
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %18) #5
  %220 = add nuw i64 %.086217, 1
  %221 = call noundef i64 @_ZNKSt6vectorI4var3IdESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %9) #5
  %222 = icmp ult i64 %220, %221
  br i1 %222, label %.lr.ph218, label %._crit_edge219, !llvm.loop !31

223:                                              ; preds = %214, %212, %211, %.lr.ph218
  %224 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %19) #5
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %18) #5
  br label %345

225:                                              ; preds = %._crit_edge219
  %226 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %15, ptr noundef nonnull @.str.8)
          to label %227 unwind label %208

227:                                              ; preds = %225
  %228 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %15, ptr noundef nonnull @.str.9)
          to label %229 unwind label %208

229:                                              ; preds = %227
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %21) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef nonnull @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %21)
          to label %230 unwind label %240

230:                                              ; preds = %229
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %23) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %23) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef nonnull @.str.11, ptr noundef nonnull align 1 dereferenceable(1) %23)
          to label %231 unwind label %242

231:                                              ; preds = %230
  invoke void @_Z13writeVtuArrayIiEvRSt14basic_ofstreamIcSt11char_traitsIcEENSt7__cxx1112basic_stringIcS2_SaIcEEERKSt6vectorIT_SaISA_EES8_(ptr noundef nonnull align 8 dereferenceable(248) %15, ptr noundef nonnull %20, ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef nonnull %22)
          to label %232 unwind label %244

232:                                              ; preds = %231
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %23) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %23) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %21) #5
  %233 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %15, ptr noundef nonnull @.str.12)
          to label %234 unwind label %208

234:                                              ; preds = %232
  %235 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %233, ptr noundef nonnull @.str.13)
          to label %236 unwind label %208

236:                                              ; preds = %234
  %237 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %235, ptr noundef nonnull @.str.14)
          to label %.preheader163 unwind label %208

.preheader163:                                    ; preds = %236
  %238 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %12) #5
  %.not228 = icmp eq i64 %238, 0
  br i1 %.not228, label %._crit_edge222, label %.lr.ph221

._crit_edge222:                                   ; preds = %256, %.preheader163
  %239 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %15, ptr noundef nonnull @.str.7)
          to label %262 unwind label %208

240:                                              ; preds = %229
  %241 = landingpad { ptr, i32 }
          cleanup
  br label %247

242:                                              ; preds = %230
  %243 = landingpad { ptr, i32 }
          cleanup
  br label %246

244:                                              ; preds = %231
  %245 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #5
  br label %246

246:                                              ; preds = %244, %242
  %.pn130 = phi { ptr, i32 } [ %245, %244 ], [ %243, %242 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %23) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %23) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #5
  br label %247

247:                                              ; preds = %246, %240
  %.pn130.pn = phi { ptr, i32 } [ %.pn130, %246 ], [ %241, %240 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %21) #5
  br label %345

.lr.ph221:                                        ; preds = %.preheader163, %256
  %.085220 = phi i64 [ %257, %256 ], [ 0, %.preheader163 ]
  %248 = shl i64 %.085220, 1
  %249 = add i64 %248, 2
  %250 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %15, i64 noundef %249)
          to label %251 unwind label %260

251:                                              ; preds = %.lr.ph221
  %252 = and i64 %.085220, 31
  %253 = icmp eq i64 %252, 31
  %254 = select i1 %253, i8 10, i8 32
  %255 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c(ptr noundef nonnull align 8 dereferenceable(8) %250, i8 noundef signext %254)
          to label %256 unwind label %260

256:                                              ; preds = %251
  %257 = add nuw i64 %.085220, 1
  %258 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %12) #5
  %259 = icmp ult i64 %257, %258
  br i1 %259, label %.lr.ph221, label %._crit_edge222, !llvm.loop !32

260:                                              ; preds = %251, %.lr.ph221
  %261 = landingpad { ptr, i32 }
          cleanup
  br label %345

262:                                              ; preds = %._crit_edge222
  %263 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %15, ptr noundef nonnull @.str.15)
          to label %264 unwind label %208

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

266:                                              ; preds = %264
  %267 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %265, ptr noundef nonnull @.str.14)
          to label %.preheader unwind label %208

.preheader:                                       ; preds = %266
  %268 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %12) #5
  %.not229 = icmp eq i64 %268, 0
  br i1 %.not229, label %._crit_edge225, label %.lr.ph224

._crit_edge225:                                   ; preds = %276, %.preheader
  %269 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %15, ptr noundef nonnull @.str.7)
          to label %282 unwind label %208

.lr.ph224:                                        ; preds = %.preheader, %276
  %.0223 = phi i64 [ %277, %276 ], [ 0, %.preheader ]
  %270 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %15, i32 noundef 3)
          to label %271 unwind label %280

271:                                              ; preds = %.lr.ph224
  %272 = and i64 %.0223, 31
  %273 = icmp eq i64 %272, 31
  %274 = select i1 %273, i8 10, i8 32
  %275 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c(ptr noundef nonnull align 8 dereferenceable(8) %270, i8 noundef signext %274)
          to label %276 unwind label %280

276:                                              ; preds = %271
  %277 = add nuw i64 %.0223, 1
  %278 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %12) #5
  %279 = icmp ult i64 %277, %278
  br i1 %279, label %.lr.ph224, label %._crit_edge225, !llvm.loop !33

280:                                              ; preds = %271, %.lr.ph224
  %281 = landingpad { ptr, i32 }
          cleanup
  br label %345

282:                                              ; preds = %._crit_edge225
  %283 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %15, ptr noundef nonnull @.str.17)
          to label %284 unwind label %208

284:                                              ; preds = %282
  %285 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %15, ptr noundef nonnull @.str.30)
          to label %286 unwind label %208

286:                                              ; preds = %284
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %25) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef nonnull @.str.19, ptr noundef nonnull align 1 dereferenceable(1) %25)
          to label %287 unwind label %308

287:                                              ; preds = %286
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %27) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %27) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %26, ptr noundef nonnull @.str.20, ptr noundef nonnull align 1 dereferenceable(1) %27)
          to label %288 unwind label %310

288:                                              ; preds = %287
  invoke void @_Z13writeVtuArrayIfEvRSt14basic_ofstreamIcSt11char_traitsIcEENSt7__cxx1112basic_stringIcS2_SaIcEEERKSt6vectorIT_SaISA_EES8_(ptr noundef nonnull align 8 dereferenceable(248) %15, ptr noundef nonnull %24, ptr noundef nonnull align 8 dereferenceable(24) %13, ptr noundef nonnull %26)
          to label %289 unwind label %312

289:                                              ; preds = %288
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %27) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %27) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %25) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %29) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %29) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %28, ptr noundef nonnull @.str.31, ptr noundef nonnull align 1 dereferenceable(1) %29)
          to label %290 unwind label %316

290:                                              ; preds = %289
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %31) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef nonnull @.str.20, ptr noundef nonnull align 1 dereferenceable(1) %31)
          to label %291 unwind label %318

291:                                              ; preds = %290
  invoke void @_Z13writeVtuArrayIiEvRSt14basic_ofstreamIcSt11char_traitsIcEENSt7__cxx1112basic_stringIcS2_SaIcEEERKSt6vectorIT_SaISA_EES8_(ptr noundef nonnull align 8 dereferenceable(248) %15, ptr noundef nonnull %28, ptr noundef nonnull align 8 dereferenceable(24) %11, ptr noundef nonnull %30)
          to label %292 unwind label %320

292:                                              ; preds = %291
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %31) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %29) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %29) #5
  %293 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %15, ptr noundef nonnull @.str.32)
          to label %294 unwind label %208

294:                                              ; preds = %292
  %295 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %15, ptr noundef nonnull @.str.40)
          to label %296 unwind label %208

296:                                              ; preds = %294
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %33) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %33) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %32, ptr noundef nonnull @.str.22, ptr noundef nonnull align 1 dereferenceable(1) %33)
          to label %297 unwind label %324

297:                                              ; preds = %296
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %35) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %35) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %34, ptr noundef nonnull @.str.11, ptr noundef nonnull align 1 dereferenceable(1) %35)
          to label %298 unwind label %326

298:                                              ; preds = %297
  invoke void @_Z13writeVtuArrayIiEvRSt14basic_ofstreamIcSt11char_traitsIcEENSt7__cxx1112basic_stringIcS2_SaIcEEERKSt6vectorIT_SaISA_EES8_(ptr noundef nonnull align 8 dereferenceable(248) %15, ptr noundef nonnull %32, ptr noundef nonnull align 8 dereferenceable(24) %12, ptr noundef nonnull %34)
          to label %299 unwind label %328

299:                                              ; preds = %298
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %35) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %35) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %33) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %33) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %37) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %37) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %36, ptr noundef nonnull @.str.29, ptr noundef nonnull align 1 dereferenceable(1) %37)
          to label %300 unwind label %332

300:                                              ; preds = %299
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %39) #5
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #5
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %38, ptr noundef nonnull @.str.11, ptr noundef nonnull align 1 dereferenceable(1) %39)
          to label %301 unwind label %334

301:                                              ; preds = %300
  invoke void @_Z13writeVtuArrayIiEvRSt14basic_ofstreamIcSt11char_traitsIcEENSt7__cxx1112basic_stringIcS2_SaIcEEERKSt6vectorIT_SaISA_EES8_(ptr noundef nonnull align 8 dereferenceable(248) %15, ptr noundef nonnull %36, ptr noundef nonnull align 8 dereferenceable(24) %10, ptr noundef nonnull %38)
          to label %302 unwind label %336

302:                                              ; preds = %301
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %39) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #5
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %37) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %37) #5
  %303 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %15, ptr noundef nonnull @.str.23)
          to label %304 unwind label %208

304:                                              ; preds = %302
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %40) #5
  invoke void @_Z16vtkWriter_finishB5cxx11v(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %40)
          to label %305 unwind label %340

305:                                              ; preds = %304
  %306 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %15, ptr noundef nonnull align 8 dereferenceable(32) %40)
          to label %307 unwind label %342

307:                                              ; preds = %305
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %40) #5
  call void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(248) %15) #5
  call void @llvm.lifetime.end.p0(i64 512, ptr nonnull %15) #5
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %14) #5
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %14) #5
  call void @_ZNSt6vectorIfSaIfEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #5
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %13) #5
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %12) #5
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %12) #5
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #5
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %11) #5
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #5
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %10) #5
  call void @_ZNSt6vectorI4var3IdESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #5
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9) #5
  ret void

308:                                              ; preds = %286
  %309 = landingpad { ptr, i32 }
          cleanup
  br label %315

310:                                              ; preds = %287
  %311 = landingpad { ptr, i32 }
          cleanup
  br label %314

312:                                              ; preds = %288
  %313 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #5
  br label %314

314:                                              ; preds = %312, %310
  %.pn133 = phi { ptr, i32 } [ %313, %312 ], [ %311, %310 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %27) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %27) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #5
  br label %315

315:                                              ; preds = %314, %308
  %.pn133.pn = phi { ptr, i32 } [ %.pn133, %314 ], [ %309, %308 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %25) #5
  br label %345

316:                                              ; preds = %289
  %317 = landingpad { ptr, i32 }
          cleanup
  br label %323

318:                                              ; preds = %290
  %319 = landingpad { ptr, i32 }
          cleanup
  br label %322

320:                                              ; preds = %291
  %321 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #5
  br label %322

322:                                              ; preds = %320, %318
  %.pn136 = phi { ptr, i32 } [ %321, %320 ], [ %319, %318 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %31) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #5
  br label %323

323:                                              ; preds = %322, %316
  %.pn136.pn = phi { ptr, i32 } [ %.pn136, %322 ], [ %317, %316 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %29) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %29) #5
  br label %345

324:                                              ; preds = %296
  %325 = landingpad { ptr, i32 }
          cleanup
  br label %331

326:                                              ; preds = %297
  %327 = landingpad { ptr, i32 }
          cleanup
  br label %330

328:                                              ; preds = %298
  %329 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #5
  br label %330

330:                                              ; preds = %328, %326
  %.pn139 = phi { ptr, i32 } [ %329, %328 ], [ %327, %326 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %35) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %35) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #5
  br label %331

331:                                              ; preds = %330, %324
  %.pn139.pn = phi { ptr, i32 } [ %.pn139, %330 ], [ %325, %324 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %33) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %33) #5
  br label %345

332:                                              ; preds = %299
  %333 = landingpad { ptr, i32 }
          cleanup
  br label %339

334:                                              ; preds = %300
  %335 = landingpad { ptr, i32 }
          cleanup
  br label %338

336:                                              ; preds = %301
  %337 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #5
  br label %338

338:                                              ; preds = %336, %334
  %.pn142 = phi { ptr, i32 } [ %337, %336 ], [ %335, %334 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %39) #5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #5
  br label %339

339:                                              ; preds = %338, %332
  %.pn142.pn = phi { ptr, i32 } [ %.pn142, %338 ], [ %333, %332 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %37) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %37) #5
  br label %345

340:                                              ; preds = %304
  %341 = landingpad { ptr, i32 }
          cleanup
  br label %344

342:                                              ; preds = %305
  %343 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #5
  br label %344

344:                                              ; preds = %342, %340
  %.pn145 = phi { ptr, i32 } [ %343, %342 ], [ %341, %340 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %40) #5
  br label %345

345:                                              ; preds = %344, %339, %331, %323, %315, %280, %260, %247, %223, %208, %207
  %.pn147 = phi { ptr, i32 } [ %224, %223 ], [ %261, %260 ], [ %281, %280 ], [ %.pn145, %344 ], [ %209, %208 ], [ %.pn142.pn, %339 ], [ %.pn139.pn, %331 ], [ %.pn136.pn, %323 ], [ %.pn133.pn, %315 ], [ %.pn130.pn, %247 ], [ %.pn128, %207 ]
  call void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(248) %15) #5
  br label %346

346:                                              ; preds = %345, %202
  %.pn147.pn = phi { ptr, i32 } [ %.pn147, %345 ], [ %.pn126, %202 ]
  call void @llvm.lifetime.end.p0(i64 512, ptr nonnull %15) #5
  br label %.loopexit.split-lp

.loopexit.split-lp:                               ; preds = %.loopexit, %.loopexit.split-lp.loopexit.split-lp, %.loopexit.split-lp.loopexit, %183, %346, %84, %74
  %.pn155.pn.pn = phi { ptr, i32 } [ %75, %74 ], [ %.pn147.pn, %346 ], [ %184, %183 ], [ %85, %84 ], [ %lpad.loopexit, %.loopexit ], [ %lpad.loopexit165, %.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp166, %.loopexit.split-lp.loopexit.split-lp ]
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %14) #5
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %14) #5
  call void @_ZNSt6vectorIfSaIfEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #5
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %13) #5
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %12) #5
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %12) #5
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #5
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %11) #5
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #5
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %10) #5
  call void @_ZNSt6vectorI4var3IdESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #5
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9) #5
  br label %347

347:                                              ; preds = %.loopexit.split-lp, %73
  %.pn155.pn.pn.pn = phi { ptr, i32 } [ %.pn155.pn.pn, %.loopexit.split-lp ], [ %.pn, %73 ]
  resume { ptr, i32 } %.pn155.pn.pn.pn
}

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZNK8throatNE4mb11Ev(ptr noundef nonnull align 8 dereferenceable(96)) local_unnamed_addr #1 align 2

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

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !11, i64 4}
!10 = !{!"_ZTS8throatNE", !11, i64 0, !11, i64 4, !11, i64 8, !11, i64 12, !11, i64 16, !12, i64 20, !12, i64 22, !13, i64 24, !13, i64 48, !17, i64 72}
!11 = !{!"int", !7, i64 0}
!12 = !{!"short", !7, i64 0}
!13 = !{!"_ZTSSt6vectorIP5voxelSaIS1_EE", !14, i64 0}
!14 = !{!"_ZTSSt12_Vector_baseIP5voxelSaIS1_EE", !15, i64 0}
!15 = !{!"_ZTSNSt12_Vector_baseIP5voxelSaIS1_EE12_Vector_implE", !16, i64 0}
!16 = !{!"_ZTSNSt12_Vector_baseIP5voxelSaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!17 = !{!"_ZTS4var3IdE", !18, i64 0, !18, i64 8, !18, i64 16}
!18 = !{!"double", !7, i64 0}
!19 = !{!10, !11, i64 8}
!20 = !{!21, !22, i64 8}
!21 = !{!"_ZTS10medialBall", !6, i64 0, !22, i64 8, !22, i64 12, !22, i64 16, !12, i64 20, !22, i64 24, !12, i64 28, !12, i64 30, !12, i64 32, !12, i64 34, !12, i64 36, !6, i64 40, !6, i64 48, !6, i64 56}
!22 = !{!"float", !7, i64 0}
!23 = !{!21, !22, i64 12}
!24 = !{!21, !22, i64 16}
!25 = !{!11, !11, i64 0}
!26 = !{!21, !6, i64 40}
!27 = distinct !{!27, !28}
!28 = !{!"llvm.loop.mustprogress"}
!29 = distinct !{!29, !28}
!30 = distinct !{!30, !28}
!31 = distinct !{!31, !28}
!32 = distinct !{!32, !28}
!33 = distinct !{!33, !28}


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