; LLVM IR from fritzsedlazeck/SURVIVOR :: src (Summarize_SV)

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

%"class.std::basic_ostream" = type { ptr, %"class.std::basic_ios" }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"class.std::locale" = type { ptr }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl" }
%"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl" = type { %"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl_data" }
%"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::map" = type { %"class.std::_Rb_tree" }
%"class.std::_Rb_tree" = type { %"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::map<int, int>>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::map<int, int>>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::map<int, int>>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::map<int, int>>>, std::less<std::__cxx11::basic_string<char>>>::_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.6" = type { %"struct.std::_Vector_base.7" }
%"struct.std::_Vector_base.7" = type { %"struct.std::_Vector_base<strvcfentry, std::allocator<strvcfentry>>::_Vector_impl" }
%"struct.std::_Vector_base<strvcfentry, std::allocator<strvcfentry>>::_Vector_impl" = type { %"struct.std::_Vector_base<strvcfentry, std::allocator<strvcfentry>>::_Vector_impl_data" }
%"struct.std::_Vector_base<strvcfentry, std::allocator<strvcfentry>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"struct.std::_Rb_tree_iterator" = type { ptr }
%"struct.std::_Rb_tree_iterator.20" = type { ptr }
%struct.strvcfentry = type <{ %"class.std::__cxx11::basic_string", %struct.strcoordinate, %struct.strcoordinate, i16, [6 x i8], %"class.std::map.11", i32, i32, %"class.std::vector", %"struct.std::pair", [2 x i8], %"struct.std::pair.16", [4 x i8], %"class.std::__cxx11::basic_string", i32, [4 x i8], %"class.std::__cxx11::basic_string", double, %"class.std::__cxx11::basic_string", i32, [4 x i8], %"struct.std::pair.18", %"struct.std::pair.16", %"struct.std::pair.16", i32, [4 x i8] }>
%struct.strcoordinate = type { i32, %"class.std::__cxx11::basic_string" }
%"class.std::map.11" = type { %"class.std::_Rb_tree.12" }
%"class.std::_Rb_tree.12" = type { %"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"struct.std::pair" = type { i8, i8 }
%"struct.std::pair.18" = type { %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string" }
%"struct.std::pair.16" = type { i32, i32 }
%"struct.std::pair.27" = type { %"class.std::__cxx11::basic_string", %"class.std::map.21" }
%"class.std::map.21" = type { %"class.std::_Rb_tree.22" }
%"class.std::_Rb_tree.22" = type { %"struct.std::_Rb_tree<int, std::pair<const int, int>, std::_Select1st<std::pair<const int, int>>, std::less<int>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<int, std::pair<const int, int>, std::_Select1st<std::pair<const int, int>>, std::less<int>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }

@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@.str = external hidden unnamed_addr constant [13 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [25 x i8], align 1

; Function Attrs: mustprogress uwtable
declare dso_local void @_Z6adjustRSt6vectorIiSaIiEEi(ptr noundef nonnull align 8 dereferenceable(24), i32 noundef) #0

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

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i32 @_Z11get_supportSt6vectorIiSaIiEE(ptr noundef) #1

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i32 @_Z8bin_sized(double noundef) #1

; Function Attrs: mustprogress uwtable
define dso_local void @_Z10summary_SVNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiS4_(ptr noundef %0, i32 noundef %1, i32 noundef %2, i32 noundef %3, ptr noundef %4) #0 personality ptr @__gxx_personality_v0 {
  %6 = alloca ptr, align 8
  %7 = alloca i32, align 4
  %8 = alloca i32, align 4
  %9 = alloca i32, align 4
  %10 = alloca ptr, align 8
  %11 = alloca %"class.std::vector", align 8
  %12 = alloca %"class.std::vector", align 8
  %13 = alloca %"class.std::vector", align 8
  %14 = alloca %"class.std::vector", align 8
  %15 = alloca %"class.std::vector", align 8
  %16 = alloca %"class.std::vector", align 8
  %17 = alloca i32, align 4
  %18 = alloca i32, align 4
  %19 = alloca i32, align 4
  %20 = alloca i32, align 4
  %21 = alloca i32, align 4
  %22 = alloca i32, align 4
  %23 = alloca %"class.std::map", align 8
  %24 = alloca %"class.std::vector.6", align 8
  %25 = alloca ptr, align 8
  %26 = alloca i32, align 4
  %27 = alloca i64, align 8
  %28 = alloca i32, align 4
  %29 = alloca %"class.std::vector", align 8
  %30 = alloca i32, align 4
  %31 = alloca i32, align 4
  %32 = alloca %"class.std::__cxx11::basic_string", align 8
  %33 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %34 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %35 = alloca %"struct.std::_Rb_tree_iterator.20", align 8
  %36 = alloca i32, align 4
  %37 = alloca %"struct.std::_Rb_tree_iterator.20", align 8
  %38 = alloca i32, align 4
  %39 = alloca i32, align 4
  %40 = alloca ptr, align 8
  %41 = alloca %"class.std::__cxx11::basic_string", align 8
  %42 = alloca i64, align 8
  %43 = alloca i32, align 4
  %44 = alloca i32, align 4
  %45 = alloca i32, align 4
  %46 = alloca i32, align 4
  %47 = alloca i32, align 4
  %48 = alloca i32, align 4
  %49 = alloca i8, align 1
  %50 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %51 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %52 = alloca %"struct.std::_Rb_tree_iterator.20", align 8
  %53 = alloca i32, align 4
  %54 = alloca %"struct.std::_Rb_tree_iterator.20", align 8
  %55 = alloca i32, align 4
  %56 = alloca %"struct.std::_Rb_tree_iterator.20", align 8
  %57 = alloca i32, align 4
  %58 = alloca %"struct.std::_Rb_tree_iterator.20", align 8
  %59 = alloca i32, align 4
  %60 = alloca %"struct.std::_Rb_tree_iterator.20", align 8
  %61 = alloca i32, align 4
  %62 = alloca %"struct.std::_Rb_tree_iterator.20", align 8
  %63 = alloca i32, align 4
  %64 = alloca %"struct.std::_Rb_tree_iterator.20", align 8
  %65 = alloca i32, align 4
  %66 = alloca %"struct.std::_Rb_tree_iterator.20", align 8
  %67 = alloca i32, align 4
  %68 = alloca %"struct.std::_Rb_tree_iterator.20", align 8
  %69 = alloca i32, align 4
  %70 = alloca %"struct.std::_Rb_tree_iterator.20", align 8
  %71 = alloca i32, align 4
  %72 = alloca %"struct.std::_Rb_tree_iterator", align 8
  store ptr %0, ptr %6, align 8, !tbaa !5
  store i32 %1, ptr %7, align 4, !tbaa !9
  store i32 %2, ptr %8, align 4, !tbaa !9
  store i32 %3, ptr %9, align 4, !tbaa !9
  store ptr %4, ptr %10, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr %11) #7
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %12) #7
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %12) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %13) #7
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %14) #7
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %14) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %15) #7
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %15) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %16) #7
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %16) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %17) #7
  store i32 0, ptr %17, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %18) #7
  store i32 0, ptr %18, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %19) #7
  store i32 0, ptr %19, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %20) #7
  store i32 0, ptr %20, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %21) #7
  store i32 0, ptr %21, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %22) #7
  store i32 0, ptr %22, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 48, ptr %23) #7
  call void @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES_IiiSt4lessIiESaISt4pairIKiiEEES6_IS5_ESaIS8_IKS5_SC_EEEC2Ev(ptr noundef nonnull align 8 dereferenceable(48) %23) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %24) #7
  %73 = load i32, ptr %7, align 4, !tbaa !9
  invoke void @_Z9parse_vcfRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi(ptr dead_on_unwind writable sret(%"class.std::vector.6") align 8 %24, ptr noundef nonnull align 8 dereferenceable(32) %0, i32 noundef %73)
          to label %74 unwind label %87

74:                                               ; preds = %5
  %75 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str)
          to label %76 unwind label %91

76:                                               ; preds = %74
  %77 = call noundef i64 @_ZNKSt6vectorI11strvcfentrySaIS0_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %24) #7
  %78 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %75, i64 noundef %77)
          to label %79 unwind label %91

79:                                               ; preds = %76
  %80 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %78, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %81 unwind label %91

81:                                               ; preds = %79
  call void @llvm.lifetime.start.p0(i64 8, ptr %27) #7
  store i64 0, ptr %27, align 8, !tbaa !11
  br label %82

82:                                               ; preds = %367, %81
  %83 = load i64, ptr %27, align 8, !tbaa !11
  %84 = call noundef i64 @_ZNKSt6vectorI11strvcfentrySaIS0_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %24) #7
  %85 = icmp ult i64 %83, %84
  br i1 %85, label %95, label %86

86:                                               ; preds = %82
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #7
  br label %370

87:                                               ; preds = %5
  %88 = landingpad { ptr, i32 }
          cleanup
  %89 = extractvalue { ptr, i32 } %88, 0
  store ptr %89, ptr %25, align 8
  %90 = extractvalue { ptr, i32 } %88, 1
  store i32 %90, ptr %26, align 4
  br label %825

91:                                               ; preds = %414, %411, %409, %406, %404, %401, %399, %396, %394, %391, %389, %378, %376, %374, %372, %370, %79, %76, %74
  %92 = landingpad { ptr, i32 }
          cleanup
  %93 = extractvalue { ptr, i32 } %92, 0
  store ptr %93, ptr %25, align 8
  %94 = extractvalue { ptr, i32 } %92, 1
  store i32 %94, ptr %26, align 4
  br label %824

95:                                               ; preds = %82
  %96 = load i64, ptr %27, align 8, !tbaa !11
  %97 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %24, i64 noundef %96) #7
  %98 = getelementptr inbounds %struct.strvcfentry, ptr %97, i32 0, i32 11
  %99 = getelementptr inbounds %"struct.std::pair.16", ptr %98, i32 0, i32 1
  %100 = load i32, ptr %99, align 4, !tbaa !13
  %101 = load i32, ptr %9, align 4, !tbaa !9
  %102 = icmp sgt i32 %100, %101
  br i1 %102, label %103, label %366

103:                                              ; preds = %95
  %104 = load i32, ptr %8, align 4, !tbaa !9
  %105 = icmp slt i32 %104, 0
  br i1 %105, label %120, label %106

106:                                              ; preds = %103
  %107 = load i64, ptr %27, align 8, !tbaa !11
  %108 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %24, i64 noundef %107) #7
  %109 = getelementptr inbounds %struct.strvcfentry, ptr %108, i32 0, i32 14
  %110 = load i32, ptr %109, align 8, !tbaa !36
  %111 = load i32, ptr %8, align 4, !tbaa !9
  %112 = icmp slt i32 %110, %111
  br i1 %112, label %120, label %113

113:                                              ; preds = %106
  %114 = load i64, ptr %27, align 8, !tbaa !11
  %115 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %24, i64 noundef %114) #7
  %116 = getelementptr inbounds %struct.strvcfentry, ptr %115, i32 0, i32 3
  %117 = load i16, ptr %116, align 8, !tbaa !37
  %118 = sext i16 %117 to i32
  %119 = icmp eq i32 %118, 3
  br i1 %119, label %120, label %365

120:                                              ; preds = %113, %106, %103
  call void @llvm.lifetime.start.p0(i64 4, ptr %28) #7
  %121 = load i64, ptr %27, align 8, !tbaa !11
  %122 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %24, i64 noundef %121) #7
  %123 = getelementptr inbounds %struct.strvcfentry, ptr %122, i32 0, i32 8
  invoke void @_ZNSt6vectorIiSaIiEEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %29, ptr noundef nonnull align 8 dereferenceable(24) %123)
          to label %124 unwind label %136

124:                                              ; preds = %120
  %125 = call noundef i32 @_Z11get_supportSt6vectorIiSaIiEE(ptr noundef %29)
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %29) #7
  store i32 %125, ptr %28, align 4, !tbaa !9
  %126 = load i32, ptr %28, align 4, !tbaa !9
  %127 = icmp ne i32 %126, 0
  br i1 %127, label %128, label %163

128:                                              ; preds = %124
  br label %129

129:                                              ; preds = %135, %128
  %130 = load i32, ptr %28, align 4, !tbaa !9
  %131 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %16) #7
  %132 = trunc i64 %131 to i32
  %133 = icmp sge i32 %130, %132
  br i1 %133, label %134, label %144

134:                                              ; preds = %129
  call void @llvm.lifetime.start.p0(i64 4, ptr %30) #7
  store i32 0, ptr %30, align 4, !tbaa !9
  invoke void @_ZNSt6vectorIiSaIiEE9push_backEOi(ptr noundef nonnull align 8 dereferenceable(24) %16, ptr noundef nonnull align 4 dereferenceable(4) %30)
          to label %135 unwind label %140

135:                                              ; preds = %134
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #7
  br label %129, !llvm.loop !38

136:                                              ; preds = %154, %147, %120
  %137 = landingpad { ptr, i32 }
          cleanup
  %138 = extractvalue { ptr, i32 } %137, 0
  store ptr %138, ptr %25, align 8
  %139 = extractvalue { ptr, i32 } %137, 1
  store i32 %139, ptr %26, align 4
  br label %364

140:                                              ; preds = %134
  %141 = landingpad { ptr, i32 }
          cleanup
  %142 = extractvalue { ptr, i32 } %141, 0
  store ptr %142, ptr %25, align 8
  %143 = extractvalue { ptr, i32 } %141, 1
  store i32 %143, ptr %26, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #7
  br label %364

144:                                              ; preds = %129
  %145 = load i32, ptr %28, align 4, !tbaa !9
  %146 = icmp eq i32 %145, 1
  br i1 %146, label %147, label %157

147:                                              ; preds = %144
  %148 = load i64, ptr %27, align 8, !tbaa !11
  %149 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %24, i64 noundef %148) #7
  %150 = getelementptr inbounds %struct.strvcfentry, ptr %149, i32 0, i32 1
  %151 = getelementptr inbounds %struct.strcoordinate, ptr %150, i32 0, i32 0
  %152 = load i32, ptr %151, align 8, !tbaa !40
  %153 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, i32 noundef %152)
          to label %154 unwind label %136

154:                                              ; preds = %147
  %155 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %153, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %156 unwind label %136

156:                                              ; preds = %154
  br label %157

157:                                              ; preds = %156, %144
  %158 = load i32, ptr %28, align 4, !tbaa !9
  %159 = sext i32 %158 to i64
  %160 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %16, i64 noundef %159) #7
  %161 = load i32, ptr %160, align 4, !tbaa !9
  %162 = add nsw i32 %161, 1
  store i32 %162, ptr %160, align 4, !tbaa !9
  br label %163

163:                                              ; preds = %157, %124
  call void @llvm.lifetime.start.p0(i64 4, ptr %31) #7
  %164 = load i64, ptr %27, align 8, !tbaa !11
  %165 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %24, i64 noundef %164) #7
  %166 = getelementptr inbounds %struct.strvcfentry, ptr %165, i32 0, i32 14
  %167 = load i32, ptr %166, align 8, !tbaa !36
  %168 = sitofp i32 %167 to double
  %169 = call noundef i32 @_Z8bin_sized(double noundef %168)
  store i32 %169, ptr %31, align 4, !tbaa !9
  %170 = load i64, ptr %27, align 8, !tbaa !11
  %171 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %24, i64 noundef %170) #7
  %172 = getelementptr inbounds %struct.strvcfentry, ptr %171, i32 0, i32 3
  %173 = load i16, ptr %172, align 8, !tbaa !37
  %174 = sext i16 %173 to i32
  %175 = icmp eq i32 %174, 0
  br i1 %175, label %176, label %190

176:                                              ; preds = %163
  %177 = load i32, ptr %31, align 4, !tbaa !9
  invoke void @_Z6adjustRSt6vectorIiSaIiEEi(ptr noundef nonnull align 8 dereferenceable(24) %11, i32 noundef %177)
          to label %178 unwind label %186

