; 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::basic_istream" = type { ptr, i64, %"class.std::basic_ios" }
%"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.29" = type { %"struct.std::_Vector_base.30" }
%"struct.std::_Vector_base.30" = type { %"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::allocator.0" = type { i8 }
%"struct.std::_Rb_tree_iterator" = type { ptr }
%"struct.std::_Rb_tree_iterator.20" = type { ptr }
%"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.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
@_ZSt3cin = external global %"class.std::basic_istream", align 8
@.str.17 = external hidden unnamed_addr constant [1 x i8], align 1
@_ZSt4cerr = external global %"class.std::basic_ostream", align 8
@.str.18 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [12 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 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 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 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) #3

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

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

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

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

; 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 @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES_IiiSt4lessIiESaISt4pairIKiiEEES6_IS5_ESaIS8_IKS5_SC_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(48)) unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
define dso_local void @_Z17summary_SV_streamiiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(i32 noundef %0, i32 noundef %1, ptr noundef %2) #0 personality ptr @__gxx_personality_v0 {
  %4 = alloca i32, align 4
  %5 = alloca i32, align 4
  %6 = alloca ptr, 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::vector", align 8
  %13 = alloca i32, align 4
  %14 = alloca i32, align 4
  %15 = alloca i32, align 4
  %16 = alloca i32, align 4
  %17 = alloca i32, align 4
  %18 = alloca i32, align 4
  %19 = alloca %"class.std::map", align 8
  %20 = alloca i32, align 4
  %21 = alloca %"class.std::vector", align 8
  %22 = alloca %"class.std::vector.29", align 8
  %23 = alloca ptr, align 8
  %24 = alloca i32, align 4
  %25 = alloca %"class.std::__cxx11::basic_string", align 8
  %26 = alloca i32, align 4
  %27 = alloca %"class.std::__cxx11::basic_string", align 8
  %28 = alloca %"class.std::allocator.0", align 1
  %29 = alloca i64, align 8
  %30 = alloca i32, align 4
  %31 = alloca %"class.std::__cxx11::basic_string", align 8
  %32 = alloca %"class.std::allocator.0", align 1
  %33 = alloca double, align 8
  %34 = alloca i32, align 4
  %35 = alloca i16, align 2
  %36 = alloca i32, align 4
  %37 = alloca i64, align 8
  %38 = alloca %"class.std::__cxx11::basic_string", align 8
  %39 = alloca %"class.std::allocator.0", align 1
  %40 = alloca i32, align 4
  %41 = alloca i32, align 4
  %42 = alloca i32, align 4
  %43 = alloca %"class.std::__cxx11::basic_string", align 8
  %44 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %45 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %46 = alloca %"struct.std::_Rb_tree_iterator.20", align 8
  %47 = alloca i32, align 4
  %48 = alloca %"struct.std::_Rb_tree_iterator.20", align 8
  %49 = alloca i32, align 4
  %50 = alloca i32, align 4
  %51 = alloca i32, align 4
  %52 = alloca ptr, align 8
  %53 = alloca %"class.std::__cxx11::basic_string", align 8
  %54 = alloca i64, align 8
  %55 = alloca i64, align 8
  %56 = alloca i32, align 4
  %57 = alloca i32, align 4
  %58 = alloca i32, align 4
  %59 = alloca i32, align 4
  %60 = alloca i32, align 4
  %61 = alloca i32, align 4
  %62 = alloca i8, align 1
  %63 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %64 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %65 = alloca %"struct.std::_Rb_tree_iterator.20", align 8
  %66 = alloca i32, align 4
  %67 = alloca %"struct.std::_Rb_tree_iterator.20", align 8
  %68 = alloca i32, align 4
  %69 = alloca %"struct.std::_Rb_tree_iterator.20", align 8
  %70 = alloca i32, align 4
  %71 = alloca %"struct.std::_Rb_tree_iterator.20", align 8
  %72 = alloca i32, align 4
  %73 = alloca %"struct.std::_Rb_tree_iterator.20", align 8
  %74 = alloca i32, align 4
  %75 = alloca %"struct.std::_Rb_tree_iterator.20", align 8
  %76 = alloca i32, align 4
  %77 = alloca %"struct.std::_Rb_tree_iterator.20", align 8
  %78 = alloca i32, align 4
  %79 = alloca %"struct.std::_Rb_tree_iterator.20", align 8
  %80 = alloca i32, align 4
  %81 = alloca %"struct.std::_Rb_tree_iterator.20", align 8
  %82 = alloca i32, align 4
  %83 = alloca %"struct.std::_Rb_tree_iterator.20", align 8
  %84 = alloca i32, align 4
  %85 = alloca %"struct.std::_Rb_tree_iterator", align 8
  store i32 %0, ptr %4, align 4, !tbaa !5
  store i32 %1, ptr %5, align 4, !tbaa !5
  store ptr %2, ptr %6, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 24, ptr %7) #9
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %7) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr %8) #9
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %8) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr %9) #9
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr %10) #9
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr %11) #9
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr %12) #9
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %12) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %13) #9
  store i32 0, ptr %13, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %14) #9
  store i32 0, ptr %14, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %15) #9
  store i32 0, ptr %15, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #9
  store i32 0, ptr %16, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %17) #9
  store i32 0, ptr %17, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %18) #9
  store i32 0, ptr %18, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 48, ptr %19) #9
  call void @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES_IiiSt4lessIiESaISt4pairIKiiEEES6_IS5_ESaIS8_IKS5_SC_EEEC2Ev(ptr noundef nonnull align 8 dereferenceable(48) %19) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %20) #9
  store i32 0, ptr %20, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr %21) #9
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %21) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr %22) #9
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %22) #9
  br label %86

86:                                               ; preds = %660, %3
  %87 = load ptr, ptr @_ZSt3cin, align 8, !tbaa !11
  %88 = getelementptr i8, ptr %87, i64 -24
  %89 = load i64, ptr %88, align 8
  %90 = getelementptr inbounds i8, ptr @_ZSt3cin, i64 %89
  %91 = invoke noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv(ptr noundef nonnull align 8 dereferenceable(264) %90)
          to label %92 unwind label %122

92:                                               ; preds = %86
  %93 = xor i1 %91, true
  br i1 %93, label %94, label %662

94:                                               ; preds = %92
  call void @llvm.lifetime.start.p0(i64 32, ptr %25) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #9
  %95 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(16) @_ZSt3cin, ptr noundef nonnull align 8 dereferenceable(32) %25)
          to label %96 unwind label %126

96:                                               ; preds = %94
  %97 = load ptr, ptr @_ZSt3cin, align 8, !tbaa !11
  %98 = getelementptr i8, ptr %97, i64 -24
  %99 = load i64, ptr %98, align 8
  %100 = getelementptr inbounds i8, ptr @_ZSt3cin, i64 %99
  %101 = invoke noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE4failEv(ptr noundef nonnull align 8 dereferenceable(264) %100)
          to label %102 unwind label %126

102:                                              ; preds = %96
  br i1 %101, label %656, label %103

103:                                              ; preds = %102
  %104 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %25, i64 noundef 0)
          to label %105 unwind label %126

105:                                              ; preds = %103
  %106 = load i8, ptr %104, align 1, !tbaa !13
  %107 = sext i8 %106 to i32
  %108 = icmp eq i32 %107, 35
  br i1 %108, label %109, label %192

109:                                              ; preds = %105
  %110 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %25, i64 noundef 1)
          to label %111 unwind label %126

111:                                              ; preds = %109
  %112 = load i8, ptr %110, align 1, !tbaa !13
  %113 = sext i8 %112 to i32
  %114 = icmp eq i32 %113, 67
  br i1 %114, label %115, label %192

115:                                              ; preds = %111
  call void @llvm.lifetime.start.p0(i64 4, ptr %26) #9
  store i32 0, ptr %26, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %27) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr %28) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %27, ptr noundef @.str.17, ptr noundef nonnull align 1 dereferenceable(1) %28)
          to label %116 unwind label %130

116:                                              ; preds = %115
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %28) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %29) #9
  store i64 0, ptr %29, align 8, !tbaa !14
  br label %117

117:                                              ; preds = %172, %116
  %118 = load i64, ptr %29, align 8, !tbaa !14
  %119 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %25) #9
  %120 = icmp ult i64 %118, %119
  br i1 %120, label %134, label %121

121:                                              ; preds = %117
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #9
  br label %175

122:                                              ; preds = %706, %703, %701, %698, %696, %693, %691, %688, %686, %683, %681, %670, %668, %666, %664, %662, %86
  %123 = landingpad { ptr, i32 }
          cleanup
  %124 = extractvalue { ptr, i32 } %123, 0
  store ptr %124, ptr %23, align 8
  %125 = extractvalue { ptr, i32 } %123, 1
  store i32 %125, ptr %24, align 4
  br label %1165

126:                                              ; preds = %192, %109, %103, %96, %94
  %127 = landingpad { ptr, i32 }
          cleanup
  %128 = extractvalue { ptr, i32 } %127, 0
  store ptr %128, ptr %23, align 8
  %129 = extractvalue { ptr, i32 } %127, 1
  store i32 %129, ptr %24, align 4
  br label %661

130:                                              ; preds = %115
  %131 = landingpad { ptr, i32 }
          cleanup
  %132 = extractvalue { ptr, i32 } %131, 0
  store ptr %132, ptr %23, align 8
  %133 = extractvalue { ptr, i32 } %131, 1
  store i32 %133, ptr %24, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %28) #9
  br label %191

134:                                              ; preds = %117
  %135 = load i32, ptr %26, align 4, !tbaa !5
  %136 = icmp sgt i32 %135, 8
  br i1 %136, label %137, label %155

137:                                              ; preds = %134
  %138 = load i64, ptr %29, align 8, !tbaa !14
  %139 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %25, i64 noundef %138)
          to label %140 unwind label %151

140:                                              ; preds = %137
  %141 = load i8, ptr %139, align 1, !tbaa !13
  %142 = sext i8 %141 to i32
  %143 = icmp ne i32 %142, 9
  br i1 %143, label %144, label %155

144:                                              ; preds = %140
  %145 = load i64, ptr %29, align 8, !tbaa !14
  %146 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %25, i64 noundef %145)
          to label %147 unwind label %151

147:                                              ; preds = %144
  %148 = load i8, ptr %146, align 1, !tbaa !13
  %149 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEc(ptr noundef nonnull align 8 dereferenceable(32) %27, i8 noundef signext %148)
          to label %150 unwind label %151

150:                                              ; preds = %147
  br label %155

151:                                              ; preds = %165, %164, %155, %147, %144, %137
  %152 = landingpad { ptr, i32 }
          cleanup
  %153 = extractvalue { ptr, i32 } %152, 0
  store ptr %153, ptr %23, align 8
  %154 = extractvalue { ptr, i32 } %152, 1
  store i32 %154, ptr %24, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #9
  br label %190

155:                                              ; preds = %150, %140, %134
  %156 = load i64, ptr %29, align 8, !tbaa !14
  %157 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %25, i64 noundef %156)
          to label %158 unwind label %151

158:                                              ; preds = %155
  %159 = load i8, ptr %157, align 1, !tbaa !13
  %160 = sext i8 %159 to i32
  %161 = icmp eq i32 %160, 9
  br i1 %161, label %162, label %171

162:                                              ; preds = %158
  %163 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %27) #9
  br i1 %163, label %168, label %164

164:                                              ; preds = %162
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backERKS5_(ptr noundef nonnull align 8 dereferenceable(24) %22, ptr noundef nonnull align 8 dereferenceable(32) %27)
          to label %165 unwind label %151

165:                                              ; preds = %164
  %166 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %27, ptr noundef @.str.17)
          to label %167 unwind label %151

167:                                              ; preds = %165
  br label %168

168:                                              ; preds = %167, %162
  %169 = load i32, ptr %26, align 4, !tbaa !5
  %170 = add nsw i32 %169, 1
  store i32 %170, ptr %26, align 4, !tbaa !5
  br label %171

171:                                              ; preds = %168, %158
  br label %172

172:                                              ; preds = %171
  %173 = load i64, ptr %29, align 8, !tbaa !14
  %174 = add i64 %173, 1
  store i64 %174, ptr %29, align 8, !tbaa !14
  br label %117, !llvm.loop !16

175:                                              ; preds = %121
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backERKS5_(ptr noundef nonnull align 8 dereferenceable(24) %22, ptr noundef nonnull align 8 dereferenceable(32) %27)
          to label %176 unwind label %186

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

178:                                              ; preds = %176
  %179 = call noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %22) #9
  %180 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %177, i64 noundef %179)
          to label %181 unwind label %186

181:                                              ; preds = %178
  %182 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %180, ptr noundef @.str.19)
          to label %183 unwind label %186

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

185:                                              ; preds = %183
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %27) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #9
  br label %655

186:                                              ; preds = %183, %181, %178, %176, %175
  %187 = landingpad { ptr, i32 }
          cleanup
  %188 = extractvalue { ptr, i32 } %187, 0
  store ptr %188, ptr %23, align 8
  %189 = extractvalue { ptr, i32 } %187, 1
  store i32 %189, ptr %24, align 4
  br label %190

190:                                              ; preds = %186, %151
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #9
  br label %191

191:                                              ; preds = %190, %130
  call void @llvm.lifetime.end.p0(i64 32, ptr %27) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #9
  br label %661

192:                                              ; preds = %111, %105
  %193 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %25, i64 noundef 0)
          to label %194 unwind label %126

194:                                              ; preds = %192
  %195 = load i8, ptr %193, align 1, !tbaa !13
  %196 = sext i8 %195 to i32
  %197 = icmp ne i32 %196, 35
  br i1 %197, label %198, label %654

198:                                              ; preds = %194
  call void @llvm.lifetime.start.p0(i64 4, ptr %30) #9
  store i32 0, ptr %30, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %31) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr %32) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %32) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %31, ptr noundef @.str.17, ptr noundef nonnull align 1 dereferenceable(1) %32)
          to label %199 unwind label %205

199:                                              ; preds = %198
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %32) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %32) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %33) #9
  store double 0.000000e+00, ptr %33, align 8, !tbaa !18
  call void @llvm.lifetime.start.p0(i64 4, ptr %34) #9
  store i32 0, ptr %34, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 2, ptr %35) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %36) #9
  store i32 0, ptr %36, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %37) #9
  store i64 0, ptr %37, align 8, !tbaa !14
  br label %200

200:                                              ; preds = %380, %199
  %201 = load i64, ptr %37, align 8, !tbaa !14
  %202 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %25) #9
  %203 = icmp ult i64 %201, %202
  br i1 %203, label %209, label %204

204:                                              ; preds = %200
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #9
  br label %384

205:                                              ; preds = %198
  %206 = landingpad { ptr, i32 }
          cleanup
  %207 = extractvalue { ptr, i32 } %206, 0
  store ptr %207, ptr %23, align 8
  %208 = extractvalue { ptr, i32 } %206, 1
  store i32 %208, ptr %24, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %32) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %32) #9
  br label %653

209:                                              ; preds = %200
  %210 = load i32, ptr %30, align 4, !tbaa !5
  %211 = icmp eq i32 %210, 0
  br i1 %211, label %212, label %230

212:                                              ; preds = %209
  %213 = load i64, ptr %37, align 8, !tbaa !14
  %214 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %25, i64 noundef %213)
          to label %215 unwind label %226

215:                                              ; preds = %212
  %216 = load i8, ptr %214, align 1, !tbaa !13
  %217 = sext i8 %216 to i32
  %218 = icmp ne i32 %217, 9
  br i1 %218, label %219, label %230

219:                                              ; preds = %215
  %220 = load i64, ptr %37, align 8, !tbaa !14
  %221 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %25, i64 noundef %220)
          to label %222 unwind label %226

222:                                              ; preds = %219
  %223 = load i8, ptr %221, align 1, !tbaa !13
  %224 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEc(ptr noundef nonnull align 8 dereferenceable(32) %31, i8 noundef signext %223)
          to label %225 unwind label %226

225:                                              ; preds = %222
  br label %230

226:                                              ; preds = %369, %352, %345, %325, %318, %314, %308, %301, %297, %291, %282, %276, %267, %261, %241, %233, %222, %219, %212
  %227 = landingpad { ptr, i32 }
          cleanup
  %228 = extractvalue { ptr, i32 } %227, 0
  store ptr %228, ptr %23, align 8
  %229 = extractvalue { ptr, i32 } %227, 1
  store i32 %229, ptr %24, align 4
  br label %383

230:                                              ; preds = %225, %215, %209
  %231 = load i32, ptr %30, align 4, !tbaa !5
  %232 = icmp eq i32 %231, 4
  br i1 %232, label %233, label %258

233:                                              ; preds = %230
  %234 = load i64, ptr %37, align 8, !tbaa !14
  %235 = sub i64 %234, 1
  %236 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %25, i64 noundef %235)
          to label %237 unwind label %226

237:                                              ; preds = %233
  %238 = load i8, ptr %236, align 1, !tbaa !13
  %239 = sext i8 %238 to i32
  %240 = icmp eq i32 %239, 9
  br i1 %240, label %241, label %258

241:                                              ; preds = %237
  %242 = load i64, ptr %37, align 8, !tbaa !14
  %243 = add i64 %242, 1
  %244 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %25, i64 noundef %243)
          to label %245 unwind label %226

245:                                              ; preds = %241
  call void @llvm.lifetime.start.p0(i64 1, ptr %39) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %38, ptr noundef %244, ptr noundef nonnull align 1 dereferenceable(1) %39)
          to label %246 unwind label %249

246:                                              ; preds = %245
  %247 = invoke noundef signext i16 @_Z8get_typeNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %38)
          to label %248 unwind label %253

248:                                              ; preds = %246
  store i16 %247, ptr %35, align 2, !tbaa !20
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %39) #9
  br label %258

249:                                              ; preds = %245
  %250 = landingpad { ptr, i32 }
          cleanup
  %251 = extractvalue { ptr, i32 } %250, 0
  store ptr %251, ptr %23, align 8
  %252 = extractvalue { ptr, i32 } %250, 1
  store i32 %252, ptr %24, align 4
  br label %257

253:                                              ; preds = %246
  %254 = landingpad { ptr, i32 }
          cleanup
  %255 = extractvalue { ptr, i32 } %254, 0
  store ptr %255, ptr %23, align 8
  %256 = extractvalue { ptr, i32 } %254, 1
  store i32 %256, ptr %24, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #9
  br label %257

257:                                              ; preds = %253, %249
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %39) #9
  br label %383

258:                                              ; preds = %248, %237, %230
  %259 = load i32, ptr %30, align 4, !tbaa !5
  %260 = icmp eq i32 %259, 7
  br i1 %260, label %261, label %273

261:                                              ; preds = %258
  %262 = load i64, ptr %37, align 8, !tbaa !14
  %263 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %25, i64 noundef %262)
          to label %264 unwind label %226

264:                                              ; preds = %261
  %265 = call i32 @strncmp(ptr noundef %263, ptr noundef @.str.20, i64 noundef 5) #10
  %266 = icmp eq i32 %265, 0
  br i1 %266, label %267, label %273

267:                                              ; preds = %264
  %268 = load i64, ptr %37, align 8, !tbaa !14
  %269 = add i64 %268, 5
  %270 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %25, i64 noundef %269)
          to label %271 unwind label %226

271:                                              ; preds = %267
  %272 = call i32 @atoi(ptr noundef %270) #10
  store i32 %272, ptr %34, align 4, !tbaa !5
  br label %273

273:                                              ; preds = %271, %264, %258
  %274 = load i32, ptr %30, align 4, !tbaa !5
  %275 = icmp eq i32 %274, 7
  br i1 %275, label %276, label %288

276:                                              ; preds = %273
  %277 = load i64, ptr %37, align 8, !tbaa !14
  %278 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %25, i64 noundef %277)
          to label %279 unwind label %226

279:                                              ; preds = %276
  %280 = call i32 @strncmp(ptr noundef %278, ptr noundef @.str.21, i64 noundef 3) #10
  %281 = icmp eq i32 %280, 0
  br i1 %281, label %282, label %288

