; LLVM IR from fritzsedlazeck/SURVIVOR :: src/snp_overlap (Overlap_snps)

; 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::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::__cxx11::basic_string<char>>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"struct.std::_Rb_tree_header" = type { %"struct.std::_Rb_tree_node_base", i64 }
%"struct.std::_Rb_tree_node_base" = type { i32, 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::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<strvcfentry, std::allocator<strvcfentry>>::_Vector_impl" }
%"struct.std::_Vector_base<strvcfentry, std::allocator<strvcfentry>>::_Vector_impl" = type { %"struct.std::_Vector_base<strvcfentry, std::allocator<strvcfentry>>::_Vector_impl_data" }
%"struct.std::_Vector_base<strvcfentry, std::allocator<strvcfentry>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::basic_ifstream" = type { %"class.std::basic_istream.base", %"class.std::basic_filebuf", %"class.std::basic_ios" }
%"class.std::basic_istream.base" = type { ptr, i64 }
%"class.std::basic_filebuf" = type { %"class.std::basic_streambuf", %union.pthread_mutex_t, %"class.std::__basic_file", i32, %struct.__mbstate_t, %struct.__mbstate_t, %struct.__mbstate_t, ptr, i64, i8, i8, i8, i8, ptr, ptr, i8, ptr, ptr, i64, ptr, ptr }
%"class.std::basic_streambuf" = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, %"class.std::locale" }
%union.pthread_mutex_t = type { %struct.__pthread_mutex_s }
%struct.__pthread_mutex_s = type { i32, i32, i32, i32, i32, i16, i16, %struct.__pthread_internal_list }
%struct.__pthread_internal_list = type { ptr, ptr }
%"class.std::__basic_file" = type <{ ptr, i8, [7 x i8] }>
%struct.__mbstate_t = type { i32, %union.anon.3 }
%union.anon.3 = type { i32 }
%struct.breakpoint_str = type <{ %"class.std::__cxx11::basic_string", i32, [4 x i8] }>
%"class.std::allocator" = type { i8 }
%"struct.std::_Rb_tree_iterator" = type { ptr }
%class.Parameter = type <{ %"class.std::__cxx11::basic_string", double, i32, i8, i8, i8, i8, i32, float, i32, [4 x i8] }>
%struct.strvcfentry = type <{ %"class.std::__cxx11::basic_string", %struct.strcoordinate, %struct.strcoordinate, i16, [6 x i8], %"class.std::map", i32, i32, %"class.std::vector.7", %"struct.std::pair", [2 x i8], %"struct.std::pair.12", [4 x i8], %"class.std::__cxx11::basic_string", i32, [4 x i8], %"class.std::__cxx11::basic_string", double, %"class.std::__cxx11::basic_string", i32, [4 x i8], %"struct.std::pair.14", %"struct.std::pair.12", %"struct.std::pair.12", i32, [4 x i8] }>
%struct.strcoordinate = type { i32, %"class.std::__cxx11::basic_string" }
%"class.std::vector.7" = type { %"struct.std::_Vector_base.8" }
%"struct.std::_Vector_base.8" = 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 }
%"struct.std::pair" = type { i8, i8 }
%"struct.std::pair.14" = type { %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string" }
%"struct.std::pair.12" = type { i32, i32 }

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_Z9parse_vcfNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind noalias writable sret(%"class.std::map") align 8, ptr noundef) #1

; Function Attrs: nobuiltin allocsize(0)
declare noundef nonnull ptr @_Znam(i64 noundef) #3

declare i32 @__gxx_personality_v0(...)

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

; Function Attrs: mustprogress uwtable
declare void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(256), ptr noundef, i32 noundef) #1 align 2

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

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

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

; Function Attrs: mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) #1 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)) #5

; Function Attrs: noreturn nounwind
declare void @exit(i32 noundef) #6

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
define dso_local void @_Z12overlap_snpsNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_iiiS4_(ptr noundef %0, ptr noundef %1, i32 noundef %2, i32 noundef %3, i32 noundef %4, ptr noundef %5) #1 personality ptr @__gxx_personality_v0 {
  %7 = alloca ptr, align 8
  %8 = alloca ptr, align 8
  %9 = alloca i32, align 4
  %10 = alloca i32, align 4
  %11 = alloca i32, align 4
  %12 = alloca ptr, align 8
  %13 = alloca %"class.std::map", align 8
  %14 = alloca %"class.std::__cxx11::basic_string", align 8
  %15 = alloca ptr, align 8
  %16 = alloca i32, align 4
  %17 = alloca %"class.std::vector", align 8
  %18 = alloca i64, align 8
  %19 = alloca i32, align 4
  %20 = alloca i32, align 4
  %21 = alloca i32, align 4
  %22 = alloca i32, align 4
  %23 = alloca i32, align 4
  %24 = alloca i32, align 4
  %25 = alloca i32, align 4
  %26 = alloca i8, align 1
  %27 = alloca i32, align 4
  %28 = alloca i8, align 1
  %29 = alloca i32, align 4
  %30 = alloca i32, align 4
  %31 = alloca ptr, align 8
  %32 = alloca i64, align 8
  %33 = alloca ptr, align 8
  %34 = alloca %"class.std::basic_ifstream", align 8
  %35 = alloca i32, align 4
  %36 = alloca %struct.breakpoint_str, align 8
  %37 = alloca double, align 8
  %38 = alloca i32, align 4
  %39 = alloca i32, align 4
  %40 = alloca i32, align 4
  %41 = alloca i8, align 1
  %42 = alloca i64, align 8
  %43 = alloca %"class.std::__cxx11::basic_string", align 8
  %44 = alloca %"class.std::allocator", align 1
  %45 = alloca i64, align 8
  %46 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %47 = alloca %"struct.std::_Rb_tree_iterator", align 8
  store ptr %0, ptr %7, align 8, !tbaa !5
  store ptr %1, ptr %8, align 8, !tbaa !5
  store i32 %2, ptr %9, align 4, !tbaa !9
  store i32 %3, ptr %10, align 4, !tbaa !9
  store i32 %4, ptr %11, align 4, !tbaa !9
  store ptr %5, ptr %12, align 8, !tbaa !5
  %48 = load i32, ptr %11, align 4, !tbaa !9
  %49 = sitofp i32 %48 to double
  %50 = fdiv double %49, 1.000000e+02
  %51 = fptrunc double %50 to float
  %52 = call noundef ptr @_ZN9Parameter8InstanceEv()
  %53 = getelementptr inbounds %class.Parameter, ptr %52, i32 0, i32 8
  store float %51, ptr %53, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 48, ptr %13) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef nonnull align 8 dereferenceable(32) %0)
  invoke void @_Z9parse_vcfNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind writable sret(%"class.std::map") align 8 %13, ptr noundef %14)
          to label %54 unwind label %69

54:                                               ; preds = %6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #10
  call void @llvm.lifetime.start.p0(i64 24, ptr %17) #10
  %55 = load i32, ptr %10, align 4, !tbaa !9
  invoke void @_Z9parse_vcfRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi(ptr dead_on_unwind writable sret(%"class.std::vector") align 8 %17, ptr noundef nonnull align 8 dereferenceable(32) %0, i32 noundef %55)
          to label %56 unwind label %73

56:                                               ; preds = %54
  %57 = 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 %58 unwind label %77

58:                                               ; preds = %56
  %59 = call noundef i64 @_ZNKSt6vectorI11strvcfentrySaIS0_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %17) #10
  %60 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %57, i64 noundef %59)
          to label %61 unwind label %77

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

63:                                               ; preds = %61
  call void @llvm.lifetime.start.p0(i64 8, ptr %18) #10
  store i64 0, ptr %18, align 8, !tbaa !19
  br label %64

64:                                               ; preds = %306, %63
  %65 = load i64, ptr %18, align 8, !tbaa !19
  %66 = call noundef i64 @_ZNKSt6vectorI11strvcfentrySaIS0_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %17) #10
  %67 = icmp ult i64 %65, %66
  br i1 %67, label %81, label %68

68:                                               ; preds = %64
  store i32 2, ptr %19, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #10
  br label %311

69:                                               ; preds = %6
  %70 = landingpad { ptr, i32 }
          cleanup
  %71 = extractvalue { ptr, i32 } %70, 0
  store ptr %71, ptr %15, align 8
  %72 = extractvalue { ptr, i32 } %70, 1
  store i32 %72, ptr %16, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #10
  br label %705

73:                                               ; preds = %54
  %74 = landingpad { ptr, i32 }
          cleanup
  %75 = extractvalue { ptr, i32 } %74, 0
  store ptr %75, ptr %15, align 8
  %76 = extractvalue { ptr, i32 } %74, 1
  store i32 %76, ptr %16, align 4
  br label %704

77:                                               ; preds = %313, %311, %61, %58, %56
  %78 = landingpad { ptr, i32 }
          cleanup
  %79 = extractvalue { ptr, i32 } %78, 0
  store ptr %79, ptr %15, align 8
  %80 = extractvalue { ptr, i32 } %78, 1
  store i32 %80, ptr %16, align 4
  br label %703

81:                                               ; preds = %64
  call void @llvm.lifetime.start.p0(i64 4, ptr %20) #10
  call void @llvm.lifetime.start.p0(i64 4, ptr %21) #10
  store i32 0, ptr %21, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %22) #10
  %82 = load i64, ptr %18, align 8, !tbaa !19
  %83 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef %82) #10
  %84 = getelementptr inbounds %struct.strvcfentry, ptr %83, i32 0, i32 1
  %85 = getelementptr inbounds %struct.strcoordinate, ptr %84, i32 0, i32 0
  %86 = load i32, ptr %85, align 8, !tbaa !20
  %87 = load i32, ptr %9, align 4, !tbaa !9
  %88 = sub nsw i32 %86, %87
  store i32 %88, ptr %22, align 4, !tbaa !9
  %89 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3maxIiERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %21, ptr noundef nonnull align 4 dereferenceable(4) %22)
          to label %90 unwind label %138

90:                                               ; preds = %81
  %91 = load i32, ptr %89, align 4, !tbaa !9
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #10
  store i32 %91, ptr %20, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %23) #10
  call void @llvm.lifetime.start.p0(i64 4, ptr %24) #10
  %92 = load i64, ptr %18, align 8, !tbaa !19
  %93 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef %92) #10
  %94 = getelementptr inbounds %struct.strvcfentry, ptr %93, i32 0, i32 1
  %95 = getelementptr inbounds %struct.strcoordinate, ptr %94, i32 0, i32 1
  %96 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEEixERS9_(ptr noundef nonnull align 8 dereferenceable(48) %13, ptr noundef nonnull align 8 dereferenceable(32) %95)
          to label %97 unwind label %142

97:                                               ; preds = %90
  %98 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %96) #10
  %99 = trunc i64 %98 to i32
  store i32 %99, ptr %24, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %25) #10
  %100 = load i64, ptr %18, align 8, !tbaa !19
  %101 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef %100) #10
  %102 = getelementptr inbounds %struct.strvcfentry, ptr %101, i32 0, i32 2
  %103 = getelementptr inbounds %struct.strcoordinate, ptr %102, i32 0, i32 0
  %104 = load i32, ptr %103, align 8, !tbaa !39
  %105 = load i32, ptr %9, align 4, !tbaa !9
  %106 = add nsw i32 %104, %105
  store i32 %106, ptr %25, align 4, !tbaa !9
  %107 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3minIiERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %24, ptr noundef nonnull align 4 dereferenceable(4) %25)
          to label %108 unwind label %146

108:                                              ; preds = %97
  %109 = load i32, ptr %107, align 4, !tbaa !9
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #10
  store i32 %109, ptr %23, align 4, !tbaa !9
  %110 = load i64, ptr %18, align 8, !tbaa !19
  %111 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef %110) #10
  %112 = getelementptr inbounds %struct.strvcfentry, ptr %111, i32 0, i32 3
  %113 = load i16, ptr %112, align 8, !tbaa !40
  %114 = sext i16 %113 to i32
  %115 = icmp eq i32 %114, 0
  br i1 %115, label %130, label %116