178:                                              ; preds = %176
  %179 = load i32, ptr %31, align 4, !tbaa !9
  %180 = sext i32 %179 to i64
  %181 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %180) #7
  %182 = load i32, ptr %181, align 4, !tbaa !9
  %183 = add nsw i32 %182, 1
  store i32 %183, ptr %181, align 4, !tbaa !9
  %184 = load i32, ptr %18, align 4, !tbaa !9
  %185 = add nsw i32 %184, 1
  store i32 %185, ptr %18, align 4, !tbaa !9
  br label %273

186:                                              ; preds = %258, %231, %214, %197, %176
  %187 = landingpad { ptr, i32 }
          cleanup
  %188 = extractvalue { ptr, i32 } %187, 0
  store ptr %188, ptr %25, align 8
  %189 = extractvalue { ptr, i32 } %187, 1
  store i32 %189, ptr %26, align 4
  br label %363

190:                                              ; preds = %163
  %191 = load i64, ptr %27, align 8, !tbaa !11
  %192 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %24, i64 noundef %191) #7
  %193 = getelementptr inbounds %struct.strvcfentry, ptr %192, i32 0, i32 3
  %194 = load i16, ptr %193, align 8, !tbaa !37
  %195 = sext i16 %194 to i32
  %196 = icmp eq i32 %195, 2
  br i1 %196, label %197, label %207

197:                                              ; preds = %190
  %198 = load i32, ptr %31, align 4, !tbaa !9
  invoke void @_Z6adjustRSt6vectorIiSaIiEEi(ptr noundef nonnull align 8 dereferenceable(24) %13, i32 noundef %198)
          to label %199 unwind label %186

199:                                              ; preds = %197
  %200 = load i32, ptr %31, align 4, !tbaa !9
  %201 = sext i32 %200 to i64
  %202 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %13, i64 noundef %201) #7
  %203 = load i32, ptr %202, align 4, !tbaa !9
  %204 = add nsw i32 %203, 1
  store i32 %204, ptr %202, align 4, !tbaa !9
  %205 = load i32, ptr %21, align 4, !tbaa !9
  %206 = add nsw i32 %205, 1
  store i32 %206, ptr %21, align 4, !tbaa !9
  br label %272

207:                                              ; preds = %190
  %208 = load i64, ptr %27, align 8, !tbaa !11
  %209 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %24, i64 noundef %208) #7
  %210 = getelementptr inbounds %struct.strvcfentry, ptr %209, i32 0, i32 3
  %211 = load i16, ptr %210, align 8, !tbaa !37
  %212 = sext i16 %211 to i32
  %213 = icmp eq i32 %212, 1
  br i1 %213, label %214, label %224

214:                                              ; preds = %207
  %215 = load i32, ptr %31, align 4, !tbaa !9
  invoke void @_Z6adjustRSt6vectorIiSaIiEEi(ptr noundef nonnull align 8 dereferenceable(24) %12, i32 noundef %215)
          to label %216 unwind label %186

216:                                              ; preds = %214
  %217 = load i32, ptr %31, align 4, !tbaa !9
  %218 = sext i32 %217 to i64
  %219 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %218) #7
  %220 = load i32, ptr %219, align 4, !tbaa !9
  %221 = add nsw i32 %220, 1
  store i32 %221, ptr %219, align 4, !tbaa !9
  %222 = load i32, ptr %19, align 4, !tbaa !9
  %223 = add nsw i32 %222, 1
  store i32 %223, ptr %19, align 4, !tbaa !9
  br label %271

224:                                              ; preds = %207
  %225 = load i64, ptr %27, align 8, !tbaa !11
  %226 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %24, i64 noundef %225) #7
  %227 = getelementptr inbounds %struct.strvcfentry, ptr %226, i32 0, i32 3
  %228 = load i16, ptr %227, align 8, !tbaa !37
  %229 = sext i16 %228 to i32
  %230 = icmp eq i32 %229, 4
  br i1 %230, label %231, label %241

231:                                              ; preds = %224
  %232 = load i32, ptr %31, align 4, !tbaa !9
  invoke void @_Z6adjustRSt6vectorIiSaIiEEi(ptr noundef nonnull align 8 dereferenceable(24) %14, i32 noundef %232)
          to label %233 unwind label %186

233:                                              ; preds = %231
  %234 = load i32, ptr %31, align 4, !tbaa !9
  %235 = sext i32 %234 to i64
  %236 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %14, i64 noundef %235) #7
  %237 = load i32, ptr %236, align 4, !tbaa !9
  %238 = add nsw i32 %237, 1
  store i32 %238, ptr %236, align 4, !tbaa !9
  %239 = load i32, ptr %20, align 4, !tbaa !9
  %240 = add nsw i32 %239, 1
  store i32 %240, ptr %20, align 4, !tbaa !9
  br label %270

241:                                              ; preds = %224
  %242 = load i64, ptr %27, align 8, !tbaa !11
  %243 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %24, i64 noundef %242) #7
  %244 = getelementptr inbounds %struct.strvcfentry, ptr %243, i32 0, i32 3
  %245 = load i16, ptr %244, align 8, !tbaa !37
  %246 = sext i16 %245 to i32
  %247 = icmp eq i32 %246, 3
  br i1 %247, label %248, label %251

248:                                              ; preds = %241
  %249 = load i32, ptr %17, align 4, !tbaa !9
  %250 = add nsw i32 %249, 1
  store i32 %250, ptr %17, align 4, !tbaa !9
  br label %269

251:                                              ; preds = %241
  %252 = load i64, ptr %27, align 8, !tbaa !11
  %253 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %24, i64 noundef %252) #7
  %254 = getelementptr inbounds %struct.strvcfentry, ptr %253, i32 0, i32 3
  %255 = load i16, ptr %254, align 8, !tbaa !37
  %256 = sext i16 %255 to i32
  %257 = icmp eq i32 %256, -1
  br i1 %257, label %258, label %268

258:                                              ; preds = %251
  %259 = load i32, ptr %31, align 4, !tbaa !9
  invoke void @_Z6adjustRSt6vectorIiSaIiEEi(ptr noundef nonnull align 8 dereferenceable(24) %15, i32 noundef %259)
          to label %260 unwind label %186

260:                                              ; preds = %258
  %261 = load i32, ptr %31, align 4, !tbaa !9
  %262 = sext i32 %261 to i64
  %263 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %262) #7
  %264 = load i32, ptr %263, align 4, !tbaa !9
  %265 = add nsw i32 %264, 1
  store i32 %265, ptr %263, align 4, !tbaa !9
  %266 = load i32, ptr %22, align 4, !tbaa !9
  %267 = add nsw i32 %266, 1
  store i32 %267, ptr %22, align 4, !tbaa !9
  br label %268

268:                                              ; preds = %260, %251
  br label %269

269:                                              ; preds = %268, %248
  br label %270

270:                                              ; preds = %269, %233
  br label %271

271:                                              ; preds = %270, %216
  br label %272

272:                                              ; preds = %271, %199
  br label %273

273:                                              ; preds = %272, %178
  call void @llvm.lifetime.start.p0(i64 32, ptr %32) #7
  %274 = load i64, ptr %27, align 8, !tbaa !11
  %275 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %24, i64 noundef %274) #7
  %276 = getelementptr inbounds %struct.strvcfentry, ptr %275, i32 0, i32 1
  %277 = getelementptr inbounds %struct.strcoordinate, ptr %276, i32 0, i32 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %32, ptr noundef nonnull align 8 dereferenceable(32) %277)
          to label %278 unwind label %315

278:                                              ; preds = %273
  call void @llvm.lifetime.start.p0(i64 8, ptr %33) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %35) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %36) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %37) #7
  %279 = invoke ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES_IiiSt4lessIiESaISt4pairIKiiEEES6_IS5_ESaIS8_IKS5_SC_EEE4findERSE_(ptr noundef nonnull align 8 dereferenceable(48) %23, ptr noundef nonnull align 8 dereferenceable(32) %32)
          to label %280 unwind label %319

280:                                              ; preds = %278
  %281 = getelementptr inbounds %"struct.std::_Rb_tree_iterator", ptr %33, i32 0, i32 0
  store ptr %279, ptr %281, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %34) #7
  %282 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES_IiiSt4lessIiESaISt4pairIKiiEEES6_IS5_ESaIS8_IKS5_SC_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %23) #7
  %283 = getelementptr inbounds %"struct.std::_Rb_tree_iterator", ptr %34, i32 0, i32 0
  store ptr %282, ptr %283, align 8
  %284 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEESI_(ptr noundef nonnull align 8 dereferenceable(8) %33, ptr noundef nonnull align 8 dereferenceable(8) %34) #7
  br i1 %284, label %301, label %285

285:                                              ; preds = %280
  %286 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES_IiiSt4lessIiESaISt4pairIKiiEEES6_IS5_ESaIS8_IKS5_SC_EEEixERSE_(ptr noundef nonnull align 8 dereferenceable(48) %23, ptr noundef nonnull align 8 dereferenceable(32) %32)
          to label %287 unwind label %323

287:                                              ; preds = %285
  %288 = load i64, ptr %27, align 8, !tbaa !11
  %289 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %24, i64 noundef %288) #7
  %290 = getelementptr inbounds %struct.strvcfentry, ptr %289, i32 0, i32 3
  %291 = load i16, ptr %290, align 8, !tbaa !37
  %292 = sext i16 %291 to i32
  store i32 %292, ptr %36, align 4, !tbaa !9
  %293 = invoke ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEE4findERS3_(ptr noundef nonnull align 8 dereferenceable(48) %286, ptr noundef nonnull align 4 dereferenceable(4) %36)
          to label %294 unwind label %327

294:                                              ; preds = %287
  %295 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.20", ptr %35, i32 0, i32 0
  store ptr %293, ptr %295, align 8
  %296 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES_IiiSt4lessIiESaISt4pairIKiiEEES6_IS5_ESaIS8_IKS5_SC_EEEixERSE_(ptr noundef nonnull align 8 dereferenceable(48) %23, ptr noundef nonnull align 8 dereferenceable(32) %32)
          to label %297 unwind label %331

297:                                              ; preds = %294
  %298 = call ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %296) #7
  %299 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.20", ptr %37, i32 0, i32 0
  store ptr %298, ptr %299, align 8
  %300 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKiiEES5_(ptr noundef nonnull align 8 dereferenceable(8) %35, ptr noundef nonnull align 8 dereferenceable(8) %37) #7
  br label %301

301:                                              ; preds = %297, %280
  %302 = phi i1 [ true, %280 ], [ %300, %297 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #7
  br i1 %302, label %303, label %346

303:                                              ; preds = %301
  %304 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES_IiiSt4lessIiESaISt4pairIKiiEEES6_IS5_ESaIS8_IKS5_SC_EEEixERSE_(ptr noundef nonnull align 8 dereferenceable(48) %23, ptr noundef nonnull align 8 dereferenceable(32) %32)
          to label %305 unwind label %338

305:                                              ; preds = %303
  call void @llvm.lifetime.start.p0(i64 4, ptr %38) #7
  %306 = load i64, ptr %27, align 8, !tbaa !11
  %307 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %24, i64 noundef %306) #7
  %308 = getelementptr inbounds %struct.strvcfentry, ptr %307, i32 0, i32 3
  %309 = load i16, ptr %308, align 8, !tbaa !37
  %310 = sext i16 %309 to i32
  store i32 %310, ptr %38, align 4, !tbaa !9
  %311 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEEixEOi(ptr noundef nonnull align 8 dereferenceable(48) %304, ptr noundef nonnull align 4 dereferenceable(4) %38)
          to label %312 unwind label %342

312:                                              ; preds = %305
  %313 = load i32, ptr %311, align 4, !tbaa !9
  %314 = add nsw i32 %313, 1
  store i32 %314, ptr %311, align 4, !tbaa !9
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #7
  br label %360

315:                                              ; preds = %273
  %316 = landingpad { ptr, i32 }
          cleanup
  %317 = extractvalue { ptr, i32 } %316, 0
  store ptr %317, ptr %25, align 8
  %318 = extractvalue { ptr, i32 } %316, 1
  store i32 %318, ptr %26, align 4
  br label %362

319:                                              ; preds = %278
  %320 = landingpad { ptr, i32 }
          cleanup
  %321 = extractvalue { ptr, i32 } %320, 0
  store ptr %321, ptr %25, align 8
  %322 = extractvalue { ptr, i32 } %320, 1
  store i32 %322, ptr %26, align 4
  br label %337

323:                                              ; preds = %285
  %324 = landingpad { ptr, i32 }
          cleanup
  %325 = extractvalue { ptr, i32 } %324, 0
  store ptr %325, ptr %25, align 8
  %326 = extractvalue { ptr, i32 } %324, 1
  store i32 %326, ptr %26, align 4
  br label %336

327:                                              ; preds = %287
  %328 = landingpad { ptr, i32 }
          cleanup
  %329 = extractvalue { ptr, i32 } %328, 0
  store ptr %329, ptr %25, align 8
  %330 = extractvalue { ptr, i32 } %328, 1
  store i32 %330, ptr %26, align 4
  br label %335

331:                                              ; preds = %294
  %332 = landingpad { ptr, i32 }
          cleanup
  %333 = extractvalue { ptr, i32 } %332, 0
  store ptr %333, ptr %25, align 8
  %334 = extractvalue { ptr, i32 } %332, 1
  store i32 %334, ptr %26, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #7
  br label %335

335:                                              ; preds = %331, %327
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #7
  br label %336

336:                                              ; preds = %335, %323
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #7
  br label %337

337:                                              ; preds = %336, %319
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #7
  br label %361

338:                                              ; preds = %346, %303
  %339 = landingpad { ptr, i32 }
          cleanup
  %340 = extractvalue { ptr, i32 } %339, 0
  store ptr %340, ptr %25, align 8
  %341 = extractvalue { ptr, i32 } %339, 1
  store i32 %341, ptr %26, align 4
  br label %361

342:                                              ; preds = %305
  %343 = landingpad { ptr, i32 }
          cleanup
  %344 = extractvalue { ptr, i32 } %343, 0
  store ptr %344, ptr %25, align 8
  %345 = extractvalue { ptr, i32 } %343, 1
  store i32 %345, ptr %26, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #7
  br label %361

346:                                              ; preds = %301
  %347 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES_IiiSt4lessIiESaISt4pairIKiiEEES6_IS5_ESaIS8_IKS5_SC_EEEixERSE_(ptr noundef nonnull align 8 dereferenceable(48) %23, ptr noundef nonnull align 8 dereferenceable(32) %32)
          to label %348 unwind label %338

348:                                              ; preds = %346
  call void @llvm.lifetime.start.p0(i64 4, ptr %39) #7
  %349 = load i64, ptr %27, align 8, !tbaa !11
  %350 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %24, i64 noundef %349) #7
  %351 = getelementptr inbounds %struct.strvcfentry, ptr %350, i32 0, i32 3
  %352 = load i16, ptr %351, align 8, !tbaa !37
  %353 = sext i16 %352 to i32
  store i32 %353, ptr %39, align 4, !tbaa !9
  %354 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEEixEOi(ptr noundef nonnull align 8 dereferenceable(48) %347, ptr noundef nonnull align 4 dereferenceable(4) %39)
          to label %355 unwind label %356

355:                                              ; preds = %348
  store i32 1, ptr %354, align 4, !tbaa !9
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #7
  br label %360

356:                                              ; preds = %348
  %357 = landingpad { ptr, i32 }
          cleanup
  %358 = extractvalue { ptr, i32 } %357, 0
  store ptr %358, ptr %25, align 8
  %359 = extractvalue { ptr, i32 } %357, 1
  store i32 %359, ptr %26, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #7
  br label %361

360:                                              ; preds = %355, %312
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %32) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #7
  br label %365

361:                                              ; preds = %356, %342, %338, %337
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #7
  br label %362

362:                                              ; preds = %361, %315
  call void @llvm.lifetime.end.p0(i64 32, ptr %32) #7
  br label %363

363:                                              ; preds = %362, %186
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #7
  br label %364

364:                                              ; preds = %363, %140, %136
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #7
  br label %824

365:                                              ; preds = %360, %113
  br label %366

366:                                              ; preds = %365, %95
  br label %367

