; LLVM IR from ronan-kerviche/glip-lib :: GLIP-Lib/src/Modules (GeometryLoader)

; 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::map" = type { %"class.std::_Rb_tree" }
%"class.std::_Rb_tree" = type { %"struct.std::_Rb_tree<unsigned int, std::pair<const unsigned int, std::map<unsigned int, std::map<unsigned int, unsigned int>>>, std::_Select1st<std::pair<const unsigned int, std::map<unsigned int, std::map<unsigned int, unsigned int>>>>, std::less<unsigned int>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<unsigned int, std::pair<const unsigned int, std::map<unsigned int, std::map<unsigned int, unsigned int>>>, std::_Select1st<std::pair<const unsigned int, std::map<unsigned int, std::map<unsigned int, unsigned int>>>>, std::less<unsigned int>>::_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::vector.13" = type { %"struct.std::_Vector_base.14" }
%"struct.std::_Vector_base.14" = type { %"struct.std::_Vector_base<float, std::allocator<float>>::_Vector_impl" }
%"struct.std::_Vector_base<float, std::allocator<float>>::_Vector_impl" = type { %"struct.std::_Vector_base<float, std::allocator<float>>::_Vector_impl_data" }
%"struct.std::_Vector_base<float, std::allocator<float>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::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 }
%"struct.std::_Rb_tree_iterator" = type { ptr }
%"struct.std::_Rb_tree_iterator.21" = type { ptr }
%"struct.std::_Rb_tree_iterator.22" = type { ptr }
%"struct.Glip::Modules::OBJLoader::UnshapedData" = type <{ %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.8", %"class.std::vector.8", %"class.std::vector.8", %"class.std::vector.8", %"class.std::vector.8", %"class.std::vector.8", %"class.std::vector.8", %"class.std::vector.8", %"class.std::vector.8", i8, i8, [6 x i8] }>
%"struct.std::pair" = type { i32, %"class.std::map.23" }
%"class.std::map.23" = type { %"class.std::_Rb_tree.24" }
%"class.std::_Rb_tree.24" = type { %"struct.std::_Rb_tree<unsigned int, std::pair<const unsigned int, std::map<unsigned int, unsigned int>>, std::_Select1st<std::pair<const unsigned int, std::map<unsigned int, unsigned int>>>, std::less<unsigned int>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<unsigned int, std::pair<const unsigned int, std::map<unsigned int, unsigned int>>, std::_Select1st<std::pair<const unsigned int, std::map<unsigned int, unsigned int>>>, std::less<unsigned int>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"struct.std::pair.28" = type { i32, %"class.std::map.30" }
%"class.std::map.30" = type { %"class.std::_Rb_tree.31" }
%"class.std::_Rb_tree.31" = type { %"struct.std::_Rb_tree<unsigned int, std::pair<const unsigned int, unsigned int>, std::_Select1st<std::pair<const unsigned int, unsigned int>>, std::less<unsigned int>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<unsigned int, std::pair<const unsigned int, unsigned int>, std::_Select1st<std::pair<const unsigned int, unsigned int>>, std::less<unsigned int>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"struct.std::pair.35" = type { i32, i32 }

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

declare i32 @__gxx_personality_v0(...)

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN4Glip7Modules9OBJLoader11reorderDataERNS1_12UnshapedDataE(ptr noundef nonnull align 8 dereferenceable(410) %0) #1 align 2 personality ptr @__gxx_personality_v0 {
  %2 = alloca ptr, align 8
  %3 = alloca %"class.std::map", align 8
  %4 = alloca %"class.std::vector.13", align 8
  %5 = alloca %"class.std::vector.13", align 8
  %6 = alloca %"class.std::vector.13", align 8
  %7 = alloca %"class.std::vector.13", align 8
  %8 = alloca %"class.std::vector.13", align 8
  %9 = alloca %"class.std::vector.13", align 8
  %10 = alloca %"class.std::vector.13", align 8
  %11 = alloca %"class.std::vector.13", align 8
  %12 = alloca %"class.std::vector.8", align 8
  %13 = alloca %"class.std::vector.8", align 8
  %14 = alloca %"class.std::vector.8", align 8
  %15 = alloca i64, align 8
  %16 = alloca ptr, align 8
  %17 = alloca i32, align 4
  %18 = alloca i64, align 8
  %19 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %20 = alloca %"struct.std::_Rb_tree_iterator.21", align 8
  %21 = alloca %"struct.std::_Rb_tree_iterator.22", align 8
  %22 = alloca i8, align 1
  %23 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %24 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %25 = alloca %"struct.std::_Rb_tree_iterator.21", align 8
  %26 = alloca %"struct.std::_Rb_tree_iterator.21", align 8
  %27 = alloca %"struct.std::_Rb_tree_iterator.22", align 8
  %28 = alloca %"struct.std::_Rb_tree_iterator.22", align 8
  %29 = alloca i32, align 4
  %30 = alloca i64, align 8
  %31 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %32 = alloca %"struct.std::_Rb_tree_iterator.21", align 8
  %33 = alloca %"struct.std::_Rb_tree_iterator.22", align 8
  %34 = alloca i8, align 1
  %35 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %36 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %37 = alloca %"struct.std::_Rb_tree_iterator.21", align 8
  %38 = alloca %"struct.std::_Rb_tree_iterator.21", align 8
  %39 = alloca %"struct.std::_Rb_tree_iterator.22", align 8
  %40 = alloca %"struct.std::_Rb_tree_iterator.22", align 8
  %41 = alloca i32, align 4
  %42 = alloca i64, align 8
  %43 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %44 = alloca %"struct.std::_Rb_tree_iterator.21", align 8
  %45 = alloca %"struct.std::_Rb_tree_iterator.22", align 8
  %46 = alloca i8, align 1
  %47 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %48 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %49 = alloca %"struct.std::_Rb_tree_iterator.21", align 8
  %50 = alloca %"struct.std::_Rb_tree_iterator.21", align 8
  %51 = alloca %"struct.std::_Rb_tree_iterator.22", align 8
  %52 = alloca %"struct.std::_Rb_tree_iterator.22", align 8
  %53 = alloca i32, align 4
  %54 = alloca i32, align 4
  store ptr %0, ptr %2, align 8, !tbaa !5
  %55 = load ptr, ptr %2, align 8, !tbaa !5
  %56 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %55, i32 0, i32 18
  %57 = load i8, ptr %56, align 1, !tbaa !9, !range !20, !noundef !21
  %58 = trunc i8 %57 to i1
  br i1 %58, label %64, label %59

59:                                               ; preds = %1
  %60 = load ptr, ptr %2, align 8, !tbaa !5
  %61 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %60, i32 0, i32 17
  %62 = load i8, ptr %61, align 8, !tbaa !22, !range !20, !noundef !21
  %63 = trunc i8 %62 to i1
  br i1 %63, label %64, label %857

64:                                               ; preds = %59, %1
  call void @llvm.lifetime.start.p0(i64 48, ptr %3) #4
  call void @_ZNSt3mapIjS_IjS_IjjSt4lessIjESaISt4pairIKjjEEES1_SaIS2_IS3_S6_EEES1_SaIS2_IS3_S9_EEEC2Ev(ptr noundef nonnull align 8 dereferenceable(48) %3) #4
  call void @llvm.lifetime.start.p0(i64 24, ptr %4) #4
  call void @_ZNSt6vectorIfSaIfEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %4) #4
  call void @llvm.lifetime.start.p0(i64 24, ptr %5) #4
  call void @_ZNSt6vectorIfSaIfEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %5) #4
  call void @llvm.lifetime.start.p0(i64 24, ptr %6) #4
  call void @_ZNSt6vectorIfSaIfEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #4
  call void @llvm.lifetime.start.p0(i64 24, ptr %7) #4
  call void @_ZNSt6vectorIfSaIfEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %7) #4
  call void @llvm.lifetime.start.p0(i64 24, ptr %8) #4
  call void @_ZNSt6vectorIfSaIfEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %8) #4
  call void @llvm.lifetime.start.p0(i64 24, ptr %9) #4
  call void @_ZNSt6vectorIfSaIfEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #4
  call void @llvm.lifetime.start.p0(i64 24, ptr %10) #4
  call void @_ZNSt6vectorIfSaIfEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #4
  call void @llvm.lifetime.start.p0(i64 24, ptr %11) #4
  call void @_ZNSt6vectorIfSaIfEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #4
  call void @llvm.lifetime.start.p0(i64 24, ptr %12) #4
  call void @_ZNSt6vectorIjSaIjEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %12) #4
  call void @llvm.lifetime.start.p0(i64 24, ptr %13) #4
  call void @_ZNSt6vectorIjSaIjEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #4
  call void @llvm.lifetime.start.p0(i64 24, ptr %14) #4
  call void @_ZNSt6vectorIjSaIjEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %14) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %15) #4
  %65 = load ptr, ptr %2, align 8, !tbaa !5
  %66 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %65, i32 0, i32 0
  %67 = call noundef i64 @_ZNKSt6vectorIfSaIfEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %66) #4
  %68 = load ptr, ptr %2, align 8, !tbaa !5
  %69 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %68, i32 0, i32 8
  %70 = call noundef i64 @_ZNKSt6vectorIjSaIjEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %69) #4
  %71 = add i64 %67, %70
  store i64 %71, ptr %15, align 8, !tbaa !23
  %72 = load i64, ptr %15, align 8, !tbaa !23
  invoke void @_ZNSt6vectorIfSaIfEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %4, i64 noundef %72)
          to label %73 unwind label %107

73:                                               ; preds = %64
  %74 = load i64, ptr %15, align 8, !tbaa !23
  invoke void @_ZNSt6vectorIfSaIfEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef %74)
          to label %75 unwind label %107

75:                                               ; preds = %73
  %76 = load i64, ptr %15, align 8, !tbaa !23
  invoke void @_ZNSt6vectorIfSaIfEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %76)
          to label %77 unwind label %107

77:                                               ; preds = %75
  %78 = load i64, ptr %15, align 8, !tbaa !23
  invoke void @_ZNSt6vectorIfSaIfEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %7, i64 noundef %78)
          to label %79 unwind label %107

79:                                               ; preds = %77
  %80 = load i64, ptr %15, align 8, !tbaa !23
  invoke void @_ZNSt6vectorIfSaIfEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %80)
          to label %81 unwind label %107

81:                                               ; preds = %79
  %82 = load i64, ptr %15, align 8, !tbaa !23
  invoke void @_ZNSt6vectorIfSaIfEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %9, i64 noundef %82)
          to label %83 unwind label %107

83:                                               ; preds = %81
  %84 = load i64, ptr %15, align 8, !tbaa !23
  invoke void @_ZNSt6vectorIfSaIfEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef %84)
          to label %85 unwind label %107

85:                                               ; preds = %83
  %86 = load i64, ptr %15, align 8, !tbaa !23
  invoke void @_ZNSt6vectorIfSaIfEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %86)
          to label %87 unwind label %107

87:                                               ; preds = %85
  %88 = load ptr, ptr %2, align 8, !tbaa !5
  %89 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %88, i32 0, i32 8
  %90 = call noundef i64 @_ZNKSt6vectorIjSaIjEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %89) #4
  invoke void @_ZNSt6vectorIjSaIjEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %90)
          to label %91 unwind label %107

91:                                               ; preds = %87
  %92 = load ptr, ptr %2, align 8, !tbaa !5
  %93 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %92, i32 0, i32 8
  %94 = call noundef i64 @_ZNKSt6vectorIjSaIjEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %93) #4
  invoke void @_ZNSt6vectorIjSaIjEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %13, i64 noundef %94)
          to label %95 unwind label %107

95:                                               ; preds = %91
  %96 = load ptr, ptr %2, align 8, !tbaa !5
  %97 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %96, i32 0, i32 8
  %98 = call noundef i64 @_ZNKSt6vectorIjSaIjEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %97) #4
  invoke void @_ZNSt6vectorIjSaIjEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %14, i64 noundef %98)
          to label %99 unwind label %107

99:                                               ; preds = %95
  call void @llvm.lifetime.start.p0(i64 8, ptr %18) #4
  store i64 0, ptr %18, align 8, !tbaa !23
  br label %100

100:                                              ; preds = %335, %99
  %101 = load i64, ptr %18, align 8, !tbaa !23
  %102 = load ptr, ptr %2, align 8, !tbaa !5
  %103 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %102, i32 0, i32 8
  %104 = call noundef i64 @_ZNKSt6vectorIjSaIjEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %103) #4
  %105 = icmp ult i64 %101, %104
  br i1 %105, label %111, label %106

106:                                              ; preds = %100
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #4
  br label %339

107:                                              ; preds = %851, %847, %843, %839, %835, %831, %827, %823, %819, %815, %811, %95, %91, %87, %85, %83, %81, %79, %77, %75, %73, %64
  %108 = landingpad { ptr, i32 }
          cleanup
  %109 = extractvalue { ptr, i32 } %108, 0
  store ptr %109, ptr %16, align 8
  %110 = extractvalue { ptr, i32 } %108, 1
  store i32 %110, ptr %17, align 4
  br label %856

111:                                              ; preds = %100
  call void @llvm.lifetime.start.p0(i64 8, ptr %19) #4
  call void @_ZNSt17_Rb_tree_iteratorISt4pairIKjSt3mapIjS2_IjjSt4lessIjESaIS0_IS1_jEEES4_SaIS0_IS1_S7_EEEEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %19) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %20) #4
  call void @_ZNSt17_Rb_tree_iteratorISt4pairIKjSt3mapIjjSt4lessIjESaIS0_IS1_jEEEEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %20) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %21) #4
  call void @_ZNSt17_Rb_tree_iteratorISt4pairIKjjEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %21) #4
  call void @llvm.lifetime.start.p0(i64 1, ptr %22) #4
  store i8 0, ptr %22, align 1, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 8, ptr %23) #4
  %112 = load ptr, ptr %2, align 8, !tbaa !5
  %113 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %112, i32 0, i32 8
  %114 = load i64, ptr %18, align 8, !tbaa !23
  %115 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %113, i64 noundef %114) #4
  %116 = invoke ptr @_ZNSt3mapIjS_IjS_IjjSt4lessIjESaISt4pairIKjjEEES1_SaIS2_IS3_S6_EEES1_SaIS2_IS3_S9_EEE4findERS3_(ptr noundef nonnull align 8 dereferenceable(48) %3, ptr noundef nonnull align 4 dereferenceable(4) %115)
          to label %117 unwind label %156

117:                                              ; preds = %111
  %118 = getelementptr inbounds %"struct.std::_Rb_tree_iterator", ptr %23, i32 0, i32 0
  store ptr %116, ptr %118, align 8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %19, ptr align 8 %23, i64 8, i1 false), !tbaa.struct !26
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %24) #4
  %119 = call ptr @_ZNSt3mapIjS_IjS_IjjSt4lessIjESaISt4pairIKjjEEES1_SaIS2_IS3_S6_EEES1_SaIS2_IS3_S9_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %3) #4
  %120 = getelementptr inbounds %"struct.std::_Rb_tree_iterator", ptr %24, i32 0, i32 0
  store ptr %119, ptr %120, align 8
  %121 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKjSt3mapIjS2_IjjSt4lessIjESaIS0_IS1_jEEES4_SaIS0_IS1_S7_EEEEESE_(ptr noundef nonnull align 8 dereferenceable(8) %19, ptr noundef nonnull align 8 dereferenceable(8) %24) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #4
  br i1 %121, label %122, label %202

122:                                              ; preds = %117
  call void @llvm.lifetime.start.p0(i64 8, ptr %25) #4
  %123 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKjSt3mapIjS2_IjjSt4lessIjESaIS0_IS1_jEEES4_SaIS0_IS1_S7_EEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %19) #4
  %124 = getelementptr inbounds %"struct.std::pair", ptr %123, i32 0, i32 1
  %125 = load ptr, ptr %2, align 8, !tbaa !5
  %126 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %125, i32 0, i32 9
  %127 = load i64, ptr %18, align 8, !tbaa !23
  %128 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %126, i64 noundef %127) #4
  %129 = invoke ptr @_ZNSt3mapIjS_IjjSt4lessIjESaISt4pairIKjjEEES1_SaIS2_IS3_S6_EEE4findERS3_(ptr noundef nonnull align 8 dereferenceable(48) %124, ptr noundef nonnull align 4 dereferenceable(4) %128)
          to label %130 unwind label %160

130:                                              ; preds = %122
  %131 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.21", ptr %25, i32 0, i32 0
  store ptr %129, ptr %131, align 8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %20, ptr align 8 %25, i64 8, i1 false), !tbaa.struct !26
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %26) #4
  %132 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKjSt3mapIjS2_IjjSt4lessIjESaIS0_IS1_jEEES4_SaIS0_IS1_S7_EEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %19) #4
  %133 = getelementptr inbounds %"struct.std::pair", ptr %132, i32 0, i32 1
  %134 = call ptr @_ZNSt3mapIjS_IjjSt4lessIjESaISt4pairIKjjEEES1_SaIS2_IS3_S6_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %133) #4
  %135 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.21", ptr %26, i32 0, i32 0
  store ptr %134, ptr %135, align 8
  %136 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKjSt3mapIjjSt4lessIjESaIS0_IS1_jEEEEESB_(ptr noundef nonnull align 8 dereferenceable(8) %20, ptr noundef nonnull align 8 dereferenceable(8) %26) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #4
  br i1 %136, label %137, label %184

137:                                              ; preds = %130
  call void @llvm.lifetime.start.p0(i64 8, ptr %27) #4
  %138 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKjSt3mapIjjSt4lessIjESaIS0_IS1_jEEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %20) #4
  %139 = getelementptr inbounds %"struct.std::pair.28", ptr %138, i32 0, i32 1
  %140 = load ptr, ptr %2, align 8, !tbaa !5
  %141 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %140, i32 0, i32 10
  %142 = load i64, ptr %18, align 8, !tbaa !23
  %143 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %141, i64 noundef %142) #4
  %144 = invoke ptr @_ZNSt3mapIjjSt4lessIjESaISt4pairIKjjEEE4findERS3_(ptr noundef nonnull align 8 dereferenceable(48) %139, ptr noundef nonnull align 4 dereferenceable(4) %143)
          to label %145 unwind label %164

145:                                              ; preds = %137
  %146 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.22", ptr %27, i32 0, i32 0
  store ptr %144, ptr %146, align 8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %21, ptr align 8 %27, i64 8, i1 false), !tbaa.struct !26
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %28) #4
  %147 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKjSt3mapIjjSt4lessIjESaIS0_IS1_jEEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %20) #4
  %148 = getelementptr inbounds %"struct.std::pair.28", ptr %147, i32 0, i32 1
  %149 = call ptr @_ZNSt3mapIjjSt4lessIjESaISt4pairIKjjEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %148) #4
  %150 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.22", ptr %28, i32 0, i32 0
  store ptr %149, ptr %150, align 8
  %151 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKjjEES5_(ptr noundef nonnull align 8 dereferenceable(8) %21, ptr noundef nonnull align 8 dereferenceable(8) %28) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #4
  br i1 %151, label %152, label %172

152:                                              ; preds = %145
  store i8 1, ptr %22, align 1, !tbaa !25
  %153 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKjjEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %21) #4
  %154 = getelementptr inbounds %"struct.std::pair.35", ptr %153, i32 0, i32 1
  invoke void @_ZNSt6vectorIjSaIjEE9push_backERKj(ptr noundef nonnull align 8 dereferenceable(24) %12, ptr noundef nonnull align 4 dereferenceable(4) %154)
          to label %155 unwind label %168

155:                                              ; preds = %152
  br label %183

