; LLVM IR from romerojosh/zefr :: src/faces.ll (ZN5Faces5setupEjj)

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

%"class.std::vector.8" = type { %"struct.std::_Vector_base.9" }
%"struct.std::_Vector_base.9" = type { %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int>>::_Vector_impl" }
%"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int>>::_Vector_impl" = type { %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int>>::_Vector_impl_data" }
%"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::initializer_list" = type { ptr, i64 }
%"class.std::allocator.10" = type { i8 }
%class.Faces = type <{ ptr, ptr, i32, i32, i32, [4 x i8], %class.mdvector, %class.mdview, %class.mdview, %class.mdview, %class.mdview, %class.mdview, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector.14, %class.mdvector.14, %class.mdvector, %class.mdview, %class.mdview, %class.mdview, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, i32, [4 x i8] }>
%class.mdvector.14 = type <{ i32, [4 x i8], i64, i64, %"struct.std::array", %"struct.std::array", %"class.std::vector.15", ptr, i8, [7 x i8] }>
%"struct.std::array" = type { [6 x i32] }
%"class.std::vector.15" = type { %"struct.std::_Vector_base.16" }
%"struct.std::_Vector_base.16" = type { %"struct.std::_Vector_base<char, std::allocator<char>>::_Vector_impl" }
%"struct.std::_Vector_base<char, std::allocator<char>>::_Vector_impl" = type { %"struct.std::_Vector_base<char, std::allocator<char>>::_Vector_impl_data" }
%"struct.std::_Vector_base<char, std::allocator<char>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%class.mdview = type { %class.mdvector.0, %class.mdvector.7, i32, [4 x i8] }
%class.mdvector.0 = type <{ i32, [4 x i8], i64, i64, %"struct.std::array", %"struct.std::array", %"class.std::vector.1", ptr, i8, [7 x i8] }>
%"class.std::vector.1" = type { %"struct.std::_Vector_base.2" }
%"struct.std::_Vector_base.2" = type { %"struct.std::_Vector_base<double *, std::allocator<double *>>::_Vector_impl" }
%"struct.std::_Vector_base<double *, std::allocator<double *>>::_Vector_impl" = type { %"struct.std::_Vector_base<double *, std::allocator<double *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<double *, std::allocator<double *>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%class.mdvector.7 = type <{ i32, [4 x i8], i64, i64, %"struct.std::array", %"struct.std::array", %"class.std::vector.8", ptr, i8, [7 x i8] }>
%class.mdvector = type <{ i32, [4 x i8], i64, i64, %"struct.std::array", %"struct.std::array", %"class.std::vector", ptr, i8, [7 x i8] }>
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl" }
%"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl" = type { %"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl_data" }
%"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%struct.GeoStruct = type { %"class.std::set", %class.mdvector.24, %"class.std::set", %class.mdvector.24, %"class.std::map", %class.mdvector.24, %"class.std::map.35", %class.mdvector.7, %class.mdvector.24, %class.mdvector.40, %"class.std::map.35", %class.mdvector.7, %class.mdvector.7, %class.mdvector.40, %class.mdvector.40, %"class.std::map.47", %"class.std::map.47", %"class.std::map.47", %"class.std::map.47", %"class.std::map.47", %"class.std::map.47", %"class.std::map.47", %"class.std::map.52", %"class.std::map.57", %"class.std::map.62", %"class.std::map.67", %"class.std::map.57", %"class.std::map.72", i32, i32, i32, i32, i32, i32, %"class.std::map.47", %"class.std::map.47", i32, i32, i32, i32, i8, %"class.std::map.47", %"class.std::map.57", %class.mdvector.24, %class.mdvector.24, %"class.std::map.57", %"class.std::map.57", %"class.std::vector.77", %"class.std::vector.77", %"class.std::vector.77", %"class.std::vector.25", %"class.std::vector.25", %"class.std::vector.25", %"class.std::vector.25", %"class.std::vector.8", %class.mdvector.14, %"class.std::map.82", %"class.std::map.88", %"class.std::map.93", %"class.std::map.52", %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector.24, %class.mdvector.24, %class.mdvector.24, i32, %"class.std::map.57", %"class.std::map.98", %"class.std::map.98", i32, %"class.std::map.103", %"class.std::vector.109", %"class.std::vector.109", %"class.std::vector.8", %"class.std::map.114", %"class.std::vector.119", %"class.std::vector.124", %class.mdvector.24, %class.mdvector.129, %"class.std::vector.136", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::map.141", %"class.std::map.141", i32, [4 x i8], %class.mdvector.14, %class.mdvector, double, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %"struct.std::array.146", %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, ptr, i32, i32, i32, %"class.std::vector.119", %"class.std::vector.119", %"class.std::map.114", %"class.std::vector.25", %"class.std::map.57", %"class.std::vector.25", %class.mdvector.24, %class.mdvector.24, %"class.std::vector.25", %"class.std::vector.25", %"class.std::set.147", %"class.std::vector.25", %"class.std::vector.25", i32, i32, %"class.std::vector.25", %"class.std::vector.25", %class.mdvector.24, %"class.std::map.57", i32, i32, i32, i32, i32, i32 }
%"class.std::set" = type { %"class.std::_Rb_tree" }
%"class.std::_Rb_tree" = type { %"struct.std::_Rb_tree<ELE_TYPE, ELE_TYPE, std::_Identity<ELE_TYPE>, std::less<ELE_TYPE>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<ELE_TYPE, ELE_TYPE, std::_Identity<ELE_TYPE>, std::less<ELE_TYPE>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"struct.std::_Rb_tree_header" = type { %"struct.std::_Rb_tree_node_base", i64 }
%"struct.std::_Rb_tree_node_base" = type { i32, ptr, ptr, ptr }
%"class.std::map" = type { %"class.std::_Rb_tree.31" }
%"class.std::_Rb_tree.31" = type { %"struct.std::_Rb_tree<ELE_TYPE, std::pair<const ELE_TYPE, int>, std::_Select1st<std::pair<const ELE_TYPE, int>>, std::less<ELE_TYPE>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<ELE_TYPE, std::pair<const ELE_TYPE, int>, std::_Select1st<std::pair<const ELE_TYPE, int>>, std::less<ELE_TYPE>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"class.std::map.35" = type { %"class.std::_Rb_tree.36" }
%"class.std::_Rb_tree.36" = type { %"struct.std::_Rb_tree<ELE_TYPE, std::pair<const ELE_TYPE, mdvector<unsigned int>>, std::_Select1st<std::pair<const ELE_TYPE, mdvector<unsigned int>>>, std::less<ELE_TYPE>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<ELE_TYPE, std::pair<const ELE_TYPE, mdvector<unsigned int>>, std::_Select1st<std::pair<const ELE_TYPE, mdvector<unsigned int>>>, std::less<ELE_TYPE>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%class.mdvector.40 = type <{ i32, [4 x i8], i64, i64, %"struct.std::array", %"struct.std::array", %"class.std::vector.41", ptr, i8, [7 x i8] }>
%"class.std::vector.41" = type { %"struct.std::_Vector_base.42" }
%"struct.std::_Vector_base.42" = type { %"struct.std::_Vector_base<ELE_TYPE, std::allocator<ELE_TYPE>>::_Vector_impl" }
%"struct.std::_Vector_base<ELE_TYPE, std::allocator<ELE_TYPE>>::_Vector_impl" = type { %"struct.std::_Vector_base<ELE_TYPE, std::allocator<ELE_TYPE>>::_Vector_impl_data" }
%"struct.std::_Vector_base<ELE_TYPE, std::allocator<ELE_TYPE>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::map.62" = type { %"class.std::_Rb_tree.63" }
%"class.std::_Rb_tree.63" = type { %"struct.std::_Rb_tree<ELE_TYPE, std::pair<const ELE_TYPE, std::vector<ELE_TYPE>>, std::_Select1st<std::pair<const ELE_TYPE, std::vector<ELE_TYPE>>>, std::less<ELE_TYPE>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<ELE_TYPE, std::pair<const ELE_TYPE, std::vector<ELE_TYPE>>, std::_Select1st<std::pair<const ELE_TYPE, std::vector<ELE_TYPE>>>, std::less<ELE_TYPE>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"class.std::map.67" = type { %"class.std::_Rb_tree.68" }
%"class.std::_Rb_tree.68" = type { %"struct.std::_Rb_tree<ELE_TYPE, std::pair<const ELE_TYPE, std::vector<std::vector<unsigned int>>>, std::_Select1st<std::pair<const ELE_TYPE, std::vector<std::vector<unsigned int>>>>, std::less<ELE_TYPE>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<ELE_TYPE, std::pair<const ELE_TYPE, std::vector<std::vector<unsigned int>>>, std::_Select1st<std::pair<const ELE_TYPE, std::vector<std::vector<unsigned int>>>>, std::less<ELE_TYPE>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"class.std::map.72" = type { %"class.std::_Rb_tree.73" }
%"class.std::_Rb_tree.73" = type { %"struct.std::_Rb_tree<ELE_TYPE, std::pair<const ELE_TYPE, mdvector<char>>, std::_Select1st<std::pair<const ELE_TYPE, mdvector<char>>>, std::less<ELE_TYPE>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<ELE_TYPE, std::pair<const ELE_TYPE, mdvector<char>>, std::_Select1st<std::pair<const ELE_TYPE, mdvector<char>>>, std::less<ELE_TYPE>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"class.std::map.47" = type { %"class.std::_Rb_tree.48" }
%"class.std::_Rb_tree.48" = type { %"struct.std::_Rb_tree<ELE_TYPE, std::pair<const ELE_TYPE, unsigned int>, std::_Select1st<std::pair<const ELE_TYPE, unsigned int>>, std::less<ELE_TYPE>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<ELE_TYPE, std::pair<const ELE_TYPE, unsigned int>, std::_Select1st<std::pair<const ELE_TYPE, unsigned int>>, std::less<ELE_TYPE>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"class.std::vector.77" = type { %"struct.std::_Vector_base.78" }
%"struct.std::_Vector_base.78" = 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::map.82" = type { %"class.std::_Rb_tree.83" }
%"class.std::_Rb_tree.83" = type { %"struct.std::_Rb_tree<std::vector<unsigned int>, std::pair<const std::vector<unsigned int>, int>, std::_Select1st<std::pair<const std::vector<unsigned int>, int>>, std::less<std::vector<unsigned int>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::vector<unsigned int>, std::pair<const std::vector<unsigned int>, int>, std::_Select1st<std::pair<const std::vector<unsigned int>, int>>, std::less<std::vector<unsigned int>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"class.std::map.88" = type { %"class.std::_Rb_tree.89" }
%"class.std::_Rb_tree.89" = type { %"struct.std::_Rb_tree<std::vector<unsigned int>, std::pair<const std::vector<unsigned int>, ELE_TYPE>, std::_Select1st<std::pair<const std::vector<unsigned int>, ELE_TYPE>>, std::less<std::vector<unsigned int>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::vector<unsigned int>, std::pair<const std::vector<unsigned int>, ELE_TYPE>, std::_Select1st<std::pair<const std::vector<unsigned int>, ELE_TYPE>>, std::less<std::vector<unsigned int>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"class.std::map.93" = type { %"class.std::_Rb_tree.94" }
%"class.std::_Rb_tree.94" = type { %"struct.std::_Rb_tree<std::vector<unsigned int>, std::pair<const std::vector<unsigned int>, std::vector<unsigned int>>, std::_Select1st<std::pair<const std::vector<unsigned int>, std::vector<unsigned int>>>, std::less<std::vector<unsigned int>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::vector<unsigned int>, std::pair<const std::vector<unsigned int>, std::vector<unsigned int>>, std::_Select1st<std::pair<const std::vector<unsigned int>, std::vector<unsigned int>>>, std::less<std::vector<unsigned int>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"class.std::map.52" = type { %"class.std::_Rb_tree.53" }
%"class.std::_Rb_tree.53" = type { %"struct.std::_Rb_tree<ELE_TYPE, std::pair<const ELE_TYPE, mdvector<double>>, std::_Select1st<std::pair<const ELE_TYPE, mdvector<double>>>, std::less<ELE_TYPE>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<ELE_TYPE, std::pair<const ELE_TYPE, mdvector<double>>, std::_Select1st<std::pair<const ELE_TYPE, mdvector<double>>>, std::less<ELE_TYPE>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"class.std::map.98" = type { %"class.std::_Rb_tree.99" }
%"class.std::_Rb_tree.99" = type { %"struct.std::_Rb_tree<ELE_TYPE, std::pair<const ELE_TYPE, std::vector<unsigned int>>, std::_Select1st<std::pair<const ELE_TYPE, std::vector<unsigned int>>>, std::less<ELE_TYPE>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<ELE_TYPE, std::pair<const ELE_TYPE, std::vector<unsigned int>>, std::_Select1st<std::pair<const ELE_TYPE, std::vector<unsigned int>>>, std::less<ELE_TYPE>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"class.std::map.103" = type { %"class.std::_Rb_tree.104" }
%"class.std::_Rb_tree.104" = type { %"struct.std::_Rb_tree<unsigned int, std::pair<const unsigned int, int>, std::_Select1st<std::pair<const unsigned int, int>>, std::less<unsigned int>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<unsigned int, std::pair<const unsigned int, int>, std::_Select1st<std::pair<const unsigned int, int>>, std::less<unsigned int>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"class.std::vector.109" = type { %"struct.std::_Vector_base.110" }
%"struct.std::_Vector_base.110" = type { %"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.124" = type { %"struct.std::_Vector_base.125" }
%"struct.std::_Vector_base.125" = type { %"struct.std::_Vector_base<std::vector<ELE_TYPE>, std::allocator<std::vector<ELE_TYPE>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::vector<ELE_TYPE>, std::allocator<std::vector<ELE_TYPE>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::vector<ELE_TYPE>, std::allocator<std::vector<ELE_TYPE>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::vector<ELE_TYPE>, std::allocator<std::vector<ELE_TYPE>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%class.mdvector.129 = type <{ i32, [4 x i8], i64, i64, %"struct.std::array", %"struct.std::array", %"class.std::vector.130", ptr, i8, [7 x i8] }>
%"class.std::vector.130" = type { %"struct.std::_Vector_base.131" }
%"struct.std::_Vector_base.131" = type { %"struct.std::_Vector_base<face_con, std::allocator<face_con>>::_Vector_impl" }
%"struct.std::_Vector_base<face_con, std::allocator<face_con>>::_Vector_impl" = type { %"struct.std::_Vector_base<face_con, std::allocator<face_con>>::_Vector_impl_data" }
%"struct.std::_Vector_base<face_con, std::allocator<face_con>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.136" = type { %"struct.std::_Vector_base.137" }
%"struct.std::_Vector_base.137" = type { %"struct.std::_Vector_base<std::vector<face_con>, std::allocator<std::vector<face_con>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::vector<face_con>, std::allocator<std::vector<face_con>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::vector<face_con>, std::allocator<std::vector<face_con>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::vector<face_con>, std::allocator<std::vector<face_con>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"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::map.141" = type { %"class.std::_Rb_tree.142" }
%"class.std::_Rb_tree.142" = type { %"struct.std::_Rb_tree<ELE_TYPE, std::pair<const ELE_TYPE, std::vector<int>>, std::_Select1st<std::pair<const ELE_TYPE, std::vector<int>>>, std::less<ELE_TYPE>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<ELE_TYPE, std::pair<const ELE_TYPE, std::vector<int>>, std::_Select1st<std::pair<const ELE_TYPE, std::vector<int>>>, std::less<ELE_TYPE>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"struct.std::array.146" = type { [3 x double] }
%"class.std::vector.119" = type { %"struct.std::_Vector_base.120" }
%"struct.std::_Vector_base.120" = type { %"struct.std::_Vector_base<std::vector<unsigned int>, std::allocator<std::vector<unsigned int>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::vector<unsigned int>, std::allocator<std::vector<unsigned int>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::vector<unsigned int>, std::allocator<std::vector<unsigned int>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::vector<unsigned int>, std::allocator<std::vector<unsigned int>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::map.114" = type { %"class.std::_Rb_tree.115" }
%"class.std::_Rb_tree.115" = type { %"struct.std::_Rb_tree<std::vector<unsigned int>, std::pair<const std::vector<unsigned int>, unsigned int>, std::_Select1st<std::pair<const std::vector<unsigned int>, unsigned int>>, std::less<std::vector<unsigned int>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::vector<unsigned int>, std::pair<const std::vector<unsigned int>, unsigned int>, std::_Select1st<std::pair<const std::vector<unsigned int>, unsigned int>>, std::less<std::vector<unsigned int>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"class.std::set.147" = type { %"class.std::_Rb_tree.148" }
%"class.std::_Rb_tree.148" = type { %"struct.std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"class.std::vector.25" = type { %"struct.std::_Vector_base.26" }
%"struct.std::_Vector_base.26" = type { %"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl" }
%"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl" = type { %"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl_data" }
%"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%class.mdvector.24 = type <{ i32, [4 x i8], i64, i64, %"struct.std::array", %"struct.std::array", %"class.std::vector.25", ptr, i8, [7 x i8] }>
%"class.std::map.57" = type { %"class.std::_Rb_tree.58" }
%"class.std::_Rb_tree.58" = type { %"struct.std::_Rb_tree<ELE_TYPE, std::pair<const ELE_TYPE, mdvector<int>>, std::_Select1st<std::pair<const ELE_TYPE, mdvector<int>>>, std::less<ELE_TYPE>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<ELE_TYPE, std::pair<const ELE_TYPE, mdvector<int>>, std::_Select1st<std::pair<const ELE_TYPE, mdvector<int>>>, std::less<ELE_TYPE>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%struct.InputStruct = type { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", i8, i8, i8, i8, i8, i8, i8, i8, %"class.std::vector.8", %"class.std::vector.8", i32, i32, double, double, double, double, double, double, double, double, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, %class.mdvector, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, double, double, double, double, double, double, double, i32, i32, double, double, i32, double, double, double, double, double, double, double, double, i16, i16, i16, i16, i32, i32, i32, %"class.std::__cxx11::basic_string", i8, i8, i8, i8, i32, i32, i8, i8, i8, i8, i32, i32, i32, i32, %"class.std::vector.109", %"class.std::vector.25", double, double, double, double, double, double, [3 x double], double, [3 x double], [3 x double], [3 x double], [3 x double], double, [3 x double], [3 x double], double, [9 x double], %"class.std::map.153", i8, i8, i8, i8, i8, i8, i8, i8, double, double, double, double, i32, i32, i32, i32, i32, i32, i32, i32, i32, i8, double, double, %class.Timer }
%"class.std::map.153" = type { %"class.std::_Rb_tree.154" }
%"class.std::_Rb_tree.154" = type { %"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%class.Timer = type { %"class.std::chrono::time_point", %"class.std::chrono::time_point", double, %"class.std::__cxx11::basic_string" }
%"class.std::chrono::time_point" = type { %"class.std::chrono::duration" }
%"class.std::chrono::duration" = type { i64 }

declare i32 @__gxx_personality_v0(...)

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN5Faces5setupEjj(ptr noundef nonnull align 8 dereferenceable(4132) %0, i32 noundef %1, i32 noundef %2) #0 align 2 personality ptr @__gxx_personality_v0 {
  %4 = alloca ptr, align 8
  %5 = alloca i32, align 4
  %6 = alloca i32, align 4
  %7 = alloca %"class.std::vector.8", align 8
  %8 = alloca %"class.std::initializer_list", align 8
  %9 = alloca [2 x i32], align 4
  %10 = alloca %"class.std::allocator.10", align 1
  %11 = alloca ptr, align 8
  %12 = alloca i32, align 4
  %13 = alloca %"class.std::vector.8", align 8
  %14 = alloca %"class.std::initializer_list", align 8
  %15 = alloca [2 x i32], align 4
  %16 = alloca %"class.std::allocator.10", align 1
  %17 = alloca %"class.std::vector.8", align 8
  %18 = alloca %"class.std::initializer_list", align 8
  %19 = alloca [2 x i32], align 4
  %20 = alloca %"class.std::allocator.10", align 1
  %21 = alloca %"class.std::vector.8", align 8
  %22 = alloca %"class.std::initializer_list", align 8
  %23 = alloca [3 x i32], align 4
  %24 = alloca %"class.std::allocator.10", align 1
  %25 = alloca %"class.std::vector.8", align 8
  %26 = alloca %"class.std::initializer_list", align 8
  %27 = alloca [2 x i32], align 4
  %28 = alloca %"class.std::allocator.10", align 1
  %29 = alloca %"class.std::vector.8", align 8
  %30 = alloca %"class.std::initializer_list", align 8
  %31 = alloca [1 x i32], align 4
  %32 = alloca %"class.std::allocator.10", align 1
  %33 = alloca %"class.std::vector.8", align 8
  %34 = alloca %"class.std::initializer_list", align 8
  %35 = alloca [1 x i32], align 4
  %36 = alloca %"class.std::allocator.10", align 1
  %37 = alloca i32, align 4
  %38 = alloca i32, align 4
  %39 = alloca %"class.std::vector.8", align 8
  %40 = alloca %"class.std::initializer_list", align 8
  %41 = alloca [3 x i32], align 4
  %42 = alloca %"class.std::allocator.10", align 1
  %43 = alloca %"class.std::vector.8", align 8
  %44 = alloca %"class.std::initializer_list", align 8
  %45 = alloca [3 x i32], align 4
  %46 = alloca %"class.std::allocator.10", align 1
  %47 = alloca %"class.std::vector.8", align 8
  %48 = alloca %"class.std::initializer_list", align 8
  %49 = alloca [3 x i32], align 4
  %50 = alloca %"class.std::allocator.10", align 1
  %51 = alloca %"class.std::vector.8", align 8
  %52 = alloca %"class.std::initializer_list", align 8
  %53 = alloca [5 x i32], align 4
  %54 = alloca %"class.std::allocator.10", align 1
  %55 = alloca %"class.std::vector.8", align 8
  %56 = alloca %"class.std::initializer_list", align 8
  %57 = alloca [5 x i32], align 4
  %58 = alloca %"class.std::allocator.10", align 1
  %59 = alloca %"class.std::vector.8", align 8
  %60 = alloca %"class.std::initializer_list", align 8
  %61 = alloca [2 x i32], align 4
  %62 = alloca %"class.std::allocator.10", align 1
  %63 = alloca %"class.std::vector.8", align 8
  %64 = alloca %"class.std::initializer_list", align 8
  %65 = alloca [1 x i32], align 4
  %66 = alloca %"class.std::allocator.10", align 1
  %67 = alloca %"class.std::vector.8", align 8
  %68 = alloca %"class.std::initializer_list", align 8
  %69 = alloca [1 x i32], align 4
  %70 = alloca %"class.std::allocator.10", align 1
  %71 = alloca %"class.std::vector.8", align 8
  %72 = alloca %"class.std::initializer_list", align 8
  %73 = alloca [2 x i32], align 4
  %74 = alloca %"class.std::allocator.10", align 1
  %75 = alloca %"class.std::vector.8", align 8
  %76 = alloca %"class.std::initializer_list", align 8
  %77 = alloca [2 x i32], align 4
  %78 = alloca %"class.std::allocator.10", align 1
  %79 = alloca %"class.std::vector.8", align 8
  %80 = alloca %"class.std::initializer_list", align 8
  %81 = alloca [2 x i32], align 4
  %82 = alloca %"class.std::allocator.10", align 1
  %83 = alloca %"class.std::vector.8", align 8
  %84 = alloca %"class.std::initializer_list", align 8
  %85 = alloca [2 x i32], align 4
  %86 = alloca %"class.std::allocator.10", align 1
  store ptr %0, ptr %4, align 8, !tbaa !5
  store i32 %1, ptr %5, align 4, !tbaa !9
  store i32 %2, ptr %6, align 4, !tbaa !9
  %87 = load ptr, ptr %4, align 8
  %88 = load i32, ptr %6, align 4, !tbaa !9
  %89 = getelementptr inbounds %class.Faces, ptr %87, i32 0, i32 4
  store i32 %88, ptr %89, align 8, !tbaa !11
  %90 = load i32, ptr %5, align 4, !tbaa !9
  %91 = getelementptr inbounds %class.Faces, ptr %87, i32 0, i32 3
  store i32 %90, ptr %91, align 4, !tbaa !37
  %92 = getelementptr inbounds %class.Faces, ptr %87, i32 0, i32 12
  call void @llvm.lifetime.start.p0(i64 8, ptr %9) #3
  %93 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %93, ptr %9, align 4, !tbaa !9
  %94 = getelementptr inbounds i32, ptr %9, i64 1
  %95 = getelementptr inbounds %class.Faces, ptr %87, i32 0, i32 1
  %96 = load ptr, ptr %95, align 8, !tbaa !38
  %97 = getelementptr inbounds %struct.GeoStruct, ptr %96, i32 0, i32 38
  %98 = load i32, ptr %97, align 8, !tbaa !39
  %99 = getelementptr inbounds %class.Faces, ptr %87, i32 0, i32 1
  %100 = load ptr, ptr %99, align 8, !tbaa !38
  %101 = getelementptr inbounds %struct.GeoStruct, ptr %100, i32 0, i32 39
  %102 = load i32, ptr %101, align 4, !tbaa !142
  %103 = add i32 %98, %102
  store i32 %103, ptr %94, align 4, !tbaa !9
  %104 = getelementptr inbounds %"class.std::initializer_list", ptr %8, i32 0, i32 0
  store ptr %9, ptr %104, align 8, !tbaa !143
  %105 = getelementptr inbounds %"class.std::initializer_list", ptr %8, i32 0, i32 1
  store i64 2, ptr %105, align 8, !tbaa !145
  call void @llvm.lifetime.start.p0(i64 1, ptr %10) #3
  call void @_ZNSaIjEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #3
  %106 = getelementptr inbounds { ptr, i64 }, ptr %8, i32 0, i32 0
  %107 = load ptr, ptr %106, align 8
  %108 = getelementptr inbounds { ptr, i64 }, ptr %8, i32 0, i32 1
  %109 = load i64, ptr %108, align 8
  invoke void @_ZNSt6vectorIjSaIjEEC2ESt16initializer_listIjERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %7, ptr %107, i64 %109, ptr noundef nonnull align 1 dereferenceable(1) %10)
          to label %110 unwind label %200

110:                                              ; preds = %3
  invoke void @_ZN8mdvectorIdE6assignESt6vectorIjSaIjEEdb(ptr noundef nonnull align 8 dereferenceable(105) %92, ptr noundef %7, double noundef 0.000000e+00, i1 noundef zeroext false)
          to label %111 unwind label %204

111:                                              ; preds = %110
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %7) #3
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr %10) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %9) #3
  %112 = getelementptr inbounds %class.Faces, ptr %87, i32 0, i32 13
  call void @llvm.lifetime.start.p0(i64 8, ptr %15) #3
  %113 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %113, ptr %15, align 4, !tbaa !9
  %114 = getelementptr inbounds i32, ptr %15, i64 1
  %115 = getelementptr inbounds %class.Faces, ptr %87, i32 0, i32 1
  %116 = load ptr, ptr %115, align 8, !tbaa !38
  %117 = getelementptr inbounds %struct.GeoStruct, ptr %116, i32 0, i32 38
  %118 = load i32, ptr %117, align 8, !tbaa !39
  %119 = getelementptr inbounds %class.Faces, ptr %87, i32 0, i32 1
  %120 = load ptr, ptr %119, align 8, !tbaa !38
  %121 = getelementptr inbounds %struct.GeoStruct, ptr %120, i32 0, i32 39
  %122 = load i32, ptr %121, align 4, !tbaa !142
  %123 = add i32 %118, %122
  store i32 %123, ptr %114, align 4, !tbaa !9
  %124 = getelementptr inbounds %"class.std::initializer_list", ptr %14, i32 0, i32 0
  store ptr %15, ptr %124, align 8, !tbaa !143
  %125 = getelementptr inbounds %"class.std::initializer_list", ptr %14, i32 0, i32 1
  store i64 2, ptr %125, align 8, !tbaa !145
  call void @llvm.lifetime.start.p0(i64 1, ptr %16) #3
  call void @_ZNSaIjEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %16) #3
  %126 = getelementptr inbounds { ptr, i64 }, ptr %14, i32 0, i32 0
  %127 = load ptr, ptr %126, align 8
  %128 = getelementptr inbounds { ptr, i64 }, ptr %14, i32 0, i32 1
  %129 = load i64, ptr %128, align 8
  invoke void @_ZNSt6vectorIjSaIjEEC2ESt16initializer_listIjERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %13, ptr %127, i64 %129, ptr noundef nonnull align 1 dereferenceable(1) %16)
          to label %130 unwind label %209

130:                                              ; preds = %111
  invoke void @_ZN8mdvectorIdE6assignESt6vectorIjSaIjEEdb(ptr noundef nonnull align 8 dereferenceable(105) %112, ptr noundef %13, double noundef 0.000000e+00, i1 noundef zeroext false)
          to label %131 unwind label %213

131:                                              ; preds = %130
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #3
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %16) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr %16) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %15) #3
  %132 = getelementptr inbounds %class.Faces, ptr %87, i32 0, i32 15
  call void @llvm.lifetime.start.p0(i64 8, ptr %19) #3
  %133 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %133, ptr %19, align 4, !tbaa !9
  %134 = getelementptr inbounds i32, ptr %19, i64 1
  %135 = getelementptr inbounds %class.Faces, ptr %87, i32 0, i32 1
  %136 = load ptr, ptr %135, align 8, !tbaa !38
  %137 = getelementptr inbounds %struct.GeoStruct, ptr %136, i32 0, i32 38
  %138 = load i32, ptr %137, align 8, !tbaa !39
  %139 = getelementptr inbounds %class.Faces, ptr %87, i32 0, i32 1
  %140 = load ptr, ptr %139, align 8, !tbaa !38
  %141 = getelementptr inbounds %struct.GeoStruct, ptr %140, i32 0, i32 39
  %142 = load i32, ptr %141, align 4, !tbaa !142
  %143 = add i32 %138, %142
  store i32 %143, ptr %134, align 4, !tbaa !9
  %144 = getelementptr inbounds %"class.std::initializer_list", ptr %18, i32 0, i32 0
  store ptr %19, ptr %144, align 8, !tbaa !143
  %145 = getelementptr inbounds %"class.std::initializer_list", ptr %18, i32 0, i32 1
  store i64 2, ptr %145, align 8, !tbaa !145
  call void @llvm.lifetime.start.p0(i64 1, ptr %20) #3
  call void @_ZNSaIjEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %20) #3
  %146 = getelementptr inbounds { ptr, i64 }, ptr %18, i32 0, i32 0
  %147 = load ptr, ptr %146, align 8
  %148 = getelementptr inbounds { ptr, i64 }, ptr %18, i32 0, i32 1
  %149 = load i64, ptr %148, align 8
  invoke void @_ZNSt6vectorIjSaIjEEC2ESt16initializer_listIjERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %17, ptr %147, i64 %149, ptr noundef nonnull align 1 dereferenceable(1) %20)
          to label %150 unwind label %218

150:                                              ; preds = %131
  invoke void @_ZN8mdvectorIdE6assignESt6vectorIjSaIjEEdb(ptr noundef nonnull align 8 dereferenceable(105) %132, ptr noundef %17, double noundef 0.000000e+00, i1 noundef zeroext false)
          to label %151 unwind label %222

151:                                              ; preds = %150
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %17) #3
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %20) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr %20) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #3
  %152 = getelementptr inbounds %class.Faces, ptr %87, i32 0, i32 0
  %153 = load ptr, ptr %152, align 8, !tbaa !146
  %154 = getelementptr inbounds %struct.InputStruct, ptr %153, i32 0, i32 24
  %155 = load i8, ptr %154, align 8, !tbaa !147, !range !158, !noundef !159
  %156 = trunc i8 %155 to i1
  br i1 %156, label %157, label %245

157:                                              ; preds = %151
  %158 = getelementptr inbounds %class.Faces, ptr %87, i32 0, i32 14
  call void @llvm.lifetime.start.p0(i64 12, ptr %23) #3
  %159 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %159, ptr %23, align 4, !tbaa !9
  %160 = getelementptr inbounds i32, ptr %23, i64 1
  %161 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %161, ptr %160, align 4, !tbaa !9
  %162 = getelementptr inbounds i32, ptr %23, i64 2
  %163 = getelementptr inbounds %class.Faces, ptr %87, i32 0, i32 1
  %164 = load ptr, ptr %163, align 8, !tbaa !38
  %165 = getelementptr inbounds %struct.GeoStruct, ptr %164, i32 0, i32 38
  %166 = load i32, ptr %165, align 8, !tbaa !39
  %167 = getelementptr inbounds %class.Faces, ptr %87, i32 0, i32 1
  %168 = load ptr, ptr %167, align 8, !tbaa !38
  %169 = getelementptr inbounds %struct.GeoStruct, ptr %168, i32 0, i32 39
  %170 = load i32, ptr %169, align 4, !tbaa !142
  %171 = add i32 %166, %170
  store i32 %171, ptr %162, align 4, !tbaa !9
  %172 = getelementptr inbounds %"class.std::initializer_list", ptr %22, i32 0, i32 0
  store ptr %23, ptr %172, align 8, !tbaa !143
  %173 = getelementptr inbounds %"class.std::initializer_list", ptr %22, i32 0, i32 1
  store i64 3, ptr %173, align 8, !tbaa !145
  call void @llvm.lifetime.start.p0(i64 1, ptr %24) #3
  call void @_ZNSaIjEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %24) #3
  %174 = getelementptr inbounds { ptr, i64 }, ptr %22, i32 0, i32 0
  %175 = load ptr, ptr %174, align 8
  %176 = getelementptr inbounds { ptr, i64 }, ptr %22, i32 0, i32 1
  %177 = load i64, ptr %176, align 8
  invoke void @_ZNSt6vectorIjSaIjEEC2ESt16initializer_listIjERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %21, ptr %175, i64 %177, ptr noundef nonnull align 1 dereferenceable(1) %24)
          to label %178 unwind label %227

178:                                              ; preds = %157
  invoke void @_ZN8mdvectorIdE6assignESt6vectorIjSaIjEEdb(ptr noundef nonnull align 8 dereferenceable(105) %158, ptr noundef %21, double noundef 0.000000e+00, i1 noundef zeroext false)
          to label %179 unwind label %231

179:                                              ; preds = %178
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %21) #3
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %24) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr %24) #3
  call void @llvm.lifetime.end.p0(i64 12, ptr %23) #3
  %180 = getelementptr inbounds %class.Faces, ptr %87, i32 0, i32 16
  call void @llvm.lifetime.start.p0(i64 8, ptr %27) #3
  %181 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %181, ptr %27, align 4, !tbaa !9
  %182 = getelementptr inbounds i32, ptr %27, i64 1
  %183 = getelementptr inbounds %class.Faces, ptr %87, i32 0, i32 1
  %184 = load ptr, ptr %183, align 8, !tbaa !38
  %185 = getelementptr inbounds %struct.GeoStruct, ptr %184, i32 0, i32 38
  %186 = load i32, ptr %185, align 8, !tbaa !39
  %187 = getelementptr inbounds %class.Faces, ptr %87, i32 0, i32 1
  %188 = load ptr, ptr %187, align 8, !tbaa !38
  %189 = getelementptr inbounds %struct.GeoStruct, ptr %188, i32 0, i32 39
  %190 = load i32, ptr %189, align 4, !tbaa !142
  %191 = add i32 %186, %190
  store i32 %191, ptr %182, align 4, !tbaa !9
  %192 = getelementptr inbounds %"class.std::initializer_list", ptr %26, i32 0, i32 0
  store ptr %27, ptr %192, align 8, !tbaa !143
  %193 = getelementptr inbounds %"class.std::initializer_list", ptr %26, i32 0, i32 1
  store i64 2, ptr %193, align 8, !tbaa !145
  call void @llvm.lifetime.start.p0(i64 1, ptr %28) #3
  call void @_ZNSaIjEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #3
  %194 = getelementptr inbounds { ptr, i64 }, ptr %26, i32 0, i32 0
  %195 = load ptr, ptr %194, align 8
  %196 = getelementptr inbounds { ptr, i64 }, ptr %26, i32 0, i32 1
  %197 = load i64, ptr %196, align 8
  invoke void @_ZNSt6vectorIjSaIjEEC2ESt16initializer_listIjERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %25, ptr %195, i64 %197, ptr noundef nonnull align 1 dereferenceable(1) %28)
          to label %198 unwind label %236

198:                                              ; preds = %179
  invoke void @_ZN8mdvectorIdE6assignESt6vectorIjSaIjEEdb(ptr noundef nonnull align 8 dereferenceable(105) %180, ptr noundef %25, double noundef 0.000000e+00, i1 noundef zeroext false)
          to label %199 unwind label %240

199:                                              ; preds = %198
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %25) #3
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr %28) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #3
  br label %245

200:                                              ; preds = %3
  %201 = landingpad { ptr, i32 }
          cleanup
  %202 = extractvalue { ptr, i32 } %201, 0
  store ptr %202, ptr %11, align 8
  %203 = extractvalue { ptr, i32 } %201, 1
  store i32 %203, ptr %12, align 4
  br label %208

204:                                              ; preds = %110
  %205 = landingpad { ptr, i32 }
          cleanup
  %206 = extractvalue { ptr, i32 } %205, 0
  store ptr %206, ptr %11, align 8
  %207 = extractvalue { ptr, i32 } %205, 1
  store i32 %207, ptr %12, align 4
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %7) #3
  br label %208