367:                                              ; preds = %366
  %368 = load i64, ptr %27, align 8, !tbaa !11
  %369 = add i64 %368, 1
  store i64 %369, ptr %27, align 8, !tbaa !11
  br label %82, !llvm.loop !41

370:                                              ; preds = %86
  %371 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.1)
          to label %372 unwind label %91

372:                                              ; preds = %370
  %373 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %371, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %374 unwind label %91

374:                                              ; preds = %372
  %375 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.2)
          to label %376 unwind label %91

376:                                              ; preds = %374
  %377 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %375, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %378 unwind label %91

378:                                              ; preds = %376
  %379 = load i32, ptr %18, align 4, !tbaa !9
  %380 = load i32, ptr %19, align 4, !tbaa !9
  %381 = add nsw i32 %379, %380
  %382 = load i32, ptr %20, align 4, !tbaa !9
  %383 = add nsw i32 %381, %382
  %384 = load i32, ptr %21, align 4, !tbaa !9
  %385 = add nsw i32 %383, %384
  %386 = load i32, ptr %17, align 4, !tbaa !9
  %387 = add nsw i32 %385, %386
  %388 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, i32 noundef %387)
          to label %389 unwind label %91

389:                                              ; preds = %378
  %390 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %388, ptr noundef @.str.3)
          to label %391 unwind label %91

391:                                              ; preds = %389
  %392 = load i32, ptr %18, align 4, !tbaa !9
  %393 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %390, i32 noundef %392)
          to label %394 unwind label %91

394:                                              ; preds = %391
  %395 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %393, ptr noundef @.str.3)
          to label %396 unwind label %91

396:                                              ; preds = %394
  %397 = load i32, ptr %19, align 4, !tbaa !9
  %398 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %395, i32 noundef %397)
          to label %399 unwind label %91

399:                                              ; preds = %396
  %400 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %398, ptr noundef @.str.3)
          to label %401 unwind label %91

401:                                              ; preds = %399
  %402 = load i32, ptr %20, align 4, !tbaa !9
  %403 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %400, i32 noundef %402)
          to label %404 unwind label %91

404:                                              ; preds = %401
  %405 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %403, ptr noundef @.str.3)
          to label %406 unwind label %91

406:                                              ; preds = %404
  %407 = load i32, ptr %21, align 4, !tbaa !9
  %408 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %405, i32 noundef %407)
          to label %409 unwind label %91

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

411:                                              ; preds = %409
  %412 = load i32, ptr %17, align 4, !tbaa !9
  %413 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %410, i32 noundef %412)
          to label %414 unwind label %91

414:                                              ; preds = %411
  %415 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %413, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %416 unwind label %91

416:                                              ; preds = %414
  call void @llvm.lifetime.start.p0(i64 8, ptr %40) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %41) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %41, ptr noundef nonnull align 8 dereferenceable(32) %4)
          to label %417 unwind label %428

417:                                              ; preds = %416
  %418 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc(ptr noundef nonnull align 8 dereferenceable(32) %41, ptr noundef @.str.4)
          to label %419 unwind label %432

419:                                              ; preds = %417
  %420 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %41) #7
  %421 = invoke noalias ptr @fopen(ptr noundef %420, ptr noundef @.str.5)
          to label %422 unwind label %432

422:                                              ; preds = %419
  store ptr %421, ptr %40, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %42) #7
  store i64 0, ptr %42, align 8, !tbaa !11
  br label %423

423:                                              ; preds = %450, %422
  %424 = load i64, ptr %42, align 8, !tbaa !11
  %425 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %16) #7
  %426 = icmp ult i64 %424, %425
  br i1 %426, label %436, label %427

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

428:                                              ; preds = %416
  %429 = landingpad { ptr, i32 }
          cleanup
  %430 = extractvalue { ptr, i32 } %429, 0
  store ptr %430, ptr %25, align 8
  %431 = extractvalue { ptr, i32 } %429, 1
  store i32 %431, ptr %26, align 4
  br label %823

432:                                              ; preds = %453, %419, %417
  %433 = landingpad { ptr, i32 }
          cleanup
  %434 = extractvalue { ptr, i32 } %433, 0
  store ptr %434, ptr %25, align 8
  %435 = extractvalue { ptr, i32 } %433, 1
  store i32 %435, ptr %26, align 4
  br label %822

436:                                              ; preds = %423
  %437 = load ptr, ptr %40, align 8, !tbaa !5
  %438 = load i64, ptr %42, align 8, !tbaa !11
  %439 = trunc i64 %438 to i32
  %440 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %437, ptr noundef @.str.6, i32 noundef %439) #7
  %441 = load ptr, ptr %40, align 8, !tbaa !5
  %442 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %441, ptr noundef @.str.7, i32 noundef 9) #7
  %443 = load ptr, ptr %40, align 8, !tbaa !5
  %444 = load i64, ptr %42, align 8, !tbaa !11
  %445 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %16, i64 noundef %444) #7
  %446 = load i32, ptr %445, align 4, !tbaa !9
  %447 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %443, ptr noundef @.str.6, i32 noundef %446) #7
  %448 = load ptr, ptr %40, align 8, !tbaa !5
  %449 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %448, ptr noundef @.str.7, i32 noundef 10) #7
  br label %450

450:                                              ; preds = %436
  %451 = load i64, ptr %42, align 8, !tbaa !11
  %452 = add i64 %451, 1
  store i64 %452, ptr %42, align 8, !tbaa !11
  br label %423, !llvm.loop !42

453:                                              ; preds = %427
  %454 = load ptr, ptr %40, align 8, !tbaa !5
  %455 = invoke i32 @fclose(ptr noundef %454)
          to label %456 unwind label %432

456:                                              ; preds = %453
  call void @llvm.lifetime.start.p0(i64 4, ptr %43) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %44) #7
  %457 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %11) #7
  %458 = trunc i64 %457 to i32
  store i32 %458, ptr %44, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %45) #7
  %459 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %12) #7
  %460 = trunc i64 %459 to i32
  store i32 %460, ptr %45, align 4, !tbaa !9
  %461 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3maxIiERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %44, ptr noundef nonnull align 4 dereferenceable(4) %45)
          to label %462 unwind label %482

462:                                              ; preds = %456
  call void @llvm.lifetime.start.p0(i64 4, ptr %46) #7
  %463 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %13) #7
  %464 = trunc i64 %463 to i32
  store i32 %464, ptr %46, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %47) #7
  %465 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %15) #7
  %466 = trunc i64 %465 to i32
  store i32 %466, ptr %47, align 4, !tbaa !9
  %467 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3maxIiERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %46, ptr noundef nonnull align 4 dereferenceable(4) %47)
          to label %468 unwind label %486

468:                                              ; preds = %462
  %469 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3maxIiERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %461, ptr noundef nonnull align 4 dereferenceable(4) %467)
          to label %470 unwind label %486

470:                                              ; preds = %468
  %471 = load i32, ptr %469, align 4, !tbaa !9
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %45) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %44) #7
  store i32 %471, ptr %43, align 4, !tbaa !9
  %472 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %4) #7
  %473 = invoke noalias ptr @fopen(ptr noundef %472, ptr noundef @.str.5)
          to label %474 unwind label %491

474:                                              ; preds = %470
  store ptr %473, ptr %40, align 8, !tbaa !5
  %475 = load ptr, ptr %40, align 8, !tbaa !5
  %476 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %475, ptr noundef @.str.8, ptr noundef @.str.9) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %48) #7
  store i32 0, ptr %48, align 4, !tbaa !9
  br label %477

477:                                              ; preds = %613, %474
  %478 = load i32, ptr %48, align 4, !tbaa !9
  %479 = load i32, ptr %43, align 4, !tbaa !9
  %480 = icmp slt i32 %478, %479
  br i1 %480, label %495, label %481

481:                                              ; preds = %477
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #7
  br label %616

482:                                              ; preds = %456
  %483 = landingpad { ptr, i32 }
          cleanup
  %484 = extractvalue { ptr, i32 } %483, 0
  store ptr %484, ptr %25, align 8
  %485 = extractvalue { ptr, i32 } %483, 1
  store i32 %485, ptr %26, align 4
  br label %490

486:                                              ; preds = %468, %462
  %487 = landingpad { ptr, i32 }
          cleanup
  %488 = extractvalue { ptr, i32 } %487, 0
  store ptr %488, ptr %25, align 8
  %489 = extractvalue { ptr, i32 } %487, 1
  store i32 %489, ptr %26, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #7
  br label %490

490:                                              ; preds = %486, %482
  call void @llvm.lifetime.end.p0(i64 4, ptr %45) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %44) #7
  br label %821

491:                                              ; preds = %623, %621, %619, %616, %470
  %492 = landingpad { ptr, i32 }
          cleanup
  %493 = extractvalue { ptr, i32 } %492, 0
  store ptr %493, ptr %25, align 8
  %494 = extractvalue { ptr, i32 } %492, 1
  store i32 %494, ptr %26, align 4
  br label %821

495:                                              ; preds = %477
  %496 = load i32, ptr %48, align 4, !tbaa !9
  switch i32 %496, label %512 [
    i32 0, label %497
    i32 1, label %500
    i32 2, label %503
    i32 3, label %506
    i32 4, label %509
  ]

497:                                              ; preds = %495
  %498 = load ptr, ptr %40, align 8, !tbaa !5
  %499 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %498, ptr noundef @.str.8, ptr noundef @.str.10) #7
  br label %513

500:                                              ; preds = %495
  %501 = load ptr, ptr %40, align 8, !tbaa !5
  %502 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %501, ptr noundef @.str.8, ptr noundef @.str.11) #7
  br label %513

503:                                              ; preds = %495
  %504 = load ptr, ptr %40, align 8, !tbaa !5
  %505 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %504, ptr noundef @.str.8, ptr noundef @.str.12) #7
  br label %513

506:                                              ; preds = %495
  %507 = load ptr, ptr %40, align 8, !tbaa !5
  %508 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %507, ptr noundef @.str.8, ptr noundef @.str.13) #7
  br label %513

509:                                              ; preds = %495
  %510 = load ptr, ptr %40, align 8, !tbaa !5
  %511 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %510, ptr noundef @.str.8, ptr noundef @.str.14) #7
  br label %513

512:                                              ; preds = %495
  br label %513

513:                                              ; preds = %512, %509, %506, %503, %500, %497
  %514 = load ptr, ptr %40, align 8, !tbaa !5
  %515 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %514, ptr noundef @.str.7, i32 noundef 9) #7
  %516 = load i32, ptr %48, align 4, !tbaa !9
  %517 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %11) #7
  %518 = trunc i64 %517 to i32
  %519 = icmp slt i32 %516, %518
  br i1 %519, label %520, label %527

520:                                              ; preds = %513
  %521 = load ptr, ptr %40, align 8, !tbaa !5
  %522 = load i32, ptr %48, align 4, !tbaa !9
  %523 = sext i32 %522 to i64
  %524 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %523) #7
  %525 = load i32, ptr %524, align 4, !tbaa !9
  %526 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %521, ptr noundef @.str.6, i32 noundef %525) #7
  br label %530

527:                                              ; preds = %513
  %528 = load ptr, ptr %40, align 8, !tbaa !5
  %529 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %528, ptr noundef @.str.6, i32 noundef 0) #7
  br label %530

530:                                              ; preds = %527, %520
  %531 = load ptr, ptr %40, align 8, !tbaa !5
  %532 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %531, ptr noundef @.str.7, i32 noundef 9) #7
  %533 = load i32, ptr %48, align 4, !tbaa !9
  %534 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %12) #7
  %535 = trunc i64 %534 to i32
  %536 = icmp slt i32 %533, %535
  br i1 %536, label %537, label %544

537:                                              ; preds = %530
  %538 = load ptr, ptr %40, align 8, !tbaa !5
  %539 = load i32, ptr %48, align 4, !tbaa !9
  %540 = sext i32 %539 to i64
  %541 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %540) #7
  %542 = load i32, ptr %541, align 4, !tbaa !9
  %543 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %538, ptr noundef @.str.6, i32 noundef %542) #7
  br label %547

544:                                              ; preds = %530
  %545 = load ptr, ptr %40, align 8, !tbaa !5
  %546 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %545, ptr noundef @.str.6, i32 noundef 0) #7
  br label %547

547:                                              ; preds = %544, %537
  %548 = load ptr, ptr %40, align 8, !tbaa !5
  %549 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %548, ptr noundef @.str.7, i32 noundef 9) #7
  %550 = load i32, ptr %48, align 4, !tbaa !9
  %551 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %13) #7
  %552 = trunc i64 %551 to i32
  %553 = icmp slt i32 %550, %552
  br i1 %553, label %554, label %561

554:                                              ; preds = %547
  %555 = load ptr, ptr %40, align 8, !tbaa !5
  %556 = load i32, ptr %48, align 4, !tbaa !9
  %557 = sext i32 %556 to i64
  %558 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %13, i64 noundef %557) #7
  %559 = load i32, ptr %558, align 4, !tbaa !9
  %560 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %555, ptr noundef @.str.6, i32 noundef %559) #7
  br label %564

561:                                              ; preds = %547
  %562 = load ptr, ptr %40, align 8, !tbaa !5
  %563 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %562, ptr noundef @.str.6, i32 noundef 0) #7
  br label %564

564:                                              ; preds = %561, %554
  %565 = load ptr, ptr %40, align 8, !tbaa !5
  %566 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %565, ptr noundef @.str.7, i32 noundef 9) #7
  %567 = load i32, ptr %48, align 4, !tbaa !9
  %568 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %14) #7
  %569 = trunc i64 %568 to i32
  %570 = icmp slt i32 %567, %569
  br i1 %570, label %571, label %578

571:                                              ; preds = %564
  %572 = load ptr, ptr %40, align 8, !tbaa !5
  %573 = load i32, ptr %48, align 4, !tbaa !9
  %574 = sext i32 %573 to i64
  %575 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %14, i64 noundef %574) #7
  %576 = load i32, ptr %575, align 4, !tbaa !9
  %577 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %572, ptr noundef @.str.6, i32 noundef %576) #7
  br label %581

578:                                              ; preds = %564
  %579 = load ptr, ptr %40, align 8, !tbaa !5
  %580 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %579, ptr noundef @.str.6, i32 noundef 0) #7
  br label %581

581:                                              ; preds = %578, %571
  %582 = load ptr, ptr %40, align 8, !tbaa !5
  %583 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %582, ptr noundef @.str.7, i32 noundef 9) #7
  %584 = load i32, ptr %48, align 4, !tbaa !9
  %585 = icmp eq i32 %584, 0
  br i1 %585, label %586, label %590

586:                                              ; preds = %581
  %587 = load ptr, ptr %40, align 8, !tbaa !5
  %588 = load i32, ptr %17, align 4, !tbaa !9
  %589 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %587, ptr noundef @.str.6, i32 noundef %588) #7
  br label %593

590:                                              ; preds = %581
  %591 = load ptr, ptr %40, align 8, !tbaa !5
  %592 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %591, ptr noundef @.str.6, i32 noundef 0) #7
  br label %593

593:                                              ; preds = %590, %586
  %594 = load ptr, ptr %40, align 8, !tbaa !5
  %595 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %594, ptr noundef @.str.7, i32 noundef 9) #7
  %596 = load i32, ptr %48, align 4, !tbaa !9
  %597 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %15) #7
  %598 = trunc i64 %597 to i32
  %599 = icmp slt i32 %596, %598
  br i1 %599, label %600, label %607

600:                                              ; preds = %593
  %601 = load ptr, ptr %40, align 8, !tbaa !5
  %602 = load i32, ptr %48, align 4, !tbaa !9
  %603 = sext i32 %602 to i64
  %604 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %603) #7
  %605 = load i32, ptr %604, align 4, !tbaa !9
  %606 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %601, ptr noundef @.str.6, i32 noundef %605) #7
  br label %610

607:                                              ; preds = %593
  %608 = load ptr, ptr %40, align 8, !tbaa !5
  %609 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %608, ptr noundef @.str.6, i32 noundef 0) #7
  br label %610