156:                                              ; preds = %111
  %157 = landingpad { ptr, i32 }
          cleanup
  %158 = extractvalue { ptr, i32 } %157, 0
  store ptr %158, ptr %16, align 8
  %159 = extractvalue { ptr, i32 } %157, 1
  store i32 %159, ptr %17, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #4
  br label %338

160:                                              ; preds = %122
  %161 = landingpad { ptr, i32 }
          cleanup
  %162 = extractvalue { ptr, i32 } %161, 0
  store ptr %162, ptr %16, align 8
  %163 = extractvalue { ptr, i32 } %161, 1
  store i32 %163, ptr %17, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #4
  br label %338

164:                                              ; preds = %137
  %165 = landingpad { ptr, i32 }
          cleanup
  %166 = extractvalue { ptr, i32 } %165, 0
  store ptr %166, ptr %16, align 8
  %167 = extractvalue { ptr, i32 } %165, 1
  store i32 %167, ptr %17, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #4
  br label %338

168:                                              ; preds = %321, %310, %289, %278, %267, %251, %240, %229, %216, %210, %202, %194, %184, %172, %152
  %169 = landingpad { ptr, i32 }
          cleanup
  %170 = extractvalue { ptr, i32 } %169, 0
  store ptr %170, ptr %16, align 8
  %171 = extractvalue { ptr, i32 } %169, 1
  store i32 %171, ptr %17, align 4
  br label %338

172:                                              ; preds = %145
  %173 = call noundef i64 @_ZNKSt6vectorIfSaIfEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %4) #4
  %174 = trunc i64 %173 to i32
  %175 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKjSt3mapIjjSt4lessIjESaIS0_IS1_jEEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %20) #4
  %176 = getelementptr inbounds %"struct.std::pair.28", ptr %175, i32 0, i32 1
  %177 = load ptr, ptr %2, align 8, !tbaa !5
  %178 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %177, i32 0, i32 10
  %179 = load i64, ptr %18, align 8, !tbaa !23
  %180 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %178, i64 noundef %179) #4
  %181 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt3mapIjjSt4lessIjESaISt4pairIKjjEEEixERS3_(ptr noundef nonnull align 8 dereferenceable(48) %176, ptr noundef nonnull align 4 dereferenceable(4) %180)
          to label %182 unwind label %168

182:                                              ; preds = %172
  store i32 %174, ptr %181, align 4, !tbaa !27
  br label %183

183:                                              ; preds = %182, %155
  br label %201

184:                                              ; preds = %130
  %185 = call noundef i64 @_ZNKSt6vectorIfSaIfEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %4) #4
  %186 = trunc i64 %185 to i32
  %187 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKjSt3mapIjS2_IjjSt4lessIjESaIS0_IS1_jEEES4_SaIS0_IS1_S7_EEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %19) #4
  %188 = getelementptr inbounds %"struct.std::pair", ptr %187, i32 0, i32 1
  %189 = load ptr, ptr %2, align 8, !tbaa !5
  %190 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %189, i32 0, i32 9
  %191 = load i64, ptr %18, align 8, !tbaa !23
  %192 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %190, i64 noundef %191) #4
  %193 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt3mapIjS_IjjSt4lessIjESaISt4pairIKjjEEES1_SaIS2_IS3_S6_EEEixERS3_(ptr noundef nonnull align 8 dereferenceable(48) %188, ptr noundef nonnull align 4 dereferenceable(4) %192)
          to label %194 unwind label %168

194:                                              ; preds = %184
  %195 = load ptr, ptr %2, align 8, !tbaa !5
  %196 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %195, i32 0, i32 10
  %197 = load i64, ptr %18, align 8, !tbaa !23
  %198 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %196, i64 noundef %197) #4
  %199 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt3mapIjjSt4lessIjESaISt4pairIKjjEEEixERS3_(ptr noundef nonnull align 8 dereferenceable(48) %193, ptr noundef nonnull align 4 dereferenceable(4) %198)
          to label %200 unwind label %168

200:                                              ; preds = %194
  store i32 %186, ptr %199, align 4, !tbaa !27
  br label %201

201:                                              ; preds = %200, %183
  br label %223

202:                                              ; preds = %117
  %203 = call noundef i64 @_ZNKSt6vectorIfSaIfEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %4) #4
  %204 = trunc i64 %203 to i32
  %205 = load ptr, ptr %2, align 8, !tbaa !5
  %206 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %205, i32 0, i32 8
  %207 = load i64, ptr %18, align 8, !tbaa !23
  %208 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %206, i64 noundef %207) #4
  %209 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt3mapIjS_IjS_IjjSt4lessIjESaISt4pairIKjjEEES1_SaIS2_IS3_S6_EEES1_SaIS2_IS3_S9_EEEixERS3_(ptr noundef nonnull align 8 dereferenceable(48) %3, ptr noundef nonnull align 4 dereferenceable(4) %208)
          to label %210 unwind label %168

210:                                              ; preds = %202
  %211 = load ptr, ptr %2, align 8, !tbaa !5
  %212 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %211, i32 0, i32 9
  %213 = load i64, ptr %18, align 8, !tbaa !23
  %214 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %212, i64 noundef %213) #4
  %215 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt3mapIjS_IjjSt4lessIjESaISt4pairIKjjEEES1_SaIS2_IS3_S6_EEEixERS3_(ptr noundef nonnull align 8 dereferenceable(48) %209, ptr noundef nonnull align 4 dereferenceable(4) %214)
          to label %216 unwind label %168

216:                                              ; preds = %210
  %217 = load ptr, ptr %2, align 8, !tbaa !5
  %218 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %217, i32 0, i32 10
  %219 = load i64, ptr %18, align 8, !tbaa !23
  %220 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %218, i64 noundef %219) #4
  %221 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt3mapIjjSt4lessIjESaISt4pairIKjjEEEixERS3_(ptr noundef nonnull align 8 dereferenceable(48) %215, ptr noundef nonnull align 4 dereferenceable(4) %220)
          to label %222 unwind label %168

222:                                              ; preds = %216
  store i32 %204, ptr %221, align 4, !tbaa !27
  br label %223

223:                                              ; preds = %222, %201
  %224 = load i8, ptr %22, align 1, !tbaa !25, !range !20, !noundef !21
  %225 = trunc i8 %224 to i1
  br i1 %225, label %334, label %226

226:                                              ; preds = %223
  call void @llvm.lifetime.start.p0(i64 4, ptr %29) #4
  %227 = call noundef i64 @_ZNKSt6vectorIfSaIfEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %4) #4
  %228 = trunc i64 %227 to i32
  store i32 %228, ptr %29, align 4, !tbaa !27
  invoke void @_ZNSt6vectorIjSaIjEE9push_backEOj(ptr noundef nonnull align 8 dereferenceable(24) %12, ptr noundef nonnull align 4 dereferenceable(4) %29)
          to label %229 unwind label %301

229:                                              ; preds = %226
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #4
  %230 = load ptr, ptr %2, align 8, !tbaa !5
  %231 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %230, i32 0, i32 0
  %232 = load ptr, ptr %2, align 8, !tbaa !5
  %233 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %232, i32 0, i32 8
  %234 = load i64, ptr %18, align 8, !tbaa !23
  %235 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %233, i64 noundef %234) #4
  %236 = load i32, ptr %235, align 4, !tbaa !27
  %237 = sub i32 %236, 1
  %238 = zext i32 %237 to i64
  %239 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIfSaIfEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %231, i64 noundef %238) #4
  invoke void @_ZNSt6vectorIfSaIfEE9push_backERKf(ptr noundef nonnull align 8 dereferenceable(24) %4, ptr noundef nonnull align 4 dereferenceable(4) %239)
          to label %240 unwind label %168

240:                                              ; preds = %229
  %241 = load ptr, ptr %2, align 8, !tbaa !5
  %242 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %241, i32 0, i32 1
  %243 = load ptr, ptr %2, align 8, !tbaa !5
  %244 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %243, i32 0, i32 8
  %245 = load i64, ptr %18, align 8, !tbaa !23
  %246 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %244, i64 noundef %245) #4
  %247 = load i32, ptr %246, align 4, !tbaa !27
  %248 = sub i32 %247, 1
  %249 = zext i32 %248 to i64
  %250 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIfSaIfEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %242, i64 noundef %249) #4
  invoke void @_ZNSt6vectorIfSaIfEE9push_backERKf(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 4 dereferenceable(4) %250)
          to label %251 unwind label %168

251:                                              ; preds = %240
  %252 = load ptr, ptr %2, align 8, !tbaa !5
  %253 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %252, i32 0, i32 2
  %254 = load ptr, ptr %2, align 8, !tbaa !5
  %255 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %254, i32 0, i32 8
  %256 = load i64, ptr %18, align 8, !tbaa !23
  %257 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %255, i64 noundef %256) #4
  %258 = load i32, ptr %257, align 4, !tbaa !27
  %259 = sub i32 %258, 1
  %260 = zext i32 %259 to i64
  %261 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIfSaIfEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %253, i64 noundef %260) #4
  invoke void @_ZNSt6vectorIfSaIfEE9push_backERKf(ptr noundef nonnull align 8 dereferenceable(24) %6, ptr noundef nonnull align 4 dereferenceable(4) %261)
          to label %262 unwind label %168

262:                                              ; preds = %251
  %263 = load ptr, ptr %2, align 8, !tbaa !5
  %264 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %263, i32 0, i32 17
  %265 = load i8, ptr %264, align 8, !tbaa !22, !range !20, !noundef !21
  %266 = trunc i8 %265 to i1
  br i1 %266, label %267, label %305

267:                                              ; preds = %262
  %268 = load ptr, ptr %2, align 8, !tbaa !5
  %269 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %268, i32 0, i32 3
  %270 = load ptr, ptr %2, align 8, !tbaa !5
  %271 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %270, i32 0, i32 9
  %272 = load i64, ptr %18, align 8, !tbaa !23
  %273 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %271, i64 noundef %272) #4
  %274 = load i32, ptr %273, align 4, !tbaa !27
  %275 = sub i32 %274, 1
  %276 = zext i32 %275 to i64
  %277 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIfSaIfEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %269, i64 noundef %276) #4
  invoke void @_ZNSt6vectorIfSaIfEE9push_backERKf(ptr noundef nonnull align 8 dereferenceable(24) %7, ptr noundef nonnull align 4 dereferenceable(4) %277)
          to label %278 unwind label %168

278:                                              ; preds = %267
  %279 = load ptr, ptr %2, align 8, !tbaa !5
  %280 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %279, i32 0, i32 4
  %281 = load ptr, ptr %2, align 8, !tbaa !5
  %282 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %281, i32 0, i32 9
  %283 = load i64, ptr %18, align 8, !tbaa !23
  %284 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %282, i64 noundef %283) #4
  %285 = load i32, ptr %284, align 4, !tbaa !27
  %286 = sub i32 %285, 1
  %287 = zext i32 %286 to i64
  %288 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIfSaIfEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %280, i64 noundef %287) #4
  invoke void @_ZNSt6vectorIfSaIfEE9push_backERKf(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 4 dereferenceable(4) %288)
          to label %289 unwind label %168

289:                                              ; preds = %278
  %290 = load ptr, ptr %2, align 8, !tbaa !5
  %291 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %290, i32 0, i32 5
  %292 = load ptr, ptr %2, align 8, !tbaa !5
  %293 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %292, i32 0, i32 9
  %294 = load i64, ptr %18, align 8, !tbaa !23
  %295 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %293, i64 noundef %294) #4
  %296 = load i32, ptr %295, align 4, !tbaa !27
  %297 = sub i32 %296, 1
  %298 = zext i32 %297 to i64
  %299 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIfSaIfEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %291, i64 noundef %298) #4
  invoke void @_ZNSt6vectorIfSaIfEE9push_backERKf(ptr noundef nonnull align 8 dereferenceable(24) %9, ptr noundef nonnull align 4 dereferenceable(4) %299)
          to label %300 unwind label %168

300:                                              ; preds = %289
  br label %305

301:                                              ; preds = %226
  %302 = landingpad { ptr, i32 }
          cleanup
  %303 = extractvalue { ptr, i32 } %302, 0
  store ptr %303, ptr %16, align 8
  %304 = extractvalue { ptr, i32 } %302, 1
  store i32 %304, ptr %17, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #4
  br label %338

305:                                              ; preds = %300, %262
  %306 = load ptr, ptr %2, align 8, !tbaa !5
  %307 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %306, i32 0, i32 18
  %308 = load i8, ptr %307, align 1, !tbaa !9, !range !20, !noundef !21
  %309 = trunc i8 %308 to i1
  br i1 %309, label %310, label %333

310:                                              ; preds = %305
  %311 = load ptr, ptr %2, align 8, !tbaa !5
  %312 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %311, i32 0, i32 6
  %313 = load ptr, ptr %2, align 8, !tbaa !5
  %314 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %313, i32 0, i32 10
  %315 = load i64, ptr %18, align 8, !tbaa !23
  %316 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %314, i64 noundef %315) #4
  %317 = load i32, ptr %316, align 4, !tbaa !27
  %318 = sub i32 %317, 1
  %319 = zext i32 %318 to i64
  %320 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIfSaIfEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %312, i64 noundef %319) #4
  invoke void @_ZNSt6vectorIfSaIfEE9push_backERKf(ptr noundef nonnull align 8 dereferenceable(24) %10, ptr noundef nonnull align 4 dereferenceable(4) %320)
          to label %321 unwind label %168

321:                                              ; preds = %310
  %322 = load ptr, ptr %2, align 8, !tbaa !5
  %323 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %322, i32 0, i32 7
  %324 = load ptr, ptr %2, align 8, !tbaa !5
  %325 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %324, i32 0, i32 10
  %326 = load i64, ptr %18, align 8, !tbaa !23
  %327 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %325, i64 noundef %326) #4
  %328 = load i32, ptr %327, align 4, !tbaa !27
  %329 = sub i32 %328, 1
  %330 = zext i32 %329 to i64
  %331 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIfSaIfEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %323, i64 noundef %330) #4
  invoke void @_ZNSt6vectorIfSaIfEE9push_backERKf(ptr noundef nonnull align 8 dereferenceable(24) %11, ptr noundef nonnull align 4 dereferenceable(4) %331)
          to label %332 unwind label %168

332:                                              ; preds = %321
  br label %333

333:                                              ; preds = %332, %305
  br label %334

334:                                              ; preds = %333, %223
  call void @llvm.lifetime.end.p0(i64 1, ptr %22) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %20) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #4
  br label %335

335:                                              ; preds = %334
  %336 = load i64, ptr %18, align 8, !tbaa !23
  %337 = add i64 %336, 1
  store i64 %337, ptr %18, align 8, !tbaa !23
  br label %100, !llvm.loop !29

338:                                              ; preds = %301, %168, %164, %160, %156
  call void @llvm.lifetime.end.p0(i64 1, ptr %22) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %20) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #4
  br label %856

339:                                              ; preds = %106
  call void @llvm.lifetime.start.p0(i64 8, ptr %30) #4
  store i64 0, ptr %30, align 8, !tbaa !23
  br label %340

340:                                              ; preds = %571, %339
  %341 = load i64, ptr %30, align 8, !tbaa !23
  %342 = load ptr, ptr %2, align 8, !tbaa !5
  %343 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %342, i32 0, i32 11
  %344 = call noundef i64 @_ZNKSt6vectorIjSaIjEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %343) #4
  %345 = icmp ult i64 %341, %344
  br i1 %345, label %347, label %346

346:                                              ; preds = %340
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #4
  br label %575

347:                                              ; preds = %340
  call void @llvm.lifetime.start.p0(i64 8, ptr %31) #4
  call void @_ZNSt17_Rb_tree_iteratorISt4pairIKjSt3mapIjS2_IjjSt4lessIjESaIS0_IS1_jEEES4_SaIS0_IS1_S7_EEEEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %31) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %32) #4
  call void @_ZNSt17_Rb_tree_iteratorISt4pairIKjSt3mapIjjSt4lessIjESaIS0_IS1_jEEEEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %32) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %33) #4
  call void @_ZNSt17_Rb_tree_iteratorISt4pairIKjjEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %33) #4
  call void @llvm.lifetime.start.p0(i64 1, ptr %34) #4
  store i8 0, ptr %34, align 1, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 8, ptr %35) #4
  %348 = load ptr, ptr %2, align 8, !tbaa !5
  %349 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %348, i32 0, i32 11
  %350 = load i64, ptr %30, align 8, !tbaa !23
  %351 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %349, i64 noundef %350) #4
  %352 = invoke ptr @_ZNSt3mapIjS_IjS_IjjSt4lessIjESaISt4pairIKjjEEES1_SaIS2_IS3_S6_EEES1_SaIS2_IS3_S9_EEE4findERS3_(ptr noundef nonnull align 8 dereferenceable(48) %3, ptr noundef nonnull align 4 dereferenceable(4) %351)
          to label %353 unwind label %392

353:                                              ; preds = %347
  %354 = getelementptr inbounds %"struct.std::_Rb_tree_iterator", ptr %35, i32 0, i32 0
  store ptr %352, ptr %354, align 8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %31, ptr align 8 %35, i64 8, i1 false), !tbaa.struct !26
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %36) #4
  %355 = call ptr @_ZNSt3mapIjS_IjS_IjjSt4lessIjESaISt4pairIKjjEEES1_SaIS2_IS3_S6_EEES1_SaIS2_IS3_S9_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %3) #4
  %356 = getelementptr inbounds %"struct.std::_Rb_tree_iterator", ptr %36, i32 0, i32 0
  store ptr %355, ptr %356, align 8
  %357 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKjSt3mapIjS2_IjjSt4lessIjESaIS0_IS1_jEEES4_SaIS0_IS1_S7_EEEEESE_(ptr noundef nonnull align 8 dereferenceable(8) %31, ptr noundef nonnull align 8 dereferenceable(8) %36) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #4
  br i1 %357, label %358, label %438

358:                                              ; preds = %353
  call void @llvm.lifetime.start.p0(i64 8, ptr %37) #4
  %359 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKjSt3mapIjS2_IjjSt4lessIjESaIS0_IS1_jEEES4_SaIS0_IS1_S7_EEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %31) #4
  %360 = getelementptr inbounds %"struct.std::pair", ptr %359, i32 0, i32 1
  %361 = load ptr, ptr %2, align 8, !tbaa !5
  %362 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %361, i32 0, i32 12
  %363 = load i64, ptr %30, align 8, !tbaa !23
  %364 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %362, i64 noundef %363) #4
  %365 = invoke ptr @_ZNSt3mapIjS_IjjSt4lessIjESaISt4pairIKjjEEES1_SaIS2_IS3_S6_EEE4findERS3_(ptr noundef nonnull align 8 dereferenceable(48) %360, ptr noundef nonnull align 4 dereferenceable(4) %364)
          to label %366 unwind label %396

366:                                              ; preds = %358
  %367 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.21", ptr %37, i32 0, i32 0
  store ptr %365, ptr %367, align 8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %32, ptr align 8 %37, i64 8, i1 false), !tbaa.struct !26
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %38) #4
  %368 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKjSt3mapIjS2_IjjSt4lessIjESaIS0_IS1_jEEES4_SaIS0_IS1_S7_EEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %31) #4
  %369 = getelementptr inbounds %"struct.std::pair", ptr %368, i32 0, i32 1
  %370 = call ptr @_ZNSt3mapIjS_IjjSt4lessIjESaISt4pairIKjjEEES1_SaIS2_IS3_S6_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %369) #4
  %371 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.21", ptr %38, i32 0, i32 0
  store ptr %370, ptr %371, align 8
  %372 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKjSt3mapIjjSt4lessIjESaIS0_IS1_jEEEEESB_(ptr noundef nonnull align 8 dereferenceable(8) %32, ptr noundef nonnull align 8 dereferenceable(8) %38) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %38) #4
  br i1 %372, label %373, label %420