282:                                              ; preds = %279
  %283 = load i64, ptr %37, align 8, !tbaa !14
  %284 = add i64 %283, 3
  %285 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %25, i64 noundef %284)
          to label %286 unwind label %226

286:                                              ; preds = %282
  %287 = call i32 @atoi(ptr noundef %285) #10
  store i32 %287, ptr %34, align 4, !tbaa !5
  br label %288

288:                                              ; preds = %286, %279, %273
  %289 = load i32, ptr %30, align 4, !tbaa !5
  %290 = icmp eq i32 %289, 7
  br i1 %290, label %291, label %305

291:                                              ; preds = %288
  %292 = load i64, ptr %37, align 8, !tbaa !14
  %293 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %25, i64 noundef %292)
          to label %294 unwind label %226

294:                                              ; preds = %291
  %295 = call i32 @strncmp(ptr noundef %293, ptr noundef @.str.22, i64 noundef 7) #10
  %296 = icmp eq i32 %295, 0
  br i1 %296, label %297, label %305

297:                                              ; preds = %294
  %298 = load i64, ptr %37, align 8, !tbaa !14
  %299 = add i64 %298, 7
  %300 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %25, i64 noundef %299)
          to label %301 unwind label %226

301:                                              ; preds = %297
  %302 = call double @atof(ptr noundef %300) #10
  %303 = invoke noundef double @_ZSt3absd(double noundef %302)
          to label %304 unwind label %226

304:                                              ; preds = %301
  store double %303, ptr %33, align 8, !tbaa !18
  br label %305

305:                                              ; preds = %304, %294, %288
  %306 = load i32, ptr %30, align 4, !tbaa !5
  %307 = icmp eq i32 %306, 7
  br i1 %307, label %308, label %322

308:                                              ; preds = %305
  %309 = load i64, ptr %37, align 8, !tbaa !14
  %310 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %25, i64 noundef %309)
          to label %311 unwind label %226

311:                                              ; preds = %308
  %312 = call i32 @strncmp(ptr noundef %310, ptr noundef @.str.23, i64 noundef 6) #10
  %313 = icmp eq i32 %312, 0
  br i1 %313, label %314, label %322

314:                                              ; preds = %311
  %315 = load i64, ptr %37, align 8, !tbaa !14
  %316 = add i64 %315, 6
  %317 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %25, i64 noundef %316)
          to label %318 unwind label %226

318:                                              ; preds = %314
  %319 = call double @atof(ptr noundef %317) #10
  %320 = invoke noundef double @_ZSt3absd(double noundef %319)
          to label %321 unwind label %226

321:                                              ; preds = %318
  store double %320, ptr %33, align 8, !tbaa !18
  br label %322

322:                                              ; preds = %321, %311, %305
  %323 = load i32, ptr %30, align 4, !tbaa !5
  %324 = icmp sgt i32 %323, 8
  br i1 %324, label %325, label %369

325:                                              ; preds = %322
  %326 = load i64, ptr %37, align 8, !tbaa !14
  %327 = sub i64 %326, 1
  %328 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %25, i64 noundef %327)
          to label %329 unwind label %226

329:                                              ; preds = %325
  %330 = load i8, ptr %328, align 1, !tbaa !13
  %331 = sext i8 %330 to i32
  %332 = icmp eq i32 %331, 9
  br i1 %332, label %333, label %369

333:                                              ; preds = %329
  br label %334

334:                                              ; preds = %340, %333
  %335 = load i32, ptr %36, align 4, !tbaa !5
  %336 = sext i32 %335 to i64
  %337 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %21) #9
  %338 = icmp uge i64 %336, %337
  br i1 %338, label %339, label %345

339:                                              ; preds = %334
  call void @llvm.lifetime.start.p0(i64 4, ptr %40) #9
  store i32 0, ptr %40, align 4, !tbaa !5
  invoke void @_ZNSt6vectorIiSaIiEE9push_backEOi(ptr noundef nonnull align 8 dereferenceable(24) %21, ptr noundef nonnull align 4 dereferenceable(4) %40)
          to label %340 unwind label %341

340:                                              ; preds = %339
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #9
  br label %334, !llvm.loop !22

341:                                              ; preds = %339
  %342 = landingpad { ptr, i32 }
          cleanup
  %343 = extractvalue { ptr, i32 } %342, 0
  store ptr %343, ptr %23, align 8
  %344 = extractvalue { ptr, i32 } %342, 1
  store i32 %344, ptr %24, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #9
  br label %383

345:                                              ; preds = %334
  %346 = load i64, ptr %37, align 8, !tbaa !14
  %347 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %25, i64 noundef %346)
          to label %348 unwind label %226

348:                                              ; preds = %345
  %349 = load i8, ptr %347, align 1, !tbaa !13
  %350 = sext i8 %349 to i32
  %351 = icmp eq i32 %350, 49
  br i1 %351, label %360, label %352

352:                                              ; preds = %348
  %353 = load i64, ptr %37, align 8, !tbaa !14
  %354 = add i64 %353, 2
  %355 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %25, i64 noundef %354)
          to label %356 unwind label %226

356:                                              ; preds = %352
  %357 = load i8, ptr %355, align 1, !tbaa !13
  %358 = sext i8 %357 to i32
  %359 = icmp eq i32 %358, 49
  br i1 %359, label %360, label %366

360:                                              ; preds = %356, %348
  %361 = load i32, ptr %36, align 4, !tbaa !5
  %362 = sext i32 %361 to i64
  %363 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %21, i64 noundef %362) #9
  %364 = load i32, ptr %363, align 4, !tbaa !5
  %365 = add nsw i32 %364, 1
  store i32 %365, ptr %363, align 4, !tbaa !5
  br label %366

366:                                              ; preds = %360, %356
  %367 = load i32, ptr %36, align 4, !tbaa !5
  %368 = add nsw i32 %367, 1
  store i32 %368, ptr %36, align 4, !tbaa !5
  br label %369

369:                                              ; preds = %366, %329, %322
  %370 = load i64, ptr %37, align 8, !tbaa !14
  %371 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %25, i64 noundef %370)
          to label %372 unwind label %226

372:                                              ; preds = %369
  %373 = load i8, ptr %371, align 1, !tbaa !13
  %374 = sext i8 %373 to i32
  %375 = icmp eq i32 %374, 9
  br i1 %375, label %376, label %379

376:                                              ; preds = %372
  %377 = load i32, ptr %30, align 4, !tbaa !5
  %378 = add nsw i32 %377, 1
  store i32 %378, ptr %30, align 4, !tbaa !5
  br label %379

379:                                              ; preds = %376, %372
  br label %380

380:                                              ; preds = %379
  %381 = load i64, ptr %37, align 8, !tbaa !14
  %382 = add i64 %381, 1
  store i64 %382, ptr %37, align 8, !tbaa !14
  br label %200, !llvm.loop !23

383:                                              ; preds = %341, %257, %226
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #9
  br label %652

384:                                              ; preds = %204
  %385 = load i32, ptr %5, align 4, !tbaa !5
  %386 = icmp slt i32 %385, 0
  br i1 %386, label %396, label %387

387:                                              ; preds = %384
  %388 = load double, ptr %33, align 8, !tbaa !18
  %389 = load i32, ptr %5, align 4, !tbaa !5
  %390 = sitofp i32 %389 to double
  %391 = fcmp olt double %388, %390
  br i1 %391, label %396, label %392

392:                                              ; preds = %387
  %393 = load i16, ptr %35, align 2, !tbaa !20
  %394 = sext i16 %393 to i32
  %395 = icmp eq i32 %394, 3
  br i1 %395, label %396, label %631

396:                                              ; preds = %392, %387, %384
  %397 = load i32, ptr %34, align 4, !tbaa !5
  %398 = icmp ne i32 %397, 0
  br i1 %398, label %399, label %417

399:                                              ; preds = %396
  br label %400

400:                                              ; preds = %406, %399
  %401 = load i32, ptr %34, align 4, !tbaa !5
  %402 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %12) #9
  %403 = trunc i64 %402 to i32
  %404 = icmp sge i32 %401, %403
  br i1 %404, label %405, label %411

405:                                              ; preds = %400
  call void @llvm.lifetime.start.p0(i64 4, ptr %41) #9
  store i32 0, ptr %41, align 4, !tbaa !5
  invoke void @_ZNSt6vectorIiSaIiEE9push_backEOi(ptr noundef nonnull align 8 dereferenceable(24) %12, ptr noundef nonnull align 4 dereferenceable(4) %41)
          to label %406 unwind label %407

406:                                              ; preds = %405
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #9
  br label %400, !llvm.loop !24

407:                                              ; preds = %405
  %408 = landingpad { ptr, i32 }
          cleanup
  %409 = extractvalue { ptr, i32 } %408, 0
  store ptr %409, ptr %23, align 8
  %410 = extractvalue { ptr, i32 } %408, 1
  store i32 %410, ptr %24, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #9
  br label %652

411:                                              ; preds = %400
  %412 = load i32, ptr %34, align 4, !tbaa !5
  %413 = sext i32 %412 to i64
  %414 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %413) #9
  %415 = load i32, ptr %414, align 4, !tbaa !5
  %416 = add nsw i32 %415, 1
  store i32 %416, ptr %414, align 4, !tbaa !5
  br label %417

417:                                              ; preds = %411, %396
  call void @llvm.lifetime.start.p0(i64 4, ptr %42) #9
  %418 = load double, ptr %33, align 8, !tbaa !18
  %419 = call noundef i32 @_Z8bin_sized(double noundef %418)
  store i32 %419, ptr %42, align 4, !tbaa !5
  %420 = load i16, ptr %35, align 2, !tbaa !20
  %421 = sext i16 %420 to i32
  %422 = icmp eq i32 %421, 0
  br i1 %422, label %423, label %437

423:                                              ; preds = %417
  %424 = load i32, ptr %42, align 4, !tbaa !5
  invoke void @_Z6adjustRSt6vectorIiSaIiEEi(ptr noundef nonnull align 8 dereferenceable(24) %7, i32 noundef %424)
          to label %425 unwind label %433

425:                                              ; preds = %423
  %426 = load i32, ptr %42, align 4, !tbaa !5
  %427 = sext i32 %426 to i64
  %428 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %7, i64 noundef %427) #9
  %429 = load i32, ptr %428, align 4, !tbaa !5
  %430 = add nsw i32 %429, 1
  store i32 %430, ptr %428, align 4, !tbaa !5
  %431 = load i32, ptr %14, align 4, !tbaa !5
  %432 = add nsw i32 %431, 1
  store i32 %432, ptr %14, align 4, !tbaa !5
  br label %505

433:                                              ; preds = %490, %469, %455, %441, %423
  %434 = landingpad { ptr, i32 }
          cleanup
  %435 = extractvalue { ptr, i32 } %434, 0
  store ptr %435, ptr %23, align 8
  %436 = extractvalue { ptr, i32 } %434, 1
  store i32 %436, ptr %24, align 4
  br label %630

437:                                              ; preds = %417
  %438 = load i16, ptr %35, align 2, !tbaa !20
  %439 = sext i16 %438 to i32
  %440 = icmp eq i32 %439, 2
  br i1 %440, label %441, label %451

441:                                              ; preds = %437
  %442 = load i32, ptr %42, align 4, !tbaa !5
  invoke void @_Z6adjustRSt6vectorIiSaIiEEi(ptr noundef nonnull align 8 dereferenceable(24) %9, i32 noundef %442)
          to label %443 unwind label %433

443:                                              ; preds = %441
  %444 = load i32, ptr %42, align 4, !tbaa !5
  %445 = sext i32 %444 to i64
  %446 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %9, i64 noundef %445) #9
  %447 = load i32, ptr %446, align 4, !tbaa !5
  %448 = add nsw i32 %447, 1
  store i32 %448, ptr %446, align 4, !tbaa !5
  %449 = load i32, ptr %17, align 4, !tbaa !5
  %450 = add nsw i32 %449, 1
  store i32 %450, ptr %17, align 4, !tbaa !5
  br label %504

451:                                              ; preds = %437
  %452 = load i16, ptr %35, align 2, !tbaa !20
  %453 = sext i16 %452 to i32
  %454 = icmp eq i32 %453, 1
  br i1 %454, label %455, label %465

455:                                              ; preds = %451
  %456 = load i32, ptr %42, align 4, !tbaa !5
  invoke void @_Z6adjustRSt6vectorIiSaIiEEi(ptr noundef nonnull align 8 dereferenceable(24) %8, i32 noundef %456)
          to label %457 unwind label %433

457:                                              ; preds = %455
  %458 = load i32, ptr %42, align 4, !tbaa !5
  %459 = sext i32 %458 to i64
  %460 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %459) #9
  %461 = load i32, ptr %460, align 4, !tbaa !5
  %462 = add nsw i32 %461, 1
  store i32 %462, ptr %460, align 4, !tbaa !5
  %463 = load i32, ptr %15, align 4, !tbaa !5
  %464 = add nsw i32 %463, 1
  store i32 %464, ptr %15, align 4, !tbaa !5
  br label %503

465:                                              ; preds = %451
  %466 = load i16, ptr %35, align 2, !tbaa !20
  %467 = sext i16 %466 to i32
  %468 = icmp eq i32 %467, 4
  br i1 %468, label %469, label %479

469:                                              ; preds = %465
  %470 = load i32, ptr %42, align 4, !tbaa !5
  invoke void @_Z6adjustRSt6vectorIiSaIiEEi(ptr noundef nonnull align 8 dereferenceable(24) %10, i32 noundef %470)
          to label %471 unwind label %433

471:                                              ; preds = %469
  %472 = load i32, ptr %42, align 4, !tbaa !5
  %473 = sext i32 %472 to i64
  %474 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef %473) #9
  %475 = load i32, ptr %474, align 4, !tbaa !5
  %476 = add nsw i32 %475, 1
  store i32 %476, ptr %474, align 4, !tbaa !5
  %477 = load i32, ptr %16, align 4, !tbaa !5
  %478 = add nsw i32 %477, 1
  store i32 %478, ptr %16, align 4, !tbaa !5
  br label %502

479:                                              ; preds = %465
  %480 = load i16, ptr %35, align 2, !tbaa !20
  %481 = sext i16 %480 to i32
  %482 = icmp eq i32 %481, 3
  br i1 %482, label %483, label %486

483:                                              ; preds = %479
  %484 = load i32, ptr %13, align 4, !tbaa !5
  %485 = add nsw i32 %484, 1
  store i32 %485, ptr %13, align 4, !tbaa !5
  br label %501

486:                                              ; preds = %479
  %487 = load i16, ptr %35, align 2, !tbaa !20
  %488 = sext i16 %487 to i32
  %489 = icmp eq i32 %488, -1
  br i1 %489, label %490, label %500

490:                                              ; preds = %486
  %491 = load i32, ptr %42, align 4, !tbaa !5
  invoke void @_Z6adjustRSt6vectorIiSaIiEEi(ptr noundef nonnull align 8 dereferenceable(24) %11, i32 noundef %491)
          to label %492 unwind label %433

492:                                              ; preds = %490
  %493 = load i32, ptr %42, align 4, !tbaa !5
  %494 = sext i32 %493 to i64
  %495 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %494) #9
  %496 = load i32, ptr %495, align 4, !tbaa !5
  %497 = add nsw i32 %496, 1
  store i32 %497, ptr %495, align 4, !tbaa !5
  %498 = load i32, ptr %18, align 4, !tbaa !5
  %499 = add nsw i32 %498, 1
  store i32 %499, ptr %18, align 4, !tbaa !5
  br label %500

500:                                              ; preds = %492, %486
  br label %501

501:                                              ; preds = %500, %483
  br label %502

502:                                              ; preds = %501, %471
  br label %503

503:                                              ; preds = %502, %457
  br label %504

504:                                              ; preds = %503, %443
  br label %505

505:                                              ; preds = %504, %425
  call void @llvm.lifetime.start.p0(i64 32, ptr %43) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %43, ptr noundef nonnull align 8 dereferenceable(32) %2)
          to label %506 unwind label %512

506:                                              ; preds = %505
  %507 = load i32, ptr %34, align 4, !tbaa !5
  %508 = icmp slt i32 %507, 3
  br i1 %508, label %509, label %520

509:                                              ; preds = %506
  %510 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc(ptr noundef nonnull align 8 dereferenceable(32) %43, ptr noundef @.str.24)
          to label %511 unwind label %516

511:                                              ; preds = %509
  br label %544

512:                                              ; preds = %505
  %513 = landingpad { ptr, i32 }
          cleanup
  %514 = extractvalue { ptr, i32 } %513, 0
  store ptr %514, ptr %23, align 8
  %515 = extractvalue { ptr, i32 } %513, 1
  store i32 %515, ptr %24, align 4
  br label %629

516:                                              ; preds = %616, %584, %558, %555, %552, %549, %546, %538, %535, %529, %523, %509
  %517 = landingpad { ptr, i32 }
          cleanup
  %518 = extractvalue { ptr, i32 } %517, 0
  store ptr %518, ptr %23, align 8
  %519 = extractvalue { ptr, i32 } %517, 1
  store i32 %519, ptr %24, align 4
  br label %628

520:                                              ; preds = %506
  %521 = load i32, ptr %34, align 4, !tbaa !5
  %522 = icmp slt i32 %521, 10
  br i1 %522, label %523, label %526

523:                                              ; preds = %520
  %524 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc(ptr noundef nonnull align 8 dereferenceable(32) %43, ptr noundef @.str.25)
          to label %525 unwind label %516

525:                                              ; preds = %523
  br label %543

526:                                              ; preds = %520
  %527 = load i32, ptr %34, align 4, !tbaa !5
  %528 = icmp slt i32 %527, 100
  br i1 %528, label %529, label %532

529:                                              ; preds = %526
  %530 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc(ptr noundef nonnull align 8 dereferenceable(32) %43, ptr noundef @.str.26)
          to label %531 unwind label %516

531:                                              ; preds = %529
  br label %542

532:                                              ; preds = %526
  %533 = load i32, ptr %34, align 4, !tbaa !5
  %534 = icmp slt i32 %533, 1000
  br i1 %534, label %535, label %538

535:                                              ; preds = %532
  %536 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc(ptr noundef nonnull align 8 dereferenceable(32) %43, ptr noundef @.str.27)
          to label %537 unwind label %516

537:                                              ; preds = %535
  br label %541

538:                                              ; preds = %532
  %539 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc(ptr noundef nonnull align 8 dereferenceable(32) %43, ptr noundef @.str.28)
          to label %540 unwind label %516

540:                                              ; preds = %538
  br label %541

541:                                              ; preds = %540, %537
  br label %542

542:                                              ; preds = %541, %531
  br label %543

543:                                              ; preds = %542, %525
  br label %544

544:                                              ; preds = %543, %511
  %545 = load i32, ptr %42, align 4, !tbaa !5
  switch i32 %545, label %561 [
    i32 0, label %546
    i32 1, label %549
    i32 2, label %552
    i32 3, label %555
    i32 4, label %558
  ]

546:                                              ; preds = %544
  %547 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc(ptr noundef nonnull align 8 dereferenceable(32) %43, ptr noundef @.str.29)
          to label %548 unwind label %516

548:                                              ; preds = %546
  br label %562

549:                                              ; preds = %544
  %550 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc(ptr noundef nonnull align 8 dereferenceable(32) %43, ptr noundef @.str.30)
          to label %551 unwind label %516

551:                                              ; preds = %549
  br label %562

552:                                              ; preds = %544
  %553 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc(ptr noundef nonnull align 8 dereferenceable(32) %43, ptr noundef @.str.31)
          to label %554 unwind label %516

554:                                              ; preds = %552
  br label %562

555:                                              ; preds = %544
  %556 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc(ptr noundef nonnull align 8 dereferenceable(32) %43, ptr noundef @.str.32)
          to label %557 unwind label %516

557:                                              ; preds = %555
  br label %562