116:                                              ; preds = %108
  %117 = load i64, ptr %18, align 8, !tbaa !19
  %118 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef %117) #10
  %119 = getelementptr inbounds %struct.strvcfentry, ptr %118, i32 0, i32 3
  %120 = load i16, ptr %119, align 8, !tbaa !40
  %121 = sext i16 %120 to i32
  %122 = icmp eq i32 %121, 1
  br i1 %122, label %130, label %123

123:                                              ; preds = %116
  %124 = load i64, ptr %18, align 8, !tbaa !19
  %125 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef %124) #10
  %126 = getelementptr inbounds %struct.strvcfentry, ptr %125, i32 0, i32 3
  %127 = load i16, ptr %126, align 8, !tbaa !40
  %128 = sext i16 %127 to i32
  %129 = icmp eq i32 %128, 6
  br i1 %129, label %130, label %187

130:                                              ; preds = %123, %116, %108
  call void @llvm.lifetime.start.p0(i64 1, ptr %26) #10
  store i8 68, ptr %26, align 1, !tbaa !41
  %131 = load i64, ptr %18, align 8, !tbaa !19
  %132 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef %131) #10
  %133 = getelementptr inbounds %struct.strvcfentry, ptr %132, i32 0, i32 3
  %134 = load i16, ptr %133, align 8, !tbaa !40
  %135 = sext i16 %134 to i32
  %136 = icmp eq i32 %135, 1
  br i1 %136, label %137, label %151

137:                                              ; preds = %130
  store i8 80, ptr %26, align 1, !tbaa !41
  br label %160

138:                                              ; preds = %81
  %139 = landingpad { ptr, i32 }
          cleanup
  %140 = extractvalue { ptr, i32 } %139, 0
  store ptr %140, ptr %15, align 8
  %141 = extractvalue { ptr, i32 } %139, 1
  store i32 %141, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #10
  br label %310

142:                                              ; preds = %90
  %143 = landingpad { ptr, i32 }
          cleanup
  %144 = extractvalue { ptr, i32 } %143, 0
  store ptr %144, ptr %15, align 8
  %145 = extractvalue { ptr, i32 } %143, 1
  store i32 %145, ptr %16, align 4
  br label %150

146:                                              ; preds = %97
  %147 = landingpad { ptr, i32 }
          cleanup
  %148 = extractvalue { ptr, i32 } %147, 0
  store ptr %148, ptr %15, align 8
  %149 = extractvalue { ptr, i32 } %147, 1
  store i32 %149, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #10
  br label %150

150:                                              ; preds = %146, %142
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #10
  br label %309

151:                                              ; preds = %130
  %152 = load i64, ptr %18, align 8, !tbaa !19
  %153 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef %152) #10
  %154 = getelementptr inbounds %struct.strvcfentry, ptr %153, i32 0, i32 3
  %155 = load i16, ptr %154, align 8, !tbaa !40
  %156 = sext i16 %155 to i32
  %157 = icmp eq i32 %156, 6
  br i1 %157, label %158, label %159

158:                                              ; preds = %151
  store i8 67, ptr %26, align 1, !tbaa !41
  br label %159

159:                                              ; preds = %158, %151
  br label %160

160:                                              ; preds = %159, %137
  call void @llvm.lifetime.start.p0(i64 4, ptr %27) #10
  %161 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %161, ptr %27, align 4, !tbaa !9
  br label %162

162:                                              ; preds = %179, %160
  %163 = load i32, ptr %27, align 4, !tbaa !9
  %164 = load i32, ptr %23, align 4, !tbaa !9
  %165 = icmp slt i32 %163, %164
  br i1 %165, label %167, label %166

166:                                              ; preds = %162
  store i32 5, ptr %19, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #10
  br label %186

167:                                              ; preds = %162
  %168 = load i8, ptr %26, align 1, !tbaa !41
  %169 = load i64, ptr %18, align 8, !tbaa !19
  %170 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef %169) #10
  %171 = getelementptr inbounds %struct.strvcfentry, ptr %170, i32 0, i32 1
  %172 = getelementptr inbounds %struct.strcoordinate, ptr %171, i32 0, i32 1
  %173 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEEixERS9_(ptr noundef nonnull align 8 dereferenceable(48) %13, ptr noundef nonnull align 8 dereferenceable(32) %172)
          to label %174 unwind label %182

174:                                              ; preds = %167
  %175 = load i32, ptr %27, align 4, !tbaa !9
  %176 = sext i32 %175 to i64
  %177 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %173, i64 noundef %176)
          to label %178 unwind label %182

178:                                              ; preds = %174
  store i8 %168, ptr %177, align 1, !tbaa !41
  br label %179

179:                                              ; preds = %178
  %180 = load i32, ptr %27, align 4, !tbaa !9
  %181 = add nsw i32 %180, 1
  store i32 %181, ptr %27, align 4, !tbaa !9
  br label %162, !llvm.loop !42

182:                                              ; preds = %174, %167
  %183 = landingpad { ptr, i32 }
          cleanup
  %184 = extractvalue { ptr, i32 } %183, 0
  store ptr %184, ptr %15, align 8
  %185 = extractvalue { ptr, i32 } %183, 1
  store i32 %185, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %26) #10
  br label %309

186:                                              ; preds = %166
  call void @llvm.lifetime.end.p0(i64 1, ptr %26) #10
  br label %305

187:                                              ; preds = %123
  call void @llvm.lifetime.start.p0(i64 1, ptr %28) #10
  store i8 86, ptr %28, align 1, !tbaa !41
  %188 = load i64, ptr %18, align 8, !tbaa !19
  %189 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef %188) #10
  %190 = getelementptr inbounds %struct.strvcfentry, ptr %189, i32 0, i32 3
  %191 = load i16, ptr %190, align 8, !tbaa !40
  %192 = sext i16 %191 to i32
  %193 = icmp eq i32 %192, 3
  br i1 %193, label %194, label %195

194:                                              ; preds = %187
  store i8 84, ptr %28, align 1, !tbaa !41
  br label %213

195:                                              ; preds = %187
  %196 = load i64, ptr %18, align 8, !tbaa !19
  %197 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef %196) #10
  %198 = getelementptr inbounds %struct.strvcfentry, ptr %197, i32 0, i32 3
  %199 = load i16, ptr %198, align 8, !tbaa !40
  %200 = sext i16 %199 to i32
  %201 = icmp eq i32 %200, 4
  br i1 %201, label %202, label %203

202:                                              ; preds = %195
  store i8 73, ptr %28, align 1, !tbaa !41
  br label %212

203:                                              ; preds = %195
  %204 = load i64, ptr %18, align 8, !tbaa !19
  %205 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef %204) #10
  %206 = getelementptr inbounds %struct.strvcfentry, ptr %205, i32 0, i32 3
  %207 = load i16, ptr %206, align 8, !tbaa !40
  %208 = sext i16 %207 to i32
  %209 = icmp eq i32 %208, 5
  br i1 %209, label %210, label %211

210:                                              ; preds = %203
  store i8 85, ptr %28, align 1, !tbaa !41
  br label %211

211:                                              ; preds = %210, %203
  br label %212

212:                                              ; preds = %211, %202
  br label %213

213:                                              ; preds = %212, %194
  call void @llvm.lifetime.start.p0(i64 4, ptr %29) #10
  %214 = load i32, ptr %20, align 4, !tbaa !9
  store i32 %214, ptr %29, align 4, !tbaa !9
  br label %215

215:                                              ; preds = %255, %213
  %216 = load i32, ptr %29, align 4, !tbaa !9
  %217 = load i64, ptr %18, align 8, !tbaa !19
  %218 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef %217) #10
  %219 = getelementptr inbounds %struct.strvcfentry, ptr %218, i32 0, i32 1
  %220 = getelementptr inbounds %struct.strcoordinate, ptr %219, i32 0, i32 0
  %221 = load i32, ptr %220, align 8, !tbaa !20
  %222 = load i32, ptr %9, align 4, !tbaa !9
  %223 = add nsw i32 %221, %222
  %224 = icmp slt i32 %216, %223
  br i1 %224, label %225, label %236

225:                                              ; preds = %215
  %226 = load i32, ptr %29, align 4, !tbaa !9
  %227 = load i64, ptr %18, align 8, !tbaa !19
  %228 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef %227) #10
  %229 = getelementptr inbounds %struct.strvcfentry, ptr %228, i32 0, i32 1
  %230 = getelementptr inbounds %struct.strcoordinate, ptr %229, i32 0, i32 1
  %231 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEEixERS9_(ptr noundef nonnull align 8 dereferenceable(48) %13, ptr noundef nonnull align 8 dereferenceable(32) %230)
          to label %232 unwind label %239

232:                                              ; preds = %225
  %233 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %231) #10
  %234 = trunc i64 %233 to i32
  %235 = icmp slt i32 %226, %234
  br label %236

236:                                              ; preds = %232, %215
  %237 = phi i1 [ false, %215 ], [ %235, %232 ]
  br i1 %237, label %243, label %238

238:                                              ; preds = %236
  store i32 8, ptr %19, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #10
  br label %258

239:                                              ; preds = %250, %243, %225
  %240 = landingpad { ptr, i32 }
          cleanup
  %241 = extractvalue { ptr, i32 } %240, 0
  store ptr %241, ptr %15, align 8
  %242 = extractvalue { ptr, i32 } %240, 1
  store i32 %242, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #10
  br label %304

243:                                              ; preds = %236
  %244 = load i8, ptr %28, align 1, !tbaa !41
  %245 = load i64, ptr %18, align 8, !tbaa !19
  %246 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef %245) #10
  %247 = getelementptr inbounds %struct.strvcfentry, ptr %246, i32 0, i32 1
  %248 = getelementptr inbounds %struct.strcoordinate, ptr %247, i32 0, i32 1
  %249 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEEixERS9_(ptr noundef nonnull align 8 dereferenceable(48) %13, ptr noundef nonnull align 8 dereferenceable(32) %248)
          to label %250 unwind label %239

250:                                              ; preds = %243
  %251 = load i32, ptr %29, align 4, !tbaa !9
  %252 = sext i32 %251 to i64
  %253 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %249, i64 noundef %252)
          to label %254 unwind label %239

254:                                              ; preds = %250
  store i8 %244, ptr %253, align 1, !tbaa !41
  br label %255

255:                                              ; preds = %254
  %256 = load i32, ptr %29, align 4, !tbaa !9
  %257 = add nsw i32 %256, 1
  store i32 %257, ptr %29, align 4, !tbaa !9
  br label %215, !llvm.loop !44

258:                                              ; preds = %238
  call void @llvm.lifetime.start.p0(i64 4, ptr %30) #10
  %259 = load i32, ptr %23, align 4, !tbaa !9
  store i32 %259, ptr %30, align 4, !tbaa !9
  br label %260

260:                                              ; preds = %300, %258
  %261 = load i32, ptr %30, align 4, !tbaa !9
  %262 = load i64, ptr %18, align 8, !tbaa !19
  %263 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef %262) #10
  %264 = getelementptr inbounds %struct.strvcfentry, ptr %263, i32 0, i32 2
  %265 = getelementptr inbounds %struct.strcoordinate, ptr %264, i32 0, i32 0
  %266 = load i32, ptr %265, align 8, !tbaa !39
  %267 = load i32, ptr %9, align 4, !tbaa !9
  %268 = add nsw i32 %266, %267
  %269 = icmp slt i32 %261, %268
  br i1 %269, label %270, label %281

270:                                              ; preds = %260
  %271 = load i32, ptr %30, align 4, !tbaa !9
  %272 = load i64, ptr %18, align 8, !tbaa !19
  %273 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef %272) #10
  %274 = getelementptr inbounds %struct.strvcfentry, ptr %273, i32 0, i32 2
  %275 = getelementptr inbounds %struct.strcoordinate, ptr %274, i32 0, i32 1
  %276 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEEixERS9_(ptr noundef nonnull align 8 dereferenceable(48) %13, ptr noundef nonnull align 8 dereferenceable(32) %275)
          to label %277 unwind label %284