208:                                              ; preds = %204, %200
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr %10) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %9) #3
  br label %692

209:                                              ; preds = %111
  %210 = landingpad { ptr, i32 }
          cleanup
  %211 = extractvalue { ptr, i32 } %210, 0
  store ptr %211, ptr %11, align 8
  %212 = extractvalue { ptr, i32 } %210, 1
  store i32 %212, ptr %12, align 4
  br label %217

213:                                              ; preds = %130
  %214 = landingpad { ptr, i32 }
          cleanup
  %215 = extractvalue { ptr, i32 } %214, 0
  store ptr %215, ptr %11, align 8
  %216 = extractvalue { ptr, i32 } %214, 1
  store i32 %216, ptr %12, align 4
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #3
  br label %217

217:                                              ; preds = %213, %209
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %16) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr %16) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %15) #3
  br label %692

218:                                              ; preds = %131
  %219 = landingpad { ptr, i32 }
          cleanup
  %220 = extractvalue { ptr, i32 } %219, 0
  store ptr %220, ptr %11, align 8
  %221 = extractvalue { ptr, i32 } %219, 1
  store i32 %221, ptr %12, align 4
  br label %226

222:                                              ; preds = %150
  %223 = landingpad { ptr, i32 }
          cleanup
  %224 = extractvalue { ptr, i32 } %223, 0
  store ptr %224, ptr %11, align 8
  %225 = extractvalue { ptr, i32 } %223, 1
  store i32 %225, ptr %12, align 4
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %17) #3
  br label %226

226:                                              ; preds = %222, %218
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %20) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr %20) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #3
  br label %692

227:                                              ; preds = %157
  %228 = landingpad { ptr, i32 }
          cleanup
  %229 = extractvalue { ptr, i32 } %228, 0
  store ptr %229, ptr %11, align 8
  %230 = extractvalue { ptr, i32 } %228, 1
  store i32 %230, ptr %12, align 4
  br label %235

231:                                              ; preds = %178
  %232 = landingpad { ptr, i32 }
          cleanup
  %233 = extractvalue { ptr, i32 } %232, 0
  store ptr %233, ptr %11, align 8
  %234 = extractvalue { ptr, i32 } %232, 1
  store i32 %234, ptr %12, align 4
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %21) #3
  br label %235

235:                                              ; preds = %231, %227
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %24) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr %24) #3
  call void @llvm.lifetime.end.p0(i64 12, ptr %23) #3
  br label %692

236:                                              ; preds = %179
  %237 = landingpad { ptr, i32 }
          cleanup
  %238 = extractvalue { ptr, i32 } %237, 0
  store ptr %238, ptr %11, align 8
  %239 = extractvalue { ptr, i32 } %237, 1
  store i32 %239, ptr %12, align 4
  br label %244

240:                                              ; preds = %198
  %241 = landingpad { ptr, i32 }
          cleanup
  %242 = extractvalue { ptr, i32 } %241, 0
  store ptr %242, ptr %11, align 8
  %243 = extractvalue { ptr, i32 } %241, 1
  store i32 %243, ptr %12, align 4
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %25) #3
  br label %244

244:                                              ; preds = %240, %236
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr %28) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #3
  br label %692

245:                                              ; preds = %199, %151
  %246 = getelementptr inbounds %class.Faces, ptr %87, i32 0, i32 22
  call void @llvm.lifetime.start.p0(i64 4, ptr %31) #3
  %247 = getelementptr inbounds %class.Faces, ptr %87, i32 0, i32 2
  %248 = load i32, ptr %247, align 8, !tbaa !160
  store i32 %248, ptr %31, align 4, !tbaa !9
  %249 = getelementptr inbounds %"class.std::initializer_list", ptr %30, i32 0, i32 0
  store ptr %31, ptr %249, align 8, !tbaa !143
  %250 = getelementptr inbounds %"class.std::initializer_list", ptr %30, i32 0, i32 1
  store i64 1, ptr %250, align 8, !tbaa !145
  call void @llvm.lifetime.start.p0(i64 1, ptr %32) #3
  call void @_ZNSaIjEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %32) #3
  %251 = getelementptr inbounds { ptr, i64 }, ptr %30, i32 0, i32 0
  %252 = load ptr, ptr %251, align 8
  %253 = getelementptr inbounds { ptr, i64 }, ptr %30, i32 0, i32 1
  %254 = load i64, ptr %253, align 8
  invoke void @_ZNSt6vectorIjSaIjEEC2ESt16initializer_listIjERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %29, ptr %252, i64 %254, ptr noundef nonnull align 1 dereferenceable(1) %32)
          to label %255 unwind label %285

255:                                              ; preds = %245
  invoke void @_ZN8mdvectorIcE6assignESt6vectorIjSaIjEEcb(ptr noundef nonnull align 8 dereferenceable(105) %246, ptr noundef %29, i8 noundef signext 0, i1 noundef zeroext false)
          to label %256 unwind label %289

256:                                              ; preds = %255
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %29) #3
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %32) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr %32) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #3
  %257 = getelementptr inbounds %class.Faces, ptr %87, i32 0, i32 23
  call void @llvm.lifetime.start.p0(i64 4, ptr %35) #3
  %258 = getelementptr inbounds %class.Faces, ptr %87, i32 0, i32 2
  %259 = load i32, ptr %258, align 8, !tbaa !160
  store i32 %259, ptr %35, align 4, !tbaa !9
  %260 = getelementptr inbounds %"class.std::initializer_list", ptr %34, i32 0, i32 0
  store ptr %35, ptr %260, align 8, !tbaa !143
  %261 = getelementptr inbounds %"class.std::initializer_list", ptr %34, i32 0, i32 1
  store i64 1, ptr %261, align 8, !tbaa !145
  call void @llvm.lifetime.start.p0(i64 1, ptr %36) #3
  call void @_ZNSaIjEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #3
  %262 = getelementptr inbounds { ptr, i64 }, ptr %34, i32 0, i32 0
  %263 = load ptr, ptr %262, align 8
  %264 = getelementptr inbounds { ptr, i64 }, ptr %34, i32 0, i32 1
  %265 = load i64, ptr %264, align 8
  invoke void @_ZNSt6vectorIjSaIjEEC2ESt16initializer_listIjERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %33, ptr %263, i64 %265, ptr noundef nonnull align 1 dereferenceable(1) %36)
          to label %266 unwind label %294

266:                                              ; preds = %256
  invoke void @_ZN8mdvectorIcE6assignESt6vectorIjSaIjEEcb(ptr noundef nonnull align 8 dereferenceable(105) %257, ptr noundef %33, i8 noundef signext 0, i1 noundef zeroext false)
          to label %267 unwind label %298

267:                                              ; preds = %266
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %33) #3
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr %36) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #3
  call void @llvm.lifetime.start.p0(i64 4, ptr %37) #3
  %268 = getelementptr inbounds %class.Faces, ptr %87, i32 0, i32 1
  %269 = load ptr, ptr %268, align 8, !tbaa !38
  %270 = getelementptr inbounds %struct.GeoStruct, ptr %269, i32 0, i32 37
  %271 = load i32, ptr %270, align 4, !tbaa !161
  store i32 %271, ptr %37, align 4, !tbaa !9
  br label %272

272:                                              ; preds = %357, %267
  %273 = load i32, ptr %37, align 4, !tbaa !9
  %274 = getelementptr inbounds %class.Faces, ptr %87, i32 0, i32 1
  %275 = load ptr, ptr %274, align 8, !tbaa !38
  %276 = getelementptr inbounds %struct.GeoStruct, ptr %275, i32 0, i32 37
  %277 = load i32, ptr %276, align 4, !tbaa !161
  %278 = getelementptr inbounds %class.Faces, ptr %87, i32 0, i32 1
  %279 = load ptr, ptr %278, align 8, !tbaa !38
  %280 = getelementptr inbounds %struct.GeoStruct, ptr %279, i32 0, i32 38
  %281 = load i32, ptr %280, align 8, !tbaa !39
  %282 = add i32 %277, %281
  %283 = icmp ult i32 %273, %282
  br i1 %283, label %303, label %284

284:                                              ; preds = %272
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #3
  br label %360