373:                                              ; preds = %366
  call void @llvm.lifetime.start.p0(i64 8, ptr %39) #4
  %374 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKjSt3mapIjjSt4lessIjESaIS0_IS1_jEEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %32) #4
  %375 = getelementptr inbounds %"struct.std::pair.28", ptr %374, i32 0, i32 1
  %376 = load ptr, ptr %2, align 8, !tbaa !5
  %377 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %376, i32 0, i32 13
  %378 = load i64, ptr %30, align 8, !tbaa !23
  %379 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %377, i64 noundef %378) #4
  %380 = invoke ptr @_ZNSt3mapIjjSt4lessIjESaISt4pairIKjjEEE4findERS3_(ptr noundef nonnull align 8 dereferenceable(48) %375, ptr noundef nonnull align 4 dereferenceable(4) %379)
          to label %381 unwind label %400

381:                                              ; preds = %373
  %382 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.22", ptr %39, i32 0, i32 0
  store ptr %380, ptr %382, align 8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %33, ptr align 8 %39, i64 8, i1 false), !tbaa.struct !26
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %40) #4
  %383 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKjSt3mapIjjSt4lessIjESaIS0_IS1_jEEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %32) #4
  %384 = getelementptr inbounds %"struct.std::pair.28", ptr %383, i32 0, i32 1
  %385 = call ptr @_ZNSt3mapIjjSt4lessIjESaISt4pairIKjjEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %384) #4
  %386 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.22", ptr %40, i32 0, i32 0
  store ptr %385, ptr %386, align 8
  %387 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKjjEES5_(ptr noundef nonnull align 8 dereferenceable(8) %33, ptr noundef nonnull align 8 dereferenceable(8) %40) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #4
  br i1 %387, label %388, label %408

388:                                              ; preds = %381
  store i8 1, ptr %34, align 1, !tbaa !25
  %389 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKjjEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %33) #4
  %390 = getelementptr inbounds %"struct.std::pair.35", ptr %389, i32 0, i32 1
  invoke void @_ZNSt6vectorIjSaIjEE9push_backERKj(ptr noundef nonnull align 8 dereferenceable(24) %13, ptr noundef nonnull align 4 dereferenceable(4) %390)
          to label %391 unwind label %404

391:                                              ; preds = %388
  br label %419

392:                                              ; preds = %347
  %393 = landingpad { ptr, i32 }
          cleanup
  %394 = extractvalue { ptr, i32 } %393, 0
  store ptr %394, ptr %16, align 8
  %395 = extractvalue { ptr, i32 } %393, 1
  store i32 %395, ptr %17, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #4
  br label %574

396:                                              ; preds = %358
  %397 = landingpad { ptr, i32 }
          cleanup
  %398 = extractvalue { ptr, i32 } %397, 0
  store ptr %398, ptr %16, align 8
  %399 = extractvalue { ptr, i32 } %397, 1
  store i32 %399, ptr %17, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #4
  br label %574

400:                                              ; preds = %373
  %401 = landingpad { ptr, i32 }
          cleanup
  %402 = extractvalue { ptr, i32 } %401, 0
  store ptr %402, ptr %16, align 8
  %403 = extractvalue { ptr, i32 } %401, 1
  store i32 %403, ptr %17, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #4
  br label %574

404:                                              ; preds = %557, %546, %525, %514, %503, %487, %476, %465, %452, %446, %438, %430, %420, %408, %388
  %405 = landingpad { ptr, i32 }
          cleanup
  %406 = extractvalue { ptr, i32 } %405, 0
  store ptr %406, ptr %16, align 8
  %407 = extractvalue { ptr, i32 } %405, 1
  store i32 %407, ptr %17, align 4
  br label %574

408:                                              ; preds = %381
  %409 = call noundef i64 @_ZNKSt6vectorIfSaIfEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %4) #4
  %410 = trunc i64 %409 to i32
  %411 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKjSt3mapIjjSt4lessIjESaIS0_IS1_jEEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %32) #4
  %412 = getelementptr inbounds %"struct.std::pair.28", ptr %411, i32 0, i32 1
  %413 = load ptr, ptr %2, align 8, !tbaa !5
  %414 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %413, i32 0, i32 13
  %415 = load i64, ptr %30, align 8, !tbaa !23
  %416 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %414, i64 noundef %415) #4
  %417 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt3mapIjjSt4lessIjESaISt4pairIKjjEEEixERS3_(ptr noundef nonnull align 8 dereferenceable(48) %412, ptr noundef nonnull align 4 dereferenceable(4) %416)
          to label %418 unwind label %404

418:                                              ; preds = %408
  store i32 %410, ptr %417, align 4, !tbaa !27
  br label %419

419:                                              ; preds = %418, %391
  br label %437

420:                                              ; preds = %366
  %421 = call noundef i64 @_ZNKSt6vectorIfSaIfEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %4) #4
  %422 = trunc i64 %421 to i32
  %423 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKjSt3mapIjS2_IjjSt4lessIjESaIS0_IS1_jEEES4_SaIS0_IS1_S7_EEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %31) #4
  %424 = getelementptr inbounds %"struct.std::pair", ptr %423, i32 0, i32 1
  %425 = load ptr, ptr %2, align 8, !tbaa !5
  %426 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %425, i32 0, i32 12
  %427 = load i64, ptr %30, align 8, !tbaa !23
  %428 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %426, i64 noundef %427) #4
  %429 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt3mapIjS_IjjSt4lessIjESaISt4pairIKjjEEES1_SaIS2_IS3_S6_EEEixERS3_(ptr noundef nonnull align 8 dereferenceable(48) %424, ptr noundef nonnull align 4 dereferenceable(4) %428)
          to label %430 unwind label %404

430:                                              ; preds = %420
  %431 = load ptr, ptr %2, align 8, !tbaa !5
  %432 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %431, i32 0, i32 13
  %433 = load i64, ptr %30, align 8, !tbaa !23
  %434 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %432, i64 noundef %433) #4
  %435 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt3mapIjjSt4lessIjESaISt4pairIKjjEEEixERS3_(ptr noundef nonnull align 8 dereferenceable(48) %429, ptr noundef nonnull align 4 dereferenceable(4) %434)
          to label %436 unwind label %404

436:                                              ; preds = %430
  store i32 %422, ptr %435, align 4, !tbaa !27
  br label %437

437:                                              ; preds = %436, %419
  br label %459

438:                                              ; preds = %353
  %439 = call noundef i64 @_ZNKSt6vectorIfSaIfEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %4) #4
  %440 = trunc i64 %439 to i32
  %441 = load ptr, ptr %2, align 8, !tbaa !5
  %442 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %441, i32 0, i32 11
  %443 = load i64, ptr %30, align 8, !tbaa !23
  %444 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %442, i64 noundef %443) #4
  %445 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt3mapIjS_IjS_IjjSt4lessIjESaISt4pairIKjjEEES1_SaIS2_IS3_S6_EEES1_SaIS2_IS3_S9_EEEixERS3_(ptr noundef nonnull align 8 dereferenceable(48) %3, ptr noundef nonnull align 4 dereferenceable(4) %444)
          to label %446 unwind label %404

446:                                              ; preds = %438
  %447 = load ptr, ptr %2, align 8, !tbaa !5
  %448 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %447, i32 0, i32 12
  %449 = load i64, ptr %30, align 8, !tbaa !23
  %450 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %448, i64 noundef %449) #4
  %451 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt3mapIjS_IjjSt4lessIjESaISt4pairIKjjEEES1_SaIS2_IS3_S6_EEEixERS3_(ptr noundef nonnull align 8 dereferenceable(48) %445, ptr noundef nonnull align 4 dereferenceable(4) %450)
          to label %452 unwind label %404

452:                                              ; preds = %446
  %453 = load ptr, ptr %2, align 8, !tbaa !5
  %454 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %453, i32 0, i32 13
  %455 = load i64, ptr %30, align 8, !tbaa !23
  %456 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %454, i64 noundef %455) #4
  %457 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt3mapIjjSt4lessIjESaISt4pairIKjjEEEixERS3_(ptr noundef nonnull align 8 dereferenceable(48) %451, ptr noundef nonnull align 4 dereferenceable(4) %456)
          to label %458 unwind label %404

458:                                              ; preds = %452
  store i32 %440, ptr %457, align 4, !tbaa !27
  br label %459

459:                                              ; preds = %458, %437
  %460 = load i8, ptr %34, align 1, !tbaa !25, !range !20, !noundef !21
  %461 = trunc i8 %460 to i1
  br i1 %461, label %570, label %462

462:                                              ; preds = %459
  call void @llvm.lifetime.start.p0(i64 4, ptr %41) #4
  %463 = call noundef i64 @_ZNKSt6vectorIfSaIfEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %4) #4
  %464 = trunc i64 %463 to i32
  store i32 %464, ptr %41, align 4, !tbaa !27
  invoke void @_ZNSt6vectorIjSaIjEE9push_backEOj(ptr noundef nonnull align 8 dereferenceable(24) %13, ptr noundef nonnull align 4 dereferenceable(4) %41)
          to label %465 unwind label %537

465:                                              ; preds = %462
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #4
  %466 = load ptr, ptr %2, align 8, !tbaa !5
  %467 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %466, i32 0, i32 0
  %468 = load ptr, ptr %2, align 8, !tbaa !5
  %469 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %468, i32 0, i32 11
  %470 = load i64, ptr %30, align 8, !tbaa !23
  %471 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %469, i64 noundef %470) #4
  %472 = load i32, ptr %471, align 4, !tbaa !27
  %473 = sub i32 %472, 1
  %474 = zext i32 %473 to i64
  %475 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIfSaIfEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %467, i64 noundef %474) #4
  invoke void @_ZNSt6vectorIfSaIfEE9push_backERKf(ptr noundef nonnull align 8 dereferenceable(24) %4, ptr noundef nonnull align 4 dereferenceable(4) %475)
          to label %476 unwind label %404

476:                                              ; preds = %465
  %477 = load ptr, ptr %2, align 8, !tbaa !5
  %478 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %477, i32 0, i32 1
  %479 = load ptr, ptr %2, align 8, !tbaa !5
  %480 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %479, i32 0, i32 11
  %481 = load i64, ptr %30, align 8, !tbaa !23
  %482 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %480, i64 noundef %481) #4
  %483 = load i32, ptr %482, align 4, !tbaa !27
  %484 = sub i32 %483, 1
  %485 = zext i32 %484 to i64
  %486 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIfSaIfEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %478, i64 noundef %485) #4
  invoke void @_ZNSt6vectorIfSaIfEE9push_backERKf(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 4 dereferenceable(4) %486)
          to label %487 unwind label %404

487:                                              ; preds = %476
  %488 = load ptr, ptr %2, align 8, !tbaa !5
  %489 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %488, i32 0, i32 2
  %490 = load ptr, ptr %2, align 8, !tbaa !5
  %491 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %490, i32 0, i32 11
  %492 = load i64, ptr %30, align 8, !tbaa !23
  %493 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %491, i64 noundef %492) #4
  %494 = load i32, ptr %493, align 4, !tbaa !27
  %495 = sub i32 %494, 1
  %496 = zext i32 %495 to i64
  %497 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIfSaIfEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %489, i64 noundef %496) #4
  invoke void @_ZNSt6vectorIfSaIfEE9push_backERKf(ptr noundef nonnull align 8 dereferenceable(24) %6, ptr noundef nonnull align 4 dereferenceable(4) %497)
          to label %498 unwind label %404

498:                                              ; preds = %487
  %499 = load ptr, ptr %2, align 8, !tbaa !5
  %500 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %499, i32 0, i32 17
  %501 = load i8, ptr %500, align 8, !tbaa !22, !range !20, !noundef !21
  %502 = trunc i8 %501 to i1
  br i1 %502, label %503, label %541

503:                                              ; preds = %498
  %504 = load ptr, ptr %2, align 8, !tbaa !5
  %505 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %504, i32 0, i32 3
  %506 = load ptr, ptr %2, align 8, !tbaa !5
  %507 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %506, i32 0, i32 12
  %508 = load i64, ptr %30, align 8, !tbaa !23
  %509 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %507, i64 noundef %508) #4
  %510 = load i32, ptr %509, align 4, !tbaa !27
  %511 = sub i32 %510, 1
  %512 = zext i32 %511 to i64
  %513 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIfSaIfEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %505, i64 noundef %512) #4
  invoke void @_ZNSt6vectorIfSaIfEE9push_backERKf(ptr noundef nonnull align 8 dereferenceable(24) %7, ptr noundef nonnull align 4 dereferenceable(4) %513)
          to label %514 unwind label %404

514:                                              ; preds = %503
  %515 = load ptr, ptr %2, align 8, !tbaa !5
  %516 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %515, i32 0, i32 4
  %517 = load ptr, ptr %2, align 8, !tbaa !5
  %518 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %517, i32 0, i32 12
  %519 = load i64, ptr %30, align 8, !tbaa !23
  %520 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %518, i64 noundef %519) #4
  %521 = load i32, ptr %520, align 4, !tbaa !27
  %522 = sub i32 %521, 1
  %523 = zext i32 %522 to i64
  %524 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIfSaIfEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %516, i64 noundef %523) #4
  invoke void @_ZNSt6vectorIfSaIfEE9push_backERKf(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 4 dereferenceable(4) %524)
          to label %525 unwind label %404

525:                                              ; preds = %514
  %526 = load ptr, ptr %2, align 8, !tbaa !5
  %527 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %526, i32 0, i32 5
  %528 = load ptr, ptr %2, align 8, !tbaa !5
  %529 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %528, i32 0, i32 12
  %530 = load i64, ptr %30, align 8, !tbaa !23
  %531 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %529, i64 noundef %530) #4
  %532 = load i32, ptr %531, align 4, !tbaa !27
  %533 = sub i32 %532, 1
  %534 = zext i32 %533 to i64
  %535 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIfSaIfEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %527, i64 noundef %534) #4
  invoke void @_ZNSt6vectorIfSaIfEE9push_backERKf(ptr noundef nonnull align 8 dereferenceable(24) %9, ptr noundef nonnull align 4 dereferenceable(4) %535)
          to label %536 unwind label %404

536:                                              ; preds = %525
  br label %541

537:                                              ; preds = %462
  %538 = landingpad { ptr, i32 }
          cleanup
  %539 = extractvalue { ptr, i32 } %538, 0
  store ptr %539, ptr %16, align 8
  %540 = extractvalue { ptr, i32 } %538, 1
  store i32 %540, ptr %17, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #4
  br label %574

541:                                              ; preds = %536, %498
  %542 = load ptr, ptr %2, align 8, !tbaa !5
  %543 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %542, i32 0, i32 18
  %544 = load i8, ptr %543, align 1, !tbaa !9, !range !20, !noundef !21
  %545 = trunc i8 %544 to i1
  br i1 %545, label %546, label %569

546:                                              ; preds = %541
  %547 = load ptr, ptr %2, align 8, !tbaa !5
  %548 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %547, i32 0, i32 6
  %549 = load ptr, ptr %2, align 8, !tbaa !5
  %550 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %549, i32 0, i32 13
  %551 = load i64, ptr %30, align 8, !tbaa !23
  %552 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %550, i64 noundef %551) #4
  %553 = load i32, ptr %552, align 4, !tbaa !27
  %554 = sub i32 %553, 1
  %555 = zext i32 %554 to i64
  %556 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIfSaIfEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %548, i64 noundef %555) #4
  invoke void @_ZNSt6vectorIfSaIfEE9push_backERKf(ptr noundef nonnull align 8 dereferenceable(24) %10, ptr noundef nonnull align 4 dereferenceable(4) %556)
          to label %557 unwind label %404

557:                                              ; preds = %546
  %558 = load ptr, ptr %2, align 8, !tbaa !5
  %559 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %558, i32 0, i32 7
  %560 = load ptr, ptr %2, align 8, !tbaa !5
  %561 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %560, i32 0, i32 13
  %562 = load i64, ptr %30, align 8, !tbaa !23
  %563 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %561, i64 noundef %562) #4
  %564 = load i32, ptr %563, align 4, !tbaa !27
  %565 = sub i32 %564, 1
  %566 = zext i32 %565 to i64
  %567 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIfSaIfEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %559, i64 noundef %566) #4
  invoke void @_ZNSt6vectorIfSaIfEE9push_backERKf(ptr noundef nonnull align 8 dereferenceable(24) %11, ptr noundef nonnull align 4 dereferenceable(4) %567)
          to label %568 unwind label %404

568:                                              ; preds = %557
  br label %569

569:                                              ; preds = %568, %541
  br label %570

570:                                              ; preds = %569, %459
  call void @llvm.lifetime.end.p0(i64 1, ptr %34) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #4
  br label %571

571:                                              ; preds = %570
  %572 = load i64, ptr %30, align 8, !tbaa !23
  %573 = add i64 %572, 1
  store i64 %573, ptr %30, align 8, !tbaa !23
  br label %340, !llvm.loop !31

574:                                              ; preds = %537, %404, %400, %396, %392
  call void @llvm.lifetime.end.p0(i64 1, ptr %34) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #4
  br label %856

575:                                              ; preds = %346
  call void @llvm.lifetime.start.p0(i64 8, ptr %42) #4
  store i64 0, ptr %42, align 8, !tbaa !23
  br label %576

576:                                              ; preds = %807, %575
  %577 = load i64, ptr %42, align 8, !tbaa !23
  %578 = load ptr, ptr %2, align 8, !tbaa !5
  %579 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %578, i32 0, i32 14
  %580 = call noundef i64 @_ZNKSt6vectorIjSaIjEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %579) #4
  %581 = icmp ult i64 %577, %580
  br i1 %581, label %583, label %582

582:                                              ; preds = %576
  call void @llvm.lifetime.end.p0(i64 8, ptr %42) #4
  br label %811

583:                                              ; preds = %576
  call void @llvm.lifetime.start.p0(i64 8, ptr %43) #4
  call void @_ZNSt17_Rb_tree_iteratorISt4pairIKjSt3mapIjS2_IjjSt4lessIjESaIS0_IS1_jEEES4_SaIS0_IS1_S7_EEEEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %43) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %44) #4
  call void @_ZNSt17_Rb_tree_iteratorISt4pairIKjSt3mapIjjSt4lessIjESaIS0_IS1_jEEEEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %44) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %45) #4
  call void @_ZNSt17_Rb_tree_iteratorISt4pairIKjjEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %45) #4
  call void @llvm.lifetime.start.p0(i64 1, ptr %46) #4
  store i8 0, ptr %46, align 1, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 8, ptr %47) #4
  %584 = load ptr, ptr %2, align 8, !tbaa !5
  %585 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %584, i32 0, i32 14
  %586 = load i64, ptr %42, align 8, !tbaa !23
  %587 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %585, i64 noundef %586) #4
  %588 = invoke ptr @_ZNSt3mapIjS_IjS_IjjSt4lessIjESaISt4pairIKjjEEES1_SaIS2_IS3_S6_EEES1_SaIS2_IS3_S9_EEE4findERS3_(ptr noundef nonnull align 8 dereferenceable(48) %3, ptr noundef nonnull align 4 dereferenceable(4) %587)
          to label %589 unwind label %628

589:                                              ; preds = %583
  %590 = getelementptr inbounds %"struct.std::_Rb_tree_iterator", ptr %47, i32 0, i32 0
  store ptr %588, ptr %590, align 8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %43, ptr align 8 %47, i64 8, i1 false), !tbaa.struct !26
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %48) #4
  %591 = call ptr @_ZNSt3mapIjS_IjS_IjjSt4lessIjESaISt4pairIKjjEEES1_SaIS2_IS3_S6_EEES1_SaIS2_IS3_S9_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %3) #4
  %592 = getelementptr inbounds %"struct.std::_Rb_tree_iterator", ptr %48, i32 0, i32 0
  store ptr %591, ptr %592, align 8
  %593 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKjSt3mapIjS2_IjjSt4lessIjESaIS0_IS1_jEEES4_SaIS0_IS1_S7_EEEEESE_(ptr noundef nonnull align 8 dereferenceable(8) %43, ptr noundef nonnull align 8 dereferenceable(8) %48) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #4
  br i1 %593, label %594, label %674