610:                                              ; preds = %607, %600
  %611 = load ptr, ptr %40, align 8, !tbaa !5
  %612 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %611, ptr noundef @.str.7, i32 noundef 10) #7
  br label %613

613:                                              ; preds = %610
  %614 = load i32, ptr %48, align 4, !tbaa !9
  %615 = add nsw i32 %614, 1
  store i32 %615, ptr %48, align 4, !tbaa !9
  br label %477, !llvm.loop !43

616:                                              ; preds = %481
  %617 = load ptr, ptr %40, align 8, !tbaa !5
  %618 = invoke i32 @fclose(ptr noundef %617)
          to label %619 unwind label %491

619:                                              ; preds = %616
  %620 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %41, ptr noundef nonnull align 8 dereferenceable(32) %4)
          to label %621 unwind label %491

621:                                              ; preds = %619
  %622 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc(ptr noundef nonnull align 8 dereferenceable(32) %41, ptr noundef @.str.15)
          to label %623 unwind label %491

623:                                              ; preds = %621
  %624 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %41) #7
  %625 = invoke noalias ptr @fopen(ptr noundef %624, ptr noundef @.str.5)
          to label %626 unwind label %491

626:                                              ; preds = %623
  store ptr %625, ptr %40, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %49) #7
  store i8 1, ptr %49, align 1, !tbaa !44
  call void @llvm.lifetime.start.p0(i64 8, ptr %50) #7
  %627 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES_IiiSt4lessIiESaISt4pairIKiiEEES6_IS5_ESaIS8_IKS5_SC_EEE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %23) #7
  %628 = getelementptr inbounds %"struct.std::_Rb_tree_iterator", ptr %50, i32 0, i32 0
  store ptr %627, ptr %628, align 8
  br label %629

629:                                              ; preds = %808, %626
  call void @llvm.lifetime.start.p0(i64 8, ptr %51) #7
  %630 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES_IiiSt4lessIiESaISt4pairIKiiEEES6_IS5_ESaIS8_IKS5_SC_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %23) #7
  %631 = getelementptr inbounds %"struct.std::_Rb_tree_iterator", ptr %51, i32 0, i32 0
  store ptr %630, ptr %631, align 8
  %632 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEESI_(ptr noundef nonnull align 8 dereferenceable(8) %50, ptr noundef nonnull align 8 dereferenceable(8) %51) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %51) #7
  br i1 %632, label %634, label %633

633:                                              ; preds = %629
  call void @llvm.lifetime.end.p0(i64 8, ptr %50) #7
  br label %812

634:                                              ; preds = %629
  %635 = load i8, ptr %49, align 1, !tbaa !44, !range !45, !noundef !46
  %636 = trunc i8 %635 to i1
  br i1 %636, label %637, label %640

637:                                              ; preds = %634
  %638 = load ptr, ptr %40, align 8, !tbaa !5
  %639 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %638, ptr noundef @.str.8, ptr noundef @.str.16) #7
  store i8 0, ptr %49, align 1, !tbaa !44
  br label %640

640:                                              ; preds = %637, %634
  %641 = load ptr, ptr %40, align 8, !tbaa !5
  %642 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %50) #7
  %643 = getelementptr inbounds %"struct.std::pair.27", ptr %642, i32 0, i32 0
  %644 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %643) #7
  %645 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %641, ptr noundef @.str.8, ptr noundef %644) #7
  %646 = load ptr, ptr %40, align 8, !tbaa !5
  %647 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %646, ptr noundef @.str.7, i32 noundef 9) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %52) #7
  %648 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %50) #7
  %649 = getelementptr inbounds %"struct.std::pair.27", ptr %648, i32 0, i32 1
  call void @llvm.lifetime.start.p0(i64 4, ptr %53) #7
  store i32 0, ptr %53, align 4, !tbaa !9
  %650 = invoke ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEE4findERS3_(ptr noundef nonnull align 8 dereferenceable(48) %649, ptr noundef nonnull align 4 dereferenceable(4) %53)
          to label %651 unwind label %666

651:                                              ; preds = %640
  %652 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.20", ptr %52, i32 0, i32 0
  store ptr %650, ptr %652, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %54) #7
  %653 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %50) #7
  %654 = getelementptr inbounds %"struct.std::pair.27", ptr %653, i32 0, i32 1
  %655 = call ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %654) #7
  %656 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.20", ptr %54, i32 0, i32 0
  store ptr %655, ptr %656, align 8
  %657 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKiiEES5_(ptr noundef nonnull align 8 dereferenceable(8) %52, ptr noundef nonnull align 8 dereferenceable(8) %54) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %54) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %52) #7
  br i1 %657, label %658, label %674

658:                                              ; preds = %651
  %659 = load ptr, ptr %40, align 8, !tbaa !5
  %660 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %50) #7
  %661 = getelementptr inbounds %"struct.std::pair.27", ptr %660, i32 0, i32 1
  call void @llvm.lifetime.start.p0(i64 4, ptr %55) #7
  store i32 0, ptr %55, align 4, !tbaa !9
  %662 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEEixEOi(ptr noundef nonnull align 8 dereferenceable(48) %661, ptr noundef nonnull align 4 dereferenceable(4) %55)
          to label %663 unwind label %670

663:                                              ; preds = %658
  %664 = load i32, ptr %662, align 4, !tbaa !9
  %665 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %659, ptr noundef @.str.6, i32 noundef %664) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #7
  br label %677

666:                                              ; preds = %640
  %667 = landingpad { ptr, i32 }
          cleanup
  %668 = extractvalue { ptr, i32 } %667, 0
  store ptr %668, ptr %25, align 8
  %669 = extractvalue { ptr, i32 } %667, 1
  store i32 %669, ptr %26, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %52) #7
  br label %811

670:                                              ; preds = %658
  %671 = landingpad { ptr, i32 }
          cleanup
  %672 = extractvalue { ptr, i32 } %671, 0
  store ptr %672, ptr %25, align 8
  %673 = extractvalue { ptr, i32 } %671, 1
  store i32 %673, ptr %26, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #7
  br label %811

674:                                              ; preds = %651
  %675 = load ptr, ptr %40, align 8, !tbaa !5
  %676 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %675, ptr noundef @.str.6, i32 noundef 0) #7
  br label %677

677:                                              ; preds = %674, %663
  %678 = load ptr, ptr %40, align 8, !tbaa !5
  %679 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %678, ptr noundef @.str.7, i32 noundef 9) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %56) #7
  %680 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %50) #7
  %681 = getelementptr inbounds %"struct.std::pair.27", ptr %680, i32 0, i32 1
  call void @llvm.lifetime.start.p0(i64 4, ptr %57) #7
  store i32 1, ptr %57, align 4, !tbaa !9
  %682 = invoke ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEE4findERS3_(ptr noundef nonnull align 8 dereferenceable(48) %681, ptr noundef nonnull align 4 dereferenceable(4) %57)
          to label %683 unwind label %698

683:                                              ; preds = %677
  %684 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.20", ptr %56, i32 0, i32 0
  store ptr %682, ptr %684, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %58) #7
  %685 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %50) #7
  %686 = getelementptr inbounds %"struct.std::pair.27", ptr %685, i32 0, i32 1
  %687 = call ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %686) #7
  %688 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.20", ptr %58, i32 0, i32 0
  store ptr %687, ptr %688, align 8
  %689 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKiiEES5_(ptr noundef nonnull align 8 dereferenceable(8) %56, ptr noundef nonnull align 8 dereferenceable(8) %58) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %58) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %56) #7
  br i1 %689, label %690, label %706

690:                                              ; preds = %683
  %691 = load ptr, ptr %40, align 8, !tbaa !5
  %692 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %50) #7
  %693 = getelementptr inbounds %"struct.std::pair.27", ptr %692, i32 0, i32 1
  call void @llvm.lifetime.start.p0(i64 4, ptr %59) #7
  store i32 1, ptr %59, align 4, !tbaa !9
  %694 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEEixEOi(ptr noundef nonnull align 8 dereferenceable(48) %693, ptr noundef nonnull align 4 dereferenceable(4) %59)
          to label %695 unwind label %702

695:                                              ; preds = %690
  %696 = load i32, ptr %694, align 4, !tbaa !9
  %697 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %691, ptr noundef @.str.6, i32 noundef %696) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #7
  br label %709

698:                                              ; preds = %677
  %699 = landingpad { ptr, i32 }
          cleanup
  %700 = extractvalue { ptr, i32 } %699, 0
  store ptr %700, ptr %25, align 8
  %701 = extractvalue { ptr, i32 } %699, 1
  store i32 %701, ptr %26, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %56) #7
  br label %811

702:                                              ; preds = %690
  %703 = landingpad { ptr, i32 }
          cleanup
  %704 = extractvalue { ptr, i32 } %703, 0
  store ptr %704, ptr %25, align 8
  %705 = extractvalue { ptr, i32 } %703, 1
  store i32 %705, ptr %26, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #7
  br label %811

706:                                              ; preds = %683
  %707 = load ptr, ptr %40, align 8, !tbaa !5
  %708 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %707, ptr noundef @.str.6, i32 noundef 0) #7
  br label %709

709:                                              ; preds = %706, %695
  %710 = load ptr, ptr %40, align 8, !tbaa !5
  %711 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %710, ptr noundef @.str.7, i32 noundef 9) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %60) #7
  %712 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %50) #7
  %713 = getelementptr inbounds %"struct.std::pair.27", ptr %712, i32 0, i32 1
  call void @llvm.lifetime.start.p0(i64 4, ptr %61) #7
  store i32 2, ptr %61, align 4, !tbaa !9
  %714 = invoke ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEE4findERS3_(ptr noundef nonnull align 8 dereferenceable(48) %713, ptr noundef nonnull align 4 dereferenceable(4) %61)
          to label %715 unwind label %730

715:                                              ; preds = %709
  %716 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.20", ptr %60, i32 0, i32 0
  store ptr %714, ptr %716, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %62) #7
  %717 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %50) #7
  %718 = getelementptr inbounds %"struct.std::pair.27", ptr %717, i32 0, i32 1
  %719 = call ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %718) #7
  %720 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.20", ptr %62, i32 0, i32 0
  store ptr %719, ptr %720, align 8
  %721 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKiiEES5_(ptr noundef nonnull align 8 dereferenceable(8) %60, ptr noundef nonnull align 8 dereferenceable(8) %62) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %62) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %60) #7
  br i1 %721, label %722, label %738

722:                                              ; preds = %715
  %723 = load ptr, ptr %40, align 8, !tbaa !5
  %724 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %50) #7
  %725 = getelementptr inbounds %"struct.std::pair.27", ptr %724, i32 0, i32 1
  call void @llvm.lifetime.start.p0(i64 4, ptr %63) #7
  store i32 2, ptr %63, align 4, !tbaa !9
  %726 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEEixEOi(ptr noundef nonnull align 8 dereferenceable(48) %725, ptr noundef nonnull align 4 dereferenceable(4) %63)
          to label %727 unwind label %734

727:                                              ; preds = %722
  %728 = load i32, ptr %726, align 4, !tbaa !9
  %729 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %723, ptr noundef @.str.6, i32 noundef %728) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #7
  br label %741

730:                                              ; preds = %709
  %731 = landingpad { ptr, i32 }
          cleanup
  %732 = extractvalue { ptr, i32 } %731, 0
  store ptr %732, ptr %25, align 8
  %733 = extractvalue { ptr, i32 } %731, 1
  store i32 %733, ptr %26, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %60) #7
  br label %811

734:                                              ; preds = %722
  %735 = landingpad { ptr, i32 }
          cleanup
  %736 = extractvalue { ptr, i32 } %735, 0
  store ptr %736, ptr %25, align 8
  %737 = extractvalue { ptr, i32 } %735, 1
  store i32 %737, ptr %26, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #7
  br label %811

738:                                              ; preds = %715
  %739 = load ptr, ptr %40, align 8, !tbaa !5
  %740 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %739, ptr noundef @.str.6, i32 noundef 0) #7
  br label %741

741:                                              ; preds = %738, %727
  %742 = load ptr, ptr %40, align 8, !tbaa !5
  %743 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %742, ptr noundef @.str.7, i32 noundef 9) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %64) #7
  %744 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %50) #7
  %745 = getelementptr inbounds %"struct.std::pair.27", ptr %744, i32 0, i32 1
  call void @llvm.lifetime.start.p0(i64 4, ptr %65) #7
  store i32 4, ptr %65, align 4, !tbaa !9
  %746 = invoke ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEE4findERS3_(ptr noundef nonnull align 8 dereferenceable(48) %745, ptr noundef nonnull align 4 dereferenceable(4) %65)
          to label %747 unwind label %762

747:                                              ; preds = %741
  %748 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.20", ptr %64, i32 0, i32 0
  store ptr %746, ptr %748, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %66) #7
  %749 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %50) #7
  %750 = getelementptr inbounds %"struct.std::pair.27", ptr %749, i32 0, i32 1
  %751 = call ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %750) #7
  %752 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.20", ptr %66, i32 0, i32 0
  store ptr %751, ptr %752, align 8
  %753 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKiiEES5_(ptr noundef nonnull align 8 dereferenceable(8) %64, ptr noundef nonnull align 8 dereferenceable(8) %66) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %66) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %64) #7
  br i1 %753, label %754, label %770

754:                                              ; preds = %747
  %755 = load ptr, ptr %40, align 8, !tbaa !5
  %756 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %50) #7
  %757 = getelementptr inbounds %"struct.std::pair.27", ptr %756, i32 0, i32 1
  call void @llvm.lifetime.start.p0(i64 4, ptr %67) #7
  store i32 4, ptr %67, align 4, !tbaa !9
  %758 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEEixEOi(ptr noundef nonnull align 8 dereferenceable(48) %757, ptr noundef nonnull align 4 dereferenceable(4) %67)
          to label %759 unwind label %766

759:                                              ; preds = %754
  %760 = load i32, ptr %758, align 4, !tbaa !9
  %761 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %755, ptr noundef @.str.6, i32 noundef %760) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #7
  br label %773

762:                                              ; preds = %741
  %763 = landingpad { ptr, i32 }
          cleanup
  %764 = extractvalue { ptr, i32 } %763, 0
  store ptr %764, ptr %25, align 8
  %765 = extractvalue { ptr, i32 } %763, 1
  store i32 %765, ptr %26, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %64) #7
  br label %811

766:                                              ; preds = %754
  %767 = landingpad { ptr, i32 }
          cleanup
  %768 = extractvalue { ptr, i32 } %767, 0
  store ptr %768, ptr %25, align 8
  %769 = extractvalue { ptr, i32 } %767, 1
  store i32 %769, ptr %26, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #7
  br label %811

770:                                              ; preds = %747
  %771 = load ptr, ptr %40, align 8, !tbaa !5
  %772 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %771, ptr noundef @.str.6, i32 noundef 0) #7
  br label %773

773:                                              ; preds = %770, %759
  %774 = load ptr, ptr %40, align 8, !tbaa !5
  %775 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %774, ptr noundef @.str.7, i32 noundef 9) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %68) #7
  %776 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %50) #7
  %777 = getelementptr inbounds %"struct.std::pair.27", ptr %776, i32 0, i32 1
  call void @llvm.lifetime.start.p0(i64 4, ptr %69) #7
  store i32 3, ptr %69, align 4, !tbaa !9
  %778 = invoke ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEE4findERS3_(ptr noundef nonnull align 8 dereferenceable(48) %777, ptr noundef nonnull align 4 dereferenceable(4) %69)
          to label %779 unwind label %794

779:                                              ; preds = %773
  %780 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.20", ptr %68, i32 0, i32 0
  store ptr %778, ptr %780, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %70) #7
  %781 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %50) #7
  %782 = getelementptr inbounds %"struct.std::pair.27", ptr %781, i32 0, i32 1
  %783 = call ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %782) #7
  %784 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.20", ptr %70, i32 0, i32 0
  store ptr %783, ptr %784, align 8
  %785 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKiiEES5_(ptr noundef nonnull align 8 dereferenceable(8) %68, ptr noundef nonnull align 8 dereferenceable(8) %70) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %70) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %68) #7
  br i1 %785, label %786, label %802