285:                                              ; preds = %245
  %286 = landingpad { ptr, i32 }
          cleanup
  %287 = extractvalue { ptr, i32 } %286, 0
  store ptr %287, ptr %11, align 8
  %288 = extractvalue { ptr, i32 } %286, 1
  store i32 %288, ptr %12, align 4
  br label %293

289:                                              ; preds = %255
  %290 = landingpad { ptr, i32 }
          cleanup
  %291 = extractvalue { ptr, i32 } %290, 0
  store ptr %291, ptr %11, align 8
  %292 = extractvalue { ptr, i32 } %290, 1
  store i32 %292, ptr %12, align 4
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %29) #3
  br label %293

293:                                              ; preds = %289, %285
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %32) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr %32) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #3
  br label %692

294:                                              ; preds = %256
  %295 = landingpad { ptr, i32 }
          cleanup
  %296 = extractvalue { ptr, i32 } %295, 0
  store ptr %296, ptr %11, align 8
  %297 = extractvalue { ptr, i32 } %295, 1
  store i32 %297, ptr %12, align 4
  br label %302

298:                                              ; preds = %266
  %299 = landingpad { ptr, i32 }
          cleanup
  %300 = extractvalue { ptr, i32 } %299, 0
  store ptr %300, ptr %11, align 8
  %301 = extractvalue { ptr, i32 } %299, 1
  store i32 %301, ptr %12, align 4
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %33) #3
  br label %302

302:                                              ; preds = %298, %294
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr %36) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #3
  br label %692

303:                                              ; preds = %272
  %304 = getelementptr inbounds %class.Faces, ptr %87, i32 0, i32 0
  %305 = load ptr, ptr %304, align 8, !tbaa !146
  %306 = getelementptr inbounds %struct.InputStruct, ptr %305, i32 0, i32 128
  %307 = load i8, ptr %306, align 1, !tbaa !162, !range !158, !noundef !159
  %308 = trunc i8 %307 to i1
  br i1 %308, label %309, label %324

309:                                              ; preds = %303
  %310 = getelementptr inbounds %class.Faces, ptr %87, i32 0, i32 1
  %311 = load ptr, ptr %310, align 8, !tbaa !38
  %312 = getelementptr inbounds %struct.GeoStruct, ptr %311, i32 0, i32 121
  %313 = getelementptr inbounds %class.Faces, ptr %87, i32 0, i32 1
  %314 = load ptr, ptr %313, align 8, !tbaa !38
  %315 = getelementptr inbounds %struct.GeoStruct, ptr %314, i32 0, i32 117
  %316 = load i32, ptr %37, align 4, !tbaa !9
  %317 = zext i32 %316 to i64
  %318 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %315, i64 noundef %317) #3
  %319 = load i32, ptr %318, align 4, !tbaa !9
  %320 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN8mdvectorIiEclEj(ptr noundef nonnull align 8 dereferenceable(105) %312, i32 noundef %319)
  %321 = load i32, ptr %320, align 4, !tbaa !9
  %322 = icmp eq i32 %321, 0
  br i1 %322, label %323, label %324

323:                                              ; preds = %309
  br label %357

324:                                              ; preds = %309, %303
  call void @llvm.lifetime.start.p0(i64 4, ptr %38) #3
  %325 = getelementptr inbounds %class.Faces, ptr %87, i32 0, i32 1
  %326 = load ptr, ptr %325, align 8, !tbaa !38
  %327 = getelementptr inbounds %struct.GeoStruct, ptr %326, i32 0, i32 55
  %328 = load i32, ptr %37, align 4, !tbaa !9
  %329 = getelementptr inbounds %class.Faces, ptr %87, i32 0, i32 1
  %330 = load ptr, ptr %329, align 8, !tbaa !38
  %331 = getelementptr inbounds %struct.GeoStruct, ptr %330, i32 0, i32 37
  %332 = load i32, ptr %331, align 4, !tbaa !161
  %333 = sub i32 %328, %332
  %334 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZN8mdvectorIcEclEj(ptr noundef nonnull align 8 dereferenceable(105) %327, i32 noundef %333)
  %335 = load i8, ptr %334, align 1, !tbaa !163
  %336 = sext i8 %335 to i32
  store i32 %336, ptr %38, align 4, !tbaa !9
  %337 = load i32, ptr %38, align 4, !tbaa !9
  %338 = icmp ne i32 %337, 1
  br i1 %338, label %342, label %339

339:                                              ; preds = %324
  %340 = load i32, ptr %38, align 4, !tbaa !9
  %341 = icmp ne i32 %340, 10
  br i1 %341, label %342, label %356

342:                                              ; preds = %339, %324
  %343 = getelementptr inbounds %class.Faces, ptr %87, i32 0, i32 23
  %344 = load i32, ptr %37, align 4, !tbaa !9
  %345 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZN8mdvectorIcEclEj(ptr noundef nonnull align 8 dereferenceable(105) %343, i32 noundef %344)
  store i8 1, ptr %345, align 1, !tbaa !163
  %346 = getelementptr inbounds %class.Faces, ptr %87, i32 0, i32 0
  %347 = load ptr, ptr %346, align 8, !tbaa !146
  %348 = getelementptr inbounds %struct.InputStruct, ptr %347, i32 0, i32 155
  %349 = load i8, ptr %348, align 8, !tbaa !164, !range !158, !noundef !159
  %350 = trunc i8 %349 to i1
  br i1 %350, label %351, label %355

351:                                              ; preds = %342
  %352 = getelementptr inbounds %class.Faces, ptr %87, i32 0, i32 22
  %353 = load i32, ptr %37, align 4, !tbaa !9
  %354 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZN8mdvectorIcEclEj(ptr noundef nonnull align 8 dereferenceable(105) %352, i32 noundef %353)
  store i8 1, ptr %354, align 1, !tbaa !163
  br label %355

355:                                              ; preds = %351, %342
  br label %356

356:                                              ; preds = %355, %339
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #3
  br label %357

357:                                              ; preds = %356, %323
  %358 = load i32, ptr %37, align 4, !tbaa !9
  %359 = add i32 %358, 1
  store i32 %359, ptr %37, align 4, !tbaa !9
  br label %272, !llvm.loop !165

360:                                              ; preds = %284
  %361 = getelementptr inbounds %class.Faces, ptr %87, i32 0, i32 0
  %362 = load ptr, ptr %361, align 8, !tbaa !146
  %363 = getelementptr inbounds %struct.InputStruct, ptr %362, i32 0, i32 155
  %364 = load i8, ptr %363, align 8, !tbaa !164, !range !158, !noundef !159
  %365 = trunc i8 %364 to i1
  br i1 %365, label %366, label %522

366:                                              ; preds = %360
  %367 = getelementptr inbounds %class.Faces, ptr %87, i32 0, i32 29
  call void @llvm.lifetime.start.p0(i64 12, ptr %41) #3
  %368 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %368, ptr %41, align 4, !tbaa !9
  %369 = getelementptr inbounds i32, ptr %41, i64 1
  %370 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %370, ptr %369, align 4, !tbaa !9
  %371 = getelementptr inbounds i32, ptr %41, i64 2
  %372 = getelementptr inbounds %class.Faces, ptr %87, i32 0, i32 1
  %373 = load ptr, ptr %372, align 8, !tbaa !38
  %374 = getelementptr inbounds %struct.GeoStruct, ptr %373, i32 0, i32 38
  %375 = load i32, ptr %374, align 8, !tbaa !39
  %376 = getelementptr inbounds %class.Faces, ptr %87, i32 0, i32 1
  %377 = load ptr, ptr %376, align 8, !tbaa !38
  %378 = getelementptr inbounds %struct.GeoStruct, ptr %377, i32 0, i32 39
  %379 = load i32, ptr %378, align 4, !tbaa !142
  %380 = add i32 %375, %379
  store i32 %380, ptr %371, align 4, !tbaa !9
  %381 = getelementptr inbounds %"class.std::initializer_list", ptr %40, i32 0, i32 0
  store ptr %41, ptr %381, align 8, !tbaa !143
  %382 = getelementptr inbounds %"class.std::initializer_list", ptr %40, i32 0, i32 1
  store i64 3, ptr %382, align 8, !tbaa !145
  call void @llvm.lifetime.start.p0(i64 1, ptr %42) #3
  call void @_ZNSaIjEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #3
  %383 = getelementptr inbounds { ptr, i64 }, ptr %40, i32 0, i32 0
  %384 = load ptr, ptr %383, align 8
  %385 = getelementptr inbounds { ptr, i64 }, ptr %40, i32 0, i32 1
  %386 = load i64, ptr %385, align 8
  invoke void @_ZNSt6vectorIjSaIjEEC2ESt16initializer_listIjERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %39, ptr %384, i64 %386, ptr noundef nonnull align 1 dereferenceable(1) %42)
          to label %387 unwind label %476

387:                                              ; preds = %366
  invoke void @_ZN8mdvectorIdE6assignESt6vectorIjSaIjEEdb(ptr noundef nonnull align 8 dereferenceable(105) %367, ptr noundef %39, double noundef 0.000000e+00, i1 noundef zeroext false)
          to label %388 unwind label %480

388:                                              ; preds = %387
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %39) #3
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr %42) #3
  call void @llvm.lifetime.end.p0(i64 12, ptr %41) #3
  %389 = getelementptr inbounds %class.Faces, ptr %87, i32 0, i32 31
  call void @llvm.lifetime.start.p0(i64 12, ptr %45) #3
  %390 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %390, ptr %45, align 4, !tbaa !9
  %391 = getelementptr inbounds i32, ptr %45, i64 1
  %392 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %392, ptr %391, align 4, !tbaa !9
  %393 = getelementptr inbounds i32, ptr %45, i64 2
  %394 = getelementptr inbounds %class.Faces, ptr %87, i32 0, i32 2
  %395 = load i32, ptr %394, align 8, !tbaa !160
  store i32 %395, ptr %393, align 4, !tbaa !9
  %396 = getelementptr inbounds %"class.std::initializer_list", ptr %44, i32 0, i32 0
  store ptr %45, ptr %396, align 8, !tbaa !143
  %397 = getelementptr inbounds %"class.std::initializer_list", ptr %44, i32 0, i32 1
  store i64 3, ptr %397, align 8, !tbaa !145
  call void @llvm.lifetime.start.p0(i64 1, ptr %46) #3
  call void @_ZNSaIjEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %46) #3
  %398 = getelementptr inbounds { ptr, i64 }, ptr %44, i32 0, i32 0
  %399 = load ptr, ptr %398, align 8
  %400 = getelementptr inbounds { ptr, i64 }, ptr %44, i32 0, i32 1
  %401 = load i64, ptr %400, align 8
  invoke void @_ZNSt6vectorIjSaIjEEC2ESt16initializer_listIjERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %43, ptr %399, i64 %401, ptr noundef nonnull align 1 dereferenceable(1) %46)
          to label %402 unwind label %485

402:                                              ; preds = %388
  invoke void @_ZN8mdvectorIdE6assignESt6vectorIjSaIjEEdb(ptr noundef nonnull align 8 dereferenceable(105) %389, ptr noundef %43, double noundef 0.000000e+00, i1 noundef zeroext false)
          to label %403 unwind label %489

403:                                              ; preds = %402
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %43) #3
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %46) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr %46) #3
  call void @llvm.lifetime.end.p0(i64 12, ptr %45) #3
  %404 = getelementptr inbounds %class.Faces, ptr %87, i32 0, i32 0
  %405 = load ptr, ptr %404, align 8, !tbaa !146
  %406 = getelementptr inbounds %struct.InputStruct, ptr %405, i32 0, i32 24
  %407 = load i8, ptr %406, align 8, !tbaa !147, !range !158, !noundef !159
  %408 = trunc i8 %407 to i1
  br i1 %408, label %409, label %521

409:                                              ; preds = %403
  %410 = getelementptr inbounds %class.Faces, ptr %87, i32 0, i32 28
  call void @llvm.lifetime.start.p0(i64 12, ptr %49) #3
  %411 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %411, ptr %49, align 4, !tbaa !9
  %412 = getelementptr inbounds i32, ptr %49, i64 1
  %413 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %413, ptr %412, align 4, !tbaa !9
  %414 = getelementptr inbounds i32, ptr %49, i64 2
  %415 = getelementptr inbounds %class.Faces, ptr %87, i32 0, i32 1
  %416 = load ptr, ptr %415, align 8, !tbaa !38
  %417 = getelementptr inbounds %struct.GeoStruct, ptr %416, i32 0, i32 38
  %418 = load i32, ptr %417, align 8, !tbaa !39
  %419 = getelementptr inbounds %class.Faces, ptr %87, i32 0, i32 1
  %420 = load ptr, ptr %419, align 8, !tbaa !38
  %421 = getelementptr inbounds %struct.GeoStruct, ptr %420, i32 0, i32 39
  %422 = load i32, ptr %421, align 4, !tbaa !142
  %423 = add i32 %418, %422
  store i32 %423, ptr %414, align 4, !tbaa !9
  %424 = getelementptr inbounds %"class.std::initializer_list", ptr %48, i32 0, i32 0
  store ptr %49, ptr %424, align 8, !tbaa !143
  %425 = getelementptr inbounds %"class.std::initializer_list", ptr %48, i32 0, i32 1
  store i64 3, ptr %425, align 8, !tbaa !145
  call void @llvm.lifetime.start.p0(i64 1, ptr %50) #3
  call void @_ZNSaIjEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %50) #3
  %426 = getelementptr inbounds { ptr, i64 }, ptr %48, i32 0, i32 0
  %427 = load ptr, ptr %426, align 8
  %428 = getelementptr inbounds { ptr, i64 }, ptr %48, i32 0, i32 1
  %429 = load i64, ptr %428, align 8
  invoke void @_ZNSt6vectorIjSaIjEEC2ESt16initializer_listIjERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %47, ptr %427, i64 %429, ptr noundef nonnull align 1 dereferenceable(1) %50)
          to label %430 unwind label %494

430:                                              ; preds = %409
  invoke void @_ZN8mdvectorIdE6assignESt6vectorIjSaIjEEdb(ptr noundef nonnull align 8 dereferenceable(105) %410, ptr noundef %47, double noundef 0.000000e+00, i1 noundef zeroext false)
          to label %431 unwind label %498

431:                                              ; preds = %430
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %47) #3
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %50) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr %50) #3
  call void @llvm.lifetime.end.p0(i64 12, ptr %49) #3
  %432 = getelementptr inbounds %class.Faces, ptr %87, i32 0, i32 30
  call void @llvm.lifetime.start.p0(i64 20, ptr %53) #3
  store i32 2, ptr %53, align 4, !tbaa !9
  %433 = getelementptr inbounds i32, ptr %53, i64 1
  %434 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %434, ptr %433, align 4, !tbaa !9
  %435 = getelementptr inbounds i32, ptr %53, i64 2
  %436 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %436, ptr %435, align 4, !tbaa !9
  %437 = getelementptr inbounds i32, ptr %53, i64 3
  %438 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %438, ptr %437, align 4, !tbaa !9
  %439 = getelementptr inbounds i32, ptr %53, i64 4
  %440 = getelementptr inbounds %class.Faces, ptr %87, i32 0, i32 1
  %441 = load ptr, ptr %440, align 8, !tbaa !38
  %442 = getelementptr inbounds %struct.GeoStruct, ptr %441, i32 0, i32 38
  %443 = load i32, ptr %442, align 8, !tbaa !39
  %444 = getelementptr inbounds %class.Faces, ptr %87, i32 0, i32 1
  %445 = load ptr, ptr %444, align 8, !tbaa !38
  %446 = getelementptr inbounds %struct.GeoStruct, ptr %445, i32 0, i32 39
  %447 = load i32, ptr %446, align 4, !tbaa !142
  %448 = add i32 %443, %447
  store i32 %448, ptr %439, align 4, !tbaa !9
  %449 = getelementptr inbounds %"class.std::initializer_list", ptr %52, i32 0, i32 0
  store ptr %53, ptr %449, align 8, !tbaa !143
  %450 = getelementptr inbounds %"class.std::initializer_list", ptr %52, i32 0, i32 1
  store i64 5, ptr %450, align 8, !tbaa !145
  call void @llvm.lifetime.start.p0(i64 1, ptr %54) #3
  call void @_ZNSaIjEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %54) #3
  %451 = getelementptr inbounds { ptr, i64 }, ptr %52, i32 0, i32 0
  %452 = load ptr, ptr %451, align 8
  %453 = getelementptr inbounds { ptr, i64 }, ptr %52, i32 0, i32 1
  %454 = load i64, ptr %453, align 8
  invoke void @_ZNSt6vectorIjSaIjEEC2ESt16initializer_listIjERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %51, ptr %452, i64 %454, ptr noundef nonnull align 1 dereferenceable(1) %54)
          to label %455 unwind label %503

455:                                              ; preds = %431
  invoke void @_ZN8mdvectorIdE6assignESt6vectorIjSaIjEEdb(ptr noundef nonnull align 8 dereferenceable(105) %432, ptr noundef %51, double noundef 0.000000e+00, i1 noundef zeroext false)
          to label %456 unwind label %507

456:                                              ; preds = %455
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %51) #3
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %54) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr %54) #3
  call void @llvm.lifetime.end.p0(i64 20, ptr %53) #3
  %457 = getelementptr inbounds %class.Faces, ptr %87, i32 0, i32 32
  call void @llvm.lifetime.start.p0(i64 20, ptr %57) #3
  %458 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %458, ptr %57, align 4, !tbaa !9
  %459 = getelementptr inbounds i32, ptr %57, i64 1
  %460 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %460, ptr %459, align 4, !tbaa !9
  %461 = getelementptr inbounds i32, ptr %57, i64 2
  %462 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %462, ptr %461, align 4, !tbaa !9
  %463 = getelementptr inbounds i32, ptr %57, i64 3
  %464 = load i32, ptr %6, align 4, !tbaa !9
  store i32 %464, ptr %463, align 4, !tbaa !9
  %465 = getelementptr inbounds i32, ptr %57, i64 4
  %466 = getelementptr inbounds %class.Faces, ptr %87, i32 0, i32 2
  %467 = load i32, ptr %466, align 8, !tbaa !160
  store i32 %467, ptr %465, align 4, !tbaa !9
  %468 = getelementptr inbounds %"class.std::initializer_list", ptr %56, i32 0, i32 0
  store ptr %57, ptr %468, align 8, !tbaa !143
  %469 = getelementptr inbounds %"class.std::initializer_list", ptr %56, i32 0, i32 1
  store i64 5, ptr %469, align 8, !tbaa !145
  call void @llvm.lifetime.start.p0(i64 1, ptr %58) #3
  call void @_ZNSaIjEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %58) #3
  %470 = getelementptr inbounds { ptr, i64 }, ptr %56, i32 0, i32 0
  %471 = load ptr, ptr %470, align 8
  %472 = getelementptr inbounds { ptr, i64 }, ptr %56, i32 0, i32 1
  %473 = load i64, ptr %472, align 8
  invoke void @_ZNSt6vectorIjSaIjEEC2ESt16initializer_listIjERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %55, ptr %471, i64 %473, ptr noundef nonnull align 1 dereferenceable(1) %58)
          to label %474 unwind label %512

474:                                              ; preds = %456
  invoke void @_ZN8mdvectorIdE6assignESt6vectorIjSaIjEEdb(ptr noundef nonnull align 8 dereferenceable(105) %457, ptr noundef %55, double noundef 0.000000e+00, i1 noundef zeroext false)
          to label %475 unwind label %516

475:                                              ; preds = %474
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %55) #3
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %58) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr %58) #3
  call void @llvm.lifetime.end.p0(i64 20, ptr %57) #3
  br label %521

476:                                              ; preds = %366
  %477 = landingpad { ptr, i32 }
          cleanup
  %478 = extractvalue { ptr, i32 } %477, 0
  store ptr %478, ptr %11, align 8
  %479 = extractvalue { ptr, i32 } %477, 1
  store i32 %479, ptr %12, align 4
  br label %484

480:                                              ; preds = %387
  %481 = landingpad { ptr, i32 }
          cleanup
  %482 = extractvalue { ptr, i32 } %481, 0
  store ptr %482, ptr %11, align 8
  %483 = extractvalue { ptr, i32 } %481, 1
  store i32 %483, ptr %12, align 4
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %39) #3
  br label %484

484:                                              ; preds = %480, %476
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr %42) #3
  call void @llvm.lifetime.end.p0(i64 12, ptr %41) #3
  br label %692

485:                                              ; preds = %388
  %486 = landingpad { ptr, i32 }
          cleanup
  %487 = extractvalue { ptr, i32 } %486, 0
  store ptr %487, ptr %11, align 8
  %488 = extractvalue { ptr, i32 } %486, 1
  store i32 %488, ptr %12, align 4
  br label %493

489:                                              ; preds = %402
  %490 = landingpad { ptr, i32 }
          cleanup
  %491 = extractvalue { ptr, i32 } %490, 0
  store ptr %491, ptr %11, align 8
  %492 = extractvalue { ptr, i32 } %490, 1
  store i32 %492, ptr %12, align 4
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %43) #3
  br label %493

493:                                              ; preds = %489, %485
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %46) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr %46) #3
  call void @llvm.lifetime.end.p0(i64 12, ptr %45) #3
  br label %692

494:                                              ; preds = %409
  %495 = landingpad { ptr, i32 }
          cleanup
  %496 = extractvalue { ptr, i32 } %495, 0
  store ptr %496, ptr %11, align 8
  %497 = extractvalue { ptr, i32 } %495, 1
  store i32 %497, ptr %12, align 4
  br label %502

498:                                              ; preds = %430
  %499 = landingpad { ptr, i32 }
          cleanup
  %500 = extractvalue { ptr, i32 } %499, 0
  store ptr %500, ptr %11, align 8
  %501 = extractvalue { ptr, i32 } %499, 1
  store i32 %501, ptr %12, align 4
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %47) #3
  br label %502

502:                                              ; preds = %498, %494
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %50) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr %50) #3
  call void @llvm.lifetime.end.p0(i64 12, ptr %49) #3
  br label %692

503:                                              ; preds = %431
  %504 = landingpad { ptr, i32 }
          cleanup
  %505 = extractvalue { ptr, i32 } %504, 0
  store ptr %505, ptr %11, align 8
  %506 = extractvalue { ptr, i32 } %504, 1
  store i32 %506, ptr %12, align 4
  br label %511

507:                                              ; preds = %455
  %508 = landingpad { ptr, i32 }
          cleanup
  %509 = extractvalue { ptr, i32 } %508, 0
  store ptr %509, ptr %11, align 8
  %510 = extractvalue { ptr, i32 } %508, 1
  store i32 %510, ptr %12, align 4
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %51) #3
  br label %511

511:                                              ; preds = %507, %503
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %54) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr %54) #3
  call void @llvm.lifetime.end.p0(i64 20, ptr %53) #3
  br label %692