594:                                              ; preds = %589
  call void @llvm.lifetime.start.p0(i64 8, ptr %49) #4
  %595 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKjSt3mapIjS2_IjjSt4lessIjESaIS0_IS1_jEEES4_SaIS0_IS1_S7_EEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %43) #4
  %596 = getelementptr inbounds %"struct.std::pair", ptr %595, i32 0, i32 1
  %597 = load ptr, ptr %2, align 8, !tbaa !5
  %598 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %597, i32 0, i32 15
  %599 = load i64, ptr %42, align 8, !tbaa !23
  %600 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %598, i64 noundef %599) #4
  %601 = invoke ptr @_ZNSt3mapIjS_IjjSt4lessIjESaISt4pairIKjjEEES1_SaIS2_IS3_S6_EEE4findERS3_(ptr noundef nonnull align 8 dereferenceable(48) %596, ptr noundef nonnull align 4 dereferenceable(4) %600)
          to label %602 unwind label %632

602:                                              ; preds = %594
  %603 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.21", ptr %49, i32 0, i32 0
  store ptr %601, ptr %603, align 8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %44, ptr align 8 %49, i64 8, i1 false), !tbaa.struct !26
  call void @llvm.lifetime.end.p0(i64 8, ptr %49) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %50) #4
  %604 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKjSt3mapIjS2_IjjSt4lessIjESaIS0_IS1_jEEES4_SaIS0_IS1_S7_EEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %43) #4
  %605 = getelementptr inbounds %"struct.std::pair", ptr %604, i32 0, i32 1
  %606 = call ptr @_ZNSt3mapIjS_IjjSt4lessIjESaISt4pairIKjjEEES1_SaIS2_IS3_S6_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %605) #4
  %607 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.21", ptr %50, i32 0, i32 0
  store ptr %606, ptr %607, align 8
  %608 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKjSt3mapIjjSt4lessIjESaIS0_IS1_jEEEEESB_(ptr noundef nonnull align 8 dereferenceable(8) %44, ptr noundef nonnull align 8 dereferenceable(8) %50) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %50) #4
  br i1 %608, label %609, label %656

609:                                              ; preds = %602
  call void @llvm.lifetime.start.p0(i64 8, ptr %51) #4
  %610 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKjSt3mapIjjSt4lessIjESaIS0_IS1_jEEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %44) #4
  %611 = getelementptr inbounds %"struct.std::pair.28", ptr %610, i32 0, i32 1
  %612 = load ptr, ptr %2, align 8, !tbaa !5
  %613 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %612, i32 0, i32 16
  %614 = load i64, ptr %42, align 8, !tbaa !23
  %615 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %613, i64 noundef %614) #4
  %616 = invoke ptr @_ZNSt3mapIjjSt4lessIjESaISt4pairIKjjEEE4findERS3_(ptr noundef nonnull align 8 dereferenceable(48) %611, ptr noundef nonnull align 4 dereferenceable(4) %615)
          to label %617 unwind label %636

617:                                              ; preds = %609
  %618 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.22", ptr %51, i32 0, i32 0
  store ptr %616, ptr %618, align 8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %45, ptr align 8 %51, i64 8, i1 false), !tbaa.struct !26
  call void @llvm.lifetime.end.p0(i64 8, ptr %51) #4
  call void @llvm.lifetime.start.p0(i64 8, ptr %52) #4
  %619 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKjSt3mapIjjSt4lessIjESaIS0_IS1_jEEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %44) #4
  %620 = getelementptr inbounds %"struct.std::pair.28", ptr %619, i32 0, i32 1
  %621 = call ptr @_ZNSt3mapIjjSt4lessIjESaISt4pairIKjjEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %620) #4
  %622 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.22", ptr %52, i32 0, i32 0
  store ptr %621, ptr %622, align 8
  %623 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKjjEES5_(ptr noundef nonnull align 8 dereferenceable(8) %45, ptr noundef nonnull align 8 dereferenceable(8) %52) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %52) #4
  br i1 %623, label %624, label %644

624:                                              ; preds = %617
  store i8 1, ptr %46, align 1, !tbaa !25
  %625 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKjjEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %45) #4
  %626 = getelementptr inbounds %"struct.std::pair.35", ptr %625, i32 0, i32 1
  invoke void @_ZNSt6vectorIjSaIjEE9push_backERKj(ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef nonnull align 4 dereferenceable(4) %626)
          to label %627 unwind label %640

627:                                              ; preds = %624
  br label %655

628:                                              ; preds = %583
  %629 = landingpad { ptr, i32 }
          cleanup
  %630 = extractvalue { ptr, i32 } %629, 0
  store ptr %630, ptr %16, align 8
  %631 = extractvalue { ptr, i32 } %629, 1
  store i32 %631, ptr %17, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #4
  br label %810

632:                                              ; preds = %594
  %633 = landingpad { ptr, i32 }
          cleanup
  %634 = extractvalue { ptr, i32 } %633, 0
  store ptr %634, ptr %16, align 8
  %635 = extractvalue { ptr, i32 } %633, 1
  store i32 %635, ptr %17, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %49) #4
  br label %810

636:                                              ; preds = %609
  %637 = landingpad { ptr, i32 }
          cleanup
  %638 = extractvalue { ptr, i32 } %637, 0
  store ptr %638, ptr %16, align 8
  %639 = extractvalue { ptr, i32 } %637, 1
  store i32 %639, ptr %17, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %51) #4
  br label %810

640:                                              ; preds = %793, %782, %761, %750, %739, %723, %712, %701, %688, %682, %674, %666, %656, %644, %624
  %641 = landingpad { ptr, i32 }
          cleanup
  %642 = extractvalue { ptr, i32 } %641, 0
  store ptr %642, ptr %16, align 8
  %643 = extractvalue { ptr, i32 } %641, 1
  store i32 %643, ptr %17, align 4
  br label %810

644:                                              ; preds = %617
  %645 = call noundef i64 @_ZNKSt6vectorIfSaIfEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %4) #4
  %646 = trunc i64 %645 to i32
  %647 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKjSt3mapIjjSt4lessIjESaIS0_IS1_jEEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %44) #4
  %648 = getelementptr inbounds %"struct.std::pair.28", ptr %647, i32 0, i32 1
  %649 = load ptr, ptr %2, align 8, !tbaa !5
  %650 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %649, i32 0, i32 16
  %651 = load i64, ptr %42, align 8, !tbaa !23
  %652 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %650, i64 noundef %651) #4
  %653 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt3mapIjjSt4lessIjESaISt4pairIKjjEEEixERS3_(ptr noundef nonnull align 8 dereferenceable(48) %648, ptr noundef nonnull align 4 dereferenceable(4) %652)
          to label %654 unwind label %640

654:                                              ; preds = %644
  store i32 %646, ptr %653, align 4, !tbaa !27
  br label %655

655:                                              ; preds = %654, %627
  br label %673

656:                                              ; preds = %602
  %657 = call noundef i64 @_ZNKSt6vectorIfSaIfEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %4) #4
  %658 = trunc i64 %657 to i32
  %659 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKjSt3mapIjS2_IjjSt4lessIjESaIS0_IS1_jEEES4_SaIS0_IS1_S7_EEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %43) #4
  %660 = getelementptr inbounds %"struct.std::pair", ptr %659, i32 0, i32 1
  %661 = load ptr, ptr %2, align 8, !tbaa !5
  %662 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %661, i32 0, i32 15
  %663 = load i64, ptr %42, align 8, !tbaa !23
  %664 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %662, i64 noundef %663) #4
  %665 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt3mapIjS_IjjSt4lessIjESaISt4pairIKjjEEES1_SaIS2_IS3_S6_EEEixERS3_(ptr noundef nonnull align 8 dereferenceable(48) %660, ptr noundef nonnull align 4 dereferenceable(4) %664)
          to label %666 unwind label %640

666:                                              ; preds = %656
  %667 = load ptr, ptr %2, align 8, !tbaa !5
  %668 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %667, i32 0, i32 16
  %669 = load i64, ptr %42, align 8, !tbaa !23
  %670 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %668, i64 noundef %669) #4
  %671 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt3mapIjjSt4lessIjESaISt4pairIKjjEEEixERS3_(ptr noundef nonnull align 8 dereferenceable(48) %665, ptr noundef nonnull align 4 dereferenceable(4) %670)
          to label %672 unwind label %640

672:                                              ; preds = %666
  store i32 %658, ptr %671, align 4, !tbaa !27
  br label %673

673:                                              ; preds = %672, %655
  br label %695

674:                                              ; preds = %589
  %675 = call noundef i64 @_ZNKSt6vectorIfSaIfEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %4) #4
  %676 = trunc i64 %675 to i32
  %677 = load ptr, ptr %2, align 8, !tbaa !5
  %678 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %677, i32 0, i32 14
  %679 = load i64, ptr %42, align 8, !tbaa !23
  %680 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %678, i64 noundef %679) #4
  %681 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt3mapIjS_IjS_IjjSt4lessIjESaISt4pairIKjjEEES1_SaIS2_IS3_S6_EEES1_SaIS2_IS3_S9_EEEixERS3_(ptr noundef nonnull align 8 dereferenceable(48) %3, ptr noundef nonnull align 4 dereferenceable(4) %680)
          to label %682 unwind label %640

682:                                              ; preds = %674
  %683 = load ptr, ptr %2, align 8, !tbaa !5
  %684 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %683, i32 0, i32 15
  %685 = load i64, ptr %42, align 8, !tbaa !23
  %686 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %684, i64 noundef %685) #4
  %687 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt3mapIjS_IjjSt4lessIjESaISt4pairIKjjEEES1_SaIS2_IS3_S6_EEEixERS3_(ptr noundef nonnull align 8 dereferenceable(48) %681, ptr noundef nonnull align 4 dereferenceable(4) %686)
          to label %688 unwind label %640

688:                                              ; preds = %682
  %689 = load ptr, ptr %2, align 8, !tbaa !5
  %690 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %689, i32 0, i32 16
  %691 = load i64, ptr %42, align 8, !tbaa !23
  %692 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %690, i64 noundef %691) #4
  %693 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt3mapIjjSt4lessIjESaISt4pairIKjjEEEixERS3_(ptr noundef nonnull align 8 dereferenceable(48) %687, ptr noundef nonnull align 4 dereferenceable(4) %692)
          to label %694 unwind label %640

694:                                              ; preds = %688
  store i32 %676, ptr %693, align 4, !tbaa !27
  br label %695

695:                                              ; preds = %694, %673
  %696 = load i8, ptr %46, align 1, !tbaa !25, !range !20, !noundef !21
  %697 = trunc i8 %696 to i1
  br i1 %697, label %806, label %698

698:                                              ; preds = %695
  call void @llvm.lifetime.start.p0(i64 4, ptr %53) #4
  %699 = call noundef i64 @_ZNKSt6vectorIfSaIfEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %4) #4
  %700 = trunc i64 %699 to i32
  store i32 %700, ptr %53, align 4, !tbaa !27
  invoke void @_ZNSt6vectorIjSaIjEE9push_backEOj(ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef nonnull align 4 dereferenceable(4) %53)
          to label %701 unwind label %773

701:                                              ; preds = %698
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #4
  %702 = load ptr, ptr %2, align 8, !tbaa !5
  %703 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %702, i32 0, i32 0
  %704 = load ptr, ptr %2, align 8, !tbaa !5
  %705 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %704, i32 0, i32 14
  %706 = load i64, ptr %42, align 8, !tbaa !23
  %707 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %705, i64 noundef %706) #4
  %708 = load i32, ptr %707, align 4, !tbaa !27
  %709 = sub i32 %708, 1
  %710 = zext i32 %709 to i64
  %711 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIfSaIfEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %703, i64 noundef %710) #4
  invoke void @_ZNSt6vectorIfSaIfEE9push_backERKf(ptr noundef nonnull align 8 dereferenceable(24) %4, ptr noundef nonnull align 4 dereferenceable(4) %711)
          to label %712 unwind label %640

712:                                              ; preds = %701
  %713 = load ptr, ptr %2, align 8, !tbaa !5
  %714 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %713, i32 0, i32 1
  %715 = load ptr, ptr %2, align 8, !tbaa !5
  %716 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %715, i32 0, i32 14
  %717 = load i64, ptr %42, align 8, !tbaa !23
  %718 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %716, i64 noundef %717) #4
  %719 = load i32, ptr %718, align 4, !tbaa !27
  %720 = sub i32 %719, 1
  %721 = zext i32 %720 to i64
  %722 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIfSaIfEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %714, i64 noundef %721) #4
  invoke void @_ZNSt6vectorIfSaIfEE9push_backERKf(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 4 dereferenceable(4) %722)
          to label %723 unwind label %640

723:                                              ; preds = %712
  %724 = load ptr, ptr %2, align 8, !tbaa !5
  %725 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %724, i32 0, i32 2
  %726 = load ptr, ptr %2, align 8, !tbaa !5
  %727 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %726, i32 0, i32 14
  %728 = load i64, ptr %42, align 8, !tbaa !23
  %729 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %727, i64 noundef %728) #4
  %730 = load i32, ptr %729, align 4, !tbaa !27
  %731 = sub i32 %730, 1
  %732 = zext i32 %731 to i64
  %733 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIfSaIfEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %725, i64 noundef %732) #4
  invoke void @_ZNSt6vectorIfSaIfEE9push_backERKf(ptr noundef nonnull align 8 dereferenceable(24) %6, ptr noundef nonnull align 4 dereferenceable(4) %733)
          to label %734 unwind label %640

734:                                              ; preds = %723
  %735 = load ptr, ptr %2, align 8, !tbaa !5
  %736 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %735, i32 0, i32 17
  %737 = load i8, ptr %736, align 8, !tbaa !22, !range !20, !noundef !21
  %738 = trunc i8 %737 to i1
  br i1 %738, label %739, label %777

739:                                              ; preds = %734
  %740 = load ptr, ptr %2, align 8, !tbaa !5
  %741 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %740, i32 0, i32 3
  %742 = load ptr, ptr %2, align 8, !tbaa !5
  %743 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %742, i32 0, i32 15
  %744 = load i64, ptr %42, align 8, !tbaa !23
  %745 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %743, i64 noundef %744) #4
  %746 = load i32, ptr %745, align 4, !tbaa !27
  %747 = sub i32 %746, 1
  %748 = zext i32 %747 to i64
  %749 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIfSaIfEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %741, i64 noundef %748) #4
  invoke void @_ZNSt6vectorIfSaIfEE9push_backERKf(ptr noundef nonnull align 8 dereferenceable(24) %7, ptr noundef nonnull align 4 dereferenceable(4) %749)
          to label %750 unwind label %640

750:                                              ; preds = %739
  %751 = load ptr, ptr %2, align 8, !tbaa !5
  %752 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %751, i32 0, i32 4
  %753 = load ptr, ptr %2, align 8, !tbaa !5
  %754 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %753, i32 0, i32 15
  %755 = load i64, ptr %42, align 8, !tbaa !23
  %756 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %754, i64 noundef %755) #4
  %757 = load i32, ptr %756, align 4, !tbaa !27
  %758 = sub i32 %757, 1
  %759 = zext i32 %758 to i64
  %760 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIfSaIfEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %752, i64 noundef %759) #4
  invoke void @_ZNSt6vectorIfSaIfEE9push_backERKf(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 4 dereferenceable(4) %760)
          to label %761 unwind label %640

761:                                              ; preds = %750
  %762 = load ptr, ptr %2, align 8, !tbaa !5
  %763 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %762, i32 0, i32 5
  %764 = load ptr, ptr %2, align 8, !tbaa !5
  %765 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %764, i32 0, i32 15
  %766 = load i64, ptr %42, align 8, !tbaa !23
  %767 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %765, i64 noundef %766) #4
  %768 = load i32, ptr %767, align 4, !tbaa !27
  %769 = sub i32 %768, 1
  %770 = zext i32 %769 to i64
  %771 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIfSaIfEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %763, i64 noundef %770) #4
  invoke void @_ZNSt6vectorIfSaIfEE9push_backERKf(ptr noundef nonnull align 8 dereferenceable(24) %9, ptr noundef nonnull align 4 dereferenceable(4) %771)
          to label %772 unwind label %640

772:                                              ; preds = %761
  br label %777

773:                                              ; preds = %698
  %774 = landingpad { ptr, i32 }
          cleanup
  %775 = extractvalue { ptr, i32 } %774, 0
  store ptr %775, ptr %16, align 8
  %776 = extractvalue { ptr, i32 } %774, 1
  store i32 %776, ptr %17, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #4
  br label %810

777:                                              ; preds = %772, %734
  %778 = load ptr, ptr %2, align 8, !tbaa !5
  %779 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %778, i32 0, i32 18
  %780 = load i8, ptr %779, align 1, !tbaa !9, !range !20, !noundef !21
  %781 = trunc i8 %780 to i1
  br i1 %781, label %782, label %805

782:                                              ; preds = %777
  %783 = load ptr, ptr %2, align 8, !tbaa !5
  %784 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %783, i32 0, i32 6
  %785 = load ptr, ptr %2, align 8, !tbaa !5
  %786 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %785, i32 0, i32 16
  %787 = load i64, ptr %42, align 8, !tbaa !23
  %788 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %786, i64 noundef %787) #4
  %789 = load i32, ptr %788, align 4, !tbaa !27
  %790 = sub i32 %789, 1
  %791 = zext i32 %790 to i64
  %792 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIfSaIfEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %784, i64 noundef %791) #4
  invoke void @_ZNSt6vectorIfSaIfEE9push_backERKf(ptr noundef nonnull align 8 dereferenceable(24) %10, ptr noundef nonnull align 4 dereferenceable(4) %792)
          to label %793 unwind label %640

793:                                              ; preds = %782
  %794 = load ptr, ptr %2, align 8, !tbaa !5
  %795 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %794, i32 0, i32 7
  %796 = load ptr, ptr %2, align 8, !tbaa !5
  %797 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %796, i32 0, i32 16
  %798 = load i64, ptr %42, align 8, !tbaa !23
  %799 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %797, i64 noundef %798) #4
  %800 = load i32, ptr %799, align 4, !tbaa !27
  %801 = sub i32 %800, 1
  %802 = zext i32 %801 to i64
  %803 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIfSaIfEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %795, i64 noundef %802) #4
  invoke void @_ZNSt6vectorIfSaIfEE9push_backERKf(ptr noundef nonnull align 8 dereferenceable(24) %11, ptr noundef nonnull align 4 dereferenceable(4) %803)
          to label %804 unwind label %640

804:                                              ; preds = %793
  br label %805

805:                                              ; preds = %804, %777
  br label %806

806:                                              ; preds = %805, %695
  call void @llvm.lifetime.end.p0(i64 1, ptr %46) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %43) #4
  br label %807

807:                                              ; preds = %806
  %808 = load i64, ptr %42, align 8, !tbaa !23
  %809 = add i64 %808, 1
  store i64 %809, ptr %42, align 8, !tbaa !23
  br label %576, !llvm.loop !32

810:                                              ; preds = %773, %640, %636, %632, %628
  call void @llvm.lifetime.end.p0(i64 1, ptr %46) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %43) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %42) #4
  br label %856

811:                                              ; preds = %582
  %812 = load ptr, ptr %2, align 8, !tbaa !5
  %813 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %812, i32 0, i32 0
  %814 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIfSaIfEEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %813, ptr noundef nonnull align 8 dereferenceable(24) %4)
          to label %815 unwind label %107