558:                                              ; preds = %544
  %559 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc(ptr noundef nonnull align 8 dereferenceable(32) %43, ptr noundef @.str.33)
          to label %560 unwind label %516

560:                                              ; preds = %558
  br label %562

561:                                              ; preds = %544
  br label %562

562:                                              ; preds = %561, %560, %557, %554, %551, %548
  call void @llvm.lifetime.start.p0(i64 8, ptr %44) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %46) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %47) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %48) #9
  %563 = invoke ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES_IiiSt4lessIiESaISt4pairIKiiEEES6_IS5_ESaIS8_IKS5_SC_EEE4findERSE_(ptr noundef nonnull align 8 dereferenceable(48) %19, ptr noundef nonnull align 8 dereferenceable(32) %31)
          to label %564 unwind label %593

564:                                              ; preds = %562
  %565 = getelementptr inbounds %"struct.std::_Rb_tree_iterator", ptr %44, i32 0, i32 0
  store ptr %563, ptr %565, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %45) #9
  %566 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES_IiiSt4lessIiESaISt4pairIKiiEEES6_IS5_ESaIS8_IKS5_SC_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %19) #9
  %567 = getelementptr inbounds %"struct.std::_Rb_tree_iterator", ptr %45, i32 0, i32 0
  store ptr %566, ptr %567, align 8
  %568 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEESI_(ptr noundef nonnull align 8 dereferenceable(8) %44, ptr noundef nonnull align 8 dereferenceable(8) %45) #9
  br i1 %568, label %582, label %569

569:                                              ; preds = %564
  %570 = 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) %19, ptr noundef nonnull align 8 dereferenceable(32) %31)
          to label %571 unwind label %597

571:                                              ; preds = %569
  %572 = load i16, ptr %35, align 2, !tbaa !20
  %573 = sext i16 %572 to i32
  store i32 %573, ptr %47, align 4, !tbaa !5
  %574 = invoke ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEE4findERS3_(ptr noundef nonnull align 8 dereferenceable(48) %570, ptr noundef nonnull align 4 dereferenceable(4) %47)
          to label %575 unwind label %601

575:                                              ; preds = %571
  %576 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.20", ptr %46, i32 0, i32 0
  store ptr %574, ptr %576, align 8
  %577 = 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) %19, ptr noundef nonnull align 8 dereferenceable(32) %31)
          to label %578 unwind label %605

578:                                              ; preds = %575
  %579 = call ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %577) #9
  %580 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.20", ptr %48, i32 0, i32 0
  store ptr %579, ptr %580, align 8
  %581 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKiiEES5_(ptr noundef nonnull align 8 dereferenceable(8) %46, ptr noundef nonnull align 8 dereferenceable(8) %48) #9
  br label %582

582:                                              ; preds = %578, %564
  %583 = phi i1 [ true, %564 ], [ %581, %578 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #9
  br i1 %583, label %584, label %616

584:                                              ; preds = %582
  %585 = 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) %19, ptr noundef nonnull align 8 dereferenceable(32) %31)
          to label %586 unwind label %516

586:                                              ; preds = %584
  call void @llvm.lifetime.start.p0(i64 4, ptr %49) #9
  %587 = load i16, ptr %35, align 2, !tbaa !20
  %588 = sext i16 %587 to i32
  store i32 %588, ptr %49, align 4, !tbaa !5
  %589 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEEixEOi(ptr noundef nonnull align 8 dereferenceable(48) %585, ptr noundef nonnull align 4 dereferenceable(4) %49)
          to label %590 unwind label %612

590:                                              ; preds = %586
  %591 = load i32, ptr %589, align 4, !tbaa !5
  %592 = add nsw i32 %591, 1
  store i32 %592, ptr %589, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #9
  br label %627

593:                                              ; preds = %562
  %594 = landingpad { ptr, i32 }
          cleanup
  %595 = extractvalue { ptr, i32 } %594, 0
  store ptr %595, ptr %23, align 8
  %596 = extractvalue { ptr, i32 } %594, 1
  store i32 %596, ptr %24, align 4
  br label %611

597:                                              ; preds = %569
  %598 = landingpad { ptr, i32 }
          cleanup
  %599 = extractvalue { ptr, i32 } %598, 0
  store ptr %599, ptr %23, align 8
  %600 = extractvalue { ptr, i32 } %598, 1
  store i32 %600, ptr %24, align 4
  br label %610

601:                                              ; preds = %571
  %602 = landingpad { ptr, i32 }
          cleanup
  %603 = extractvalue { ptr, i32 } %602, 0
  store ptr %603, ptr %23, align 8
  %604 = extractvalue { ptr, i32 } %602, 1
  store i32 %604, ptr %24, align 4
  br label %609

605:                                              ; preds = %575
  %606 = landingpad { ptr, i32 }
          cleanup
  %607 = extractvalue { ptr, i32 } %606, 0
  store ptr %607, ptr %23, align 8
  %608 = extractvalue { ptr, i32 } %606, 1
  store i32 %608, ptr %24, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #9
  br label %609

609:                                              ; preds = %605, %601
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #9
  br label %610

610:                                              ; preds = %609, %597
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #9
  br label %611

611:                                              ; preds = %610, %593
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #9
  br label %628

612:                                              ; preds = %586
  %613 = landingpad { ptr, i32 }
          cleanup
  %614 = extractvalue { ptr, i32 } %613, 0
  store ptr %614, ptr %23, align 8
  %615 = extractvalue { ptr, i32 } %613, 1
  store i32 %615, ptr %24, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #9
  br label %628

616:                                              ; preds = %582
  %617 = 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) %19, ptr noundef nonnull align 8 dereferenceable(32) %31)
          to label %618 unwind label %516

618:                                              ; preds = %616
  call void @llvm.lifetime.start.p0(i64 4, ptr %50) #9
  %619 = load i16, ptr %35, align 2, !tbaa !20
  %620 = sext i16 %619 to i32
  store i32 %620, ptr %50, align 4, !tbaa !5
  %621 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEEixEOi(ptr noundef nonnull align 8 dereferenceable(48) %617, ptr noundef nonnull align 4 dereferenceable(4) %50)
          to label %622 unwind label %623

622:                                              ; preds = %618
  store i32 1, ptr %621, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #9
  br label %627

623:                                              ; preds = %618
  %624 = landingpad { ptr, i32 }
          cleanup
  %625 = extractvalue { ptr, i32 } %624, 0
  store ptr %625, ptr %23, align 8
  %626 = extractvalue { ptr, i32 } %624, 1
  store i32 %626, ptr %24, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #9
  br label %628

627:                                              ; preds = %622, %590
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %43) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #9
  br label %631

628:                                              ; preds = %623, %612, %611, %516
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #9
  br label %629

629:                                              ; preds = %628, %512
  call void @llvm.lifetime.end.p0(i64 32, ptr %43) #9
  br label %630

630:                                              ; preds = %629, %433
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #9
  br label %652

631:                                              ; preds = %627, %392
  %632 = load i32, ptr %20, align 4, !tbaa !5
  %633 = srem i32 %632, 1000
  %634 = icmp eq i32 %633, 0
  br i1 %634, label %635, label %649

635:                                              ; preds = %631
  %636 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.34)
          to label %637 unwind label %645

637:                                              ; preds = %635
  %638 = load i32, ptr %20, align 4, !tbaa !5
  %639 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %636, i32 noundef %638)
          to label %640 unwind label %645

640:                                              ; preds = %637
  %641 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %639, ptr noundef @.str.35)
          to label %642 unwind label %645

642:                                              ; preds = %640
  %643 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %641, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %644 unwind label %645

644:                                              ; preds = %642
  br label %649

645:                                              ; preds = %642, %640, %637, %635
  %646 = landingpad { ptr, i32 }
          cleanup
  %647 = extractvalue { ptr, i32 } %646, 0
  store ptr %647, ptr %23, align 8
  %648 = extractvalue { ptr, i32 } %646, 1
  store i32 %648, ptr %24, align 4
  br label %652

649:                                              ; preds = %644, %631
  %650 = load i32, ptr %20, align 4, !tbaa !5
  %651 = add nsw i32 %650, 1
  store i32 %651, ptr %20, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #9
  call void @llvm.lifetime.end.p0(i64 2, ptr %35) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %31) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #9
  br label %654

652:                                              ; preds = %645, %630, %407, %383
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #9
  call void @llvm.lifetime.end.p0(i64 2, ptr %35) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #9
  br label %653

653:                                              ; preds = %652, %205
  call void @llvm.lifetime.end.p0(i64 32, ptr %31) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #9
  br label %661

654:                                              ; preds = %649, %194
  br label %655

655:                                              ; preds = %654, %185
  br label %657

656:                                              ; preds = %102
  store i32 3, ptr %51, align 4
  br label %658

657:                                              ; preds = %655
  store i32 0, ptr %51, align 4
  br label %658

658:                                              ; preds = %657, %656
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %25) #9
  %659 = load i32, ptr %51, align 4
  switch i32 %659, label %1171 [
    i32 0, label %660
    i32 3, label %662
  ]

660:                                              ; preds = %658
  br label %86, !llvm.loop !25

661:                                              ; preds = %653, %191, %126
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %25) #9
  br label %1165

662:                                              ; preds = %658, %92
  %663 = 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 %664 unwind label %122

664:                                              ; preds = %662
  %665 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %663, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %666 unwind label %122

666:                                              ; preds = %664
  %667 = 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 %668 unwind label %122

668:                                              ; preds = %666
  %669 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %667, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %670 unwind label %122

670:                                              ; preds = %668
  %671 = load i32, ptr %14, align 4, !tbaa !5
  %672 = load i32, ptr %15, align 4, !tbaa !5
  %673 = add nsw i32 %671, %672
  %674 = load i32, ptr %16, align 4, !tbaa !5
  %675 = add nsw i32 %673, %674
  %676 = load i32, ptr %17, align 4, !tbaa !5
  %677 = add nsw i32 %675, %676
  %678 = load i32, ptr %13, align 4, !tbaa !5
  %679 = add nsw i32 %677, %678
  %680 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, i32 noundef %679)
          to label %681 unwind label %122

681:                                              ; preds = %670
  %682 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %680, ptr noundef @.str.3)
          to label %683 unwind label %122

683:                                              ; preds = %681
  %684 = load i32, ptr %14, align 4, !tbaa !5
  %685 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %682, i32 noundef %684)
          to label %686 unwind label %122

686:                                              ; preds = %683
  %687 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %685, ptr noundef @.str.3)
          to label %688 unwind label %122

688:                                              ; preds = %686
  %689 = load i32, ptr %15, align 4, !tbaa !5
  %690 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %687, i32 noundef %689)
          to label %691 unwind label %122

691:                                              ; preds = %688
  %692 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %690, ptr noundef @.str.3)
          to label %693 unwind label %122

693:                                              ; preds = %691
  %694 = load i32, ptr %16, align 4, !tbaa !5
  %695 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %692, i32 noundef %694)
          to label %696 unwind label %122

696:                                              ; preds = %693
  %697 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %695, ptr noundef @.str.3)
          to label %698 unwind label %122

698:                                              ; preds = %696
  %699 = load i32, ptr %17, align 4, !tbaa !5
  %700 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %697, i32 noundef %699)
          to label %701 unwind label %122

701:                                              ; preds = %698
  %702 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %700, ptr noundef @.str.3)
          to label %703 unwind label %122

703:                                              ; preds = %701
  %704 = load i32, ptr %13, align 4, !tbaa !5
  %705 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %702, i32 noundef %704)
          to label %706 unwind label %122

706:                                              ; preds = %703
  %707 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %705, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %708 unwind label %122

708:                                              ; preds = %706
  call void @llvm.lifetime.start.p0(i64 8, ptr %52) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %53) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %53, ptr noundef nonnull align 8 dereferenceable(32) %2)
          to label %709 unwind label %722

709:                                              ; preds = %708
  %710 = call noundef zeroext i1 @_ZNKSt6vectorIiSaIiEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(24) %12) #9
  br i1 %710, label %751, label %711

711:                                              ; preds = %709
  %712 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc(ptr noundef nonnull align 8 dereferenceable(32) %53, ptr noundef @.str.4)
          to label %713 unwind label %726

713:                                              ; preds = %711
  %714 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %53) #9
  %715 = invoke noalias ptr @fopen(ptr noundef %714, ptr noundef @.str.5)
          to label %716 unwind label %726

716:                                              ; preds = %713
  store ptr %715, ptr %52, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %54) #9
  store i64 0, ptr %54, align 8, !tbaa !14
  br label %717

717:                                              ; preds = %744, %716
  %718 = load i64, ptr %54, align 8, !tbaa !14
  %719 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %12) #9
  %720 = icmp ult i64 %718, %719
  br i1 %720, label %730, label %721

721:                                              ; preds = %717
  store i32 15, ptr %51, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %54) #9
  br label %747

722:                                              ; preds = %708
  %723 = landingpad { ptr, i32 }
          cleanup
  %724 = extractvalue { ptr, i32 } %723, 0
  store ptr %724, ptr %23, align 8
  %725 = extractvalue { ptr, i32 } %723, 1
  store i32 %725, ptr %24, align 4
  br label %1164

726:                                              ; preds = %792, %757, %755, %751, %747, %713, %711
  %727 = landingpad { ptr, i32 }
          cleanup
  %728 = extractvalue { ptr, i32 } %727, 0
  store ptr %728, ptr %23, align 8
  %729 = extractvalue { ptr, i32 } %727, 1
  store i32 %729, ptr %24, align 4
  br label %1163

730:                                              ; preds = %717
  %731 = load ptr, ptr %52, align 8, !tbaa !9
  %732 = load i64, ptr %54, align 8, !tbaa !14
  %733 = trunc i64 %732 to i32
  %734 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %731, ptr noundef @.str.6, i32 noundef %733) #9
  %735 = load ptr, ptr %52, align 8, !tbaa !9
  %736 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %735, ptr noundef @.str.7, i32 noundef 9) #9
  %737 = load ptr, ptr %52, align 8, !tbaa !9
  %738 = load i64, ptr %54, align 8, !tbaa !14
  %739 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %738) #9
  %740 = load i32, ptr %739, align 4, !tbaa !5
  %741 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %737, ptr noundef @.str.6, i32 noundef %740) #9
  %742 = load ptr, ptr %52, align 8, !tbaa !9
  %743 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %742, ptr noundef @.str.7, i32 noundef 10) #9
  br label %744

744:                                              ; preds = %730
  %745 = load i64, ptr %54, align 8, !tbaa !14
  %746 = add i64 %745, 1
  store i64 %746, ptr %54, align 8, !tbaa !14
  br label %717, !llvm.loop !26

747:                                              ; preds = %721
  %748 = load ptr, ptr %52, align 8, !tbaa !9
  %749 = invoke i32 @fclose(ptr noundef %748)
          to label %750 unwind label %726

750:                                              ; preds = %747
  br label %751

751:                                              ; preds = %750, %709
  %752 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %53, ptr noundef nonnull align 8 dereferenceable(32) %2)
          to label %753 unwind label %726

753:                                              ; preds = %751
  %754 = call noundef zeroext i1 @_ZNKSt6vectorIiSaIiEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(24) %21) #9
  br i1 %754, label %796, label %755

755:                                              ; preds = %753
  %756 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc(ptr noundef nonnull align 8 dereferenceable(32) %53, ptr noundef @.str.36)
          to label %757 unwind label %726

757:                                              ; preds = %755
  %758 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %53) #9
  %759 = invoke noalias ptr @fopen(ptr noundef %758, ptr noundef @.str.5)
          to label %760 unwind label %726

760:                                              ; preds = %757
  store ptr %759, ptr %52, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %55) #9
  store i64 0, ptr %55, align 8, !tbaa !14
  br label %761

761:                                              ; preds = %789, %760
  %762 = load i64, ptr %55, align 8, !tbaa !14
  %763 = call noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %22) #9
  %764 = icmp ult i64 %762, %763
  br i1 %764, label %766, label %765

765:                                              ; preds = %761
  store i32 18, ptr %51, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %55) #9
  br label %792

766:                                              ; preds = %761
  %767 = load ptr, ptr %52, align 8, !tbaa !9
  %768 = load i64, ptr %55, align 8, !tbaa !14
  %769 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %22, i64 noundef %768) #9
  %770 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %769) #9
  %771 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %767, ptr noundef @.str.8, ptr noundef %770) #9
  %772 = load ptr, ptr %52, align 8, !tbaa !9
  %773 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %772, ptr noundef @.str.7, i32 noundef 9) #9
  %774 = load i64, ptr %55, align 8, !tbaa !14
  %775 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %21) #9
  %776 = icmp ugt i64 %774, %775
  br i1 %776, label %777, label %780

777:                                              ; preds = %766
  %778 = load ptr, ptr %52, align 8, !tbaa !9
  %779 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %778, ptr noundef @.str.6, i32 noundef 0) #9
  br label %786

780:                                              ; preds = %766
  %781 = load ptr, ptr %52, align 8, !tbaa !9
  %782 = load i64, ptr %55, align 8, !tbaa !14
  %783 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %21, i64 noundef %782) #9
  %784 = load i32, ptr %783, align 4, !tbaa !5
  %785 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %781, ptr noundef @.str.6, i32 noundef %784) #9
  br label %786

786:                                              ; preds = %780, %777
  %787 = load ptr, ptr %52, align 8, !tbaa !9
  %788 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %787, ptr noundef @.str.7, i32 noundef 10) #9
  br label %789

789:                                              ; preds = %786
  %790 = load i64, ptr %55, align 8, !tbaa !14
  %791 = add i64 %790, 1
  store i64 %791, ptr %55, align 8, !tbaa !14
  br label %761, !llvm.loop !27

792:                                              ; preds = %765
  %793 = load ptr, ptr %52, align 8, !tbaa !9
  %794 = invoke i32 @fclose(ptr noundef %793)
          to label %795 unwind label %726

795:                                              ; preds = %792
  br label %796

796:                                              ; preds = %795, %753
  call void @llvm.lifetime.start.p0(i64 4, ptr %56) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %57) #9
  %797 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %7) #9
  %798 = trunc i64 %797 to i32
  store i32 %798, ptr %57, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %58) #9
  %799 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #9
  %800 = trunc i64 %799 to i32
  store i32 %800, ptr %58, align 4, !tbaa !5
  %801 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3maxIiERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %57, ptr noundef nonnull align 4 dereferenceable(4) %58)
          to label %802 unwind label %823

802:                                              ; preds = %796
  call void @llvm.lifetime.start.p0(i64 4, ptr %59) #9
  %803 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %9) #9
  %804 = trunc i64 %803 to i32
  store i32 %804, ptr %59, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %60) #9
  %805 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %11) #9
  %806 = trunc i64 %805 to i32
  store i32 %806, ptr %60, align 4, !tbaa !5
  %807 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3maxIiERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %59, ptr noundef nonnull align 4 dereferenceable(4) %60)
          to label %808 unwind label %827

808:                                              ; preds = %802
  %809 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3maxIiERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %801, ptr noundef nonnull align 4 dereferenceable(4) %807)
          to label %810 unwind label %827

810:                                              ; preds = %808
  %811 = load i32, ptr %809, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 4, ptr %60) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #9
  store i32 %811, ptr %56, align 4, !tbaa !5
  %812 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %2) #9
  %813 = invoke noalias ptr @fopen(ptr noundef %812, ptr noundef @.str.5)
          to label %814 unwind label %832

814:                                              ; preds = %810
  store ptr %813, ptr %52, align 8, !tbaa !9
  %815 = load ptr, ptr %52, align 8, !tbaa !9
  %816 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %815, ptr noundef @.str.8, ptr noundef @.str.9) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %61) #9
  store i32 0, ptr %61, align 4, !tbaa !5
  br label %817

817:                                              ; preds = %954, %814
  %818 = load i32, ptr %61, align 4, !tbaa !5
  %819 = load i32, ptr %56, align 4, !tbaa !5
  %820 = add nsw i32 %819, 1
  %821 = icmp slt i32 %818, %820
  br i1 %821, label %836, label %822