512:                                              ; preds = %456
  %513 = landingpad { ptr, i32 }
          cleanup
  %514 = extractvalue { ptr, i32 } %513, 0
  store ptr %514, ptr %11, align 8
  %515 = extractvalue { ptr, i32 } %513, 1
  store i32 %515, ptr %12, align 4
  br label %520

516:                                              ; preds = %474
  %517 = landingpad { ptr, i32 }
          cleanup
  %518 = extractvalue { ptr, i32 } %517, 0
  store ptr %518, ptr %11, align 8
  %519 = extractvalue { ptr, i32 } %517, 1
  store i32 %519, ptr %12, align 4
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %55) #3
  br label %520

520:                                              ; preds = %516, %512
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %58) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr %58) #3
  call void @llvm.lifetime.end.p0(i64 20, ptr %57) #3
  br label %692

521:                                              ; preds = %475, %403
  br label %522

522:                                              ; preds = %521, %360
  %523 = getelementptr inbounds %class.Faces, ptr %87, i32 0, i32 0
  %524 = load ptr, ptr %523, align 8, !tbaa !146
  %525 = getelementptr inbounds %struct.InputStruct, ptr %524, i32 0, i32 0
  %526 = load i32, ptr %525, align 8, !tbaa !167
  %527 = icmp eq i32 %526, 1
  br i1 %527, label %528, label %550

528:                                              ; preds = %522
  %529 = getelementptr inbounds %class.Faces, ptr %87, i32 0, i32 6
  call void @llvm.lifetime.start.p0(i64 8, ptr %61) #3
  store i32 2, ptr %61, align 4, !tbaa !9
  %530 = getelementptr inbounds i32, ptr %61, i64 1
  %531 = getelementptr inbounds %class.Faces, ptr %87, i32 0, i32 2
  %532 = load i32, ptr %531, align 8, !tbaa !160
  store i32 %532, ptr %530, align 4, !tbaa !9
  %533 = getelementptr inbounds %"class.std::initializer_list", ptr %60, i32 0, i32 0
  store ptr %61, ptr %533, align 8, !tbaa !143
  %534 = getelementptr inbounds %"class.std::initializer_list", ptr %60, i32 0, i32 1
  store i64 2, ptr %534, align 8, !tbaa !145
  call void @llvm.lifetime.start.p0(i64 1, ptr %62) #3
  call void @_ZNSaIjEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %62) #3
  %535 = getelementptr inbounds { ptr, i64 }, ptr %60, i32 0, i32 0
  %536 = load ptr, ptr %535, align 8
  %537 = getelementptr inbounds { ptr, i64 }, ptr %60, i32 0, i32 1
  %538 = load i64, ptr %537, align 8
  invoke void @_ZNSt6vectorIjSaIjEEC2ESt16initializer_listIjERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %59, ptr %536, i64 %538, ptr noundef nonnull align 1 dereferenceable(1) %62)
          to label %539 unwind label %541

539:                                              ; preds = %528
  invoke void @_ZN8mdvectorIdE6assignESt6vectorIjSaIjEEdb(ptr noundef nonnull align 8 dereferenceable(105) %529, ptr noundef %59, double noundef 0.000000e+00, i1 noundef zeroext false)
          to label %540 unwind label %545

540:                                              ; preds = %539
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %59) #3
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %62) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr %62) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %61) #3
  br label %550

541:                                              ; preds = %528
  %542 = landingpad { ptr, i32 }
          cleanup
  %543 = extractvalue { ptr, i32 } %542, 0
  store ptr %543, ptr %11, align 8
  %544 = extractvalue { ptr, i32 } %542, 1
  store i32 %544, ptr %12, align 4
  br label %549

545:                                              ; preds = %539
  %546 = landingpad { ptr, i32 }
          cleanup
  %547 = extractvalue { ptr, i32 } %546, 0
  store ptr %547, ptr %11, align 8
  %548 = extractvalue { ptr, i32 } %546, 1
  store i32 %548, ptr %12, align 4
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %59) #3
  br label %549

549:                                              ; preds = %545, %541
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %62) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr %62) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %61) #3
  br label %692

550:                                              ; preds = %540, %522
  %551 = getelementptr inbounds %class.Faces, ptr %87, i32 0, i32 20
  call void @llvm.lifetime.start.p0(i64 4, ptr %65) #3
  %552 = getelementptr inbounds %class.Faces, ptr %87, i32 0, i32 2
  %553 = load i32, ptr %552, align 8, !tbaa !160
  store i32 %553, ptr %65, align 4, !tbaa !9
  %554 = getelementptr inbounds %"class.std::initializer_list", ptr %64, i32 0, i32 0
  store ptr %65, ptr %554, align 8, !tbaa !143
  %555 = getelementptr inbounds %"class.std::initializer_list", ptr %64, i32 0, i32 1
  store i64 1, ptr %555, align 8, !tbaa !145
  call void @llvm.lifetime.start.p0(i64 1, ptr %66) #3
  call void @_ZNSaIjEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %66) #3
  %556 = getelementptr inbounds { ptr, i64 }, ptr %64, i32 0, i32 0
  %557 = load ptr, ptr %556, align 8
  %558 = getelementptr inbounds { ptr, i64 }, ptr %64, i32 0, i32 1
  %559 = load i64, ptr %558, align 8
  invoke void @_ZNSt6vectorIjSaIjEEC2ESt16initializer_listIjERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %63, ptr %557, i64 %559, ptr noundef nonnull align 1 dereferenceable(1) %66)
          to label %560 unwind label %579

560:                                              ; preds = %550
  invoke void @_ZN8mdvectorIdE6assignESt6vectorIjSaIjEEdb(ptr noundef nonnull align 8 dereferenceable(105) %551, ptr noundef %63, double noundef 0.000000e+00, i1 noundef zeroext false)
          to label %561 unwind label %583

561:                                              ; preds = %560
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %63) #3
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %66) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr %66) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #3
  %562 = getelementptr inbounds %class.Faces, ptr %87, i32 0, i32 0
  %563 = load ptr, ptr %562, align 8, !tbaa !146
  %564 = getelementptr inbounds %struct.InputStruct, ptr %563, i32 0, i32 24
  %565 = load i8, ptr %564, align 8, !tbaa !147, !range !158, !noundef !159
  %566 = trunc i8 %565 to i1
  br i1 %566, label %567, label %597

567:                                              ; preds = %561
  %568 = getelementptr inbounds %class.Faces, ptr %87, i32 0, i32 21
  call void @llvm.lifetime.start.p0(i64 4, ptr %69) #3
  %569 = getelementptr inbounds %class.Faces, ptr %87, i32 0, i32 2
  %570 = load i32, ptr %569, align 8, !tbaa !160
  store i32 %570, ptr %69, align 4, !tbaa !9
  %571 = getelementptr inbounds %"class.std::initializer_list", ptr %68, i32 0, i32 0
  store ptr %69, ptr %571, align 8, !tbaa !143
  %572 = getelementptr inbounds %"class.std::initializer_list", ptr %68, i32 0, i32 1
  store i64 1, ptr %572, align 8, !tbaa !145
  call void @llvm.lifetime.start.p0(i64 1, ptr %70) #3
  call void @_ZNSaIjEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %70) #3
  %573 = getelementptr inbounds { ptr, i64 }, ptr %68, i32 0, i32 0
  %574 = load ptr, ptr %573, align 8
  %575 = getelementptr inbounds { ptr, i64 }, ptr %68, i32 0, i32 1
  %576 = load i64, ptr %575, align 8
  invoke void @_ZNSt6vectorIjSaIjEEC2ESt16initializer_listIjERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %67, ptr %574, i64 %576, ptr noundef nonnull align 1 dereferenceable(1) %70)
          to label %577 unwind label %588

577:                                              ; preds = %567
  invoke void @_ZN8mdvectorIdE6assignESt6vectorIjSaIjEEdb(ptr noundef nonnull align 8 dereferenceable(105) %568, ptr noundef %67, double noundef 0.000000e+00, i1 noundef zeroext false)
          to label %578 unwind label %592

578:                                              ; preds = %577
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %67) #3
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %70) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr %70) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #3
  br label %597

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

583:                                              ; preds = %560
  %584 = landingpad { ptr, i32 }
          cleanup
  %585 = extractvalue { ptr, i32 } %584, 0
  store ptr %585, ptr %11, align 8
  %586 = extractvalue { ptr, i32 } %584, 1
  store i32 %586, ptr %12, align 4
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %63) #3
  br label %587

587:                                              ; preds = %583, %579
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %66) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr %66) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #3
  br label %692

588:                                              ; preds = %567
  %589 = landingpad { ptr, i32 }
          cleanup
  %590 = extractvalue { ptr, i32 } %589, 0
  store ptr %590, ptr %11, align 8
  %591 = extractvalue { ptr, i32 } %589, 1
  store i32 %591, ptr %12, align 4
  br label %596

592:                                              ; preds = %577
  %593 = landingpad { ptr, i32 }
          cleanup
  %594 = extractvalue { ptr, i32 } %593, 0
  store ptr %594, ptr %11, align 8
  %595 = extractvalue { ptr, i32 } %593, 1
  store i32 %595, ptr %12, align 4
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %67) #3
  br label %596

596:                                              ; preds = %592, %588
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %70) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr %70) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #3
  br label %692

597:                                              ; preds = %578, %561
  %598 = getelementptr inbounds %class.Faces, ptr %87, i32 0, i32 18
  call void @llvm.lifetime.start.p0(i64 8, ptr %73) #3
  %599 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %599, ptr %73, align 4, !tbaa !9
  %600 = getelementptr inbounds i32, ptr %73, i64 1
  %601 = getelementptr inbounds %class.Faces, ptr %87, i32 0, i32 2
  %602 = load i32, ptr %601, align 8, !tbaa !160
  store i32 %602, ptr %600, align 4, !tbaa !9
  %603 = getelementptr inbounds %"class.std::initializer_list", ptr %72, i32 0, i32 0
  store ptr %73, ptr %603, align 8, !tbaa !143
  %604 = getelementptr inbounds %"class.std::initializer_list", ptr %72, i32 0, i32 1
  store i64 2, ptr %604, align 8, !tbaa !145
  call void @llvm.lifetime.start.p0(i64 1, ptr %74) #3
  call void @_ZNSaIjEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %74) #3
  %605 = getelementptr inbounds { ptr, i64 }, ptr %72, i32 0, i32 0
  %606 = load ptr, ptr %605, align 8
  %607 = getelementptr inbounds { ptr, i64 }, ptr %72, i32 0, i32 1
  %608 = load i64, ptr %607, align 8
  invoke void @_ZNSt6vectorIjSaIjEEC2ESt16initializer_listIjERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %71, ptr %606, i64 %608, ptr noundef nonnull align 1 dereferenceable(1) %74)
          to label %609 unwind label %655

609:                                              ; preds = %597
  invoke void @_ZN8mdvectorIdE6assignESt6vectorIjSaIjEEdb(ptr noundef nonnull align 8 dereferenceable(105) %598, ptr noundef %71, double noundef 0.000000e+00, i1 noundef zeroext false)
          to label %610 unwind label %659

610:                                              ; preds = %609
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %71) #3
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %74) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr %74) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %73) #3
  %611 = getelementptr inbounds %class.Faces, ptr %87, i32 0, i32 17
  call void @llvm.lifetime.start.p0(i64 8, ptr %77) #3
  %612 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %612, ptr %77, align 4, !tbaa !9
  %613 = getelementptr inbounds i32, ptr %77, i64 1
  %614 = getelementptr inbounds %class.Faces, ptr %87, i32 0, i32 2
  %615 = load i32, ptr %614, align 8, !tbaa !160
  store i32 %615, ptr %613, align 4, !tbaa !9
  %616 = getelementptr inbounds %"class.std::initializer_list", ptr %76, i32 0, i32 0
  store ptr %77, ptr %616, align 8, !tbaa !143
  %617 = getelementptr inbounds %"class.std::initializer_list", ptr %76, i32 0, i32 1
  store i64 2, ptr %617, align 8, !tbaa !145
  call void @llvm.lifetime.start.p0(i64 1, ptr %78) #3
  call void @_ZNSaIjEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %78) #3
  %618 = getelementptr inbounds { ptr, i64 }, ptr %76, i32 0, i32 0
  %619 = load ptr, ptr %618, align 8
  %620 = getelementptr inbounds { ptr, i64 }, ptr %76, i32 0, i32 1
  %621 = load i64, ptr %620, align 8
  invoke void @_ZNSt6vectorIjSaIjEEC2ESt16initializer_listIjERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %75, ptr %619, i64 %621, ptr noundef nonnull align 1 dereferenceable(1) %78)
          to label %622 unwind label %664

622:                                              ; preds = %610
  invoke void @_ZN8mdvectorIdE6assignESt6vectorIjSaIjEEdb(ptr noundef nonnull align 8 dereferenceable(105) %611, ptr noundef %75, double noundef 0.000000e+00, i1 noundef zeroext false)
          to label %623 unwind label %668

623:                                              ; preds = %622
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %75) #3
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %78) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr %78) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %77) #3
  %624 = getelementptr inbounds %class.Faces, ptr %87, i32 0, i32 19
  call void @llvm.lifetime.start.p0(i64 8, ptr %81) #3
  store i32 2, ptr %81, align 4, !tbaa !9
  %625 = getelementptr inbounds i32, ptr %81, i64 1
  %626 = getelementptr inbounds %class.Faces, ptr %87, i32 0, i32 2
  %627 = load i32, ptr %626, align 8, !tbaa !160
  store i32 %627, ptr %625, align 4, !tbaa !9
  %628 = getelementptr inbounds %"class.std::initializer_list", ptr %80, i32 0, i32 0
  store ptr %81, ptr %628, align 8, !tbaa !143
  %629 = getelementptr inbounds %"class.std::initializer_list", ptr %80, i32 0, i32 1
  store i64 2, ptr %629, align 8, !tbaa !145
  call void @llvm.lifetime.start.p0(i64 1, ptr %82) #3
  call void @_ZNSaIjEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %82) #3
  %630 = getelementptr inbounds { ptr, i64 }, ptr %80, i32 0, i32 0
  %631 = load ptr, ptr %630, align 8
  %632 = getelementptr inbounds { ptr, i64 }, ptr %80, i32 0, i32 1
  %633 = load i64, ptr %632, align 8
  invoke void @_ZNSt6vectorIjSaIjEEC2ESt16initializer_listIjERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %79, ptr %631, i64 %633, ptr noundef nonnull align 1 dereferenceable(1) %82)
          to label %634 unwind label %673

634:                                              ; preds = %623
  invoke void @_ZN8mdvectorIdE6assignESt6vectorIjSaIjEEdb(ptr noundef nonnull align 8 dereferenceable(105) %624, ptr noundef %79, double noundef 0.000000e+00, i1 noundef zeroext false)
          to label %635 unwind label %677

635:                                              ; preds = %634
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %79) #3
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %82) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr %82) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %81) #3
  %636 = getelementptr inbounds %class.Faces, ptr %87, i32 0, i32 0
  %637 = load ptr, ptr %636, align 8, !tbaa !146
  %638 = getelementptr inbounds %struct.InputStruct, ptr %637, i32 0, i32 127
  %639 = load i8, ptr %638, align 4, !tbaa !168, !range !158, !noundef !159
  %640 = trunc i8 %639 to i1
  br i1 %640, label %641, label %691

641:                                              ; preds = %635
  %642 = getelementptr inbounds %class.Faces, ptr %87, i32 0, i32 24
  call void @llvm.lifetime.start.p0(i64 8, ptr %85) #3
  %643 = load i32, ptr %5, align 4, !tbaa !9
  store i32 %643, ptr %85, align 4, !tbaa !9
  %644 = getelementptr inbounds i32, ptr %85, i64 1
  %645 = getelementptr inbounds %class.Faces, ptr %87, i32 0, i32 2
  %646 = load i32, ptr %645, align 8, !tbaa !160
  store i32 %646, ptr %644, align 4, !tbaa !9
  %647 = getelementptr inbounds %"class.std::initializer_list", ptr %84, i32 0, i32 0
  store ptr %85, ptr %647, align 8, !tbaa !143
  %648 = getelementptr inbounds %"class.std::initializer_list", ptr %84, i32 0, i32 1
  store i64 2, ptr %648, align 8, !tbaa !145
  call void @llvm.lifetime.start.p0(i64 1, ptr %86) #3
  call void @_ZNSaIjEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %86) #3
  %649 = getelementptr inbounds { ptr, i64 }, ptr %84, i32 0, i32 0
  %650 = load ptr, ptr %649, align 8
  %651 = getelementptr inbounds { ptr, i64 }, ptr %84, i32 0, i32 1
  %652 = load i64, ptr %651, align 8
  invoke void @_ZNSt6vectorIjSaIjEEC2ESt16initializer_listIjERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %83, ptr %650, i64 %652, ptr noundef nonnull align 1 dereferenceable(1) %86)
          to label %653 unwind label %682

653:                                              ; preds = %641
  invoke void @_ZN8mdvectorIdE6assignESt6vectorIjSaIjEEdb(ptr noundef nonnull align 8 dereferenceable(105) %642, ptr noundef %83, double noundef 0.000000e+00, i1 noundef zeroext false)
          to label %654 unwind label %686

654:                                              ; preds = %653
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %83) #3
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %86) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr %86) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %85) #3
  br label %691

655:                                              ; preds = %597
  %656 = landingpad { ptr, i32 }
          cleanup
  %657 = extractvalue { ptr, i32 } %656, 0
  store ptr %657, ptr %11, align 8
  %658 = extractvalue { ptr, i32 } %656, 1
  store i32 %658, ptr %12, align 4
  br label %663

659:                                              ; preds = %609
  %660 = landingpad { ptr, i32 }
          cleanup
  %661 = extractvalue { ptr, i32 } %660, 0
  store ptr %661, ptr %11, align 8
  %662 = extractvalue { ptr, i32 } %660, 1
  store i32 %662, ptr %12, align 4
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %71) #3
  br label %663

663:                                              ; preds = %659, %655
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %74) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr %74) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %73) #3
  br label %692

664:                                              ; preds = %610
  %665 = landingpad { ptr, i32 }
          cleanup
  %666 = extractvalue { ptr, i32 } %665, 0
  store ptr %666, ptr %11, align 8
  %667 = extractvalue { ptr, i32 } %665, 1
  store i32 %667, ptr %12, align 4
  br label %672

668:                                              ; preds = %622
  %669 = landingpad { ptr, i32 }
          cleanup
  %670 = extractvalue { ptr, i32 } %669, 0
  store ptr %670, ptr %11, align 8
  %671 = extractvalue { ptr, i32 } %669, 1
  store i32 %671, ptr %12, align 4
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %75) #3
  br label %672

672:                                              ; preds = %668, %664
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %78) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr %78) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %77) #3
  br label %692

673:                                              ; preds = %623
  %674 = landingpad { ptr, i32 }
          cleanup
  %675 = extractvalue { ptr, i32 } %674, 0
  store ptr %675, ptr %11, align 8
  %676 = extractvalue { ptr, i32 } %674, 1
  store i32 %676, ptr %12, align 4
  br label %681

677:                                              ; preds = %634
  %678 = landingpad { ptr, i32 }
          cleanup
  %679 = extractvalue { ptr, i32 } %678, 0
  store ptr %679, ptr %11, align 8
  %680 = extractvalue { ptr, i32 } %678, 1
  store i32 %680, ptr %12, align 4
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %79) #3
  br label %681

681:                                              ; preds = %677, %673
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %82) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr %82) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %81) #3
  br label %692

682:                                              ; preds = %641
  %683 = landingpad { ptr, i32 }
          cleanup
  %684 = extractvalue { ptr, i32 } %683, 0
  store ptr %684, ptr %11, align 8
  %685 = extractvalue { ptr, i32 } %683, 1
  store i32 %685, ptr %12, align 4
  br label %690

686:                                              ; preds = %653
  %687 = landingpad { ptr, i32 }
          cleanup
  %688 = extractvalue { ptr, i32 } %687, 0
  store ptr %688, ptr %11, align 8
  %689 = extractvalue { ptr, i32 } %687, 1
  store i32 %689, ptr %12, align 4
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %83) #3
  br label %690

690:                                              ; preds = %686, %682
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %86) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr %86) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %85) #3
  br label %692

691:                                              ; preds = %654, %635
  ret void