815:                                              ; preds = %811
  %816 = load ptr, ptr %2, align 8, !tbaa !5
  %817 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %816, i32 0, i32 1
  %818 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIfSaIfEEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %817, ptr noundef nonnull align 8 dereferenceable(24) %5)
          to label %819 unwind label %107

819:                                              ; preds = %815
  %820 = load ptr, ptr %2, align 8, !tbaa !5
  %821 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %820, i32 0, i32 2
  %822 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIfSaIfEEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %821, ptr noundef nonnull align 8 dereferenceable(24) %6)
          to label %823 unwind label %107

823:                                              ; preds = %819
  %824 = load ptr, ptr %2, align 8, !tbaa !5
  %825 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %824, i32 0, i32 3
  %826 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIfSaIfEEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %825, ptr noundef nonnull align 8 dereferenceable(24) %7)
          to label %827 unwind label %107

827:                                              ; preds = %823
  %828 = load ptr, ptr %2, align 8, !tbaa !5
  %829 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %828, i32 0, i32 4
  %830 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIfSaIfEEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %829, ptr noundef nonnull align 8 dereferenceable(24) %8)
          to label %831 unwind label %107

831:                                              ; preds = %827
  %832 = load ptr, ptr %2, align 8, !tbaa !5
  %833 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %832, i32 0, i32 5
  %834 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIfSaIfEEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %833, ptr noundef nonnull align 8 dereferenceable(24) %9)
          to label %835 unwind label %107

835:                                              ; preds = %831
  %836 = load ptr, ptr %2, align 8, !tbaa !5
  %837 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %836, i32 0, i32 6
  %838 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIfSaIfEEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %837, ptr noundef nonnull align 8 dereferenceable(24) %10)
          to label %839 unwind label %107

839:                                              ; preds = %835
  %840 = load ptr, ptr %2, align 8, !tbaa !5
  %841 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %840, i32 0, i32 7
  %842 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIfSaIfEEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %841, ptr noundef nonnull align 8 dereferenceable(24) %11)
          to label %843 unwind label %107

843:                                              ; preds = %839
  %844 = load ptr, ptr %2, align 8, !tbaa !5
  %845 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %844, i32 0, i32 8
  %846 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIjSaIjEEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %845, ptr noundef nonnull align 8 dereferenceable(24) %12)
          to label %847 unwind label %107

847:                                              ; preds = %843
  %848 = load ptr, ptr %2, align 8, !tbaa !5
  %849 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %848, i32 0, i32 11
  %850 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIjSaIjEEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %849, ptr noundef nonnull align 8 dereferenceable(24) %13)
          to label %851 unwind label %107

851:                                              ; preds = %847
  %852 = load ptr, ptr %2, align 8, !tbaa !5
  %853 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %852, i32 0, i32 14
  %854 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIjSaIjEEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %853, ptr noundef nonnull align 8 dereferenceable(24) %14)
          to label %855 unwind label %107

855:                                              ; preds = %851
  call void @llvm.lifetime.end.p0(i64 8, ptr %15) #4
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %14) #4
  call void @llvm.lifetime.end.p0(i64 24, ptr %14) #4
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #4
  call void @llvm.lifetime.end.p0(i64 24, ptr %13) #4
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %12) #4
  call void @llvm.lifetime.end.p0(i64 24, ptr %12) #4
  call void @_ZNSt6vectorIfSaIfEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #4
  call void @llvm.lifetime.end.p0(i64 24, ptr %11) #4
  call void @_ZNSt6vectorIfSaIfEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #4
  call void @llvm.lifetime.end.p0(i64 24, ptr %10) #4
  call void @_ZNSt6vectorIfSaIfEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #4
  call void @llvm.lifetime.end.p0(i64 24, ptr %9) #4
  call void @_ZNSt6vectorIfSaIfEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %8) #4
  call void @llvm.lifetime.end.p0(i64 24, ptr %8) #4
  call void @_ZNSt6vectorIfSaIfEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %7) #4
  call void @llvm.lifetime.end.p0(i64 24, ptr %7) #4
  call void @_ZNSt6vectorIfSaIfEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #4
  call void @llvm.lifetime.end.p0(i64 24, ptr %6) #4
  call void @_ZNSt6vectorIfSaIfEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %5) #4
  call void @llvm.lifetime.end.p0(i64 24, ptr %5) #4
  call void @_ZNSt6vectorIfSaIfEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %4) #4
  call void @llvm.lifetime.end.p0(i64 24, ptr %4) #4
  call void @_ZNSt3mapIjS_IjS_IjjSt4lessIjESaISt4pairIKjjEEES1_SaIS2_IS3_S6_EEES1_SaIS2_IS3_S9_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %3) #4
  call void @llvm.lifetime.end.p0(i64 48, ptr %3) #4
  br label %892

856:                                              ; preds = %810, %574, %338, %107
  call void @llvm.lifetime.end.p0(i64 8, ptr %15) #4
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %14) #4
  call void @llvm.lifetime.end.p0(i64 24, ptr %14) #4
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #4
  call void @llvm.lifetime.end.p0(i64 24, ptr %13) #4
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %12) #4
  call void @llvm.lifetime.end.p0(i64 24, ptr %12) #4
  call void @_ZNSt6vectorIfSaIfEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #4
  call void @llvm.lifetime.end.p0(i64 24, ptr %11) #4
  call void @_ZNSt6vectorIfSaIfEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #4
  call void @llvm.lifetime.end.p0(i64 24, ptr %10) #4
  call void @_ZNSt6vectorIfSaIfEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #4
  call void @llvm.lifetime.end.p0(i64 24, ptr %9) #4
  call void @_ZNSt6vectorIfSaIfEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %8) #4
  call void @llvm.lifetime.end.p0(i64 24, ptr %8) #4
  call void @_ZNSt6vectorIfSaIfEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %7) #4
  call void @llvm.lifetime.end.p0(i64 24, ptr %7) #4
  call void @_ZNSt6vectorIfSaIfEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #4
  call void @llvm.lifetime.end.p0(i64 24, ptr %6) #4
  call void @_ZNSt6vectorIfSaIfEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %5) #4
  call void @llvm.lifetime.end.p0(i64 24, ptr %5) #4
  call void @_ZNSt6vectorIfSaIfEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %4) #4
  call void @llvm.lifetime.end.p0(i64 24, ptr %4) #4
  call void @_ZNSt3mapIjS_IjS_IjjSt4lessIjESaISt4pairIKjjEEES1_SaIS2_IS3_S6_EEES1_SaIS2_IS3_S9_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %3) #4
  call void @llvm.lifetime.end.p0(i64 48, ptr %3) #4
  br label %905

857:                                              ; preds = %59
  call void @llvm.lifetime.start.p0(i64 4, ptr %54) #4
  store i32 0, ptr %54, align 4, !tbaa !27
  br label %858

858:                                              ; preds = %888, %857
  %859 = load i32, ptr %54, align 4, !tbaa !27
  %860 = zext i32 %859 to i64
  %861 = load ptr, ptr %2, align 8, !tbaa !5
  %862 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %861, i32 0, i32 8
  %863 = call noundef i64 @_ZNKSt6vectorIjSaIjEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %862) #4
  %864 = icmp ult i64 %860, %863
  br i1 %864, label %866, label %865

865:                                              ; preds = %858
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #4
  br label %891

866:                                              ; preds = %858
  %867 = load ptr, ptr %2, align 8, !tbaa !5
  %868 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %867, i32 0, i32 8
  %869 = load i32, ptr %54, align 4, !tbaa !27
  %870 = zext i32 %869 to i64
  %871 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %868, i64 noundef %870) #4
  %872 = load i32, ptr %871, align 4, !tbaa !27
  %873 = add i32 %872, -1
  store i32 %873, ptr %871, align 4, !tbaa !27
  %874 = load ptr, ptr %2, align 8, !tbaa !5
  %875 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %874, i32 0, i32 11
  %876 = load i32, ptr %54, align 4, !tbaa !27
  %877 = zext i32 %876 to i64
  %878 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %875, i64 noundef %877) #4
  %879 = load i32, ptr %878, align 4, !tbaa !27
  %880 = add i32 %879, -1
  store i32 %880, ptr %878, align 4, !tbaa !27
  %881 = load ptr, ptr %2, align 8, !tbaa !5
  %882 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %881, i32 0, i32 14
  %883 = load i32, ptr %54, align 4, !tbaa !27
  %884 = zext i32 %883 to i64
  %885 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %882, i64 noundef %884) #4
  %886 = load i32, ptr %885, align 4, !tbaa !27
  %887 = add i32 %886, -1
  store i32 %887, ptr %885, align 4, !tbaa !27
  br label %888

888:                                              ; preds = %866
  %889 = load i32, ptr %54, align 4, !tbaa !27
  %890 = add i32 %889, 1
  store i32 %890, ptr %54, align 4, !tbaa !27
  br label %858, !llvm.loop !33

891:                                              ; preds = %865
  br label %892

892:                                              ; preds = %891, %855
  %893 = load ptr, ptr %2, align 8, !tbaa !5
  %894 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %893, i32 0, i32 9
  call void @_ZNSt6vectorIjSaIjEE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %894) #4
  %895 = load ptr, ptr %2, align 8, !tbaa !5
  %896 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %895, i32 0, i32 12
  call void @_ZNSt6vectorIjSaIjEE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %896) #4
  %897 = load ptr, ptr %2, align 8, !tbaa !5
  %898 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %897, i32 0, i32 15
  call void @_ZNSt6vectorIjSaIjEE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %898) #4
  %899 = load ptr, ptr %2, align 8, !tbaa !5
  %900 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %899, i32 0, i32 10
  call void @_ZNSt6vectorIjSaIjEE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %900) #4
  %901 = load ptr, ptr %2, align 8, !tbaa !5
  %902 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %901, i32 0, i32 13
  call void @_ZNSt6vectorIjSaIjEE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %902) #4
  %903 = load ptr, ptr %2, align 8, !tbaa !5
  %904 = getelementptr inbounds %"struct.Glip::Modules::OBJLoader::UnshapedData", ptr %903, i32 0, i32 16
  call void @_ZNSt6vectorIjSaIjEE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %904) #4
  ret void

905:                                              ; preds = %856
  %906 = load ptr, ptr %16, align 8
  %907 = load i32, ptr %17, align 4
  %908 = insertvalue { ptr, i32 } poison, ptr %906, 0
  %909 = insertvalue { ptr, i32 } %908, i32 %907, 1
  resume { ptr, i32 } %909
}

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local ptr @_ZNSt3mapIjS_IjS_IjjSt4lessIjESaISt4pairIKjjEEES1_SaIS2_IS3_S6_EEES1_SaIS2_IS3_S9_EEE4findERS3_(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 4 dereferenceable(4)) #1 align 2

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #3

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local ptr @_ZNSt3mapIjS_IjjSt4lessIjESaISt4pairIKjjEEES1_SaIS2_IS3_S6_EEE4findERS3_(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 4 dereferenceable(4)) #1 align 2

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local ptr @_ZNSt3mapIjjSt4lessIjESaISt4pairIKjjEEE4findERS3_(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 4 dereferenceable(4)) #1 align 2

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt3mapIjjSt4lessIjESaISt4pairIKjjEEEixERS3_(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 4 dereferenceable(4)) #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt3mapIjS_IjjSt4lessIjESaISt4pairIKjjEEES1_SaIS2_IS3_S6_EEEixERS3_(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 4 dereferenceable(4)) #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt3mapIjS_IjS_IjjSt4lessIjESaISt4pairIKjjEEES1_SaIS2_IS3_S6_EEES1_SaIS2_IS3_S9_EEEixERS3_(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 4 dereferenceable(4)) #1 align 2

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIjSaIjEEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) #1 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 nounwind uwtable
declare dso_local void @_ZNSt6vectorIfSaIfEED2Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #2 align 2

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

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !19, i64 409}
!10 = !{!"_ZTSN4Glip7Modules9OBJLoader12UnshapedDataE", !11, i64 0, !11, i64 24, !11, i64 48, !11, i64 72, !11, i64 96, !11, i64 120, !11, i64 144, !11, i64 168, !15, i64 192, !15, i64 216, !15, i64 240, !15, i64 264, !15, i64 288, !15, i64 312, !15, i64 336, !15, i64 360, !15, i64 384, !19, i64 408, !19, i64 409}
!11 = !{!"_ZTSSt6vectorIfSaIfEE", !12, i64 0}
!12 = !{!"_ZTSSt12_Vector_baseIfSaIfEE", !13, i64 0}
!13 = !{!"_ZTSNSt12_Vector_baseIfSaIfEE12_Vector_implE", !14, i64 0}
!14 = !{!"_ZTSNSt12_Vector_baseIfSaIfEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!15 = !{!"_ZTSSt6vectorIjSaIjEE", !16, i64 0}
!16 = !{!"_ZTSSt12_Vector_baseIjSaIjEE", !17, i64 0}
!17 = !{!"_ZTSNSt12_Vector_baseIjSaIjEE12_Vector_implE", !18, i64 0}
!18 = !{!"_ZTSNSt12_Vector_baseIjSaIjEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!19 = !{!"bool", !7, i64 0}
!20 = !{i8 0, i8 2}
!21 = !{}
!22 = !{!10, !19, i64 408}
!23 = !{!24, !24, i64 0}
!24 = !{!"long", !7, i64 0}
!25 = !{!19, !19, i64 0}
!26 = !{i64 0, i64 8, !5}
!27 = !{!28, !28, i64 0}
!28 = !{!"int", !7, i64 0}
!29 = distinct !{!29, !30}
!30 = !{!"llvm.loop.mustprogress"}
!31 = distinct !{!31, !30}
!32 = distinct !{!32, !30}
!33 = distinct !{!33, !30}


; 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::map" = type { %"class.std::_Rb_tree" }
%"class.std::_Rb_tree" = type { %"struct.std::_Rb_tree<unsigned int, std::pair<const unsigned int, std::map<unsigned int, std::map<unsigned int, unsigned int>>>, std::_Select1st<std::pair<const unsigned int, std::map<unsigned int, std::map<unsigned int, unsigned int>>>>, std::less<unsigned int>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<unsigned int, std::pair<const unsigned int, std::map<unsigned int, std::map<unsigned int, unsigned int>>>, std::_Select1st<std::pair<const unsigned int, std::map<unsigned int, std::map<unsigned int, unsigned int>>>>, std::less<unsigned int>>::_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::vector.13" = type { %"struct.std::_Vector_base.14" }
%"struct.std::_Vector_base.14" = type { %"struct.std::_Vector_base<float, std::allocator<float>>::_Vector_impl" }
%"struct.std::_Vector_base<float, std::allocator<float>>::_Vector_impl" = type { %"struct.std::_Vector_base<float, std::allocator<float>>::_Vector_impl_data" }
%"struct.std::_Vector_base<float, std::allocator<float>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::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 }
%"struct.std::_Rb_tree_iterator" = type { ptr }
%"struct.std::_Rb_tree_iterator.21" = type { ptr }
%"struct.std::_Rb_tree_iterator.22" = type { ptr }

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

declare i32 @__gxx_personality_v0(...)

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN4Glip7Modules9OBJLoader11reorderDataERNS1_12UnshapedDataE(ptr noundef nonnull align 8 dereferenceable(410) %0) local_unnamed_addr #1 align 2 personality ptr @__gxx_personality_v0 {
  %2 = alloca %"class.std::map", align 8
  %3 = alloca %"class.std::vector.13", align 8
  %4 = alloca %"class.std::vector.13", align 8
  %5 = alloca %"class.std::vector.13", align 8
  %6 = alloca %"class.std::vector.13", align 8
  %7 = alloca %"class.std::vector.13", align 8
  %8 = alloca %"class.std::vector.13", align 8
  %9 = alloca %"class.std::vector.13", align 8
  %10 = alloca %"class.std::vector.13", align 8
  %11 = alloca %"class.std::vector.8", align 8
  %12 = alloca %"class.std::vector.8", align 8
  %13 = alloca %"class.std::vector.8", align 8
  %14 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %15 = alloca %"struct.std::_Rb_tree_iterator.21", align 8
  %16 = alloca %"struct.std::_Rb_tree_iterator.22", align 8
  %17 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %18 = alloca %"struct.std::_Rb_tree_iterator.21", align 8
  %19 = alloca %"struct.std::_Rb_tree_iterator.22", align 8
  %20 = alloca i32, align 4
  %21 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %22 = alloca %"struct.std::_Rb_tree_iterator.21", align 8
  %23 = alloca %"struct.std::_Rb_tree_iterator.22", align 8
  %24 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %25 = alloca %"struct.std::_Rb_tree_iterator.21", align 8
  %26 = alloca %"struct.std::_Rb_tree_iterator.22", align 8
  %27 = alloca i32, align 4
  %28 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %29 = alloca %"struct.std::_Rb_tree_iterator.21", align 8
  %30 = alloca %"struct.std::_Rb_tree_iterator.22", align 8
  %31 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %32 = alloca %"struct.std::_Rb_tree_iterator.21", align 8
  %33 = alloca %"struct.std::_Rb_tree_iterator.22", align 8
  %34 = alloca i32, align 4
  %35 = getelementptr inbounds i8, ptr %0, i64 409
  %36 = load i8, ptr %35, align 1, !tbaa !5, !range !19, !noundef !20
  %37 = trunc nuw i8 %36 to i1
  br i1 %37, label %46, label %38

38:                                               ; preds = %1
  %39 = getelementptr inbounds i8, ptr %0, i64 408
  %40 = load i8, ptr %39, align 8, !tbaa !21, !range !19, !noundef !20
  %41 = trunc nuw i8 %40 to i1
  br i1 %41, label %46, label %.preheader218

.preheader218:                                    ; preds = %38
  %42 = getelementptr inbounds i8, ptr %0, i64 192
  %43 = tail call noundef i64 @_ZNKSt6vectorIjSaIjEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %42) #3
  %.not = icmp eq i64 %43, 0
  br i1 %.not, label %.loopexit, label %.lr.ph

.lr.ph:                                           ; preds = %.preheader218
  %44 = getelementptr inbounds i8, ptr %0, i64 264
  %45 = getelementptr inbounds i8, ptr %0, i64 336
  br label %524

46:                                               ; preds = %38, %1
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %2) #3
  call void @_ZNSt3mapIjS_IjS_IjjSt4lessIjESaISt4pairIKjjEEES1_SaIS2_IS3_S6_EEES1_SaIS2_IS3_S9_EEEC2Ev(ptr noundef nonnull align 8 dereferenceable(48) %2) #3
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %3) #3
  call void @_ZNSt6vectorIfSaIfEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %3) #3
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4) #3
  call void @_ZNSt6vectorIfSaIfEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %4) #3
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %5) #3
  call void @_ZNSt6vectorIfSaIfEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %5) #3
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %6) #3
  call void @_ZNSt6vectorIfSaIfEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #3
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %7) #3
  call void @_ZNSt6vectorIfSaIfEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %7) #3
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %8) #3
  call void @_ZNSt6vectorIfSaIfEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %8) #3
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %9) #3
  call void @_ZNSt6vectorIfSaIfEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #3
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %10) #3
  call void @_ZNSt6vectorIfSaIfEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #3
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %11) #3
  call void @_ZNSt6vectorIjSaIjEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #3
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %12) #3
  call void @_ZNSt6vectorIjSaIjEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %12) #3
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %13) #3
  call void @_ZNSt6vectorIjSaIjEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #3
  %47 = call noundef i64 @_ZNKSt6vectorIfSaIfEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %0) #3
  %48 = getelementptr inbounds i8, ptr %0, i64 192
  %49 = call noundef i64 @_ZNKSt6vectorIjSaIjEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %48) #3
  %50 = add i64 %49, %47
  invoke void @_ZNSt6vectorIfSaIfEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef %50)
          to label %51 unwind label %87