277:                                              ; preds = %270
  %278 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %276) #10
  %279 = trunc i64 %278 to i32
  %280 = icmp slt i32 %271, %279
  br label %281

281:                                              ; preds = %277, %260
  %282 = phi i1 [ false, %260 ], [ %280, %277 ]
  br i1 %282, label %288, label %283

283:                                              ; preds = %281
  store i32 11, ptr %19, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #10
  br label %303

284:                                              ; preds = %295, %288, %270
  %285 = landingpad { ptr, i32 }
          cleanup
  %286 = extractvalue { ptr, i32 } %285, 0
  store ptr %286, ptr %15, align 8
  %287 = extractvalue { ptr, i32 } %285, 1
  store i32 %287, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #10
  br label %304

288:                                              ; preds = %281
  %289 = load i8, ptr %28, align 1, !tbaa !41
  %290 = load i64, ptr %18, align 8, !tbaa !19
  %291 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef %290) #10
  %292 = getelementptr inbounds %struct.strvcfentry, ptr %291, i32 0, i32 2
  %293 = getelementptr inbounds %struct.strcoordinate, ptr %292, i32 0, i32 1
  %294 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEEixERS9_(ptr noundef nonnull align 8 dereferenceable(48) %13, ptr noundef nonnull align 8 dereferenceable(32) %293)
          to label %295 unwind label %284

295:                                              ; preds = %288
  %296 = load i32, ptr %30, align 4, !tbaa !9
  %297 = sext i32 %296 to i64
  %298 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %294, i64 noundef %297)
          to label %299 unwind label %284

299:                                              ; preds = %295
  store i8 %289, ptr %298, align 1, !tbaa !41
  br label %300

300:                                              ; preds = %299
  %301 = load i32, ptr %30, align 4, !tbaa !9
  %302 = add nsw i32 %301, 1
  store i32 %302, ptr %30, align 4, !tbaa !9
  br label %260, !llvm.loop !45

303:                                              ; preds = %283
  call void @llvm.lifetime.end.p0(i64 1, ptr %28) #10
  br label %305

304:                                              ; preds = %284, %239
  call void @llvm.lifetime.end.p0(i64 1, ptr %28) #10
  br label %309

305:                                              ; preds = %303, %186
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #10
  br label %306

306:                                              ; preds = %305
  %307 = load i64, ptr %18, align 8, !tbaa !19
  %308 = add i64 %307, 1
  store i64 %308, ptr %18, align 8, !tbaa !19
  br label %64, !llvm.loop !46

309:                                              ; preds = %304, %182, %150
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #10
  br label %310

310:                                              ; preds = %309, %138
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #10
  br label %703

311:                                              ; preds = %68
  %312 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.3)
          to label %313 unwind label %77

313:                                              ; preds = %311
  %314 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %312, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %315 unwind label %77

315:                                              ; preds = %313
  call void @llvm.lifetime.start.p0(i64 8, ptr %31) #10
  %316 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %5) #10
  %317 = invoke noalias ptr @fopen(ptr noundef %316, ptr noundef @.str.4)
          to label %318 unwind label %339

318:                                              ; preds = %315
  store ptr %317, ptr %31, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %32) #10
  store i64 2000000, ptr %32, align 8, !tbaa !19
  call void @llvm.lifetime.start.p0(i64 8, ptr %33) #10
  %319 = load i64, ptr %32, align 8, !tbaa !19
  %320 = invoke noalias noundef nonnull ptr @_Znam(i64 noundef %319) #11
          to label %321 unwind label %343

321:                                              ; preds = %318
  store ptr %320, ptr %33, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 520, ptr %34) #10
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(256) %34)
          to label %322 unwind label %347

322:                                              ; preds = %321
  %323 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %1) #10
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(256) %34, ptr noundef %323, i32 noundef 8)
          to label %324 unwind label %351

324:                                              ; preds = %322
  %325 = load ptr, ptr %34, align 8, !tbaa !47
  %326 = getelementptr i8, ptr %325, i64 -24
  %327 = load i64, ptr %326, align 8
  %328 = getelementptr inbounds i8, ptr %34, i64 %327
  %329 = invoke noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv(ptr noundef nonnull align 8 dereferenceable(264) %328)
          to label %330 unwind label %351

330:                                              ; preds = %324
  br i1 %329, label %355, label %331

331:                                              ; preds = %330
  %332 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str)
          to label %333 unwind label %351

333:                                              ; preds = %331
  %334 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %1) #10
  %335 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %332, ptr noundef %334)
          to label %336 unwind label %351

336:                                              ; preds = %333
  %337 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %335, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %338 unwind label %351

338:                                              ; preds = %336
  call void @exit(i32 noundef 0) #12
  unreachable

339:                                              ; preds = %315
  %340 = landingpad { ptr, i32 }
          cleanup
  %341 = extractvalue { ptr, i32 } %340, 0
  store ptr %341, ptr %15, align 8
  %342 = extractvalue { ptr, i32 } %340, 1
  store i32 %342, ptr %16, align 4
  br label %702

343:                                              ; preds = %318
  %344 = landingpad { ptr, i32 }
          cleanup
  %345 = extractvalue { ptr, i32 } %344, 0
  store ptr %345, ptr %15, align 8
  %346 = extractvalue { ptr, i32 } %344, 1
  store i32 %346, ptr %16, align 4
  br label %701

347:                                              ; preds = %321
  %348 = landingpad { ptr, i32 }
          cleanup
  %349 = extractvalue { ptr, i32 } %348, 0
  store ptr %349, ptr %15, align 8
  %350 = extractvalue { ptr, i32 } %348, 1
  store i32 %350, ptr %16, align 4
  br label %700

351:                                              ; preds = %695, %694, %689, %364, %359, %355, %336, %333, %331, %324, %322
  %352 = landingpad { ptr, i32 }
          cleanup
  %353 = extractvalue { ptr, i32 } %352, 0
  store ptr %353, ptr %15, align 8
  %354 = extractvalue { ptr, i32 } %352, 1
  store i32 %354, ptr %16, align 4
  br label %699

355:                                              ; preds = %330
  %356 = load ptr, ptr %33, align 8, !tbaa !5
  %357 = load i64, ptr %32, align 8, !tbaa !19
  %358 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi7getlineEPcl(ptr noundef nonnull align 8 dereferenceable(16) %34, ptr noundef %356, i64 noundef %357)
          to label %359 unwind label %351

359:                                              ; preds = %355
  %360 = load ptr, ptr %33, align 8, !tbaa !5
  %361 = load i64, ptr %32, align 8, !tbaa !19
  %362 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi7getlineEPcl(ptr noundef nonnull align 8 dereferenceable(16) %34, ptr noundef %360, i64 noundef %361)
          to label %363 unwind label %351

363:                                              ; preds = %359
  br label %364

364:                                              ; preds = %693, %363
  %365 = load ptr, ptr %34, align 8, !tbaa !47
  %366 = getelementptr i8, ptr %365, i64 -24
  %367 = load i64, ptr %366, align 8
  %368 = getelementptr inbounds i8, ptr %34, i64 %367
  %369 = invoke noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv(ptr noundef nonnull align 8 dereferenceable(264) %368)
          to label %370 unwind label %351

370:                                              ; preds = %364
  %371 = xor i1 %369, true
  br i1 %371, label %372, label %694

372:                                              ; preds = %370
  %373 = load ptr, ptr %33, align 8, !tbaa !5
  %374 = getelementptr inbounds i8, ptr %373, i64 0
  %375 = load i8, ptr %374, align 1, !tbaa !41
  %376 = sext i8 %375 to i32
  %377 = icmp ne i32 %376, 35
  br i1 %377, label %378, label %689

378:                                              ; preds = %372
  call void @llvm.lifetime.start.p0(i64 4, ptr %35) #10
  store i32 0, ptr %35, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 40, ptr %36) #10
  call void @_ZN14breakpoint_strC2Ev(ptr noundef nonnull align 8 dereferenceable(36) %36) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %37) #10
  store double 1.000000e+03, ptr %37, align 8, !tbaa !49
  call void @llvm.lifetime.start.p0(i64 4, ptr %38) #10
  store i32 0, ptr %38, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %39) #10
  store i32 0, ptr %39, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %40) #10
  store i32 0, ptr %40, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %41) #10
  store i8 1, ptr %41, align 1, !tbaa !50
  call void @llvm.lifetime.start.p0(i64 8, ptr %42) #10
  store i64 0, ptr %42, align 8, !tbaa !19
  br label %379

379:                                              ; preds = %494, %378
  %380 = load i64, ptr %42, align 8, !tbaa !19
  %381 = load i64, ptr %32, align 8, !tbaa !19
  %382 = icmp ult i64 %380, %381
  br i1 %382, label %383, label %397

383:                                              ; preds = %379
  %384 = load ptr, ptr %33, align 8, !tbaa !5
  %385 = load i64, ptr %42, align 8, !tbaa !19
  %386 = getelementptr inbounds i8, ptr %384, i64 %385
  %387 = load i8, ptr %386, align 1, !tbaa !41
  %388 = sext i8 %387 to i32
  %389 = icmp ne i32 %388, 0
  br i1 %389, label %390, label %397

390:                                              ; preds = %383
  %391 = load ptr, ptr %33, align 8, !tbaa !5
  %392 = load i64, ptr %42, align 8, !tbaa !19
  %393 = getelementptr inbounds i8, ptr %391, i64 %392
  %394 = load i8, ptr %393, align 1, !tbaa !41
  %395 = sext i8 %394 to i32
  %396 = icmp ne i32 %395, 10
  br label %397

397:                                              ; preds = %390, %383, %379
  %398 = phi i1 [ false, %383 ], [ false, %379 ], [ %396, %390 ]
  br i1 %398, label %400, label %399

399:                                              ; preds = %397
  store i32 16, ptr %19, align 4
  br label %497

400:                                              ; preds = %397
  %401 = load i32, ptr %35, align 4, !tbaa !9
  %402 = icmp eq i32 %401, 11
  br i1 %402, label %403, label %434

403:                                              ; preds = %400
  %404 = load ptr, ptr %33, align 8, !tbaa !5
  %405 = load i64, ptr %42, align 8, !tbaa !19
  %406 = getelementptr inbounds i8, ptr %404, i64 %405
  %407 = load i8, ptr %406, align 1, !tbaa !41
  %408 = sext i8 %407 to i32
  %409 = icmp ne i32 %408, 9
  br i1 %409, label %410, label %434

410:                                              ; preds = %403
  %411 = load ptr, ptr %33, align 8, !tbaa !5
  %412 = load i64, ptr %42, align 8, !tbaa !19
  %413 = getelementptr inbounds i8, ptr %411, i64 %412
  %414 = load i8, ptr %413, align 1, !tbaa !41
  %415 = sext i8 %414 to i32
  %416 = icmp eq i32 %415, 59
  br i1 %416, label %417, label %418

417:                                              ; preds = %410
  store i8 0, ptr %41, align 1, !tbaa !50
  br label %418

418:                                              ; preds = %417, %410
  %419 = load i8, ptr %41, align 1, !tbaa !50, !range !51, !noundef !52
  %420 = trunc i8 %419 to i1
  br i1 %420, label %421, label %433

421:                                              ; preds = %418
  %422 = load ptr, ptr %33, align 8, !tbaa !5
  %423 = load i64, ptr %42, align 8, !tbaa !19
  %424 = getelementptr inbounds i8, ptr %422, i64 %423
  %425 = load i8, ptr %424, align 1, !tbaa !41
  %426 = getelementptr inbounds %struct.breakpoint_str, ptr %36, i32 0, i32 0
  %427 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEc(ptr noundef nonnull align 8 dereferenceable(32) %426, i8 noundef signext %425)
          to label %428 unwind label %429

428:                                              ; preds = %421
  br label %433