692:                                              ; preds = %690, %681, %672, %663, %596, %587, %549, %520, %511, %502, %493, %484, %302, %293, %244, %235, %226, %217, %208
  %693 = load ptr, ptr %11, align 8
  %694 = load i32, ptr %12, align 4
  %695 = insertvalue { ptr, i32 } poison, ptr %693, 0
  %696 = insertvalue { ptr, i32 } %695, i32 %694, 1
  resume { ptr, i32 } %696
}

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

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

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

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

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

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

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

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

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

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

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

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"int", !7, i64 0}
!11 = !{!12, !10, i64 24}
!12 = !{!"_ZTS5Faces", !6, i64 0, !6, i64 8, !10, i64 16, !10, i64 20, !10, i64 24, !13, i64 32, !21, i64 144, !21, i64 376, !21, i64 608, !21, i64 840, !21, i64 1072, !13, i64 1304, !13, i64 1416, !13, i64 1528, !13, i64 1640, !13, i64 1752, !13, i64 1864, !13, i64 1976, !13, i64 2088, !13, i64 2200, !13, i64 2312, !32, i64 2424, !32, i64 2536, !13, i64 2648, !21, i64 2760, !21, i64 2992, !21, i64 3224, !13, i64 3456, !13, i64 3568, !13, i64 3680, !13, i64 3792, !13, i64 3904, !13, i64 4016, !10, i64 4128}
!13 = !{!"_ZTS8mdvectorIdE", !10, i64 0, !14, i64 8, !14, i64 16, !15, i64 24, !15, i64 48, !16, i64 72, !6, i64 96, !20, i64 104}
!14 = !{!"long", !7, i64 0}
!15 = !{!"_ZTSSt5arrayIjLm6EE", !7, i64 0}
!16 = !{!"_ZTSSt6vectorIdSaIdEE", !17, i64 0}
!17 = !{!"_ZTSSt12_Vector_baseIdSaIdEE", !18, i64 0}
!18 = !{!"_ZTSNSt12_Vector_baseIdSaIdEE12_Vector_implE", !19, i64 0}
!19 = !{!"_ZTSNSt12_Vector_baseIdSaIdEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!20 = !{!"bool", !7, i64 0}
!21 = !{!"_ZTS6mdviewIdE", !22, i64 0, !27, i64 112, !10, i64 224}
!22 = !{!"_ZTS8mdvectorIPdE", !10, i64 0, !14, i64 8, !14, i64 16, !15, i64 24, !15, i64 48, !23, i64 72, !6, i64 96, !20, i64 104}
!23 = !{!"_ZTSSt6vectorIPdSaIS0_EE", !24, i64 0}
!24 = !{!"_ZTSSt12_Vector_baseIPdSaIS0_EE", !25, i64 0}
!25 = !{!"_ZTSNSt12_Vector_baseIPdSaIS0_EE12_Vector_implE", !26, i64 0}
!26 = !{!"_ZTSNSt12_Vector_baseIPdSaIS0_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!27 = !{!"_ZTS8mdvectorIjE", !10, i64 0, !14, i64 8, !14, i64 16, !15, i64 24, !15, i64 48, !28, i64 72, !6, i64 96, !20, i64 104}
!28 = !{!"_ZTSSt6vectorIjSaIjEE", !29, i64 0}
!29 = !{!"_ZTSSt12_Vector_baseIjSaIjEE", !30, i64 0}
!30 = !{!"_ZTSNSt12_Vector_baseIjSaIjEE12_Vector_implE", !31, i64 0}
!31 = !{!"_ZTSNSt12_Vector_baseIjSaIjEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!32 = !{!"_ZTS8mdvectorIcE", !10, i64 0, !14, i64 8, !14, i64 16, !15, i64 24, !15, i64 48, !33, i64 72, !6, i64 96, !20, i64 104}
!33 = !{!"_ZTSSt6vectorIcSaIcEE", !34, i64 0}
!34 = !{!"_ZTSSt12_Vector_baseIcSaIcEE", !35, i64 0}
!35 = !{!"_ZTSNSt12_Vector_baseIcSaIcEE12_Vector_implE", !36, i64 0}
!36 = !{!"_ZTSNSt12_Vector_baseIcSaIcEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!37 = !{!12, !10, i64 20}
!38 = !{!12, !6, i64 8}
!39 = !{!40, !10, i64 2112}
!40 = !{!"_ZTS9GeoStruct", !41, i64 0, !49, i64 48, !41, i64 160, !49, i64 208, !54, i64 320, !49, i64 368, !57, i64 480, !27, i64 528, !49, i64 640, !60, i64 752, !57, i64 864, !27, i64 912, !27, i64 1024, !60, i64 1136, !60, i64 1248, !65, i64 1360, !65, i64 1408, !65, i64 1456, !65, i64 1504, !65, i64 1552, !65, i64 1600, !65, i64 1648, !68, i64 1696, !71, i64 1744, !74, i64 1792, !77, i64 1840, !71, i64 1888, !80, i64 1936, !10, i64 1984, !10, i64 1988, !10, i64 1992, !10, i64 1996, !10, i64 2000, !10, i64 2004, !65, i64 2008, !65, i64 2056, !10, i64 2104, !10, i64 2108, !10, i64 2112, !10, i64 2116, !20, i64 2120, !65, i64 2128, !71, i64 2176, !49, i64 2224, !49, i64 2336, !71, i64 2448, !71, i64 2496, !83, i64 2544, !83, i64 2568, !83, i64 2592, !50, i64 2616, !50, i64 2640, !50, i64 2664, !50, i64 2688, !28, i64 2712, !32, i64 2736, !87, i64 2848, !92, i64 2896, !95, i64 2944, !68, i64 2992, !13, i64 3040, !13, i64 3152, !13, i64 3264, !49, i64 3376, !49, i64 3488, !49, i64 3600, !10, i64 3712, !71, i64 3720, !98, i64 3768, !98, i64 3816, !10, i64 3864, !101, i64 3872, !106, i64 3920, !106, i64 3944, !28, i64 3968, !110, i64 3992, !113, i64 4040, !117, i64 4064, !49, i64 4088, !121, i64 4200, !126, i64 4312, !130, i64 4336, !130, i64 4368, !130, i64 4400, !132, i64 4432, !132, i64 4480, !10, i64 4528, !32, i64 4536, !13, i64 4648, !135, i64 4760, !13, i64 4768, !13, i64 4880, !13, i64 4992, !13, i64 5104, !13, i64 5216, !13, i64 5328, !13, i64 5440, !13, i64 5552, !13, i64 5664, !13, i64 5776, !13, i64 5888, !13, i64 6000, !13, i64 6112, !13, i64 6224, !136, i64 6336, !13, i64 6360, !13, i64 6472, !13, i64 6584, !13, i64 6696, !6, i64 6808, !10, i64 6816, !10, i64 6820, !10, i64 6824, !113, i64 6832, !113, i64 6856, !110, i64 6880, !50, i64 6928, !71, i64 6952, !50, i64 7000, !49, i64 7024, !49, i64 7136, !50, i64 7248, !50, i64 7272, !137, i64 7296, !50, i64 7344, !50, i64 7368, !10, i64 7392, !10, i64 7396, !50, i64 7400, !50, i64 7424, !49, i64 7448, !71, i64 7560, !10, i64 7608, !10, i64 7612, !10, i64 7616, !10, i64 7620, !10, i64 7624, !10, i64 7628}
!41 = !{!"_ZTSSt3setI8ELE_TYPESt4lessIS0_ESaIS0_EE", !42, i64 0}
!42 = !{!"_ZTSSt8_Rb_treeI8ELE_TYPES0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE", !43, i64 0}
!43 = !{!"_ZTSNSt8_Rb_treeI8ELE_TYPES0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE13_Rb_tree_implIS4_Lb1EEE", !44, i64 0, !46, i64 8}
!44 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessI8ELE_TYPEEE", !45, i64 0}
!45 = !{!"_ZTSSt4lessI8ELE_TYPEE"}
!46 = !{!"_ZTSSt15_Rb_tree_header", !47, i64 0, !14, i64 32}
!47 = !{!"_ZTSSt18_Rb_tree_node_base", !48, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!48 = !{!"_ZTSSt14_Rb_tree_color", !7, i64 0}
!49 = !{!"_ZTS8mdvectorIiE", !10, i64 0, !14, i64 8, !14, i64 16, !15, i64 24, !15, i64 48, !50, i64 72, !6, i64 96, !20, i64 104}
!50 = !{!"_ZTSSt6vectorIiSaIiEE", !51, i64 0}
!51 = !{!"_ZTSSt12_Vector_baseIiSaIiEE", !52, i64 0}
!52 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE12_Vector_implE", !53, i64 0}
!53 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!54 = !{!"_ZTSSt3mapI8ELE_TYPEiSt4lessIS0_ESaISt4pairIKS0_iEEE", !55, i64 0}
!55 = !{!"_ZTSSt8_Rb_treeI8ELE_TYPESt4pairIKS0_iESt10_Select1stIS3_ESt4lessIS0_ESaIS3_EE", !56, i64 0}
!56 = !{!"_ZTSNSt8_Rb_treeI8ELE_TYPESt4pairIKS0_iESt10_Select1stIS3_ESt4lessIS0_ESaIS3_EE13_Rb_tree_implIS7_Lb1EEE", !44, i64 0, !46, i64 8}
!57 = !{!"_ZTSSt3mapI8ELE_TYPE8mdvectorIjESt4lessIS0_ESaISt4pairIKS0_S2_EEE", !58, i64 0}
!58 = !{!"_ZTSSt8_Rb_treeI8ELE_TYPESt4pairIKS0_8mdvectorIjEESt10_Select1stIS5_ESt4lessIS0_ESaIS5_EE", !59, i64 0}
!59 = !{!"_ZTSNSt8_Rb_treeI8ELE_TYPESt4pairIKS0_8mdvectorIjEESt10_Select1stIS5_ESt4lessIS0_ESaIS5_EE13_Rb_tree_implIS9_Lb1EEE", !44, i64 0, !46, i64 8}
!60 = !{!"_ZTS8mdvectorI8ELE_TYPEE", !10, i64 0, !14, i64 8, !14, i64 16, !15, i64 24, !15, i64 48, !61, i64 72, !6, i64 96, !20, i64 104}
!61 = !{!"_ZTSSt6vectorI8ELE_TYPESaIS0_EE", !62, i64 0}
!62 = !{!"_ZTSSt12_Vector_baseI8ELE_TYPESaIS0_EE", !63, i64 0}
!63 = !{!"_ZTSNSt12_Vector_baseI8ELE_TYPESaIS0_EE12_Vector_implE", !64, i64 0}
!64 = !{!"_ZTSNSt12_Vector_baseI8ELE_TYPESaIS0_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!65 = !{!"_ZTSSt3mapI8ELE_TYPEjSt4lessIS0_ESaISt4pairIKS0_jEEE", !66, i64 0}
!66 = !{!"_ZTSSt8_Rb_treeI8ELE_TYPESt4pairIKS0_jESt10_Select1stIS3_ESt4lessIS0_ESaIS3_EE", !67, i64 0}
!67 = !{!"_ZTSNSt8_Rb_treeI8ELE_TYPESt4pairIKS0_jESt10_Select1stIS3_ESt4lessIS0_ESaIS3_EE13_Rb_tree_implIS7_Lb1EEE", !44, i64 0, !46, i64 8}
!68 = !{!"_ZTSSt3mapI8ELE_TYPE8mdvectorIdESt4lessIS0_ESaISt4pairIKS0_S2_EEE", !69, i64 0}
!69 = !{!"_ZTSSt8_Rb_treeI8ELE_TYPESt4pairIKS0_8mdvectorIdEESt10_Select1stIS5_ESt4lessIS0_ESaIS5_EE", !70, i64 0}
!70 = !{!"_ZTSNSt8_Rb_treeI8ELE_TYPESt4pairIKS0_8mdvectorIdEESt10_Select1stIS5_ESt4lessIS0_ESaIS5_EE13_Rb_tree_implIS9_Lb1EEE", !44, i64 0, !46, i64 8}
!71 = !{!"_ZTSSt3mapI8ELE_TYPE8mdvectorIiESt4lessIS0_ESaISt4pairIKS0_S2_EEE", !72, i64 0}
!72 = !{!"_ZTSSt8_Rb_treeI8ELE_TYPESt4pairIKS0_8mdvectorIiEESt10_Select1stIS5_ESt4lessIS0_ESaIS5_EE", !73, i64 0}
!73 = !{!"_ZTSNSt8_Rb_treeI8ELE_TYPESt4pairIKS0_8mdvectorIiEESt10_Select1stIS5_ESt4lessIS0_ESaIS5_EE13_Rb_tree_implIS9_Lb1EEE", !44, i64 0, !46, i64 8}
!74 = !{!"_ZTSSt3mapI8ELE_TYPESt6vectorIS0_SaIS0_EESt4lessIS0_ESaISt4pairIKS0_S3_EEE", !75, i64 0}
!75 = !{!"_ZTSSt8_Rb_treeI8ELE_TYPESt4pairIKS0_St6vectorIS0_SaIS0_EEESt10_Select1stIS6_ESt4lessIS0_ESaIS6_EE", !76, i64 0}
!76 = !{!"_ZTSNSt8_Rb_treeI8ELE_TYPESt4pairIKS0_St6vectorIS0_SaIS0_EEESt10_Select1stIS6_ESt4lessIS0_ESaIS6_EE13_Rb_tree_implISA_Lb1EEE", !44, i64 0, !46, i64 8}
!77 = !{!"_ZTSSt3mapI8ELE_TYPESt6vectorIS1_IjSaIjEESaIS3_EESt4lessIS0_ESaISt4pairIKS0_S5_EEE", !78, i64 0}
!78 = !{!"_ZTSSt8_Rb_treeI8ELE_TYPESt4pairIKS0_St6vectorIS3_IjSaIjEESaIS5_EEESt10_Select1stIS8_ESt4lessIS0_ESaIS8_EE", !79, i64 0}
!79 = !{!"_ZTSNSt8_Rb_treeI8ELE_TYPESt4pairIKS0_St6vectorIS3_IjSaIjEESaIS5_EEESt10_Select1stIS8_ESt4lessIS0_ESaIS8_EE13_Rb_tree_implISC_Lb1EEE", !44, i64 0, !46, i64 8}
!80 = !{!"_ZTSSt3mapI8ELE_TYPE8mdvectorIcESt4lessIS0_ESaISt4pairIKS0_S2_EEE", !81, i64 0}
!81 = !{!"_ZTSSt8_Rb_treeI8ELE_TYPESt4pairIKS0_8mdvectorIcEESt10_Select1stIS5_ESt4lessIS0_ESaIS5_EE", !82, i64 0}
!82 = !{!"_ZTSNSt8_Rb_treeI8ELE_TYPESt4pairIKS0_8mdvectorIcEESt10_Select1stIS5_ESt4lessIS0_ESaIS5_EE13_Rb_tree_implIS9_Lb1EEE", !44, i64 0, !46, i64 8}
!83 = !{!"_ZTSSt6vectorIPiSaIS0_EE", !84, i64 0}
!84 = !{!"_ZTSSt12_Vector_baseIPiSaIS0_EE", !85, i64 0}
!85 = !{!"_ZTSNSt12_Vector_baseIPiSaIS0_EE12_Vector_implE", !86, i64 0}
!86 = !{!"_ZTSNSt12_Vector_baseIPiSaIS0_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!87 = !{!"_ZTSSt3mapISt6vectorIjSaIjEEiSt4lessIS2_ESaISt4pairIKS2_iEEE", !88, i64 0}
!88 = !{!"_ZTSSt8_Rb_treeISt6vectorIjSaIjEESt4pairIKS2_iESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE", !89, i64 0}
!89 = !{!"_ZTSNSt8_Rb_treeISt6vectorIjSaIjEESt4pairIKS2_iESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE13_Rb_tree_implIS9_Lb1EEE", !90, i64 0, !46, i64 8}
!90 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessISt6vectorIjSaIjEEEE", !91, i64 0}
!91 = !{!"_ZTSSt4lessISt6vectorIjSaIjEEE"}
!92 = !{!"_ZTSSt3mapISt6vectorIjSaIjEE8ELE_TYPESt4lessIS2_ESaISt4pairIKS2_S3_EEE", !93, i64 0}
!93 = !{!"_ZTSSt8_Rb_treeISt6vectorIjSaIjEESt4pairIKS2_8ELE_TYPEESt10_Select1stIS6_ESt4lessIS2_ESaIS6_EE", !94, i64 0}
!94 = !{!"_ZTSNSt8_Rb_treeISt6vectorIjSaIjEESt4pairIKS2_8ELE_TYPEESt10_Select1stIS6_ESt4lessIS2_ESaIS6_EE13_Rb_tree_implISA_Lb1EEE", !90, i64 0, !46, i64 8}
!95 = !{!"_ZTSSt3mapISt6vectorIjSaIjEES2_St4lessIS2_ESaISt4pairIKS2_S2_EEE", !96, i64 0}
!96 = !{!"_ZTSSt8_Rb_treeISt6vectorIjSaIjEESt4pairIKS2_S2_ESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE", !97, i64 0}
!97 = !{!"_ZTSNSt8_Rb_treeISt6vectorIjSaIjEESt4pairIKS2_S2_ESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE13_Rb_tree_implIS9_Lb1EEE", !90, i64 0, !46, i64 8}
!98 = !{!"_ZTSSt3mapI8ELE_TYPESt6vectorIjSaIjEESt4lessIS0_ESaISt4pairIKS0_S3_EEE", !99, i64 0}
!99 = !{!"_ZTSSt8_Rb_treeI8ELE_TYPESt4pairIKS0_St6vectorIjSaIjEEESt10_Select1stIS6_ESt4lessIS0_ESaIS6_EE", !100, i64 0}
!100 = !{!"_ZTSNSt8_Rb_treeI8ELE_TYPESt4pairIKS0_St6vectorIjSaIjEEESt10_Select1stIS6_ESt4lessIS0_ESaIS6_EE13_Rb_tree_implISA_Lb1EEE", !44, i64 0, !46, i64 8}
!101 = !{!"_ZTSSt3mapIjiSt4lessIjESaISt4pairIKjiEEE", !102, i64 0}
!102 = !{!"_ZTSSt8_Rb_treeIjSt4pairIKjiESt10_Select1stIS2_ESt4lessIjESaIS2_EE", !103, i64 0}
!103 = !{!"_ZTSNSt8_Rb_treeIjSt4pairIKjiESt10_Select1stIS2_ESt4lessIjESaIS2_EE13_Rb_tree_implIS6_Lb1EEE", !104, i64 0, !46, i64 8}
!104 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessIjEE", !105, i64 0}
!105 = !{!"_ZTSSt4lessIjE"}
!106 = !{!"_ZTSSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE", !107, i64 0}
!107 = !{!"_ZTSSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE", !108, i64 0}
!108 = !{!"_ZTSNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_Vector_implE", !109, i64 0}
!109 = !{!"_ZTSNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!110 = !{!"_ZTSSt3mapISt6vectorIjSaIjEEjSt4lessIS2_ESaISt4pairIKS2_jEEE", !111, i64 0}
!111 = !{!"_ZTSSt8_Rb_treeISt6vectorIjSaIjEESt4pairIKS2_jESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE", !112, i64 0}
!112 = !{!"_ZTSNSt8_Rb_treeISt6vectorIjSaIjEESt4pairIKS2_jESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE13_Rb_tree_implIS9_Lb1EEE", !90, i64 0, !46, i64 8}
!113 = !{!"_ZTSSt6vectorIS_IjSaIjEESaIS1_EE", !114, i64 0}
!114 = !{!"_ZTSSt12_Vector_baseISt6vectorIjSaIjEESaIS2_EE", !115, i64 0}
!115 = !{!"_ZTSNSt12_Vector_baseISt6vectorIjSaIjEESaIS2_EE12_Vector_implE", !116, i64 0}
!116 = !{!"_ZTSNSt12_Vector_baseISt6vectorIjSaIjEESaIS2_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!117 = !{!"_ZTSSt6vectorIS_I8ELE_TYPESaIS0_EESaIS2_EE", !118, i64 0}
!118 = !{!"_ZTSSt12_Vector_baseISt6vectorI8ELE_TYPESaIS1_EESaIS3_EE", !119, i64 0}
!119 = !{!"_ZTSNSt12_Vector_baseISt6vectorI8ELE_TYPESaIS1_EESaIS3_EE12_Vector_implE", !120, i64 0}
!120 = !{!"_ZTSNSt12_Vector_baseISt6vectorI8ELE_TYPESaIS1_EESaIS3_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!121 = !{!"_ZTS8mdvectorI8face_conE", !10, i64 0, !14, i64 8, !14, i64 16, !15, i64 24, !15, i64 48, !122, i64 72, !6, i64 96, !20, i64 104}
!122 = !{!"_ZTSSt6vectorI8face_conSaIS0_EE", !123, i64 0}
!123 = !{!"_ZTSSt12_Vector_baseI8face_conSaIS0_EE", !124, i64 0}
!124 = !{!"_ZTSNSt12_Vector_baseI8face_conSaIS0_EE12_Vector_implE", !125, i64 0}
!125 = !{!"_ZTSNSt12_Vector_baseI8face_conSaIS0_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!126 = !{!"_ZTSSt6vectorIS_I8face_conSaIS0_EESaIS2_EE", !127, i64 0}
!127 = !{!"_ZTSSt12_Vector_baseISt6vectorI8face_conSaIS1_EESaIS3_EE", !128, i64 0}
!128 = !{!"_ZTSNSt12_Vector_baseISt6vectorI8face_conSaIS1_EESaIS3_EE12_Vector_implE", !129, i64 0}
!129 = !{!"_ZTSNSt12_Vector_baseISt6vectorI8face_conSaIS1_EESaIS3_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!130 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !131, i64 0, !14, i64 8, !7, i64 16}
!131 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !6, i64 0}
!132 = !{!"_ZTSSt3mapI8ELE_TYPESt6vectorIiSaIiEESt4lessIS0_ESaISt4pairIKS0_S3_EEE", !133, i64 0}
!133 = !{!"_ZTSSt8_Rb_treeI8ELE_TYPESt4pairIKS0_St6vectorIiSaIiEEESt10_Select1stIS6_ESt4lessIS0_ESaIS6_EE", !134, i64 0}
!134 = !{!"_ZTSNSt8_Rb_treeI8ELE_TYPESt4pairIKS0_St6vectorIiSaIiEEESt10_Select1stIS6_ESt4lessIS0_ESaIS6_EE13_Rb_tree_implISA_Lb1EEE", !44, i64 0, !46, i64 8}
!135 = !{!"double", !7, i64 0}
!136 = !{!"_ZTSSt5arrayIdLm3EE", !7, i64 0}
!137 = !{!"_ZTSSt3setIiSt4lessIiESaIiEE", !138, i64 0}
!138 = !{!"_ZTSSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE", !139, i64 0}
!139 = !{!"_ZTSNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE13_Rb_tree_implIS3_Lb1EEE", !140, i64 0, !46, i64 8}
!140 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessIiEE", !141, i64 0}
!141 = !{!"_ZTSSt4lessIiE"}
!142 = !{!40, !10, i64 2116}
!143 = !{!144, !6, i64 0}
!144 = !{!"_ZTSSt16initializer_listIjE", !6, i64 0, !14, i64 8}
!145 = !{!144, !14, i64 8}
!146 = !{!12, !6, i64 0}
!147 = !{!148, !20, i64 264}
!148 = !{!"_ZTS11InputStruct", !10, i64 0, !10, i64 4, !10, i64 8, !10, i64 12, !10, i64 16, !10, i64 20, !10, i64 24, !10, i64 28, !10, i64 32, !10, i64 36, !10, i64 40, !10, i64 44, !10, i64 48, !10, i64 52, !10, i64 56, !10, i64 60, !10, i64 64, !10, i64 68, !130, i64 72, !130, i64 104, !130, i64 136, !130, i64 168, !130, i64 200, !130, i64 232, !20, i64 264, !20, i64 265, !20, i64 266, !20, i64 267, !20, i64 268, !20, i64 269, !20, i64 270, !20, i64 271, !28, i64 272, !28, i64 296, !10, i64 320, !10, i64 324, !135, i64 328, !135, i64 336, !135, i64 344, !135, i64 352, !135, i64 360, !135, i64 368, !135, i64 376, !135, i64 384, !13, i64 392, !13, i64 504, !13, i64 616, !13, i64 728, !13, i64 840, !135, i64 952, !135, i64 960, !135, i64 968, !135, i64 976, !135, i64 984, !135, i64 992, !135, i64 1000, !135, i64 1008, !135, i64 1016, !135, i64 1024, !135, i64 1032, !135, i64 1040, !135, i64 1048, !135, i64 1056, !135, i64 1064, !135, i64 1072, !135, i64 1080, !135, i64 1088, !135, i64 1096, !135, i64 1104, !135, i64 1112, !135, i64 1120, !135, i64 1128, !135, i64 1136, !135, i64 1144, !135, i64 1152, !135, i64 1160, !135, i64 1168, !135, i64 1176, !135, i64 1184, !135, i64 1192, !135, i64 1200, !135, i64 1208, !135, i64 1216, !10, i64 1224, !10, i64 1228, !10, i64 1232, !10, i64 1236, !10, i64 1240, !10, i64 1244, !10, i64 1248, !10, i64 1252, !10, i64 1256, !10, i64 1260, !135, i64 1264, !135, i64 1272, !135, i64 1280, !135, i64 1288, !135, i64 1296, !135, i64 1304, !135, i64 1312, !10, i64 1320, !10, i64 1324, !135, i64 1328, !135, i64 1336, !10, i64 1344, !135, i64 1352, !135, i64 1360, !135, i64 1368, !135, i64 1376, !135, i64 1384, !135, i64 1392, !135, i64 1400, !135, i64 1408, !149, i64 1416, !149, i64 1418, !149, i64 1420, !149, i64 1422, !10, i64 1424, !10, i64 1428, !10, i64 1432, !130, i64 1440, !20, i64 1472, !20, i64 1473, !20, i64 1474, !20, i64 1475, !10, i64 1476, !10, i64 1480, !20, i64 1484, !20, i64 1485, !20, i64 1486, !20, i64 1487, !10, i64 1488, !10, i64 1492, !10, i64 1496, !10, i64 1500, !106, i64 1504, !50, i64 1528, !135, i64 1552, !135, i64 1560, !135, i64 1568, !135, i64 1576, !135, i64 1584, !135, i64 1592, !7, i64 1600, !135, i64 1624, !7, i64 1632, !7, i64 1656, !7, i64 1680, !7, i64 1704, !135, i64 1728, !7, i64 1736, !7, i64 1760, !135, i64 1784, !7, i64 1792, !150, i64 1864, !20, i64 1912, !20, i64 1913, !20, i64 1914, !20, i64 1915, !20, i64 1916, !20, i64 1917, !20, i64 1918, !20, i64 1919, !135, i64 1920, !135, i64 1928, !135, i64 1936, !135, i64 1944, !10, i64 1952, !10, i64 1956, !10, i64 1960, !10, i64 1964, !10, i64 1968, !10, i64 1972, !10, i64 1976, !10, i64 1980, !10, i64 1984, !20, i64 1988, !135, i64 1992, !135, i64 2000, !155, i64 2008}
!149 = !{!"short", !7, i64 0}
!150 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEE", !151, i64 0}
!151 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE", !152, i64 0}
!152 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE13_Rb_tree_implISC_Lb1EEE", !153, i64 0, !46, i64 8}
!153 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE", !154, i64 0}
!154 = !{!"_ZTSSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE"}
!155 = !{!"_ZTS5Timer", !156, i64 0, !156, i64 8, !135, i64 16, !130, i64 24}
!156 = !{!"_ZTSNSt6chrono10time_pointINS_3_V212system_clockENS_8durationIlSt5ratioILl1ELl1000000000EEEEEE", !157, i64 0}
!157 = !{!"_ZTSNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE", !14, i64 0}
!158 = !{i8 0, i8 2}
!159 = !{}
!160 = !{!12, !10, i64 16}
!161 = !{!40, !10, i64 2108}
!162 = !{!148, !20, i64 1485}
!163 = !{!7, !7, i64 0}
!164 = !{!148, !20, i64 1912}
!165 = distinct !{!165, !166}
!166 = !{!"llvm.loop.mustprogress"}
!167 = !{!148, !10, i64 0}
!168 = !{!148, !20, i64 1484}


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

%"class.std::vector.8" = type { %"struct.std::_Vector_base.9" }
%"struct.std::_Vector_base.9" = type { %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int>>::_Vector_impl" }
%"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int>>::_Vector_impl" = type { %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int>>::_Vector_impl_data" }
%"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::allocator.10" = type { i8 }

declare i32 @__gxx_personality_v0(...)

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

71:                                               ; preds = %3
  %72 = getelementptr inbounds i8, ptr %0, i64 1304
  invoke void @_ZN8mdvectorIdE6assignESt6vectorIjSaIjEEdb(ptr noundef nonnull align 8 dereferenceable(105) %72, ptr noundef nonnull %4, double noundef 0.000000e+00, i1 noundef zeroext false)
          to label %73 unwind label %122

73:                                               ; preds = %71
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %4) #3
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %6) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %6) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %8) #3
  store i32 %2, ptr %8, align 4, !tbaa !36
  %74 = getelementptr inbounds i8, ptr %8, i64 4
  %75 = load ptr, ptr %64, align 8, !tbaa !37
  %76 = getelementptr inbounds i8, ptr %75, i64 2112
  %77 = load i32, ptr %76, align 8, !tbaa !38
  %78 = getelementptr inbounds i8, ptr %75, i64 2116
  %79 = load i32, ptr %78, align 4, !tbaa !141
  %80 = add i32 %79, %77
  store i32 %80, ptr %74, align 4, !tbaa !36
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %9) #3
  call void @_ZNSaIjEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %9) #3
  invoke void @_ZNSt6vectorIjSaIjEEC2ESt16initializer_listIjERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %7, ptr nonnull %8, i64 2, ptr noundef nonnull align 1 dereferenceable(1) %9)
          to label %81 unwind label %125

81:                                               ; preds = %73
  %82 = getelementptr inbounds i8, ptr %0, i64 1416
  invoke void @_ZN8mdvectorIdE6assignESt6vectorIjSaIjEEdb(ptr noundef nonnull align 8 dereferenceable(105) %82, ptr noundef nonnull %7, double noundef 0.000000e+00, i1 noundef zeroext false)
          to label %83 unwind label %127

83:                                               ; preds = %81
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %7) #3
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %9) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %9) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %11) #3
  store i32 %2, ptr %11, align 4, !tbaa !36
  %84 = getelementptr inbounds i8, ptr %11, i64 4
  %85 = load ptr, ptr %64, align 8, !tbaa !37
  %86 = getelementptr inbounds i8, ptr %85, i64 2112
  %87 = load i32, ptr %86, align 8, !tbaa !38
  %88 = getelementptr inbounds i8, ptr %85, i64 2116
  %89 = load i32, ptr %88, align 4, !tbaa !141
  %90 = add i32 %89, %87
  store i32 %90, ptr %84, align 4, !tbaa !36
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %12) #3
  call void @_ZNSaIjEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #3
  invoke void @_ZNSt6vectorIjSaIjEEC2ESt16initializer_listIjERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %10, ptr nonnull %11, i64 2, ptr noundef nonnull align 1 dereferenceable(1) %12)
          to label %91 unwind label %130