822:                                              ; preds = %817
  store i32 21, ptr %51, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #9
  br label %957

823:                                              ; preds = %796
  %824 = landingpad { ptr, i32 }
          cleanup
  %825 = extractvalue { ptr, i32 } %824, 0
  store ptr %825, ptr %23, align 8
  %826 = extractvalue { ptr, i32 } %824, 1
  store i32 %826, ptr %24, align 4
  br label %831

827:                                              ; preds = %808, %802
  %828 = landingpad { ptr, i32 }
          cleanup
  %829 = extractvalue { ptr, i32 } %828, 0
  store ptr %829, ptr %23, align 8
  %830 = extractvalue { ptr, i32 } %828, 1
  store i32 %830, ptr %24, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %60) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #9
  br label %831

831:                                              ; preds = %827, %823
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #9
  br label %1162

832:                                              ; preds = %964, %962, %960, %957, %810
  %833 = landingpad { ptr, i32 }
          cleanup
  %834 = extractvalue { ptr, i32 } %833, 0
  store ptr %834, ptr %23, align 8
  %835 = extractvalue { ptr, i32 } %833, 1
  store i32 %835, ptr %24, align 4
  br label %1162

836:                                              ; preds = %817
  %837 = load i32, ptr %61, align 4, !tbaa !5
  switch i32 %837, label %853 [
    i32 0, label %838
    i32 1, label %841
    i32 2, label %844
    i32 3, label %847
    i32 4, label %850
  ]

838:                                              ; preds = %836
  %839 = load ptr, ptr %52, align 8, !tbaa !9
  %840 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %839, ptr noundef @.str.8, ptr noundef @.str.10) #9
  br label %854

841:                                              ; preds = %836
  %842 = load ptr, ptr %52, align 8, !tbaa !9
  %843 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %842, ptr noundef @.str.8, ptr noundef @.str.11) #9
  br label %854

844:                                              ; preds = %836
  %845 = load ptr, ptr %52, align 8, !tbaa !9
  %846 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %845, ptr noundef @.str.8, ptr noundef @.str.12) #9
  br label %854

847:                                              ; preds = %836
  %848 = load ptr, ptr %52, align 8, !tbaa !9
  %849 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %848, ptr noundef @.str.8, ptr noundef @.str.13) #9
  br label %854

850:                                              ; preds = %836
  %851 = load ptr, ptr %52, align 8, !tbaa !9
  %852 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %851, ptr noundef @.str.8, ptr noundef @.str.14) #9
  br label %854

853:                                              ; preds = %836
  br label %854

854:                                              ; preds = %853, %850, %847, %844, %841, %838
  %855 = load ptr, ptr %52, align 8, !tbaa !9
  %856 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %855, ptr noundef @.str.7, i32 noundef 9) #9
  %857 = load i32, ptr %61, align 4, !tbaa !5
  %858 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %7) #9
  %859 = trunc i64 %858 to i32
  %860 = icmp slt i32 %857, %859
  br i1 %860, label %861, label %868

861:                                              ; preds = %854
  %862 = load ptr, ptr %52, align 8, !tbaa !9
  %863 = load i32, ptr %61, align 4, !tbaa !5
  %864 = sext i32 %863 to i64
  %865 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %7, i64 noundef %864) #9
  %866 = load i32, ptr %865, align 4, !tbaa !5
  %867 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %862, ptr noundef @.str.6, i32 noundef %866) #9
  br label %871

868:                                              ; preds = %854
  %869 = load ptr, ptr %52, align 8, !tbaa !9
  %870 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %869, ptr noundef @.str.6, i32 noundef 0) #9
  br label %871

871:                                              ; preds = %868, %861
  %872 = load ptr, ptr %52, align 8, !tbaa !9
  %873 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %872, ptr noundef @.str.7, i32 noundef 9) #9
  %874 = load i32, ptr %61, align 4, !tbaa !5
  %875 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #9
  %876 = trunc i64 %875 to i32
  %877 = icmp slt i32 %874, %876
  br i1 %877, label %878, label %885

878:                                              ; preds = %871
  %879 = load ptr, ptr %52, align 8, !tbaa !9
  %880 = load i32, ptr %61, align 4, !tbaa !5
  %881 = sext i32 %880 to i64
  %882 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %881) #9
  %883 = load i32, ptr %882, align 4, !tbaa !5
  %884 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %879, ptr noundef @.str.6, i32 noundef %883) #9
  br label %888

885:                                              ; preds = %871
  %886 = load ptr, ptr %52, align 8, !tbaa !9
  %887 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %886, ptr noundef @.str.6, i32 noundef 0) #9
  br label %888

888:                                              ; preds = %885, %878
  %889 = load ptr, ptr %52, align 8, !tbaa !9
  %890 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %889, ptr noundef @.str.7, i32 noundef 9) #9
  %891 = load i32, ptr %61, align 4, !tbaa !5
  %892 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %9) #9
  %893 = trunc i64 %892 to i32
  %894 = icmp slt i32 %891, %893
  br i1 %894, label %895, label %902

895:                                              ; preds = %888
  %896 = load ptr, ptr %52, align 8, !tbaa !9
  %897 = load i32, ptr %61, align 4, !tbaa !5
  %898 = sext i32 %897 to i64
  %899 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %9, i64 noundef %898) #9
  %900 = load i32, ptr %899, align 4, !tbaa !5
  %901 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %896, ptr noundef @.str.6, i32 noundef %900) #9
  br label %905

902:                                              ; preds = %888
  %903 = load ptr, ptr %52, align 8, !tbaa !9
  %904 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %903, ptr noundef @.str.6, i32 noundef 0) #9
  br label %905

905:                                              ; preds = %902, %895
  %906 = load ptr, ptr %52, align 8, !tbaa !9
  %907 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %906, ptr noundef @.str.7, i32 noundef 9) #9
  %908 = load i32, ptr %61, align 4, !tbaa !5
  %909 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %10) #9
  %910 = trunc i64 %909 to i32
  %911 = icmp slt i32 %908, %910
  br i1 %911, label %912, label %919

912:                                              ; preds = %905
  %913 = load ptr, ptr %52, align 8, !tbaa !9
  %914 = load i32, ptr %61, align 4, !tbaa !5
  %915 = sext i32 %914 to i64
  %916 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef %915) #9
  %917 = load i32, ptr %916, align 4, !tbaa !5
  %918 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %913, ptr noundef @.str.6, i32 noundef %917) #9
  br label %922

919:                                              ; preds = %905
  %920 = load ptr, ptr %52, align 8, !tbaa !9
  %921 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %920, ptr noundef @.str.6, i32 noundef 0) #9
  br label %922

922:                                              ; preds = %919, %912
  %923 = load ptr, ptr %52, align 8, !tbaa !9
  %924 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %923, ptr noundef @.str.7, i32 noundef 9) #9
  %925 = load i32, ptr %61, align 4, !tbaa !5
  %926 = icmp eq i32 %925, 0
  br i1 %926, label %927, label %931

927:                                              ; preds = %922
  %928 = load ptr, ptr %52, align 8, !tbaa !9
  %929 = load i32, ptr %13, align 4, !tbaa !5
  %930 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %928, ptr noundef @.str.6, i32 noundef %929) #9
  br label %934

931:                                              ; preds = %922
  %932 = load ptr, ptr %52, align 8, !tbaa !9
  %933 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %932, ptr noundef @.str.6, i32 noundef 0) #9
  br label %934

934:                                              ; preds = %931, %927
  %935 = load ptr, ptr %52, align 8, !tbaa !9
  %936 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %935, ptr noundef @.str.7, i32 noundef 9) #9
  %937 = load i32, ptr %61, align 4, !tbaa !5
  %938 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %11) #9
  %939 = trunc i64 %938 to i32
  %940 = icmp slt i32 %937, %939
  br i1 %940, label %941, label %948

941:                                              ; preds = %934
  %942 = load ptr, ptr %52, align 8, !tbaa !9
  %943 = load i32, ptr %61, align 4, !tbaa !5
  %944 = sext i32 %943 to i64
  %945 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %944) #9
  %946 = load i32, ptr %945, align 4, !tbaa !5
  %947 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %942, ptr noundef @.str.6, i32 noundef %946) #9
  br label %951

948:                                              ; preds = %934
  %949 = load ptr, ptr %52, align 8, !tbaa !9
  %950 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %949, ptr noundef @.str.6, i32 noundef 0) #9
  br label %951

951:                                              ; preds = %948, %941
  %952 = load ptr, ptr %52, align 8, !tbaa !9
  %953 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %952, ptr noundef @.str.7, i32 noundef 10) #9
  br label %954

954:                                              ; preds = %951
  %955 = load i32, ptr %61, align 4, !tbaa !5
  %956 = add nsw i32 %955, 1
  store i32 %956, ptr %61, align 4, !tbaa !5
  br label %817, !llvm.loop !28

957:                                              ; preds = %822
  %958 = load ptr, ptr %52, align 8, !tbaa !9
  %959 = invoke i32 @fclose(ptr noundef %958)
          to label %960 unwind label %832

960:                                              ; preds = %957
  %961 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %53, ptr noundef nonnull align 8 dereferenceable(32) %2)
          to label %962 unwind label %832

962:                                              ; preds = %960
  %963 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc(ptr noundef nonnull align 8 dereferenceable(32) %53, ptr noundef @.str.15)
          to label %964 unwind label %832

964:                                              ; preds = %962
  %965 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %53) #9
  %966 = invoke noalias ptr @fopen(ptr noundef %965, ptr noundef @.str.5)
          to label %967 unwind label %832

967:                                              ; preds = %964
  store ptr %966, ptr %52, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %62) #9
  store i8 1, ptr %62, align 1, !tbaa !29
  call void @llvm.lifetime.start.p0(i64 8, ptr %63) #9
  %968 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES_IiiSt4lessIiESaISt4pairIKiiEEES6_IS5_ESaIS8_IKS5_SC_EEE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %19) #9
  %969 = getelementptr inbounds %"struct.std::_Rb_tree_iterator", ptr %63, i32 0, i32 0
  store ptr %968, ptr %969, align 8
  br label %970

970:                                              ; preds = %1149, %967
  call void @llvm.lifetime.start.p0(i64 8, ptr %64) #9
  %971 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES_IiiSt4lessIiESaISt4pairIKiiEEES6_IS5_ESaIS8_IKS5_SC_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %19) #9
  %972 = getelementptr inbounds %"struct.std::_Rb_tree_iterator", ptr %64, i32 0, i32 0
  store ptr %971, ptr %972, align 8
  %973 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEESI_(ptr noundef nonnull align 8 dereferenceable(8) %63, ptr noundef nonnull align 8 dereferenceable(8) %64) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %64) #9
  br i1 %973, label %975, label %974

974:                                              ; preds = %970
  store i32 25, ptr %51, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %63) #9
  br label %1153

975:                                              ; preds = %970
  %976 = load i8, ptr %62, align 1, !tbaa !29, !range !31, !noundef !32
  %977 = trunc i8 %976 to i1
  br i1 %977, label %978, label %981

978:                                              ; preds = %975
  %979 = load ptr, ptr %52, align 8, !tbaa !9
  %980 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %979, ptr noundef @.str.8, ptr noundef @.str.16) #9
  store i8 0, ptr %62, align 1, !tbaa !29
  br label %981

981:                                              ; preds = %978, %975
  %982 = load ptr, ptr %52, align 8, !tbaa !9
  %983 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %63) #9
  %984 = getelementptr inbounds %"struct.std::pair.27", ptr %983, i32 0, i32 0
  %985 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %984) #9
  %986 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %982, ptr noundef @.str.8, ptr noundef %985) #9
  %987 = load ptr, ptr %52, align 8, !tbaa !9
  %988 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %987, ptr noundef @.str.7, i32 noundef 9) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %65) #9
  %989 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %63) #9
  %990 = getelementptr inbounds %"struct.std::pair.27", ptr %989, i32 0, i32 1
  call void @llvm.lifetime.start.p0(i64 4, ptr %66) #9
  store i32 0, ptr %66, align 4, !tbaa !5
  %991 = invoke ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEE4findERS3_(ptr noundef nonnull align 8 dereferenceable(48) %990, ptr noundef nonnull align 4 dereferenceable(4) %66)
          to label %992 unwind label %1007

992:                                              ; preds = %981
  %993 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.20", ptr %65, i32 0, i32 0
  store ptr %991, ptr %993, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %67) #9
  %994 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %63) #9
  %995 = getelementptr inbounds %"struct.std::pair.27", ptr %994, i32 0, i32 1
  %996 = call ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %995) #9
  %997 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.20", ptr %67, i32 0, i32 0
  store ptr %996, ptr %997, align 8
  %998 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKiiEES5_(ptr noundef nonnull align 8 dereferenceable(8) %65, ptr noundef nonnull align 8 dereferenceable(8) %67) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %67) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %65) #9
  br i1 %998, label %999, label %1015

999:                                              ; preds = %992
  %1000 = load ptr, ptr %52, align 8, !tbaa !9
  %1001 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %63) #9
  %1002 = getelementptr inbounds %"struct.std::pair.27", ptr %1001, i32 0, i32 1
  call void @llvm.lifetime.start.p0(i64 4, ptr %68) #9
  store i32 0, ptr %68, align 4, !tbaa !5
  %1003 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEEixEOi(ptr noundef nonnull align 8 dereferenceable(48) %1002, ptr noundef nonnull align 4 dereferenceable(4) %68)
          to label %1004 unwind label %1011

1004:                                             ; preds = %999
  %1005 = load i32, ptr %1003, align 4, !tbaa !5
  %1006 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1000, ptr noundef @.str.6, i32 noundef %1005) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %68) #9
  br label %1018

1007:                                             ; preds = %981
  %1008 = landingpad { ptr, i32 }
          cleanup
  %1009 = extractvalue { ptr, i32 } %1008, 0
  store ptr %1009, ptr %23, align 8
  %1010 = extractvalue { ptr, i32 } %1008, 1
  store i32 %1010, ptr %24, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %65) #9
  br label %1152

1011:                                             ; preds = %999
  %1012 = landingpad { ptr, i32 }
          cleanup
  %1013 = extractvalue { ptr, i32 } %1012, 0
  store ptr %1013, ptr %23, align 8
  %1014 = extractvalue { ptr, i32 } %1012, 1
  store i32 %1014, ptr %24, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %68) #9
  br label %1152

1015:                                             ; preds = %992
  %1016 = load ptr, ptr %52, align 8, !tbaa !9
  %1017 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1016, ptr noundef @.str.6, i32 noundef 0) #9
  br label %1018

1018:                                             ; preds = %1015, %1004
  %1019 = load ptr, ptr %52, align 8, !tbaa !9
  %1020 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1019, ptr noundef @.str.7, i32 noundef 9) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %69) #9
  %1021 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %63) #9
  %1022 = getelementptr inbounds %"struct.std::pair.27", ptr %1021, i32 0, i32 1
  call void @llvm.lifetime.start.p0(i64 4, ptr %70) #9
  store i32 1, ptr %70, align 4, !tbaa !5
  %1023 = invoke ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEE4findERS3_(ptr noundef nonnull align 8 dereferenceable(48) %1022, ptr noundef nonnull align 4 dereferenceable(4) %70)
          to label %1024 unwind label %1039

1024:                                             ; preds = %1018
  %1025 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.20", ptr %69, i32 0, i32 0
  store ptr %1023, ptr %1025, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %71) #9
  %1026 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %63) #9
  %1027 = getelementptr inbounds %"struct.std::pair.27", ptr %1026, i32 0, i32 1
  %1028 = call ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %1027) #9
  %1029 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.20", ptr %71, i32 0, i32 0
  store ptr %1028, ptr %1029, align 8
  %1030 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKiiEES5_(ptr noundef nonnull align 8 dereferenceable(8) %69, ptr noundef nonnull align 8 dereferenceable(8) %71) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %71) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %70) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %69) #9
  br i1 %1030, label %1031, label %1047

1031:                                             ; preds = %1024
  %1032 = load ptr, ptr %52, align 8, !tbaa !9
  %1033 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %63) #9
  %1034 = getelementptr inbounds %"struct.std::pair.27", ptr %1033, i32 0, i32 1
  call void @llvm.lifetime.start.p0(i64 4, ptr %72) #9
  store i32 1, ptr %72, align 4, !tbaa !5
  %1035 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEEixEOi(ptr noundef nonnull align 8 dereferenceable(48) %1034, ptr noundef nonnull align 4 dereferenceable(4) %72)
          to label %1036 unwind label %1043

1036:                                             ; preds = %1031
  %1037 = load i32, ptr %1035, align 4, !tbaa !5
  %1038 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1032, ptr noundef @.str.6, i32 noundef %1037) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %72) #9
  br label %1050

1039:                                             ; preds = %1018
  %1040 = landingpad { ptr, i32 }
          cleanup
  %1041 = extractvalue { ptr, i32 } %1040, 0
  store ptr %1041, ptr %23, align 8
  %1042 = extractvalue { ptr, i32 } %1040, 1
  store i32 %1042, ptr %24, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %70) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %69) #9
  br label %1152

1043:                                             ; preds = %1031
  %1044 = landingpad { ptr, i32 }
          cleanup
  %1045 = extractvalue { ptr, i32 } %1044, 0
  store ptr %1045, ptr %23, align 8
  %1046 = extractvalue { ptr, i32 } %1044, 1
  store i32 %1046, ptr %24, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %72) #9
  br label %1152

1047:                                             ; preds = %1024
  %1048 = load ptr, ptr %52, align 8, !tbaa !9
  %1049 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1048, ptr noundef @.str.6, i32 noundef 0) #9
  br label %1050

1050:                                             ; preds = %1047, %1036
  %1051 = load ptr, ptr %52, align 8, !tbaa !9
  %1052 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1051, ptr noundef @.str.7, i32 noundef 9) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %73) #9
  %1053 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %63) #9
  %1054 = getelementptr inbounds %"struct.std::pair.27", ptr %1053, i32 0, i32 1
  call void @llvm.lifetime.start.p0(i64 4, ptr %74) #9
  store i32 2, ptr %74, align 4, !tbaa !5
  %1055 = invoke ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEE4findERS3_(ptr noundef nonnull align 8 dereferenceable(48) %1054, ptr noundef nonnull align 4 dereferenceable(4) %74)
          to label %1056 unwind label %1071

1056:                                             ; preds = %1050
  %1057 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.20", ptr %73, i32 0, i32 0
  store ptr %1055, ptr %1057, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %75) #9
  %1058 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %63) #9
  %1059 = getelementptr inbounds %"struct.std::pair.27", ptr %1058, i32 0, i32 1
  %1060 = call ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %1059) #9
  %1061 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.20", ptr %75, i32 0, i32 0
  store ptr %1060, ptr %1061, align 8
  %1062 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKiiEES5_(ptr noundef nonnull align 8 dereferenceable(8) %73, ptr noundef nonnull align 8 dereferenceable(8) %75) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %75) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %74) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %73) #9
  br i1 %1062, label %1063, label %1079

1063:                                             ; preds = %1056
  %1064 = load ptr, ptr %52, align 8, !tbaa !9
  %1065 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %63) #9
  %1066 = getelementptr inbounds %"struct.std::pair.27", ptr %1065, i32 0, i32 1
  call void @llvm.lifetime.start.p0(i64 4, ptr %76) #9
  store i32 2, ptr %76, align 4, !tbaa !5
  %1067 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEEixEOi(ptr noundef nonnull align 8 dereferenceable(48) %1066, ptr noundef nonnull align 4 dereferenceable(4) %76)
          to label %1068 unwind label %1075

1068:                                             ; preds = %1063
  %1069 = load i32, ptr %1067, align 4, !tbaa !5
  %1070 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1064, ptr noundef @.str.6, i32 noundef %1069) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %76) #9
  br label %1082

1071:                                             ; preds = %1050
  %1072 = landingpad { ptr, i32 }
          cleanup
  %1073 = extractvalue { ptr, i32 } %1072, 0
  store ptr %1073, ptr %23, align 8
  %1074 = extractvalue { ptr, i32 } %1072, 1
  store i32 %1074, ptr %24, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %74) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %73) #9
  br label %1152