429:                                              ; preds = %421
  %430 = landingpad { ptr, i32 }
          cleanup
  %431 = extractvalue { ptr, i32 } %430, 0
  store ptr %431, ptr %15, align 8
  %432 = extractvalue { ptr, i32 } %430, 1
  store i32 %432, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %42) #10
  br label %688

433:                                              ; preds = %428, %418
  br label %434

434:                                              ; preds = %433, %403, %400
  %435 = load i32, ptr %35, align 4, !tbaa !9
  %436 = icmp eq i32 %435, 12
  br i1 %436, label %437, label %451

437:                                              ; preds = %434
  %438 = load ptr, ptr %33, align 8, !tbaa !5
  %439 = load i64, ptr %42, align 8, !tbaa !19
  %440 = sub i64 %439, 1
  %441 = getelementptr inbounds i8, ptr %438, i64 %440
  %442 = load i8, ptr %441, align 1, !tbaa !41
  %443 = sext i8 %442 to i32
  %444 = icmp eq i32 %443, 9
  br i1 %444, label %445, label %451

445:                                              ; preds = %437
  %446 = load ptr, ptr %33, align 8, !tbaa !5
  %447 = load i64, ptr %42, align 8, !tbaa !19
  %448 = getelementptr inbounds i8, ptr %446, i64 %447
  %449 = call i32 @atoi(ptr noundef %448) #13
  store i32 %449, ptr %38, align 4, !tbaa !9
  %450 = load i32, ptr %38, align 4, !tbaa !9
  store i32 %450, ptr %39, align 4, !tbaa !9
  br label %451

451:                                              ; preds = %445, %437, %434
  %452 = load i32, ptr %35, align 4, !tbaa !9
  %453 = icmp eq i32 %452, 30
  br i1 %453, label %454, label %467

454:                                              ; preds = %451
  %455 = load ptr, ptr %33, align 8, !tbaa !5
  %456 = load i64, ptr %42, align 8, !tbaa !19
  %457 = sub i64 %456, 1
  %458 = getelementptr inbounds i8, ptr %455, i64 %457
  %459 = load i8, ptr %458, align 1, !tbaa !41
  %460 = sext i8 %459 to i32
  %461 = icmp eq i32 %460, 9
  br i1 %461, label %462, label %467

462:                                              ; preds = %454
  %463 = load ptr, ptr %33, align 8, !tbaa !5
  %464 = load i64, ptr %42, align 8, !tbaa !19
  %465 = getelementptr inbounds i8, ptr %463, i64 %464
  %466 = call double @atof(ptr noundef %465) #13
  store double %466, ptr %37, align 8, !tbaa !49
  br label %467

467:                                              ; preds = %462, %454, %451
  %468 = load i32, ptr %35, align 4, !tbaa !9
  %469 = icmp eq i32 %468, 37
  br i1 %469, label %470, label %483

470:                                              ; preds = %467
  %471 = load ptr, ptr %33, align 8, !tbaa !5
  %472 = load i64, ptr %42, align 8, !tbaa !19
  %473 = sub i64 %472, 1
  %474 = getelementptr inbounds i8, ptr %471, i64 %473
  %475 = load i8, ptr %474, align 1, !tbaa !41
  %476 = sext i8 %475 to i32
  %477 = icmp eq i32 %476, 9
  br i1 %477, label %478, label %483

478:                                              ; preds = %470
  %479 = load ptr, ptr %33, align 8, !tbaa !5
  %480 = load i64, ptr %42, align 8, !tbaa !19
  %481 = getelementptr inbounds i8, ptr %479, i64 %480
  %482 = call i32 @atoi(ptr noundef %481) #13
  store i32 %482, ptr %40, align 4, !tbaa !9
  store i32 16, ptr %19, align 4
  br label %497

483:                                              ; preds = %470, %467
  %484 = load ptr, ptr %33, align 8, !tbaa !5
  %485 = load i64, ptr %42, align 8, !tbaa !19
  %486 = getelementptr inbounds i8, ptr %484, i64 %485
  %487 = load i8, ptr %486, align 1, !tbaa !41
  %488 = sext i8 %487 to i32
  %489 = icmp eq i32 %488, 9
  br i1 %489, label %490, label %493

490:                                              ; preds = %483
  %491 = load i32, ptr %35, align 4, !tbaa !9
  %492 = add nsw i32 %491, 1
  store i32 %492, ptr %35, align 4, !tbaa !9
  store i8 1, ptr %41, align 1, !tbaa !50
  br label %493

493:                                              ; preds = %490, %483
  br label %494

494:                                              ; preds = %493
  %495 = load i64, ptr %42, align 8, !tbaa !19
  %496 = add i64 %495, 1
  store i64 %496, ptr %42, align 8, !tbaa !19
  br label %379, !llvm.loop !53

497:                                              ; preds = %478, %399
  call void @llvm.lifetime.end.p0(i64 8, ptr %42) #10
  br label %498

498:                                              ; preds = %497
  %499 = load i32, ptr %38, align 4, !tbaa !9
  %500 = icmp eq i32 %499, 119380704
  br i1 %500, label %501, label %518

501:                                              ; preds = %498
  %502 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.5)
          to label %503 unwind label %514

503:                                              ; preds = %501
  %504 = load i32, ptr %40, align 4, !tbaa !9
  %505 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %502, i32 noundef %504)
          to label %506 unwind label %514

506:                                              ; preds = %503
  %507 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %505, ptr noundef @.str.6)
          to label %508 unwind label %514

508:                                              ; preds = %506
  %509 = load double, ptr %37, align 8, !tbaa !49
  %510 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %507, double noundef %509)
          to label %511 unwind label %514

511:                                              ; preds = %508
  %512 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %510, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %513 unwind label %514

513:                                              ; preds = %511
  br label %518

514:                                              ; preds = %511, %508, %506, %503, %501
  %515 = landingpad { ptr, i32 }
          cleanup
  %516 = extractvalue { ptr, i32 } %515, 0
  store ptr %516, ptr %15, align 8
  %517 = extractvalue { ptr, i32 } %515, 1
  store i32 %517, ptr %16, align 4
  br label %688

518:                                              ; preds = %513, %498
  %519 = load i32, ptr %40, align 4, !tbaa !9
  %520 = icmp sge i32 %519, 1000
  br i1 %520, label %521, label %687

521:                                              ; preds = %518
  %522 = load double, ptr %37, align 8, !tbaa !49
  %523 = fcmp ogt double %522, 0.000000e+00
  br i1 %523, label %524, label %687

524:                                              ; preds = %521
  call void @llvm.lifetime.start.p0(i64 32, ptr %43) #10
  call void @llvm.lifetime.start.p0(i64 1, ptr %44) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %44) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %43, ptr noundef @.str.7, ptr noundef nonnull align 1 dereferenceable(1) %44)
          to label %525 unwind label %534

525:                                              ; preds = %524
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %44) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %44) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %45) #10
  %526 = load i32, ptr %38, align 4, !tbaa !9
  %527 = sext i32 %526 to i64
  store i64 %527, ptr %45, align 8, !tbaa !19
  br label %528

528:                                              ; preds = %670, %525
  %529 = load i64, ptr %45, align 8, !tbaa !19
  %530 = load i32, ptr %39, align 4, !tbaa !9
  %531 = sext i32 %530 to i64
  %532 = icmp ule i64 %529, %531
  br i1 %532, label %538, label %533

533:                                              ; preds = %528
  store i32 19, ptr %19, align 4
  br label %673

534:                                              ; preds = %524
  %535 = landingpad { ptr, i32 }
          cleanup
  %536 = extractvalue { ptr, i32 } %535, 0
  store ptr %536, ptr %15, align 8
  %537 = extractvalue { ptr, i32 } %535, 1
  store i32 %537, ptr %16, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %44) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %44) #10
  br label %686

538:                                              ; preds = %528
  call void @llvm.lifetime.start.p0(i64 8, ptr %46) #10
  %539 = getelementptr inbounds %struct.breakpoint_str, ptr %36, i32 0, i32 0
  %540 = invoke ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEE4findERS9_(ptr noundef nonnull align 8 dereferenceable(48) %13, ptr noundef nonnull align 8 dereferenceable(32) %539)
          to label %541 unwind label %568

541:                                              ; preds = %538
  %542 = getelementptr inbounds %"struct.std::_Rb_tree_iterator", ptr %46, i32 0, i32 0
  store ptr %540, ptr %542, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %47) #10
  %543 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %13) #10
  %544 = getelementptr inbounds %"struct.std::_Rb_tree_iterator", ptr %47, i32 0, i32 0
  store ptr %543, ptr %544, align 8
  %545 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EESB_(ptr noundef nonnull align 8 dereferenceable(8) %46, ptr noundef nonnull align 8 dereferenceable(8) %47) #10
  br i1 %545, label %546, label %553

546:                                              ; preds = %541
  %547 = getelementptr inbounds %struct.breakpoint_str, ptr %36, i32 0, i32 0
  %548 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEEixERS9_(ptr noundef nonnull align 8 dereferenceable(48) %13, ptr noundef nonnull align 8 dereferenceable(32) %547)
          to label %549 unwind label %572

549:                                              ; preds = %546
  %550 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %548) #10
  %551 = load i64, ptr %45, align 8, !tbaa !19
  %552 = icmp ugt i64 %550, %551
  br label %553

553:                                              ; preds = %549, %541
  %554 = phi i1 [ false, %541 ], [ %552, %549 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #10
  br i1 %554, label %555, label %669

555:                                              ; preds = %553
  %556 = getelementptr inbounds %struct.breakpoint_str, ptr %36, i32 0, i32 0
  %557 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEEixERS9_(ptr noundef nonnull align 8 dereferenceable(48) %13, ptr noundef nonnull align 8 dereferenceable(32) %556)
          to label %558 unwind label %577

558:                                              ; preds = %555
  %559 = load i64, ptr %45, align 8, !tbaa !19
  %560 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %557, i64 noundef %559)
          to label %561 unwind label %577

561:                                              ; preds = %558
  %562 = load i8, ptr %560, align 1, !tbaa !41
  %563 = sext i8 %562 to i32
  %564 = icmp eq i32 %563, 84
  br i1 %564, label %565, label %581

565:                                              ; preds = %561
  %566 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %43, ptr noundef @.str.8)
          to label %567 unwind label %577

567:                                              ; preds = %565
  store i32 19, ptr %19, align 4
  br label %673

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

572:                                              ; preds = %546
  %573 = landingpad { ptr, i32 }
          cleanup
  %574 = extractvalue { ptr, i32 } %573, 0
  store ptr %574, ptr %15, align 8
  %575 = extractvalue { ptr, i32 } %573, 1
  store i32 %575, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #10
  br label %576

576:                                              ; preds = %572, %568
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #10
  br label %674

577:                                              ; preds = %659, %656, %649, %646, %643, %636, %633, %630, %623, %620, %617, %610, %607, %604, %597, %594, %591, %584, %581, %565, %558, %555
  %578 = landingpad { ptr, i32 }
          cleanup
  %579 = extractvalue { ptr, i32 } %578, 0
  store ptr %579, ptr %15, align 8
  %580 = extractvalue { ptr, i32 } %578, 1
  store i32 %580, ptr %16, align 4
  br label %674

581:                                              ; preds = %561
  %582 = getelementptr inbounds %struct.breakpoint_str, ptr %36, i32 0, i32 0
  %583 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEEixERS9_(ptr noundef nonnull align 8 dereferenceable(48) %13, ptr noundef nonnull align 8 dereferenceable(32) %582)
          to label %584 unwind label %577

584:                                              ; preds = %581
  %585 = load i64, ptr %45, align 8, !tbaa !19
  %586 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %583, i64 noundef %585)
          to label %587 unwind label %577

587:                                              ; preds = %584
  %588 = load i8, ptr %586, align 1, !tbaa !41
  %589 = sext i8 %588 to i32
  %590 = icmp eq i32 %589, 73
  br i1 %590, label %591, label %594