91:                                               ; preds = %83
  %92 = getelementptr inbounds i8, ptr %0, i64 1640
  invoke void @_ZN8mdvectorIdE6assignESt6vectorIjSaIjEEdb(ptr noundef nonnull align 8 dereferenceable(105) %92, ptr noundef nonnull %10, double noundef 0.000000e+00, i1 noundef zeroext false)
          to label %93 unwind label %132

93:                                               ; preds = %91
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #3
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %12) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #3
  %94 = load ptr, ptr %0, align 8, !tbaa !142
  %95 = getelementptr inbounds i8, ptr %94, i64 264
  %96 = load i8, ptr %95, align 8, !tbaa !143, !range !154, !noundef !155
  %97 = trunc nuw i8 %96 to i1
  br i1 %97, label %98, label %145

98:                                               ; preds = %93
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %14) #3
  store i32 %1, ptr %14, align 4, !tbaa !36
  %99 = getelementptr inbounds i8, ptr %14, i64 4
  store i32 %2, ptr %99, align 4, !tbaa !36
  %100 = getelementptr inbounds i8, ptr %14, i64 8
  %101 = load ptr, ptr %64, align 8, !tbaa !37
  %102 = getelementptr inbounds i8, ptr %101, i64 2112
  %103 = load i32, ptr %102, align 8, !tbaa !38
  %104 = getelementptr inbounds i8, ptr %101, i64 2116
  %105 = load i32, ptr %104, align 4, !tbaa !141
  %106 = add i32 %105, %103
  store i32 %106, ptr %100, align 4, !tbaa !36
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %15) #3
  call void @_ZNSaIjEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #3
  invoke void @_ZNSt6vectorIjSaIjEEC2ESt16initializer_listIjERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %13, ptr nonnull %14, i64 3, ptr noundef nonnull align 1 dereferenceable(1) %15)
          to label %107 unwind label %135

107:                                              ; preds = %98
  %108 = getelementptr inbounds i8, ptr %0, i64 1528
  invoke void @_ZN8mdvectorIdE6assignESt6vectorIjSaIjEEdb(ptr noundef nonnull align 8 dereferenceable(105) %108, ptr noundef nonnull %13, double noundef 0.000000e+00, i1 noundef zeroext false)
          to label %109 unwind label %137

109:                                              ; preds = %107
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #3
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %15) #3
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %14) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %17) #3
  store i32 %2, ptr %17, align 4, !tbaa !36
  %110 = getelementptr inbounds i8, ptr %17, i64 4
  %111 = load ptr, ptr %64, align 8, !tbaa !37
  %112 = getelementptr inbounds i8, ptr %111, i64 2112
  %113 = load i32, ptr %112, align 8, !tbaa !38
  %114 = getelementptr inbounds i8, ptr %111, i64 2116
  %115 = load i32, ptr %114, align 4, !tbaa !141
  %116 = add i32 %115, %113
  store i32 %116, ptr %110, align 4, !tbaa !36
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %18) #3
  call void @_ZNSaIjEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #3
  invoke void @_ZNSt6vectorIjSaIjEEC2ESt16initializer_listIjERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %16, ptr nonnull %17, i64 2, ptr noundef nonnull align 1 dereferenceable(1) %18)
          to label %117 unwind label %140

117:                                              ; preds = %109
  %118 = getelementptr inbounds i8, ptr %0, i64 1752
  invoke void @_ZN8mdvectorIdE6assignESt6vectorIjSaIjEEdb(ptr noundef nonnull align 8 dereferenceable(105) %118, ptr noundef nonnull %16, double noundef 0.000000e+00, i1 noundef zeroext false)
          to label %119 unwind label %142

119:                                              ; preds = %117
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %16) #3
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %18) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #3
  br label %145

120:                                              ; preds = %3
  %121 = landingpad { ptr, i32 }
          cleanup
  br label %124

122:                                              ; preds = %71
  %123 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %4) #3
  br label %124

124:                                              ; preds = %122, %120
  %.pn = phi { ptr, i32 } [ %123, %122 ], [ %121, %120 ]
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %6) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %6) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5) #3
  br label %377

125:                                              ; preds = %73
  %126 = landingpad { ptr, i32 }
          cleanup
  br label %129

127:                                              ; preds = %81
  %128 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %7) #3
  br label %129

129:                                              ; preds = %127, %125
  %.pn93 = phi { ptr, i32 } [ %128, %127 ], [ %126, %125 ]
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %9) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %9) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #3
  br label %377

130:                                              ; preds = %83
  %131 = landingpad { ptr, i32 }
          cleanup
  br label %134

132:                                              ; preds = %91
  %133 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #3
  br label %134

134:                                              ; preds = %132, %130
  %.pn95 = phi { ptr, i32 } [ %133, %132 ], [ %131, %130 ]
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %12) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #3
  br label %377

135:                                              ; preds = %98
  %136 = landingpad { ptr, i32 }
          cleanup
  br label %139

137:                                              ; preds = %107
  %138 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #3
  br label %139

139:                                              ; preds = %137, %135
  %.pn97 = phi { ptr, i32 } [ %138, %137 ], [ %136, %135 ]
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %15) #3
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %14) #3
  br label %377

140:                                              ; preds = %109
  %141 = landingpad { ptr, i32 }
          cleanup
  br label %144

142:                                              ; preds = %117
  %143 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %16) #3
  br label %144

144:                                              ; preds = %142, %140
  %.pn99 = phi { ptr, i32 } [ %143, %142 ], [ %141, %140 ]
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %18) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #3
  br label %377

145:                                              ; preds = %119, %93
  %146 = getelementptr inbounds i8, ptr %0, i64 2424
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %20) #3
  %147 = getelementptr inbounds i8, ptr %0, i64 16
  %148 = load i32, ptr %147, align 8, !tbaa !156
  store i32 %148, ptr %20, align 4, !tbaa !36
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %21) #3
  call void @_ZNSaIjEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #3
  invoke void @_ZNSt6vectorIjSaIjEEC2ESt16initializer_listIjERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %19, ptr nonnull %20, i64 1, ptr noundef nonnull align 1 dereferenceable(1) %21)
          to label %149 unwind label %167

149:                                              ; preds = %145
  invoke void @_ZN8mdvectorIcE6assignESt6vectorIjSaIjEEcb(ptr noundef nonnull align 8 dereferenceable(105) %146, ptr noundef nonnull %19, i8 noundef signext 0, i1 noundef zeroext false)
          to label %150 unwind label %169

150:                                              ; preds = %149
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %19) #3
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %21) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %20) #3
  %151 = getelementptr inbounds i8, ptr %0, i64 2536
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %23) #3
  %152 = load i32, ptr %147, align 8, !tbaa !156
  store i32 %152, ptr %23, align 4, !tbaa !36
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %24) #3
  call void @_ZNSaIjEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %24) #3
  invoke void @_ZNSt6vectorIjSaIjEEC2ESt16initializer_listIjERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %22, ptr nonnull %23, i64 1, ptr noundef nonnull align 1 dereferenceable(1) %24)
          to label %153 unwind label %172

153:                                              ; preds = %150
  invoke void @_ZN8mdvectorIcE6assignESt6vectorIjSaIjEEcb(ptr noundef nonnull align 8 dereferenceable(105) %151, ptr noundef nonnull %22, i8 noundef signext 0, i1 noundef zeroext false)
          to label %154 unwind label %174

154:                                              ; preds = %153
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %22) #3
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %24) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %24) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %23) #3
  %155 = load ptr, ptr %64, align 8, !tbaa !37
  %156 = getelementptr inbounds i8, ptr %155, i64 2108
  %157 = load i32, ptr %156, align 4, !tbaa !157
  %158 = getelementptr inbounds i8, ptr %155, i64 2112
  %159 = load i32, ptr %158, align 8, !tbaa !38
  %160 = add i32 %159, %157
  %161 = icmp ult i32 %157, %160
  br i1 %161, label %.lr.ph.preheader, label %._crit_edge

.lr.ph.preheader:                                 ; preds = %154
  %162 = zext i32 %157 to i64
  br label %.lr.ph

._crit_edge:                                      ; preds = %205, %154
  %.lcssa130 = phi ptr [ %155, %154 ], [ %206, %205 ]
  %.lcssa = phi i32 [ %159, %154 ], [ %210, %205 ]
  %163 = load ptr, ptr %0, align 8, !tbaa !142
  %164 = getelementptr inbounds i8, ptr %163, i64 1912
  %165 = load i8, ptr %164, align 8, !tbaa !158, !range !154, !noundef !155
  %166 = trunc nuw i8 %165 to i1
  br i1 %166, label %214, label %291

167:                                              ; preds = %145
  %168 = landingpad { ptr, i32 }
          cleanup
  br label %171

169:                                              ; preds = %149
  %170 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %19) #3
  br label %171

171:                                              ; preds = %169, %167
  %.pn101 = phi { ptr, i32 } [ %170, %169 ], [ %168, %167 ]
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %21) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %20) #3
  br label %377

172:                                              ; preds = %150
  %173 = landingpad { ptr, i32 }
          cleanup
  br label %176

174:                                              ; preds = %153
  %175 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %22) #3
  br label %176

176:                                              ; preds = %174, %172
  %.pn103 = phi { ptr, i32 } [ %175, %174 ], [ %173, %172 ]
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %24) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %24) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %23) #3
  br label %377

.lr.ph:                                           ; preds = %.lr.ph.preheader, %205
  %indvars.iv = phi i64 [ %162, %.lr.ph.preheader ], [ %indvars.iv.next, %205 ]
  %177 = phi ptr [ %155, %.lr.ph.preheader ], [ %206, %205 ]
  %178 = load ptr, ptr %0, align 8, !tbaa !142
  %179 = getelementptr inbounds i8, ptr %178, i64 1485
  %180 = load i8, ptr %179, align 1, !tbaa !159, !range !154, !noundef !155
  %181 = trunc nuw i8 %180 to i1
  br i1 %181, label %182, label %190

182:                                              ; preds = %.lr.ph
  %183 = getelementptr inbounds i8, ptr %177, i64 7136
  %184 = getelementptr inbounds i8, ptr %177, i64 6928
  %185 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %184, i64 noundef %indvars.iv) #3
  %186 = load i32, ptr %185, align 4, !tbaa !36
  %187 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN8mdvectorIiEclEj(ptr noundef nonnull align 8 dereferenceable(105) %183, i32 noundef %186)
  %188 = load i32, ptr %187, align 4, !tbaa !36
  %189 = icmp eq i32 %188, 0
  br i1 %189, label %205, label %._crit_edge136

._crit_edge136:                                   ; preds = %182
  %.pre = load ptr, ptr %64, align 8, !tbaa !37
  br label %190

190:                                              ; preds = %._crit_edge136, %.lr.ph
  %191 = phi ptr [ %.pre, %._crit_edge136 ], [ %177, %.lr.ph ]
  %192 = getelementptr inbounds i8, ptr %191, i64 2736
  %193 = getelementptr inbounds i8, ptr %191, i64 2108
  %194 = load i32, ptr %193, align 4, !tbaa !157
  %195 = trunc nuw i64 %indvars.iv to i32
  %196 = sub i32 %195, %194
  %197 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZN8mdvectorIcEclEj(ptr noundef nonnull align 8 dereferenceable(105) %192, i32 noundef %196)
  %198 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZN8mdvectorIcEclEj(ptr noundef nonnull align 8 dereferenceable(105) %151, i32 noundef %195)
  store i8 1, ptr %198, align 1, !tbaa !160
  %199 = load ptr, ptr %0, align 8, !tbaa !142
  %200 = getelementptr inbounds i8, ptr %199, i64 1912
  %201 = load i8, ptr %200, align 8, !tbaa !158, !range !154, !noundef !155
  %202 = trunc nuw i8 %201 to i1
  br i1 %202, label %203, label %205

203:                                              ; preds = %190
  %204 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZN8mdvectorIcEclEj(ptr noundef nonnull align 8 dereferenceable(105) %146, i32 noundef %195)
  store i8 1, ptr %204, align 1, !tbaa !160
  br label %205

205:                                              ; preds = %203, %190, %182
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
  %206 = load ptr, ptr %64, align 8, !tbaa !37
  %207 = getelementptr inbounds i8, ptr %206, i64 2108
  %208 = load i32, ptr %207, align 4, !tbaa !157
  %209 = getelementptr inbounds i8, ptr %206, i64 2112
  %210 = load i32, ptr %209, align 8, !tbaa !38
  %211 = add i32 %210, %208
  %212 = zext i32 %211 to i64
  %213 = icmp ult i64 %indvars.iv.next, %212
  br i1 %213, label %.lr.ph, label %._crit_edge, !llvm.loop !161

214:                                              ; preds = %._crit_edge
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %26) #3
  store i32 %2, ptr %26, align 4, !tbaa !36
  %215 = getelementptr inbounds i8, ptr %26, i64 4
  store i32 %2, ptr %215, align 4, !tbaa !36
  %216 = getelementptr inbounds i8, ptr %26, i64 8
  %217 = getelementptr inbounds i8, ptr %.lcssa130, i64 2116
  %218 = load i32, ptr %217, align 4, !tbaa !141
  %219 = add i32 %218, %.lcssa
  store i32 %219, ptr %216, align 4, !tbaa !36
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %27) #3
  call void @_ZNSaIjEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %27) #3
  invoke void @_ZNSt6vectorIjSaIjEEC2ESt16initializer_listIjERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %25, ptr nonnull %26, i64 3, ptr noundef nonnull align 1 dereferenceable(1) %27)
          to label %220 unwind label %266

220:                                              ; preds = %214
  %221 = getelementptr inbounds i8, ptr %0, i64 3568
  invoke void @_ZN8mdvectorIdE6assignESt6vectorIjSaIjEEdb(ptr noundef nonnull align 8 dereferenceable(105) %221, ptr noundef nonnull %25, double noundef 0.000000e+00, i1 noundef zeroext false)
          to label %222 unwind label %268

222:                                              ; preds = %220
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %25) #3
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %27) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %27) #3
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %26) #3
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %29) #3
  store i32 %2, ptr %29, align 4, !tbaa !36
  %223 = getelementptr inbounds i8, ptr %29, i64 4
  store i32 %2, ptr %223, align 4, !tbaa !36
  %224 = getelementptr inbounds i8, ptr %29, i64 8
  %225 = load i32, ptr %147, align 8, !tbaa !156
  store i32 %225, ptr %224, align 4, !tbaa !36
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %30) #3
  call void @_ZNSaIjEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %30) #3
  invoke void @_ZNSt6vectorIjSaIjEEC2ESt16initializer_listIjERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %28, ptr nonnull %29, i64 3, ptr noundef nonnull align 1 dereferenceable(1) %30)
          to label %226 unwind label %271

226:                                              ; preds = %222
  %227 = getelementptr inbounds i8, ptr %0, i64 3792
  invoke void @_ZN8mdvectorIdE6assignESt6vectorIjSaIjEEdb(ptr noundef nonnull align 8 dereferenceable(105) %227, ptr noundef nonnull %28, double noundef 0.000000e+00, i1 noundef zeroext false)
          to label %228 unwind label %273

228:                                              ; preds = %226
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %28) #3
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %30) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %30) #3
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %29) #3
  %229 = load ptr, ptr %0, align 8, !tbaa !142
  %230 = getelementptr inbounds i8, ptr %229, i64 264
  %231 = load i8, ptr %230, align 8, !tbaa !143, !range !154, !noundef !155
  %232 = trunc nuw i8 %231 to i1
  br i1 %232, label %233, label %291

233:                                              ; preds = %228
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %32) #3
  store i32 %2, ptr %32, align 4, !tbaa !36
  %234 = getelementptr inbounds i8, ptr %32, i64 4
  store i32 %2, ptr %234, align 4, !tbaa !36
  %235 = getelementptr inbounds i8, ptr %32, i64 8
  %236 = load ptr, ptr %64, align 8, !tbaa !37
  %237 = getelementptr inbounds i8, ptr %236, i64 2112
  %238 = load i32, ptr %237, align 8, !tbaa !38
  %239 = getelementptr inbounds i8, ptr %236, i64 2116
  %240 = load i32, ptr %239, align 4, !tbaa !141
  %241 = add i32 %240, %238
  store i32 %241, ptr %235, align 4, !tbaa !36
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %33) #3
  call void @_ZNSaIjEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %33) #3
  invoke void @_ZNSt6vectorIjSaIjEEC2ESt16initializer_listIjERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %31, ptr nonnull %32, i64 3, ptr noundef nonnull align 1 dereferenceable(1) %33)
          to label %242 unwind label %276