51:                                               ; preds = %46
  invoke void @_ZNSt6vectorIfSaIfEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %4, i64 noundef %50)
          to label %52 unwind label %87

52:                                               ; preds = %51
  invoke void @_ZNSt6vectorIfSaIfEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef %50)
          to label %53 unwind label %87

53:                                               ; preds = %52
  invoke void @_ZNSt6vectorIfSaIfEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %50)
          to label %54 unwind label %87

54:                                               ; preds = %53
  invoke void @_ZNSt6vectorIfSaIfEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %7, i64 noundef %50)
          to label %55 unwind label %87

55:                                               ; preds = %54
  invoke void @_ZNSt6vectorIfSaIfEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %50)
          to label %56 unwind label %87

56:                                               ; preds = %55
  invoke void @_ZNSt6vectorIfSaIfEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %9, i64 noundef %50)
          to label %57 unwind label %87

57:                                               ; preds = %56
  invoke void @_ZNSt6vectorIfSaIfEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef %50)
          to label %58 unwind label %87

58:                                               ; preds = %57
  %59 = call noundef i64 @_ZNKSt6vectorIjSaIjEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %48) #3
  invoke void @_ZNSt6vectorIjSaIjEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %59)
          to label %60 unwind label %87

60:                                               ; preds = %58
  %61 = call noundef i64 @_ZNKSt6vectorIjSaIjEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %48) #3
  invoke void @_ZNSt6vectorIjSaIjEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %61)
          to label %62 unwind label %87

62:                                               ; preds = %60
  %63 = call noundef i64 @_ZNKSt6vectorIjSaIjEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %48) #3
  invoke void @_ZNSt6vectorIjSaIjEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %13, i64 noundef %63)
          to label %.preheader217 unwind label %87

.preheader217:                                    ; preds = %62
  %64 = call noundef i64 @_ZNKSt6vectorIjSaIjEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %48) #3
  %.not241 = icmp eq i64 %64, 0
  br i1 %.not241, label %.preheader216, label %.lr.ph233

.lr.ph233:                                        ; preds = %.preheader217
  %65 = getelementptr inbounds i8, ptr %0, i64 216
  %66 = getelementptr inbounds i8, ptr %0, i64 240
  %67 = getelementptr inbounds i8, ptr %0, i64 24
  %68 = getelementptr inbounds i8, ptr %0, i64 48
  %69 = getelementptr inbounds i8, ptr %0, i64 408
  %70 = getelementptr inbounds i8, ptr %0, i64 72
  %71 = getelementptr inbounds i8, ptr %0, i64 96
  %72 = getelementptr inbounds i8, ptr %0, i64 120
  %73 = getelementptr inbounds i8, ptr %0, i64 144
  %74 = getelementptr inbounds i8, ptr %0, i64 168
  br label %89

.preheader216:                                    ; preds = %.critedge, %.preheader217
  %75 = getelementptr inbounds i8, ptr %0, i64 264
  %76 = call noundef i64 @_ZNKSt6vectorIjSaIjEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %75) #3
  %.not242 = icmp eq i64 %76, 0
  br i1 %.not242, label %.preheader, label %.lr.ph236

.lr.ph236:                                        ; preds = %.preheader216
  %77 = getelementptr inbounds i8, ptr %0, i64 288
  %78 = getelementptr inbounds i8, ptr %0, i64 312
  %79 = getelementptr inbounds i8, ptr %0, i64 24
  %80 = getelementptr inbounds i8, ptr %0, i64 48
  %81 = getelementptr inbounds i8, ptr %0, i64 408
  %82 = getelementptr inbounds i8, ptr %0, i64 72
  %83 = getelementptr inbounds i8, ptr %0, i64 96
  %84 = getelementptr inbounds i8, ptr %0, i64 120
  %85 = getelementptr inbounds i8, ptr %0, i64 144
  %86 = getelementptr inbounds i8, ptr %0, i64 168
  br label %232

87:                                               ; preds = %520, %518, %516, %513, %510, %507, %504, %501, %498, %495, %._crit_edge, %62, %60, %58, %57, %56, %55, %54, %53, %52, %51, %46
  %88 = landingpad { ptr, i32 }
          cleanup
  br label %523

89:                                               ; preds = %.lr.ph233, %.critedge
  %.0199231 = phi i64 [ 0, %.lr.ph233 ], [ %216, %.critedge ]
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %14) #3
  call void @_ZNSt17_Rb_tree_iteratorISt4pairIKjSt3mapIjS2_IjjSt4lessIjESaIS0_IS1_jEEES4_SaIS0_IS1_S7_EEEEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %14) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %15) #3
  call void @_ZNSt17_Rb_tree_iteratorISt4pairIKjSt3mapIjjSt4lessIjESaIS0_IS1_jEEEEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %15) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %16) #3
  call void @_ZNSt17_Rb_tree_iteratorISt4pairIKjjEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %16) #3
  %90 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %48, i64 noundef %.0199231) #3
  %91 = invoke ptr @_ZNSt3mapIjS_IjS_IjjSt4lessIjESaISt4pairIKjjEEES1_SaIS2_IS3_S6_EEES1_SaIS2_IS3_S9_EEE4findERS3_(ptr noundef nonnull align 8 dereferenceable(48) %2, ptr noundef nonnull align 4 dereferenceable(4) %90)
          to label %92 unwind label %118

92:                                               ; preds = %89
  store ptr %91, ptr %14, align 8, !tbaa !22
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %17) #3
  %93 = call ptr @_ZNSt3mapIjS_IjS_IjjSt4lessIjESaISt4pairIKjjEEES1_SaIS2_IS3_S6_EEES1_SaIS2_IS3_S9_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %2) #3
  store ptr %93, ptr %17, align 8
  %94 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKjSt3mapIjS2_IjjSt4lessIjESaIS0_IS1_jEEES4_SaIS0_IS1_S7_EEEEESE_(ptr noundef nonnull align 8 dereferenceable(8) %14, ptr noundef nonnull align 8 dereferenceable(8) %17) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #3
  br i1 %94, label %95, label %145

95:                                               ; preds = %92
  %96 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKjSt3mapIjS2_IjjSt4lessIjESaIS0_IS1_jEEES4_SaIS0_IS1_S7_EEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %14) #3
  %97 = getelementptr inbounds i8, ptr %96, i64 8
  %98 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %65, i64 noundef %.0199231) #3
  %99 = invoke ptr @_ZNSt3mapIjS_IjjSt4lessIjESaISt4pairIKjjEEES1_SaIS2_IS3_S6_EEE4findERS3_(ptr noundef nonnull align 8 dereferenceable(48) %97, ptr noundef nonnull align 4 dereferenceable(4) %98)
          to label %100 unwind label %120

100:                                              ; preds = %95
  store ptr %99, ptr %15, align 8, !tbaa !22
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %18) #3
  %101 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKjSt3mapIjS2_IjjSt4lessIjESaIS0_IS1_jEEES4_SaIS0_IS1_S7_EEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %14) #3
  %102 = getelementptr inbounds i8, ptr %101, i64 8
  %103 = call ptr @_ZNSt3mapIjS_IjjSt4lessIjESaISt4pairIKjjEEES1_SaIS2_IS3_S6_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %102) #3
  store ptr %103, ptr %18, align 8
  %104 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKjSt3mapIjjSt4lessIjESaIS0_IS1_jEEEEESB_(ptr noundef nonnull align 8 dereferenceable(8) %15, ptr noundef nonnull align 8 dereferenceable(8) %18) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #3
  br i1 %104, label %105, label %134

105:                                              ; preds = %100
  %106 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKjSt3mapIjjSt4lessIjESaIS0_IS1_jEEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %15) #3
  %107 = getelementptr inbounds i8, ptr %106, i64 8
  %108 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %66, i64 noundef %.0199231) #3
  %109 = invoke ptr @_ZNSt3mapIjjSt4lessIjESaISt4pairIKjjEEE4findERS3_(ptr noundef nonnull align 8 dereferenceable(48) %107, ptr noundef nonnull align 4 dereferenceable(4) %108)
          to label %110 unwind label %122

110:                                              ; preds = %105
  store ptr %109, ptr %16, align 8, !tbaa !22
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %19) #3
  %111 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKjSt3mapIjjSt4lessIjESaIS0_IS1_jEEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %15) #3
  %112 = getelementptr inbounds i8, ptr %111, i64 8
  %113 = call ptr @_ZNSt3mapIjjSt4lessIjESaISt4pairIKjjEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %112) #3
  store ptr %113, ptr %19, align 8
  %114 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKjjEES5_(ptr noundef nonnull align 8 dereferenceable(8) %16, ptr noundef nonnull align 8 dereferenceable(8) %19) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %19) #3
  br i1 %114, label %115, label %126

115:                                              ; preds = %110
  %116 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKjjEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %16) #3
  %117 = getelementptr inbounds i8, ptr %116, i64 4
  invoke void @_ZNSt6vectorIjSaIjEE9push_backERKj(ptr noundef nonnull align 8 dereferenceable(24) %11, ptr noundef nonnull align 4 dereferenceable(4) %117)
          to label %.critedge unwind label %124

118:                                              ; preds = %89
  %119 = landingpad { ptr, i32 }
          cleanup
  br label %219

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

122:                                              ; preds = %105
  %123 = landingpad { ptr, i32 }
          cleanup
  br label %219

124:                                              ; preds = %210, %204, %193, %187, %181, %172, %166, %160, %153, %150, %145, %141, %134, %126, %115
  %125 = landingpad { ptr, i32 }
          cleanup
  br label %219

126:                                              ; preds = %110
  %127 = call noundef i64 @_ZNKSt6vectorIfSaIfEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #3
  %128 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKjSt3mapIjjSt4lessIjESaIS0_IS1_jEEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %15) #3
  %129 = getelementptr inbounds i8, ptr %128, i64 8
  %130 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %66, i64 noundef %.0199231) #3
  %131 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt3mapIjjSt4lessIjESaISt4pairIKjjEEEixERS3_(ptr noundef nonnull align 8 dereferenceable(48) %129, ptr noundef nonnull align 4 dereferenceable(4) %130)
          to label %132 unwind label %124

132:                                              ; preds = %126
  %133 = trunc i64 %127 to i32
  store i32 %133, ptr %131, align 4, !tbaa !23
  br label %157

134:                                              ; preds = %100
  %135 = call noundef i64 @_ZNKSt6vectorIfSaIfEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #3
  %136 = trunc i64 %135 to i32
  %137 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKjSt3mapIjS2_IjjSt4lessIjESaIS0_IS1_jEEES4_SaIS0_IS1_S7_EEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %14) #3
  %138 = getelementptr inbounds i8, ptr %137, i64 8
  %139 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %65, i64 noundef %.0199231) #3
  %140 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt3mapIjS_IjjSt4lessIjESaISt4pairIKjjEEES1_SaIS2_IS3_S6_EEEixERS3_(ptr noundef nonnull align 8 dereferenceable(48) %138, ptr noundef nonnull align 4 dereferenceable(4) %139)
          to label %141 unwind label %124

141:                                              ; preds = %134
  %142 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %66, i64 noundef %.0199231) #3
  %143 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt3mapIjjSt4lessIjESaISt4pairIKjjEEEixERS3_(ptr noundef nonnull align 8 dereferenceable(48) %140, ptr noundef nonnull align 4 dereferenceable(4) %142)
          to label %144 unwind label %124

144:                                              ; preds = %141
  store i32 %136, ptr %143, align 4, !tbaa !23
  br label %157

145:                                              ; preds = %92
  %146 = call noundef i64 @_ZNKSt6vectorIfSaIfEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #3
  %147 = trunc i64 %146 to i32
  %148 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %48, i64 noundef %.0199231) #3
  %149 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt3mapIjS_IjS_IjjSt4lessIjESaISt4pairIKjjEEES1_SaIS2_IS3_S6_EEES1_SaIS2_IS3_S9_EEEixERS3_(ptr noundef nonnull align 8 dereferenceable(48) %2, ptr noundef nonnull align 4 dereferenceable(4) %148)
          to label %150 unwind label %124

150:                                              ; preds = %145
  %151 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %65, i64 noundef %.0199231) #3
  %152 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt3mapIjS_IjjSt4lessIjESaISt4pairIKjjEEES1_SaIS2_IS3_S6_EEEixERS3_(ptr noundef nonnull align 8 dereferenceable(48) %149, ptr noundef nonnull align 4 dereferenceable(4) %151)
          to label %153 unwind label %124

153:                                              ; preds = %150
  %154 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %66, i64 noundef %.0199231) #3
  %155 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt3mapIjjSt4lessIjESaISt4pairIKjjEEEixERS3_(ptr noundef nonnull align 8 dereferenceable(48) %152, ptr noundef nonnull align 4 dereferenceable(4) %154)
          to label %156 unwind label %124

156:                                              ; preds = %153
  store i32 %147, ptr %155, align 4, !tbaa !23
  br label %157

157:                                              ; preds = %156, %132, %144
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %20) #3
  %158 = call noundef i64 @_ZNKSt6vectorIfSaIfEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #3
  %159 = trunc i64 %158 to i32
  store i32 %159, ptr %20, align 4, !tbaa !23
  invoke void @_ZNSt6vectorIjSaIjEE9push_backEOj(ptr noundef nonnull align 8 dereferenceable(24) %11, ptr noundef nonnull align 4 dereferenceable(4) %20)
          to label %160 unwind label %199

160:                                              ; preds = %157
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %20) #3
  %161 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %48, i64 noundef %.0199231) #3
  %162 = load i32, ptr %161, align 4, !tbaa !23
  %163 = add i32 %162, -1
  %164 = zext i32 %163 to i64
  %165 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIfSaIfEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %0, i64 noundef %164) #3
  invoke void @_ZNSt6vectorIfSaIfEE9push_backERKf(ptr noundef nonnull align 8 dereferenceable(24) %3, ptr noundef nonnull align 4 dereferenceable(4) %165)
          to label %166 unwind label %124

166:                                              ; preds = %160
  %167 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %48, i64 noundef %.0199231) #3
  %168 = load i32, ptr %167, align 4, !tbaa !23
  %169 = add i32 %168, -1
  %170 = zext i32 %169 to i64
  %171 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIfSaIfEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %67, i64 noundef %170) #3
  invoke void @_ZNSt6vectorIfSaIfEE9push_backERKf(ptr noundef nonnull align 8 dereferenceable(24) %4, ptr noundef nonnull align 4 dereferenceable(4) %171)
          to label %172 unwind label %124

172:                                              ; preds = %166
  %173 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %48, i64 noundef %.0199231) #3
  %174 = load i32, ptr %173, align 4, !tbaa !23
  %175 = add i32 %174, -1
  %176 = zext i32 %175 to i64
  %177 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIfSaIfEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %68, i64 noundef %176) #3
  invoke void @_ZNSt6vectorIfSaIfEE9push_backERKf(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 4 dereferenceable(4) %177)
          to label %178 unwind label %124

178:                                              ; preds = %172
  %179 = load i8, ptr %69, align 8, !tbaa !21, !range !19, !noundef !20
  %180 = trunc nuw i8 %179 to i1
  br i1 %180, label %181, label %201

181:                                              ; preds = %178
  %182 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %65, i64 noundef %.0199231) #3
  %183 = load i32, ptr %182, align 4, !tbaa !23
  %184 = add i32 %183, -1
  %185 = zext i32 %184 to i64
  %186 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIfSaIfEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %70, i64 noundef %185) #3
  invoke void @_ZNSt6vectorIfSaIfEE9push_backERKf(ptr noundef nonnull align 8 dereferenceable(24) %6, ptr noundef nonnull align 4 dereferenceable(4) %186)
          to label %187 unwind label %124

187:                                              ; preds = %181
  %188 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %65, i64 noundef %.0199231) #3
  %189 = load i32, ptr %188, align 4, !tbaa !23
  %190 = add i32 %189, -1
  %191 = zext i32 %190 to i64
  %192 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIfSaIfEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %71, i64 noundef %191) #3
  invoke void @_ZNSt6vectorIfSaIfEE9push_backERKf(ptr noundef nonnull align 8 dereferenceable(24) %7, ptr noundef nonnull align 4 dereferenceable(4) %192)
          to label %193 unwind label %124

193:                                              ; preds = %187
  %194 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %65, i64 noundef %.0199231) #3
  %195 = load i32, ptr %194, align 4, !tbaa !23
  %196 = add i32 %195, -1
  %197 = zext i32 %196 to i64
  %198 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIfSaIfEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %72, i64 noundef %197) #3
  invoke void @_ZNSt6vectorIfSaIfEE9push_backERKf(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 4 dereferenceable(4) %198)
          to label %201 unwind label %124

199:                                              ; preds = %157
  %200 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %20) #3
  br label %219

201:                                              ; preds = %193, %178
  %202 = load i8, ptr %35, align 1, !tbaa !5, !range !19, !noundef !20
  %203 = trunc nuw i8 %202 to i1
  br i1 %203, label %204, label %.critedge

204:                                              ; preds = %201
  %205 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %66, i64 noundef %.0199231) #3
  %206 = load i32, ptr %205, align 4, !tbaa !23
  %207 = add i32 %206, -1
  %208 = zext i32 %207 to i64
  %209 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIfSaIfEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %73, i64 noundef %208) #3
  invoke void @_ZNSt6vectorIfSaIfEE9push_backERKf(ptr noundef nonnull align 8 dereferenceable(24) %9, ptr noundef nonnull align 4 dereferenceable(4) %209)
          to label %210 unwind label %124

210:                                              ; preds = %204
  %211 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %66, i64 noundef %.0199231) #3
  %212 = load i32, ptr %211, align 4, !tbaa !23
  %213 = add i32 %212, -1
  %214 = zext i32 %213 to i64
  %215 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIfSaIfEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %74, i64 noundef %214) #3
  invoke void @_ZNSt6vectorIfSaIfEE9push_backERKf(ptr noundef nonnull align 8 dereferenceable(24) %10, ptr noundef nonnull align 4 dereferenceable(4) %215)
          to label %.critedge unwind label %124

.critedge:                                        ; preds = %115, %201, %210
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #3
  %216 = add nuw i64 %.0199231, 1
  %217 = call noundef i64 @_ZNKSt6vectorIjSaIjEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %48) #3
  %218 = icmp ult i64 %216, %217
  br i1 %218, label %89, label %.preheader216, !llvm.loop !25

219:                                              ; preds = %199, %124, %122, %120, %118
  %.pn209 = phi { ptr, i32 } [ %125, %124 ], [ %200, %199 ], [ %123, %122 ], [ %121, %120 ], [ %119, %118 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #3
  br label %523

.preheader:                                       ; preds = %.critedge213, %.preheader216
  %220 = getelementptr inbounds i8, ptr %0, i64 336
  %221 = call noundef i64 @_ZNKSt6vectorIjSaIjEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %220) #3
  %.not243 = icmp eq i64 %221, 0
  br i1 %.not243, label %._crit_edge, label %.lr.ph239

.lr.ph239:                                        ; preds = %.preheader
  %222 = getelementptr inbounds i8, ptr %0, i64 360
  %223 = getelementptr inbounds i8, ptr %0, i64 384
  %224 = getelementptr inbounds i8, ptr %0, i64 24
  %225 = getelementptr inbounds i8, ptr %0, i64 48
  %226 = getelementptr inbounds i8, ptr %0, i64 408
  %227 = getelementptr inbounds i8, ptr %0, i64 72
  %228 = getelementptr inbounds i8, ptr %0, i64 96
  %229 = getelementptr inbounds i8, ptr %0, i64 120
  %230 = getelementptr inbounds i8, ptr %0, i64 144
  %231 = getelementptr inbounds i8, ptr %0, i64 168
  br label %364