591:                                              ; preds = %587
  %592 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %43, ptr noundef @.str.9)
          to label %593 unwind label %577

593:                                              ; preds = %591
  store i32 19, ptr %19, align 4
  br label %673

594:                                              ; preds = %587
  %595 = getelementptr inbounds %struct.breakpoint_str, ptr %36, i32 0, i32 0
  %596 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEEixERS9_(ptr noundef nonnull align 8 dereferenceable(48) %13, ptr noundef nonnull align 8 dereferenceable(32) %595)
          to label %597 unwind label %577

597:                                              ; preds = %594
  %598 = load i64, ptr %45, align 8, !tbaa !19
  %599 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %596, i64 noundef %598)
          to label %600 unwind label %577

600:                                              ; preds = %597
  %601 = load i8, ptr %599, align 1, !tbaa !41
  %602 = sext i8 %601 to i32
  %603 = icmp eq i32 %602, 85
  br i1 %603, label %604, label %607

604:                                              ; preds = %600
  %605 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %43, ptr noundef @.str.10)
          to label %606 unwind label %577

606:                                              ; preds = %604
  store i32 19, ptr %19, align 4
  br label %673

607:                                              ; preds = %600
  %608 = getelementptr inbounds %struct.breakpoint_str, ptr %36, i32 0, i32 0
  %609 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEEixERS9_(ptr noundef nonnull align 8 dereferenceable(48) %13, ptr noundef nonnull align 8 dereferenceable(32) %608)
          to label %610 unwind label %577

610:                                              ; preds = %607
  %611 = load i64, ptr %45, align 8, !tbaa !19
  %612 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %609, i64 noundef %611)
          to label %613 unwind label %577

613:                                              ; preds = %610
  %614 = load i8, ptr %612, align 1, !tbaa !41
  %615 = sext i8 %614 to i32
  %616 = icmp eq i32 %615, 68
  br i1 %616, label %617, label %620

617:                                              ; preds = %613
  %618 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %43, ptr noundef @.str.11)
          to label %619 unwind label %577

619:                                              ; preds = %617
  store i32 19, ptr %19, align 4
  br label %673

620:                                              ; preds = %613
  %621 = getelementptr inbounds %struct.breakpoint_str, ptr %36, i32 0, i32 0
  %622 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEEixERS9_(ptr noundef nonnull align 8 dereferenceable(48) %13, ptr noundef nonnull align 8 dereferenceable(32) %621)
          to label %623 unwind label %577

623:                                              ; preds = %620
  %624 = load i64, ptr %45, align 8, !tbaa !19
  %625 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %622, i64 noundef %624)
          to label %626 unwind label %577

626:                                              ; preds = %623
  %627 = load i8, ptr %625, align 1, !tbaa !41
  %628 = sext i8 %627 to i32
  %629 = icmp eq i32 %628, 80
  br i1 %629, label %630, label %633

630:                                              ; preds = %626
  %631 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %43, ptr noundef @.str.12)
          to label %632 unwind label %577

632:                                              ; preds = %630
  store i32 19, ptr %19, align 4
  br label %673

633:                                              ; preds = %626
  %634 = getelementptr inbounds %struct.breakpoint_str, ptr %36, i32 0, i32 0
  %635 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEEixERS9_(ptr noundef nonnull align 8 dereferenceable(48) %13, ptr noundef nonnull align 8 dereferenceable(32) %634)
          to label %636 unwind label %577

636:                                              ; preds = %633
  %637 = load i64, ptr %45, align 8, !tbaa !19
  %638 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %635, i64 noundef %637)
          to label %639 unwind label %577

639:                                              ; preds = %636
  %640 = load i8, ptr %638, align 1, !tbaa !41
  %641 = sext i8 %640 to i32
  %642 = icmp eq i32 %641, 67
  br i1 %642, label %643, label %646

643:                                              ; preds = %639
  %644 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %43, ptr noundef @.str.13)
          to label %645 unwind label %577

645:                                              ; preds = %643
  store i32 19, ptr %19, align 4
  br label %673

646:                                              ; preds = %639
  %647 = getelementptr inbounds %struct.breakpoint_str, ptr %36, i32 0, i32 0
  %648 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEEixERS9_(ptr noundef nonnull align 8 dereferenceable(48) %13, ptr noundef nonnull align 8 dereferenceable(32) %647)
          to label %649 unwind label %577

649:                                              ; preds = %646
  %650 = load i64, ptr %45, align 8, !tbaa !19
  %651 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %648, i64 noundef %650)
          to label %652 unwind label %577

652:                                              ; preds = %649
  %653 = load i8, ptr %651, align 1, !tbaa !41
  %654 = sext i8 %653 to i32
  %655 = icmp eq i32 %654, 86
  br i1 %655, label %656, label %659

656:                                              ; preds = %652
  %657 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %43, ptr noundef @.str.14)
          to label %658 unwind label %577

658:                                              ; preds = %656
  store i32 19, ptr %19, align 4
  br label %673

659:                                              ; preds = %652
  %660 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %43, ptr noundef @.str.7)
          to label %661 unwind label %577

661:                                              ; preds = %659
  br label %662

662:                                              ; preds = %661
  br label %663

663:                                              ; preds = %662
  br label %664

664:                                              ; preds = %663
  br label %665

665:                                              ; preds = %664
  br label %666

666:                                              ; preds = %665
  br label %667

667:                                              ; preds = %666
  br label %668

668:                                              ; preds = %667
  br label %669

669:                                              ; preds = %668, %553
  br label %670

670:                                              ; preds = %669
  %671 = load i64, ptr %45, align 8, !tbaa !19
  %672 = add i64 %671, 1
  store i64 %672, ptr %45, align 8, !tbaa !19
  br label %528, !llvm.loop !54

673:                                              ; preds = %658, %645, %632, %619, %606, %593, %567, %533
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #10
  br label %675

674:                                              ; preds = %577, %576
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #10
  br label %686

675:                                              ; preds = %673
  %676 = load ptr, ptr %31, align 8, !tbaa !5
  %677 = load double, ptr %37, align 8, !tbaa !49
  %678 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %676, ptr noundef @.str.15, double noundef %677) #10
  %679 = load ptr, ptr %31, align 8, !tbaa !5
  %680 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %679, ptr noundef @.str.16, i32 noundef 9) #10
  %681 = load ptr, ptr %31, align 8, !tbaa !5
  %682 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %43) #10
  %683 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %681, ptr noundef @.str.17, ptr noundef %682) #10
  %684 = load ptr, ptr %31, align 8, !tbaa !5
  %685 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %684, ptr noundef @.str.16, i32 noundef 10) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %43) #10
  br label %687

686:                                              ; preds = %674, %534
  call void @llvm.lifetime.end.p0(i64 32, ptr %43) #10
  br label %688

687:                                              ; preds = %675, %521, %518
  call void @llvm.lifetime.end.p0(i64 1, ptr %41) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #10
  call void @_ZN14breakpoint_strD2Ev(ptr noundef nonnull align 8 dereferenceable(36) %36) #10
  call void @llvm.lifetime.end.p0(i64 40, ptr %36) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #10
  br label %689

688:                                              ; preds = %686, %514, %429
  call void @llvm.lifetime.end.p0(i64 1, ptr %41) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #10
  call void @_ZN14breakpoint_strD2Ev(ptr noundef nonnull align 8 dereferenceable(36) %36) #10
  call void @llvm.lifetime.end.p0(i64 40, ptr %36) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #10
  br label %699

689:                                              ; preds = %687, %372
  %690 = load ptr, ptr %33, align 8, !tbaa !5
  %691 = load i64, ptr %32, align 8, !tbaa !19
  %692 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi7getlineEPcl(ptr noundef nonnull align 8 dereferenceable(16) %34, ptr noundef %690, i64 noundef %691)
          to label %693 unwind label %351

693:                                              ; preds = %689
  br label %364, !llvm.loop !55

694:                                              ; preds = %370
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv(ptr noundef nonnull align 8 dereferenceable(256) %34)
          to label %695 unwind label %351

695:                                              ; preds = %694
  %696 = load ptr, ptr %31, align 8, !tbaa !5
  %697 = invoke i32 @fclose(ptr noundef %696)
          to label %698 unwind label %351

698:                                              ; preds = %695
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %34) #10
  call void @llvm.lifetime.end.p0(i64 520, ptr %34) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #10
  call void @_ZNSt6vectorI11strvcfentrySaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %17) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr %17) #10
  call void @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %13) #10
  call void @llvm.lifetime.end.p0(i64 48, ptr %13) #10
  ret void

699:                                              ; preds = %688, %351
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %34) #10
  br label %700

700:                                              ; preds = %699, %347
  call void @llvm.lifetime.end.p0(i64 520, ptr %34) #10
  br label %701

701:                                              ; preds = %700, %343
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #10
  br label %702

702:                                              ; preds = %701, %339
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #10
  br label %703

703:                                              ; preds = %702, %310, %77
  call void @_ZNSt6vectorI11strvcfentrySaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %17) #10
  br label %704

704:                                              ; preds = %703, %73
  call void @llvm.lifetime.end.p0(i64 24, ptr %17) #10
  call void @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %13) #10
  br label %705

705:                                              ; preds = %704, %69
  call void @llvm.lifetime.end.p0(i64 48, ptr %13) #10
  br label %706

706:                                              ; preds = %705
  %707 = load ptr, ptr %15, align 8
  %708 = load i32, ptr %16, align 4
  %709 = insertvalue { ptr, i32 } poison, ptr %707, 0
  %710 = insertvalue { ptr, i32 } %709, i32 %708, 1
  resume { ptr, i32 } %710
}

; Function Attrs: mustprogress uwtable
declare dso_local noundef ptr @_ZN9Parameter8InstanceEv() #1 align 2

; 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 #1 align 2

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

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

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

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32)) #4 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) #4 align 2

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

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

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #4 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 #1 align 2

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48)) #4 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) #1 align 2

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

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

; Function Attrs: mustprogress uwtable
declare void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv(ptr noundef nonnull align 8 dereferenceable(256)) #1 align 2

declare i32 @fclose(ptr noundef) #7

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

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

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


; 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::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::__cxx11::basic_string<char>>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"struct.std::_Rb_tree_header" = type { %"struct.std::_Rb_tree_node_base", i64 }
%"struct.std::_Rb_tree_node_base" = type { i32, 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::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<strvcfentry, std::allocator<strvcfentry>>::_Vector_impl" }
%"struct.std::_Vector_base<strvcfentry, std::allocator<strvcfentry>>::_Vector_impl" = type { %"struct.std::_Vector_base<strvcfentry, std::allocator<strvcfentry>>::_Vector_impl_data" }
%"struct.std::_Vector_base<strvcfentry, std::allocator<strvcfentry>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::basic_ifstream" = type { %"class.std::basic_istream.base", %"class.std::basic_filebuf", %"class.std::basic_ios" }
%"class.std::basic_istream.base" = type { ptr, i64 }
%"class.std::basic_filebuf" = type { %"class.std::basic_streambuf", %union.pthread_mutex_t, %"class.std::__basic_file", i32, %struct.__mbstate_t, %struct.__mbstate_t, %struct.__mbstate_t, ptr, i64, i8, i8, i8, i8, ptr, ptr, i8, ptr, ptr, i64, ptr, ptr }
%"class.std::basic_streambuf" = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, %"class.std::locale" }
%union.pthread_mutex_t = type { %struct.__pthread_mutex_s }
%struct.__pthread_mutex_s = type { i32, i32, i32, i32, i32, i16, i16, %struct.__pthread_internal_list }
%struct.__pthread_internal_list = type { ptr, ptr }
%"class.std::__basic_file" = type <{ ptr, i8, [7 x i8] }>
%struct.__mbstate_t = type { i32, %union.anon.3 }
%union.anon.3 = type { i32 }
%struct.breakpoint_str = type <{ %"class.std::__cxx11::basic_string", i32, [4 x i8] }>
%"class.std::allocator" = type { i8 }
%"struct.std::_Rb_tree_iterator" = type { ptr }

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

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