1075:                                             ; preds = %1063
  %1076 = landingpad { ptr, i32 }
          cleanup
  %1077 = extractvalue { ptr, i32 } %1076, 0
  store ptr %1077, ptr %23, align 8
  %1078 = extractvalue { ptr, i32 } %1076, 1
  store i32 %1078, ptr %24, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %76) #9
  br label %1152

1079:                                             ; preds = %1056
  %1080 = load ptr, ptr %52, align 8, !tbaa !9
  %1081 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1080, ptr noundef @.str.6, i32 noundef 0) #9
  br label %1082

1082:                                             ; preds = %1079, %1068
  %1083 = load ptr, ptr %52, align 8, !tbaa !9
  %1084 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1083, ptr noundef @.str.7, i32 noundef 9) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %77) #9
  %1085 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %63) #9
  %1086 = getelementptr inbounds %"struct.std::pair.27", ptr %1085, i32 0, i32 1
  call void @llvm.lifetime.start.p0(i64 4, ptr %78) #9
  store i32 4, ptr %78, align 4, !tbaa !5
  %1087 = invoke ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEE4findERS3_(ptr noundef nonnull align 8 dereferenceable(48) %1086, ptr noundef nonnull align 4 dereferenceable(4) %78)
          to label %1088 unwind label %1103

1088:                                             ; preds = %1082
  %1089 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.20", ptr %77, i32 0, i32 0
  store ptr %1087, ptr %1089, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %79) #9
  %1090 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %63) #9
  %1091 = getelementptr inbounds %"struct.std::pair.27", ptr %1090, i32 0, i32 1
  %1092 = call ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %1091) #9
  %1093 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.20", ptr %79, i32 0, i32 0
  store ptr %1092, ptr %1093, align 8
  %1094 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKiiEES5_(ptr noundef nonnull align 8 dereferenceable(8) %77, ptr noundef nonnull align 8 dereferenceable(8) %79) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %79) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %78) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %77) #9
  br i1 %1094, label %1095, label %1111

1095:                                             ; preds = %1088
  %1096 = load ptr, ptr %52, align 8, !tbaa !9
  %1097 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %63) #9
  %1098 = getelementptr inbounds %"struct.std::pair.27", ptr %1097, i32 0, i32 1
  call void @llvm.lifetime.start.p0(i64 4, ptr %80) #9
  store i32 4, ptr %80, align 4, !tbaa !5
  %1099 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEEixEOi(ptr noundef nonnull align 8 dereferenceable(48) %1098, ptr noundef nonnull align 4 dereferenceable(4) %80)
          to label %1100 unwind label %1107

1100:                                             ; preds = %1095
  %1101 = load i32, ptr %1099, align 4, !tbaa !5
  %1102 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1096, ptr noundef @.str.6, i32 noundef %1101) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %80) #9
  br label %1114

1103:                                             ; preds = %1082
  %1104 = landingpad { ptr, i32 }
          cleanup
  %1105 = extractvalue { ptr, i32 } %1104, 0
  store ptr %1105, ptr %23, align 8
  %1106 = extractvalue { ptr, i32 } %1104, 1
  store i32 %1106, ptr %24, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %78) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %77) #9
  br label %1152

1107:                                             ; preds = %1095
  %1108 = landingpad { ptr, i32 }
          cleanup
  %1109 = extractvalue { ptr, i32 } %1108, 0
  store ptr %1109, ptr %23, align 8
  %1110 = extractvalue { ptr, i32 } %1108, 1
  store i32 %1110, ptr %24, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %80) #9
  br label %1152

1111:                                             ; preds = %1088
  %1112 = load ptr, ptr %52, align 8, !tbaa !9
  %1113 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1112, ptr noundef @.str.6, i32 noundef 0) #9
  br label %1114

1114:                                             ; preds = %1111, %1100
  %1115 = load ptr, ptr %52, align 8, !tbaa !9
  %1116 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1115, ptr noundef @.str.7, i32 noundef 9) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %81) #9
  %1117 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %63) #9
  %1118 = getelementptr inbounds %"struct.std::pair.27", ptr %1117, i32 0, i32 1
  call void @llvm.lifetime.start.p0(i64 4, ptr %82) #9
  store i32 3, ptr %82, align 4, !tbaa !5
  %1119 = invoke ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEE4findERS3_(ptr noundef nonnull align 8 dereferenceable(48) %1118, ptr noundef nonnull align 4 dereferenceable(4) %82)
          to label %1120 unwind label %1135

1120:                                             ; preds = %1114
  %1121 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.20", ptr %81, i32 0, i32 0
  store ptr %1119, ptr %1121, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %83) #9
  %1122 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %63) #9
  %1123 = getelementptr inbounds %"struct.std::pair.27", ptr %1122, i32 0, i32 1
  %1124 = call ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %1123) #9
  %1125 = getelementptr inbounds %"struct.std::_Rb_tree_iterator.20", ptr %83, i32 0, i32 0
  store ptr %1124, ptr %1125, align 8
  %1126 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKiiEES5_(ptr noundef nonnull align 8 dereferenceable(8) %81, ptr noundef nonnull align 8 dereferenceable(8) %83) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %83) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %81) #9
  br i1 %1126, label %1127, label %1143

1127:                                             ; preds = %1120
  %1128 = load ptr, ptr %52, align 8, !tbaa !9
  %1129 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %63) #9
  %1130 = getelementptr inbounds %"struct.std::pair.27", ptr %1129, i32 0, i32 1
  call void @llvm.lifetime.start.p0(i64 4, ptr %84) #9
  store i32 3, ptr %84, align 4, !tbaa !5
  %1131 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEEixEOi(ptr noundef nonnull align 8 dereferenceable(48) %1130, ptr noundef nonnull align 4 dereferenceable(4) %84)
          to label %1132 unwind label %1139

1132:                                             ; preds = %1127
  %1133 = load i32, ptr %1131, align 4, !tbaa !5
  %1134 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1128, ptr noundef @.str.6, i32 noundef %1133) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #9
  br label %1146

1135:                                             ; preds = %1114
  %1136 = landingpad { ptr, i32 }
          cleanup
  %1137 = extractvalue { ptr, i32 } %1136, 0
  store ptr %1137, ptr %23, align 8
  %1138 = extractvalue { ptr, i32 } %1136, 1
  store i32 %1138, ptr %24, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %81) #9
  br label %1152

1139:                                             ; preds = %1127
  %1140 = landingpad { ptr, i32 }
          cleanup
  %1141 = extractvalue { ptr, i32 } %1140, 0
  store ptr %1141, ptr %23, align 8
  %1142 = extractvalue { ptr, i32 } %1140, 1
  store i32 %1142, ptr %24, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #9
  br label %1152

1143:                                             ; preds = %1120
  %1144 = load ptr, ptr %52, align 8, !tbaa !9
  %1145 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1144, ptr noundef @.str.6, i32 noundef 0) #9
  br label %1146

1146:                                             ; preds = %1143, %1132
  %1147 = load ptr, ptr %52, align 8, !tbaa !9
  %1148 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1147, ptr noundef @.str.7, i32 noundef 10) #9
  br label %1149

1149:                                             ; preds = %1146
  %1150 = call ptr @_ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEppEi(ptr noundef nonnull align 8 dereferenceable(8) %63, i32 noundef 0) #9
  %1151 = getelementptr inbounds %"struct.std::_Rb_tree_iterator", ptr %85, i32 0, i32 0
  store ptr %1150, ptr %1151, align 8
  br label %970, !llvm.loop !33

1152:                                             ; preds = %1139, %1135, %1107, %1103, %1075, %1071, %1043, %1039, %1011, %1007
  call void @llvm.lifetime.end.p0(i64 8, ptr %63) #9
  br label %1161

1153:                                             ; preds = %974
  %1154 = load ptr, ptr %52, align 8, !tbaa !9
  %1155 = invoke i32 @fclose(ptr noundef %1154)
          to label %1156 unwind label %1157

1156:                                             ; preds = %1153
  call void @llvm.lifetime.end.p0(i64 1, ptr %62) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %56) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %53) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %52) #9
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %22) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %22) #9
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %21) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %21) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #9
  call void @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES_IiiSt4lessIiESaISt4pairIKiiEEES6_IS5_ESaIS8_IKS5_SC_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %19) #9
  call void @llvm.lifetime.end.p0(i64 48, ptr %19) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #9
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %12) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %12) #9
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %11) #9
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %10) #9
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %9) #9
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %8) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %8) #9
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %7) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %7) #9
  ret void

1157:                                             ; preds = %1153
  %1158 = landingpad { ptr, i32 }
          cleanup
  %1159 = extractvalue { ptr, i32 } %1158, 0
  store ptr %1159, ptr %23, align 8
  %1160 = extractvalue { ptr, i32 } %1158, 1
  store i32 %1160, ptr %24, align 4
  br label %1161

1161:                                             ; preds = %1157, %1152
  call void @llvm.lifetime.end.p0(i64 1, ptr %62) #9
  br label %1162

1162:                                             ; preds = %1161, %832, %831
  call void @llvm.lifetime.end.p0(i64 4, ptr %56) #9
  br label %1163

1163:                                             ; preds = %1162, %726
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #9
  br label %1164

1164:                                             ; preds = %1163, %722
  call void @llvm.lifetime.end.p0(i64 32, ptr %53) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %52) #9
  br label %1165

1165:                                             ; preds = %1164, %661, %122
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %22) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %22) #9
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %21) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %21) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #9
  call void @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES_IiiSt4lessIiESaISt4pairIKiiEEES6_IS5_ESaIS8_IKS5_SC_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %19) #9
  call void @llvm.lifetime.end.p0(i64 48, ptr %19) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #9
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %12) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %12) #9
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %11) #9
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %10) #9
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %9) #9
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %8) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %8) #9
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %7) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %7) #9
  br label %1166

1166:                                             ; preds = %1165
  %1167 = load ptr, ptr %23, align 8
  %1168 = load i32, ptr %24, align 4
  %1169 = insertvalue { ptr, i32 } poison, ptr %1167, 0
  %1170 = insertvalue { ptr, i32 } %1169, i32 %1168, 1
  resume { ptr, i32 } %1170

1171:                                             ; preds = %658
  unreachable
}

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

; Function Attrs: mustprogress uwtable
declare noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv(ptr noundef nonnull align 8 dereferenceable(264)) #0 align 2

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

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

; Function Attrs: mustprogress nounwind uwtable
declare noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE4failEv(ptr noundef nonnull align 8 dereferenceable(264)) #1 align 2

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

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

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

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

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

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

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

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

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

declare noundef signext i16 @_Z8get_typeNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef) #4

; Function Attrs: nounwind willreturn memory(read)
declare i32 @strncmp(ptr noundef, ptr noundef, i64 noundef) #7

; Function Attrs: inlinehint mustprogress nounwind willreturn memory(read) uwtable
declare i32 @atoi(ptr noundef nonnull) #8

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef double @_ZSt3absd(double noundef) #6

; Function Attrs: inlinehint mustprogress nounwind willreturn memory(read) uwtable
declare double @atof(ptr noundef nonnull) #8

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

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

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

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

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

!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 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"any pointer", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"vtable pointer", !8, i64 0}
!13 = !{!7, !7, i64 0}
!14 = !{!15, !15, i64 0}
!15 = !{!"long", !7, i64 0}
!16 = distinct !{!16, !17}
!17 = !{!"llvm.loop.mustprogress"}
!18 = !{!19, !19, i64 0}
!19 = !{!"double", !7, i64 0}
!20 = !{!21, !21, i64 0}
!21 = !{!"short", !7, i64 0}
!22 = distinct !{!22, !17}
!23 = distinct !{!23, !17}
!24 = distinct !{!24, !17}
!25 = distinct !{!25, !17}
!26 = distinct !{!26, !17}
!27 = distinct !{!27, !17}
!28 = distinct !{!28, !17}
!29 = !{!30, !30, i64 0}
!30 = !{!"bool", !7, i64 0}
!31 = !{i8 0, i8 2}
!32 = !{}
!33 = distinct !{!33, !17}


; 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::basic_istream" = type { ptr, i64, %"class.std::basic_ios" }
%"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.29" = type { %"struct.std::_Vector_base.30" }
%"struct.std::_Vector_base.30" = type { %"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::allocator.0" = type { 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.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
@_ZSt3cin = external global %"class.std::basic_istream", align 8
@.str.17 = external hidden unnamed_addr constant [1 x i8], align 1
@_ZSt4cerr = external global %"class.std::basic_ostream", align 8
@.str.18 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [12 x i8], align 1
@switch.table._Z17summary_SV_streamiiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE = private unnamed_addr constant [5 x ptr] [ptr @.str.29, ptr @.str.30, ptr @.str.31, ptr @.str.32, ptr @.str.33], align 8
@switch.table._Z17summary_SV_streamiiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE.1 = 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 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 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 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 #3

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

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

; 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 @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES_IiiSt4lessIiESaISt4pairIKiiEEES6_IS5_ESaIS8_IKS5_SC_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(48)) unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
define dso_local void @_Z17summary_SV_streamiiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(i32 noundef %0, i32 noundef %1, ptr noundef %2) local_unnamed_addr #0 personality ptr @__gxx_personality_v0 {
  %4 = alloca %"class.std::vector", align 8
  %5 = alloca %"class.std::vector", align 8
  %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::map", align 8
  %11 = alloca %"class.std::vector", align 8
  %12 = alloca %"class.std::vector.29", align 8
  %13 = alloca %"class.std::__cxx11::basic_string", align 8
  %14 = alloca %"class.std::__cxx11::basic_string", align 8
  %15 = alloca %"class.std::allocator.0", align 1
  %16 = alloca %"class.std::__cxx11::basic_string", align 8
  %17 = alloca %"class.std::allocator.0", align 1
  %18 = alloca %"class.std::__cxx11::basic_string", align 8
  %19 = alloca %"class.std::allocator.0", align 1
  %20 = alloca i32, align 4
  %21 = alloca i32, align 4
  %22 = alloca %"class.std::__cxx11::basic_string", align 8
  %23 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %24 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %25 = alloca %"struct.std::_Rb_tree_iterator.20", align 8
  %26 = alloca i32, align 4
  %27 = alloca %"struct.std::_Rb_tree_iterator.20", align 8
  %28 = alloca i32, align 4
  %29 = alloca i32, align 4
  %30 = alloca %"class.std::__cxx11::basic_string", align 8
  %31 = alloca i32, align 4
  %32 = alloca i32, align 4
  %33 = alloca i32, align 4
  %34 = alloca i32, align 4
  %35 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %36 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %37 = alloca %"struct.std::_Rb_tree_iterator.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
  %51 = alloca %"struct.std::_Rb_tree_iterator.20", align 8
  %52 = alloca i32, align 4
  %53 = alloca %"struct.std::_Rb_tree_iterator.20", align 8
  %54 = alloca i32, align 4
  %55 = alloca %"struct.std::_Rb_tree_iterator.20", align 8
  %56 = alloca i32, align 4
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4) #9
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %4) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %5) #9
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %5) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %6) #9
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %7) #9
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %7) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %8) #9
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %8) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %9) #9
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #9
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %10) #9
  call void @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES_IiiSt4lessIiESaISt4pairIKiiEEES6_IS5_ESaIS8_IKS5_SC_EEEC2Ev(ptr noundef nonnull align 8 dereferenceable(48) %10) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %11) #9
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %12) #9
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %12) #9
  %57 = icmp slt i32 %1, 0
  %58 = uitofp nneg i32 %1 to double
  br label %59

59:                                               ; preds = %365, %3
  %.0248 = phi i32 [ 0, %3 ], [ %.4252, %365 ]
  %.0242 = phi i32 [ 0, %3 ], [ %.4246, %365 ]
  %.0234 = phi i32 [ 0, %3 ], [ %.2236, %365 ]
  %.0194 = phi i16 [ undef, %3 ], [ %.4198, %365 ]
  %.0185 = phi i32 [ 0, %3 ], [ %.4189, %365 ]
  %.0176 = phi i32 [ 0, %3 ], [ %.4180, %365 ]
  %.0 = phi i32 [ 0, %3 ], [ %.4, %365 ]
  %60 = load ptr, ptr @_ZSt3cin, align 8, !tbaa !5
  %61 = getelementptr i8, ptr %60, i64 -24
  %62 = load i64, ptr %61, align 8
  %63 = getelementptr inbounds i8, ptr @_ZSt3cin, i64 %62
  %64 = invoke noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv(ptr noundef nonnull align 8 dereferenceable(264) %63)
          to label %65 unwind label %.loopexit

65:                                               ; preds = %59
  br i1 %64, label %.loopexit334, label %66

66:                                               ; preds = %65
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %13) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #9
  %67 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(16) @_ZSt3cin, ptr noundef nonnull align 8 dereferenceable(32) %13)
          to label %68 unwind label %85

68:                                               ; preds = %66
  %69 = load ptr, ptr @_ZSt3cin, align 8, !tbaa !5
  %70 = getelementptr i8, ptr %69, i64 -24
  %71 = load i64, ptr %70, align 8
  %72 = getelementptr inbounds i8, ptr @_ZSt3cin, i64 %71
  %73 = call noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE4failEv(ptr noundef nonnull align 8 dereferenceable(264) %72)
  br i1 %73, label %.thread322, label %74

.thread322:                                       ; preds = %68
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #9
  br label %.loopexit334

74:                                               ; preds = %68
  %75 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %13, i64 noundef 0)
  %76 = load i8, ptr %75, align 1, !tbaa !8
  %77 = icmp eq i8 %76, 35
  br i1 %77, label %78, label %128

78:                                               ; preds = %74
  %79 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %13, i64 noundef 1)
  %80 = load i8, ptr %79, align 1, !tbaa !8
  %81 = icmp eq i8 %80, 67
  br i1 %81, label %82, label %128

82:                                               ; preds = %78
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %14) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %15) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef nonnull @.str.17, ptr noundef nonnull align 1 dereferenceable(1) %15)
          to label %83 unwind label %87

83:                                               ; preds = %82
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %15) #9
  %84 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %13) #9
  %.not503 = icmp eq i64 %84, 0
  br i1 %.not503, label %._crit_edge484, label %.lr.ph483

._crit_edge484:                                   ; preds = %110, %83
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backERKS5_(ptr noundef nonnull align 8 dereferenceable(24) %12, ptr noundef nonnull align 8 dereferenceable(32) %14)
          to label %114 unwind label %124

.loopexit:                                        ; preds = %59
  %lpad.loopexit = landingpad { ptr, i32 }
          cleanup
  br label %709

.loopexit.split-lp:                               ; preds = %.loopexit334, %368, %370, %372, %374, %380, %382, %384, %386, %388, %390, %392, %394, %396, %398, %400
  %lpad.loopexit.split-lp = landingpad { ptr, i32 }
          cleanup
  br label %709

85:                                               ; preds = %66
  %86 = landingpad { ptr, i32 }
          cleanup
  br label %366

87:                                               ; preds = %82
  %88 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %15) #9
  br label %127

.lr.ph483:                                        ; preds = %83, %110
  %.0207481 = phi i64 [ %111, %110 ], [ 0, %83 ]
  %.0208480 = phi i32 [ %.1209, %110 ], [ 0, %83 ]
  %89 = icmp sgt i32 %.0208480, 8
  br i1 %89, label %90, label %99

90:                                               ; preds = %.lr.ph483
  %91 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %13, i64 noundef %.0207481)
  %92 = load i8, ptr %91, align 1, !tbaa !8
  %.not274 = icmp eq i8 %92, 9
  br i1 %.not274, label %99, label %93

93:                                               ; preds = %90
  %94 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %13, i64 noundef %.0207481)
  %95 = load i8, ptr %94, align 1, !tbaa !8
  %96 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEc(ptr noundef nonnull align 8 dereferenceable(32) %14, i8 noundef signext %95)
          to label %99 unwind label %97