242:                                              ; preds = %233
  %243 = getelementptr inbounds i8, ptr %0, i64 3456
  invoke void @_ZN8mdvectorIdE6assignESt6vectorIjSaIjEEdb(ptr noundef nonnull align 8 dereferenceable(105) %243, ptr noundef nonnull %31, double noundef 0.000000e+00, i1 noundef zeroext false)
          to label %244 unwind label %278

244:                                              ; preds = %242
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %31) #3
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %33) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %33) #3
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %32) #3
  call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %35) #3
  store i32 2, ptr %35, align 4, !tbaa !36
  %245 = getelementptr inbounds i8, ptr %35, i64 4
  store i32 %1, ptr %245, align 4, !tbaa !36
  %246 = getelementptr inbounds i8, ptr %35, i64 8
  store i32 %2, ptr %246, align 4, !tbaa !36
  %247 = getelementptr inbounds i8, ptr %35, i64 12
  store i32 %2, ptr %247, align 4, !tbaa !36
  %248 = getelementptr inbounds i8, ptr %35, i64 16
  %249 = load ptr, ptr %64, align 8, !tbaa !37
  %250 = getelementptr inbounds i8, ptr %249, i64 2112
  %251 = load i32, ptr %250, align 8, !tbaa !38
  %252 = getelementptr inbounds i8, ptr %249, i64 2116
  %253 = load i32, ptr %252, align 4, !tbaa !141
  %254 = add i32 %253, %251
  store i32 %254, ptr %248, align 4, !tbaa !36
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %36) #3
  call void @_ZNSaIjEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #3
  invoke void @_ZNSt6vectorIjSaIjEEC2ESt16initializer_listIjERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %34, ptr nonnull %35, i64 5, ptr noundef nonnull align 1 dereferenceable(1) %36)
          to label %255 unwind label %281

255:                                              ; preds = %244
  %256 = getelementptr inbounds i8, ptr %0, i64 3680
  invoke void @_ZN8mdvectorIdE6assignESt6vectorIjSaIjEEdb(ptr noundef nonnull align 8 dereferenceable(105) %256, ptr noundef nonnull %34, double noundef 0.000000e+00, i1 noundef zeroext false)
          to label %257 unwind label %283

257:                                              ; preds = %255
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %34) #3
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %36) #3
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %35) #3
  call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %38) #3
  store i32 %1, ptr %38, align 4, !tbaa !36
  %258 = getelementptr inbounds i8, ptr %38, i64 4
  store i32 %1, ptr %258, align 4, !tbaa !36
  %259 = getelementptr inbounds i8, ptr %38, i64 8
  store i32 %2, ptr %259, align 4, !tbaa !36
  %260 = getelementptr inbounds i8, ptr %38, i64 12
  store i32 %2, ptr %260, align 4, !tbaa !36
  %261 = getelementptr inbounds i8, ptr %38, i64 16
  %262 = load i32, ptr %147, align 8, !tbaa !156
  store i32 %262, ptr %261, align 4, !tbaa !36
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %39) #3
  call void @_ZNSaIjEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #3
  invoke void @_ZNSt6vectorIjSaIjEEC2ESt16initializer_listIjERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %37, ptr nonnull %38, i64 5, ptr noundef nonnull align 1 dereferenceable(1) %39)
          to label %263 unwind label %286

263:                                              ; preds = %257
  %264 = getelementptr inbounds i8, ptr %0, i64 3904
  invoke void @_ZN8mdvectorIdE6assignESt6vectorIjSaIjEEdb(ptr noundef nonnull align 8 dereferenceable(105) %264, ptr noundef nonnull %37, double noundef 0.000000e+00, i1 noundef zeroext false)
          to label %265 unwind label %288

265:                                              ; preds = %263
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %37) #3
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %39) #3
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %38) #3
  %.pre137 = load ptr, ptr %0, align 8, !tbaa !142
  br label %291

266:                                              ; preds = %214
  %267 = landingpad { ptr, i32 }
          cleanup
  br label %270

268:                                              ; preds = %220
  %269 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %25) #3
  br label %270

270:                                              ; preds = %268, %266
  %.pn105 = phi { ptr, i32 } [ %269, %268 ], [ %267, %266 ]
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %27) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %27) #3
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %26) #3
  br label %377

271:                                              ; preds = %222
  %272 = landingpad { ptr, i32 }
          cleanup
  br label %275

273:                                              ; preds = %226
  %274 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %28) #3
  br label %275

275:                                              ; preds = %273, %271
  %.pn107 = phi { ptr, i32 } [ %274, %273 ], [ %272, %271 ]
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %30) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %30) #3
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %29) #3
  br label %377

276:                                              ; preds = %233
  %277 = landingpad { ptr, i32 }
          cleanup
  br label %280

278:                                              ; preds = %242
  %279 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %31) #3
  br label %280

280:                                              ; preds = %278, %276
  %.pn109 = phi { ptr, i32 } [ %279, %278 ], [ %277, %276 ]
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %33) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %33) #3
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %32) #3
  br label %377

281:                                              ; preds = %244
  %282 = landingpad { ptr, i32 }
          cleanup
  br label %285

283:                                              ; preds = %255
  %284 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %34) #3
  br label %285

285:                                              ; preds = %283, %281
  %.pn111 = phi { ptr, i32 } [ %284, %283 ], [ %282, %281 ]
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %36) #3
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %35) #3
  br label %377

286:                                              ; preds = %257
  %287 = landingpad { ptr, i32 }
          cleanup
  br label %290

288:                                              ; preds = %263
  %289 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %37) #3
  br label %290

290:                                              ; preds = %288, %286
  %.pn113 = phi { ptr, i32 } [ %289, %288 ], [ %287, %286 ]
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %39) #3
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %38) #3
  br label %377

291:                                              ; preds = %228, %265, %._crit_edge
  %292 = phi ptr [ %229, %228 ], [ %.pre137, %265 ], [ %163, %._crit_edge ]
  %293 = load i32, ptr %292, align 8, !tbaa !163
  %294 = icmp eq i32 %293, 1
  br i1 %294, label %295, label %306

295:                                              ; preds = %291
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %41) #3
  store i32 2, ptr %41, align 4, !tbaa !36
  %296 = getelementptr inbounds i8, ptr %41, i64 4
  %297 = load i32, ptr %147, align 8, !tbaa !156
  store i32 %297, ptr %296, align 4, !tbaa !36
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %42) #3
  call void @_ZNSaIjEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #3
  invoke void @_ZNSt6vectorIjSaIjEEC2ESt16initializer_listIjERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %40, ptr nonnull %41, i64 2, ptr noundef nonnull align 1 dereferenceable(1) %42)
          to label %298 unwind label %301

298:                                              ; preds = %295
  %299 = getelementptr inbounds i8, ptr %0, i64 32
  invoke void @_ZN8mdvectorIdE6assignESt6vectorIjSaIjEEdb(ptr noundef nonnull align 8 dereferenceable(105) %299, ptr noundef nonnull %40, double noundef 0.000000e+00, i1 noundef zeroext false)
          to label %300 unwind label %303

300:                                              ; preds = %298
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %40) #3
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %42) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %41) #3
  br label %306

301:                                              ; preds = %295
  %302 = landingpad { ptr, i32 }
          cleanup
  br label %305

303:                                              ; preds = %298
  %304 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %40) #3
  br label %305

305:                                              ; preds = %303, %301
  %.pn115 = phi { ptr, i32 } [ %304, %303 ], [ %302, %301 ]
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %42) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %41) #3
  br label %377

306:                                              ; preds = %300, %291
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %44) #3
  %307 = load i32, ptr %147, align 8, !tbaa !156
  store i32 %307, ptr %44, align 4, !tbaa !36
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %45) #3
  call void @_ZNSaIjEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #3
  invoke void @_ZNSt6vectorIjSaIjEEC2ESt16initializer_listIjERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %43, ptr nonnull %44, i64 1, ptr noundef nonnull align 1 dereferenceable(1) %45)
          to label %308 unwind label %320

308:                                              ; preds = %306
  %309 = getelementptr inbounds i8, ptr %0, i64 2200
  invoke void @_ZN8mdvectorIdE6assignESt6vectorIjSaIjEEdb(ptr noundef nonnull align 8 dereferenceable(105) %309, ptr noundef nonnull %43, double noundef 0.000000e+00, i1 noundef zeroext false)
          to label %310 unwind label %322

310:                                              ; preds = %308
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %43) #3
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %45) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %44) #3
  %311 = load ptr, ptr %0, align 8, !tbaa !142
  %312 = getelementptr inbounds i8, ptr %311, i64 264
  %313 = load i8, ptr %312, align 8, !tbaa !143, !range !154, !noundef !155
  %314 = trunc nuw i8 %313 to i1
  br i1 %314, label %315, label %330

315:                                              ; preds = %310
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %47) #3
  %316 = load i32, ptr %147, align 8, !tbaa !156
  store i32 %316, ptr %47, align 4, !tbaa !36
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %48) #3
  call void @_ZNSaIjEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #3
  invoke void @_ZNSt6vectorIjSaIjEEC2ESt16initializer_listIjERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %46, ptr nonnull %47, i64 1, ptr noundef nonnull align 1 dereferenceable(1) %48)
          to label %317 unwind label %325

317:                                              ; preds = %315
  %318 = getelementptr inbounds i8, ptr %0, i64 2312
  invoke void @_ZN8mdvectorIdE6assignESt6vectorIjSaIjEEdb(ptr noundef nonnull align 8 dereferenceable(105) %318, ptr noundef nonnull %46, double noundef 0.000000e+00, i1 noundef zeroext false)
          to label %319 unwind label %327

319:                                              ; preds = %317
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %46) #3
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %48) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %47) #3
  br label %330

320:                                              ; preds = %306
  %321 = landingpad { ptr, i32 }
          cleanup
  br label %324

322:                                              ; preds = %308
  %323 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %43) #3
  br label %324

324:                                              ; preds = %322, %320
  %.pn117 = phi { ptr, i32 } [ %323, %322 ], [ %321, %320 ]
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %45) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %44) #3
  br label %377

325:                                              ; preds = %315
  %326 = landingpad { ptr, i32 }
          cleanup
  br label %329

327:                                              ; preds = %317
  %328 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %46) #3
  br label %329

329:                                              ; preds = %327, %325
  %.pn119 = phi { ptr, i32 } [ %328, %327 ], [ %326, %325 ]
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %48) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %47) #3
  br label %377

330:                                              ; preds = %319, %310
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %50) #3
  store i32 %1, ptr %50, align 4, !tbaa !36
  %331 = getelementptr inbounds i8, ptr %50, i64 4
  %332 = load i32, ptr %147, align 8, !tbaa !156
  store i32 %332, ptr %331, align 4, !tbaa !36
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %51) #3
  call void @_ZNSaIjEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %51) #3
  invoke void @_ZNSt6vectorIjSaIjEEC2ESt16initializer_listIjERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %49, ptr nonnull %50, i64 2, ptr noundef nonnull align 1 dereferenceable(1) %51)
          to label %333 unwind label %356

333:                                              ; preds = %330
  %334 = getelementptr inbounds i8, ptr %0, i64 1976
  invoke void @_ZN8mdvectorIdE6assignESt6vectorIjSaIjEEdb(ptr noundef nonnull align 8 dereferenceable(105) %334, ptr noundef nonnull %49, double noundef 0.000000e+00, i1 noundef zeroext false)
          to label %335 unwind label %358

335:                                              ; preds = %333
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %49) #3
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %51) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %51) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %50) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %53) #3
  store i32 %1, ptr %53, align 4, !tbaa !36
  %336 = getelementptr inbounds i8, ptr %53, i64 4
  %337 = load i32, ptr %147, align 8, !tbaa !156
  store i32 %337, ptr %336, align 4, !tbaa !36
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %54) #3
  call void @_ZNSaIjEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %54) #3
  invoke void @_ZNSt6vectorIjSaIjEEC2ESt16initializer_listIjERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %52, ptr nonnull %53, i64 2, ptr noundef nonnull align 1 dereferenceable(1) %54)
          to label %338 unwind label %361

338:                                              ; preds = %335
  %339 = getelementptr inbounds i8, ptr %0, i64 1864
  invoke void @_ZN8mdvectorIdE6assignESt6vectorIjSaIjEEdb(ptr noundef nonnull align 8 dereferenceable(105) %339, ptr noundef nonnull %52, double noundef 0.000000e+00, i1 noundef zeroext false)
          to label %340 unwind label %363

340:                                              ; preds = %338
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %52) #3
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %54) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %54) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %53) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %56) #3
  store i32 2, ptr %56, align 4, !tbaa !36
  %341 = getelementptr inbounds i8, ptr %56, i64 4
  %342 = load i32, ptr %147, align 8, !tbaa !156
  store i32 %342, ptr %341, align 4, !tbaa !36
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %57) #3
  call void @_ZNSaIjEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %57) #3
  invoke void @_ZNSt6vectorIjSaIjEEC2ESt16initializer_listIjERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %55, ptr nonnull %56, i64 2, ptr noundef nonnull align 1 dereferenceable(1) %57)
          to label %343 unwind label %366

343:                                              ; preds = %340
  %344 = getelementptr inbounds i8, ptr %0, i64 2088
  invoke void @_ZN8mdvectorIdE6assignESt6vectorIjSaIjEEdb(ptr noundef nonnull align 8 dereferenceable(105) %344, ptr noundef nonnull %55, double noundef 0.000000e+00, i1 noundef zeroext false)
          to label %345 unwind label %368

345:                                              ; preds = %343
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %55) #3
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %57) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %57) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %56) #3
  %346 = load ptr, ptr %0, align 8, !tbaa !142
  %347 = getelementptr inbounds i8, ptr %346, i64 1484
  %348 = load i8, ptr %347, align 4, !tbaa !164, !range !154, !noundef !155
  %349 = trunc nuw i8 %348 to i1
  br i1 %349, label %350, label %376

350:                                              ; preds = %345
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %59) #3
  store i32 %1, ptr %59, align 4, !tbaa !36
  %351 = getelementptr inbounds i8, ptr %59, i64 4
  %352 = load i32, ptr %147, align 8, !tbaa !156
  store i32 %352, ptr %351, align 4, !tbaa !36
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %60) #3
  call void @_ZNSaIjEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %60) #3
  invoke void @_ZNSt6vectorIjSaIjEEC2ESt16initializer_listIjERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %58, ptr nonnull %59, i64 2, ptr noundef nonnull align 1 dereferenceable(1) %60)
          to label %353 unwind label %371

353:                                              ; preds = %350
  %354 = getelementptr inbounds i8, ptr %0, i64 2648
  invoke void @_ZN8mdvectorIdE6assignESt6vectorIjSaIjEEdb(ptr noundef nonnull align 8 dereferenceable(105) %354, ptr noundef nonnull %58, double noundef 0.000000e+00, i1 noundef zeroext false)
          to label %355 unwind label %373

355:                                              ; preds = %353
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %58) #3
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %60) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %60) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %59) #3
  br label %376

356:                                              ; preds = %330
  %357 = landingpad { ptr, i32 }
          cleanup
  br label %360

358:                                              ; preds = %333
  %359 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %49) #3
  br label %360

360:                                              ; preds = %358, %356
  %.pn121 = phi { ptr, i32 } [ %359, %358 ], [ %357, %356 ]
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %51) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %51) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %50) #3
  br label %377

361:                                              ; preds = %335
  %362 = landingpad { ptr, i32 }
          cleanup
  br label %365

363:                                              ; preds = %338
  %364 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %52) #3
  br label %365

365:                                              ; preds = %363, %361
  %.pn123 = phi { ptr, i32 } [ %364, %363 ], [ %362, %361 ]
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %54) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %54) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %53) #3
  br label %377

366:                                              ; preds = %340
  %367 = landingpad { ptr, i32 }
          cleanup
  br label %370

368:                                              ; preds = %343
  %369 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %55) #3
  br label %370

370:                                              ; preds = %368, %366
  %.pn125 = phi { ptr, i32 } [ %369, %368 ], [ %367, %366 ]
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %57) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %57) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %56) #3
  br label %377

371:                                              ; preds = %350
  %372 = landingpad { ptr, i32 }
          cleanup
  br label %375

373:                                              ; preds = %353
  %374 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %58) #3
  br label %375

375:                                              ; preds = %373, %371
  %.pn127 = phi { ptr, i32 } [ %374, %373 ], [ %372, %371 ]
  call void @_ZNSt15__new_allocatorIjED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %60) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %60) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %59) #3
  br label %377

376:                                              ; preds = %355, %345
  ret void

377:                                              ; preds = %375, %370, %365, %360, %329, %324, %305, %290, %285, %280, %275, %270, %176, %171, %144, %139, %134, %129, %124
  %.pn127.pn = phi { ptr, i32 } [ %.pn127, %375 ], [ %.pn125, %370 ], [ %.pn123, %365 ], [ %.pn121, %360 ], [ %.pn119, %329 ], [ %.pn117, %324 ], [ %.pn115, %305 ], [ %.pn113, %290 ], [ %.pn111, %285 ], [ %.pn109, %280 ], [ %.pn107, %275 ], [ %.pn105, %270 ], [ %.pn103, %176 ], [ %.pn101, %171 ], [ %.pn99, %144 ], [ %.pn97, %139 ], [ %.pn95, %134 ], [ %.pn93, %129 ], [ %.pn, %124 ]
  resume { ptr, i32 } %.pn127.pn
}

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

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

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

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

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

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

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

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

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

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

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