786:                                              ; preds = %779
  %787 = load ptr, ptr %40, align 8, !tbaa !5
  %788 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %50) #7
  %789 = getelementptr inbounds %"struct.std::pair.27", ptr %788, i32 0, i32 1
  call void @llvm.lifetime.start.p0(i64 4, ptr %71) #7
  store i32 3, ptr %71, align 4, !tbaa !9
  %790 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEEixEOi(ptr noundef nonnull align 8 dereferenceable(48) %789, ptr noundef nonnull align 4 dereferenceable(4) %71)
          to label %791 unwind label %798

791:                                              ; preds = %786
  %792 = load i32, ptr %790, align 4, !tbaa !9
  %793 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %787, ptr noundef @.str.6, i32 noundef %792) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %71) #7
  br label %805

794:                                              ; preds = %773
  %795 = landingpad { ptr, i32 }
          cleanup
  %796 = extractvalue { ptr, i32 } %795, 0
  store ptr %796, ptr %25, align 8
  %797 = extractvalue { ptr, i32 } %795, 1
  store i32 %797, ptr %26, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %68) #7
  br label %811

798:                                              ; preds = %786
  %799 = landingpad { ptr, i32 }
          cleanup
  %800 = extractvalue { ptr, i32 } %799, 0
  store ptr %800, ptr %25, align 8
  %801 = extractvalue { ptr, i32 } %799, 1
  store i32 %801, ptr %26, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %71) #7
  br label %811

802:                                              ; preds = %779
  %803 = load ptr, ptr %40, align 8, !tbaa !5
  %804 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %803, ptr noundef @.str.6, i32 noundef 0) #7
  br label %805

805:                                              ; preds = %802, %791
  %806 = load ptr, ptr %40, align 8, !tbaa !5
  %807 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %806, ptr noundef @.str.7, i32 noundef 10) #7
  br label %808

808:                                              ; preds = %805
  %809 = call ptr @_ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEppEi(ptr noundef nonnull align 8 dereferenceable(8) %50, i32 noundef 0) #7
  %810 = getelementptr inbounds %"struct.std::_Rb_tree_iterator", ptr %72, i32 0, i32 0
  store ptr %809, ptr %810, align 8
  br label %629, !llvm.loop !47

811:                                              ; preds = %798, %794, %766, %762, %734, %730, %702, %698, %670, %666
  call void @llvm.lifetime.end.p0(i64 8, ptr %50) #7
  br label %820

812:                                              ; preds = %633
  %813 = load ptr, ptr %40, align 8, !tbaa !5
  %814 = invoke i32 @fclose(ptr noundef %813)
          to label %815 unwind label %816

815:                                              ; preds = %812
  call void @llvm.lifetime.end.p0(i64 1, ptr %49) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %41) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #7
  call void @_ZNSt6vectorI11strvcfentrySaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %24) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %24) #7
  call void @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES_IiiSt4lessIiESaISt4pairIKiiEEES6_IS5_ESaIS8_IKS5_SC_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %23) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %23) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #7
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %16) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %16) #7
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %15) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %15) #7
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %14) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %14) #7
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %13) #7
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %12) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %12) #7
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %11) #7
  ret void

816:                                              ; preds = %812
  %817 = landingpad { ptr, i32 }
          cleanup
  %818 = extractvalue { ptr, i32 } %817, 0
  store ptr %818, ptr %25, align 8
  %819 = extractvalue { ptr, i32 } %817, 1
  store i32 %819, ptr %26, align 4
  br label %820

820:                                              ; preds = %816, %811
  call void @llvm.lifetime.end.p0(i64 1, ptr %49) #7
  br label %821

821:                                              ; preds = %820, %491, %490
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #7
  br label %822

822:                                              ; preds = %821, %432
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #7
  br label %823

823:                                              ; preds = %822, %428
  call void @llvm.lifetime.end.p0(i64 32, ptr %41) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #7
  br label %824

824:                                              ; preds = %823, %364, %91
  call void @_ZNSt6vectorI11strvcfentrySaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %24) #7
  br label %825

825:                                              ; preds = %824, %87
  call void @llvm.lifetime.end.p0(i64 24, ptr %24) #7
  call void @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES_IiiSt4lessIiESaISt4pairIKiiEEES6_IS5_ESaIS8_IKS5_SC_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %23) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr %23) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #7
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %16) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %16) #7
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %15) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %15) #7
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %14) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %14) #7
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %13) #7
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %12) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %12) #7
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %11) #7
  br label %826

826:                                              ; preds = %825
  %827 = load ptr, ptr %25, align 8
  %828 = load i32, ptr %26, align 4
  %829 = insertvalue { ptr, i32 } poison, ptr %827, 0
  %830 = insertvalue { ptr, i32 } %829, i32 %828, 1
  resume { ptr, i32 } %830
}

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

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

declare void @_Z9parse_vcfRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi(ptr dead_on_unwind writable sret(%"class.std::vector.6") align 8, ptr noundef nonnull align 8 dereferenceable(32), i32 noundef) #3

declare i32 @__gxx_personality_v0(...)

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

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

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

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES_IiiSt4lessIiESaISt4pairIKiiEEES6_IS5_ESaIS8_IKS5_SC_EEE4findERSE_(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 8 dereferenceable(32)) #0 align 2

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES_IiiSt4lessIiESaISt4pairIKiiEEES6_IS5_ESaIS8_IKS5_SC_EEEixERSE_(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 8 dereferenceable(32)) #0 align 2

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

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

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

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

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

declare noalias ptr @fopen(ptr noundef, ptr noundef) #3

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

; Function Attrs: nounwind
declare i32 @fprintf(ptr noundef, ptr noundef, ...) #5

declare i32 @fclose(ptr noundef) #3

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3maxIiERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4)) #6

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

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

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

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

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

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

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"int", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"long", !7, i64 0}
!13 = !{!14, !10, i64 208}
!14 = !{!"_ZTS11strvcfentry", !15, i64 0, !17, i64 32, !17, i64 72, !18, i64 112, !19, i64 120, !10, i64 168, !10, i64 172, !27, i64 176, !31, i64 200, !33, i64 204, !15, i64 216, !10, i64 248, !15, i64 256, !34, i64 288, !15, i64 296, !10, i64 328, !35, i64 336, !33, i64 400, !33, i64 408, !10, i64 416}
!15 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !16, i64 0, !12, i64 8, !7, i64 16}
!16 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !6, i64 0}
!17 = !{!"_ZTS13strcoordinate", !10, i64 0, !15, i64 8}
!18 = !{!"short", !7, i64 0}
!19 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEE", !20, i64 0}
!20 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE", !21, i64 0}
!21 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE13_Rb_tree_implISC_Lb1EEE", !22, i64 0, !24, i64 8}
!22 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE", !23, i64 0}
!23 = !{!"_ZTSSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE"}
!24 = !{!"_ZTSSt15_Rb_tree_header", !25, i64 0, !12, i64 32}
!25 = !{!"_ZTSSt18_Rb_tree_node_base", !26, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!26 = !{!"_ZTSSt14_Rb_tree_color", !7, i64 0}
!27 = !{!"_ZTSSt6vectorIiSaIiEE", !28, i64 0}
!28 = !{!"_ZTSSt12_Vector_baseIiSaIiEE", !29, i64 0}
!29 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE12_Vector_implE", !30, i64 0}
!30 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!31 = !{!"_ZTSSt4pairIbbE", !32, i64 0, !32, i64 1}
!32 = !{!"bool", !7, i64 0}
!33 = !{!"_ZTSSt4pairIiiE", !10, i64 0, !10, i64 4}
!34 = !{!"double", !7, i64 0}
!35 = !{!"_ZTSSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_E", !15, i64 0, !15, i64 32}
!36 = !{!14, !10, i64 248}
!37 = !{!14, !18, i64 112}
!38 = distinct !{!38, !39}
!39 = !{!"llvm.loop.mustprogress"}
!40 = !{!14, !10, i64 32}
!41 = distinct !{!41, !39}
!42 = distinct !{!42, !39}
!43 = distinct !{!43, !39}
!44 = !{!32, !32, i64 0}
!45 = !{i8 0, i8 2}
!46 = !{}
!47 = distinct !{!47, !39}


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

%"class.std::basic_ostream" = type { ptr, %"class.std::basic_ios" }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"class.std::locale" = type { ptr }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl" }
%"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl" = type { %"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl_data" }
%"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::map" = type { %"class.std::_Rb_tree" }
%"class.std::_Rb_tree" = type { %"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::map<int, int>>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::map<int, int>>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::map<int, int>>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::map<int, int>>>, std::less<std::__cxx11::basic_string<char>>>::_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.6" = type { %"struct.std::_Vector_base.7" }
%"struct.std::_Vector_base.7" = type { %"struct.std::_Vector_base<strvcfentry, std::allocator<strvcfentry>>::_Vector_impl" }
%"struct.std::_Vector_base<strvcfentry, std::allocator<strvcfentry>>::_Vector_impl" = type { %"struct.std::_Vector_base<strvcfentry, std::allocator<strvcfentry>>::_Vector_impl_data" }
%"struct.std::_Vector_base<strvcfentry, std::allocator<strvcfentry>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"struct.std::_Rb_tree_iterator" = type { ptr }
%"struct.std::_Rb_tree_iterator.20" = type { ptr }

@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@.str = external hidden unnamed_addr constant [13 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [25 x i8], align 1
@switch.table._Z10summary_SVNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiS4_ = private unnamed_addr constant [5 x ptr] [ptr @.str.10, ptr @.str.11, ptr @.str.12, ptr @.str.13, ptr @.str.14], align 8

; Function Attrs: mustprogress uwtable
declare dso_local void @_Z6adjustRSt6vectorIiSaIiEEi(ptr noundef nonnull align 8 dereferenceable(24), i32 noundef) local_unnamed_addr #0

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

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i32 @_Z11get_supportSt6vectorIiSaIiEE(ptr noundef) local_unnamed_addr #1

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i32 @_Z8bin_sized(double noundef) local_unnamed_addr #1

; Function Attrs: mustprogress uwtable
define dso_local void @_Z10summary_SVNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiS4_(ptr noundef %0, i32 noundef %1, i32 noundef %2, i32 noundef %3, ptr noundef %4) local_unnamed_addr #0 personality ptr @__gxx_personality_v0 {
  %6 = alloca %"class.std::vector", align 8
  %7 = alloca %"class.std::vector", align 8
  %8 = alloca %"class.std::vector", align 8
  %9 = alloca %"class.std::vector", align 8
  %10 = alloca %"class.std::vector", align 8
  %11 = alloca %"class.std::vector", align 8
  %12 = alloca %"class.std::map", align 8
  %13 = alloca %"class.std::vector.6", align 8
  %14 = alloca %"class.std::vector", align 8
  %15 = alloca i32, align 4
  %16 = alloca %"class.std::__cxx11::basic_string", align 8
  %17 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %18 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %19 = alloca %"struct.std::_Rb_tree_iterator.20", align 8
  %20 = alloca i32, align 4
  %21 = alloca %"struct.std::_Rb_tree_iterator.20", align 8
  %22 = alloca i32, align 4
  %23 = alloca i32, align 4
  %24 = alloca %"class.std::__cxx11::basic_string", align 8
  %25 = alloca i32, align 4
  %26 = alloca i32, align 4
  %27 = alloca i32, align 4
  %28 = alloca i32, align 4
  %29 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %30 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %31 = alloca %"struct.std::_Rb_tree_iterator.20", align 8
  %32 = alloca i32, align 4
  %33 = alloca %"struct.std::_Rb_tree_iterator.20", align 8
  %34 = alloca i32, align 4
  %35 = alloca %"struct.std::_Rb_tree_iterator.20", align 8
  %36 = alloca i32, align 4
  %37 = alloca %"struct.std::_Rb_tree_iterator.20", align 8
  %38 = alloca i32, align 4
  %39 = alloca %"struct.std::_Rb_tree_iterator.20", align 8
  %40 = alloca i32, align 4
  %41 = alloca %"struct.std::_Rb_tree_iterator.20", align 8
  %42 = alloca i32, align 4
  %43 = alloca %"struct.std::_Rb_tree_iterator.20", align 8
  %44 = alloca i32, align 4
  %45 = alloca %"struct.std::_Rb_tree_iterator.20", align 8
  %46 = alloca i32, align 4
  %47 = alloca %"struct.std::_Rb_tree_iterator.20", align 8
  %48 = alloca i32, align 4
  %49 = alloca %"struct.std::_Rb_tree_iterator.20", align 8
  %50 = alloca i32, align 4
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %6) #7
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %7) #7
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %7) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %8) #7
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %8) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %9) #7
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %10) #7
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %11) #7
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #7
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %12) #7
  call void @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES_IiiSt4lessIiESaISt4pairIKiiEEES6_IS5_ESaIS8_IKS5_SC_EEEC2Ev(ptr noundef nonnull align 8 dereferenceable(48) %12) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %13) #7
  invoke void @_Z9parse_vcfRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi(ptr dead_on_unwind nonnull writable sret(%"class.std::vector.6") align 8 %13, ptr noundef nonnull align 8 dereferenceable(32) %0, i32 noundef %1)
          to label %51 unwind label %61

51:                                               ; preds = %5
  %52 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str)
          to label %53 unwind label %63

53:                                               ; preds = %51
  %54 = call noundef i64 @_ZNKSt6vectorI11strvcfentrySaIS0_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %13) #7
  %55 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %52, i64 noundef %54)
          to label %56 unwind label %63

56:                                               ; preds = %53
  %57 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %55, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %.preheader179 unwind label %63

.preheader179:                                    ; preds = %56
  %58 = call noundef i64 @_ZNKSt6vectorI11strvcfentrySaIS0_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %13) #7
  %.not263 = icmp eq i64 %58, 0
  br i1 %.not263, label %._crit_edge246, label %.lr.ph245

.lr.ph245:                                        ; preds = %.preheader179
  %59 = icmp slt i32 %2, 0
  br label %65

._crit_edge246:                                   ; preds = %244, %.preheader179
  %.0157.lcssa = phi i32 [ 0, %.preheader179 ], [ %.2159, %244 ]
  %.0134.lcssa = phi i32 [ 0, %.preheader179 ], [ %.2136, %244 ]
  %.0131.lcssa = phi i32 [ 0, %.preheader179 ], [ %.2133, %244 ]
  %.0127.lcssa = phi i32 [ 0, %.preheader179 ], [ %.2129, %244 ]
  %.0.lcssa = phi i32 [ 0, %.preheader179 ], [ %.2, %244 ]
  %60 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.1)
          to label %248 unwind label %63

61:                                               ; preds = %5
  %62 = landingpad { ptr, i32 }
          cleanup
  br label %561

63:                                               ; preds = %280, %278, %276, %274, %272, %270, %268, %266, %264, %262, %260, %254, %252, %250, %248, %._crit_edge246, %56, %53, %51
  %64 = landingpad { ptr, i32 }
          cleanup
  br label %560

65:                                               ; preds = %.lr.ph245, %244
  %.0244 = phi i32 [ 0, %.lr.ph245 ], [ %.2, %244 ]
  %.0127243 = phi i32 [ 0, %.lr.ph245 ], [ %.2129, %244 ]
  %.0131242 = phi i32 [ 0, %.lr.ph245 ], [ %.2133, %244 ]
  %.0134241 = phi i32 [ 0, %.lr.ph245 ], [ %.2136, %244 ]
  %.0137238 = phi i64 [ 0, %.lr.ph245 ], [ %245, %244 ]
  %.0157236 = phi i32 [ 0, %.lr.ph245 ], [ %.2159, %244 ]
  %66 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %13, i64 noundef %.0137238) #7
  %67 = getelementptr inbounds i8, ptr %66, i64 208
  %68 = load i32, ptr %67, align 8, !tbaa !5
  %69 = icmp sgt i32 %68, %3
  br i1 %69, label %70, label %244

70:                                               ; preds = %65
  br i1 %59, label %81, label %71