97:                                               ; preds = %106, %105, %93
  %98 = landingpad { ptr, i32 }
          cleanup
  br label %126

99:                                               ; preds = %93, %90, %.lr.ph483
  %100 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %13, i64 noundef %.0207481)
  %101 = load i8, ptr %100, align 1, !tbaa !8
  %102 = icmp eq i8 %101, 9
  br i1 %102, label %103, label %110

103:                                              ; preds = %99
  %104 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %14) #9
  br i1 %104, label %108, label %105

105:                                              ; preds = %103
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backERKS5_(ptr noundef nonnull align 8 dereferenceable(24) %12, ptr noundef nonnull align 8 dereferenceable(32) %14)
          to label %106 unwind label %97

106:                                              ; preds = %105
  %107 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef nonnull @.str.17)
          to label %108 unwind label %97

108:                                              ; preds = %106, %103
  %109 = add nsw i32 %.0208480, 1
  br label %110

110:                                              ; preds = %99, %108
  %.1209 = phi i32 [ %109, %108 ], [ %.0208480, %99 ]
  %111 = add nuw i64 %.0207481, 1
  %112 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %13) #9
  %113 = icmp ult i64 %111, %112
  br i1 %113, label %.lr.ph483, label %._crit_edge484, !llvm.loop !10

114:                                              ; preds = %._crit_edge484
  %115 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef nonnull @.str.18)
          to label %116 unwind label %124

116:                                              ; preds = %114
  %117 = call noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %12) #9
  %118 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %115, i64 noundef %117)
          to label %119 unwind label %124

119:                                              ; preds = %116
  %120 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %118, ptr noundef nonnull @.str.19)
          to label %121 unwind label %124

121:                                              ; preds = %119
  %122 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %120, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %123 unwind label %124

123:                                              ; preds = %121
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #9
  br label %365

124:                                              ; preds = %121, %119, %116, %114, %._crit_edge484
  %125 = landingpad { ptr, i32 }
          cleanup
  br label %126

126:                                              ; preds = %124, %97
  %.pn275 = phi { ptr, i32 } [ %98, %97 ], [ %125, %124 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #9
  br label %127

127:                                              ; preds = %126, %87
  %.pn275.pn = phi { ptr, i32 } [ %.pn275, %126 ], [ %88, %87 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #9
  br label %366

128:                                              ; preds = %78, %74
  %129 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %13, i64 noundef 0)
  %130 = load i8, ptr %129, align 1, !tbaa !8
  %.not = icmp eq i8 %130, 35
  br i1 %.not, label %365, label %131

131:                                              ; preds = %128
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %16) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %17) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %17) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef nonnull @.str.17, ptr noundef nonnull align 1 dereferenceable(1) %17)
          to label %132 unwind label %134

132:                                              ; preds = %131
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %17) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %17) #9
  %133 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %13) #9
  %.not502 = icmp eq i64 %133, 0
  br i1 %.not502, label %._crit_edge474, label %.lr.ph473

._crit_edge474:                                   ; preds = %.thread315, %132
  %.0202.lcssa = phi double [ 0.000000e+00, %132 ], [ %.2204321, %.thread315 ]
  %.0199.lcssa = phi i32 [ 0, %132 ], [ %.2201303309320, %.thread315 ]
  %.1195.lcssa = phi i16 [ %.0194, %132 ], [ %.2196287292302311319, %.thread315 ]
  br i1 %57, label %232, label %229

134:                                              ; preds = %131
  %135 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %17) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %17) #9
  br label %364

.lr.ph473:                                        ; preds = %132, %.thread315
  %.0191469 = phi i64 [ %226, %.thread315 ], [ 0, %132 ]
  %.0192468 = phi i32 [ %.1193, %.thread315 ], [ 0, %132 ]
  %.1195467 = phi i16 [ %.2196287292302311319, %.thread315 ], [ %.0194, %132 ]
  %.0199466 = phi i32 [ %.2201303309320, %.thread315 ], [ 0, %132 ]
  %.0202465 = phi double [ %.2204321, %.thread315 ], [ 0.000000e+00, %132 ]
  %.0205464 = phi i32 [ %spec.select, %.thread315 ], [ 0, %132 ]
  switch i32 %.0205464, label %195 [
    i32 0, label %136
    i32 4, label %145
    i32 7, label %161
  ]

136:                                              ; preds = %.lr.ph473
  %137 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %13, i64 noundef %.0191469)
  %138 = load i8, ptr %137, align 1, !tbaa !8
  %.not266 = icmp eq i8 %138, 9
  br i1 %.not266, label %.thread315, label %139

139:                                              ; preds = %136
  %140 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %13, i64 noundef %.0191469)
  %141 = load i8, ptr %140, align 1, !tbaa !8
  %142 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEc(ptr noundef nonnull align 8 dereferenceable(32) %16, i8 noundef signext %141)
          to label %.thread315 unwind label %143

143:                                              ; preds = %139
  %144 = landingpad { ptr, i32 }
          cleanup
  br label %363

145:                                              ; preds = %.lr.ph473
  %146 = add i64 %.0191469, -1
  %147 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %13, i64 noundef %146)
  %148 = load i8, ptr %147, align 1, !tbaa !8
  %149 = icmp eq i8 %148, 9
  br i1 %149, label %150, label %.thread315

150:                                              ; preds = %145
  %151 = add nuw i64 %.0191469, 1
  %152 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %13, i64 noundef %151)
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %19) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %18, ptr noundef nonnull %152, ptr noundef nonnull align 1 dereferenceable(1) %19)
          to label %153 unwind label %156

153:                                              ; preds = %150
  %154 = invoke noundef signext i16 @_Z8get_typeNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull %18)
          to label %155 unwind label %158

155:                                              ; preds = %153
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %19) #9
  br label %.thread315

156:                                              ; preds = %150
  %157 = landingpad { ptr, i32 }
          cleanup
  br label %160

158:                                              ; preds = %153
  %159 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #9
  br label %160

160:                                              ; preds = %158, %156
  %.pn267 = phi { ptr, i32 } [ %159, %158 ], [ %157, %156 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %19) #9
  br label %363

161:                                              ; preds = %.lr.ph473
  %162 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %13, i64 noundef %.0191469)
  %163 = call i32 @strncmp(ptr noundef nonnull dereferenceable(1) %162, ptr noundef nonnull dereferenceable(1) @.str.20, i64 noundef 5) #10
  %164 = icmp eq i32 %163, 0
  br i1 %164, label %165, label %169

165:                                              ; preds = %161
  %166 = add i64 %.0191469, 5
  %167 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %13, i64 noundef %166)
  %168 = call i32 @atoi(ptr nocapture noundef %167) #10
  br label %169

169:                                              ; preds = %165, %161
  %.1200.ph = phi i32 [ %.0199466, %161 ], [ %168, %165 ]
  %170 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %13, i64 noundef %.0191469)
  %171 = call i32 @strncmp(ptr noundef nonnull dereferenceable(1) %170, ptr noundef nonnull dereferenceable(1) @.str.21, i64 noundef 3) #10
  %172 = icmp eq i32 %171, 0
  br i1 %172, label %173, label %177

173:                                              ; preds = %169
  %174 = add i64 %.0191469, 3
  %175 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %13, i64 noundef %174)
  %176 = call i32 @atoi(ptr nocapture noundef %175) #10
  br label %177

177:                                              ; preds = %169, %173
  %.2201 = phi i32 [ %176, %173 ], [ %.1200.ph, %169 ]
  %178 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %13, i64 noundef %.0191469)
  %179 = call i32 @strncmp(ptr noundef nonnull dereferenceable(1) %178, ptr noundef nonnull dereferenceable(1) @.str.22, i64 noundef 7) #10
  %180 = icmp eq i32 %179, 0
  br i1 %180, label %181, label %186

181:                                              ; preds = %177
  %182 = add i64 %.0191469, 7
  %183 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %13, i64 noundef %182)
  %184 = call double @atof(ptr noundef %183) #10
  %185 = call noundef double @_ZSt3absd(double noundef %184)
  br label %186

186:                                              ; preds = %181, %177
  %.1203.ph = phi double [ %.0202465, %177 ], [ %185, %181 ]
  %187 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %13, i64 noundef %.0191469)
  %188 = call i32 @strncmp(ptr noundef nonnull dereferenceable(1) %187, ptr noundef nonnull dereferenceable(1) @.str.23, i64 noundef 6) #10
  %189 = icmp eq i32 %188, 0
  br i1 %189, label %190, label %.thread315

190:                                              ; preds = %186
  %191 = add i64 %.0191469, 6
  %192 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %13, i64 noundef %191)
  %193 = call double @atof(ptr noundef %192) #10
  %194 = call noundef double @_ZSt3absd(double noundef %193)
  br label %.thread315

195:                                              ; preds = %.lr.ph473
  %196 = icmp ugt i32 %.0205464, 8
  br i1 %196, label %197, label %.thread315

197:                                              ; preds = %195
  %198 = add i64 %.0191469, -1
  %199 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %13, i64 noundef %198)
  %200 = load i8, ptr %199, align 1, !tbaa !8
  %201 = icmp eq i8 %200, 9
  br i1 %201, label %.preheader, label %.thread315

.preheader:                                       ; preds = %197
  %202 = sext i32 %.0192468 to i64
  %203 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %11) #9
  %.not269463 = icmp ugt i64 %203, %202
  br i1 %.not269463, label %._crit_edge, label %.lr.ph

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

204:                                              ; preds = %.lr.ph
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %20) #9
  %205 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %11) #9
  %.not269 = icmp ugt i64 %205, %202
  br i1 %.not269, label %._crit_edge, label %.lr.ph, !llvm.loop !14

206:                                              ; preds = %.lr.ph
  %207 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %20) #9
  br label %363

._crit_edge:                                      ; preds = %204, %.preheader
  %208 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %13, i64 noundef %.0191469)
  %209 = load i8, ptr %208, align 1, !tbaa !8
  %210 = icmp eq i8 %209, 49
  br i1 %210, label %216, label %211

211:                                              ; preds = %._crit_edge
  %212 = add i64 %.0191469, 2
  %213 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %13, i64 noundef %212)
  %214 = load i8, ptr %213, align 1, !tbaa !8
  %215 = icmp eq i8 %214, 49
  br i1 %215, label %216, label %220

216:                                              ; preds = %211, %._crit_edge
  %217 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %202) #9
  %218 = load i32, ptr %217, align 4, !tbaa !12
  %219 = add nsw i32 %218, 1
  store i32 %219, ptr %217, align 4, !tbaa !12
  br label %220

220:                                              ; preds = %216, %211
  %221 = add nsw i32 %.0192468, 1
  br label %.thread315

.thread315:                                       ; preds = %186, %190, %136, %139, %155, %145, %220, %197, %195
  %.2204321 = phi double [ %.0202465, %220 ], [ %.0202465, %197 ], [ %.0202465, %195 ], [ %.0202465, %145 ], [ %.0202465, %155 ], [ %.0202465, %139 ], [ %.0202465, %136 ], [ %.1203.ph, %186 ], [ %194, %190 ]
  %.2201303309320 = phi i32 [ %.0199466, %220 ], [ %.0199466, %197 ], [ %.0199466, %195 ], [ %.0199466, %145 ], [ %.0199466, %155 ], [ %.0199466, %139 ], [ %.0199466, %136 ], [ %.2201, %186 ], [ %.2201, %190 ]
  %.2196287292302311319 = phi i16 [ %.1195467, %220 ], [ %.1195467, %197 ], [ %.1195467, %195 ], [ %.1195467, %145 ], [ %154, %155 ], [ %.1195467, %139 ], [ %.1195467, %136 ], [ %.1195467, %186 ], [ %.1195467, %190 ]
  %.1193 = phi i32 [ %221, %220 ], [ %.0192468, %197 ], [ %.0192468, %195 ], [ %.0192468, %145 ], [ %.0192468, %155 ], [ %.0192468, %139 ], [ %.0192468, %136 ], [ %.0192468, %186 ], [ %.0192468, %190 ]
  %222 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %13, i64 noundef %.0191469)
  %223 = load i8, ptr %222, align 1, !tbaa !8
  %224 = icmp eq i8 %223, 9
  %225 = zext i1 %224 to i32
  %spec.select = add nuw nsw i32 %.0205464, %225
  %226 = add nuw i64 %.0191469, 1
  %227 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %13) #9
  %228 = icmp ult i64 %226, %227
  br i1 %228, label %.lr.ph473, label %._crit_edge474, !llvm.loop !15

229:                                              ; preds = %._crit_edge474
  %230 = fcmp olt double %.0202.lcssa, %58
  %231 = icmp eq i16 %.1195.lcssa, 3
  %or.cond = select i1 %230, i1 true, i1 %231
  br i1 %or.cond, label %232, label %348

232:                                              ; preds = %229, %._crit_edge474
  %.not257 = icmp eq i32 %.0199.lcssa, 0
  br i1 %.not257, label %244, label %.preheader333

.preheader333:                                    ; preds = %232
  %233 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %9) #9
  %234 = trunc i64 %233 to i32
  %.not258477 = icmp slt i32 %.0199.lcssa, %234
  br i1 %.not258477, label %._crit_edge479, label %.lr.ph478

.lr.ph478:                                        ; preds = %.preheader333, %235
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %21) #9
  store i32 0, ptr %21, align 4, !tbaa !12
  invoke void @_ZNSt6vectorIiSaIiEE9push_backEOi(ptr noundef nonnull align 8 dereferenceable(24) %9, ptr noundef nonnull align 4 dereferenceable(4) %21)
          to label %235 unwind label %238

235:                                              ; preds = %.lr.ph478
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %21) #9
  %236 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %9) #9
  %237 = trunc i64 %236 to i32
  %.not258 = icmp slt i32 %.0199.lcssa, %237
  br i1 %.not258, label %._crit_edge479, label %.lr.ph478, !llvm.loop !16

238:                                              ; preds = %.lr.ph478
  %239 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %21) #9
  br label %363

._crit_edge479:                                   ; preds = %235, %.preheader333
  %240 = sext i32 %.0199.lcssa to i64
  %241 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %9, i64 noundef %240) #9
  %242 = load i32, ptr %241, align 4, !tbaa !12
  %243 = add nsw i32 %242, 1
  store i32 %243, ptr %241, align 4, !tbaa !12
  br label %244

244:                                              ; preds = %._crit_edge479, %232
  %245 = call noundef i32 @_Z8bin_sized(double noundef %.0202.lcssa)
  %246 = sext i16 %.1195.lcssa to i32
  switch i16 %.1195.lcssa, label %285 [
    i16 0, label %247
    i16 2, label %256
    i16 1, label %263
    i16 4, label %270
    i16 3, label %277
    i16 -1, label %279
  ]

247:                                              ; preds = %244
  invoke void @_Z6adjustRSt6vectorIiSaIiEEi(ptr noundef nonnull align 8 dereferenceable(24) %4, i32 noundef %245)
          to label %248 unwind label %254

248:                                              ; preds = %247
  %249 = sext i32 %245 to i64
  %250 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %4, i64 noundef %249) #9
  %251 = load i32, ptr %250, align 4, !tbaa !12
  %252 = add nsw i32 %251, 1
  store i32 %252, ptr %250, align 4, !tbaa !12
  %253 = add nsw i32 %.0176, 1
  br label %285

254:                                              ; preds = %279, %270, %263, %256, %247
  %255 = landingpad { ptr, i32 }
          cleanup
  br label %363

256:                                              ; preds = %244
  invoke void @_Z6adjustRSt6vectorIiSaIiEEi(ptr noundef nonnull align 8 dereferenceable(24) %6, i32 noundef %245)
          to label %257 unwind label %254

257:                                              ; preds = %256
  %258 = sext i32 %245 to i64
  %259 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %258) #9
  %260 = load i32, ptr %259, align 4, !tbaa !12
  %261 = add nsw i32 %260, 1
  store i32 %261, ptr %259, align 4, !tbaa !12
  %262 = add nsw i32 %.0242, 1
  br label %285

263:                                              ; preds = %244
  invoke void @_Z6adjustRSt6vectorIiSaIiEEi(ptr noundef nonnull align 8 dereferenceable(24) %5, i32 noundef %245)
          to label %264 unwind label %254

264:                                              ; preds = %263
  %265 = sext i32 %245 to i64
  %266 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef %265) #9
  %267 = load i32, ptr %266, align 4, !tbaa !12
  %268 = add nsw i32 %267, 1
  store i32 %268, ptr %266, align 4, !tbaa !12
  %269 = add nsw i32 %.0185, 1
  br label %285

270:                                              ; preds = %244
  invoke void @_Z6adjustRSt6vectorIiSaIiEEi(ptr noundef nonnull align 8 dereferenceable(24) %7, i32 noundef %245)
          to label %271 unwind label %254

271:                                              ; preds = %270
  %272 = sext i32 %245 to i64
  %273 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %7, i64 noundef %272) #9
  %274 = load i32, ptr %273, align 4, !tbaa !12
  %275 = add nsw i32 %274, 1
  store i32 %275, ptr %273, align 4, !tbaa !12
  %276 = add nsw i32 %.0248, 1
  br label %285

277:                                              ; preds = %244
  %278 = add nsw i32 %.0, 1
  br label %285

279:                                              ; preds = %244
  invoke void @_Z6adjustRSt6vectorIiSaIiEEi(ptr noundef nonnull align 8 dereferenceable(24) %8, i32 noundef %245)
          to label %280 unwind label %254

280:                                              ; preds = %279
  %281 = sext i32 %245 to i64
  %282 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %281) #9
  %283 = load i32, ptr %282, align 4, !tbaa !12
  %284 = add nsw i32 %283, 1
  store i32 %284, ptr %282, align 4, !tbaa !12
  br label %285

285:                                              ; preds = %244, %257, %271, %280, %277, %264, %248
  %.1249 = phi i32 [ %.0248, %248 ], [ %.0248, %257 ], [ %.0248, %264 ], [ %276, %271 ], [ %.0248, %277 ], [ %.0248, %280 ], [ %.0248, %244 ]
  %.1243 = phi i32 [ %.0242, %248 ], [ %262, %257 ], [ %.0242, %264 ], [ %.0242, %271 ], [ %.0242, %277 ], [ %.0242, %280 ], [ %.0242, %244 ]
  %.1186 = phi i32 [ %.0185, %248 ], [ %.0185, %257 ], [ %269, %264 ], [ %.0185, %271 ], [ %.0185, %277 ], [ %.0185, %280 ], [ %.0185, %244 ]
  %.1177 = phi i32 [ %253, %248 ], [ %.0176, %257 ], [ %.0176, %264 ], [ %.0176, %271 ], [ %.0176, %277 ], [ %.0176, %280 ], [ %.0176, %244 ]
  %.1 = phi i32 [ %.0, %248 ], [ %.0, %257 ], [ %.0, %264 ], [ %.0, %271 ], [ %278, %277 ], [ %.0, %280 ], [ %.0, %244 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %22) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef nonnull align 8 dereferenceable(32) %2)
          to label %286 unwind label %288

286:                                              ; preds = %285
  %287 = icmp slt i32 %.0199.lcssa, 3
  br i1 %287, label %.invoke742, label %292

288:                                              ; preds = %285
  %289 = landingpad { ptr, i32 }
          cleanup
  br label %347

290:                                              ; preds = %.invoke742, %switch.lookup, %338, %318
  %291 = landingpad { ptr, i32 }
          cleanup
  br label %346

292:                                              ; preds = %286
  %293 = icmp ult i32 %.0199.lcssa, 10
  br i1 %293, label %.invoke742, label %294

294:                                              ; preds = %292
  %295 = icmp ult i32 %.0199.lcssa, 100
  br i1 %295, label %.invoke742, label %296

296:                                              ; preds = %294
  %297 = icmp ult i32 %.0199.lcssa, 1000
  %.str.27..str.28 = select i1 %297, ptr @.str.27, ptr @.str.28
  br label %.invoke742