attributes #0 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { 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, !10, i64 24}
!6 = !{!"_ZTS5Faces", !7, i64 0, !7, i64 8, !10, i64 16, !10, i64 20, !10, i64 24, !11, i64 32, !19, i64 144, !19, i64 376, !19, i64 608, !19, i64 840, !19, i64 1072, !11, i64 1304, !11, i64 1416, !11, i64 1528, !11, i64 1640, !11, i64 1752, !11, i64 1864, !11, i64 1976, !11, i64 2088, !11, i64 2200, !11, i64 2312, !30, i64 2424, !30, i64 2536, !11, i64 2648, !19, i64 2760, !19, i64 2992, !19, i64 3224, !11, i64 3456, !11, i64 3568, !11, i64 3680, !11, i64 3792, !11, i64 3904, !11, i64 4016, !10, i64 4128}
!7 = !{!"any pointer", !8, i64 0}
!8 = !{!"omnipotent char", !9, i64 0}
!9 = !{!"Simple C++ TBAA"}
!10 = !{!"int", !8, i64 0}
!11 = !{!"_ZTS8mdvectorIdE", !10, i64 0, !12, i64 8, !12, i64 16, !13, i64 24, !13, i64 48, !14, i64 72, !7, i64 96, !18, i64 104}
!12 = !{!"long", !8, i64 0}
!13 = !{!"_ZTSSt5arrayIjLm6EE", !8, i64 0}
!14 = !{!"_ZTSSt6vectorIdSaIdEE", !15, i64 0}
!15 = !{!"_ZTSSt12_Vector_baseIdSaIdEE", !16, i64 0}
!16 = !{!"_ZTSNSt12_Vector_baseIdSaIdEE12_Vector_implE", !17, i64 0}
!17 = !{!"_ZTSNSt12_Vector_baseIdSaIdEE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!18 = !{!"bool", !8, i64 0}
!19 = !{!"_ZTS6mdviewIdE", !20, i64 0, !25, i64 112, !10, i64 224}
!20 = !{!"_ZTS8mdvectorIPdE", !10, i64 0, !12, i64 8, !12, i64 16, !13, i64 24, !13, i64 48, !21, i64 72, !7, i64 96, !18, i64 104}
!21 = !{!"_ZTSSt6vectorIPdSaIS0_EE", !22, i64 0}
!22 = !{!"_ZTSSt12_Vector_baseIPdSaIS0_EE", !23, i64 0}
!23 = !{!"_ZTSNSt12_Vector_baseIPdSaIS0_EE12_Vector_implE", !24, i64 0}
!24 = !{!"_ZTSNSt12_Vector_baseIPdSaIS0_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!25 = !{!"_ZTS8mdvectorIjE", !10, i64 0, !12, i64 8, !12, i64 16, !13, i64 24, !13, i64 48, !26, i64 72, !7, i64 96, !18, i64 104}
!26 = !{!"_ZTSSt6vectorIjSaIjEE", !27, i64 0}
!27 = !{!"_ZTSSt12_Vector_baseIjSaIjEE", !28, i64 0}
!28 = !{!"_ZTSNSt12_Vector_baseIjSaIjEE12_Vector_implE", !29, i64 0}
!29 = !{!"_ZTSNSt12_Vector_baseIjSaIjEE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!30 = !{!"_ZTS8mdvectorIcE", !10, i64 0, !12, i64 8, !12, i64 16, !13, i64 24, !13, i64 48, !31, i64 72, !7, i64 96, !18, i64 104}
!31 = !{!"_ZTSSt6vectorIcSaIcEE", !32, i64 0}
!32 = !{!"_ZTSSt12_Vector_baseIcSaIcEE", !33, i64 0}
!33 = !{!"_ZTSNSt12_Vector_baseIcSaIcEE12_Vector_implE", !34, i64 0}
!34 = !{!"_ZTSNSt12_Vector_baseIcSaIcEE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!35 = !{!6, !10, i64 20}
!36 = !{!10, !10, i64 0}
!37 = !{!6, !7, i64 8}
!38 = !{!39, !10, i64 2112}
!39 = !{!"_ZTS9GeoStruct", !40, i64 0, !48, i64 48, !40, i64 160, !48, i64 208, !53, i64 320, !48, i64 368, !56, i64 480, !25, i64 528, !48, i64 640, !59, i64 752, !56, i64 864, !25, i64 912, !25, i64 1024, !59, i64 1136, !59, i64 1248, !64, i64 1360, !64, i64 1408, !64, i64 1456, !64, i64 1504, !64, i64 1552, !64, i64 1600, !64, i64 1648, !67, i64 1696, !70, i64 1744, !73, i64 1792, !76, i64 1840, !70, i64 1888, !79, i64 1936, !10, i64 1984, !10, i64 1988, !10, i64 1992, !10, i64 1996, !10, i64 2000, !10, i64 2004, !64, i64 2008, !64, i64 2056, !10, i64 2104, !10, i64 2108, !10, i64 2112, !10, i64 2116, !18, i64 2120, !64, i64 2128, !70, i64 2176, !48, i64 2224, !48, i64 2336, !70, i64 2448, !70, i64 2496, !82, i64 2544, !82, i64 2568, !82, i64 2592, !49, i64 2616, !49, i64 2640, !49, i64 2664, !49, i64 2688, !26, i64 2712, !30, i64 2736, !86, i64 2848, !91, i64 2896, !94, i64 2944, !67, i64 2992, !11, i64 3040, !11, i64 3152, !11, i64 3264, !48, i64 3376, !48, i64 3488, !48, i64 3600, !10, i64 3712, !70, i64 3720, !97, i64 3768, !97, i64 3816, !10, i64 3864, !100, i64 3872, !105, i64 3920, !105, i64 3944, !26, i64 3968, !109, i64 3992, !112, i64 4040, !116, i64 4064, !48, i64 4088, !120, i64 4200, !125, i64 4312, !129, i64 4336, !129, i64 4368, !129, i64 4400, !131, i64 4432, !131, i64 4480, !10, i64 4528, !30, i64 4536, !11, i64 4648, !134, i64 4760, !11, i64 4768, !11, i64 4880, !11, i64 4992, !11, i64 5104, !11, i64 5216, !11, i64 5328, !11, i64 5440, !11, i64 5552, !11, i64 5664, !11, i64 5776, !11, i64 5888, !11, i64 6000, !11, i64 6112, !11, i64 6224, !135, i64 6336, !11, i64 6360, !11, i64 6472, !11, i64 6584, !11, i64 6696, !7, i64 6808, !10, i64 6816, !10, i64 6820, !10, i64 6824, !112, i64 6832, !112, i64 6856, !109, i64 6880, !49, i64 6928, !70, i64 6952, !49, i64 7000, !48, i64 7024, !48, i64 7136, !49, i64 7248, !49, i64 7272, !136, i64 7296, !49, i64 7344, !49, i64 7368, !10, i64 7392, !10, i64 7396, !49, i64 7400, !49, i64 7424, !48, i64 7448, !70, i64 7560, !10, i64 7608, !10, i64 7612, !10, i64 7616, !10, i64 7620, !10, i64 7624, !10, i64 7628}
!40 = !{!"_ZTSSt3setI8ELE_TYPESt4lessIS0_ESaIS0_EE", !41, i64 0}
!41 = !{!"_ZTSSt8_Rb_treeI8ELE_TYPES0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE", !42, i64 0}
!42 = !{!"_ZTSNSt8_Rb_treeI8ELE_TYPES0_St9_IdentityIS0_ESt4lessIS0_ESaIS0_EE13_Rb_tree_implIS4_Lb1EEE", !43, i64 0, !45, i64 8}
!43 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessI8ELE_TYPEEE", !44, i64 0}
!44 = !{!"_ZTSSt4lessI8ELE_TYPEE"}
!45 = !{!"_ZTSSt15_Rb_tree_header", !46, i64 0, !12, i64 32}
!46 = !{!"_ZTSSt18_Rb_tree_node_base", !47, i64 0, !7, i64 8, !7, i64 16, !7, i64 24}
!47 = !{!"_ZTSSt14_Rb_tree_color", !8, i64 0}
!48 = !{!"_ZTS8mdvectorIiE", !10, i64 0, !12, i64 8, !12, i64 16, !13, i64 24, !13, i64 48, !49, i64 72, !7, i64 96, !18, i64 104}
!49 = !{!"_ZTSSt6vectorIiSaIiEE", !50, i64 0}
!50 = !{!"_ZTSSt12_Vector_baseIiSaIiEE", !51, i64 0}
!51 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE12_Vector_implE", !52, i64 0}
!52 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!53 = !{!"_ZTSSt3mapI8ELE_TYPEiSt4lessIS0_ESaISt4pairIKS0_iEEE", !54, i64 0}
!54 = !{!"_ZTSSt8_Rb_treeI8ELE_TYPESt4pairIKS0_iESt10_Select1stIS3_ESt4lessIS0_ESaIS3_EE", !55, i64 0}
!55 = !{!"_ZTSNSt8_Rb_treeI8ELE_TYPESt4pairIKS0_iESt10_Select1stIS3_ESt4lessIS0_ESaIS3_EE13_Rb_tree_implIS7_Lb1EEE", !43, i64 0, !45, i64 8}
!56 = !{!"_ZTSSt3mapI8ELE_TYPE8mdvectorIjESt4lessIS0_ESaISt4pairIKS0_S2_EEE", !57, i64 0}
!57 = !{!"_ZTSSt8_Rb_treeI8ELE_TYPESt4pairIKS0_8mdvectorIjEESt10_Select1stIS5_ESt4lessIS0_ESaIS5_EE", !58, i64 0}
!58 = !{!"_ZTSNSt8_Rb_treeI8ELE_TYPESt4pairIKS0_8mdvectorIjEESt10_Select1stIS5_ESt4lessIS0_ESaIS5_EE13_Rb_tree_implIS9_Lb1EEE", !43, i64 0, !45, i64 8}
!59 = !{!"_ZTS8mdvectorI8ELE_TYPEE", !10, i64 0, !12, i64 8, !12, i64 16, !13, i64 24, !13, i64 48, !60, i64 72, !7, i64 96, !18, i64 104}
!60 = !{!"_ZTSSt6vectorI8ELE_TYPESaIS0_EE", !61, i64 0}
!61 = !{!"_ZTSSt12_Vector_baseI8ELE_TYPESaIS0_EE", !62, i64 0}
!62 = !{!"_ZTSNSt12_Vector_baseI8ELE_TYPESaIS0_EE12_Vector_implE", !63, i64 0}
!63 = !{!"_ZTSNSt12_Vector_baseI8ELE_TYPESaIS0_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!64 = !{!"_ZTSSt3mapI8ELE_TYPEjSt4lessIS0_ESaISt4pairIKS0_jEEE", !65, i64 0}
!65 = !{!"_ZTSSt8_Rb_treeI8ELE_TYPESt4pairIKS0_jESt10_Select1stIS3_ESt4lessIS0_ESaIS3_EE", !66, i64 0}
!66 = !{!"_ZTSNSt8_Rb_treeI8ELE_TYPESt4pairIKS0_jESt10_Select1stIS3_ESt4lessIS0_ESaIS3_EE13_Rb_tree_implIS7_Lb1EEE", !43, i64 0, !45, i64 8}
!67 = !{!"_ZTSSt3mapI8ELE_TYPE8mdvectorIdESt4lessIS0_ESaISt4pairIKS0_S2_EEE", !68, i64 0}
!68 = !{!"_ZTSSt8_Rb_treeI8ELE_TYPESt4pairIKS0_8mdvectorIdEESt10_Select1stIS5_ESt4lessIS0_ESaIS5_EE", !69, i64 0}
!69 = !{!"_ZTSNSt8_Rb_treeI8ELE_TYPESt4pairIKS0_8mdvectorIdEESt10_Select1stIS5_ESt4lessIS0_ESaIS5_EE13_Rb_tree_implIS9_Lb1EEE", !43, i64 0, !45, i64 8}
!70 = !{!"_ZTSSt3mapI8ELE_TYPE8mdvectorIiESt4lessIS0_ESaISt4pairIKS0_S2_EEE", !71, i64 0}
!71 = !{!"_ZTSSt8_Rb_treeI8ELE_TYPESt4pairIKS0_8mdvectorIiEESt10_Select1stIS5_ESt4lessIS0_ESaIS5_EE", !72, i64 0}
!72 = !{!"_ZTSNSt8_Rb_treeI8ELE_TYPESt4pairIKS0_8mdvectorIiEESt10_Select1stIS5_ESt4lessIS0_ESaIS5_EE13_Rb_tree_implIS9_Lb1EEE", !43, i64 0, !45, i64 8}
!73 = !{!"_ZTSSt3mapI8ELE_TYPESt6vectorIS0_SaIS0_EESt4lessIS0_ESaISt4pairIKS0_S3_EEE", !74, i64 0}
!74 = !{!"_ZTSSt8_Rb_treeI8ELE_TYPESt4pairIKS0_St6vectorIS0_SaIS0_EEESt10_Select1stIS6_ESt4lessIS0_ESaIS6_EE", !75, i64 0}
!75 = !{!"_ZTSNSt8_Rb_treeI8ELE_TYPESt4pairIKS0_St6vectorIS0_SaIS0_EEESt10_Select1stIS6_ESt4lessIS0_ESaIS6_EE13_Rb_tree_implISA_Lb1EEE", !43, i64 0, !45, i64 8}
!76 = !{!"_ZTSSt3mapI8ELE_TYPESt6vectorIS1_IjSaIjEESaIS3_EESt4lessIS0_ESaISt4pairIKS0_S5_EEE", !77, i64 0}
!77 = !{!"_ZTSSt8_Rb_treeI8ELE_TYPESt4pairIKS0_St6vectorIS3_IjSaIjEESaIS5_EEESt10_Select1stIS8_ESt4lessIS0_ESaIS8_EE", !78, i64 0}
!78 = !{!"_ZTSNSt8_Rb_treeI8ELE_TYPESt4pairIKS0_St6vectorIS3_IjSaIjEESaIS5_EEESt10_Select1stIS8_ESt4lessIS0_ESaIS8_EE13_Rb_tree_implISC_Lb1EEE", !43, i64 0, !45, i64 8}
!79 = !{!"_ZTSSt3mapI8ELE_TYPE8mdvectorIcESt4lessIS0_ESaISt4pairIKS0_S2_EEE", !80, i64 0}
!80 = !{!"_ZTSSt8_Rb_treeI8ELE_TYPESt4pairIKS0_8mdvectorIcEESt10_Select1stIS5_ESt4lessIS0_ESaIS5_EE", !81, i64 0}
!81 = !{!"_ZTSNSt8_Rb_treeI8ELE_TYPESt4pairIKS0_8mdvectorIcEESt10_Select1stIS5_ESt4lessIS0_ESaIS5_EE13_Rb_tree_implIS9_Lb1EEE", !43, i64 0, !45, i64 8}
!82 = !{!"_ZTSSt6vectorIPiSaIS0_EE", !83, i64 0}
!83 = !{!"_ZTSSt12_Vector_baseIPiSaIS0_EE", !84, i64 0}
!84 = !{!"_ZTSNSt12_Vector_baseIPiSaIS0_EE12_Vector_implE", !85, i64 0}
!85 = !{!"_ZTSNSt12_Vector_baseIPiSaIS0_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!86 = !{!"_ZTSSt3mapISt6vectorIjSaIjEEiSt4lessIS2_ESaISt4pairIKS2_iEEE", !87, i64 0}
!87 = !{!"_ZTSSt8_Rb_treeISt6vectorIjSaIjEESt4pairIKS2_iESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE", !88, i64 0}
!88 = !{!"_ZTSNSt8_Rb_treeISt6vectorIjSaIjEESt4pairIKS2_iESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE13_Rb_tree_implIS9_Lb1EEE", !89, i64 0, !45, i64 8}
!89 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessISt6vectorIjSaIjEEEE", !90, i64 0}
!90 = !{!"_ZTSSt4lessISt6vectorIjSaIjEEE"}
!91 = !{!"_ZTSSt3mapISt6vectorIjSaIjEE8ELE_TYPESt4lessIS2_ESaISt4pairIKS2_S3_EEE", !92, i64 0}
!92 = !{!"_ZTSSt8_Rb_treeISt6vectorIjSaIjEESt4pairIKS2_8ELE_TYPEESt10_Select1stIS6_ESt4lessIS2_ESaIS6_EE", !93, i64 0}
!93 = !{!"_ZTSNSt8_Rb_treeISt6vectorIjSaIjEESt4pairIKS2_8ELE_TYPEESt10_Select1stIS6_ESt4lessIS2_ESaIS6_EE13_Rb_tree_implISA_Lb1EEE", !89, i64 0, !45, i64 8}
!94 = !{!"_ZTSSt3mapISt6vectorIjSaIjEES2_St4lessIS2_ESaISt4pairIKS2_S2_EEE", !95, i64 0}
!95 = !{!"_ZTSSt8_Rb_treeISt6vectorIjSaIjEESt4pairIKS2_S2_ESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE", !96, i64 0}
!96 = !{!"_ZTSNSt8_Rb_treeISt6vectorIjSaIjEESt4pairIKS2_S2_ESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE13_Rb_tree_implIS9_Lb1EEE", !89, i64 0, !45, i64 8}
!97 = !{!"_ZTSSt3mapI8ELE_TYPESt6vectorIjSaIjEESt4lessIS0_ESaISt4pairIKS0_S3_EEE", !98, i64 0}
!98 = !{!"_ZTSSt8_Rb_treeI8ELE_TYPESt4pairIKS0_St6vectorIjSaIjEEESt10_Select1stIS6_ESt4lessIS0_ESaIS6_EE", !99, i64 0}
!99 = !{!"_ZTSNSt8_Rb_treeI8ELE_TYPESt4pairIKS0_St6vectorIjSaIjEEESt10_Select1stIS6_ESt4lessIS0_ESaIS6_EE13_Rb_tree_implISA_Lb1EEE", !43, i64 0, !45, i64 8}
!100 = !{!"_ZTSSt3mapIjiSt4lessIjESaISt4pairIKjiEEE", !101, i64 0}
!101 = !{!"_ZTSSt8_Rb_treeIjSt4pairIKjiESt10_Select1stIS2_ESt4lessIjESaIS2_EE", !102, i64 0}
!102 = !{!"_ZTSNSt8_Rb_treeIjSt4pairIKjiESt10_Select1stIS2_ESt4lessIjESaIS2_EE13_Rb_tree_implIS6_Lb1EEE", !103, i64 0, !45, i64 8}
!103 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessIjEE", !104, i64 0}
!104 = !{!"_ZTSSt4lessIjE"}
!105 = !{!"_ZTSSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE", !106, i64 0}
!106 = !{!"_ZTSSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE", !107, i64 0}
!107 = !{!"_ZTSNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_Vector_implE", !108, i64 0}
!108 = !{!"_ZTSNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!109 = !{!"_ZTSSt3mapISt6vectorIjSaIjEEjSt4lessIS2_ESaISt4pairIKS2_jEEE", !110, i64 0}
!110 = !{!"_ZTSSt8_Rb_treeISt6vectorIjSaIjEESt4pairIKS2_jESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE", !111, i64 0}
!111 = !{!"_ZTSNSt8_Rb_treeISt6vectorIjSaIjEESt4pairIKS2_jESt10_Select1stIS5_ESt4lessIS2_ESaIS5_EE13_Rb_tree_implIS9_Lb1EEE", !89, i64 0, !45, i64 8}
!112 = !{!"_ZTSSt6vectorIS_IjSaIjEESaIS1_EE", !113, i64 0}
!113 = !{!"_ZTSSt12_Vector_baseISt6vectorIjSaIjEESaIS2_EE", !114, i64 0}
!114 = !{!"_ZTSNSt12_Vector_baseISt6vectorIjSaIjEESaIS2_EE12_Vector_implE", !115, i64 0}
!115 = !{!"_ZTSNSt12_Vector_baseISt6vectorIjSaIjEESaIS2_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!116 = !{!"_ZTSSt6vectorIS_I8ELE_TYPESaIS0_EESaIS2_EE", !117, i64 0}
!117 = !{!"_ZTSSt12_Vector_baseISt6vectorI8ELE_TYPESaIS1_EESaIS3_EE", !118, i64 0}
!118 = !{!"_ZTSNSt12_Vector_baseISt6vectorI8ELE_TYPESaIS1_EESaIS3_EE12_Vector_implE", !119, i64 0}
!119 = !{!"_ZTSNSt12_Vector_baseISt6vectorI8ELE_TYPESaIS1_EESaIS3_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!120 = !{!"_ZTS8mdvectorI8face_conE", !10, i64 0, !12, i64 8, !12, i64 16, !13, i64 24, !13, i64 48, !121, i64 72, !7, i64 96, !18, i64 104}
!121 = !{!"_ZTSSt6vectorI8face_conSaIS0_EE", !122, i64 0}
!122 = !{!"_ZTSSt12_Vector_baseI8face_conSaIS0_EE", !123, i64 0}
!123 = !{!"_ZTSNSt12_Vector_baseI8face_conSaIS0_EE12_Vector_implE", !124, i64 0}
!124 = !{!"_ZTSNSt12_Vector_baseI8face_conSaIS0_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!125 = !{!"_ZTSSt6vectorIS_I8face_conSaIS0_EESaIS2_EE", !126, i64 0}
!126 = !{!"_ZTSSt12_Vector_baseISt6vectorI8face_conSaIS1_EESaIS3_EE", !127, i64 0}
!127 = !{!"_ZTSNSt12_Vector_baseISt6vectorI8face_conSaIS1_EESaIS3_EE12_Vector_implE", !128, i64 0}
!128 = !{!"_ZTSNSt12_Vector_baseISt6vectorI8face_conSaIS1_EESaIS3_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!129 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !130, i64 0, !12, i64 8, !8, i64 16}
!130 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !7, i64 0}
!131 = !{!"_ZTSSt3mapI8ELE_TYPESt6vectorIiSaIiEESt4lessIS0_ESaISt4pairIKS0_S3_EEE", !132, i64 0}
!132 = !{!"_ZTSSt8_Rb_treeI8ELE_TYPESt4pairIKS0_St6vectorIiSaIiEEESt10_Select1stIS6_ESt4lessIS0_ESaIS6_EE", !133, i64 0}
!133 = !{!"_ZTSNSt8_Rb_treeI8ELE_TYPESt4pairIKS0_St6vectorIiSaIiEEESt10_Select1stIS6_ESt4lessIS0_ESaIS6_EE13_Rb_tree_implISA_Lb1EEE", !43, i64 0, !45, i64 8}
!134 = !{!"double", !8, i64 0}
!135 = !{!"_ZTSSt5arrayIdLm3EE", !8, i64 0}
!136 = !{!"_ZTSSt3setIiSt4lessIiESaIiEE", !137, i64 0}
!137 = !{!"_ZTSSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE", !138, i64 0}
!138 = !{!"_ZTSNSt8_Rb_treeIiiSt9_IdentityIiESt4lessIiESaIiEE13_Rb_tree_implIS3_Lb1EEE", !139, i64 0, !45, i64 8}
!139 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessIiEE", !140, i64 0}
!140 = !{!"_ZTSSt4lessIiE"}
!141 = !{!39, !10, i64 2116}
!142 = !{!6, !7, i64 0}
!143 = !{!144, !18, i64 264}
!144 = !{!"_ZTS11InputStruct", !10, i64 0, !10, i64 4, !10, i64 8, !10, i64 12, !10, i64 16, !10, i64 20, !10, i64 24, !10, i64 28, !10, i64 32, !10, i64 36, !10, i64 40, !10, i64 44, !10, i64 48, !10, i64 52, !10, i64 56, !10, i64 60, !10, i64 64, !10, i64 68, !129, i64 72, !129, i64 104, !129, i64 136, !129, i64 168, !129, i64 200, !129, i64 232, !18, i64 264, !18, i64 265, !18, i64 266, !18, i64 267, !18, i64 268, !18, i64 269, !18, i64 270, !18, i64 271, !26, i64 272, !26, i64 296, !10, i64 320, !10, i64 324, !134, i64 328, !134, i64 336, !134, i64 344, !134, i64 352, !134, i64 360, !134, i64 368, !134, i64 376, !134, i64 384, !11, i64 392, !11, i64 504, !11, i64 616, !11, i64 728, !11, i64 840, !134, i64 952, !134, i64 960, !134, i64 968, !134, i64 976, !134, i64 984, !134, i64 992, !134, i64 1000, !134, i64 1008, !134, i64 1016, !134, i64 1024, !134, i64 1032, !134, i64 1040, !134, i64 1048, !134, i64 1056, !134, i64 1064, !134, i64 1072, !134, i64 1080, !134, i64 1088, !134, i64 1096, !134, i64 1104, !134, i64 1112, !134, i64 1120, !134, i64 1128, !134, i64 1136, !134, i64 1144, !134, i64 1152, !134, i64 1160, !134, i64 1168, !134, i64 1176, !134, i64 1184, !134, i64 1192, !134, i64 1200, !134, i64 1208, !134, i64 1216, !10, i64 1224, !10, i64 1228, !10, i64 1232, !10, i64 1236, !10, i64 1240, !10, i64 1244, !10, i64 1248, !10, i64 1252, !10, i64 1256, !10, i64 1260, !134, i64 1264, !134, i64 1272, !134, i64 1280, !134, i64 1288, !134, i64 1296, !134, i64 1304, !134, i64 1312, !10, i64 1320, !10, i64 1324, !134, i64 1328, !134, i64 1336, !10, i64 1344, !134, i64 1352, !134, i64 1360, !134, i64 1368, !134, i64 1376, !134, i64 1384, !134, i64 1392, !134, i64 1400, !134, i64 1408, !145, i64 1416, !145, i64 1418, !145, i64 1420, !145, i64 1422, !10, i64 1424, !10, i64 1428, !10, i64 1432, !129, i64 1440, !18, i64 1472, !18, i64 1473, !18, i64 1474, !18, i64 1475, !10, i64 1476, !10, i64 1480, !18, i64 1484, !18, i64 1485, !18, i64 1486, !18, i64 1487, !10, i64 1488, !10, i64 1492, !10, i64 1496, !10, i64 1500, !105, i64 1504, !49, i64 1528, !134, i64 1552, !134, i64 1560, !134, i64 1568, !134, i64 1576, !134, i64 1584, !134, i64 1592, !8, i64 1600, !134, i64 1624, !8, i64 1632, !8, i64 1656, !8, i64 1680, !8, i64 1704, !134, i64 1728, !8, i64 1736, !8, i64 1760, !134, i64 1784, !8, i64 1792, !146, i64 1864, !18, i64 1912, !18, i64 1913, !18, i64 1914, !18, i64 1915, !18, i64 1916, !18, i64 1917, !18, i64 1918, !18, i64 1919, !134, i64 1920, !134, i64 1928, !134, i64 1936, !134, i64 1944, !10, i64 1952, !10, i64 1956, !10, i64 1960, !10, i64 1964, !10, i64 1968, !10, i64 1972, !10, i64 1976, !10, i64 1980, !10, i64 1984, !18, i64 1988, !134, i64 1992, !134, i64 2000, !151, i64 2008}
!145 = !{!"short", !8, i64 0}
!146 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEE", !147, i64 0}
!147 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE", !148, i64 0}
!148 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE13_Rb_tree_implISC_Lb1EEE", !149, i64 0, !45, i64 8}
!149 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE", !150, i64 0}
!150 = !{!"_ZTSSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE"}
!151 = !{!"_ZTS5Timer", !152, i64 0, !152, i64 8, !134, i64 16, !129, i64 24}
!152 = !{!"_ZTSNSt6chrono10time_pointINS_3_V212system_clockENS_8durationIlSt5ratioILl1ELl1000000000EEEEEE", !153, i64 0}
!153 = !{!"_ZTSNSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE", !12, i64 0}
!154 = !{i8 0, i8 2}
!155 = !{}
!156 = !{!6, !10, i64 16}
!157 = !{!39, !10, i64 2108}
!158 = !{!144, !18, i64 1912}
!159 = !{!144, !18, i64 1485}
!160 = !{!8, !8, i64 0}
!161 = distinct !{!161, !162}
!162 = !{!"llvm.loop.mustprogress"}
!163 = !{!144, !10, i64 0}
!164 = !{!144, !18, i64 1484}


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