71:                                               ; preds = %70
  %72 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %13, i64 noundef %.0137238) #7
  %73 = getelementptr inbounds i8, ptr %72, i64 248
  %74 = load i32, ptr %73, align 8, !tbaa !33
  %75 = icmp slt i32 %74, %2
  br i1 %75, label %81, label %76

76:                                               ; preds = %71
  %77 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %13, i64 noundef %.0137238) #7
  %78 = getelementptr inbounds i8, ptr %77, i64 112
  %79 = load i16, ptr %78, align 8, !tbaa !34
  %80 = icmp eq i16 %79, 3
  br i1 %80, label %81, label %244

81:                                               ; preds = %76, %71, %70
  %82 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %13, i64 noundef %.0137238) #7
  %83 = getelementptr inbounds i8, ptr %82, i64 176
  invoke void @_ZNSt6vectorIiSaIiEEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef nonnull align 8 dereferenceable(24) %83)
          to label %84 unwind label %91

84:                                               ; preds = %81
  %85 = call noundef i32 @_Z11get_supportSt6vectorIiSaIiEE(ptr noundef nonnull %14)
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %14) #7
  %.not = icmp eq i32 %85, 0
  br i1 %.not, label %108, label %.preheader

.preheader:                                       ; preds = %84
  %86 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %11) #7
  %87 = trunc i64 %86 to i32
  %.not166235 = icmp slt i32 %85, %87
  br i1 %.not166235, label %._crit_edge, label %.lr.ph

.lr.ph:                                           ; preds = %.preheader, %88
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %15) #7
  store i32 0, ptr %15, align 4, !tbaa !35
  invoke void @_ZNSt6vectorIiSaIiEE9push_backEOi(ptr noundef nonnull align 8 dereferenceable(24) %11, ptr noundef nonnull align 4 dereferenceable(4) %15)
          to label %88 unwind label %93

88:                                               ; preds = %.lr.ph
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %15) #7
  %89 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %11) #7
  %90 = trunc i64 %89 to i32
  %.not166 = icmp slt i32 %85, %90
  br i1 %.not166, label %._crit_edge, label %.lr.ph, !llvm.loop !36

91:                                               ; preds = %101, %96, %81
  %92 = landingpad { ptr, i32 }
          cleanup
  br label %560

93:                                               ; preds = %.lr.ph
  %94 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %15) #7
  br label %560

._crit_edge:                                      ; preds = %88, %.preheader
  %95 = icmp eq i32 %85, 1
  br i1 %95, label %96, label %103

96:                                               ; preds = %._crit_edge
  %97 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %13, i64 noundef %.0137238) #7
  %98 = getelementptr inbounds i8, ptr %97, i64 32
  %99 = load i32, ptr %98, align 8, !tbaa !38
  %100 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, i32 noundef %99)
          to label %101 unwind label %91

101:                                              ; preds = %96
  %102 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %100, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %103 unwind label %91

103:                                              ; preds = %101, %._crit_edge
  %104 = sext i32 %85 to i64
  %105 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %104) #7
  %106 = load i32, ptr %105, align 4, !tbaa !35
  %107 = add nsw i32 %106, 1
  store i32 %107, ptr %105, align 4, !tbaa !35
  br label %108

108:                                              ; preds = %103, %84
  %109 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %13, i64 noundef %.0137238) #7
  %110 = getelementptr inbounds i8, ptr %109, i64 248
  %111 = load i32, ptr %110, align 8, !tbaa !33
  %112 = sitofp i32 %111 to double
  %113 = call noundef i32 @_Z8bin_sized(double noundef %112)
  %114 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %13, i64 noundef %.0137238) #7
  %115 = getelementptr inbounds i8, ptr %114, i64 112
  %116 = load i16, ptr %115, align 8, !tbaa !34
  %117 = icmp eq i16 %116, 0
  br i1 %117, label %118, label %127

118:                                              ; preds = %108
  invoke void @_Z6adjustRSt6vectorIiSaIiEEi(ptr noundef nonnull align 8 dereferenceable(24) %6, i32 noundef %113)
          to label %119 unwind label %125

119:                                              ; preds = %118
  %120 = sext i32 %113 to i64
  %121 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %120) #7
  %122 = load i32, ptr %121, align 4, !tbaa !35
  %123 = add nsw i32 %122, 1
  store i32 %123, ptr %121, align 4, !tbaa !35
  %124 = add nsw i32 %.0127243, 1
  br label %181

125:                                              ; preds = %175, %156, %144, %132, %118
  %126 = landingpad { ptr, i32 }
          cleanup
  br label %560

127:                                              ; preds = %108
  %128 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %13, i64 noundef %.0137238) #7
  %129 = getelementptr inbounds i8, ptr %128, i64 112
  %130 = load i16, ptr %129, align 8, !tbaa !34
  %131 = icmp eq i16 %130, 2
  br i1 %131, label %132, label %139

132:                                              ; preds = %127
  invoke void @_Z6adjustRSt6vectorIiSaIiEEi(ptr noundef nonnull align 8 dereferenceable(24) %8, i32 noundef %113)
          to label %133 unwind label %125

133:                                              ; preds = %132
  %134 = sext i32 %113 to i64
  %135 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %134) #7
  %136 = load i32, ptr %135, align 4, !tbaa !35
  %137 = add nsw i32 %136, 1
  store i32 %137, ptr %135, align 4, !tbaa !35
  %138 = add nsw i32 %.0157236, 1
  br label %181

139:                                              ; preds = %127
  %140 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %13, i64 noundef %.0137238) #7
  %141 = getelementptr inbounds i8, ptr %140, i64 112
  %142 = load i16, ptr %141, align 8, !tbaa !34
  %143 = icmp eq i16 %142, 1
  br i1 %143, label %144, label %151

144:                                              ; preds = %139
  invoke void @_Z6adjustRSt6vectorIiSaIiEEi(ptr noundef nonnull align 8 dereferenceable(24) %7, i32 noundef %113)
          to label %145 unwind label %125

145:                                              ; preds = %144
  %146 = sext i32 %113 to i64
  %147 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %7, i64 noundef %146) #7
  %148 = load i32, ptr %147, align 4, !tbaa !35
  %149 = add nsw i32 %148, 1
  store i32 %149, ptr %147, align 4, !tbaa !35
  %150 = add nsw i32 %.0131242, 1
  br label %181

151:                                              ; preds = %139
  %152 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %13, i64 noundef %.0137238) #7
  %153 = getelementptr inbounds i8, ptr %152, i64 112
  %154 = load i16, ptr %153, align 8, !tbaa !34
  %155 = icmp eq i16 %154, 4
  br i1 %155, label %156, label %163

156:                                              ; preds = %151
  invoke void @_Z6adjustRSt6vectorIiSaIiEEi(ptr noundef nonnull align 8 dereferenceable(24) %9, i32 noundef %113)
          to label %157 unwind label %125

157:                                              ; preds = %156
  %158 = sext i32 %113 to i64
  %159 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %9, i64 noundef %158) #7
  %160 = load i32, ptr %159, align 4, !tbaa !35
  %161 = add nsw i32 %160, 1
  store i32 %161, ptr %159, align 4, !tbaa !35
  %162 = add nsw i32 %.0134241, 1
  br label %181

163:                                              ; preds = %151
  %164 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %13, i64 noundef %.0137238) #7
  %165 = getelementptr inbounds i8, ptr %164, i64 112
  %166 = load i16, ptr %165, align 8, !tbaa !34
  %167 = icmp eq i16 %166, 3
  br i1 %167, label %168, label %170

168:                                              ; preds = %163
  %169 = add nsw i32 %.0244, 1
  br label %181

170:                                              ; preds = %163
  %171 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %13, i64 noundef %.0137238) #7
  %172 = getelementptr inbounds i8, ptr %171, i64 112
  %173 = load i16, ptr %172, align 8, !tbaa !34
  %174 = icmp eq i16 %173, -1
  br i1 %174, label %175, label %181

175:                                              ; preds = %170
  invoke void @_Z6adjustRSt6vectorIiSaIiEEi(ptr noundef nonnull align 8 dereferenceable(24) %10, i32 noundef %113)
          to label %176 unwind label %125

176:                                              ; preds = %175
  %177 = sext i32 %113 to i64
  %178 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef %177) #7
  %179 = load i32, ptr %178, align 4, !tbaa !35
  %180 = add nsw i32 %179, 1
  store i32 %180, ptr %178, align 4, !tbaa !35
  br label %181

181:                                              ; preds = %133, %157, %170, %176, %168, %145, %119
  %.1158 = phi i32 [ %.0157236, %119 ], [ %138, %133 ], [ %.0157236, %145 ], [ %.0157236, %157 ], [ %.0157236, %168 ], [ %.0157236, %176 ], [ %.0157236, %170 ]
  %.1135 = phi i32 [ %.0134241, %119 ], [ %.0134241, %133 ], [ %.0134241, %145 ], [ %162, %157 ], [ %.0134241, %168 ], [ %.0134241, %176 ], [ %.0134241, %170 ]
  %.1132 = phi i32 [ %.0131242, %119 ], [ %.0131242, %133 ], [ %150, %145 ], [ %.0131242, %157 ], [ %.0131242, %168 ], [ %.0131242, %176 ], [ %.0131242, %170 ]
  %.1128 = phi i32 [ %124, %119 ], [ %.0127243, %133 ], [ %.0127243, %145 ], [ %.0127243, %157 ], [ %.0127243, %168 ], [ %.0127243, %176 ], [ %.0127243, %170 ]
  %.1 = phi i32 [ %.0244, %119 ], [ %.0244, %133 ], [ %.0244, %145 ], [ %.0244, %157 ], [ %169, %168 ], [ %.0244, %176 ], [ %.0244, %170 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %16) #7
  %182 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %13, i64 noundef %.0137238) #7
  %183 = getelementptr inbounds i8, ptr %182, i64 40
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef nonnull align 8 dereferenceable(32) %183)
          to label %184 unwind label %213

184:                                              ; preds = %181
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %17) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %19) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %20) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %21) #7
  %185 = invoke ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES_IiiSt4lessIiESaISt4pairIKiiEEES6_IS5_ESaIS8_IKS5_SC_EEE4findERSE_(ptr noundef nonnull align 8 dereferenceable(48) %12, ptr noundef nonnull align 8 dereferenceable(32) %16)
          to label %186 unwind label %215

186:                                              ; preds = %184
  store ptr %185, ptr %17, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %18) #7
  %187 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES_IiiSt4lessIiESaISt4pairIKiiEEES6_IS5_ESaIS8_IKS5_SC_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %12) #7
  store ptr %187, ptr %18, align 8
  %188 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEESI_(ptr noundef nonnull align 8 dereferenceable(8) %17, ptr noundef nonnull align 8 dereferenceable(8) %18) #7
  br i1 %188, label %.critedge, label %189

189:                                              ; preds = %186
  %190 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES_IiiSt4lessIiESaISt4pairIKiiEEES6_IS5_ESaIS8_IKS5_SC_EEEixERSE_(ptr noundef nonnull align 8 dereferenceable(48) %12, ptr noundef nonnull align 8 dereferenceable(32) %16)
          to label %191 unwind label %217

191:                                              ; preds = %189
  %192 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %13, i64 noundef %.0137238) #7
  %193 = getelementptr inbounds i8, ptr %192, i64 112
  %194 = load i16, ptr %193, align 8, !tbaa !34
  %195 = sext i16 %194 to i32
  store i32 %195, ptr %20, align 4, !tbaa !35
  %196 = invoke ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEE4findERS3_(ptr noundef nonnull align 8 dereferenceable(48) %190, ptr noundef nonnull align 4 dereferenceable(4) %20)
          to label %197 unwind label %219

197:                                              ; preds = %191
  store ptr %196, ptr %19, align 8
  %198 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES_IiiSt4lessIiESaISt4pairIKiiEEES6_IS5_ESaIS8_IKS5_SC_EEEixERSE_(ptr noundef nonnull align 8 dereferenceable(48) %12, ptr noundef nonnull align 8 dereferenceable(32) %16)
          to label %199 unwind label %221

199:                                              ; preds = %197
  %200 = call ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %198) #7
  store ptr %200, ptr %21, align 8
  %201 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKiiEES5_(ptr noundef nonnull align 8 dereferenceable(8) %19, ptr noundef nonnull align 8 dereferenceable(8) %21) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %21) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %20) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %19) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #7
  br i1 %201, label %202, label %230

.critedge:                                        ; preds = %186
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %21) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %20) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %19) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #7
  br label %202

202:                                              ; preds = %.critedge, %199
  %203 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES_IiiSt4lessIiESaISt4pairIKiiEEES6_IS5_ESaIS8_IKS5_SC_EEEixERSE_(ptr noundef nonnull align 8 dereferenceable(48) %12, ptr noundef nonnull align 8 dereferenceable(32) %16)
          to label %204 unwind label %226

204:                                              ; preds = %202
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %22) #7
  %205 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %13, i64 noundef %.0137238) #7
  %206 = getelementptr inbounds i8, ptr %205, i64 112
  %207 = load i16, ptr %206, align 8, !tbaa !34
  %208 = sext i16 %207 to i32
  store i32 %208, ptr %22, align 4, !tbaa !35
  %209 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEEixEOi(ptr noundef nonnull align 8 dereferenceable(48) %203, ptr noundef nonnull align 4 dereferenceable(4) %22)
          to label %210 unwind label %228

210:                                              ; preds = %204
  %211 = load i32, ptr %209, align 4, !tbaa !35
  %212 = add nsw i32 %211, 1
  store i32 %212, ptr %209, align 4, !tbaa !35
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %22) #7
  br label %241

213:                                              ; preds = %181
  %214 = landingpad { ptr, i32 }
          cleanup
  br label %243

215:                                              ; preds = %184
  %216 = landingpad { ptr, i32 }
          cleanup
  br label %225

217:                                              ; preds = %189
  %218 = landingpad { ptr, i32 }
          cleanup
  br label %224

219:                                              ; preds = %191
  %220 = landingpad { ptr, i32 }
          cleanup
  br label %223

221:                                              ; preds = %197
  %222 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %21) #7
  br label %223

223:                                              ; preds = %221, %219
  %.pn167 = phi { ptr, i32 } [ %222, %221 ], [ %220, %219 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %20) #7
  br label %224

224:                                              ; preds = %223, %217
  %.pn167.pn = phi { ptr, i32 } [ %.pn167, %223 ], [ %218, %217 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %19) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #7
  br label %225

225:                                              ; preds = %224, %215
  %.pn167.pn.pn = phi { ptr, i32 } [ %.pn167.pn, %224 ], [ %216, %215 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #7
  br label %242

226:                                              ; preds = %230, %202
  %227 = landingpad { ptr, i32 }
          cleanup
  br label %242

228:                                              ; preds = %204
  %229 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %22) #7
  br label %242

230:                                              ; preds = %199
  %231 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES_IiiSt4lessIiESaISt4pairIKiiEEES6_IS5_ESaIS8_IKS5_SC_EEEixERSE_(ptr noundef nonnull align 8 dereferenceable(48) %12, ptr noundef nonnull align 8 dereferenceable(32) %16)
          to label %232 unwind label %226

232:                                              ; preds = %230
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %23) #7
  %233 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %13, i64 noundef %.0137238) #7
  %234 = getelementptr inbounds i8, ptr %233, i64 112
  %235 = load i16, ptr %234, align 8, !tbaa !34
  %236 = sext i16 %235 to i32
  store i32 %236, ptr %23, align 4, !tbaa !35
  %237 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEEixEOi(ptr noundef nonnull align 8 dereferenceable(48) %231, ptr noundef nonnull align 4 dereferenceable(4) %23)
          to label %238 unwind label %239

238:                                              ; preds = %232
  store i32 1, ptr %237, align 4, !tbaa !35
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %23) #7
  br label %241

239:                                              ; preds = %232
  %240 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %23) #7
  br label %242

241:                                              ; preds = %238, %210
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #7
  br label %244