.invoke742:                                       ; preds = %286, %296, %294, %292
  %298 = phi ptr [ @.str.25, %292 ], [ @.str.26, %294 ], [ %.str.27..str.28, %296 ], [ @.str.24, %286 ]
  %299 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc(ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef nonnull %298)
          to label %300 unwind label %290

300:                                              ; preds = %.invoke742
  %301 = icmp ult i32 %245, 5
  br i1 %301, label %switch.lookup, label %304

switch.lookup:                                    ; preds = %300
  %302 = zext nneg i32 %245 to i64
  %switch.gep = getelementptr inbounds [5 x ptr], ptr @switch.table._Z17summary_SV_streamiiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE, i64 0, i64 %302
  %switch.load = load ptr, ptr %switch.gep, align 8
  %303 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc(ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef nonnull %switch.load)
          to label %304 unwind label %290

304:                                              ; preds = %300, %switch.lookup
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %23) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %25) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %26) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %27) #9
  %305 = invoke ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES_IiiSt4lessIiESaISt4pairIKiiEEES6_IS5_ESaIS8_IKS5_SC_EEE4findERSE_(ptr noundef nonnull align 8 dereferenceable(48) %10, ptr noundef nonnull align 8 dereferenceable(32) %16)
          to label %306 unwind label %325

306:                                              ; preds = %304
  store ptr %305, ptr %23, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %24) #9
  %307 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES_IiiSt4lessIiESaISt4pairIKiiEEES6_IS5_ESaIS8_IKS5_SC_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %10) #9
  store ptr %307, ptr %24, align 8
  %308 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEESI_(ptr noundef nonnull align 8 dereferenceable(8) %23, ptr noundef nonnull align 8 dereferenceable(8) %24) #9
  br i1 %308, label %.critedge, label %309

309:                                              ; preds = %306
  %310 = 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) %10, ptr noundef nonnull align 8 dereferenceable(32) %16)
          to label %311 unwind label %327

311:                                              ; preds = %309
  store i32 %246, ptr %26, align 4, !tbaa !12
  %312 = invoke ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEE4findERS3_(ptr noundef nonnull align 8 dereferenceable(48) %310, ptr noundef nonnull align 4 dereferenceable(4) %26)
          to label %313 unwind label %329

313:                                              ; preds = %311
  store ptr %312, ptr %25, align 8
  %314 = 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) %10, ptr noundef nonnull align 8 dereferenceable(32) %16)
          to label %315 unwind label %331

315:                                              ; preds = %313
  %316 = call ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %314) #9
  store ptr %316, ptr %27, align 8
  %317 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKiiEES5_(ptr noundef nonnull align 8 dereferenceable(8) %25, ptr noundef nonnull align 8 dereferenceable(8) %27) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %26) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #9
  br i1 %317, label %318, label %338

.critedge:                                        ; preds = %306
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %26) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #9
  br label %318

318:                                              ; preds = %.critedge, %315
  %319 = 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) %10, ptr noundef nonnull align 8 dereferenceable(32) %16)
          to label %320 unwind label %290

320:                                              ; preds = %318
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %28) #9
  store i32 %246, ptr %28, align 4, !tbaa !12
  %321 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEEixEOi(ptr noundef nonnull align 8 dereferenceable(48) %319, ptr noundef nonnull align 4 dereferenceable(4) %28)
          to label %322 unwind label %336

322:                                              ; preds = %320
  %323 = load i32, ptr %321, align 4, !tbaa !12
  %324 = add nsw i32 %323, 1
  store i32 %324, ptr %321, align 4, !tbaa !12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %28) #9
  br label %345

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

327:                                              ; preds = %309
  %328 = landingpad { ptr, i32 }
          cleanup
  br label %334

329:                                              ; preds = %311
  %330 = landingpad { ptr, i32 }
          cleanup
  br label %333

331:                                              ; preds = %313
  %332 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27) #9
  br label %333

333:                                              ; preds = %331, %329
  %.pn = phi { ptr, i32 } [ %332, %331 ], [ %330, %329 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %26) #9
  br label %334

334:                                              ; preds = %333, %327
  %.pn.pn = phi { ptr, i32 } [ %.pn, %333 ], [ %328, %327 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #9
  br label %335

335:                                              ; preds = %334, %325
  %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %334 ], [ %326, %325 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #9
  br label %346

336:                                              ; preds = %320
  %337 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %28) #9
  br label %346

338:                                              ; preds = %315
  %339 = 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) %10, ptr noundef nonnull align 8 dereferenceable(32) %16)
          to label %340 unwind label %290

340:                                              ; preds = %338
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %29) #9
  store i32 %246, ptr %29, align 4, !tbaa !12
  %341 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEEixEOi(ptr noundef nonnull align 8 dereferenceable(48) %339, ptr noundef nonnull align 4 dereferenceable(4) %29)
          to label %342 unwind label %343

342:                                              ; preds = %340
  store i32 1, ptr %341, align 4, !tbaa !12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %29) #9
  br label %345

343:                                              ; preds = %340
  %344 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %29) #9
  br label %346

345:                                              ; preds = %342, %322
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #9
  br label %348

346:                                              ; preds = %343, %336, %335, %290
  %.pn262 = phi { ptr, i32 } [ %337, %336 ], [ %291, %290 ], [ %344, %343 ], [ %.pn.pn.pn, %335 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #9
  br label %347

347:                                              ; preds = %346, %288
  %.pn262.pn = phi { ptr, i32 } [ %.pn262, %346 ], [ %289, %288 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #9
  br label %363

348:                                              ; preds = %229, %345
  %.2250 = phi i32 [ %.1249, %345 ], [ %.0248, %229 ]
  %.2244 = phi i32 [ %.1243, %345 ], [ %.0242, %229 ]
  %.2187 = phi i32 [ %.1186, %345 ], [ %.0185, %229 ]
  %.2178 = phi i32 [ %.1177, %345 ], [ %.0176, %229 ]
  %.2 = phi i32 [ %.1, %345 ], [ %.0, %229 ]
  %349 = srem i32 %.0234, 1000
  %350 = icmp eq i32 %349, 0
  br i1 %350, label %351, label %361

351:                                              ; preds = %348
  %352 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.34)
          to label %353 unwind label %359

353:                                              ; preds = %351
  %354 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %352, i32 noundef %.0234)
          to label %355 unwind label %359

355:                                              ; preds = %353
  %356 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %354, ptr noundef nonnull @.str.35)
          to label %357 unwind label %359

357:                                              ; preds = %355
  %358 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %356, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %361 unwind label %359

359:                                              ; preds = %357, %355, %353, %351
  %360 = landingpad { ptr, i32 }
          cleanup
  br label %363

361:                                              ; preds = %357, %348
  %362 = add nsw i32 %.0234, 1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #9
  br label %365

363:                                              ; preds = %254, %347, %143, %160, %206, %359, %238
  %.pn270.pn = phi { ptr, i32 } [ %239, %238 ], [ %360, %359 ], [ %207, %206 ], [ %.pn267, %160 ], [ %144, %143 ], [ %.pn262.pn, %347 ], [ %255, %254 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #9
  br label %364

364:                                              ; preds = %363, %134
  %.pn270.pn.pn = phi { ptr, i32 } [ %.pn270.pn, %363 ], [ %135, %134 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #9
  br label %366

365:                                              ; preds = %128, %361, %123
  %.4252 = phi i32 [ %.0248, %123 ], [ %.2250, %361 ], [ %.0248, %128 ]
  %.4246 = phi i32 [ %.0242, %123 ], [ %.2244, %361 ], [ %.0242, %128 ]
  %.2236 = phi i32 [ %.0234, %123 ], [ %362, %361 ], [ %.0234, %128 ]
  %.4198 = phi i16 [ %.0194, %123 ], [ %.1195.lcssa, %361 ], [ %.0194, %128 ]
  %.4189 = phi i32 [ %.0185, %123 ], [ %.2187, %361 ], [ %.0185, %128 ]
  %.4180 = phi i32 [ %.0176, %123 ], [ %.2178, %361 ], [ %.0176, %128 ]
  %.4 = phi i32 [ %.0, %123 ], [ %.2, %361 ], [ %.0, %128 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #9
  br label %59

366:                                              ; preds = %364, %127, %85
  %.pn275.pn.pn = phi { ptr, i32 } [ %.pn275.pn, %127 ], [ %.pn270.pn.pn, %364 ], [ %86, %85 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #9
  br label %709

.loopexit334:                                     ; preds = %65, %.thread322
  %367 = 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 %368 unwind label %.loopexit.split-lp

368:                                              ; preds = %.loopexit334
  %369 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %367, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %370 unwind label %.loopexit.split-lp

370:                                              ; preds = %368
  %371 = 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 %372 unwind label %.loopexit.split-lp

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

374:                                              ; preds = %372
  %375 = add i32 %.0242, %.0248
  %376 = add i32 %375, %.0185
  %377 = add i32 %376, %.0176
  %378 = add nsw i32 %377, %.0
  %379 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, i32 noundef %378)
          to label %380 unwind label %.loopexit.split-lp

380:                                              ; preds = %374
  %381 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %379, ptr noundef nonnull @.str.3)
          to label %382 unwind label %.loopexit.split-lp

382:                                              ; preds = %380
  %383 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %381, i32 noundef %.0176)
          to label %384 unwind label %.loopexit.split-lp

384:                                              ; preds = %382
  %385 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %383, ptr noundef nonnull @.str.3)
          to label %386 unwind label %.loopexit.split-lp

386:                                              ; preds = %384
  %387 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %385, i32 noundef %.0185)
          to label %388 unwind label %.loopexit.split-lp

388:                                              ; preds = %386
  %389 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %387, ptr noundef nonnull @.str.3)
          to label %390 unwind label %.loopexit.split-lp

390:                                              ; preds = %388
  %391 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %389, i32 noundef %.0248)
          to label %392 unwind label %.loopexit.split-lp

392:                                              ; preds = %390
  %393 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %391, ptr noundef nonnull @.str.3)
          to label %394 unwind label %.loopexit.split-lp

394:                                              ; preds = %392
  %395 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %393, i32 noundef %.0242)
          to label %396 unwind label %.loopexit.split-lp

396:                                              ; preds = %394
  %397 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %395, ptr noundef nonnull @.str.3)
          to label %398 unwind label %.loopexit.split-lp

398:                                              ; preds = %396
  %399 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %397, i32 noundef %.0)
          to label %400 unwind label %.loopexit.split-lp

400:                                              ; preds = %398
  %401 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %399, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %402 unwind label %.loopexit.split-lp

402:                                              ; preds = %400
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %30) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef nonnull align 8 dereferenceable(32) %2)
          to label %403 unwind label %412

403:                                              ; preds = %402
  %404 = call noundef zeroext i1 @_ZNKSt6vectorIiSaIiEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(24) %9) #9
  br i1 %404, label %426, label %405

405:                                              ; preds = %403
  %406 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc(ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef nonnull @.str.4)
          to label %407 unwind label %414

407:                                              ; preds = %405
  %408 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %30) #9
  %409 = call noalias ptr @fopen(ptr noundef %408, ptr noundef nonnull @.str.5)
  %410 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %9) #9
  %.not504 = icmp eq i64 %410, 0
  br i1 %.not504, label %._crit_edge488, label %.lr.ph487

._crit_edge488:                                   ; preds = %.lr.ph487, %407
  %411 = call i32 @fclose(ptr noundef %409)
  br label %426

412:                                              ; preds = %402
  %413 = landingpad { ptr, i32 }
          cleanup
  br label %708

414:                                              ; preds = %430, %426, %405
  %415 = landingpad { ptr, i32 }
          cleanup
  br label %707

.lr.ph487:                                        ; preds = %407, %.lr.ph487
  %.0183485 = phi i64 [ %423, %.lr.ph487 ], [ 0, %407 ]
  %416 = trunc i64 %.0183485 to i32
  %417 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %409, ptr noundef nonnull @.str.6, i32 noundef %416) #9
  %418 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %409, ptr noundef nonnull @.str.7, i32 noundef 9) #9
  %419 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %9, i64 noundef %.0183485) #9
  %420 = load i32, ptr %419, align 4, !tbaa !12
  %421 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %409, ptr noundef nonnull @.str.6, i32 noundef %420) #9
  %422 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %409, ptr noundef nonnull @.str.7, i32 noundef 10) #9
  %423 = add nuw i64 %.0183485, 1
  %424 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %9) #9
  %425 = icmp ult i64 %423, %424
  br i1 %425, label %.lr.ph487, label %._crit_edge488, !llvm.loop !17

426:                                              ; preds = %._crit_edge488, %403
  %427 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef nonnull align 8 dereferenceable(32) %2)
          to label %428 unwind label %414

428:                                              ; preds = %426
  %429 = call noundef zeroext i1 @_ZNKSt6vectorIiSaIiEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(24) %11) #9
  br i1 %429, label %452, label %430

430:                                              ; preds = %428
  %431 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc(ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef nonnull @.str.36)
          to label %432 unwind label %414

432:                                              ; preds = %430
  %433 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %30) #9
  %434 = call noalias ptr @fopen(ptr noundef %433, ptr noundef nonnull @.str.5)
  %435 = call noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %12) #9
  %.not505 = icmp eq i64 %435, 0
  br i1 %.not505, label %._crit_edge492, label %.lr.ph491

._crit_edge492:                                   ; preds = %446, %432
  %436 = call i32 @fclose(ptr noundef %434)
  br label %452

.lr.ph491:                                        ; preds = %432, %446
  %.0182489 = phi i64 [ %449, %446 ], [ 0, %432 ]
  %437 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %.0182489) #9
  %438 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %437) #9
  %439 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %434, ptr noundef nonnull @.str.8, ptr noundef %438) #9
  %440 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %434, ptr noundef nonnull @.str.7, i32 noundef 9) #9
  %441 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %11) #9
  %442 = icmp ugt i64 %.0182489, %441
  br i1 %442, label %446, label %443

443:                                              ; preds = %.lr.ph491
  %444 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %.0182489) #9
  %445 = load i32, ptr %444, align 4, !tbaa !12
  br label %446

446:                                              ; preds = %.lr.ph491, %443
  %.sink = phi i32 [ %445, %443 ], [ 0, %.lr.ph491 ]
  %447 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %434, ptr noundef nonnull @.str.6, i32 noundef %.sink) #9
  %448 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %434, ptr noundef nonnull @.str.7, i32 noundef 10) #9
  %449 = add nuw i64 %.0182489, 1
  %450 = call noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %12) #9
  %451 = icmp ult i64 %449, %450
  br i1 %451, label %.lr.ph491, label %._crit_edge492, !llvm.loop !18

452:                                              ; preds = %._crit_edge492, %428
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %31) #9
  %453 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %4) #9
  %454 = trunc i64 %453 to i32
  store i32 %454, ptr %31, align 4, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %32) #9
  %455 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %5) #9
  %456 = trunc i64 %455 to i32
  store i32 %456, ptr %32, align 4, !tbaa !12
  %457 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3maxIiERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %31, ptr noundef nonnull align 4 dereferenceable(4) %32)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %33) #9
  %458 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %6) #9
  %459 = trunc i64 %458 to i32
  store i32 %459, ptr %33, align 4, !tbaa !12
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %34) #9
  %460 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #9
  %461 = trunc i64 %460 to i32
  store i32 %461, ptr %34, align 4, !tbaa !12
  %462 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3maxIiERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %33, ptr noundef nonnull align 4 dereferenceable(4) %34)
  %463 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3maxIiERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %457, ptr noundef nonnull align 4 dereferenceable(4) %462)
  %464 = load i32, ptr %463, align 4, !tbaa !12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %34) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %33) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %32) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %31) #9
  %465 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %2) #9
  %466 = call noalias ptr @fopen(ptr noundef %465, ptr noundef nonnull @.str.5)
  %467 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %466, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.9) #9
  %.not279493 = icmp slt i32 %464, 0
  br i1 %.not279493, label %._crit_edge497, label %468

468:                                              ; preds = %452
  %469 = add nuw i32 %464, 1
  %wide.trip.count = zext i32 %469 to i64
  %470 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %466, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.10) #9
  %471 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %466, ptr noundef nonnull @.str.7, i32 noundef 9) #9
  %472 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %4) #9
  %473 = trunc i64 %472 to i32
  %474 = icmp sgt i32 %473, 0
  br i1 %474, label %475, label %478

475:                                              ; preds = %468
  %476 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %4, i64 noundef 0) #9
  %477 = load i32, ptr %476, align 4, !tbaa !12
  br label %478

478:                                              ; preds = %468, %475
  %.sink743 = phi i32 [ %477, %475 ], [ 0, %468 ]
  %479 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %466, ptr noundef nonnull @.str.6, i32 noundef %.sink743) #9
  %480 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %466, ptr noundef nonnull @.str.7, i32 noundef 9) #9
  %481 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %5) #9
  %482 = trunc i64 %481 to i32
  %483 = icmp sgt i32 %482, 0
  br i1 %483, label %484, label %487

484:                                              ; preds = %478
  %485 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef 0) #9
  %486 = load i32, ptr %485, align 4, !tbaa !12
  br label %487

487:                                              ; preds = %478, %484
  %.sink744 = phi i32 [ %486, %484 ], [ 0, %478 ]
  %488 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %466, ptr noundef nonnull @.str.6, i32 noundef %.sink744) #9
  %489 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %466, ptr noundef nonnull @.str.7, i32 noundef 9) #9
  %490 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %6) #9
  %491 = trunc i64 %490 to i32
  %492 = icmp sgt i32 %491, 0
  br i1 %492, label %493, label %496

493:                                              ; preds = %487
  %494 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef 0) #9
  %495 = load i32, ptr %494, align 4, !tbaa !12
  br label %496

496:                                              ; preds = %487, %493
  %.sink745 = phi i32 [ %495, %493 ], [ 0, %487 ]
  %497 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %466, ptr noundef nonnull @.str.6, i32 noundef %.sink745) #9
  %498 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %466, ptr noundef nonnull @.str.7, i32 noundef 9) #9
  %499 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %7) #9
  %500 = trunc i64 %499 to i32
  %501 = icmp sgt i32 %500, 0
  br i1 %501, label %502, label %505

502:                                              ; preds = %496
  %503 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %7, i64 noundef 0) #9
  %504 = load i32, ptr %503, align 4, !tbaa !12
  br label %505

505:                                              ; preds = %496, %502
  %.sink746 = phi i32 [ %504, %502 ], [ 0, %496 ]
  %506 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %466, ptr noundef nonnull @.str.6, i32 noundef %.sink746) #9
  %507 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %466, ptr noundef nonnull @.str.7, i32 noundef 9) #9
  %508 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %466, ptr noundef nonnull @.str.6, i32 noundef %.0) #9
  %509 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %466, ptr noundef nonnull @.str.7, i32 noundef 9) #9
  %510 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #9
  %511 = trunc i64 %510 to i32
  %512 = icmp sgt i32 %511, 0
  br i1 %512, label %513, label %516

513:                                              ; preds = %505
  %514 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef 0) #9
  %515 = load i32, ptr %514, align 4, !tbaa !12
  br label %516

516:                                              ; preds = %505, %513
  %.sink747 = phi i32 [ %515, %513 ], [ 0, %505 ]
  %517 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %466, ptr noundef nonnull @.str.6, i32 noundef %.sink747) #9
  %518 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %466, ptr noundef nonnull @.str.7, i32 noundef 10) #9
  %exitcond.peel.not = icmp eq i32 %464, 0
  br i1 %exitcond.peel.not, label %._crit_edge497, label %.lr.ph496

._crit_edge497:                                   ; preds = %571, %516, %452
  %519 = call i32 @fclose(ptr noundef %466)
  %520 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef nonnull align 8 dereferenceable(32) %2)
          to label %574 unwind label %521

521:                                              ; preds = %574, %._crit_edge497
  %522 = landingpad { ptr, i32 }
          cleanup
  br label %707