; Function Attrs: mustprogress 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 #1 align 2

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_Z9parse_vcfNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind noalias writable sret(%"class.std::map") align 8, ptr noundef) local_unnamed_addr #1

; Function Attrs: nobuiltin allocsize(0)
declare noundef nonnull ptr @_Znam(i64 noundef) local_unnamed_addr #3

declare i32 @__gxx_personality_v0(...)

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

; Function Attrs: mustprogress uwtable
declare void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(256), ptr noundef, i32 noundef) local_unnamed_addr #1 align 2

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

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

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

; 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 #1 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)) #5

; Function Attrs: noreturn nounwind
declare void @exit(i32 noundef) local_unnamed_addr #6

; Function Attrs: mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi7getlineEPcl(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef, i64 noundef) local_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 #1 align 2

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

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

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

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

; Function Attrs: mustprogress uwtable
define dso_local void @_Z12overlap_snpsNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_iiiS4_(ptr noundef %0, ptr noundef %1, i32 noundef %2, i32 noundef %3, i32 noundef %4, ptr noundef %5) local_unnamed_addr #1 personality ptr @__gxx_personality_v0 {
  %7 = alloca %"class.std::map", align 8
  %8 = alloca %"class.std::__cxx11::basic_string", align 8
  %9 = alloca %"class.std::vector", align 8
  %10 = alloca i32, align 4
  %11 = alloca i32, align 4
  %12 = alloca i32, align 4
  %13 = alloca i32, align 4
  %14 = alloca %"class.std::basic_ifstream", align 8
  %15 = alloca %struct.breakpoint_str, align 8
  %16 = alloca %"class.std::__cxx11::basic_string", align 8
  %17 = alloca %"class.std::allocator", align 1
  %18 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %19 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %20 = sitofp i32 %4 to double
  %21 = fdiv double %20, 1.000000e+02
  %22 = fptrunc double %21 to float
  %23 = tail call noundef ptr @_ZN9Parameter8InstanceEv()
  %24 = getelementptr inbounds i8, ptr %23, i64 52
  store float %22, ptr %24, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %7) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %8, ptr noundef nonnull align 8 dereferenceable(32) %0)
  invoke void @_Z9parse_vcfNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr dead_on_unwind nonnull writable sret(%"class.std::map") align 8 %7, ptr noundef nonnull %8)
          to label %25 unwind label %35

25:                                               ; preds = %6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #10
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %9) #10
  invoke void @_Z9parse_vcfRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi(ptr dead_on_unwind nonnull writable sret(%"class.std::vector") align 8 %9, ptr noundef nonnull align 8 dereferenceable(32) %0, i32 noundef %3)
          to label %26 unwind label %37

26:                                               ; preds = %25
  %27 = 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 %28 unwind label %39

28:                                               ; preds = %26
  %29 = call noundef i64 @_ZNKSt6vectorI11strvcfentrySaIS0_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %9) #10
  %30 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEm(ptr noundef nonnull align 8 dereferenceable(8) %27, i64 noundef %29)
          to label %31 unwind label %39

31:                                               ; preds = %28
  %32 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %30, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %.preheader206 unwind label %39

.preheader206:                                    ; preds = %31
  %33 = call noundef i64 @_ZNKSt6vectorI11strvcfentrySaIS0_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %9) #10
  %.not237 = icmp eq i64 %33, 0
  br i1 %.not237, label %._crit_edge, label %.lr.ph226

._crit_edge:                                      ; preds = %.critedge2, %.preheader206
  %34 = 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.3)
          to label %168 unwind label %39

35:                                               ; preds = %6
  %36 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #10
  br label %344

37:                                               ; preds = %25
  %38 = landingpad { ptr, i32 }
          cleanup
  br label %343

39:                                               ; preds = %168, %._crit_edge, %31, %28, %26
  %40 = landingpad { ptr, i32 }
          cleanup
  br label %342

.lr.ph226:                                        ; preds = %.preheader206, %.critedge2
  %.0147224 = phi i64 [ %165, %.critedge2 ], [ 0, %.preheader206 ]
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %10) #10
  store i32 0, ptr %10, align 4, !tbaa !17
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %11) #10
  %41 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %9, i64 noundef %.0147224) #10
  %42 = getelementptr inbounds i8, ptr %41, i64 32
  %43 = load i32, ptr %42, align 8, !tbaa !18
  %44 = sub nsw i32 %43, %2
  store i32 %44, ptr %11, align 4, !tbaa !17
  %45 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3maxIiERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %10, ptr noundef nonnull align 4 dereferenceable(4) %11)
  %46 = load i32, ptr %45, align 4, !tbaa !17
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %11) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %10) #10
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %12) #10
  %47 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %9, i64 noundef %.0147224) #10
  %48 = getelementptr inbounds i8, ptr %47, i64 40
  %49 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEEixERS9_(ptr noundef nonnull align 8 dereferenceable(48) %7, ptr noundef nonnull align 8 dereferenceable(32) %48)
          to label %50 unwind label %78

50:                                               ; preds = %.lr.ph226
  %51 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %49) #10
  %52 = trunc i64 %51 to i32
  store i32 %52, ptr %12, align 4, !tbaa !17
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %13) #10
  %53 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %9, i64 noundef %.0147224) #10
  %54 = getelementptr inbounds i8, ptr %53, i64 72
  %55 = load i32, ptr %54, align 8, !tbaa !37
  %56 = add nsw i32 %55, %2
  store i32 %56, ptr %13, align 4, !tbaa !17
  %57 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3minIiERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %12, ptr noundef nonnull align 4 dereferenceable(4) %13)
  %58 = load i32, ptr %57, align 4, !tbaa !17
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %13) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %12) #10
  %59 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %9, i64 noundef %.0147224) #10
  %60 = getelementptr inbounds i8, ptr %59, i64 112
  %61 = load i16, ptr %60, align 8, !tbaa !38
  %62 = icmp eq i16 %61, 0
  br i1 %62, label %73, label %63

63:                                               ; preds = %50
  %64 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %9, i64 noundef %.0147224) #10
  %65 = getelementptr inbounds i8, ptr %64, i64 112
  %66 = load i16, ptr %65, align 8, !tbaa !38
  %67 = icmp eq i16 %66, 1
  br i1 %67, label %73, label %68

68:                                               ; preds = %63
  %69 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %9, i64 noundef %.0147224) #10
  %70 = getelementptr inbounds i8, ptr %69, i64 112
  %71 = load i16, ptr %70, align 8, !tbaa !38
  %72 = icmp eq i16 %71, 6
  br i1 %72, label %73, label %95

73:                                               ; preds = %68, %63, %50
  %74 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %9, i64 noundef %.0147224) #10
  %75 = getelementptr inbounds i8, ptr %74, i64 112
  %76 = load i16, ptr %75, align 8, !tbaa !38
  %77 = icmp eq i16 %76, 1
  br i1 %77, label %85, label %80

78:                                               ; preds = %.lr.ph226
  %79 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %12) #10
  br label %342

80:                                               ; preds = %73
  %81 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %9, i64 noundef %.0147224) #10
  %82 = getelementptr inbounds i8, ptr %81, i64 112
  %83 = load i16, ptr %82, align 8, !tbaa !38
  %84 = icmp eq i16 %83, 6
  %spec.select = select i1 %84, i8 67, i8 68
  br label %85

85:                                               ; preds = %80, %73
  %.0152 = phi i8 [ 80, %73 ], [ %spec.select, %80 ]
  %86 = icmp slt i32 %46, %58
  br i1 %86, label %.lr.ph223.preheader, label %.critedge2

.lr.ph223.preheader:                              ; preds = %85
  %87 = sext i32 %46 to i64
  %wide.trip.count = sext i32 %58 to i64
  br label %.lr.ph223

.lr.ph223:                                        ; preds = %.lr.ph223.preheader, %91
  %indvars.iv251 = phi i64 [ %87, %.lr.ph223.preheader ], [ %indvars.iv.next252, %91 ]
  %88 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %9, i64 noundef %.0147224) #10
  %89 = getelementptr inbounds i8, ptr %88, i64 40
  %90 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEEixERS9_(ptr noundef nonnull align 8 dereferenceable(48) %7, ptr noundef nonnull align 8 dereferenceable(32) %89)
          to label %91 unwind label %93

91:                                               ; preds = %.lr.ph223
  %92 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %90, i64 noundef %indvars.iv251)
  store i8 %.0152, ptr %92, align 1, !tbaa !39
  %indvars.iv.next252 = add nsw i64 %indvars.iv251, 1
  %exitcond.not = icmp eq i64 %indvars.iv.next252, %wide.trip.count
  br i1 %exitcond.not, label %.critedge2, label %.lr.ph223, !llvm.loop !40

93:                                               ; preds = %.lr.ph223
  %94 = landingpad { ptr, i32 }
          cleanup
  br label %342

95:                                               ; preds = %68
  %96 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %9, i64 noundef %.0147224) #10
  %97 = getelementptr inbounds i8, ptr %96, i64 112
  %98 = load i16, ptr %97, align 8, !tbaa !38
  %99 = icmp eq i16 %98, 3
  br i1 %99, label %110, label %100

100:                                              ; preds = %95
  %101 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %9, i64 noundef %.0147224) #10
  %102 = getelementptr inbounds i8, ptr %101, i64 112
  %103 = load i16, ptr %102, align 8, !tbaa !38
  %104 = icmp eq i16 %103, 4
  br i1 %104, label %110, label %105

105:                                              ; preds = %100
  %106 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %9, i64 noundef %.0147224) #10
  %107 = getelementptr inbounds i8, ptr %106, i64 112
  %108 = load i16, ptr %107, align 8, !tbaa !38
  %109 = icmp eq i16 %108, 5
  %spec.select174 = select i1 %109, i8 85, i8 86
  br label %110

110:                                              ; preds = %105, %100, %95
  %.0150 = phi i8 [ 84, %95 ], [ 73, %100 ], [ %spec.select174, %105 ]
  %111 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %9, i64 noundef %.0147224) #10
  %112 = getelementptr inbounds i8, ptr %111, i64 32
  %113 = load i32, ptr %112, align 8, !tbaa !18
  %114 = add nsw i32 %113, %2
  %115 = icmp slt i32 %46, %114
  br i1 %115, label %.lr.ph.preheader, label %.critedge

.lr.ph.preheader:                                 ; preds = %110
  %116 = sext i32 %46 to i64
  br label %.lr.ph

.lr.ph:                                           ; preds = %.lr.ph.preheader, %136
  %indvars.iv = phi i64 [ %116, %.lr.ph.preheader ], [ %indvars.iv.next, %136 ]
  %117 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %9, i64 noundef %.0147224) #10
  %118 = getelementptr inbounds i8, ptr %117, i64 40
  %119 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEEixERS9_(ptr noundef nonnull align 8 dereferenceable(48) %7, ptr noundef nonnull align 8 dereferenceable(32) %118)
          to label %120 unwind label %130

120:                                              ; preds = %.lr.ph
  %121 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %119) #10
  %sext = shl i64 %121, 32
  %122 = ashr exact i64 %sext, 32
  %123 = icmp slt i64 %indvars.iv, %122
  br i1 %123, label %132, label %.critedge

.critedge:                                        ; preds = %120, %136, %110
  %124 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %9, i64 noundef %.0147224) #10
  %125 = getelementptr inbounds i8, ptr %124, i64 72
  %126 = load i32, ptr %125, align 8, !tbaa !37
  %127 = add nsw i32 %126, %2
  %128 = icmp slt i32 %58, %127
  br i1 %128, label %.lr.ph220.preheader, label %.critedge2

.lr.ph220.preheader:                              ; preds = %.critedge
  %129 = sext i32 %58 to i64
  br label %.lr.ph220

130:                                              ; preds = %132, %.lr.ph
  %131 = landingpad { ptr, i32 }
          cleanup
  br label %342