232:                                              ; preds = %.lr.ph236, %.critedge213
  %.0203234 = phi i64 [ 0, %.lr.ph236 ], [ %359, %.critedge213 ]
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %21) #3
  call void @_ZNSt17_Rb_tree_iteratorISt4pairIKjSt3mapIjS2_IjjSt4lessIjESaIS0_IS1_jEEES4_SaIS0_IS1_S7_EEEEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %21) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %22) #3
  call void @_ZNSt17_Rb_tree_iteratorISt4pairIKjSt3mapIjjSt4lessIjESaIS0_IS1_jEEEEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %22) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %23) #3
  call void @_ZNSt17_Rb_tree_iteratorISt4pairIKjjEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %23) #3
  %233 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %75, i64 noundef %.0203234) #3
  %234 = invoke ptr @_ZNSt3mapIjS_IjS_IjjSt4lessIjESaISt4pairIKjjEEES1_SaIS2_IS3_S6_EEES1_SaIS2_IS3_S9_EEE4findERS3_(ptr noundef nonnull align 8 dereferenceable(48) %2, ptr noundef nonnull align 4 dereferenceable(4) %233)
          to label %235 unwind label %261

235:                                              ; preds = %232
  store ptr %234, ptr %21, align 8, !tbaa !22
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %24) #3
  %236 = call ptr @_ZNSt3mapIjS_IjS_IjjSt4lessIjESaISt4pairIKjjEEES1_SaIS2_IS3_S6_EEES1_SaIS2_IS3_S9_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %2) #3
  store ptr %236, ptr %24, align 8
  %237 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKjSt3mapIjS2_IjjSt4lessIjESaIS0_IS1_jEEES4_SaIS0_IS1_S7_EEEEESE_(ptr noundef nonnull align 8 dereferenceable(8) %21, ptr noundef nonnull align 8 dereferenceable(8) %24) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #3
  br i1 %237, label %238, label %288

238:                                              ; preds = %235
  %239 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKjSt3mapIjS2_IjjSt4lessIjESaIS0_IS1_jEEES4_SaIS0_IS1_S7_EEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %21) #3
  %240 = getelementptr inbounds i8, ptr %239, i64 8
  %241 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %77, i64 noundef %.0203234) #3
  %242 = invoke ptr @_ZNSt3mapIjS_IjjSt4lessIjESaISt4pairIKjjEEES1_SaIS2_IS3_S6_EEE4findERS3_(ptr noundef nonnull align 8 dereferenceable(48) %240, ptr noundef nonnull align 4 dereferenceable(4) %241)
          to label %243 unwind label %263

243:                                              ; preds = %238
  store ptr %242, ptr %22, align 8, !tbaa !22
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %25) #3
  %244 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKjSt3mapIjS2_IjjSt4lessIjESaIS0_IS1_jEEES4_SaIS0_IS1_S7_EEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %21) #3
  %245 = getelementptr inbounds i8, ptr %244, i64 8
  %246 = call ptr @_ZNSt3mapIjS_IjjSt4lessIjESaISt4pairIKjjEEES1_SaIS2_IS3_S6_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %245) #3
  store ptr %246, ptr %25, align 8
  %247 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKjSt3mapIjjSt4lessIjESaIS0_IS1_jEEEEESB_(ptr noundef nonnull align 8 dereferenceable(8) %22, ptr noundef nonnull align 8 dereferenceable(8) %25) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #3
  br i1 %247, label %248, label %277

248:                                              ; preds = %243
  %249 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKjSt3mapIjjSt4lessIjESaIS0_IS1_jEEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %22) #3
  %250 = getelementptr inbounds i8, ptr %249, i64 8
  %251 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %78, i64 noundef %.0203234) #3
  %252 = invoke ptr @_ZNSt3mapIjjSt4lessIjESaISt4pairIKjjEEE4findERS3_(ptr noundef nonnull align 8 dereferenceable(48) %250, ptr noundef nonnull align 4 dereferenceable(4) %251)
          to label %253 unwind label %265

253:                                              ; preds = %248
  store ptr %252, ptr %23, align 8, !tbaa !22
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %26) #3
  %254 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKjSt3mapIjjSt4lessIjESaIS0_IS1_jEEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %22) #3
  %255 = getelementptr inbounds i8, ptr %254, i64 8
  %256 = call ptr @_ZNSt3mapIjjSt4lessIjESaISt4pairIKjjEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %255) #3
  store ptr %256, ptr %26, align 8
  %257 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKjjEES5_(ptr noundef nonnull align 8 dereferenceable(8) %23, ptr noundef nonnull align 8 dereferenceable(8) %26) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %26) #3
  br i1 %257, label %258, label %269

258:                                              ; preds = %253
  %259 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKjjEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %23) #3
  %260 = getelementptr inbounds i8, ptr %259, i64 4
  invoke void @_ZNSt6vectorIjSaIjEE9push_backERKj(ptr noundef nonnull align 8 dereferenceable(24) %12, ptr noundef nonnull align 4 dereferenceable(4) %260)
          to label %.critedge213 unwind label %267

261:                                              ; preds = %232
  %262 = landingpad { ptr, i32 }
          cleanup
  br label %362

263:                                              ; preds = %238
  %264 = landingpad { ptr, i32 }
          cleanup
  br label %362

265:                                              ; preds = %248
  %266 = landingpad { ptr, i32 }
          cleanup
  br label %362

267:                                              ; preds = %353, %347, %336, %330, %324, %315, %309, %303, %296, %293, %288, %284, %277, %269, %258
  %268 = landingpad { ptr, i32 }
          cleanup
  br label %362

269:                                              ; preds = %253
  %270 = call noundef i64 @_ZNKSt6vectorIfSaIfEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #3
  %271 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKjSt3mapIjjSt4lessIjESaIS0_IS1_jEEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %22) #3
  %272 = getelementptr inbounds i8, ptr %271, i64 8
  %273 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %78, i64 noundef %.0203234) #3
  %274 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt3mapIjjSt4lessIjESaISt4pairIKjjEEEixERS3_(ptr noundef nonnull align 8 dereferenceable(48) %272, ptr noundef nonnull align 4 dereferenceable(4) %273)
          to label %275 unwind label %267

275:                                              ; preds = %269
  %276 = trunc i64 %270 to i32
  store i32 %276, ptr %274, align 4, !tbaa !23
  br label %300

277:                                              ; preds = %243
  %278 = call noundef i64 @_ZNKSt6vectorIfSaIfEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #3
  %279 = trunc i64 %278 to i32
  %280 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKjSt3mapIjS2_IjjSt4lessIjESaIS0_IS1_jEEES4_SaIS0_IS1_S7_EEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %21) #3
  %281 = getelementptr inbounds i8, ptr %280, i64 8
  %282 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %77, i64 noundef %.0203234) #3
  %283 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt3mapIjS_IjjSt4lessIjESaISt4pairIKjjEEES1_SaIS2_IS3_S6_EEEixERS3_(ptr noundef nonnull align 8 dereferenceable(48) %281, ptr noundef nonnull align 4 dereferenceable(4) %282)
          to label %284 unwind label %267

284:                                              ; preds = %277
  %285 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %78, i64 noundef %.0203234) #3
  %286 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt3mapIjjSt4lessIjESaISt4pairIKjjEEEixERS3_(ptr noundef nonnull align 8 dereferenceable(48) %283, ptr noundef nonnull align 4 dereferenceable(4) %285)
          to label %287 unwind label %267

287:                                              ; preds = %284
  store i32 %279, ptr %286, align 4, !tbaa !23
  br label %300

288:                                              ; preds = %235
  %289 = call noundef i64 @_ZNKSt6vectorIfSaIfEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #3
  %290 = trunc i64 %289 to i32
  %291 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %75, i64 noundef %.0203234) #3
  %292 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt3mapIjS_IjS_IjjSt4lessIjESaISt4pairIKjjEEES1_SaIS2_IS3_S6_EEES1_SaIS2_IS3_S9_EEEixERS3_(ptr noundef nonnull align 8 dereferenceable(48) %2, ptr noundef nonnull align 4 dereferenceable(4) %291)
          to label %293 unwind label %267

293:                                              ; preds = %288
  %294 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %77, i64 noundef %.0203234) #3
  %295 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt3mapIjS_IjjSt4lessIjESaISt4pairIKjjEEES1_SaIS2_IS3_S6_EEEixERS3_(ptr noundef nonnull align 8 dereferenceable(48) %292, ptr noundef nonnull align 4 dereferenceable(4) %294)
          to label %296 unwind label %267

296:                                              ; preds = %293
  %297 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %78, i64 noundef %.0203234) #3
  %298 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt3mapIjjSt4lessIjESaISt4pairIKjjEEEixERS3_(ptr noundef nonnull align 8 dereferenceable(48) %295, ptr noundef nonnull align 4 dereferenceable(4) %297)
          to label %299 unwind label %267

299:                                              ; preds = %296
  store i32 %290, ptr %298, align 4, !tbaa !23
  br label %300

300:                                              ; preds = %299, %275, %287
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %27) #3
  %301 = call noundef i64 @_ZNKSt6vectorIfSaIfEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #3
  %302 = trunc i64 %301 to i32
  store i32 %302, ptr %27, align 4, !tbaa !23
  invoke void @_ZNSt6vectorIjSaIjEE9push_backEOj(ptr noundef nonnull align 8 dereferenceable(24) %12, ptr noundef nonnull align 4 dereferenceable(4) %27)
          to label %303 unwind label %342

303:                                              ; preds = %300
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %27) #3
  %304 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %75, i64 noundef %.0203234) #3
  %305 = load i32, ptr %304, align 4, !tbaa !23
  %306 = add i32 %305, -1
  %307 = zext i32 %306 to i64
  %308 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIfSaIfEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %0, i64 noundef %307) #3
  invoke void @_ZNSt6vectorIfSaIfEE9push_backERKf(ptr noundef nonnull align 8 dereferenceable(24) %3, ptr noundef nonnull align 4 dereferenceable(4) %308)
          to label %309 unwind label %267

309:                                              ; preds = %303
  %310 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %75, i64 noundef %.0203234) #3
  %311 = load i32, ptr %310, align 4, !tbaa !23
  %312 = add i32 %311, -1
  %313 = zext i32 %312 to i64
  %314 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIfSaIfEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %79, i64 noundef %313) #3
  invoke void @_ZNSt6vectorIfSaIfEE9push_backERKf(ptr noundef nonnull align 8 dereferenceable(24) %4, ptr noundef nonnull align 4 dereferenceable(4) %314)
          to label %315 unwind label %267

315:                                              ; preds = %309
  %316 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %75, i64 noundef %.0203234) #3
  %317 = load i32, ptr %316, align 4, !tbaa !23
  %318 = add i32 %317, -1
  %319 = zext i32 %318 to i64
  %320 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIfSaIfEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %80, i64 noundef %319) #3
  invoke void @_ZNSt6vectorIfSaIfEE9push_backERKf(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 4 dereferenceable(4) %320)
          to label %321 unwind label %267

321:                                              ; preds = %315
  %322 = load i8, ptr %81, align 8, !tbaa !21, !range !19, !noundef !20
  %323 = trunc nuw i8 %322 to i1
  br i1 %323, label %324, label %344

324:                                              ; preds = %321
  %325 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %77, i64 noundef %.0203234) #3
  %326 = load i32, ptr %325, align 4, !tbaa !23
  %327 = add i32 %326, -1
  %328 = zext i32 %327 to i64
  %329 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIfSaIfEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %82, i64 noundef %328) #3
  invoke void @_ZNSt6vectorIfSaIfEE9push_backERKf(ptr noundef nonnull align 8 dereferenceable(24) %6, ptr noundef nonnull align 4 dereferenceable(4) %329)
          to label %330 unwind label %267

330:                                              ; preds = %324
  %331 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %77, i64 noundef %.0203234) #3
  %332 = load i32, ptr %331, align 4, !tbaa !23
  %333 = add i32 %332, -1
  %334 = zext i32 %333 to i64
  %335 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIfSaIfEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %83, i64 noundef %334) #3
  invoke void @_ZNSt6vectorIfSaIfEE9push_backERKf(ptr noundef nonnull align 8 dereferenceable(24) %7, ptr noundef nonnull align 4 dereferenceable(4) %335)
          to label %336 unwind label %267

336:                                              ; preds = %330
  %337 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %77, i64 noundef %.0203234) #3
  %338 = load i32, ptr %337, align 4, !tbaa !23
  %339 = add i32 %338, -1
  %340 = zext i32 %339 to i64
  %341 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIfSaIfEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %84, i64 noundef %340) #3
  invoke void @_ZNSt6vectorIfSaIfEE9push_backERKf(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 4 dereferenceable(4) %341)
          to label %344 unwind label %267

342:                                              ; preds = %300
  %343 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %27) #3
  br label %362

344:                                              ; preds = %336, %321
  %345 = load i8, ptr %35, align 1, !tbaa !5, !range !19, !noundef !20
  %346 = trunc nuw i8 %345 to i1
  br i1 %346, label %347, label %.critedge213

347:                                              ; preds = %344
  %348 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %78, i64 noundef %.0203234) #3
  %349 = load i32, ptr %348, align 4, !tbaa !23
  %350 = add i32 %349, -1
  %351 = zext i32 %350 to i64
  %352 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIfSaIfEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %85, i64 noundef %351) #3
  invoke void @_ZNSt6vectorIfSaIfEE9push_backERKf(ptr noundef nonnull align 8 dereferenceable(24) %9, ptr noundef nonnull align 4 dereferenceable(4) %352)
          to label %353 unwind label %267

353:                                              ; preds = %347
  %354 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %78, i64 noundef %.0203234) #3
  %355 = load i32, ptr %354, align 4, !tbaa !23
  %356 = add i32 %355, -1
  %357 = zext i32 %356 to i64
  %358 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIfSaIfEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %86, i64 noundef %357) #3
  invoke void @_ZNSt6vectorIfSaIfEE9push_backERKf(ptr noundef nonnull align 8 dereferenceable(24) %10, ptr noundef nonnull align 4 dereferenceable(4) %358)
          to label %.critedge213 unwind label %267

.critedge213:                                     ; preds = %258, %344, %353
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %22) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %21) #3
  %359 = add nuw i64 %.0203234, 1
  %360 = call noundef i64 @_ZNKSt6vectorIjSaIjEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %75) #3
  %361 = icmp ult i64 %359, %360
  br i1 %361, label %232, label %.preheader, !llvm.loop !27

362:                                              ; preds = %342, %267, %265, %263, %261
  %.pn207 = phi { ptr, i32 } [ %268, %267 ], [ %343, %342 ], [ %266, %265 ], [ %264, %263 ], [ %262, %261 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %22) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %21) #3
  br label %523

._crit_edge:                                      ; preds = %.critedge215, %.preheader
  %363 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIfSaIfEEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(24) %3)
          to label %495 unwind label %87

364:                                              ; preds = %.lr.ph239, %.critedge215
  %.0201237 = phi i64 [ 0, %.lr.ph239 ], [ %491, %.critedge215 ]
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %28) #3
  call void @_ZNSt17_Rb_tree_iteratorISt4pairIKjSt3mapIjS2_IjjSt4lessIjESaIS0_IS1_jEEES4_SaIS0_IS1_S7_EEEEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %28) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %29) #3
  call void @_ZNSt17_Rb_tree_iteratorISt4pairIKjSt3mapIjjSt4lessIjESaIS0_IS1_jEEEEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %29) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %30) #3
  call void @_ZNSt17_Rb_tree_iteratorISt4pairIKjjEEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %30) #3
  %365 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %220, i64 noundef %.0201237) #3
  %366 = invoke ptr @_ZNSt3mapIjS_IjS_IjjSt4lessIjESaISt4pairIKjjEEES1_SaIS2_IS3_S6_EEES1_SaIS2_IS3_S9_EEE4findERS3_(ptr noundef nonnull align 8 dereferenceable(48) %2, ptr noundef nonnull align 4 dereferenceable(4) %365)
          to label %367 unwind label %393

367:                                              ; preds = %364
  store ptr %366, ptr %28, align 8, !tbaa !22
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %31) #3
  %368 = call ptr @_ZNSt3mapIjS_IjS_IjjSt4lessIjESaISt4pairIKjjEEES1_SaIS2_IS3_S6_EEES1_SaIS2_IS3_S9_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %2) #3
  store ptr %368, ptr %31, align 8
  %369 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKjSt3mapIjS2_IjjSt4lessIjESaIS0_IS1_jEEES4_SaIS0_IS1_S7_EEEEESE_(ptr noundef nonnull align 8 dereferenceable(8) %28, ptr noundef nonnull align 8 dereferenceable(8) %31) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %31) #3
  br i1 %369, label %370, label %420

370:                                              ; preds = %367
  %371 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKjSt3mapIjS2_IjjSt4lessIjESaIS0_IS1_jEEES4_SaIS0_IS1_S7_EEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %28) #3
  %372 = getelementptr inbounds i8, ptr %371, i64 8
  %373 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %222, i64 noundef %.0201237) #3
  %374 = invoke ptr @_ZNSt3mapIjS_IjjSt4lessIjESaISt4pairIKjjEEES1_SaIS2_IS3_S6_EEE4findERS3_(ptr noundef nonnull align 8 dereferenceable(48) %372, ptr noundef nonnull align 4 dereferenceable(4) %373)
          to label %375 unwind label %395

375:                                              ; preds = %370
  store ptr %374, ptr %29, align 8, !tbaa !22
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %32) #3
  %376 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKjSt3mapIjS2_IjjSt4lessIjESaIS0_IS1_jEEES4_SaIS0_IS1_S7_EEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %28) #3
  %377 = getelementptr inbounds i8, ptr %376, i64 8
  %378 = call ptr @_ZNSt3mapIjS_IjjSt4lessIjESaISt4pairIKjjEEES1_SaIS2_IS3_S6_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %377) #3
  store ptr %378, ptr %32, align 8
  %379 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKjSt3mapIjjSt4lessIjESaIS0_IS1_jEEEEESB_(ptr noundef nonnull align 8 dereferenceable(8) %29, ptr noundef nonnull align 8 dereferenceable(8) %32) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %32) #3
  br i1 %379, label %380, label %409

380:                                              ; preds = %375
  %381 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKjSt3mapIjjSt4lessIjESaIS0_IS1_jEEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %29) #3
  %382 = getelementptr inbounds i8, ptr %381, i64 8
  %383 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %223, i64 noundef %.0201237) #3
  %384 = invoke ptr @_ZNSt3mapIjjSt4lessIjESaISt4pairIKjjEEE4findERS3_(ptr noundef nonnull align 8 dereferenceable(48) %382, ptr noundef nonnull align 4 dereferenceable(4) %383)
          to label %385 unwind label %397

385:                                              ; preds = %380
  store ptr %384, ptr %30, align 8, !tbaa !22
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %33) #3
  %386 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKjSt3mapIjjSt4lessIjESaIS0_IS1_jEEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %29) #3
  %387 = getelementptr inbounds i8, ptr %386, i64 8
  %388 = call ptr @_ZNSt3mapIjjSt4lessIjESaISt4pairIKjjEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %387) #3
  store ptr %388, ptr %33, align 8
  %389 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKjjEES5_(ptr noundef nonnull align 8 dereferenceable(8) %30, ptr noundef nonnull align 8 dereferenceable(8) %33) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %33) #3
  br i1 %389, label %390, label %401

390:                                              ; preds = %385
  %391 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKjjEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %30) #3
  %392 = getelementptr inbounds i8, ptr %391, i64 4
  invoke void @_ZNSt6vectorIjSaIjEE9push_backERKj(ptr noundef nonnull align 8 dereferenceable(24) %13, ptr noundef nonnull align 4 dereferenceable(4) %392)
          to label %.critedge215 unwind label %399