.lr.ph496:                                        ; preds = %516, %571
  %indvars.iv = phi i64 [ %indvars.iv.next, %571 ], [ 1, %516 ]
  %523 = icmp ult i64 %indvars.iv, 5
  br i1 %523, label %switch.lookup869, label %525

switch.lookup869:                                 ; preds = %.lr.ph496
  %switch.gep870 = getelementptr inbounds [5 x ptr], ptr @switch.table._Z17summary_SV_streamiiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE.1, i64 0, i64 %indvars.iv
  %switch.load871 = load ptr, ptr %switch.gep870, align 8
  %524 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %466, ptr noundef nonnull @.str.8, ptr noundef nonnull %switch.load871) #9
  br label %525

525:                                              ; preds = %.lr.ph496, %switch.lookup869
  %526 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %466, ptr noundef nonnull @.str.7, i32 noundef 9) #9
  %527 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %4) #9
  %sext = shl i64 %527, 32
  %528 = ashr exact i64 %sext, 32
  %529 = icmp slt i64 %indvars.iv, %528
  br i1 %529, label %530, label %533

530:                                              ; preds = %525
  %531 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %4, i64 noundef %indvars.iv) #9
  %532 = load i32, ptr %531, align 4, !tbaa !12
  br label %533

533:                                              ; preds = %525, %530
  %.sink748 = phi i32 [ %532, %530 ], [ 0, %525 ]
  %534 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %466, ptr noundef nonnull @.str.6, i32 noundef %.sink748) #9
  %535 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %466, ptr noundef nonnull @.str.7, i32 noundef 9) #9
  %536 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %5) #9
  %sext623 = shl i64 %536, 32
  %537 = ashr exact i64 %sext623, 32
  %538 = icmp slt i64 %indvars.iv, %537
  br i1 %538, label %539, label %542

539:                                              ; preds = %533
  %540 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef %indvars.iv) #9
  %541 = load i32, ptr %540, align 4, !tbaa !12
  br label %542

542:                                              ; preds = %533, %539
  %.sink749 = phi i32 [ %541, %539 ], [ 0, %533 ]
  %543 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %466, ptr noundef nonnull @.str.6, i32 noundef %.sink749) #9
  %544 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %466, ptr noundef nonnull @.str.7, i32 noundef 9) #9
  %545 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %6) #9
  %sext624 = shl i64 %545, 32
  %546 = ashr exact i64 %sext624, 32
  %547 = icmp slt i64 %indvars.iv, %546
  br i1 %547, label %548, label %551

548:                                              ; preds = %542
  %549 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %indvars.iv) #9
  %550 = load i32, ptr %549, align 4, !tbaa !12
  br label %551

551:                                              ; preds = %542, %548
  %.sink750 = phi i32 [ %550, %548 ], [ 0, %542 ]
  %552 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %466, ptr noundef nonnull @.str.6, i32 noundef %.sink750) #9
  %553 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %466, ptr noundef nonnull @.str.7, i32 noundef 9) #9
  %554 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %7) #9
  %sext625 = shl i64 %554, 32
  %555 = ashr exact i64 %sext625, 32
  %556 = icmp slt i64 %indvars.iv, %555
  br i1 %556, label %557, label %560

557:                                              ; preds = %551
  %558 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %7, i64 noundef %indvars.iv) #9
  %559 = load i32, ptr %558, align 4, !tbaa !12
  br label %560

560:                                              ; preds = %551, %557
  %.sink751 = phi i32 [ %559, %557 ], [ 0, %551 ]
  %561 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %466, ptr noundef nonnull @.str.6, i32 noundef %.sink751) #9
  %562 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %466, ptr noundef nonnull @.str.7, i32 noundef 9) #9
  %563 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %466, ptr noundef nonnull @.str.6, i32 noundef 0) #9
  %564 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %466, ptr noundef nonnull @.str.7, i32 noundef 9) #9
  %565 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #9
  %sext626 = shl i64 %565, 32
  %566 = ashr exact i64 %sext626, 32
  %567 = icmp slt i64 %indvars.iv, %566
  br i1 %567, label %568, label %571

568:                                              ; preds = %560
  %569 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %indvars.iv) #9
  %570 = load i32, ptr %569, align 4, !tbaa !12
  br label %571

571:                                              ; preds = %560, %568
  %.sink752 = phi i32 [ %570, %568 ], [ 0, %560 ]
  %572 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %466, ptr noundef nonnull @.str.6, i32 noundef %.sink752) #9
  %573 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %466, ptr noundef nonnull @.str.7, i32 noundef 10) #9
  %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_edge497, label %.lr.ph496, !llvm.loop !19

574:                                              ; preds = %._crit_edge497
  %575 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc(ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef nonnull @.str.15)
          to label %576 unwind label %521

576:                                              ; preds = %574
  %577 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %30) #9
  %578 = call noalias ptr @fopen(ptr noundef %577, ptr noundef nonnull @.str.5)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %35) #9
  %579 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES_IiiSt4lessIiESaISt4pairIKiiEEES6_IS5_ESaIS8_IKS5_SC_EEE5beginEv(ptr noundef nonnull align 8 dereferenceable(48) %10) #9
  store ptr %579, ptr %35, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %36) #9
  %580 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES_IiiSt4lessIiESaISt4pairIKiiEEES6_IS5_ESaIS8_IKS5_SC_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %10) #9
  store ptr %580, ptr %36, align 8
  %581 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEESI_(ptr noundef nonnull align 8 dereferenceable(8) %35, ptr noundef nonnull align 8 dereferenceable(8) %36) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %36) #9
  br i1 %581, label %.lr.ph500, label %._crit_edge501

._crit_edge501:                                   ; preds = %701, %576
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %35) #9
  %582 = call i32 @fclose(ptr noundef %578)
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #9
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %12) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %12) #9
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %11) #9
  call void @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES_IiiSt4lessIiESaISt4pairIKiiEEES6_IS5_ESaIS8_IKS5_SC_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %10) #9
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %10) #9
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9) #9
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %8) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %8) #9
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %7) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7) #9
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6) #9
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %5) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5) #9
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %4) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4) #9
  ret void

.lr.ph500:                                        ; preds = %576
  %583 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %578, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.16) #9
  br label %.critedge753

.critedge753:                                     ; preds = %701, %.lr.ph500
  %584 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %35) #9
  %585 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %584) #9
  %586 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %578, ptr noundef nonnull @.str.8, ptr noundef %585) #9
  %587 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %578, ptr noundef nonnull @.str.7, i32 noundef 9) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %37) #9
  %588 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %35) #9
  %589 = getelementptr inbounds i8, ptr %588, i64 32
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %38) #9
  store i32 0, ptr %38, align 4, !tbaa !12
  %590 = invoke ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEE4findERS3_(ptr noundef nonnull align 8 dereferenceable(48) %589, ptr noundef nonnull align 4 dereferenceable(4) %38)
          to label %591 unwind label %603

591:                                              ; preds = %.critedge753
  store ptr %590, ptr %37, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %39) #9
  %592 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %35) #9
  %593 = getelementptr inbounds i8, ptr %592, i64 32
  %594 = call ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %593) #9
  store ptr %594, ptr %39, align 8
  %595 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKiiEES5_(ptr noundef nonnull align 8 dereferenceable(8) %37, ptr noundef nonnull align 8 dereferenceable(8) %39) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %39) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %38) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %37) #9
  br i1 %595, label %596, label %607

596:                                              ; preds = %591
  %597 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %35) #9
  %598 = getelementptr inbounds i8, ptr %597, i64 32
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %40) #9
  store i32 0, ptr %40, align 4, !tbaa !12
  %599 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEEixEOi(ptr noundef nonnull align 8 dereferenceable(48) %598, ptr noundef nonnull align 4 dereferenceable(4) %40)
          to label %600 unwind label %605

600:                                              ; preds = %596
  %601 = load i32, ptr %599, align 4, !tbaa !12
  %602 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %578, ptr noundef nonnull @.str.6, i32 noundef %601) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %40) #9
  br label %609

603:                                              ; preds = %.critedge753
  %604 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %38) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %37) #9
  br label %706

605:                                              ; preds = %596
  %606 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %40) #9
  br label %706

607:                                              ; preds = %591
  %608 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %578, ptr noundef nonnull @.str.6, i32 noundef 0) #9
  br label %609

609:                                              ; preds = %607, %600
  %610 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %578, ptr noundef nonnull @.str.7, i32 noundef 9) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %41) #9
  %611 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %35) #9
  %612 = getelementptr inbounds i8, ptr %611, i64 32
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %42) #9
  store i32 1, ptr %42, align 4, !tbaa !12
  %613 = invoke ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEE4findERS3_(ptr noundef nonnull align 8 dereferenceable(48) %612, ptr noundef nonnull align 4 dereferenceable(4) %42)
          to label %614 unwind label %626

614:                                              ; preds = %609
  store ptr %613, ptr %41, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %43) #9
  %615 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %35) #9
  %616 = getelementptr inbounds i8, ptr %615, i64 32
  %617 = call ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %616) #9
  store ptr %617, ptr %43, align 8
  %618 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKiiEES5_(ptr noundef nonnull align 8 dereferenceable(8) %41, ptr noundef nonnull align 8 dereferenceable(8) %43) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %43) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %42) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %41) #9
  br i1 %618, label %619, label %630

619:                                              ; preds = %614
  %620 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %35) #9
  %621 = getelementptr inbounds i8, ptr %620, i64 32
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %44) #9
  store i32 1, ptr %44, align 4, !tbaa !12
  %622 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEEixEOi(ptr noundef nonnull align 8 dereferenceable(48) %621, ptr noundef nonnull align 4 dereferenceable(4) %44)
          to label %623 unwind label %628

623:                                              ; preds = %619
  %624 = load i32, ptr %622, align 4, !tbaa !12
  %625 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %578, ptr noundef nonnull @.str.6, i32 noundef %624) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %44) #9
  br label %632

626:                                              ; preds = %609
  %627 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %42) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %41) #9
  br label %706

628:                                              ; preds = %619
  %629 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %44) #9
  br label %706

630:                                              ; preds = %614
  %631 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %578, ptr noundef nonnull @.str.6, i32 noundef 0) #9
  br label %632

632:                                              ; preds = %630, %623
  %633 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %578, ptr noundef nonnull @.str.7, i32 noundef 9) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %45) #9
  %634 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %35) #9
  %635 = getelementptr inbounds i8, ptr %634, i64 32
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %46) #9
  store i32 2, ptr %46, align 4, !tbaa !12
  %636 = invoke ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEE4findERS3_(ptr noundef nonnull align 8 dereferenceable(48) %635, ptr noundef nonnull align 4 dereferenceable(4) %46)
          to label %637 unwind label %649

637:                                              ; preds = %632
  store ptr %636, ptr %45, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %47) #9
  %638 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %35) #9
  %639 = getelementptr inbounds i8, ptr %638, i64 32
  %640 = call ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %639) #9
  store ptr %640, ptr %47, align 8
  %641 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKiiEES5_(ptr noundef nonnull align 8 dereferenceable(8) %45, ptr noundef nonnull align 8 dereferenceable(8) %47) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %47) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %46) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %45) #9
  br i1 %641, label %642, label %653

642:                                              ; preds = %637
  %643 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %35) #9
  %644 = getelementptr inbounds i8, ptr %643, i64 32
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %48) #9
  store i32 2, ptr %48, align 4, !tbaa !12
  %645 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEEixEOi(ptr noundef nonnull align 8 dereferenceable(48) %644, ptr noundef nonnull align 4 dereferenceable(4) %48)
          to label %646 unwind label %651

646:                                              ; preds = %642
  %647 = load i32, ptr %645, align 4, !tbaa !12
  %648 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %578, ptr noundef nonnull @.str.6, i32 noundef %647) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %48) #9
  br label %655

649:                                              ; preds = %632
  %650 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %46) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %45) #9
  br label %706

651:                                              ; preds = %642
  %652 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %48) #9
  br label %706

653:                                              ; preds = %637
  %654 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %578, ptr noundef nonnull @.str.6, i32 noundef 0) #9
  br label %655

655:                                              ; preds = %653, %646
  %656 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %578, ptr noundef nonnull @.str.7, i32 noundef 9) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %49) #9
  %657 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %35) #9
  %658 = getelementptr inbounds i8, ptr %657, i64 32
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %50) #9
  store i32 4, ptr %50, align 4, !tbaa !12
  %659 = invoke ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEE4findERS3_(ptr noundef nonnull align 8 dereferenceable(48) %658, ptr noundef nonnull align 4 dereferenceable(4) %50)
          to label %660 unwind label %672

660:                                              ; preds = %655
  store ptr %659, ptr %49, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %51) #9
  %661 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %35) #9
  %662 = getelementptr inbounds i8, ptr %661, i64 32
  %663 = call ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %662) #9
  store ptr %663, ptr %51, align 8
  %664 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKiiEES5_(ptr noundef nonnull align 8 dereferenceable(8) %49, ptr noundef nonnull align 8 dereferenceable(8) %51) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %51) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %50) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %49) #9
  br i1 %664, label %665, label %676

665:                                              ; preds = %660
  %666 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %35) #9
  %667 = getelementptr inbounds i8, ptr %666, i64 32
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %52) #9
  store i32 4, ptr %52, align 4, !tbaa !12
  %668 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEEixEOi(ptr noundef nonnull align 8 dereferenceable(48) %667, ptr noundef nonnull align 4 dereferenceable(4) %52)
          to label %669 unwind label %674

669:                                              ; preds = %665
  %670 = load i32, ptr %668, align 4, !tbaa !12
  %671 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %578, ptr noundef nonnull @.str.6, i32 noundef %670) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %52) #9
  br label %678

672:                                              ; preds = %655
  %673 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %50) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %49) #9
  br label %706

674:                                              ; preds = %665
  %675 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %52) #9
  br label %706

676:                                              ; preds = %660
  %677 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %578, ptr noundef nonnull @.str.6, i32 noundef 0) #9
  br label %678

678:                                              ; preds = %676, %669
  %679 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %578, ptr noundef nonnull @.str.7, i32 noundef 9) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %53) #9
  %680 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %35) #9
  %681 = getelementptr inbounds i8, ptr %680, i64 32
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %54) #9
  store i32 3, ptr %54, align 4, !tbaa !12
  %682 = invoke ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEE4findERS3_(ptr noundef nonnull align 8 dereferenceable(48) %681, ptr noundef nonnull align 4 dereferenceable(4) %54)
          to label %683 unwind label %695

683:                                              ; preds = %678
  store ptr %682, ptr %53, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %55) #9
  %684 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %35) #9
  %685 = getelementptr inbounds i8, ptr %684, i64 32
  %686 = call ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %685) #9
  store ptr %686, ptr %55, align 8
  %687 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKiiEES5_(ptr noundef nonnull align 8 dereferenceable(8) %53, ptr noundef nonnull align 8 dereferenceable(8) %55) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %55) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %54) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %53) #9
  br i1 %687, label %688, label %699

688:                                              ; preds = %683
  %689 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %35) #9
  %690 = getelementptr inbounds i8, ptr %689, i64 32
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %56) #9
  store i32 3, ptr %56, align 4, !tbaa !12
  %691 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt3mapIiiSt4lessIiESaISt4pairIKiiEEEixEOi(ptr noundef nonnull align 8 dereferenceable(48) %690, ptr noundef nonnull align 4 dereferenceable(4) %56)
          to label %692 unwind label %697

692:                                              ; preds = %688
  %693 = load i32, ptr %691, align 4, !tbaa !12
  %694 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %578, ptr noundef nonnull @.str.6, i32 noundef %693) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %56) #9
  br label %701

695:                                              ; preds = %678
  %696 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %54) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %53) #9
  br label %706

697:                                              ; preds = %688
  %698 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %56) #9
  br label %706

699:                                              ; preds = %683
  %700 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %578, ptr noundef nonnull @.str.6, i32 noundef 0) #9
  br label %701

701:                                              ; preds = %699, %692
  %702 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %578, ptr noundef nonnull @.str.7, i32 noundef 10) #9
  %703 = call ptr @_ZNSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEEppEi(ptr noundef nonnull align 8 dereferenceable(8) %35, i32 noundef 0) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %36) #9
  %704 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES_IiiSt4lessIiESaISt4pairIKiiEEES6_IS5_ESaIS8_IKS5_SC_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %10) #9
  store ptr %704, ptr %36, align 8
  %705 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt3mapIiiSt4lessIiESaIS0_IKiiEEEEESI_(ptr noundef nonnull align 8 dereferenceable(8) %35, ptr noundef nonnull align 8 dereferenceable(8) %36) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %36) #9
  br i1 %705, label %.critedge753, label %._crit_edge501, !llvm.loop !21

706:                                              ; preds = %697, %695, %674, %672, %651, %649, %628, %626, %605, %603
  %.pn280 = phi { ptr, i32 } [ %698, %697 ], [ %696, %695 ], [ %675, %674 ], [ %673, %672 ], [ %652, %651 ], [ %650, %649 ], [ %629, %628 ], [ %627, %626 ], [ %606, %605 ], [ %604, %603 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %35) #9
  br label %707

707:                                              ; preds = %521, %706, %414
  %.pn280.pn.pn = phi { ptr, i32 } [ %415, %414 ], [ %.pn280, %706 ], [ %522, %521 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #9
  br label %708

708:                                              ; preds = %707, %412
  %.pn280.pn.pn.pn = phi { ptr, i32 } [ %.pn280.pn.pn, %707 ], [ %413, %412 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #9
  br label %709

709:                                              ; preds = %.loopexit, %.loopexit.split-lp, %708, %366
  %.pn280.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn280.pn.pn.pn, %708 ], [ %.pn275.pn.pn, %366 ], [ %lpad.loopexit, %.loopexit ], [ %lpad.loopexit.split-lp, %.loopexit.split-lp ]
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %12) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %12) #9
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %11) #9
  call void @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES_IiiSt4lessIiESaISt4pairIKiiEEES6_IS5_ESaIS8_IKS5_SC_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %10) #9
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %10) #9
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9) #9
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %8) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %8) #9
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %7) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7) #9
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6) #9
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %5) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5) #9
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %4) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4) #9
  resume { ptr, i32 } %.pn280.pn.pn.pn.pn
}

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

; Function Attrs: mustprogress uwtable
declare noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv(ptr noundef nonnull align 8 dereferenceable(264)) local_unnamed_addr #0 align 2

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

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

; Function Attrs: mustprogress nounwind uwtable
declare noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE4failEv(ptr noundef nonnull align 8 dereferenceable(264)) local_unnamed_addr #1 align 2

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

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

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

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

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

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

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

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

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

declare noundef signext i16 @_Z8get_typeNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef) local_unnamed_addr #4

; Function Attrs: mustprogress nofree nounwind willreturn memory(argmem: read)
declare i32 @strncmp(ptr nocapture noundef, ptr nocapture noundef, i64 noundef) local_unnamed_addr #7

; Function Attrs: inlinehint mustprogress nofree nounwind willreturn memory(read) uwtable
declare i32 @atoi(ptr nocapture noundef nonnull) local_unnamed_addr #8

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef double @_ZSt3absd(double noundef) local_unnamed_addr #6

; Function Attrs: inlinehint mustprogress nofree nounwind willreturn memory(read) uwtable
declare double @atof(ptr nocapture noundef nonnull) local_unnamed_addr #8

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

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

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

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

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

!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 = !{!"vtable pointer", !7, i64 0}
!7 = !{!"Simple C++ TBAA"}
!8 = !{!9, !9, i64 0}
!9 = !{!"omnipotent char", !7, i64 0}
!10 = distinct !{!10, !11}
!11 = !{!"llvm.loop.mustprogress"}
!12 = !{!13, !13, i64 0}
!13 = !{!"int", !9, i64 0}
!14 = distinct !{!14, !11}
!15 = distinct !{!15, !11}
!16 = distinct !{!16, !11}
!17 = distinct !{!17, !11}
!18 = distinct !{!18, !11}
!19 = distinct !{!19, !11, !20}
!20 = !{!"llvm.loop.peeled.count", i32 1}
!21 = distinct !{!21, !11}


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