242:                                              ; preds = %239, %228, %226, %225
  %.pn171 = phi { ptr, i32 } [ %229, %228 ], [ %227, %226 ], [ %240, %239 ], [ %.pn167.pn.pn, %225 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #7
  br label %243

243:                                              ; preds = %242, %213
  %.pn171.pn = phi { ptr, i32 } [ %.pn171, %242 ], [ %214, %213 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #7
  br label %560

244:                                              ; preds = %65, %241, %76
  %.2159 = phi i32 [ %.1158, %241 ], [ %.0157236, %76 ], [ %.0157236, %65 ]
  %.2136 = phi i32 [ %.1135, %241 ], [ %.0134241, %76 ], [ %.0134241, %65 ]
  %.2133 = phi i32 [ %.1132, %241 ], [ %.0131242, %76 ], [ %.0131242, %65 ]
  %.2129 = phi i32 [ %.1128, %241 ], [ %.0127243, %76 ], [ %.0127243, %65 ]
  %.2 = phi i32 [ %.1, %241 ], [ %.0244, %76 ], [ %.0244, %65 ]
  %245 = add nuw i64 %.0137238, 1
  %246 = call noundef i64 @_ZNKSt6vectorI11strvcfentrySaIS0_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %13) #7
  %247 = icmp ult i64 %245, %246
  br i1 %247, label %65, label %._crit_edge246, !llvm.loop !39

248:                                              ; preds = %._crit_edge246
  %249 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %60, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %250 unwind label %63

250:                                              ; preds = %248
  %251 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.2)
          to label %252 unwind label %63

252:                                              ; preds = %250
  %253 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %251, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %254 unwind label %63

254:                                              ; preds = %252
  %255 = add i32 %.0134.lcssa, %.0157.lcssa
  %256 = add i32 %255, %.0131.lcssa
  %257 = add i32 %256, %.0127.lcssa
  %258 = add nsw i32 %257, %.0.lcssa
  %259 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, i32 noundef %258)
          to label %260 unwind label %63

260:                                              ; preds = %254
  %261 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %259, ptr noundef nonnull @.str.3)
          to label %262 unwind label %63

262:                                              ; preds = %260
  %263 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %261, i32 noundef %.0127.lcssa)
          to label %264 unwind label %63

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

266:                                              ; preds = %264
  %267 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %265, i32 noundef %.0131.lcssa)
          to label %268 unwind label %63

268:                                              ; preds = %266
  %269 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %267, ptr noundef nonnull @.str.3)
          to label %270 unwind label %63

270:                                              ; preds = %268
  %271 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %269, i32 noundef %.0134.lcssa)
          to label %272 unwind label %63

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

274:                                              ; preds = %272
  %275 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %273, i32 noundef %.0157.lcssa)
          to label %276 unwind label %63

276:                                              ; preds = %274
  %277 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %275, ptr noundef nonnull @.str.3)
          to label %278 unwind label %63

278:                                              ; preds = %276
  %279 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %277, i32 noundef %.0.lcssa)
          to label %280 unwind label %63

280:                                              ; preds = %278
  %281 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %279, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %282 unwind label %63

282:                                              ; preds = %280
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %24) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef nonnull align 8 dereferenceable(32) %4)
          to label %283 unwind label %356

283:                                              ; preds = %282
  %284 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc(ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef nonnull @.str.4)
          to label %285 unwind label %358

285:                                              ; preds = %283
  %286 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %24) #7
  %287 = call noalias ptr @fopen(ptr noundef %286, ptr noundef nonnull @.str.5)
  %288 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %11) #7
  %.not264 = icmp eq i64 %288, 0
  br i1 %.not264, label %._crit_edge254, label %.lr.ph253

._crit_edge254:                                   ; preds = %.lr.ph253, %285
  %289 = call i32 @fclose(ptr noundef %287)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %25) #7
  %290 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %6) #7
  %291 = trunc i64 %290 to i32
  store i32 %291, ptr %25, align 4, !tbaa !35
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %26) #7
  %292 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %7) #7
  %293 = trunc i64 %292 to i32
  store i32 %293, ptr %26, align 4, !tbaa !35
  %294 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3maxIiERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %25, ptr noundef nonnull align 4 dereferenceable(4) %26)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %27) #7
  %295 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #7
  %296 = trunc i64 %295 to i32
  store i32 %296, ptr %27, align 4, !tbaa !35
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %28) #7
  %297 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %10) #7
  %298 = trunc i64 %297 to i32
  store i32 %298, ptr %28, align 4, !tbaa !35
  %299 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3maxIiERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull align 4 dereferenceable(4) %28)
  %300 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3maxIiERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %294, ptr noundef nonnull align 4 dereferenceable(4) %299)
  %301 = load i32, ptr %300, align 4, !tbaa !35
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %28) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %27) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %26) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %25) #7
  %302 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %4) #7
  %303 = call noalias ptr @fopen(ptr noundef %302, ptr noundef nonnull @.str.5)
  %304 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %303, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.9) #7
  %305 = icmp sgt i32 %301, 0
  br i1 %305, label %306, label %._crit_edge258

306:                                              ; preds = %._crit_edge254
  %wide.trip.count = zext nneg i32 %301 to i64
  %307 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %303, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.10) #7
  %308 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %303, ptr noundef nonnull @.str.7, i32 noundef 9) #7
  %309 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %6) #7
  %310 = trunc i64 %309 to i32
  %311 = icmp sgt i32 %310, 0
  br i1 %311, label %312, label %315

312:                                              ; preds = %306
  %313 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef 0) #7
  %314 = load i32, ptr %313, align 4, !tbaa !35
  br label %315

315:                                              ; preds = %306, %312
  %.sink = phi i32 [ %314, %312 ], [ 0, %306 ]
  %316 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %303, ptr noundef nonnull @.str.6, i32 noundef %.sink) #7
  %317 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %303, ptr noundef nonnull @.str.7, i32 noundef 9) #7
  %318 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %7) #7
  %319 = trunc i64 %318 to i32
  %320 = icmp sgt i32 %319, 0
  br i1 %320, label %321, label %324

321:                                              ; preds = %315
  %322 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %7, i64 noundef 0) #7
  %323 = load i32, ptr %322, align 4, !tbaa !35
  br label %324

324:                                              ; preds = %315, %321
  %.sink271 = phi i32 [ %323, %321 ], [ 0, %315 ]
  %325 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %303, ptr noundef nonnull @.str.6, i32 noundef %.sink271) #7
  %326 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %303, ptr noundef nonnull @.str.7, i32 noundef 9) #7
  %327 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #7
  %328 = trunc i64 %327 to i32
  %329 = icmp sgt i32 %328, 0
  br i1 %329, label %330, label %333

330:                                              ; preds = %324
  %331 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef 0) #7
  %332 = load i32, ptr %331, align 4, !tbaa !35
  br label %333

333:                                              ; preds = %324, %330
  %.sink272 = phi i32 [ %332, %330 ], [ 0, %324 ]
  %334 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %303, ptr noundef nonnull @.str.6, i32 noundef %.sink272) #7
  %335 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %303, ptr noundef nonnull @.str.7, i32 noundef 9) #7
  %336 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %9) #7
  %337 = trunc i64 %336 to i32
  %338 = icmp sgt i32 %337, 0
  br i1 %338, label %339, label %342

339:                                              ; preds = %333
  %340 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %9, i64 noundef 0) #7
  %341 = load i32, ptr %340, align 4, !tbaa !35
  br label %342

342:                                              ; preds = %333, %339
  %.sink273 = phi i32 [ %341, %339 ], [ 0, %333 ]
  %343 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %303, ptr noundef nonnull @.str.6, i32 noundef %.sink273) #7
  %344 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %303, ptr noundef nonnull @.str.7, i32 noundef 9) #7
  %345 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %303, ptr noundef nonnull @.str.6, i32 noundef %.0.lcssa) #7
  %346 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %303, ptr noundef nonnull @.str.7, i32 noundef 9) #7
  %347 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %10) #7
  %348 = trunc i64 %347 to i32
  %349 = icmp sgt i32 %348, 0
  br i1 %349, label %350, label %353

350:                                              ; preds = %342
  %351 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef 0) #7
  %352 = load i32, ptr %351, align 4, !tbaa !35
  br label %353

353:                                              ; preds = %342, %350
  %.sink274 = phi i32 [ %352, %350 ], [ 0, %342 ]
  %354 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %303, ptr noundef nonnull @.str.6, i32 noundef %.sink274) #7
  %355 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %303, ptr noundef nonnull @.str.7, i32 noundef 10) #7
  %exitcond.peel.not = icmp eq i32 %301, 1
  br i1 %exitcond.peel.not, label %._crit_edge258, label %.lr.ph257

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

358:                                              ; preds = %283
  %359 = landingpad { ptr, i32 }
          cleanup
  br label %558

.lr.ph253:                                        ; preds = %285, %.lr.ph253
  %.0130251 = phi i64 [ %367, %.lr.ph253 ], [ 0, %285 ]
  %360 = trunc i64 %.0130251 to i32
  %361 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %287, ptr noundef nonnull @.str.6, i32 noundef %360) #7
  %362 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %287, ptr noundef nonnull @.str.7, i32 noundef 9) #7
  %363 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %.0130251) #7
  %364 = load i32, ptr %363, align 4, !tbaa !35
  %365 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %287, ptr noundef nonnull @.str.6, i32 noundef %364) #7
  %366 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %287, ptr noundef nonnull @.str.7, i32 noundef 10) #7
  %367 = add nuw i64 %.0130251, 1
  %368 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %11) #7
  %369 = icmp ult i64 %367, %368
  br i1 %369, label %.lr.ph253, label %._crit_edge254, !llvm.loop !40

._crit_edge258:                                   ; preds = %422, %353, %._crit_edge254
  %370 = call i32 @fclose(ptr noundef %303)
  %371 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef nonnull align 8 dereferenceable(32) %4)
          to label %425 unwind label %372

372:                                              ; preds = %425, %._crit_edge258
  %373 = landingpad { ptr, i32 }
          cleanup
  br label %558

.lr.ph257:                                        ; preds = %353, %422
  %indvars.iv = phi i64 [ %indvars.iv.next, %422 ], [ 1, %353 ]
  %374 = icmp ult i64 %indvars.iv, 5
  br i1 %374, label %switch.lookup, label %376

switch.lookup:                                    ; preds = %.lr.ph257
  %switch.gep = getelementptr inbounds [5 x ptr], ptr @switch.table._Z10summary_SVNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiiiS4_, i64 0, i64 %indvars.iv
  %switch.load = load ptr, ptr %switch.gep, align 8
  %375 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %303, ptr noundef nonnull @.str.8, ptr noundef nonnull %switch.load) #7
  br label %376

376:                                              ; preds = %.lr.ph257, %switch.lookup
  %377 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %303, ptr noundef nonnull @.str.7, i32 noundef 9) #7
  %378 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %6) #7
  %sext = shl i64 %378, 32
  %379 = ashr exact i64 %sext, 32
  %380 = icmp slt i64 %indvars.iv, %379
  br i1 %380, label %381, label %384

381:                                              ; preds = %376
  %382 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %indvars.iv) #7
  %383 = load i32, ptr %382, align 4, !tbaa !35
  br label %384

384:                                              ; preds = %376, %381
  %.sink275 = phi i32 [ %383, %381 ], [ 0, %376 ]
  %385 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %303, ptr noundef nonnull @.str.6, i32 noundef %.sink275) #7
  %386 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %303, ptr noundef nonnull @.str.7, i32 noundef 9) #7
  %387 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %7) #7
  %sext267 = shl i64 %387, 32
  %388 = ashr exact i64 %sext267, 32
  %389 = icmp slt i64 %indvars.iv, %388
  br i1 %389, label %390, label %393

390:                                              ; preds = %384
  %391 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %7, i64 noundef %indvars.iv) #7
  %392 = load i32, ptr %391, align 4, !tbaa !35
  br label %393

393:                                              ; preds = %384, %390
  %.sink276 = phi i32 [ %392, %390 ], [ 0, %384 ]
  %394 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %303, ptr noundef nonnull @.str.6, i32 noundef %.sink276) #7
  %395 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %303, ptr noundef nonnull @.str.7, i32 noundef 9) #7
  %396 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #7
  %sext268 = shl i64 %396, 32
  %397 = ashr exact i64 %sext268, 32
  %398 = icmp slt i64 %indvars.iv, %397
  br i1 %398, label %399, label %402

399:                                              ; preds = %393
  %400 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %indvars.iv) #7
  %401 = load i32, ptr %400, align 4, !tbaa !35
  br label %402

402:                                              ; preds = %393, %399
  %.sink277 = phi i32 [ %401, %399 ], [ 0, %393 ]
  %403 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %303, ptr noundef nonnull @.str.6, i32 noundef %.sink277) #7
  %404 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %303, ptr noundef nonnull @.str.7, i32 noundef 9) #7
  %405 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %9) #7
  %sext269 = shl i64 %405, 32
  %406 = ashr exact i64 %sext269, 32
  %407 = icmp slt i64 %indvars.iv, %406
  br i1 %407, label %408, label %411

408:                                              ; preds = %402
  %409 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %9, i64 noundef %indvars.iv) #7
  %410 = load i32, ptr %409, align 4, !tbaa !35
  br label %411

411:                                              ; preds = %402, %408
  %.sink278 = phi i32 [ %410, %408 ], [ 0, %402 ]
  %412 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %303, ptr noundef nonnull @.str.6, i32 noundef %.sink278) #7
  %413 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %303, ptr noundef nonnull @.str.7, i32 noundef 9) #7
  %414 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %303, ptr noundef nonnull @.str.6, i32 noundef 0) #7
  %415 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %303, ptr noundef nonnull @.str.7, i32 noundef 9) #7
  %416 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %10) #7
  %sext270 = shl i64 %416, 32
  %417 = ashr exact i64 %sext270, 32
  %418 = icmp slt i64 %indvars.iv, %417
  br i1 %418, label %419, label %422

419:                                              ; preds = %411
  %420 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef %indvars.iv) #7
  %421 = load i32, ptr %420, align 4, !tbaa !35
  br label %422

422:                                              ; preds = %411, %419
  %.sink279 = phi i32 [ %421, %419 ], [ 0, %411 ]
  %423 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %303, ptr noundef nonnull @.str.6, i32 noundef %.sink279) #7
  %424 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %303, ptr noundef nonnull @.str.7, i32 noundef 10) #7
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
  %exitcond.not = icmp eq i64 %indvars.iv.next, %wide.trip.count
  br i1 %exitcond.not, label %._crit_edge258, label %.lr.ph257, !llvm.loop !41

425:                                              ; preds = %._crit_edge258
  %426 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc(ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef nonnull @.str.15)
          to label %427 unwind label %372

427:                                              ; preds = %425
  %428 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %24) #7
  %429 = call noalias ptr @fopen(ptr noundef %428, ptr noundef nonnull @.str.5)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %29) #7
  %430 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES_IiiSt4lessIiESaISt4pairIKiiEEES6_IS5_ESaIS8_IKS5_SC_EEE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %12) #7
  store ptr %430, ptr %29, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %30) #7
  %431 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES_IiiSt4lessIiESaISt4pairIKiiEEES6_IS5_ESaIS8_IKS5_SC_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %12) #7
  store ptr %431, ptr %30, align 8
  %432 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEESI_(ptr noundef nonnull align 8 dereferenceable(8) %29, ptr noundef nonnull align 8 dereferenceable(8) %30) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #7
  br i1 %432, label %.lr.ph261, label %._crit_edge262

._crit_edge262:                                   ; preds = %552, %427
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29) #7
  %433 = call i32 @fclose(ptr noundef %429)
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #7
  call void @_ZNSt6vectorI11strvcfentrySaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %13) #7
  call void @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES_IiiSt4lessIiESaISt4pairIKiiEEES6_IS5_ESaIS8_IKS5_SC_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %12) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %12) #7
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %11) #7
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %10) #7
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9) #7
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %8) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %8) #7
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %7) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7) #7
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6) #7
  ret void

.lr.ph261:                                        ; preds = %427
  %434 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %429, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.16) #7
  br label %.critedge280