132:                                              ; preds = %120
  %133 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %9, i64 noundef %.0147224) #10
  %134 = getelementptr inbounds i8, ptr %133, i64 40
  %135 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEEixERS9_(ptr noundef nonnull align 8 dereferenceable(48) %7, ptr noundef nonnull align 8 dereferenceable(32) %134)
          to label %136 unwind label %130

136:                                              ; preds = %132
  %137 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %135, i64 noundef %indvars.iv)
  store i8 %.0150, ptr %137, align 1, !tbaa !39
  %indvars.iv.next = add nsw i64 %indvars.iv, 1
  %138 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %9, i64 noundef %.0147224) #10
  %139 = getelementptr inbounds i8, ptr %138, i64 32
  %140 = load i32, ptr %139, align 8, !tbaa !18
  %141 = add nsw i32 %140, %2
  %142 = sext i32 %141 to i64
  %143 = icmp slt i64 %indvars.iv.next, %142
  br i1 %143, label %.lr.ph, label %.critedge, !llvm.loop !42

.lr.ph220:                                        ; preds = %.lr.ph220.preheader, %157
  %indvars.iv248 = phi i64 [ %129, %.lr.ph220.preheader ], [ %indvars.iv.next249, %157 ]
  %144 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %9, i64 noundef %.0147224) #10
  %145 = getelementptr inbounds i8, ptr %144, i64 80
  %146 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEEixERS9_(ptr noundef nonnull align 8 dereferenceable(48) %7, ptr noundef nonnull align 8 dereferenceable(32) %145)
          to label %147 unwind label %151

147:                                              ; preds = %.lr.ph220
  %148 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %146) #10
  %sext255 = shl i64 %148, 32
  %149 = ashr exact i64 %sext255, 32
  %150 = icmp slt i64 %indvars.iv248, %149
  br i1 %150, label %153, label %.critedge2

151:                                              ; preds = %153, %.lr.ph220
  %152 = landingpad { ptr, i32 }
          cleanup
  br label %342

153:                                              ; preds = %147
  %154 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %9, i64 noundef %.0147224) #10
  %155 = getelementptr inbounds i8, ptr %154, i64 80
  %156 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEEixERS9_(ptr noundef nonnull align 8 dereferenceable(48) %7, ptr noundef nonnull align 8 dereferenceable(32) %155)
          to label %157 unwind label %151

157:                                              ; preds = %153
  %158 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %156, i64 noundef %indvars.iv248)
  store i8 %.0150, ptr %158, align 1, !tbaa !39
  %indvars.iv.next249 = add nsw i64 %indvars.iv248, 1
  %159 = call noundef nonnull align 8 dereferenceable(420) ptr @_ZNSt6vectorI11strvcfentrySaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %9, i64 noundef %.0147224) #10
  %160 = getelementptr inbounds i8, ptr %159, i64 72
  %161 = load i32, ptr %160, align 8, !tbaa !37
  %162 = add nsw i32 %161, %2
  %163 = sext i32 %162 to i64
  %164 = icmp slt i64 %indvars.iv.next249, %163
  br i1 %164, label %.lr.ph220, label %.critedge2, !llvm.loop !43

.critedge2:                                       ; preds = %157, %147, %91, %.critedge, %85
  %165 = add nuw i64 %.0147224, 1
  %166 = call noundef i64 @_ZNKSt6vectorI11strvcfentrySaIS0_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %9) #10
  %167 = icmp ult i64 %165, %166
  br i1 %167, label %.lr.ph226, label %._crit_edge, !llvm.loop !44

168:                                              ; preds = %._crit_edge
  %169 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %34, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %170 unwind label %39

170:                                              ; preds = %168
  %171 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %5) #10
  %172 = call noalias ptr @fopen(ptr noundef %171, ptr noundef nonnull @.str.4)
  %173 = invoke noalias noundef nonnull dereferenceable(2000000) ptr @_Znam(i64 noundef 2000000) #11
          to label %174 unwind label %191

174:                                              ; preds = %170
  call void @llvm.lifetime.start.p0(i64 520, ptr nonnull %14) #10
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(256) %14)
          to label %175 unwind label %193

175:                                              ; preds = %174
  %176 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %1) #10
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(256) %14, ptr noundef %176, i32 noundef 8)
          to label %177 unwind label %.loopexit.split-lp201

177:                                              ; preds = %175
  %178 = load ptr, ptr %14, align 8, !tbaa !45
  %179 = getelementptr i8, ptr %178, i64 -24
  %180 = load i64, ptr %179, align 8
  %181 = getelementptr inbounds i8, ptr %14, i64 %180
  %182 = call noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv(ptr noundef nonnull align 8 dereferenceable(264) %181)
  br i1 %182, label %195, label %183

183:                                              ; preds = %177
  %184 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str)
          to label %185 unwind label %.loopexit.split-lp201

185:                                              ; preds = %183
  %186 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %1) #10
  %187 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %184, ptr noundef %186)
          to label %188 unwind label %.loopexit.split-lp201

188:                                              ; preds = %185
  %189 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %187, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %190 unwind label %.loopexit.split-lp201

190:                                              ; preds = %188
  call void @exit(i32 noundef 0) #12
  unreachable

191:                                              ; preds = %170
  %192 = landingpad { ptr, i32 }
          cleanup
  br label %342

193:                                              ; preds = %174
  %194 = landingpad { ptr, i32 }
          cleanup
  br label %341

.loopexit200:                                     ; preds = %.preheader, %335
  %lpad.loopexit202 = landingpad { ptr, i32 }
          cleanup
  br label %340

.loopexit.split-lp201:                            ; preds = %175, %183, %185, %188, %195, %197, %337
  %lpad.loopexit.split-lp203 = landingpad { ptr, i32 }
          cleanup
  br label %340

195:                                              ; preds = %177
  %196 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi7getlineEPcl(ptr noundef nonnull align 8 dereferenceable(16) %14, ptr noundef nonnull %173, i64 noundef 2000000)
          to label %197 unwind label %.loopexit.split-lp201

197:                                              ; preds = %195
  %198 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi7getlineEPcl(ptr noundef nonnull align 8 dereferenceable(16) %14, ptr noundef nonnull %173, i64 noundef 2000000)
          to label %.preheader unwind label %.loopexit.split-lp201

.preheader:                                       ; preds = %197, %335
  %199 = load ptr, ptr %14, align 8, !tbaa !45
  %200 = getelementptr i8, ptr %199, i64 -24
  %201 = load i64, ptr %200, align 8
  %202 = getelementptr inbounds i8, ptr %14, i64 %201
  %203 = invoke noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv(ptr noundef nonnull align 8 dereferenceable(264) %202)
          to label %204 unwind label %.loopexit200

204:                                              ; preds = %.preheader
  br i1 %203, label %337, label %205

205:                                              ; preds = %204
  %206 = load i8, ptr %173, align 1, !tbaa !39
  %.not = icmp eq i8 %206, 35
  br i1 %.not, label %335, label %207

207:                                              ; preds = %205
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %15) #10
  call void @_ZN14breakpoint_strC2Ev(ptr noundef nonnull align 8 dereferenceable(36) %15) #10
  br label %208

208:                                              ; preds = %207, %.thread190
  %.0117232 = phi i64 [ 0, %207 ], [ %241, %.thread190 ]
  %.0118231 = phi i1 [ true, %207 ], [ %spec.select178, %.thread190 ]
  %.0120230 = phi i32 [ 0, %207 ], [ %.1121188195, %.thread190 ]
  %.0123229 = phi i32 [ 0, %207 ], [ %.1124187196, %.thread190 ]
  %.0126228 = phi double [ 1.000000e+03, %207 ], [ %.1127198, %.thread190 ]
  %.0129227 = phi i32 [ 0, %207 ], [ %spec.select177, %.thread190 ]
  %209 = getelementptr inbounds i8, ptr %173, i64 %.0117232
  %210 = load i8, ptr %209, align 1, !tbaa !39
  switch i8 %210, label %211 [
    i8 0, label %.critedge4
    i8 10, label %.critedge4
  ]

211:                                              ; preds = %208
  %212 = icmp ne i32 %.0129227, 11
  %.not156 = icmp eq i8 %210, 9
  %or.cond175 = or i1 %212, %.not156
  br i1 %or.cond175, label %219, label %213

213:                                              ; preds = %211
  %214 = icmp ne i8 %210, 59
  %spec.select176 = select i1 %214, i1 %.0118231, i1 false
  br i1 %spec.select176, label %215, label %.thread190

215:                                              ; preds = %213
  %216 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEc(ptr noundef nonnull align 8 dereferenceable(32) %15, i8 noundef signext %210)
          to label %..thread190_crit_edge unwind label %217

..thread190_crit_edge:                            ; preds = %215
  %.pre = load i8, ptr %209, align 1, !tbaa !39
  br label %.thread190

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

219:                                              ; preds = %211
  switch i32 %.0129227, label %.thread190 [
    i32 12, label %220
    i32 30, label %226
    i32 37, label %232
  ]

220:                                              ; preds = %219
  %221 = getelementptr i8, ptr %209, i64 -1
  %222 = load i8, ptr %221, align 1, !tbaa !39
  %223 = icmp eq i8 %222, 9
  br i1 %223, label %224, label %.thread190

224:                                              ; preds = %220
  %225 = call i32 @atoi(ptr nocapture noundef %209) #13
  br label %.thread190

226:                                              ; preds = %219
  %227 = getelementptr i8, ptr %209, i64 -1
  %228 = load i8, ptr %227, align 1, !tbaa !39
  %229 = icmp eq i8 %228, 9
  br i1 %229, label %230, label %.thread190

230:                                              ; preds = %226
  %231 = call double @atof(ptr noundef %209) #13
  br label %.thread190

232:                                              ; preds = %219
  %233 = getelementptr i8, ptr %209, i64 -1
  %234 = load i8, ptr %233, align 1, !tbaa !39
  %235 = icmp eq i8 %234, 9
  br i1 %235, label %236, label %.thread190

236:                                              ; preds = %232
  %237 = call i32 @atoi(ptr nocapture noundef %209) #13
  br label %.critedge4

.thread190:                                       ; preds = %..thread190_crit_edge, %219, %213, %220, %224, %226, %230, %232
  %238 = phi i8 [ %210, %232 ], [ %210, %226 ], [ %210, %230 ], [ %210, %224 ], [ %210, %220 ], [ %210, %213 ], [ %.pre, %..thread190_crit_edge ], [ %210, %219 ]
  %.1127198 = phi double [ %.0126228, %232 ], [ %.0126228, %226 ], [ %231, %230 ], [ %.0126228, %224 ], [ %.0126228, %220 ], [ %.0126228, %213 ], [ %.0126228, %..thread190_crit_edge ], [ %.0126228, %219 ]
  %.2180186197 = phi i1 [ %.0118231, %232 ], [ %.0118231, %226 ], [ %.0118231, %230 ], [ %.0118231, %224 ], [ %.0118231, %220 ], [ false, %213 ], [ true, %..thread190_crit_edge ], [ %.0118231, %219 ]
  %.1124187196 = phi i32 [ %.0123229, %232 ], [ %.0123229, %226 ], [ %.0123229, %230 ], [ %225, %224 ], [ %.0123229, %220 ], [ %.0123229, %213 ], [ %.0123229, %..thread190_crit_edge ], [ %.0123229, %219 ]
  %.1121188195 = phi i32 [ %.0120230, %232 ], [ %.0120230, %226 ], [ %.0120230, %230 ], [ %225, %224 ], [ %.0120230, %220 ], [ %.0120230, %213 ], [ %.0120230, %..thread190_crit_edge ], [ %.0120230, %219 ]
  %239 = icmp eq i8 %238, 9
  %240 = zext i1 %239 to i32
  %spec.select177 = add nuw nsw i32 %.0129227, %240
  %spec.select178 = select i1 %239, i1 true, i1 %.2180186197
  %241 = add nuw nsw i64 %.0117232, 1
  %exitcond254.not = icmp eq i64 %241, 2000000
  br i1 %exitcond254.not, label %.critedge4, label %208, !llvm.loop !47