393:                                              ; preds = %364
  %394 = landingpad { ptr, i32 }
          cleanup
  br label %494

395:                                              ; preds = %370
  %396 = landingpad { ptr, i32 }
          cleanup
  br label %494

397:                                              ; preds = %380
  %398 = landingpad { ptr, i32 }
          cleanup
  br label %494

399:                                              ; preds = %485, %479, %468, %462, %456, %447, %441, %435, %428, %425, %420, %416, %409, %401, %390
  %400 = landingpad { ptr, i32 }
          cleanup
  br label %494

401:                                              ; preds = %385
  %402 = call noundef i64 @_ZNKSt6vectorIfSaIfEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #3
  %403 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKjSt3mapIjjSt4lessIjESaIS0_IS1_jEEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %29) #3
  %404 = getelementptr inbounds i8, ptr %403, i64 8
  %405 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %223, i64 noundef %.0201237) #3
  %406 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt3mapIjjSt4lessIjESaISt4pairIKjjEEEixERS3_(ptr noundef nonnull align 8 dereferenceable(48) %404, ptr noundef nonnull align 4 dereferenceable(4) %405)
          to label %407 unwind label %399

407:                                              ; preds = %401
  %408 = trunc i64 %402 to i32
  store i32 %408, ptr %406, align 4, !tbaa !23
  br label %432

409:                                              ; preds = %375
  %410 = call noundef i64 @_ZNKSt6vectorIfSaIfEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #3
  %411 = trunc i64 %410 to i32
  %412 = call noundef ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKjSt3mapIjS2_IjjSt4lessIjESaIS0_IS1_jEEES4_SaIS0_IS1_S7_EEEEEptEv(ptr noundef nonnull align 8 dereferenceable(8) %28) #3
  %413 = getelementptr inbounds i8, ptr %412, i64 8
  %414 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %222, i64 noundef %.0201237) #3
  %415 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt3mapIjS_IjjSt4lessIjESaISt4pairIKjjEEES1_SaIS2_IS3_S6_EEEixERS3_(ptr noundef nonnull align 8 dereferenceable(48) %413, ptr noundef nonnull align 4 dereferenceable(4) %414)
          to label %416 unwind label %399

416:                                              ; preds = %409
  %417 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %223, i64 noundef %.0201237) #3
  %418 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt3mapIjjSt4lessIjESaISt4pairIKjjEEEixERS3_(ptr noundef nonnull align 8 dereferenceable(48) %415, ptr noundef nonnull align 4 dereferenceable(4) %417)
          to label %419 unwind label %399

419:                                              ; preds = %416
  store i32 %411, ptr %418, align 4, !tbaa !23
  br label %432

420:                                              ; preds = %367
  %421 = call noundef i64 @_ZNKSt6vectorIfSaIfEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #3
  %422 = trunc i64 %421 to i32
  %423 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %220, i64 noundef %.0201237) #3
  %424 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt3mapIjS_IjS_IjjSt4lessIjESaISt4pairIKjjEEES1_SaIS2_IS3_S6_EEES1_SaIS2_IS3_S9_EEEixERS3_(ptr noundef nonnull align 8 dereferenceable(48) %2, ptr noundef nonnull align 4 dereferenceable(4) %423)
          to label %425 unwind label %399

425:                                              ; preds = %420
  %426 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %222, i64 noundef %.0201237) #3
  %427 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt3mapIjS_IjjSt4lessIjESaISt4pairIKjjEEES1_SaIS2_IS3_S6_EEEixERS3_(ptr noundef nonnull align 8 dereferenceable(48) %424, ptr noundef nonnull align 4 dereferenceable(4) %426)
          to label %428 unwind label %399

428:                                              ; preds = %425
  %429 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %223, i64 noundef %.0201237) #3
  %430 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt3mapIjjSt4lessIjESaISt4pairIKjjEEEixERS3_(ptr noundef nonnull align 8 dereferenceable(48) %427, ptr noundef nonnull align 4 dereferenceable(4) %429)
          to label %431 unwind label %399

431:                                              ; preds = %428
  store i32 %422, ptr %430, align 4, !tbaa !23
  br label %432

432:                                              ; preds = %431, %407, %419
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %34) #3
  %433 = call noundef i64 @_ZNKSt6vectorIfSaIfEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #3
  %434 = trunc i64 %433 to i32
  store i32 %434, ptr %34, align 4, !tbaa !23
  invoke void @_ZNSt6vectorIjSaIjEE9push_backEOj(ptr noundef nonnull align 8 dereferenceable(24) %13, ptr noundef nonnull align 4 dereferenceable(4) %34)
          to label %435 unwind label %474

435:                                              ; preds = %432
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %34) #3
  %436 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %220, i64 noundef %.0201237) #3
  %437 = load i32, ptr %436, align 4, !tbaa !23
  %438 = add i32 %437, -1
  %439 = zext i32 %438 to i64
  %440 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIfSaIfEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %0, i64 noundef %439) #3
  invoke void @_ZNSt6vectorIfSaIfEE9push_backERKf(ptr noundef nonnull align 8 dereferenceable(24) %3, ptr noundef nonnull align 4 dereferenceable(4) %440)
          to label %441 unwind label %399

441:                                              ; preds = %435
  %442 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %220, i64 noundef %.0201237) #3
  %443 = load i32, ptr %442, align 4, !tbaa !23
  %444 = add i32 %443, -1
  %445 = zext i32 %444 to i64
  %446 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIfSaIfEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %224, i64 noundef %445) #3
  invoke void @_ZNSt6vectorIfSaIfEE9push_backERKf(ptr noundef nonnull align 8 dereferenceable(24) %4, ptr noundef nonnull align 4 dereferenceable(4) %446)
          to label %447 unwind label %399

447:                                              ; preds = %441
  %448 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %220, i64 noundef %.0201237) #3
  %449 = load i32, ptr %448, align 4, !tbaa !23
  %450 = add i32 %449, -1
  %451 = zext i32 %450 to i64
  %452 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIfSaIfEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %225, i64 noundef %451) #3
  invoke void @_ZNSt6vectorIfSaIfEE9push_backERKf(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 4 dereferenceable(4) %452)
          to label %453 unwind label %399

453:                                              ; preds = %447
  %454 = load i8, ptr %226, align 8, !tbaa !21, !range !19, !noundef !20
  %455 = trunc nuw i8 %454 to i1
  br i1 %455, label %456, label %476

456:                                              ; preds = %453
  %457 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %222, i64 noundef %.0201237) #3
  %458 = load i32, ptr %457, align 4, !tbaa !23
  %459 = add i32 %458, -1
  %460 = zext i32 %459 to i64
  %461 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIfSaIfEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %227, i64 noundef %460) #3
  invoke void @_ZNSt6vectorIfSaIfEE9push_backERKf(ptr noundef nonnull align 8 dereferenceable(24) %6, ptr noundef nonnull align 4 dereferenceable(4) %461)
          to label %462 unwind label %399

462:                                              ; preds = %456
  %463 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %222, i64 noundef %.0201237) #3
  %464 = load i32, ptr %463, align 4, !tbaa !23
  %465 = add i32 %464, -1
  %466 = zext i32 %465 to i64
  %467 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIfSaIfEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %228, i64 noundef %466) #3
  invoke void @_ZNSt6vectorIfSaIfEE9push_backERKf(ptr noundef nonnull align 8 dereferenceable(24) %7, ptr noundef nonnull align 4 dereferenceable(4) %467)
          to label %468 unwind label %399

468:                                              ; preds = %462
  %469 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %222, i64 noundef %.0201237) #3
  %470 = load i32, ptr %469, align 4, !tbaa !23
  %471 = add i32 %470, -1
  %472 = zext i32 %471 to i64
  %473 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIfSaIfEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %229, i64 noundef %472) #3
  invoke void @_ZNSt6vectorIfSaIfEE9push_backERKf(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 4 dereferenceable(4) %473)
          to label %476 unwind label %399

474:                                              ; preds = %432
  %475 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %34) #3
  br label %494

476:                                              ; preds = %468, %453
  %477 = load i8, ptr %35, align 1, !tbaa !5, !range !19, !noundef !20
  %478 = trunc nuw i8 %477 to i1
  br i1 %478, label %479, label %.critedge215

479:                                              ; preds = %476
  %480 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %223, i64 noundef %.0201237) #3
  %481 = load i32, ptr %480, align 4, !tbaa !23
  %482 = add i32 %481, -1
  %483 = zext i32 %482 to i64
  %484 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIfSaIfEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %230, i64 noundef %483) #3
  invoke void @_ZNSt6vectorIfSaIfEE9push_backERKf(ptr noundef nonnull align 8 dereferenceable(24) %9, ptr noundef nonnull align 4 dereferenceable(4) %484)
          to label %485 unwind label %399

485:                                              ; preds = %479
  %486 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %223, i64 noundef %.0201237) #3
  %487 = load i32, ptr %486, align 4, !tbaa !23
  %488 = add i32 %487, -1
  %489 = zext i32 %488 to i64
  %490 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIfSaIfEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %231, i64 noundef %489) #3
  invoke void @_ZNSt6vectorIfSaIfEE9push_backERKf(ptr noundef nonnull align 8 dereferenceable(24) %10, ptr noundef nonnull align 4 dereferenceable(4) %490)
          to label %.critedge215 unwind label %399

.critedge215:                                     ; preds = %390, %476, %485
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %28) #3
  %491 = add nuw i64 %.0201237, 1
  %492 = call noundef i64 @_ZNKSt6vectorIjSaIjEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %220) #3
  %493 = icmp ult i64 %491, %492
  br i1 %493, label %364, label %._crit_edge, !llvm.loop !28

494:                                              ; preds = %474, %399, %397, %395, %393
  %.pn = phi { ptr, i32 } [ %400, %399 ], [ %475, %474 ], [ %398, %397 ], [ %396, %395 ], [ %394, %393 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %28) #3
  br label %523

495:                                              ; preds = %._crit_edge
  %496 = getelementptr inbounds i8, ptr %0, i64 24
  %497 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIfSaIfEEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %496, ptr noundef nonnull align 8 dereferenceable(24) %4)
          to label %498 unwind label %87

498:                                              ; preds = %495
  %499 = getelementptr inbounds i8, ptr %0, i64 48
  %500 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIfSaIfEEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %499, ptr noundef nonnull align 8 dereferenceable(24) %5)
          to label %501 unwind label %87

501:                                              ; preds = %498
  %502 = getelementptr inbounds i8, ptr %0, i64 72
  %503 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIfSaIfEEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %502, ptr noundef nonnull align 8 dereferenceable(24) %6)
          to label %504 unwind label %87

504:                                              ; preds = %501
  %505 = getelementptr inbounds i8, ptr %0, i64 96
  %506 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIfSaIfEEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %505, ptr noundef nonnull align 8 dereferenceable(24) %7)
          to label %507 unwind label %87

507:                                              ; preds = %504
  %508 = getelementptr inbounds i8, ptr %0, i64 120
  %509 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIfSaIfEEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %508, ptr noundef nonnull align 8 dereferenceable(24) %8)
          to label %510 unwind label %87

510:                                              ; preds = %507
  %511 = getelementptr inbounds i8, ptr %0, i64 144
  %512 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIfSaIfEEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %511, ptr noundef nonnull align 8 dereferenceable(24) %9)
          to label %513 unwind label %87

513:                                              ; preds = %510
  %514 = getelementptr inbounds i8, ptr %0, i64 168
  %515 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIfSaIfEEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %514, ptr noundef nonnull align 8 dereferenceable(24) %10)
          to label %516 unwind label %87

516:                                              ; preds = %513
  %517 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIjSaIjEEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %48, ptr noundef nonnull align 8 dereferenceable(24) %11)
          to label %518 unwind label %87

518:                                              ; preds = %516
  %519 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIjSaIjEEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %75, ptr noundef nonnull align 8 dereferenceable(24) %12)
          to label %520 unwind label %87

520:                                              ; preds = %518
  %521 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIjSaIjEEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %220, ptr noundef nonnull align 8 dereferenceable(24) %13)
          to label %522 unwind label %87

522:                                              ; preds = %520
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #3
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %13) #3
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %12) #3
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %12) #3
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #3
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %11) #3
  call void @_ZNSt6vectorIfSaIfEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #3
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %10) #3
  call void @_ZNSt6vectorIfSaIfEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #3
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9) #3
  call void @_ZNSt6vectorIfSaIfEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %8) #3
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %8) #3
  call void @_ZNSt6vectorIfSaIfEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %7) #3
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7) #3
  call void @_ZNSt6vectorIfSaIfEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #3
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6) #3
  call void @_ZNSt6vectorIfSaIfEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %5) #3
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5) #3
  call void @_ZNSt6vectorIfSaIfEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %4) #3
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4) #3
  call void @_ZNSt6vectorIfSaIfEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %3) #3
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3) #3
  call void @_ZNSt3mapIjS_IjS_IjjSt4lessIjESaISt4pairIKjjEEES1_SaIS2_IS3_S6_EEES1_SaIS2_IS3_S9_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %2) #3
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %2) #3
  br label %.loopexit

523:                                              ; preds = %494, %362, %219, %87
  %.pn209.pn = phi { ptr, i32 } [ %.pn209, %219 ], [ %.pn207, %362 ], [ %.pn, %494 ], [ %88, %87 ]
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #3
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %13) #3
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %12) #3
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %12) #3
  call void @_ZNSt6vectorIjSaIjEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #3
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %11) #3
  call void @_ZNSt6vectorIfSaIfEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #3
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %10) #3
  call void @_ZNSt6vectorIfSaIfEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #3
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9) #3
  call void @_ZNSt6vectorIfSaIfEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %8) #3
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %8) #3
  call void @_ZNSt6vectorIfSaIfEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %7) #3
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7) #3
  call void @_ZNSt6vectorIfSaIfEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #3
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6) #3
  call void @_ZNSt6vectorIfSaIfEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %5) #3
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5) #3
  call void @_ZNSt6vectorIfSaIfEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %4) #3
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4) #3
  call void @_ZNSt6vectorIfSaIfEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %3) #3
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3) #3
  call void @_ZNSt3mapIjS_IjS_IjjSt4lessIjESaISt4pairIKjjEEES1_SaIS2_IS3_S6_EEES1_SaIS2_IS3_S9_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %2) #3
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %2) #3
  resume { ptr, i32 } %.pn209.pn

524:                                              ; preds = %.lr.ph, %524
  %525 = phi i64 [ 0, %.lr.ph ], [ %536, %524 ]
  %.0230 = phi i32 [ 0, %.lr.ph ], [ %535, %524 ]
  %526 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %42, i64 noundef %525) #3
  %527 = load i32, ptr %526, align 4, !tbaa !23
  %528 = add i32 %527, -1
  store i32 %528, ptr %526, align 4, !tbaa !23
  %529 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %44, i64 noundef %525) #3
  %530 = load i32, ptr %529, align 4, !tbaa !23
  %531 = add i32 %530, -1
  store i32 %531, ptr %529, align 4, !tbaa !23
  %532 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIjSaIjEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %45, i64 noundef %525) #3
  %533 = load i32, ptr %532, align 4, !tbaa !23
  %534 = add i32 %533, -1
  store i32 %534, ptr %532, align 4, !tbaa !23
  %535 = add i32 %.0230, 1
  %536 = zext i32 %535 to i64
  %537 = tail call noundef i64 @_ZNKSt6vectorIjSaIjEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %42) #3
  %538 = icmp ugt i64 %537, %536
  br i1 %538, label %524, label %.loopexit, !llvm.loop !29

.loopexit:                                        ; preds = %524, %.preheader218, %522
  %539 = getelementptr inbounds i8, ptr %0, i64 216
  call void @_ZNSt6vectorIjSaIjEE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %539) #3
  %540 = getelementptr inbounds i8, ptr %0, i64 288
  call void @_ZNSt6vectorIjSaIjEE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %540) #3
  %541 = getelementptr inbounds i8, ptr %0, i64 360
  call void @_ZNSt6vectorIjSaIjEE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %541) #3
  %542 = getelementptr inbounds i8, ptr %0, i64 240
  call void @_ZNSt6vectorIjSaIjEE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %542) #3
  %543 = getelementptr inbounds i8, ptr %0, i64 312
  call void @_ZNSt6vectorIjSaIjEE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %543) #3
  %544 = getelementptr inbounds i8, ptr %0, i64 384
  call void @_ZNSt6vectorIjSaIjEE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %544) #3
  ret void
}

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local ptr @_ZNSt3mapIjS_IjS_IjjSt4lessIjESaISt4pairIKjjEEES1_SaIS2_IS3_S6_EEES1_SaIS2_IS3_S9_EEE4findERS3_(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #1 align 2

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local ptr @_ZNSt3mapIjS_IjjSt4lessIjESaISt4pairIKjjEEES1_SaIS2_IS3_S6_EEE4findERS3_(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #1 align 2

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local ptr @_ZNSt3mapIjjSt4lessIjESaISt4pairIKjjEEE4findERS3_(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #1 align 2

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt3mapIjjSt4lessIjESaISt4pairIKjjEEEixERS3_(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt3mapIjS_IjjSt4lessIjESaISt4pairIKjjEEES1_SaIS2_IS3_S6_EEEixERS3_(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt3mapIjS_IjS_IjjSt4lessIjESaISt4pairIKjjEEES1_SaIS2_IS3_S6_EEES1_SaIS2_IS3_S9_EEEixERS3_(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #1 align 2

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIjSaIjEEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #1 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 nounwind uwtable
declare dso_local void @_ZNSt6vectorIfSaIfEED2Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #2 align 2

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

attributes #0 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { 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, !18, i64 409}
!6 = !{!"_ZTSN4Glip7Modules9OBJLoader12UnshapedDataE", !7, i64 0, !7, i64 24, !7, i64 48, !7, i64 72, !7, i64 96, !7, i64 120, !7, i64 144, !7, i64 168, !14, i64 192, !14, i64 216, !14, i64 240, !14, i64 264, !14, i64 288, !14, i64 312, !14, i64 336, !14, i64 360, !14, i64 384, !18, i64 408, !18, i64 409}
!7 = !{!"_ZTSSt6vectorIfSaIfEE", !8, i64 0}
!8 = !{!"_ZTSSt12_Vector_baseIfSaIfEE", !9, i64 0}
!9 = !{!"_ZTSNSt12_Vector_baseIfSaIfEE12_Vector_implE", !10, i64 0}
!10 = !{!"_ZTSNSt12_Vector_baseIfSaIfEE17_Vector_impl_dataE", !11, i64 0, !11, i64 8, !11, i64 16}
!11 = !{!"any pointer", !12, i64 0}
!12 = !{!"omnipotent char", !13, i64 0}
!13 = !{!"Simple C++ TBAA"}
!14 = !{!"_ZTSSt6vectorIjSaIjEE", !15, i64 0}
!15 = !{!"_ZTSSt12_Vector_baseIjSaIjEE", !16, i64 0}
!16 = !{!"_ZTSNSt12_Vector_baseIjSaIjEE12_Vector_implE", !17, i64 0}
!17 = !{!"_ZTSNSt12_Vector_baseIjSaIjEE17_Vector_impl_dataE", !11, i64 0, !11, i64 8, !11, i64 16}
!18 = !{!"bool", !12, i64 0}
!19 = !{i8 0, i8 2}
!20 = !{}
!21 = !{!6, !18, i64 408}
!22 = !{!11, !11, i64 0}
!23 = !{!24, !24, i64 0}
!24 = !{!"int", !12, i64 0}
!25 = distinct !{!25, !26}
!26 = !{!"llvm.loop.mustprogress"}
!27 = distinct !{!27, !26}
!28 = distinct !{!28, !26}
!29 = distinct !{!29, !26}


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