.critedge280:                                     ; preds = %552, %.lr.ph261
  %435 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %29) #7
  %436 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %435) #7
  %437 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %429, ptr noundef nonnull @.str.8, ptr noundef %436) #7
  %438 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %429, ptr noundef nonnull @.str.7, i32 noundef 9) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %31) #7
  %439 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %29) #7
  %440 = getelementptr inbounds i8, ptr %439, i64 32
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %32) #7
  store i32 0, ptr %32, align 4, !tbaa !35
  %441 = invoke ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEE4findERS3_(ptr noundef nonnull align 8 dereferenceable(48) %440, ptr noundef nonnull align 4 dereferenceable(4) %32)
          to label %442 unwind label %454

442:                                              ; preds = %.critedge280
  store ptr %441, ptr %31, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %33) #7
  %443 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %29) #7
  %444 = getelementptr inbounds i8, ptr %443, i64 32
  %445 = call ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %444) #7
  store ptr %445, ptr %33, align 8
  %446 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKiiEES5_(ptr noundef nonnull align 8 dereferenceable(8) %31, ptr noundef nonnull align 8 dereferenceable(8) %33) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %33) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %32) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %31) #7
  br i1 %446, label %447, label %458

447:                                              ; preds = %442
  %448 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %29) #7
  %449 = getelementptr inbounds i8, ptr %448, i64 32
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %34) #7
  store i32 0, ptr %34, align 4, !tbaa !35
  %450 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEEixEOi(ptr noundef nonnull align 8 dereferenceable(48) %449, ptr noundef nonnull align 4 dereferenceable(4) %34)
          to label %451 unwind label %456

451:                                              ; preds = %447
  %452 = load i32, ptr %450, align 4, !tbaa !35
  %453 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %429, ptr noundef nonnull @.str.6, i32 noundef %452) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %34) #7
  br label %460

454:                                              ; preds = %.critedge280
  %455 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %32) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %31) #7
  br label %557

456:                                              ; preds = %447
  %457 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %34) #7
  br label %557

458:                                              ; preds = %442
  %459 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %429, ptr noundef nonnull @.str.6, i32 noundef 0) #7
  br label %460

460:                                              ; preds = %458, %451
  %461 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %429, ptr noundef nonnull @.str.7, i32 noundef 9) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %35) #7
  %462 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %29) #7
  %463 = getelementptr inbounds i8, ptr %462, i64 32
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %36) #7
  store i32 1, ptr %36, align 4, !tbaa !35
  %464 = invoke ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEE4findERS3_(ptr noundef nonnull align 8 dereferenceable(48) %463, ptr noundef nonnull align 4 dereferenceable(4) %36)
          to label %465 unwind label %477

465:                                              ; preds = %460
  store ptr %464, ptr %35, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %37) #7
  %466 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %29) #7
  %467 = getelementptr inbounds i8, ptr %466, i64 32
  %468 = call ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %467) #7
  store ptr %468, ptr %37, align 8
  %469 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKiiEES5_(ptr noundef nonnull align 8 dereferenceable(8) %35, ptr noundef nonnull align 8 dereferenceable(8) %37) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %37) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %36) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %35) #7
  br i1 %469, label %470, label %481

470:                                              ; preds = %465
  %471 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %29) #7
  %472 = getelementptr inbounds i8, ptr %471, i64 32
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %38) #7
  store i32 1, ptr %38, align 4, !tbaa !35
  %473 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEEixEOi(ptr noundef nonnull align 8 dereferenceable(48) %472, ptr noundef nonnull align 4 dereferenceable(4) %38)
          to label %474 unwind label %479

474:                                              ; preds = %470
  %475 = load i32, ptr %473, align 4, !tbaa !35
  %476 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %429, ptr noundef nonnull @.str.6, i32 noundef %475) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %38) #7
  br label %483

477:                                              ; preds = %460
  %478 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %36) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %35) #7
  br label %557

479:                                              ; preds = %470
  %480 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %38) #7
  br label %557

481:                                              ; preds = %465
  %482 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %429, ptr noundef nonnull @.str.6, i32 noundef 0) #7
  br label %483

483:                                              ; preds = %481, %474
  %484 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %429, ptr noundef nonnull @.str.7, i32 noundef 9) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %39) #7
  %485 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %29) #7
  %486 = getelementptr inbounds i8, ptr %485, i64 32
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %40) #7
  store i32 2, ptr %40, align 4, !tbaa !35
  %487 = invoke ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEE4findERS3_(ptr noundef nonnull align 8 dereferenceable(48) %486, ptr noundef nonnull align 4 dereferenceable(4) %40)
          to label %488 unwind label %500

488:                                              ; preds = %483
  store ptr %487, ptr %39, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %41) #7
  %489 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %29) #7
  %490 = getelementptr inbounds i8, ptr %489, i64 32
  %491 = call ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %490) #7
  store ptr %491, ptr %41, align 8
  %492 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKiiEES5_(ptr noundef nonnull align 8 dereferenceable(8) %39, ptr noundef nonnull align 8 dereferenceable(8) %41) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %41) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %40) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %39) #7
  br i1 %492, label %493, label %504

493:                                              ; preds = %488
  %494 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %29) #7
  %495 = getelementptr inbounds i8, ptr %494, i64 32
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %42) #7
  store i32 2, ptr %42, align 4, !tbaa !35
  %496 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEEixEOi(ptr noundef nonnull align 8 dereferenceable(48) %495, ptr noundef nonnull align 4 dereferenceable(4) %42)
          to label %497 unwind label %502

497:                                              ; preds = %493
  %498 = load i32, ptr %496, align 4, !tbaa !35
  %499 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %429, ptr noundef nonnull @.str.6, i32 noundef %498) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %42) #7
  br label %506

500:                                              ; preds = %483
  %501 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %40) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %39) #7
  br label %557

502:                                              ; preds = %493
  %503 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %42) #7
  br label %557

504:                                              ; preds = %488
  %505 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %429, ptr noundef nonnull @.str.6, i32 noundef 0) #7
  br label %506

506:                                              ; preds = %504, %497
  %507 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %429, ptr noundef nonnull @.str.7, i32 noundef 9) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %43) #7
  %508 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %29) #7
  %509 = getelementptr inbounds i8, ptr %508, i64 32
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %44) #7
  store i32 4, ptr %44, align 4, !tbaa !35
  %510 = invoke ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEE4findERS3_(ptr noundef nonnull align 8 dereferenceable(48) %509, ptr noundef nonnull align 4 dereferenceable(4) %44)
          to label %511 unwind label %523

511:                                              ; preds = %506
  store ptr %510, ptr %43, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %45) #7
  %512 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %29) #7
  %513 = getelementptr inbounds i8, ptr %512, i64 32
  %514 = call ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %513) #7
  store ptr %514, ptr %45, align 8
  %515 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKiiEES5_(ptr noundef nonnull align 8 dereferenceable(8) %43, ptr noundef nonnull align 8 dereferenceable(8) %45) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %45) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %44) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %43) #7
  br i1 %515, label %516, label %527

516:                                              ; preds = %511
  %517 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %29) #7
  %518 = getelementptr inbounds i8, ptr %517, i64 32
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %46) #7
  store i32 4, ptr %46, align 4, !tbaa !35
  %519 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEEixEOi(ptr noundef nonnull align 8 dereferenceable(48) %518, ptr noundef nonnull align 4 dereferenceable(4) %46)
          to label %520 unwind label %525

520:                                              ; preds = %516
  %521 = load i32, ptr %519, align 4, !tbaa !35
  %522 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %429, ptr noundef nonnull @.str.6, i32 noundef %521) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %46) #7
  br label %529

523:                                              ; preds = %506
  %524 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %44) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %43) #7
  br label %557

525:                                              ; preds = %516
  %526 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %46) #7
  br label %557

527:                                              ; preds = %511
  %528 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %429, ptr noundef nonnull @.str.6, i32 noundef 0) #7
  br label %529

529:                                              ; preds = %527, %520
  %530 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %429, ptr noundef nonnull @.str.7, i32 noundef 9) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %47) #7
  %531 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %29) #7
  %532 = getelementptr inbounds i8, ptr %531, i64 32
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %48) #7
  store i32 3, ptr %48, align 4, !tbaa !35
  %533 = invoke ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEE4findERS3_(ptr noundef nonnull align 8 dereferenceable(48) %532, ptr noundef nonnull align 4 dereferenceable(4) %48)
          to label %534 unwind label %546

534:                                              ; preds = %529
  store ptr %533, ptr %47, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %49) #7
  %535 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %29) #7
  %536 = getelementptr inbounds i8, ptr %535, i64 32
  %537 = call ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %536) #7
  store ptr %537, ptr %49, align 8
  %538 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKiiEES5_(ptr noundef nonnull align 8 dereferenceable(8) %47, ptr noundef nonnull align 8 dereferenceable(8) %49) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %49) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %48) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %47) #7
  br i1 %538, label %539, label %550

539:                                              ; preds = %534
  %540 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %29) #7
  %541 = getelementptr inbounds i8, ptr %540, i64 32
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %50) #7
  store i32 3, ptr %50, align 4, !tbaa !35
  %542 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEEixEOi(ptr noundef nonnull align 8 dereferenceable(48) %541, ptr noundef nonnull align 4 dereferenceable(4) %50)
          to label %543 unwind label %548

543:                                              ; preds = %539
  %544 = load i32, ptr %542, align 4, !tbaa !35
  %545 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %429, ptr noundef nonnull @.str.6, i32 noundef %544) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %50) #7
  br label %552

546:                                              ; preds = %529
  %547 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %48) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %47) #7
  br label %557

548:                                              ; preds = %539
  %549 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %50) #7
  br label %557

550:                                              ; preds = %534
  %551 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %429, ptr noundef nonnull @.str.6, i32 noundef 0) #7
  br label %552

552:                                              ; preds = %550, %543
  %553 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %429, ptr noundef nonnull @.str.7, i32 noundef 10) #7
  %554 = call ptr @_ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEppEi(ptr noundef nonnull align 8 dereferenceable(8) %29, i32 noundef 0) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %30) #7
  %555 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES_IiiSt4lessIiESaISt4pairIKiiEEES6_IS5_ESaIS8_IKS5_SC_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %12) #7
  store ptr %555, ptr %30, align 8
  %556 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEESI_(ptr noundef nonnull align 8 dereferenceable(8) %29, ptr noundef nonnull align 8 dereferenceable(8) %30) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #7
  br i1 %556, label %.critedge280, label %._crit_edge262, !llvm.loop !43

557:                                              ; preds = %548, %546, %525, %523, %502, %500, %479, %477, %456, %454
  %.pn = phi { ptr, i32 } [ %549, %548 ], [ %547, %546 ], [ %526, %525 ], [ %524, %523 ], [ %503, %502 ], [ %501, %500 ], [ %480, %479 ], [ %478, %477 ], [ %457, %456 ], [ %455, %454 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29) #7
  br label %558

558:                                              ; preds = %372, %557, %358
  %.pn.pn.pn = phi { ptr, i32 } [ %359, %358 ], [ %.pn, %557 ], [ %373, %372 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #7
  br label %559

559:                                              ; preds = %558, %356
  %.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn, %558 ], [ %357, %356 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #7
  br label %560

560:                                              ; preds = %91, %93, %243, %125, %559, %63
  %.pn175.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn, %559 ], [ %64, %63 ], [ %94, %93 ], [ %92, %91 ], [ %.pn171.pn, %243 ], [ %126, %125 ]
  call void @_ZNSt6vectorI11strvcfentrySaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #7
  br label %561

561:                                              ; preds = %560, %61
  %.pn175.pn.pn = phi { ptr, i32 } [ %.pn175.pn, %560 ], [ %62, %61 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %13) #7
  call void @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES_IiiSt4lessIiESaISt4pairIKiiEEES6_IS5_ESaIS8_IKS5_SC_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %12) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %12) #7
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %11) #7
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %10) #7
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9) #7
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %8) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %8) #7
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %7) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7) #7
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6) #7
  resume { ptr, i32 } %.pn175.pn.pn
}

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

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

declare void @_Z9parse_vcfRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi(ptr dead_on_unwind writable sret(%"class.std::vector.6") align 8, ptr noundef nonnull align 8 dereferenceable(32), i32 noundef) local_unnamed_addr #3

declare i32 @__gxx_personality_v0(...)

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

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

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

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES_IiiSt4lessIiESaISt4pairIKiiEEES6_IS5_ESaIS8_IKS5_SC_EEE4findERSE_(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #0 align 2

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES_IiiSt4lessIiESaISt4pairIKiiEEES6_IS5_ESaIS8_IKS5_SC_EEEixERSE_(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #0 align 2

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

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

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

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

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

; Function Attrs: nofree nounwind
declare noalias noundef ptr @fopen(ptr nocapture noundef readonly, ptr nocapture noundef readonly) local_unnamed_addr #5

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

; Function Attrs: nofree nounwind
declare noundef i32 @fprintf(ptr nocapture noundef, ptr nocapture noundef readonly, ...) local_unnamed_addr #5

; Function Attrs: nofree nounwind
declare noundef i32 @fclose(ptr nocapture noundef) local_unnamed_addr #5

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3maxIiERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #6

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

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

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

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

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

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

attributes #0 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #3 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { inlinehint mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { nofree nounwind "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 #6 = { inlinehint 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 #7 = { 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, !14, i64 208}
!6 = !{!"_ZTS11strvcfentry", !7, i64 0, !13, i64 32, !13, i64 72, !15, i64 112, !16, i64 120, !14, i64 168, !14, i64 172, !24, i64 176, !28, i64 200, !30, i64 204, !7, i64 216, !14, i64 248, !7, i64 256, !31, i64 288, !7, i64 296, !14, i64 328, !32, i64 336, !30, i64 400, !30, i64 408, !14, i64 416}
!7 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !8, i64 0, !12, i64 8, !10, i64 16}
!8 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !9, i64 0}
!9 = !{!"any pointer", !10, i64 0}
!10 = !{!"omnipotent char", !11, i64 0}
!11 = !{!"Simple C++ TBAA"}
!12 = !{!"long", !10, i64 0}
!13 = !{!"_ZTS13strcoordinate", !14, i64 0, !7, i64 8}
!14 = !{!"int", !10, i64 0}
!15 = !{!"short", !10, i64 0}
!16 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEE", !17, i64 0}
!17 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE", !18, i64 0}
!18 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE13_Rb_tree_implISC_Lb1EEE", !19, i64 0, !21, i64 8}
!19 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE", !20, i64 0}
!20 = !{!"_ZTSSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE"}
!21 = !{!"_ZTSSt15_Rb_tree_header", !22, i64 0, !12, i64 32}
!22 = !{!"_ZTSSt18_Rb_tree_node_base", !23, i64 0, !9, i64 8, !9, i64 16, !9, i64 24}
!23 = !{!"_ZTSSt14_Rb_tree_color", !10, i64 0}
!24 = !{!"_ZTSSt6vectorIiSaIiEE", !25, i64 0}
!25 = !{!"_ZTSSt12_Vector_baseIiSaIiEE", !26, i64 0}
!26 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE12_Vector_implE", !27, i64 0}
!27 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE17_Vector_impl_dataE", !9, i64 0, !9, i64 8, !9, i64 16}
!28 = !{!"_ZTSSt4pairIbbE", !29, i64 0, !29, i64 1}
!29 = !{!"bool", !10, i64 0}
!30 = !{!"_ZTSSt4pairIiiE", !14, i64 0, !14, i64 4}
!31 = !{!"double", !10, i64 0}
!32 = !{!"_ZTSSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_E", !7, i64 0, !7, i64 32}
!33 = !{!6, !14, i64 248}
!34 = !{!6, !15, i64 112}
!35 = !{!14, !14, i64 0}
!36 = distinct !{!36, !37}
!37 = !{!"llvm.loop.mustprogress"}
!38 = !{!6, !14, i64 32}
!39 = distinct !{!39, !37}
!40 = distinct !{!40, !37}
!41 = distinct !{!41, !37, !42}
!42 = !{!"llvm.loop.peeled.count", i32 1}
!43 = distinct !{!43, !37}


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