.critedge4:                                       ; preds = %.thread190, %208, %208, %236
  %.0126215 = phi double [ %.0126228, %236 ], [ %.0126228, %208 ], [ %.0126228, %208 ], [ %.1127198, %.thread190 ]
  %.0123212 = phi i32 [ %.0123229, %236 ], [ %.0123229, %208 ], [ %.0123229, %208 ], [ %.1124187196, %.thread190 ]
  %.0120209 = phi i32 [ %.0120230, %236 ], [ %.0120230, %208 ], [ %.0120230, %208 ], [ %.1121188195, %.thread190 ]
  %.0119 = phi i32 [ %237, %236 ], [ 0, %208 ], [ 0, %208 ], [ 0, %.thread190 ]
  %242 = icmp eq i32 %.0123212, 119380704
  br i1 %242, label %243, label %255

243:                                              ; preds = %.critedge4
  %244 = 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.5)
          to label %245 unwind label %253

245:                                              ; preds = %243
  %246 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %244, i32 noundef %.0119)
          to label %247 unwind label %253

247:                                              ; preds = %245
  %248 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %246, ptr noundef nonnull @.str.6)
          to label %249 unwind label %253

249:                                              ; preds = %247
  %250 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEd(ptr noundef nonnull align 8 dereferenceable(8) %248, double noundef %.0126215)
          to label %251 unwind label %253

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

253:                                              ; preds = %251, %249, %247, %245, %243
  %254 = landingpad { ptr, i32 }
          cleanup
  br label %334

255:                                              ; preds = %251, %.critedge4
  %256 = icmp sgt i32 %.0119, 999
  %257 = fcmp ogt double %.0126215, 0.000000e+00
  %or.cond = select i1 %256, i1 %257, i1 false
  br i1 %or.cond, label %258, label %333

258:                                              ; preds = %255
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %16) #10
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %17) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %17) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef nonnull @.str.7, ptr noundef nonnull align 1 dereferenceable(1) %17)
          to label %259 unwind label %262

259:                                              ; preds = %258
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %17) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %17) #10
  %260 = sext i32 %.0120209 to i64
  %.not157233 = icmp ugt i32 %.0123212, %.0120209
  br i1 %.not157233, label %.loopexit, label %.lr.ph236.preheader

.lr.ph236.preheader:                              ; preds = %259
  %261 = sext i32 %.0123212 to i64
  br label %.lr.ph236

262:                                              ; preds = %258
  %263 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %17) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %17) #10
  br label %332

.lr.ph236:                                        ; preds = %.lr.ph236.preheader, %324
  %.0234 = phi i64 [ %325, %324 ], [ %261, %.lr.ph236.preheader ]
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %18) #10
  %264 = invoke ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEE4findERS9_(ptr noundef nonnull align 8 dereferenceable(48) %7, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %265 unwind label %281

265:                                              ; preds = %.lr.ph236
  store ptr %264, ptr %18, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %19) #10
  %266 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %7) #10
  store ptr %266, ptr %19, align 8
  %267 = call noundef zeroext i1 @_ZStneRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_EESB_(ptr noundef nonnull align 8 dereferenceable(8) %18, ptr noundef nonnull align 8 dereferenceable(8) %19) #10
  br i1 %267, label %268, label %.critedge7

268:                                              ; preds = %265
  %269 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEEixERS9_(ptr noundef nonnull align 8 dereferenceable(48) %7, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %270 unwind label %283

270:                                              ; preds = %268
  %271 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %269) #10
  %272 = icmp ugt i64 %271, %.0234
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %19) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #10
  br i1 %272, label %273, label %324

273:                                              ; preds = %270
  %274 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEEixERS9_(ptr noundef nonnull align 8 dereferenceable(48) %7, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %275 unwind label %.loopexit199

275:                                              ; preds = %273
  %276 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %274, i64 noundef %.0234)
  %277 = load i8, ptr %276, align 1, !tbaa !39
  %278 = icmp eq i8 %277, 84
  br i1 %278, label %.invoke, label %286

.invoke:                                          ; preds = %275, %318, %312, %306, %300, %294, %288
  %279 = phi ptr [ @.str.9, %288 ], [ @.str.10, %294 ], [ @.str.11, %300 ], [ @.str.12, %306 ], [ @.str.13, %312 ], [ @.str.14, %318 ], [ @.str.8, %275 ]
  %280 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef nonnull %279)
          to label %.loopexit unwind label %.loopexit.split-lp

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

283:                                              ; preds = %268
  %284 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %19) #10
  br label %285

285:                                              ; preds = %283, %281
  %.pn = phi { ptr, i32 } [ %284, %283 ], [ %282, %281 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #10
  br label %331

.loopexit199:                                     ; preds = %273, %286, %292, %298, %304, %310, %316, %322
  %lpad.loopexit = landingpad { ptr, i32 }
          cleanup
  br label %331

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

286:                                              ; preds = %275
  %287 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEEixERS9_(ptr noundef nonnull align 8 dereferenceable(48) %7, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %288 unwind label %.loopexit199

288:                                              ; preds = %286
  %289 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %287, i64 noundef %.0234)
  %290 = load i8, ptr %289, align 1, !tbaa !39
  %291 = icmp eq i8 %290, 73
  br i1 %291, label %.invoke, label %292

292:                                              ; preds = %288
  %293 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEEixERS9_(ptr noundef nonnull align 8 dereferenceable(48) %7, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %294 unwind label %.loopexit199

294:                                              ; preds = %292
  %295 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %293, i64 noundef %.0234)
  %296 = load i8, ptr %295, align 1, !tbaa !39
  %297 = icmp eq i8 %296, 85
  br i1 %297, label %.invoke, label %298

298:                                              ; preds = %294
  %299 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEEixERS9_(ptr noundef nonnull align 8 dereferenceable(48) %7, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %300 unwind label %.loopexit199

300:                                              ; preds = %298
  %301 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %299, i64 noundef %.0234)
  %302 = load i8, ptr %301, align 1, !tbaa !39
  %303 = icmp eq i8 %302, 68
  br i1 %303, label %.invoke, label %304

304:                                              ; preds = %300
  %305 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEEixERS9_(ptr noundef nonnull align 8 dereferenceable(48) %7, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %306 unwind label %.loopexit199

306:                                              ; preds = %304
  %307 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %305, i64 noundef %.0234)
  %308 = load i8, ptr %307, align 1, !tbaa !39
  %309 = icmp eq i8 %308, 80
  br i1 %309, label %.invoke, label %310

310:                                              ; preds = %306
  %311 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEEixERS9_(ptr noundef nonnull align 8 dereferenceable(48) %7, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %312 unwind label %.loopexit199

312:                                              ; preds = %310
  %313 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %311, i64 noundef %.0234)
  %314 = load i8, ptr %313, align 1, !tbaa !39
  %315 = icmp eq i8 %314, 67
  br i1 %315, label %.invoke, label %316

316:                                              ; preds = %312
  %317 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEEixERS9_(ptr noundef nonnull align 8 dereferenceable(48) %7, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %318 unwind label %.loopexit199

318:                                              ; preds = %316
  %319 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %317, i64 noundef %.0234)
  %320 = load i8, ptr %319, align 1, !tbaa !39
  %321 = icmp eq i8 %320, 86
  br i1 %321, label %.invoke, label %322

322:                                              ; preds = %318
  %323 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef nonnull @.str.7)
          to label %324 unwind label %.loopexit199

.critedge7:                                       ; preds = %265
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %19) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #10
  br label %324

324:                                              ; preds = %270, %.critedge7, %322
  %325 = add i64 %.0234, 1
  %.not157 = icmp ugt i64 %325, %260
  br i1 %.not157, label %.loopexit, label %.lr.ph236, !llvm.loop !48

.loopexit:                                        ; preds = %324, %.invoke, %259
  %326 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %172, ptr noundef nonnull @.str.15, double noundef %.0126215) #10
  %327 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %172, ptr noundef nonnull @.str.16, i32 noundef 9) #10
  %328 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %16) #10
  %329 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %172, ptr noundef nonnull @.str.17, ptr noundef %328) #10
  %330 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %172, ptr noundef nonnull @.str.16, i32 noundef 10) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #10
  br label %333

331:                                              ; preds = %.loopexit199, %.loopexit.split-lp, %285
  %.pn159 = phi { ptr, i32 } [ %.pn, %285 ], [ %lpad.loopexit, %.loopexit199 ], [ %lpad.loopexit.split-lp, %.loopexit.split-lp ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #10
  br label %332

332:                                              ; preds = %331, %262
  %.pn159.pn = phi { ptr, i32 } [ %.pn159, %331 ], [ %263, %262 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #10
  br label %334

333:                                              ; preds = %.loopexit, %255
  call void @_ZN14breakpoint_strD2Ev(ptr noundef nonnull align 8 dereferenceable(36) %15) #10
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %15) #10
  br label %335

334:                                              ; preds = %332, %253, %217
  %.pn159.pn.pn = phi { ptr, i32 } [ %.pn159.pn, %332 ], [ %254, %253 ], [ %218, %217 ]
  call void @_ZN14breakpoint_strD2Ev(ptr noundef nonnull align 8 dereferenceable(36) %15) #10
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %15) #10
  br label %340

335:                                              ; preds = %333, %205
  %336 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi7getlineEPcl(ptr noundef nonnull align 8 dereferenceable(16) %14, ptr noundef nonnull %173, i64 noundef 2000000)
          to label %.preheader unwind label %.loopexit200, !llvm.loop !49

337:                                              ; preds = %204
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv(ptr noundef nonnull align 8 dereferenceable(256) %14)
          to label %338 unwind label %.loopexit.split-lp201

338:                                              ; preds = %337
  %339 = call i32 @fclose(ptr noundef %172)
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %14) #10
  call void @llvm.lifetime.end.p0(i64 520, ptr nonnull %14) #10
  call void @_ZNSt6vectorI11strvcfentrySaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9) #10
  call void @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %7) #10
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %7) #10
  ret void

340:                                              ; preds = %.loopexit200, %.loopexit.split-lp201, %334
  %.pn163 = phi { ptr, i32 } [ %.pn159.pn.pn, %334 ], [ %lpad.loopexit202, %.loopexit200 ], [ %lpad.loopexit.split-lp203, %.loopexit.split-lp201 ]
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %14) #10
  br label %341

341:                                              ; preds = %340, %193
  %.pn163.pn = phi { ptr, i32 } [ %.pn163, %340 ], [ %194, %193 ]
  call void @llvm.lifetime.end.p0(i64 520, ptr nonnull %14) #10
  br label %342

342:                                              ; preds = %191, %341, %78, %93, %151, %130, %39
  %.pn169.pn = phi { ptr, i32 } [ %40, %39 ], [ %94, %93 ], [ %79, %78 ], [ %131, %130 ], [ %152, %151 ], [ %.pn163.pn, %341 ], [ %192, %191 ]
  call void @_ZNSt6vectorI11strvcfentrySaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #10
  br label %343

343:                                              ; preds = %342, %37
  %.pn169.pn.pn = phi { ptr, i32 } [ %.pn169.pn, %342 ], [ %38, %37 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9) #10
  call void @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %7) #10
  br label %344

344:                                              ; preds = %343, %35
  %.pn169.pn.pn.pn = phi { ptr, i32 } [ %.pn169.pn.pn, %343 ], [ %36, %35 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %7) #10
  resume { ptr, i32 } %.pn169.pn.pn.pn
}

; Function Attrs: mustprogress uwtable
declare dso_local noundef ptr @_ZN9Parameter8InstanceEv() local_unnamed_addr #1 align 2

; 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 #1 align 2

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

; 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 #1 align 2

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

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #4 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 #4 align 2

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

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

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #4 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 #1 align 2

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48)) local_unnamed_addr #4 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 #1 align 2

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

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

; Function Attrs: mustprogress uwtable
declare void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv(ptr noundef nonnull align 8 dereferenceable(256)) local_unnamed_addr #1 align 2

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

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

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

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


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