; LLVM IR from fritzsedlazeck/SURVIVOR :: src/vcfs/Merge_VCF.ll/Z9parse_vcfRNSt7 (cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi)

; 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 }
%struct.strcoordinate = type { i32, %"class.std::__cxx11::basic_string" }
%"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.16" = type { %"struct.std::_Vector_base.17" }
%"struct.std::_Vector_base.17" = 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 }
%"class.std::allocator.0" = type { 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.4", %"struct.std::pair", [2 x i8], %"struct.std::pair.9", [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.9", %"struct.std::pair.9", i32, [4 x i8] }>
%"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::vector.4" = type { %"struct.std::_Vector_base.5" }
%"struct.std::_Vector_base.5" = 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.9" = type { i32, i32 }

@.str.1 = external hidden unnamed_addr constant [1 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [2 x i8], align 1
@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@.str.40 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [9 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

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)) #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv(ptr noundef nonnull align 8 dereferenceable(264)) #2 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) #3

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_Z10parse_stopPKc(ptr dead_on_unwind noalias writable sret(%struct.strcoordinate) align 8, ptr noundef) #1

; 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 willreturn memory(read)
declare i32 @strncmp(ptr noundef, ptr noundef, i64 noundef) #5

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

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef signext i16 @_Z8get_typeNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef) #2

; Function Attrs: mustprogress uwtable
declare dso_local void @_Z9parse_posPc(ptr dead_on_unwind noalias writable sret(%struct.strcoordinate) align 8, ptr noundef) #1

; Function Attrs: mustprogress uwtable
declare dso_local i16 @_Z19parse_strands_lumpyPc(ptr noundef) #1

; Function Attrs: mustprogress uwtable
declare dso_local i64 @_Z8parse_DRPc(ptr noundef) #1

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

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

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare i32 @llvm.abs.i32(i32, i1 immarg) #8

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN11strvcfentryC2Ev(ptr noundef nonnull align 8 dereferenceable(420)) unnamed_addr #3 align 2

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(40) ptr @_ZN13strcoordinateaSEOS_(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef nonnull align 8 dereferenceable(40)) #7 align 2

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

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

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

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

; Function Attrs: nounwind willreturn memory(read)
declare i32 @strcmp(ptr noundef, ptr noundef) #5

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

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

; Function Attrs: mustprogress uwtable
declare dso_local i64 @_Z10parse_pairPc(ptr noundef) #1

; Function Attrs: mustprogress uwtable
define dso_local void @_Z9parse_vcfRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi(ptr dead_on_unwind noalias writable sret(%"class.std::vector.16") align 8 %0, ptr noundef nonnull align 8 dereferenceable(32) %1, i32 noundef %2) #1 personality ptr @__gxx_personality_v0 {
  %4 = alloca ptr, align 8
  %5 = alloca ptr, align 8
  %6 = alloca i32, align 4
  %7 = alloca %"class.std::__cxx11::basic_string", align 8
  %8 = alloca %"class.std::basic_ifstream", align 8
  %9 = alloca ptr, align 8
  %10 = alloca i32, align 4
  %11 = alloca i1, align 1
  %12 = alloca i32, align 4
  %13 = alloca i32, align 4
  %14 = alloca %"class.std::__cxx11::basic_string", align 8
  %15 = alloca %"class.std::allocator.0", align 1
  %16 = alloca i64, align 8
  %17 = alloca i32, align 4
  %18 = alloca %struct.strvcfentry, align 8
  %19 = alloca i8, align 1
  %20 = alloca i64, align 8
  %21 = alloca i32, align 4
  %22 = alloca %struct.strcoordinate, align 8
  %23 = alloca %"struct.std::pair", align 1
  %24 = alloca %struct.strcoordinate, align 8
  %25 = alloca %"class.std::__cxx11::basic_string", align 8
  %26 = alloca %"class.std::allocator.0", align 1
  %27 = alloca %"struct.std::pair.9", align 4
  %28 = alloca %"struct.std::pair.9", align 4
  %29 = alloca %"class.std::__cxx11::basic_string", align 8
  %30 = alloca i64, align 8
  %31 = alloca %"struct.std::pair.9", align 4
  %32 = alloca %"class.std::__cxx11::basic_string", align 8
  %33 = alloca %"class.std::allocator.0", align 1
  %34 = alloca %"class.std::__cxx11::basic_string", align 8
  %35 = alloca %"class.std::allocator.0", align 1
  %36 = alloca i64, align 8
  %37 = alloca %"class.std::__cxx11::basic_string", align 8
  %38 = alloca %"class.std::__cxx11::basic_string", align 8
  store ptr %0, ptr %4, align 8
  store ptr %1, ptr %5, align 8, !tbaa !5
  store i32 %2, ptr %6, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 32, ptr %7) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #9
  call void @llvm.lifetime.start.p0(i64 520, ptr %8) #9
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(256) %8)
          to label %39 unwind label %58

39:                                               ; preds = %3
  %40 = load ptr, ptr %5, align 8, !tbaa !5
  %41 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %40) #9
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(256) %8, ptr noundef %41, i32 noundef 8)
          to label %42 unwind label %62

42:                                               ; preds = %39
  %43 = load ptr, ptr %8, align 8, !tbaa !11
  %44 = getelementptr i8, ptr %43, i64 -24
  %45 = load i64, ptr %44, align 8
  %46 = getelementptr inbounds i8, ptr %8, i64 %45
  %47 = invoke noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv(ptr noundef nonnull align 8 dereferenceable(264) %46)
          to label %48 unwind label %62

48:                                               ; preds = %42
  br i1 %47, label %66, label %49

49:                                               ; preds = %48
  %50 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.40)
          to label %51 unwind label %62

51:                                               ; preds = %49
  %52 = load ptr, ptr %5, align 8, !tbaa !5
  %53 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %52) #9
  %54 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %50, ptr noundef %53)
          to label %55 unwind label %62

55:                                               ; preds = %51
  %56 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %54, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %57 unwind label %62

57:                                               ; preds = %55
  call void @exit(i32 noundef 0) #10
  unreachable

58:                                               ; preds = %3
  %59 = landingpad { ptr, i32 }
          cleanup
  %60 = extractvalue { ptr, i32 } %59, 0
  store ptr %60, ptr %9, align 8
  %61 = extractvalue { ptr, i32 } %59, 1
  store i32 %61, ptr %10, align 4
  br label %1197

62:                                               ; preds = %55, %51, %49, %42, %39
  %63 = landingpad { ptr, i32 }
          cleanup
  %64 = extractvalue { ptr, i32 } %63, 0
  store ptr %64, ptr %9, align 8
  %65 = extractvalue { ptr, i32 } %63, 1
  store i32 %65, ptr %10, align 4
  br label %1196

66:                                               ; preds = %48
  store i1 false, ptr %11, align 1
  call void @_ZNSt6vectorI11strvcfentrySaIS0_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #9
  %67 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(16) %8, ptr noundef nonnull align 8 dereferenceable(32) %7)
          to label %68 unwind label %112

68:                                               ; preds = %66
  call void @llvm.lifetime.start.p0(i64 4, ptr %12) #9
  store i32 0, ptr %12, align 4, !tbaa !9
  br label %69

69:                                               ; preds = %1189, %68
  %70 = load ptr, ptr %8, align 8, !tbaa !11
  %71 = getelementptr i8, ptr %70, i64 -24
  %72 = load i64, ptr %71, align 8
  %73 = getelementptr inbounds i8, ptr %8, i64 %72
  %74 = invoke noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv(ptr noundef nonnull align 8 dereferenceable(264) %73)
          to label %75 unwind label %116

75:                                               ; preds = %69
  %76 = xor i1 %74, true
  br i1 %76, label %77, label %1190

77:                                               ; preds = %75
  %78 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef 0)
          to label %79 unwind label %116

79:                                               ; preds = %77
  %80 = load i8, ptr %78, align 1, !tbaa !13
  %81 = sext i8 %80 to i32
  %82 = icmp eq i32 %81, 35
  br i1 %82, label %83, label %172

83:                                               ; preds = %79
  %84 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef 1)
          to label %85 unwind label %116

85:                                               ; preds = %83
  %86 = load i8, ptr %84, align 1, !tbaa !13
  %87 = sext i8 %86 to i32
  %88 = icmp eq i32 %87, 67
  br i1 %88, label %89, label %172

89:                                               ; preds = %85
  call void @llvm.lifetime.start.p0(i64 4, ptr %13) #9
  store i32 0, ptr %13, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 32, ptr %14) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr %15) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef @.str.1, ptr noundef nonnull align 1 dereferenceable(1) %15)
          to label %90 unwind label %120

90:                                               ; preds = %89
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %15) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %16) #9
  store i64 0, ptr %16, align 8, !tbaa !14
  br label %91

91:                                               ; preds = %156, %90
  %92 = load i64, ptr %16, align 8, !tbaa !14
  %93 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %7) #9
  %94 = icmp ult i64 %92, %93
  br i1 %94, label %95, label %109

95:                                               ; preds = %91
  %96 = load i64, ptr %16, align 8, !tbaa !14
  %97 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %96)
          to label %98 unwind label %124

98:                                               ; preds = %95
  %99 = load i8, ptr %97, align 1, !tbaa !13
  %100 = sext i8 %99 to i32
  %101 = icmp ne i32 %100, 0
  br i1 %101, label %102, label %109

102:                                              ; preds = %98
  %103 = load i64, ptr %16, align 8, !tbaa !14
  %104 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %103)
          to label %105 unwind label %124

105:                                              ; preds = %102
  %106 = load i8, ptr %104, align 1, !tbaa !13
  %107 = sext i8 %106 to i32
  %108 = icmp ne i32 %107, 10
  br label %109

109:                                              ; preds = %105, %98, %91
  %110 = phi i1 [ false, %98 ], [ false, %91 ], [ %108, %105 ]
  br i1 %110, label %128, label %111

111:                                              ; preds = %109
  call void @llvm.lifetime.end.p0(i64 8, ptr %16) #9
  br label %159

112:                                              ; preds = %66
  %113 = landingpad { ptr, i32 }
          cleanup
  %114 = extractvalue { ptr, i32 } %113, 0
  store ptr %114, ptr %9, align 8
  %115 = extractvalue { ptr, i32 } %113, 1
  store i32 %115, ptr %10, align 4
  br label %1195

116:                                              ; preds = %1187, %172, %83, %77, %69
  %117 = landingpad { ptr, i32 }
          cleanup
  %118 = extractvalue { ptr, i32 } %117, 0
  store ptr %118, ptr %9, align 8
  %119 = extractvalue { ptr, i32 } %117, 1
  store i32 %119, ptr %10, align 4
  br label %1192

120:                                              ; preds = %89
  %121 = landingpad { ptr, i32 }
          cleanup
  %122 = extractvalue { ptr, i32 } %121, 0
  store ptr %122, ptr %9, align 8
  %123 = extractvalue { ptr, i32 } %121, 1
  store i32 %123, ptr %10, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %15) #9
  br label %171

124:                                              ; preds = %145, %141, %138, %131, %102, %95
  %125 = landingpad { ptr, i32 }
          cleanup
  %126 = extractvalue { ptr, i32 } %125, 0
  store ptr %126, ptr %9, align 8
  %127 = extractvalue { ptr, i32 } %125, 1
  store i32 %127, ptr %10, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %16) #9
  br label %170

128:                                              ; preds = %109
  %129 = load i32, ptr %13, align 4, !tbaa !9
  %130 = icmp eq i32 %129, 9
  br i1 %130, label %131, label %145

131:                                              ; preds = %128
  %132 = load i64, ptr %16, align 8, !tbaa !14
  %133 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %132)
          to label %134 unwind label %124

134:                                              ; preds = %131
  %135 = load i8, ptr %133, align 1, !tbaa !13
  %136 = sext i8 %135 to i32
  %137 = icmp ne i32 %136, 9
  br i1 %137, label %138, label %145

138:                                              ; preds = %134
  %139 = load i64, ptr %16, align 8, !tbaa !14
  %140 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %139)
          to label %141 unwind label %124

141:                                              ; preds = %138
  %142 = load i8, ptr %140, align 1, !tbaa !13
  %143 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEc(ptr noundef nonnull align 8 dereferenceable(32) %14, i8 noundef signext %142)
          to label %144 unwind label %124

144:                                              ; preds = %141
  br label %145

145:                                              ; preds = %144, %134, %128
  %146 = load i64, ptr %16, align 8, !tbaa !14
  %147 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %146)
          to label %148 unwind label %124

148:                                              ; preds = %145
  %149 = load i8, ptr %147, align 1, !tbaa !13
  %150 = sext i8 %149 to i32
  %151 = icmp eq i32 %150, 9
  br i1 %151, label %152, label %155

152:                                              ; preds = %148
  %153 = load i32, ptr %13, align 4, !tbaa !9
  %154 = add nsw i32 %153, 1
  store i32 %154, ptr %13, align 4, !tbaa !9
  br label %155

155:                                              ; preds = %152, %148
  br label %156

156:                                              ; preds = %155
  %157 = load i64, ptr %16, align 8, !tbaa !14
  %158 = add i64 %157, 1
  store i64 %158, ptr %16, align 8, !tbaa !14
  br label %91, !llvm.loop !16

159:                                              ; preds = %111
  %160 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %14) #9
  br i1 %160, label %169, label %161

161:                                              ; preds = %159
  %162 = load ptr, ptr %5, align 8, !tbaa !5
  %163 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %162, ptr noundef nonnull align 8 dereferenceable(32) %14)
          to label %164 unwind label %165

164:                                              ; preds = %161
  br label %169

165:                                              ; preds = %161
  %166 = landingpad { ptr, i32 }
          cleanup
  %167 = extractvalue { ptr, i32 } %166, 0
  store ptr %167, ptr %9, align 8
  %168 = extractvalue { ptr, i32 } %166, 1
  store i32 %168, ptr %10, align 4
  br label %170

169:                                              ; preds = %164, %159
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %14) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #9
  br label %1187

170:                                              ; preds = %165, %124
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #9
  br label %171

171:                                              ; preds = %170, %120
  call void @llvm.lifetime.end.p0(i64 32, ptr %14) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #9
  br label %1192

172:                                              ; preds = %85, %79
  %173 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef 0)
          to label %174 unwind label %116

174:                                              ; preds = %172
  %175 = load i8, ptr %173, align 1, !tbaa !13
  %176 = sext i8 %175 to i32
  %177 = icmp ne i32 %176, 35
  br i1 %177, label %178, label %1185

178:                                              ; preds = %174
  %179 = load i32, ptr %12, align 4, !tbaa !9
  %180 = add nsw i32 %179, 1
  store i32 %180, ptr %12, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %17) #9
  store i32 0, ptr %17, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 424, ptr %18) #9
  invoke void @_ZN11strvcfentryC2Ev(ptr noundef nonnull align 8 dereferenceable(420) %18)
          to label %181 unwind label %250

181:                                              ; preds = %178
  %182 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 1
  %183 = getelementptr inbounds %struct.strcoordinate, ptr %182, i32 0, i32 1
  %184 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %183, ptr noundef @.str.1)
          to label %185 unwind label %254

185:                                              ; preds = %181
  %186 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 2
  %187 = getelementptr inbounds %struct.strcoordinate, ptr %186, i32 0, i32 1
  %188 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %187, ptr noundef @.str.1)
          to label %189 unwind label %254

189:                                              ; preds = %185
  %190 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 6
  store i32 0, ptr %190, align 8, !tbaa !18
  %191 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 2
  %192 = getelementptr inbounds %struct.strcoordinate, ptr %191, i32 0, i32 0
  store i32 -1, ptr %192, align 8, !tbaa !41
  %193 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 1
  %194 = getelementptr inbounds %struct.strcoordinate, ptr %193, i32 0, i32 0
  store i32 -1, ptr %194, align 8, !tbaa !42
  %195 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 3
  store i16 -1, ptr %195, align 8, !tbaa !43
  %196 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 24
  store i32 -1, ptr %196, align 8, !tbaa !44
  call void @llvm.lifetime.start.p0(i64 1, ptr %19) #9
  store i8 0, ptr %19, align 1, !tbaa !45
  %197 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 13
  %198 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %197, ptr noundef @.str.31)
          to label %199 unwind label %258

199:                                              ; preds = %189
  %200 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 9
  %201 = getelementptr inbounds %"struct.std::pair", ptr %200, i32 0, i32 0
  store i8 1, ptr %201, align 8, !tbaa !46
  %202 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 9
  %203 = getelementptr inbounds %"struct.std::pair", ptr %202, i32 0, i32 1
  store i8 1, ptr %203, align 1, !tbaa !47
  %204 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 11
  %205 = getelementptr inbounds %"struct.std::pair.9", ptr %204, i32 0, i32 0
  store i32 0, ptr %205, align 4, !tbaa !48
  %206 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 11
  %207 = getelementptr inbounds %"struct.std::pair.9", ptr %206, i32 0, i32 1
  store i32 0, ptr %207, align 4, !tbaa !49
  %208 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 21
  %209 = getelementptr inbounds %"struct.std::pair.14", ptr %208, i32 0, i32 0
  %210 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %209, ptr noundef @.str.1)
          to label %211 unwind label %258

211:                                              ; preds = %199
  %212 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 21
  %213 = getelementptr inbounds %"struct.std::pair.14", ptr %212, i32 0, i32 1
  %214 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %213, ptr noundef @.str.1)
          to label %215 unwind label %258

215:                                              ; preds = %211
  %216 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 16
  %217 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %216, ptr noundef @.str.1)
          to label %218 unwind label %258

218:                                              ; preds = %215
  %219 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 14
  store i32 -1, ptr %219, align 8, !tbaa !50
  %220 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 19
  store i32 -1, ptr %220, align 8, !tbaa !51
  %221 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 23
  %222 = getelementptr inbounds %"struct.std::pair.9", ptr %221, i32 0, i32 0
  store i32 -1, ptr %222, align 8, !tbaa !52
  %223 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 23
  %224 = getelementptr inbounds %"struct.std::pair.9", ptr %223, i32 0, i32 1
  store i32 -1, ptr %224, align 4, !tbaa !53
  %225 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 22
  %226 = getelementptr inbounds %"struct.std::pair.9", ptr %225, i32 0, i32 0
  store i32 -1, ptr %226, align 8, !tbaa !54
  %227 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 22
  %228 = getelementptr inbounds %"struct.std::pair.9", ptr %227, i32 0, i32 1
  store i32 -1, ptr %228, align 4, !tbaa !55
  call void @llvm.lifetime.start.p0(i64 8, ptr %20) #9
  store i64 0, ptr %20, align 8, !tbaa !14
  br label %229

229:                                              ; preds = %1006, %218
  %230 = load i64, ptr %20, align 8, !tbaa !14
  %231 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %7) #9
  %232 = icmp ult i64 %230, %231
  br i1 %232, label %233, label %247

233:                                              ; preds = %229
  %234 = load i64, ptr %20, align 8, !tbaa !14
  %235 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %234)
          to label %236 unwind label %262

236:                                              ; preds = %233
  %237 = load i8, ptr %235, align 1, !tbaa !13
  %238 = sext i8 %237 to i32
  %239 = icmp ne i32 %238, 0
  br i1 %239, label %240, label %247

240:                                              ; preds = %236
  %241 = load i64, ptr %20, align 8, !tbaa !14
  %242 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %241)
          to label %243 unwind label %262

243:                                              ; preds = %240
  %244 = load i8, ptr %242, align 1, !tbaa !13
  %245 = sext i8 %244 to i32
  %246 = icmp ne i32 %245, 10
  br label %247

247:                                              ; preds = %243, %236, %229
  %248 = phi i1 [ false, %236 ], [ false, %229 ], [ %246, %243 ]
  br i1 %248, label %266, label %249

249:                                              ; preds = %247
  store i32 7, ptr %21, align 4
  br label %1009

250:                                              ; preds = %178
  %251 = landingpad { ptr, i32 }
          cleanup
  %252 = extractvalue { ptr, i32 } %251, 0
  store ptr %252, ptr %9, align 8
  %253 = extractvalue { ptr, i32 } %251, 1
  store i32 %253, ptr %10, align 4
  br label %1184

254:                                              ; preds = %185, %181
  %255 = landingpad { ptr, i32 }
          cleanup
  %256 = extractvalue { ptr, i32 } %255, 0
  store ptr %256, ptr %9, align 8
  %257 = extractvalue { ptr, i32 } %255, 1
  store i32 %257, ptr %10, align 4
  br label %1183

258:                                              ; preds = %1178, %1076, %1050, %215, %211, %199, %189
  %259 = landingpad { ptr, i32 }
          cleanup
  %260 = extractvalue { ptr, i32 } %259, 0
  store ptr %260, ptr %9, align 8
  %261 = extractvalue { ptr, i32 } %259, 1
  store i32 %261, ptr %10, align 4
  br label %1182

262:                                              ; preds = %995, %990, %987, %952, %938, %930, %907, %810, %802, %782, %778, %772, %759, %752, %746, %721, %711, %705, %694, %688, %673, %666, %650, %644, %620, %616, %610, %600, %594, %584, %578, %556, %534, %523, %517, %506, %500, %485, %479, %459, %453, %438, %429, %421, %398, %375, %367, %353, %350, %343, %334, %331, %324, %316, %313, %306, %296, %288, %279, %276, %269, %240, %233
  %263 = landingpad { ptr, i32 }
          cleanup
  %264 = extractvalue { ptr, i32 } %263, 0
  store ptr %264, ptr %9, align 8
  %265 = extractvalue { ptr, i32 } %263, 1
  store i32 %265, ptr %10, align 4
  br label %1010

266:                                              ; preds = %247
  %267 = load i32, ptr %17, align 4, !tbaa !9
  %268 = icmp eq i32 %267, 0
  br i1 %268, label %269, label %285

269:                                              ; preds = %266
  %270 = load i64, ptr %20, align 8, !tbaa !14
  %271 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %270)
          to label %272 unwind label %262

272:                                              ; preds = %269
  %273 = load i8, ptr %271, align 1, !tbaa !13
  %274 = sext i8 %273 to i32
  %275 = icmp ne i32 %274, 9
  br i1 %275, label %276, label %285

276:                                              ; preds = %272
  %277 = load i64, ptr %20, align 8, !tbaa !14
  %278 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %277)
          to label %279 unwind label %262

279:                                              ; preds = %276
  %280 = load i8, ptr %278, align 1, !tbaa !13
  %281 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 1
  %282 = getelementptr inbounds %struct.strcoordinate, ptr %281, i32 0, i32 1
  %283 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEc(ptr noundef nonnull align 8 dereferenceable(32) %282, i8 noundef signext %280)
          to label %284 unwind label %262

284:                                              ; preds = %279
  br label %285

285:                                              ; preds = %284, %272, %266
  %286 = load i32, ptr %17, align 4, !tbaa !9
  %287 = icmp eq i32 %286, 1
  br i1 %287, label %288, label %303

288:                                              ; preds = %285
  %289 = load i64, ptr %20, align 8, !tbaa !14
  %290 = sub i64 %289, 1
  %291 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %290)
          to label %292 unwind label %262

292:                                              ; preds = %288
  %293 = load i8, ptr %291, align 1, !tbaa !13
  %294 = sext i8 %293 to i32
  %295 = icmp eq i32 %294, 9
  br i1 %295, label %296, label %303

296:                                              ; preds = %292
  %297 = load i64, ptr %20, align 8, !tbaa !14
  %298 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %297)
          to label %299 unwind label %262

299:                                              ; preds = %296
  %300 = call i32 @atoi(ptr noundef %298) #11
  %301 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 1
  %302 = getelementptr inbounds %struct.strcoordinate, ptr %301, i32 0, i32 0
  store i32 %300, ptr %302, align 8, !tbaa !42
  br label %303

303:                                              ; preds = %299, %292, %285
  %304 = load i32, ptr %17, align 4, !tbaa !9
  %305 = icmp eq i32 %304, 2
  br i1 %305, label %306, label %321

306:                                              ; preds = %303
  %307 = load i64, ptr %20, align 8, !tbaa !14
  %308 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %307)
          to label %309 unwind label %262

309:                                              ; preds = %306
  %310 = load i8, ptr %308, align 1, !tbaa !13
  %311 = sext i8 %310 to i32
  %312 = icmp ne i32 %311, 9
  br i1 %312, label %313, label %321

313:                                              ; preds = %309
  %314 = load i64, ptr %20, align 8, !tbaa !14
  %315 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %314)
          to label %316 unwind label %262

316:                                              ; preds = %313
  %317 = load i8, ptr %315, align 1, !tbaa !13
  %318 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 16
  %319 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEc(ptr noundef nonnull align 8 dereferenceable(32) %318, i8 noundef signext %317)
          to label %320 unwind label %262

320:                                              ; preds = %316
  br label %321

321:                                              ; preds = %320, %309, %303
  %322 = load i32, ptr %17, align 4, !tbaa !9
  %323 = icmp eq i32 %322, 3
  br i1 %323, label %324, label %340

324:                                              ; preds = %321
  %325 = load i64, ptr %20, align 8, !tbaa !14
  %326 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %325)
          to label %327 unwind label %262

327:                                              ; preds = %324
  %328 = load i8, ptr %326, align 1, !tbaa !13
  %329 = sext i8 %328 to i32
  %330 = icmp ne i32 %329, 9
  br i1 %330, label %331, label %340

331:                                              ; preds = %327
  %332 = load i64, ptr %20, align 8, !tbaa !14
  %333 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %332)
          to label %334 unwind label %262

334:                                              ; preds = %331
  %335 = load i8, ptr %333, align 1, !tbaa !13
  %336 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 21
  %337 = getelementptr inbounds %"struct.std::pair.14", ptr %336, i32 0, i32 0
  %338 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEc(ptr noundef nonnull align 8 dereferenceable(32) %337, i8 noundef signext %335)
          to label %339 unwind label %262

339:                                              ; preds = %334
  br label %340

340:                                              ; preds = %339, %327, %321
  %341 = load i32, ptr %17, align 4, !tbaa !9
  %342 = icmp eq i32 %341, 4
  br i1 %342, label %343, label %359

343:                                              ; preds = %340
  %344 = load i64, ptr %20, align 8, !tbaa !14
  %345 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %344)
          to label %346 unwind label %262

346:                                              ; preds = %343
  %347 = load i8, ptr %345, align 1, !tbaa !13
  %348 = sext i8 %347 to i32
  %349 = icmp ne i32 %348, 9
  br i1 %349, label %350, label %359

350:                                              ; preds = %346
  %351 = load i64, ptr %20, align 8, !tbaa !14
  %352 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %351)
          to label %353 unwind label %262

353:                                              ; preds = %350
  %354 = load i8, ptr %352, align 1, !tbaa !13
  %355 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 21
  %356 = getelementptr inbounds %"struct.std::pair.14", ptr %355, i32 0, i32 1
  %357 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEc(ptr noundef nonnull align 8 dereferenceable(32) %356, i8 noundef signext %354)
          to label %358 unwind label %262

358:                                              ; preds = %353
  br label %359

359:                                              ; preds = %358, %346, %340
  %360 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 2
  %361 = getelementptr inbounds %struct.strcoordinate, ptr %360, i32 0, i32 0
  %362 = load i32, ptr %361, align 8, !tbaa !41
  %363 = icmp eq i32 %362, -1
  br i1 %363, label %364, label %395

364:                                              ; preds = %359
  %365 = load i32, ptr %17, align 4, !tbaa !9
  %366 = icmp eq i32 %365, 4
  br i1 %366, label %367, label %395

367:                                              ; preds = %364
  %368 = load i64, ptr %20, align 8, !tbaa !14
  %369 = sub i64 %368, 1
  %370 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %369)
          to label %371 unwind label %262

371:                                              ; preds = %367
  %372 = load i8, ptr %370, align 1, !tbaa !13
  %373 = sext i8 %372 to i32
  %374 = icmp eq i32 %373, 91
  br i1 %374, label %383, label %375

375:                                              ; preds = %371
  %376 = load i64, ptr %20, align 8, !tbaa !14
  %377 = sub i64 %376, 1
  %378 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %377)
          to label %379 unwind label %262

379:                                              ; preds = %375
  %380 = load i8, ptr %378, align 1, !tbaa !13
  %381 = sext i8 %380 to i32
  %382 = icmp eq i32 %381, 93
  br i1 %382, label %383, label %395

383:                                              ; preds = %379, %371
  call void @llvm.lifetime.start.p0(i64 40, ptr %22) #9
  %384 = load i64, ptr %20, align 8, !tbaa !14
  %385 = sub i64 %384, 1
  %386 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %385)
          to label %387 unwind label %391

387:                                              ; preds = %383
  invoke void @_Z9parse_posPc(ptr dead_on_unwind writable sret(%struct.strcoordinate) align 8 %22, ptr noundef %386)
          to label %388 unwind label %391

388:                                              ; preds = %387
  %389 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 2
  %390 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZN13strcoordinateaSEOS_(ptr noundef nonnull align 8 dereferenceable(40) %389, ptr noundef nonnull align 8 dereferenceable(40) %22) #9
  call void @_ZN13strcoordinateD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %22) #9
  call void @llvm.lifetime.end.p0(i64 40, ptr %22) #9
  br label %395

391:                                              ; preds = %387, %383
  %392 = landingpad { ptr, i32 }
          cleanup
  %393 = extractvalue { ptr, i32 } %392, 0
  store ptr %393, ptr %9, align 8
  %394 = extractvalue { ptr, i32 } %392, 1
  store i32 %394, ptr %10, align 4
  call void @llvm.lifetime.end.p0(i64 40, ptr %22) #9
  br label %1010

395:                                              ; preds = %388, %379, %364, %359
  %396 = load i32, ptr %17, align 4, !tbaa !9
  %397 = icmp eq i32 %396, 4
  br i1 %397, label %398, label %418

398:                                              ; preds = %395
  %399 = load i64, ptr %20, align 8, !tbaa !14
  %400 = sub i64 %399, 1
  %401 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %400)
          to label %402 unwind label %262

402:                                              ; preds = %398
  %403 = load i8, ptr %401, align 1, !tbaa !13
  %404 = sext i8 %403 to i32
  %405 = icmp eq i32 %404, 9
  br i1 %405, label %406, label %418

406:                                              ; preds = %402
  call void @llvm.lifetime.start.p0(i64 2, ptr %23) #9
  %407 = load i64, ptr %20, align 8, !tbaa !14
  %408 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %407)
          to label %409 unwind label %414

409:                                              ; preds = %406
  %410 = invoke i16 @_Z19parse_strands_lumpyPc(ptr noundef %408)
          to label %411 unwind label %414

411:                                              ; preds = %409
  store i16 %410, ptr %23, align 1
  %412 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 9
  %413 = call noundef nonnull align 1 dereferenceable(2) ptr @_ZNSt4pairIbbEaSEOS0_(ptr noundef nonnull align 1 dereferenceable(2) %412, ptr noundef nonnull align 1 dereferenceable(2) %23) #9
  call void @llvm.lifetime.end.p0(i64 2, ptr %23) #9
  br label %418

414:                                              ; preds = %409, %406
  %415 = landingpad { ptr, i32 }
          cleanup
  %416 = extractvalue { ptr, i32 } %415, 0
  store ptr %416, ptr %9, align 8
  %417 = extractvalue { ptr, i32 } %415, 1
  store i32 %417, ptr %10, align 4
  call void @llvm.lifetime.end.p0(i64 2, ptr %23) #9
  br label %1010

418:                                              ; preds = %411, %402, %395
  %419 = load i32, ptr %17, align 4, !tbaa !9
  %420 = icmp eq i32 %419, 5
  br i1 %420, label %421, label %445

421:                                              ; preds = %418
  %422 = load i64, ptr %20, align 8, !tbaa !14
  %423 = sub i64 %422, 1
  %424 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %423)
          to label %425 unwind label %262

425:                                              ; preds = %421
  %426 = load i8, ptr %424, align 1, !tbaa !13
  %427 = sext i8 %426 to i32
  %428 = icmp eq i32 %427, 9
  br i1 %428, label %429, label %445

429:                                              ; preds = %425
  %430 = load i64, ptr %20, align 8, !tbaa !14
  %431 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %430)
          to label %432 unwind label %262

432:                                              ; preds = %429
  %433 = load i8, ptr %431, align 1, !tbaa !13
  %434 = sext i8 %433 to i32
  %435 = icmp eq i32 %434, 46
  br i1 %435, label %436, label %438

436:                                              ; preds = %432
  %437 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 19
  store i32 -1, ptr %437, align 8, !tbaa !51
  br label %444

438:                                              ; preds = %432
  %439 = load i64, ptr %20, align 8, !tbaa !14
  %440 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %439)
          to label %441 unwind label %262

441:                                              ; preds = %438
  %442 = call i32 @atoi(ptr noundef %440) #11
  %443 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 19
  store i32 %442, ptr %443, align 8, !tbaa !51
  br label %444

444:                                              ; preds = %441, %436
  br label %445

445:                                              ; preds = %444, %425, %418
  %446 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 2
  %447 = getelementptr inbounds %struct.strcoordinate, ptr %446, i32 0, i32 0
  %448 = load i32, ptr %447, align 8, !tbaa !41
  %449 = icmp eq i32 %448, -1
  br i1 %449, label %450, label %476

450:                                              ; preds = %445
  %451 = load i32, ptr %17, align 4, !tbaa !9
  %452 = icmp sge i32 %451, 6
  br i1 %452, label %453, label %476

453:                                              ; preds = %450
  %454 = load i64, ptr %20, align 8, !tbaa !14
  %455 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %454)
          to label %456 unwind label %262

456:                                              ; preds = %453
  %457 = call i32 @strncmp(ptr noundef %455, ptr noundef @.str.41, i64 noundef 5) #11
  %458 = icmp eq i32 %457, 0
  br i1 %458, label %465, label %459

459:                                              ; preds = %456
  %460 = load i64, ptr %20, align 8, !tbaa !14
  %461 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %460)
          to label %462 unwind label %262

462:                                              ; preds = %459
  %463 = call i32 @strncmp(ptr noundef %461, ptr noundef @.str.42, i64 noundef 5) #11
  %464 = icmp eq i32 %463, 0
  br i1 %464, label %465, label %476

465:                                              ; preds = %462, %456
  call void @llvm.lifetime.start.p0(i64 40, ptr %24) #9
  %466 = load i64, ptr %20, align 8, !tbaa !14
  %467 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %466)
          to label %468 unwind label %472

468:                                              ; preds = %465
  invoke void @_Z10parse_stopPKc(ptr dead_on_unwind writable sret(%struct.strcoordinate) align 8 %24, ptr noundef %467)
          to label %469 unwind label %472

469:                                              ; preds = %468
  %470 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 2
  %471 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZN13strcoordinateaSEOS_(ptr noundef nonnull align 8 dereferenceable(40) %470, ptr noundef nonnull align 8 dereferenceable(40) %24) #9
  call void @_ZN13strcoordinateD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %24) #9
  call void @llvm.lifetime.end.p0(i64 40, ptr %24) #9
  br label %476

472:                                              ; preds = %468, %465
  %473 = landingpad { ptr, i32 }
          cleanup
  %474 = extractvalue { ptr, i32 } %473, 0
  store ptr %474, ptr %9, align 8
  %475 = extractvalue { ptr, i32 } %473, 1
  store i32 %475, ptr %10, align 4
  call void @llvm.lifetime.end.p0(i64 40, ptr %24) #9
  br label %1010

476:                                              ; preds = %469, %462, %450, %445
  %477 = load i32, ptr %17, align 4, !tbaa !9
  %478 = icmp eq i32 %477, 7
  br i1 %478, label %479, label %497

479:                                              ; preds = %476
  %480 = load i64, ptr %20, align 8, !tbaa !14
  %481 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %480)
          to label %482 unwind label %262

482:                                              ; preds = %479
  %483 = call i32 @strncmp(ptr noundef %481, ptr noundef @.str.32, i64 noundef 7) #11
  %484 = icmp eq i32 %483, 0
  br i1 %484, label %485, label %497

485:                                              ; preds = %482
  %486 = load i64, ptr %20, align 8, !tbaa !14
  %487 = add i64 %486, 7
  %488 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %487)
          to label %489 unwind label %262

489:                                              ; preds = %485
  call void @llvm.lifetime.start.p0(i64 1, ptr %26) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %26) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef %488, ptr noundef nonnull align 1 dereferenceable(1) %26)
          to label %490 unwind label %493

490:                                              ; preds = %489
  %491 = call noundef signext i16 @_Z8get_typeNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %25)
  %492 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 3
  store i16 %491, ptr %492, align 8, !tbaa !43
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %26) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %26) #9
  br label %497

493:                                              ; preds = %489
  %494 = landingpad { ptr, i32 }
          cleanup
  %495 = extractvalue { ptr, i32 } %494, 0
  store ptr %495, ptr %9, align 8
  %496 = extractvalue { ptr, i32 } %494, 1
  store i32 %496, ptr %10, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %26) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %26) #9
  br label %1010

497:                                              ; preds = %490, %482, %476
  %498 = load i32, ptr %17, align 4, !tbaa !9
  %499 = icmp eq i32 %498, 7
  br i1 %499, label %500, label %514

500:                                              ; preds = %497
  %501 = load i64, ptr %20, align 8, !tbaa !14
  %502 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %501)
          to label %503 unwind label %262

503:                                              ; preds = %500
  %504 = call i32 @strncmp(ptr noundef %502, ptr noundef @.str.20, i64 noundef 4) #11
  %505 = icmp eq i32 %504, 0
  br i1 %505, label %506, label %514

506:                                              ; preds = %503
  %507 = load i64, ptr %20, align 8, !tbaa !14
  %508 = add i64 %507, 4
  %509 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %508)
          to label %510 unwind label %262

510:                                              ; preds = %506
  %511 = call i32 @atoi(ptr noundef %509) #11
  %512 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 11
  %513 = getelementptr inbounds %"struct.std::pair.9", ptr %512, i32 0, i32 1
  store i32 %511, ptr %513, align 4, !tbaa !49
  br label %514

514:                                              ; preds = %510, %503, %497
  %515 = load i32, ptr %17, align 4, !tbaa !9
  %516 = icmp eq i32 %515, 7
  br i1 %516, label %517, label %531

517:                                              ; preds = %514
  %518 = load i64, ptr %20, align 8, !tbaa !14
  %519 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %518)
          to label %520 unwind label %262

520:                                              ; preds = %517
  %521 = call i32 @strncmp(ptr noundef %519, ptr noundef @.str.21, i64 noundef 4) #11
  %522 = icmp eq i32 %521, 0
  br i1 %522, label %523, label %531

523:                                              ; preds = %520
  %524 = load i64, ptr %20, align 8, !tbaa !14
  %525 = add i64 %524, 4
  %526 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %525)
          to label %527 unwind label %262

527:                                              ; preds = %523
  %528 = call i32 @atoi(ptr noundef %526) #11
  %529 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 11
  %530 = getelementptr inbounds %"struct.std::pair.9", ptr %529, i32 0, i32 1
  store i32 %528, ptr %530, align 4, !tbaa !49
  br label %531

531:                                              ; preds = %527, %520, %514
  %532 = load i32, ptr %17, align 4, !tbaa !9
  %533 = icmp eq i32 %532, 7
  br i1 %533, label %534, label %553

534:                                              ; preds = %531
  %535 = load i64, ptr %20, align 8, !tbaa !14
  %536 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %535)
          to label %537 unwind label %262

537:                                              ; preds = %534
  %538 = call i32 @strncmp(ptr noundef %536, ptr noundef @.str.43, i64 noundef 6) #11
  %539 = icmp eq i32 %538, 0
  br i1 %539, label %540, label %553

540:                                              ; preds = %537
  call void @llvm.lifetime.start.p0(i64 8, ptr %27) #9
  %541 = load i64, ptr %20, align 8, !tbaa !14
  %542 = add i64 %541, 6
  %543 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %542)
          to label %544 unwind label %549

544:                                              ; preds = %540
  %545 = invoke i64 @_Z10parse_pairPc(ptr noundef %543)
          to label %546 unwind label %549

546:                                              ; preds = %544
  store i64 %545, ptr %27, align 4
  %547 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 22
  %548 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZNSt4pairIiiEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(8) %547, ptr noundef nonnull align 4 dereferenceable(8) %27) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #9
  br label %553

549:                                              ; preds = %544, %540
  %550 = landingpad { ptr, i32 }
          cleanup
  %551 = extractvalue { ptr, i32 } %550, 0
  store ptr %551, ptr %9, align 8
  %552 = extractvalue { ptr, i32 } %550, 1
  store i32 %552, ptr %10, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #9
  br label %1010

553:                                              ; preds = %546, %537, %531
  %554 = load i32, ptr %17, align 4, !tbaa !9
  %555 = icmp eq i32 %554, 7
  br i1 %555, label %556, label %575

556:                                              ; preds = %553
  %557 = load i64, ptr %20, align 8, !tbaa !14
  %558 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %557)
          to label %559 unwind label %262

559:                                              ; preds = %556
  %560 = call i32 @strncmp(ptr noundef %558, ptr noundef @.str.44, i64 noundef 6) #11
  %561 = icmp eq i32 %560, 0
  br i1 %561, label %562, label %575

562:                                              ; preds = %559
  call void @llvm.lifetime.start.p0(i64 8, ptr %28) #9
  %563 = load i64, ptr %20, align 8, !tbaa !14
  %564 = add i64 %563, 6
  %565 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %564)
          to label %566 unwind label %571

566:                                              ; preds = %562
  %567 = invoke i64 @_Z10parse_pairPc(ptr noundef %565)
          to label %568 unwind label %571

568:                                              ; preds = %566
  store i64 %567, ptr %28, align 4
  %569 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 23
  %570 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZNSt4pairIiiEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(8) %569, ptr noundef nonnull align 4 dereferenceable(8) %28) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #9
  br label %575

571:                                              ; preds = %566, %562
  %572 = landingpad { ptr, i32 }
          cleanup
  %573 = extractvalue { ptr, i32 } %572, 0
  store ptr %573, ptr %9, align 8
  %574 = extractvalue { ptr, i32 } %572, 1
  store i32 %574, ptr %10, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #9
  br label %1010

575:                                              ; preds = %568, %559, %553
  %576 = load i32, ptr %17, align 4, !tbaa !9
  %577 = icmp eq i32 %576, 7
  br i1 %577, label %578, label %591

578:                                              ; preds = %575
  %579 = load i64, ptr %20, align 8, !tbaa !14
  %580 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %579)
          to label %581 unwind label %262

581:                                              ; preds = %578
  %582 = call i32 @strncmp(ptr noundef %580, ptr noundef @.str.45, i64 noundef 5) #11
  %583 = icmp eq i32 %582, 0
  br i1 %583, label %584, label %591

584:                                              ; preds = %581
  %585 = load i64, ptr %20, align 8, !tbaa !14
  %586 = add i64 %585, 5
  %587 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %586)
          to label %588 unwind label %262

588:                                              ; preds = %584
  %589 = call i32 @atoi(ptr noundef %587) #11
  %590 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 24
  store i32 %589, ptr %590, align 8, !tbaa !44
  br label %591

591:                                              ; preds = %588, %581, %575
  %592 = load i32, ptr %17, align 4, !tbaa !9
  %593 = icmp eq i32 %592, 7
  br i1 %593, label %594, label %607

594:                                              ; preds = %591
  %595 = load i64, ptr %20, align 8, !tbaa !14
  %596 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %595)
          to label %597 unwind label %262

597:                                              ; preds = %594
  %598 = call i32 @strncmp(ptr noundef %596, ptr noundef @.str.46, i64 noundef 3) #11
  %599 = icmp eq i32 %598, 0
  br i1 %599, label %600, label %607

600:                                              ; preds = %597
  %601 = load i64, ptr %20, align 8, !tbaa !14
  %602 = add i64 %601, 3
  %603 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %602)
          to label %604 unwind label %262

604:                                              ; preds = %600
  %605 = call i32 @atoi(ptr noundef %603) #11
  %606 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 24
  store i32 %605, ptr %606, align 8, !tbaa !44
  br label %607

607:                                              ; preds = %604, %597, %591
  %608 = load i32, ptr %17, align 4, !tbaa !9
  %609 = icmp eq i32 %608, 7
  br i1 %609, label %610, label %637

610:                                              ; preds = %607
  %611 = load i64, ptr %20, align 8, !tbaa !14
  %612 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %611)
          to label %613 unwind label %262

613:                                              ; preds = %610
  %614 = call i32 @strncmp(ptr noundef %612, ptr noundef @.str.34, i64 noundef 4) #11
  %615 = icmp eq i32 %614, 0
  br i1 %615, label %616, label %637

616:                                              ; preds = %613
  store i8 1, ptr %19, align 1, !tbaa !45
  %617 = load i64, ptr %20, align 8, !tbaa !14
  %618 = add i64 %617, 4
  %619 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %618)
          to label %620 unwind label %262

620:                                              ; preds = %616
  %621 = load i8, ptr %619, align 1, !tbaa !13
  %622 = sext i8 %621 to i32
  %623 = icmp ne i32 %622, 53
  %624 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 9
  %625 = getelementptr inbounds %"struct.std::pair", ptr %624, i32 0, i32 0
  %626 = zext i1 %623 to i8
  store i8 %626, ptr %625, align 8, !tbaa !46
  %627 = load i64, ptr %20, align 8, !tbaa !14
  %628 = add i64 %627, 7
  %629 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %628)
          to label %630 unwind label %262

630:                                              ; preds = %620
  %631 = load i8, ptr %629, align 1, !tbaa !13
  %632 = sext i8 %631 to i32
  %633 = icmp ne i32 %632, 53
  %634 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 9
  %635 = getelementptr inbounds %"struct.std::pair", ptr %634, i32 0, i32 1
  %636 = zext i1 %633 to i8
  store i8 %636, ptr %635, align 1, !tbaa !47
  br label %637

637:                                              ; preds = %630, %613, %607
  %638 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 14
  %639 = load i32, ptr %638, align 8, !tbaa !50
  %640 = icmp eq i32 %639, -1
  br i1 %640, label %641, label %659

641:                                              ; preds = %637
  %642 = load i32, ptr %17, align 4, !tbaa !9
  %643 = icmp eq i32 %642, 7
  br i1 %643, label %644, label %659

644:                                              ; preds = %641
  %645 = load i64, ptr %20, align 8, !tbaa !14
  %646 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %645)
          to label %647 unwind label %262

647:                                              ; preds = %644
  %648 = call i32 @strncmp(ptr noundef %646, ptr noundef @.str.47, i64 noundef 8) #11
  %649 = icmp eq i32 %648, 0
  br i1 %649, label %650, label %659

650:                                              ; preds = %647
  %651 = load i64, ptr %20, align 8, !tbaa !14
  %652 = add i64 %651, 8
  %653 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %652)
          to label %654 unwind label %262

654:                                              ; preds = %650
  %655 = call double @atof(ptr noundef %653) #11
  %656 = fptosi double %655 to i32
  %657 = call i32 @llvm.abs.i32(i32 %656, i1 true)
  %658 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 14
  store i32 %657, ptr %658, align 8, !tbaa !50
  br label %659

659:                                              ; preds = %654, %647, %641, %637
  %660 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 14
  %661 = load i32, ptr %660, align 8, !tbaa !50
  %662 = icmp eq i32 %661, -1
  br i1 %662, label %663, label %681

663:                                              ; preds = %659
  %664 = load i32, ptr %17, align 4, !tbaa !9
  %665 = icmp eq i32 %664, 7
  br i1 %665, label %666, label %681

666:                                              ; preds = %663
  %667 = load i64, ptr %20, align 8, !tbaa !14
  %668 = sub i64 %667, 1
  %669 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %668)
          to label %670 unwind label %262

670:                                              ; preds = %666
  %671 = call i32 @strncmp(ptr noundef %669, ptr noundef @.str.48, i64 noundef 7) #11
  %672 = icmp eq i32 %671, 0
  br i1 %672, label %673, label %681

673:                                              ; preds = %670
  %674 = load i64, ptr %20, align 8, !tbaa !14
  %675 = add i64 %674, 8
  %676 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %675)
          to label %677 unwind label %262

677:                                              ; preds = %673
  %678 = call i32 @atoi(ptr noundef %676) #11
  %679 = call i32 @llvm.abs.i32(i32 %678, i1 true)
  %680 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 14
  store i32 %679, ptr %680, align 8, !tbaa !50
  br label %681

681:                                              ; preds = %677, %670, %663, %659
  %682 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 14
  %683 = load i32, ptr %682, align 8, !tbaa !50
  %684 = icmp eq i32 %683, -1
  br i1 %684, label %685, label %702

685:                                              ; preds = %681
  %686 = load i32, ptr %17, align 4, !tbaa !9
  %687 = icmp eq i32 %686, 7
  br i1 %687, label %688, label %702

688:                                              ; preds = %685
  %689 = load i64, ptr %20, align 8, !tbaa !14
  %690 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %689)
          to label %691 unwind label %262

691:                                              ; preds = %688
  %692 = call i32 @strncmp(ptr noundef %690, ptr noundef @.str.49, i64 noundef 7) #11
  %693 = icmp eq i32 %692, 0
  br i1 %693, label %694, label %702

694:                                              ; preds = %691
  %695 = load i64, ptr %20, align 8, !tbaa !14
  %696 = add i64 %695, 7
  %697 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %696)
          to label %698 unwind label %262

698:                                              ; preds = %694
  %699 = call i32 @atoi(ptr noundef %697) #11
  %700 = call i32 @llvm.abs.i32(i32 %699, i1 true)
  %701 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 14
  store i32 %700, ptr %701, align 8, !tbaa !50
  br label %702

702:                                              ; preds = %698, %691, %685, %681
  %703 = load i32, ptr %17, align 4, !tbaa !9
  %704 = icmp eq i32 %703, 7
  br i1 %704, label %705, label %718

705:                                              ; preds = %702
  %706 = load i64, ptr %20, align 8, !tbaa !14
  %707 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %706)
          to label %708 unwind label %262

708:                                              ; preds = %705
  %709 = call i32 @strncmp(ptr noundef %707, ptr noundef @.str.45, i64 noundef 5) #11
  %710 = icmp eq i32 %709, 0
  br i1 %710, label %711, label %718

711:                                              ; preds = %708
  %712 = load i64, ptr %20, align 8, !tbaa !14
  %713 = add i64 %712, 5
  %714 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %713)
          to label %715 unwind label %262

715:                                              ; preds = %711
  %716 = call i32 @atoi(ptr noundef %714) #11
  %717 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 24
  store i32 %716, ptr %717, align 8, !tbaa !44
  br label %718

718:                                              ; preds = %715, %708, %702
  %719 = load i32, ptr %17, align 4, !tbaa !9
  %720 = icmp eq i32 %719, 7
  br i1 %720, label %721, label %739

721:                                              ; preds = %718
  %722 = load i64, ptr %20, align 8, !tbaa !14
  %723 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %722)
          to label %724 unwind label %262

724:                                              ; preds = %721
  %725 = call i32 @strncmp(ptr noundef %723, ptr noundef @.str.50, i64 noundef 9) #11
  %726 = icmp eq i32 %725, 0
  br i1 %726, label %727, label %739

727:                                              ; preds = %724
  call void @llvm.lifetime.start.p0(i64 32, ptr %29) #9
  %728 = load i64, ptr %20, align 8, !tbaa !14
  %729 = add i64 %728, 9
  %730 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %729)
          to label %731 unwind label %735

731:                                              ; preds = %727
  invoke void @_Z14parse_supp_vecB5cxx11Pc(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %29, ptr noundef %730)
          to label %732 unwind label %735

732:                                              ; preds = %731
  %733 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 18
  %734 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %733, ptr noundef nonnull align 8 dereferenceable(32) %29) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %29) #9
  br label %739

735:                                              ; preds = %731, %727
  %736 = landingpad { ptr, i32 }
          cleanup
  %737 = extractvalue { ptr, i32 } %736, 0
  store ptr %737, ptr %9, align 8
  %738 = extractvalue { ptr, i32 } %736, 1
  store i32 %738, ptr %10, align 4
  call void @llvm.lifetime.end.p0(i64 32, ptr %29) #9
  br label %1010

739:                                              ; preds = %732, %724, %718
  %740 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 14
  %741 = load i32, ptr %740, align 8, !tbaa !50
  %742 = icmp eq i32 %741, -1
  br i1 %742, label %743, label %769

743:                                              ; preds = %739
  %744 = load i32, ptr %17, align 4, !tbaa !9
  %745 = icmp eq i32 %744, 7
  br i1 %745, label %746, label %769

746:                                              ; preds = %743
  %747 = load i64, ptr %20, align 8, !tbaa !14
  %748 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %747)
          to label %749 unwind label %262

749:                                              ; preds = %746
  %750 = call i32 @strncmp(ptr noundef %748, ptr noundef @.str.51, i64 noundef 8) #11
  %751 = icmp eq i32 %750, 0
  br i1 %751, label %752, label %769

752:                                              ; preds = %749
  %753 = load i64, ptr %20, align 8, !tbaa !14
  %754 = add i64 %753, 7
  %755 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %754)
          to label %756 unwind label %262

756:                                              ; preds = %752
  %757 = call double @atof(ptr noundef %755) #11
  %758 = fcmp ogt double %757, 0.000000e+00
  br i1 %758, label %759, label %768

759:                                              ; preds = %756
  %760 = load i64, ptr %20, align 8, !tbaa !14
  %761 = add i64 %760, 8
  %762 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %761)
          to label %763 unwind label %262

763:                                              ; preds = %759
  %764 = call double @atof(ptr noundef %762) #11
  %765 = fptosi double %764 to i32
  %766 = call i32 @llvm.abs.i32(i32 %765, i1 true)
  %767 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 14
  store i32 %766, ptr %767, align 8, !tbaa !50
  br label %768

768:                                              ; preds = %763, %756
  br label %769

769:                                              ; preds = %768, %749, %743, %739
  %770 = load i32, ptr %17, align 4, !tbaa !9
  %771 = icmp eq i32 %770, 7
  br i1 %771, label %772, label %799

772:                                              ; preds = %769
  %773 = load i64, ptr %20, align 8, !tbaa !14
  %774 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %773)
          to label %775 unwind label %262

775:                                              ; preds = %772
  %776 = call i32 @strncmp(ptr noundef %774, ptr noundef @.str.38, i64 noundef 9) #11
  %777 = icmp eq i32 %776, 0
  br i1 %777, label %778, label %799

778:                                              ; preds = %775
  store i8 1, ptr %19, align 1, !tbaa !45
  %779 = load i64, ptr %20, align 8, !tbaa !14
  %780 = add i64 %779, 9
  %781 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %780)
          to label %782 unwind label %262

782:                                              ; preds = %778
  %783 = load i8, ptr %781, align 1, !tbaa !13
  %784 = sext i8 %783 to i32
  %785 = icmp eq i32 %784, 43
  %786 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 9
  %787 = getelementptr inbounds %"struct.std::pair", ptr %786, i32 0, i32 0
  %788 = zext i1 %785 to i8
  store i8 %788, ptr %787, align 8, !tbaa !46
  %789 = load i64, ptr %20, align 8, !tbaa !14
  %790 = add i64 %789, 10
  %791 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %790)
          to label %792 unwind label %262

792:                                              ; preds = %782
  %793 = load i8, ptr %791, align 1, !tbaa !13
  %794 = sext i8 %793 to i32
  %795 = icmp eq i32 %794, 43
  %796 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 9
  %797 = getelementptr inbounds %"struct.std::pair", ptr %796, i32 0, i32 1
  %798 = zext i1 %795 to i8
  store i8 %798, ptr %797, align 1, !tbaa !47
  br label %799

799:                                              ; preds = %792, %775, %769
  %800 = load i32, ptr %17, align 4, !tbaa !9
  %801 = icmp sge i32 %800, 9
  br i1 %801, label %802, label %904

802:                                              ; preds = %799
  %803 = load i64, ptr %20, align 8, !tbaa !14
  %804 = sub i64 %803, 1
  %805 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %804)
          to label %806 unwind label %262

806:                                              ; preds = %802
  %807 = load i8, ptr %805, align 1, !tbaa !13
  %808 = sext i8 %807 to i32
  %809 = icmp eq i32 %808, 9
  br i1 %809, label %810, label %904

810:                                              ; preds = %806
  %811 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 13
  %812 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %811, i64 noundef 0)
          to label %813 unwind label %262

813:                                              ; preds = %810
  %814 = load i8, ptr %812, align 1, !tbaa !13
  %815 = sext i8 %814 to i32
  %816 = icmp eq i32 %815, 46
  br i1 %816, label %817, label %904

817:                                              ; preds = %813
  call void @llvm.lifetime.start.p0(i64 8, ptr %30) #9
  %818 = load i64, ptr %20, align 8, !tbaa !14
  store i64 %818, ptr %30, align 8, !tbaa !14
  %819 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 13
  %820 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %819, ptr noundef @.str.31)
          to label %821 unwind label %895

821:                                              ; preds = %817
  %822 = load i64, ptr %30, align 8, !tbaa !14
  %823 = add i64 %822, 1
  %824 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %823)
          to label %825 unwind label %895

825:                                              ; preds = %821
  %826 = load i8, ptr %824, align 1, !tbaa !13
  %827 = sext i8 %826 to i32
  %828 = icmp eq i32 %827, 47
  br i1 %828, label %837, label %829

829:                                              ; preds = %825
  %830 = load i64, ptr %30, align 8, !tbaa !14
  %831 = add i64 %830, 1
  %832 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %831)
          to label %833 unwind label %895

833:                                              ; preds = %829
  %834 = load i8, ptr %832, align 1, !tbaa !13
  %835 = sext i8 %834 to i32
  %836 = icmp eq i32 %835, 124
  br i1 %836, label %837, label %903

837:                                              ; preds = %833, %825
  br label %838

838:                                              ; preds = %899, %837
  %839 = load i64, ptr %30, align 8, !tbaa !14
  %840 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %839)
          to label %841 unwind label %895

841:                                              ; preds = %838
  %842 = load i8, ptr %840, align 1, !tbaa !13
  %843 = sext i8 %842 to i32
  %844 = icmp ne i32 %843, 0
  br i1 %844, label %845, label %861

845:                                              ; preds = %841
  %846 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 13
  %847 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %846, i64 noundef 0)
          to label %848 unwind label %895

848:                                              ; preds = %845
  %849 = load i8, ptr %847, align 1, !tbaa !13
  %850 = sext i8 %849 to i32
  %851 = icmp eq i32 %850, 46
  br i1 %851, label %859, label %852

852:                                              ; preds = %848
  %853 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 13
  %854 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %853, i64 noundef 2)
          to label %855 unwind label %895

855:                                              ; preds = %852
  %856 = load i8, ptr %854, align 1, !tbaa !13
  %857 = sext i8 %856 to i32
  %858 = icmp eq i32 %857, 48
  br label %859

859:                                              ; preds = %855, %848
  %860 = phi i1 [ true, %848 ], [ %858, %855 ]
  br label %861

861:                                              ; preds = %859, %841
  %862 = phi i1 [ false, %841 ], [ %860, %859 ]
  br i1 %862, label %863, label %902

863:                                              ; preds = %861
  %864 = load i64, ptr %30, align 8, !tbaa !14
  %865 = sub i64 %864, 1
  %866 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %865)
          to label %867 unwind label %895

867:                                              ; preds = %863
  %868 = load i8, ptr %866, align 1, !tbaa !13
  %869 = sext i8 %868 to i32
  %870 = icmp eq i32 %869, 9
  br i1 %870, label %871, label %899

871:                                              ; preds = %867
  %872 = load i64, ptr %30, align 8, !tbaa !14
  %873 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %872)
          to label %874 unwind label %895

874:                                              ; preds = %871
  %875 = load i8, ptr %873, align 1, !tbaa !13
  %876 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 13
  %877 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %876, i64 noundef 0)
          to label %878 unwind label %895

878:                                              ; preds = %874
  store i8 %875, ptr %877, align 1, !tbaa !13
  %879 = load i64, ptr %30, align 8, !tbaa !14
  %880 = add i64 %879, 1
  %881 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %880)
          to label %882 unwind label %895

882:                                              ; preds = %878
  %883 = load i8, ptr %881, align 1, !tbaa !13
  %884 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 13
  %885 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %884, i64 noundef 1)
          to label %886 unwind label %895

886:                                              ; preds = %882
  store i8 %883, ptr %885, align 1, !tbaa !13
  %887 = load i64, ptr %30, align 8, !tbaa !14
  %888 = add i64 %887, 2
  %889 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %888)
          to label %890 unwind label %895

890:                                              ; preds = %886
  %891 = load i8, ptr %889, align 1, !tbaa !13
  %892 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 13
  %893 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %892, i64 noundef 2)
          to label %894 unwind label %895

894:                                              ; preds = %890
  store i8 %891, ptr %893, align 1, !tbaa !13
  br label %899

895:                                              ; preds = %890, %886, %882, %878, %874, %871, %863, %852, %845, %838, %829, %821, %817
  %896 = landingpad { ptr, i32 }
          cleanup
  %897 = extractvalue { ptr, i32 } %896, 0
  store ptr %897, ptr %9, align 8
  %898 = extractvalue { ptr, i32 } %896, 1
  store i32 %898, ptr %10, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #9
  br label %1010

899:                                              ; preds = %894, %867
  %900 = load i64, ptr %30, align 8, !tbaa !14
  %901 = add i64 %900, 1
  store i64 %901, ptr %30, align 8, !tbaa !14
  br label %838, !llvm.loop !56

902:                                              ; preds = %861
  br label %903

903:                                              ; preds = %902, %833
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #9
  br label %904

904:                                              ; preds = %903, %813, %806, %799
  %905 = load i32, ptr %17, align 4, !tbaa !9
  %906 = icmp eq i32 %905, 8
  br i1 %906, label %907, label %927

907:                                              ; preds = %904
  %908 = load i64, ptr %20, align 8, !tbaa !14
  %909 = sub i64 %908, 1
  %910 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %909)
          to label %911 unwind label %262

911:                                              ; preds = %907
  %912 = load i8, ptr %910, align 1, !tbaa !13
  %913 = sext i8 %912 to i32
  %914 = icmp eq i32 %913, 9
  br i1 %914, label %915, label %927

915:                                              ; preds = %911
  call void @llvm.lifetime.start.p0(i64 8, ptr %31) #9
  %916 = load i64, ptr %20, align 8, !tbaa !14
  %917 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %916)
          to label %918 unwind label %923

918:                                              ; preds = %915
  %919 = invoke i64 @_Z8parse_DRPc(ptr noundef %917)
          to label %920 unwind label %923

920:                                              ; preds = %918
  store i64 %919, ptr %31, align 4
  %921 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 11
  %922 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZNSt4pairIiiEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(8) %921, ptr noundef nonnull align 4 dereferenceable(8) %31) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #9
  br label %927

923:                                              ; preds = %918, %915
  %924 = landingpad { ptr, i32 }
          cleanup
  %925 = extractvalue { ptr, i32 } %924, 0
  store ptr %925, ptr %9, align 8
  %926 = extractvalue { ptr, i32 } %924, 1
  store i32 %926, ptr %10, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #9
  br label %1010

927:                                              ; preds = %920, %911, %904
  %928 = load i32, ptr %17, align 4, !tbaa !9
  %929 = icmp eq i32 %928, 4
  br i1 %929, label %930, label %949

930:                                              ; preds = %927
  %931 = load i64, ptr %20, align 8, !tbaa !14
  %932 = sub i64 %931, 1
  %933 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %932)
          to label %934 unwind label %262

934:                                              ; preds = %930
  %935 = load i8, ptr %933, align 1, !tbaa !13
  %936 = sext i8 %935 to i32
  %937 = icmp eq i32 %936, 60
  br i1 %937, label %938, label %949

938:                                              ; preds = %934
  %939 = load i64, ptr %20, align 8, !tbaa !14
  %940 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %939)
          to label %941 unwind label %262

941:                                              ; preds = %938
  call void @llvm.lifetime.start.p0(i64 1, ptr %33) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %33) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %32, ptr noundef %940, ptr noundef nonnull align 1 dereferenceable(1) %33)
          to label %942 unwind label %945

942:                                              ; preds = %941
  %943 = call noundef signext i16 @_Z8get_typeNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %32)
  %944 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 3
  store i16 %943, ptr %944, align 8, !tbaa !43
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %33) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %33) #9
  br label %949

945:                                              ; preds = %941
  %946 = landingpad { ptr, i32 }
          cleanup
  %947 = extractvalue { ptr, i32 } %946, 0
  store ptr %947, ptr %9, align 8
  %948 = extractvalue { ptr, i32 } %946, 1
  store i32 %948, ptr %10, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %33) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %33) #9
  br label %1010

949:                                              ; preds = %942, %934, %927
  %950 = load i32, ptr %17, align 4, !tbaa !9
  %951 = icmp eq i32 %950, 9
  br i1 %951, label %952, label %984

952:                                              ; preds = %949
  %953 = load i64, ptr %20, align 8, !tbaa !14
  %954 = sub i64 %953, 1
  %955 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %954)
          to label %956 unwind label %262

956:                                              ; preds = %952
  %957 = load i8, ptr %955, align 1, !tbaa !13
  %958 = sext i8 %957 to i32
  %959 = icmp eq i32 %958, 9
  br i1 %959, label %960, label %984

960:                                              ; preds = %956
  call void @llvm.lifetime.start.p0(i64 32, ptr %34) #9
  %961 = load i64, ptr %20, align 8, !tbaa !14
  %962 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %961)
          to label %963 unwind label %970

963:                                              ; preds = %960
  call void @llvm.lifetime.start.p0(i64 1, ptr %35) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %35) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %34, ptr noundef %962, ptr noundef nonnull align 1 dereferenceable(1) %35)
          to label %964 unwind label %974

964:                                              ; preds = %963
  %965 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 5
  %966 = load ptr, ptr %5, align 8, !tbaa !5
  %967 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEEixERS9_(ptr noundef nonnull align 8 dereferenceable(48) %965, ptr noundef nonnull align 8 dereferenceable(32) %966)
          to label %968 unwind label %978

968:                                              ; preds = %964
  %969 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %967, ptr noundef nonnull align 8 dereferenceable(32) %34) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %35) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %35) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %34) #9
  store i32 7, ptr %21, align 4
  br label %1009

970:                                              ; preds = %960
  %971 = landingpad { ptr, i32 }
          cleanup
  %972 = extractvalue { ptr, i32 } %971, 0
  store ptr %972, ptr %9, align 8
  %973 = extractvalue { ptr, i32 } %971, 1
  store i32 %973, ptr %10, align 4
  br label %983

974:                                              ; preds = %963
  %975 = landingpad { ptr, i32 }
          cleanup
  %976 = extractvalue { ptr, i32 } %975, 0
  store ptr %976, ptr %9, align 8
  %977 = extractvalue { ptr, i32 } %975, 1
  store i32 %977, ptr %10, align 4
  br label %982

978:                                              ; preds = %964
  %979 = landingpad { ptr, i32 }
          cleanup
  %980 = extractvalue { ptr, i32 } %979, 0
  store ptr %980, ptr %9, align 8
  %981 = extractvalue { ptr, i32 } %979, 1
  store i32 %981, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #9
  br label %982

982:                                              ; preds = %978, %974
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %35) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %35) #9
  br label %983

983:                                              ; preds = %982, %970
  call void @llvm.lifetime.end.p0(i64 32, ptr %34) #9
  br label %1010

984:                                              ; preds = %956, %949
  %985 = load i32, ptr %17, align 4, !tbaa !9
  %986 = icmp slt i32 %985, 9
  br i1 %986, label %987, label %995

987:                                              ; preds = %984
  %988 = load i64, ptr %20, align 8, !tbaa !14
  %989 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %988)
          to label %990 unwind label %262

990:                                              ; preds = %987
  %991 = load i8, ptr %989, align 1, !tbaa !13
  %992 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 0
  %993 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEc(ptr noundef nonnull align 8 dereferenceable(32) %992, i8 noundef signext %991)
          to label %994 unwind label %262

994:                                              ; preds = %990
  br label %995

995:                                              ; preds = %994, %984
  %996 = load i64, ptr %20, align 8, !tbaa !14
  %997 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %7, i64 noundef %996)
          to label %998 unwind label %262

998:                                              ; preds = %995
  %999 = load i8, ptr %997, align 1, !tbaa !13
  %1000 = sext i8 %999 to i32
  %1001 = icmp eq i32 %1000, 9
  br i1 %1001, label %1002, label %1005

1002:                                             ; preds = %998
  %1003 = load i32, ptr %17, align 4, !tbaa !9
  %1004 = add nsw i32 %1003, 1
  store i32 %1004, ptr %17, align 4, !tbaa !9
  br label %1005

1005:                                             ; preds = %1002, %998
  br label %1006

1006:                                             ; preds = %1005
  %1007 = load i64, ptr %20, align 8, !tbaa !14
  %1008 = add i64 %1007, 1
  store i64 %1008, ptr %20, align 8, !tbaa !14
  br label %229, !llvm.loop !57

1009:                                             ; preds = %968, %249
  call void @llvm.lifetime.end.p0(i64 8, ptr %20) #9
  br label %1011

1010:                                             ; preds = %983, %945, %923, %895, %735, %571, %549, %493, %472, %414, %391, %262
  call void @llvm.lifetime.end.p0(i64 8, ptr %20) #9
  br label %1182

1011:                                             ; preds = %1009
  %1012 = load i8, ptr %19, align 1, !tbaa !45, !range !58, !noundef !59
  %1013 = trunc i8 %1012 to i1
  br i1 %1013, label %1046, label %1014

1014:                                             ; preds = %1011
  %1015 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 3
  %1016 = load i16, ptr %1015, align 8, !tbaa !43
  %1017 = sext i16 %1016 to i32
  %1018 = icmp eq i32 %1017, 0
  br i1 %1018, label %1024, label %1019

1019:                                             ; preds = %1014
  %1020 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 3
  %1021 = load i16, ptr %1020, align 8, !tbaa !43
  %1022 = sext i16 %1021 to i32
  %1023 = icmp eq i32 %1022, 4
  br i1 %1023, label %1024, label %1029

1024:                                             ; preds = %1019, %1014
  %1025 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 9
  %1026 = getelementptr inbounds %"struct.std::pair", ptr %1025, i32 0, i32 0
  store i8 1, ptr %1026, align 8, !tbaa !46
  %1027 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 9
  %1028 = getelementptr inbounds %"struct.std::pair", ptr %1027, i32 0, i32 1
  store i8 0, ptr %1028, align 1, !tbaa !47
  br label %1045

1029:                                             ; preds = %1019
  %1030 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 3
  %1031 = load i16, ptr %1030, align 8, !tbaa !43
  %1032 = sext i16 %1031 to i32
  %1033 = icmp eq i32 %1032, 1
  br i1 %1033, label %1034, label %1039

1034:                                             ; preds = %1029
  %1035 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 9
  %1036 = getelementptr inbounds %"struct.std::pair", ptr %1035, i32 0, i32 0
  store i8 0, ptr %1036, align 8, !tbaa !46
  %1037 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 9
  %1038 = getelementptr inbounds %"struct.std::pair", ptr %1037, i32 0, i32 1
  store i8 1, ptr %1038, align 1, !tbaa !47
  br label %1044

1039:                                             ; preds = %1029
  %1040 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 9
  %1041 = getelementptr inbounds %"struct.std::pair", ptr %1040, i32 0, i32 0
  store i8 1, ptr %1041, align 8, !tbaa !46
  %1042 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 9
  %1043 = getelementptr inbounds %"struct.std::pair", ptr %1042, i32 0, i32 1
  store i8 1, ptr %1043, align 1, !tbaa !47
  br label %1044

1044:                                             ; preds = %1039, %1034
  br label %1045

1045:                                             ; preds = %1044, %1024
  br label %1046

1046:                                             ; preds = %1045, %1011
  %1047 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 2
  %1048 = getelementptr inbounds %struct.strcoordinate, ptr %1047, i32 0, i32 1
  %1049 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %1048) #9
  br i1 %1049, label %1050, label %1057

1050:                                             ; preds = %1046
  %1051 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 1
  %1052 = getelementptr inbounds %struct.strcoordinate, ptr %1051, i32 0, i32 1
  %1053 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 2
  %1054 = getelementptr inbounds %struct.strcoordinate, ptr %1053, i32 0, i32 1
  %1055 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %1054, ptr noundef nonnull align 8 dereferenceable(32) %1052)
          to label %1056 unwind label %258

1056:                                             ; preds = %1050
  br label %1057

1057:                                             ; preds = %1056, %1046
  %1058 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 14
  %1059 = load i32, ptr %1058, align 8, !tbaa !50
  %1060 = icmp eq i32 %1059, -1
  br i1 %1060, label %1061, label %1126

1061:                                             ; preds = %1057
  %1062 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 2
  %1063 = getelementptr inbounds %struct.strcoordinate, ptr %1062, i32 0, i32 0
  %1064 = load i32, ptr %1063, align 8, !tbaa !41
  %1065 = icmp ne i32 %1064, -1
  br i1 %1065, label %1066, label %1076

1066:                                             ; preds = %1061
  %1067 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 1
  %1068 = getelementptr inbounds %struct.strcoordinate, ptr %1067, i32 0, i32 0
  %1069 = load i32, ptr %1068, align 8, !tbaa !42
  %1070 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 2
  %1071 = getelementptr inbounds %struct.strcoordinate, ptr %1070, i32 0, i32 0
  %1072 = load i32, ptr %1071, align 8, !tbaa !41
  %1073 = sub nsw i32 %1069, %1072
  %1074 = call i32 @llvm.abs.i32(i32 %1073, i1 true)
  %1075 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 14
  store i32 %1074, ptr %1075, align 8, !tbaa !50
  br label %1125

1076:                                             ; preds = %1061
  %1077 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 21
  %1078 = getelementptr inbounds %"struct.std::pair.14", ptr %1077, i32 0, i32 1
  %1079 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %1078, i64 noundef 0)
          to label %1080 unwind label %258

1080:                                             ; preds = %1076
  %1081 = load i8, ptr %1079, align 1, !tbaa !13
  %1082 = sext i8 %1081 to i32
  %1083 = icmp ne i32 %1082, 60
  br i1 %1083, label %1084, label %1124

1084:                                             ; preds = %1080
  call void @llvm.lifetime.start.p0(i64 8, ptr %36) #9
  %1085 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 21
  %1086 = getelementptr inbounds %"struct.std::pair.14", ptr %1085, i32 0, i32 1
  %1087 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEPKcm(ptr noundef nonnull align 8 dereferenceable(32) %1086, ptr noundef @.str.39, i64 noundef 0) #9
  store i64 %1087, ptr %36, align 8, !tbaa !14
  %1088 = load i64, ptr %36, align 8, !tbaa !14
  %1089 = icmp ne i64 %1088, -1
  br i1 %1089, label %1090, label %1111

1090:                                             ; preds = %1084
  call void @llvm.lifetime.start.p0(i64 32, ptr %37) #9
  %1091 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 21
  %1092 = getelementptr inbounds %"struct.std::pair.14", ptr %1091, i32 0, i32 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %38, ptr noundef nonnull align 8 dereferenceable(32) %1092)
          to label %1093 unwind label %1102

1093:                                             ; preds = %1090
  %1094 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 21
  %1095 = getelementptr inbounds %"struct.std::pair.14", ptr %1094, i32 0, i32 0
  %1096 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %1095) #9
  %1097 = trunc i64 %1096 to i32
  invoke void @_Z15get_most_effectNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %37, ptr noundef %38, i32 noundef %1097)
          to label %1098 unwind label %1106

1098:                                             ; preds = %1093
  %1099 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 21
  %1100 = getelementptr inbounds %"struct.std::pair.14", ptr %1099, i32 0, i32 1
  %1101 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %1100, ptr noundef nonnull align 8 dereferenceable(32) %37) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %37) #9
  br label %1111

1102:                                             ; preds = %1090
  %1103 = landingpad { ptr, i32 }
          cleanup
  %1104 = extractvalue { ptr, i32 } %1103, 0
  store ptr %1104, ptr %9, align 8
  %1105 = extractvalue { ptr, i32 } %1103, 1
  store i32 %1105, ptr %10, align 4
  br label %1110

1106:                                             ; preds = %1093
  %1107 = landingpad { ptr, i32 }
          cleanup
  %1108 = extractvalue { ptr, i32 } %1107, 0
  store ptr %1108, ptr %9, align 8
  %1109 = extractvalue { ptr, i32 } %1107, 1
  store i32 %1109, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #9
  br label %1110

1110:                                             ; preds = %1106, %1102
  call void @llvm.lifetime.end.p0(i64 32, ptr %37) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #9
  br label %1182

1111:                                             ; preds = %1098, %1084
  %1112 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 21
  %1113 = getelementptr inbounds %"struct.std::pair.14", ptr %1112, i32 0, i32 0
  %1114 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %1113) #9
  %1115 = trunc i64 %1114 to i32
  %1116 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 21
  %1117 = getelementptr inbounds %"struct.std::pair.14", ptr %1116, i32 0, i32 1
  %1118 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %1117) #9
  %1119 = trunc i64 %1118 to i32
  %1120 = sub nsw i32 %1115, %1119
  %1121 = call i32 @llvm.abs.i32(i32 %1120, i1 true)
  %1122 = sub nsw i32 %1121, 1
  %1123 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 14
  store i32 %1122, ptr %1123, align 8, !tbaa !50
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #9
  br label %1124

1124:                                             ; preds = %1111, %1080
  br label %1125

1125:                                             ; preds = %1124, %1066
  br label %1126

1126:                                             ; preds = %1125, %1057
  %1127 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 2
  %1128 = getelementptr inbounds %struct.strcoordinate, ptr %1127, i32 0, i32 0
  %1129 = load i32, ptr %1128, align 8, !tbaa !41
  %1130 = icmp eq i32 %1129, -1
  br i1 %1130, label %1131, label %1145

1131:                                             ; preds = %1126
  %1132 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 14
  %1133 = load i32, ptr %1132, align 8, !tbaa !50
  %1134 = icmp ne i32 %1133, -1
  br i1 %1134, label %1135, label %1145

1135:                                             ; preds = %1131
  %1136 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 1
  %1137 = getelementptr inbounds %struct.strcoordinate, ptr %1136, i32 0, i32 0
  %1138 = load i32, ptr %1137, align 8, !tbaa !42
  %1139 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 14
  %1140 = load i32, ptr %1139, align 8, !tbaa !50
  %1141 = call i32 @llvm.abs.i32(i32 %1140, i1 true)
  %1142 = add nsw i32 %1138, %1141
  %1143 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 2
  %1144 = getelementptr inbounds %struct.strcoordinate, ptr %1143, i32 0, i32 0
  store i32 %1142, ptr %1144, align 8, !tbaa !41
  br label %1145

1145:                                             ; preds = %1135, %1131, %1126
  %1146 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 1
  %1147 = getelementptr inbounds %struct.strcoordinate, ptr %1146, i32 0, i32 1
  %1148 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %1147) #9
  %1149 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 2
  %1150 = getelementptr inbounds %struct.strcoordinate, ptr %1149, i32 0, i32 1
  %1151 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %1150) #9
  %1152 = call i32 @strcmp(ptr noundef %1148, ptr noundef %1151) #11
  %1153 = icmp ne i32 %1152, 0
  br i1 %1153, label %1159, label %1154

1154:                                             ; preds = %1145
  %1155 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 14
  %1156 = load i32, ptr %1155, align 8, !tbaa !50
  %1157 = load i32, ptr %6, align 4, !tbaa !9
  %1158 = icmp sge i32 %1156, %1157
  br i1 %1158, label %1159, label %1180

1159:                                             ; preds = %1154, %1145
  %1160 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 3
  %1161 = load i16, ptr %1160, align 8, !tbaa !43
  %1162 = sext i16 %1161 to i32
  %1163 = icmp eq i32 %1162, 5
  br i1 %1163, label %1164, label %1178

1164:                                             ; preds = %1159
  %1165 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 2
  %1166 = getelementptr inbounds %struct.strcoordinate, ptr %1165, i32 0, i32 1
  %1167 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %1166) #9
  %1168 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 1
  %1169 = getelementptr inbounds %struct.strcoordinate, ptr %1168, i32 0, i32 1
  %1170 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %1169) #9
  %1171 = call i32 @strcmp(ptr noundef %1167, ptr noundef %1170) #11
  %1172 = icmp eq i32 %1171, 0
  br i1 %1172, label %1173, label %1175

1173:                                             ; preds = %1164
  %1174 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 3
  store i16 2, ptr %1174, align 8, !tbaa !43
  br label %1177

1175:                                             ; preds = %1164
  %1176 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 3
  store i16 3, ptr %1176, align 8, !tbaa !43
  br label %1177

1177:                                             ; preds = %1175, %1173
  br label %1178

1178:                                             ; preds = %1177, %1159
  invoke void @_ZNSt6vectorI11strvcfentrySaIS0_EE9push_backERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(420) %18)
          to label %1179 unwind label %258

1179:                                             ; preds = %1178
  br label %1180

1180:                                             ; preds = %1179, %1154
  %1181 = getelementptr inbounds %struct.strvcfentry, ptr %18, i32 0, i32 5
  call void @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEE5clearEv(ptr noundef nonnull align 8 dereferenceable(48) %1181) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %19) #9
  call void @_ZN11strvcfentryD2Ev(ptr noundef nonnull align 8 dereferenceable(420) %18) #9
  call void @llvm.lifetime.end.p0(i64 424, ptr %18) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #9
  br label %1186

1182:                                             ; preds = %1110, %1010, %258
  call void @llvm.lifetime.end.p0(i64 1, ptr %19) #9
  br label %1183

1183:                                             ; preds = %1182, %254
  call void @_ZN11strvcfentryD2Ev(ptr noundef nonnull align 8 dereferenceable(420) %18) #9
  br label %1184

1184:                                             ; preds = %1183, %250
  call void @llvm.lifetime.end.p0(i64 424, ptr %18) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #9
  br label %1192

1185:                                             ; preds = %174
  br label %1186

1186:                                             ; preds = %1185, %1180
  br label %1187

1187:                                             ; preds = %1186, %169
  %1188 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(16) %8, ptr noundef nonnull align 8 dereferenceable(32) %7)
          to label %1189 unwind label %116

1189:                                             ; preds = %1187
  br label %69, !llvm.loop !60

1190:                                             ; preds = %75
  store i1 true, ptr %11, align 1
  store i32 1, ptr %21, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #9
  %1191 = load i1, ptr %11, align 1
  br i1 %1191, label %1194, label %1193

1192:                                             ; preds = %1184, %171, %116
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #9
  br label %1195

1193:                                             ; preds = %1190
  call void @_ZNSt6vectorI11strvcfentrySaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #9
  br label %1194

1194:                                             ; preds = %1193, %1190
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %8) #9
  call void @llvm.lifetime.end.p0(i64 520, ptr %8) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %7) #9
  ret void

1195:                                             ; preds = %1192, %112
  call void @_ZNSt6vectorI11strvcfentrySaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #9
  br label %1196

1196:                                             ; preds = %1195, %62
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %8) #9
  br label %1197

1197:                                             ; preds = %1196, %58
  call void @llvm.lifetime.end.p0(i64 520, ptr %8) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %7) #9
  br label %1198

1198:                                             ; preds = %1197
  %1199 = load ptr, ptr %9, align 8
  %1200 = load i32, ptr %10, align 4
  %1201 = insertvalue { ptr, i32 } poison, ptr %1199, 0
  %1202 = insertvalue { ptr, i32 } %1201, i32 %1200, 1
  resume { ptr, i32 } %1202
}

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

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

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

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

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

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

attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { inlinehint mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { 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 #5 = { nounwind willreturn memory(read) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { 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 #7 = { 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 #8 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #9 = { nounwind }
attributes #10 = { noreturn nounwind }
attributes #11 = { 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, !12, i64 0}
!12 = !{!"vtable pointer", !8, i64 0}
!13 = !{!7, !7, i64 0}
!14 = !{!15, !15, i64 0}
!15 = !{!"long", !7, i64 0}
!16 = distinct !{!16, !17}
!17 = !{!"llvm.loop.mustprogress"}
!18 = !{!19, !10, i64 168}
!19 = !{!"_ZTS11strvcfentry", !20, 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, !38, i64 204, !20, i64 216, !10, i64 248, !20, i64 256, !39, i64 288, !20, i64 296, !10, i64 328, !40, i64 336, !38, i64 400, !38, i64 408, !10, i64 416}
!20 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !21, i64 0, !15, i64 8, !7, i64 16}
!21 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !6, i64 0}
!22 = !{!"_ZTS13strcoordinate", !10, i64 0, !20, 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", !37, i64 0, !37, i64 1}
!37 = !{!"bool", !7, i64 0}
!38 = !{!"_ZTSSt4pairIiiE", !10, i64 0, !10, i64 4}
!39 = !{!"double", !7, i64 0}
!40 = !{!"_ZTSSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_E", !20, i64 0, !20, i64 32}
!41 = !{!19, !10, i64 72}
!42 = !{!19, !10, i64 32}
!43 = !{!19, !23, i64 112}
!44 = !{!19, !10, i64 416}
!45 = !{!37, !37, i64 0}
!46 = !{!19, !37, i64 200}
!47 = !{!19, !37, i64 201}
!48 = !{!19, !10, i64 204}
!49 = !{!19, !10, i64 208}
!50 = !{!19, !10, i64 248}
!51 = !{!19, !10, i64 328}
!52 = !{!19, !10, i64 408}
!53 = !{!19, !10, i64 412}
!54 = !{!19, !10, i64 400}
!55 = !{!19, !10, i64 404}
!56 = distinct !{!56, !17}
!57 = distinct !{!57, !17}
!58 = !{i8 0, i8 2}
!59 = !{}
!60 = distinct !{!60, !17}


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

%"class.std::basic_ostream" = type { ptr, %"class.std::basic_ios" }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"class.std::locale" = type { ptr }
%struct.strcoordinate = type { i32, %"class.std::__cxx11::basic_string" }
%"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.16" = type { %"struct.std::_Vector_base.17" }
%"struct.std::_Vector_base.17" = 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 }
%"class.std::allocator.0" = type { 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.4", %"struct.std::pair", [2 x i8], %"struct.std::pair.9", [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.9", %"struct.std::pair.9", i32, [4 x i8] }>
%"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::vector.4" = type { %"struct.std::_Vector_base.5" }
%"struct.std::_Vector_base.5" = 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.9" = type { i32, i32 }

@.str.1 = external hidden unnamed_addr constant [1 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [2 x i8], align 1
@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@.str.40 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [9 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

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

; Function Attrs: mustprogress nounwind uwtable
declare noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv(ptr noundef nonnull align 8 dereferenceable(264)) local_unnamed_addr #2 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 #3

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

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

; 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 nounwind uwtable
declare void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #2 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 void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #2 align 2

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_Z10parse_stopPKc(ptr dead_on_unwind noalias writable sret(%struct.strcoordinate) align 8, ptr noundef) local_unnamed_addr #1

; 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: mustprogress nofree nounwind willreturn memory(argmem: read)
declare i32 @strncmp(ptr nocapture noundef, ptr nocapture noundef, i64 noundef) local_unnamed_addr #5

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

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef signext i16 @_Z8get_typeNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef) local_unnamed_addr #2

; Function Attrs: mustprogress uwtable
declare dso_local void @_Z9parse_posPc(ptr dead_on_unwind noalias writable sret(%struct.strcoordinate) align 8, ptr noundef) local_unnamed_addr #1

; Function Attrs: mustprogress uwtable
declare dso_local i16 @_Z19parse_strands_lumpyPc(ptr noundef) local_unnamed_addr #1

; Function Attrs: mustprogress uwtable
declare dso_local i64 @_Z8parse_DRPc(ptr noundef) local_unnamed_addr #1

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

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

; Function Attrs: mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare i32 @llvm.abs.i32(i32, i1 immarg) #8

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN11strvcfentryC2Ev(ptr noundef nonnull align 8 dereferenceable(420)) unnamed_addr #3 align 2

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(40) ptr @_ZN13strcoordinateaSEOS_(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef nonnull align 8 dereferenceable(40)) local_unnamed_addr #7 align 2

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local i64 @_Z10parse_pairPc(ptr noundef) local_unnamed_addr #1

; Function Attrs: mustprogress uwtable
define dso_local void @_Z9parse_vcfRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi(ptr dead_on_unwind noalias writable sret(%"class.std::vector.16") align 8 %0, ptr noundef nonnull align 8 dereferenceable(32) %1, i32 noundef %2) local_unnamed_addr #1 personality ptr @__gxx_personality_v0 {
  %4 = alloca %"class.std::__cxx11::basic_string", align 8
  %5 = alloca %"class.std::basic_ifstream", align 8
  %6 = alloca %"class.std::__cxx11::basic_string", align 8
  %7 = alloca %"class.std::allocator.0", align 1
  %8 = alloca %struct.strvcfentry, align 8
  %9 = alloca %struct.strcoordinate, align 8
  %10 = alloca %"struct.std::pair", align 2
  %11 = alloca %struct.strcoordinate, align 8
  %12 = alloca %"class.std::__cxx11::basic_string", align 8
  %13 = alloca %"class.std::allocator.0", align 1
  %14 = alloca %"struct.std::pair.9", align 8
  %15 = alloca %"struct.std::pair.9", align 8
  %16 = alloca %"class.std::__cxx11::basic_string", align 8
  %17 = alloca %"struct.std::pair.9", align 8
  %18 = alloca %"class.std::__cxx11::basic_string", align 8
  %19 = alloca %"class.std::allocator.0", align 1
  %20 = alloca %"class.std::__cxx11::basic_string", align 8
  %21 = alloca %"class.std::allocator.0", align 1
  %22 = alloca %"class.std::__cxx11::basic_string", align 8
  %23 = alloca %"class.std::__cxx11::basic_string", align 8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %4) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #10
  call void @llvm.lifetime.start.p0(i64 520, ptr nonnull %5) #10
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(256) %5)
          to label %24 unwind label %40

24:                                               ; preds = %3
  %25 = 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) %5, ptr noundef %25, i32 noundef 8)
          to label %26 unwind label %42

26:                                               ; preds = %24
  %27 = load ptr, ptr %5, align 8, !tbaa !5
  %28 = getelementptr i8, ptr %27, i64 -24
  %29 = load i64, ptr %28, align 8
  %30 = getelementptr inbounds i8, ptr %5, i64 %29
  %31 = call noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE4goodEv(ptr noundef nonnull align 8 dereferenceable(264) %30)
  br i1 %31, label %44, label %32

32:                                               ; preds = %26
  %33 = 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.40)
          to label %34 unwind label %42

34:                                               ; preds = %32
  %35 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %1) #10
  %36 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %33, ptr noundef %35)
          to label %37 unwind label %42

37:                                               ; preds = %34
  %38 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %36, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %39 unwind label %42

39:                                               ; preds = %37
  call void @exit(i32 noundef 0) #11
  unreachable

40:                                               ; preds = %3
  %41 = landingpad { ptr, i32 }
          cleanup
  br label %575

42:                                               ; preds = %37, %34, %32, %24
  %43 = landingpad { ptr, i32 }
          cleanup
  br label %574

44:                                               ; preds = %26
  call void @_ZNSt6vectorI11strvcfentrySaIS0_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #10
  %45 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(16) %5, ptr noundef nonnull align 8 dereferenceable(32) %4)
          to label %.preheader unwind label %91

.preheader:                                       ; preds = %44
  %46 = getelementptr inbounds i8, ptr %8, i64 32
  %47 = getelementptr inbounds i8, ptr %8, i64 40
  %48 = getelementptr inbounds i8, ptr %8, i64 72
  %49 = getelementptr inbounds i8, ptr %8, i64 80
  %50 = getelementptr inbounds i8, ptr %8, i64 168
  %51 = getelementptr inbounds i8, ptr %8, i64 112
  %52 = getelementptr inbounds i8, ptr %8, i64 416
  %53 = getelementptr inbounds i8, ptr %8, i64 216
  %54 = getelementptr inbounds i8, ptr %8, i64 200
  %55 = getelementptr inbounds i8, ptr %8, i64 201
  %56 = getelementptr inbounds i8, ptr %8, i64 204
  %57 = getelementptr inbounds i8, ptr %8, i64 208
  %58 = getelementptr inbounds i8, ptr %8, i64 336
  %59 = getelementptr inbounds i8, ptr %8, i64 368
  %60 = getelementptr inbounds i8, ptr %8, i64 256
  %61 = getelementptr inbounds i8, ptr %8, i64 248
  %62 = getelementptr inbounds i8, ptr %8, i64 328
  %63 = getelementptr inbounds i8, ptr %8, i64 408
  %64 = getelementptr inbounds i8, ptr %8, i64 400
  %65 = getelementptr inbounds i8, ptr %8, i64 296
  %66 = getelementptr inbounds i8, ptr %8, i64 120
  br label %67

67:                                               ; preds = %.preheader, %570
  %68 = load ptr, ptr %5, align 8, !tbaa !5
  %69 = getelementptr i8, ptr %68, i64 -24
  %70 = load i64, ptr %69, align 8
  %71 = getelementptr inbounds i8, ptr %5, i64 %70
  %72 = invoke noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv(ptr noundef nonnull align 8 dereferenceable(264) %71)
          to label %73 unwind label %93

73:                                               ; preds = %67
  br i1 %72, label %572, label %74

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

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

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

83:                                               ; preds = %82
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %7) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %7) #10
  %84 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %4) #10
  %.not326 = icmp eq i64 %84, 0
  br i1 %.not326, label %.critedge, label %.lr.ph321

.lr.ph321:                                        ; preds = %83, %108
  %.0157320 = phi i64 [ %113, %108 ], [ 0, %83 ]
  %.0158319 = phi i32 [ %spec.select, %108 ], [ 0, %83 ]
  %85 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %.0157320)
  %86 = load i8, ptr %85, align 1, !tbaa !8
  %.not197 = icmp eq i8 %86, 0
  br i1 %.not197, label %.critedge, label %87

87:                                               ; preds = %.lr.ph321
  %88 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %.0157320)
  %89 = load i8, ptr %88, align 1, !tbaa !8
  %.not198 = icmp eq i8 %89, 10
  br i1 %.not198, label %.critedge, label %99

.critedge:                                        ; preds = %87, %108, %.lr.ph321, %83
  %90 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %6) #10
  br i1 %90, label %120, label %116

91:                                               ; preds = %44
  %92 = landingpad { ptr, i32 }
          cleanup
  br label %573

93:                                               ; preds = %570, %67
  %94 = landingpad { ptr, i32 }
          cleanup
  br label %573

95:                                               ; preds = %82
  %96 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %7) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %7) #10
  br label %122

97:                                               ; preds = %104
  %98 = landingpad { ptr, i32 }
          cleanup
  br label %121

99:                                               ; preds = %87
  %100 = icmp eq i32 %.0158319, 9
  br i1 %100, label %101, label %108

101:                                              ; preds = %99
  %102 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %.0157320)
  %103 = load i8, ptr %102, align 1, !tbaa !8
  %.not199 = icmp eq i8 %103, 9
  br i1 %.not199, label %108, label %104

104:                                              ; preds = %101
  %105 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %.0157320)
  %106 = load i8, ptr %105, align 1, !tbaa !8
  %107 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEc(ptr noundef nonnull align 8 dereferenceable(32) %6, i8 noundef signext %106)
          to label %108 unwind label %97

108:                                              ; preds = %104, %101, %99
  %109 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %.0157320)
  %110 = load i8, ptr %109, align 1, !tbaa !8
  %111 = icmp eq i8 %110, 9
  %112 = zext i1 %111 to i32
  %spec.select = add nuw nsw i32 %.0158319, %112
  %113 = add nuw i64 %.0157320, 1
  %114 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %4) #10
  %115 = icmp ult i64 %113, %114
  br i1 %115, label %.lr.ph321, label %.critedge, !llvm.loop !10

116:                                              ; preds = %.critedge
  %117 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %1, ptr noundef nonnull align 8 dereferenceable(32) %6)
          to label %120 unwind label %118

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

120:                                              ; preds = %116, %.critedge
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #10
  br label %570

121:                                              ; preds = %118, %97
  %.pn200 = phi { ptr, i32 } [ %98, %97 ], [ %119, %118 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #10
  br label %122

122:                                              ; preds = %121, %95
  %.pn200.pn = phi { ptr, i32 } [ %.pn200, %121 ], [ %96, %95 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #10
  br label %573

123:                                              ; preds = %78, %74
  %124 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef 0)
  %125 = load i8, ptr %124, align 1, !tbaa !8
  %.not = icmp eq i8 %125, 35
  br i1 %.not, label %570, label %126

126:                                              ; preds = %123
  call void @llvm.lifetime.start.p0(i64 424, ptr nonnull %8) #10
  invoke void @_ZN11strvcfentryC2Ev(ptr noundef nonnull align 8 dereferenceable(420) %8)
          to label %127 unwind label %146

127:                                              ; preds = %126
  %128 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %47, ptr noundef nonnull @.str.1)
          to label %129 unwind label %148

129:                                              ; preds = %127
  %130 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %49, ptr noundef nonnull @.str.1)
          to label %131 unwind label %148

131:                                              ; preds = %129
  store i32 0, ptr %50, align 8, !tbaa !12
  store i32 -1, ptr %48, align 8, !tbaa !38
  store i32 -1, ptr %46, align 8, !tbaa !39
  store i16 -1, ptr %51, align 8, !tbaa !40
  store i32 -1, ptr %52, align 8, !tbaa !41
  %132 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %53, ptr noundef nonnull @.str.31)
          to label %133 unwind label %150

133:                                              ; preds = %131
  store i8 1, ptr %54, align 8, !tbaa !42
  store i8 1, ptr %55, align 1, !tbaa !43
  store i32 0, ptr %56, align 4, !tbaa !44
  store i32 0, ptr %57, align 8, !tbaa !45
  %134 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %58, ptr noundef nonnull @.str.1)
          to label %135 unwind label %150

135:                                              ; preds = %133
  %136 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %59, ptr noundef nonnull @.str.1)
          to label %137 unwind label %150

137:                                              ; preds = %135
  %138 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %60, ptr noundef nonnull @.str.1)
          to label %139 unwind label %150

139:                                              ; preds = %137
  store i32 -1, ptr %61, align 8, !tbaa !46
  store i32 -1, ptr %62, align 8, !tbaa !47
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %64, i8 -1, i64 16, i1 false)
  %140 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %4) #10
  %.not325 = icmp eq i64 %140, 0
  br i1 %.not325, label %.critedge324, label %.lr.ph314

.lr.ph314:                                        ; preds = %139, %.thread271
  %.0150309 = phi i64 [ %502, %.thread271 ], [ 0, %139 ]
  %.0151307 = phi i1 [ %.2153257260261266269, %.thread271 ], [ false, %139 ]
  %.0155306 = phi i32 [ %spec.select217, %.thread271 ], [ 0, %139 ]
  %141 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %.0150309)
  %142 = load i8, ptr %141, align 1, !tbaa !8
  %.not177 = icmp eq i8 %142, 0
  br i1 %.not177, label %.critedge2, label %143

143:                                              ; preds = %.lr.ph314
  %144 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %.0150309)
  %145 = load i8, ptr %144, align 1, !tbaa !8
  %.not178 = icmp eq i8 %145, 10
  br i1 %.not178, label %.critedge2, label %154

146:                                              ; preds = %126
  %147 = landingpad { ptr, i32 }
          cleanup
  br label %569

148:                                              ; preds = %129, %127
  %149 = landingpad { ptr, i32 }
          cleanup
  br label %568

150:                                              ; preds = %566, %510, %137, %135, %133, %131
  %151 = landingpad { ptr, i32 }
          cleanup
  br label %568

152:                                              ; preds = %.invoke, %.thread267, %179
  %153 = landingpad { ptr, i32 }
          cleanup
  br label %568

154:                                              ; preds = %143
  switch i32 %.0155306, label %224 [
    i32 0, label %155
    i32 1, label %158
    i32 2, label %166
    i32 3, label %169
    i32 4, label %176
    i32 5, label %211
  ]

155:                                              ; preds = %154
  %156 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %.0150309)
  %157 = load i8, ptr %156, align 1, !tbaa !8
  %.not179 = icmp eq i8 %157, 9
  br i1 %.not179, label %.thread267, label %.invoke

158:                                              ; preds = %154
  %159 = add i64 %.0150309, -1
  %160 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %159)
  %161 = load i8, ptr %160, align 1, !tbaa !8
  %162 = icmp eq i8 %161, 9
  br i1 %162, label %163, label %.thread267

163:                                              ; preds = %158
  %164 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %.0150309)
  %165 = call i32 @atoi(ptr nocapture noundef %164) #12
  store i32 %165, ptr %46, align 8, !tbaa !39
  br label %.thread267

166:                                              ; preds = %154
  %167 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %.0150309)
  %168 = load i8, ptr %167, align 1, !tbaa !8
  %.not180 = icmp eq i8 %168, 9
  br i1 %.not180, label %.thread267, label %.invoke

169:                                              ; preds = %154
  %170 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %.0150309)
  %171 = load i8, ptr %170, align 1, !tbaa !8
  %.not181 = icmp eq i8 %171, 9
  br i1 %.not181, label %.thread267, label %.invoke

.invoke:                                          ; preds = %169, %166, %155
  %172 = phi ptr [ %47, %155 ], [ %60, %166 ], [ %58, %169 ]
  %173 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %.0150309)
  %174 = load i8, ptr %173, align 1, !tbaa !8
  %175 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEc(ptr noundef nonnull align 8 dereferenceable(32) %172, i8 noundef signext %174)
          to label %.thread267 unwind label %152

176:                                              ; preds = %154
  %177 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %.0150309)
  %178 = load i8, ptr %177, align 1, !tbaa !8
  %.not182 = icmp eq i8 %178, 9
  br i1 %.not182, label %.thread, label %179

179:                                              ; preds = %176
  %180 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %.0150309)
  %181 = load i8, ptr %180, align 1, !tbaa !8
  %182 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEc(ptr noundef nonnull align 8 dereferenceable(32) %59, i8 noundef signext %181)
          to label %.thread unwind label %152

.thread:                                          ; preds = %179, %176
  %183 = load i32, ptr %48, align 8, !tbaa !38
  %184 = icmp eq i32 %183, -1
  br i1 %184, label %185, label %._crit_edge343

185:                                              ; preds = %.thread
  %186 = add i64 %.0150309, -1
  %187 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %186)
  %188 = load i8, ptr %187, align 1, !tbaa !8
  %189 = icmp eq i8 %188, 91
  br i1 %189, label %194, label %190

190:                                              ; preds = %185
  %191 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %186)
  %192 = load i8, ptr %191, align 1, !tbaa !8
  %193 = icmp eq i8 %192, 93
  br i1 %193, label %194, label %._crit_edge343

194:                                              ; preds = %190, %185
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %9) #10
  %195 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %186)
  invoke void @_Z9parse_posPc(ptr dead_on_unwind nonnull writable sret(%struct.strcoordinate) align 8 %9, ptr noundef nonnull %195)
          to label %196 unwind label %198

196:                                              ; preds = %194
  %197 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZN13strcoordinateaSEOS_(ptr noundef nonnull align 8 dereferenceable(40) %48, ptr noundef nonnull align 8 dereferenceable(40) %9) #10
  call void @_ZN13strcoordinateD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %9) #10
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %9) #10
  br label %200

198:                                              ; preds = %194
  %199 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %9) #10
  br label %568

._crit_edge343:                                   ; preds = %190, %.thread
  %.pre345 = add i64 %.0150309, -1
  br label %200

200:                                              ; preds = %196, %._crit_edge343
  %.pre-phi346 = phi i64 [ %.pre345, %._crit_edge343 ], [ %186, %196 ]
  %201 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %.pre-phi346)
  %202 = load i8, ptr %201, align 1, !tbaa !8
  %203 = icmp eq i8 %202, 9
  br i1 %203, label %204, label %.critedge15.thread.thread388

204:                                              ; preds = %200
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %10) #10
  %205 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %.0150309)
  %206 = invoke i16 @_Z19parse_strands_lumpyPc(ptr noundef nonnull %205)
          to label %207 unwind label %209

207:                                              ; preds = %204
  store i16 %206, ptr %10, align 2
  %208 = call noundef nonnull align 1 dereferenceable(2) ptr @_ZNSt4pairIbbEaSEOS0_(ptr noundef nonnull align 1 dereferenceable(2) %54, ptr noundef nonnull align 1 dereferenceable(2) %10) #10
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %10) #10
  br label %.critedge15.thread.thread388

209:                                              ; preds = %204
  %210 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %10) #10
  br label %568

211:                                              ; preds = %154
  %212 = add i64 %.0150309, -1
  %213 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %212)
  %214 = load i8, ptr %213, align 1, !tbaa !8
  %215 = icmp eq i8 %214, 9
  br i1 %215, label %216, label %.thread267

216:                                              ; preds = %211
  %217 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %.0150309)
  %218 = load i8, ptr %217, align 1, !tbaa !8
  %219 = icmp eq i8 %218, 46
  br i1 %219, label %220, label %221

220:                                              ; preds = %216
  store i32 -1, ptr %62, align 8, !tbaa !47
  br label %.thread267

221:                                              ; preds = %216
  %222 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %.0150309)
  %223 = call i32 @atoi(ptr nocapture noundef %222) #12
  store i32 %223, ptr %62, align 8, !tbaa !47
  br label %.thread267

224:                                              ; preds = %154
  %225 = load i32, ptr %48, align 8, !tbaa !38
  %226 = icmp eq i32 %225, -1
  br i1 %226, label %227, label %241

227:                                              ; preds = %224
  %228 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %.0150309)
  %229 = call i32 @strncmp(ptr noundef nonnull dereferenceable(1) %228, ptr noundef nonnull dereferenceable(1) @.str.41, i64 noundef 5) #12
  %230 = icmp eq i32 %229, 0
  br i1 %230, label %235, label %231

231:                                              ; preds = %227
  %232 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %.0150309)
  %233 = call i32 @strncmp(ptr noundef nonnull dereferenceable(1) %232, ptr noundef nonnull dereferenceable(1) @.str.42, i64 noundef 5) #12
  %234 = icmp eq i32 %233, 0
  br i1 %234, label %235, label %241

235:                                              ; preds = %231, %227
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %11) #10
  %236 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %.0150309)
  invoke void @_Z10parse_stopPKc(ptr dead_on_unwind nonnull writable sret(%struct.strcoordinate) align 8 %11, ptr noundef nonnull %236)
          to label %237 unwind label %239

237:                                              ; preds = %235
  %238 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZN13strcoordinateaSEOS_(ptr noundef nonnull align 8 dereferenceable(40) %48, ptr noundef nonnull align 8 dereferenceable(40) %11) #10
  call void @_ZN13strcoordinateD2Ev(ptr noundef nonnull align 8 dereferenceable(40) %11) #10
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %11) #10
  br label %241

239:                                              ; preds = %235
  %240 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %11) #10
  br label %568

241:                                              ; preds = %237, %231, %224
  %242 = icmp eq i32 %.0155306, 7
  br i1 %242, label %243, label %401

243:                                              ; preds = %241
  %244 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %.0150309)
  %245 = call i32 @strncmp(ptr noundef nonnull dereferenceable(1) %244, ptr noundef nonnull dereferenceable(1) @.str.32, i64 noundef 7) #12
  %246 = icmp eq i32 %245, 0
  br i1 %246, label %247, label %254

247:                                              ; preds = %243
  %248 = add i64 %.0150309, 7
  %249 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %248)
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %13) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %13) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %12, ptr noundef nonnull %249, ptr noundef nonnull align 1 dereferenceable(1) %13)
          to label %250 unwind label %252

250:                                              ; preds = %247
  %251 = call noundef signext i16 @_Z8get_typeNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull %12)
  store i16 %251, ptr %51, align 8, !tbaa !40
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %13) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %13) #10
  br label %254

252:                                              ; preds = %247
  %253 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %13) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %13) #10
  br label %568

254:                                              ; preds = %243, %250
  %255 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %.0150309)
  %256 = call i32 @strncmp(ptr noundef nonnull dereferenceable(1) %255, ptr noundef nonnull dereferenceable(1) @.str.20, i64 noundef 4) #12
  %257 = icmp eq i32 %256, 0
  br i1 %257, label %258, label %.critedge208

258:                                              ; preds = %254
  %259 = add i64 %.0150309, 4
  %260 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %259)
  %261 = call i32 @atoi(ptr nocapture noundef %260) #12
  store i32 %261, ptr %57, align 8, !tbaa !45
  br label %.critedge208

.critedge208:                                     ; preds = %254, %258
  %262 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %.0150309)
  %263 = call i32 @strncmp(ptr noundef nonnull dereferenceable(1) %262, ptr noundef nonnull dereferenceable(1) @.str.21, i64 noundef 4) #12
  %264 = icmp eq i32 %263, 0
  br i1 %264, label %265, label %.critedge209

265:                                              ; preds = %.critedge208
  %266 = add i64 %.0150309, 4
  %267 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %266)
  %268 = call i32 @atoi(ptr nocapture noundef %267) #12
  store i32 %268, ptr %57, align 8, !tbaa !45
  br label %.critedge209

.critedge209:                                     ; preds = %.critedge208, %265
  %269 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %.0150309)
  %270 = call i32 @strncmp(ptr noundef nonnull dereferenceable(1) %269, ptr noundef nonnull dereferenceable(1) @.str.43, i64 noundef 6) #12
  %271 = icmp eq i32 %270, 0
  br i1 %271, label %272, label %.critedge210

272:                                              ; preds = %.critedge209
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %14) #10
  %273 = add i64 %.0150309, 6
  %274 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %273)
  %275 = invoke i64 @_Z10parse_pairPc(ptr noundef nonnull %274)
          to label %276 unwind label %278

276:                                              ; preds = %272
  store i64 %275, ptr %14, align 8
  %277 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZNSt4pairIiiEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(8) %64, ptr noundef nonnull align 4 dereferenceable(8) %14) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #10
  br label %.critedge210

278:                                              ; preds = %272
  %279 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #10
  br label %568

.critedge210:                                     ; preds = %.critedge209, %276
  %280 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %.0150309)
  %281 = call i32 @strncmp(ptr noundef nonnull dereferenceable(1) %280, ptr noundef nonnull dereferenceable(1) @.str.44, i64 noundef 6) #12
  %282 = icmp eq i32 %281, 0
  br i1 %282, label %283, label %.critedge211

283:                                              ; preds = %.critedge210
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %15) #10
  %284 = add i64 %.0150309, 6
  %285 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %284)
  %286 = invoke i64 @_Z10parse_pairPc(ptr noundef nonnull %285)
          to label %287 unwind label %289

287:                                              ; preds = %283
  store i64 %286, ptr %15, align 8
  %288 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZNSt4pairIiiEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(8) %63, ptr noundef nonnull align 4 dereferenceable(8) %15) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) #10
  br label %.critedge211

289:                                              ; preds = %283
  %290 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) #10
  br label %568

.critedge211:                                     ; preds = %.critedge210, %287
  %291 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %.0150309)
  %292 = call i32 @strncmp(ptr noundef nonnull dereferenceable(1) %291, ptr noundef nonnull dereferenceable(1) @.str.45, i64 noundef 5) #12
  %293 = icmp eq i32 %292, 0
  br i1 %293, label %294, label %.critedge212

294:                                              ; preds = %.critedge211
  %295 = add i64 %.0150309, 5
  %296 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %295)
  %297 = call i32 @atoi(ptr nocapture noundef %296) #12
  store i32 %297, ptr %52, align 8, !tbaa !41
  br label %.critedge212

.critedge212:                                     ; preds = %.critedge211, %294
  %298 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %.0150309)
  %299 = call i32 @strncmp(ptr noundef nonnull dereferenceable(1) %298, ptr noundef nonnull dereferenceable(1) @.str.46, i64 noundef 3) #12
  %300 = icmp eq i32 %299, 0
  br i1 %300, label %301, label %.critedge213

301:                                              ; preds = %.critedge212
  %302 = add i64 %.0150309, 3
  %303 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %302)
  %304 = call i32 @atoi(ptr nocapture noundef %303) #12
  store i32 %304, ptr %52, align 8, !tbaa !41
  br label %.critedge213

.critedge213:                                     ; preds = %.critedge212, %301
  %305 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %.0150309)
  %306 = call i32 @strncmp(ptr noundef nonnull dereferenceable(1) %305, ptr noundef nonnull dereferenceable(1) @.str.34, i64 noundef 4) #12
  %307 = icmp eq i32 %306, 0
  br i1 %307, label %308, label %.critedge214

308:                                              ; preds = %.critedge213
  %309 = add i64 %.0150309, 4
  %310 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %309)
  %311 = load i8, ptr %310, align 1, !tbaa !8
  %312 = icmp ne i8 %311, 53
  %313 = zext i1 %312 to i8
  store i8 %313, ptr %54, align 8, !tbaa !42
  %314 = add i64 %.0150309, 7
  %315 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %314)
  %316 = load i8, ptr %315, align 1, !tbaa !8
  %317 = icmp ne i8 %316, 53
  %318 = zext i1 %317 to i8
  store i8 %318, ptr %55, align 1, !tbaa !43
  br label %.critedge214

.critedge214:                                     ; preds = %308, %.critedge213
  %.1152 = phi i1 [ true, %308 ], [ %.0151307, %.critedge213 ]
  %319 = load i32, ptr %61, align 8, !tbaa !46
  %320 = icmp eq i32 %319, -1
  br i1 %320, label %321, label %329

321:                                              ; preds = %.critedge214
  %322 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %.0150309)
  %323 = call i32 @strncmp(ptr noundef nonnull dereferenceable(1) %322, ptr noundef nonnull dereferenceable(1) @.str.47, i64 noundef 8) #12
  %324 = icmp eq i32 %323, 0
  br i1 %324, label %.thread381, label %._crit_edge

._crit_edge:                                      ; preds = %321
  %.pre = load i32, ptr %61, align 8, !tbaa !46
  br label %329

.thread381:                                       ; preds = %321
  %325 = add i64 %.0150309, 8
  %326 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %325)
  %327 = call double @atof(ptr noundef %326) #12
  %328 = fptosi double %327 to i32
  br label %.thread379.sink.split

329:                                              ; preds = %._crit_edge, %.critedge214
  %330 = phi i32 [ %.pre, %._crit_edge ], [ %319, %.critedge214 ]
  %331 = icmp eq i32 %330, -1
  br i1 %331, label %332, label %.thread356

332:                                              ; preds = %329
  %333 = add i64 %.0150309, -1
  %334 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %333)
  %335 = call i32 @strncmp(ptr noundef nonnull dereferenceable(1) %334, ptr noundef nonnull dereferenceable(1) @.str.48, i64 noundef 7) #12
  %336 = icmp eq i32 %335, 0
  br i1 %336, label %.thread366, label %._crit_edge339

._crit_edge339:                                   ; preds = %332
  %.pre340 = load i32, ptr %61, align 8, !tbaa !46
  br label %.thread356

.thread366:                                       ; preds = %332
  %337 = add i64 %.0150309, 8
  %338 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %337)
  %339 = call i32 @atoi(ptr nocapture noundef %338) #12
  br label %.thread379.sink.split

.thread356:                                       ; preds = %._crit_edge339, %329
  %340 = phi i32 [ %.pre340, %._crit_edge339 ], [ %330, %329 ]
  %341 = icmp eq i32 %340, -1
  br i1 %341, label %342, label %.thread379

342:                                              ; preds = %.thread356
  %343 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %.0150309)
  %344 = call i32 @strncmp(ptr noundef nonnull dereferenceable(1) %343, ptr noundef nonnull dereferenceable(1) @.str.49, i64 noundef 7) #12
  %345 = icmp eq i32 %344, 0
  br i1 %345, label %346, label %.thread379

346:                                              ; preds = %342
  %347 = add i64 %.0150309, 7
  %348 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %347)
  %349 = call i32 @atoi(ptr nocapture noundef %348) #12
  br label %.thread379.sink.split

.thread379.sink.split:                            ; preds = %346, %.thread366, %.thread381
  %.sink414 = phi i32 [ %328, %.thread381 ], [ %339, %.thread366 ], [ %349, %346 ]
  %350 = call i32 @llvm.abs.i32(i32 %.sink414, i1 true)
  store i32 %350, ptr %61, align 8, !tbaa !46
  br label %.thread379

.thread379:                                       ; preds = %.thread379.sink.split, %.thread356, %342
  %351 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %.0150309)
  %352 = call i32 @strncmp(ptr noundef nonnull dereferenceable(1) %351, ptr noundef nonnull dereferenceable(1) @.str.45, i64 noundef 5) #12
  %353 = icmp eq i32 %352, 0
  br i1 %353, label %354, label %358

354:                                              ; preds = %.thread379
  %355 = add i64 %.0150309, 5
  %356 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %355)
  %357 = call i32 @atoi(ptr nocapture noundef %356) #12
  store i32 %357, ptr %52, align 8, !tbaa !41
  br label %358

358:                                              ; preds = %.thread379, %354
  %359 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %.0150309)
  %360 = call i32 @strncmp(ptr noundef nonnull dereferenceable(1) %359, ptr noundef nonnull dereferenceable(1) @.str.50, i64 noundef 9) #12
  %361 = icmp eq i32 %360, 0
  br i1 %361, label %362, label %.critedge216

362:                                              ; preds = %358
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %16) #10
  %363 = add i64 %.0150309, 9
  %364 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %363)
  invoke void @_Z14parse_supp_vecB5cxx11Pc(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %16, ptr noundef nonnull %364)
          to label %365 unwind label %367

365:                                              ; preds = %362
  %366 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %65, ptr noundef nonnull align 8 dereferenceable(32) %16) #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 %.critedge216

367:                                              ; preds = %362
  %368 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #10
  br label %568

.critedge216:                                     ; preds = %365, %358
  %369 = load i32, ptr %61, align 8, !tbaa !46
  %370 = icmp eq i32 %369, -1
  br i1 %370, label %371, label %386

371:                                              ; preds = %.critedge216
  %372 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %.0150309)
  %373 = call i32 @strncmp(ptr noundef nonnull dereferenceable(1) %372, ptr noundef nonnull dereferenceable(1) @.str.51, i64 noundef 8) #12
  %374 = icmp eq i32 %373, 0
  br i1 %374, label %375, label %386

375:                                              ; preds = %371
  %376 = add i64 %.0150309, 7
  %377 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %376)
  %378 = call double @atof(ptr noundef %377) #12
  %379 = fcmp ogt double %378, 0.000000e+00
  br i1 %379, label %380, label %386

380:                                              ; preds = %375
  %381 = add i64 %.0150309, 8
  %382 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %381)
  %383 = call double @atof(ptr noundef %382) #12
  %384 = fptosi double %383 to i32
  %385 = call i32 @llvm.abs.i32(i32 %384, i1 true)
  store i32 %385, ptr %61, align 8, !tbaa !46
  br label %386

386:                                              ; preds = %375, %380, %371, %.critedge216
  %387 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %.0150309)
  %388 = call i32 @strncmp(ptr noundef nonnull dereferenceable(1) %387, ptr noundef nonnull dereferenceable(1) @.str.38, i64 noundef 9) #12
  %389 = icmp eq i32 %388, 0
  br i1 %389, label %390, label %.thread267

390:                                              ; preds = %386
  %391 = add i64 %.0150309, 9
  %392 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %391)
  %393 = load i8, ptr %392, align 1, !tbaa !8
  %394 = icmp eq i8 %393, 43
  %395 = zext i1 %394 to i8
  store i8 %395, ptr %54, align 8, !tbaa !42
  %396 = add i64 %.0150309, 10
  %397 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %396)
  %398 = load i8, ptr %397, align 1, !tbaa !8
  %399 = icmp eq i8 %398, 43
  %400 = zext i1 %399 to i8
  store i8 %400, ptr %55, align 1, !tbaa !43
  br label %.thread267

401:                                              ; preds = %241
  %402 = icmp ugt i32 %.0155306, 8
  br i1 %402, label %403, label %.critedge15

403:                                              ; preds = %401
  %404 = add i64 %.0150309, -1
  %405 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %404)
  %406 = load i8, ptr %405, align 1, !tbaa !8
  %407 = icmp eq i8 %406, 9
  br i1 %407, label %408, label %.critedge15.thread.thread

408:                                              ; preds = %403
  %409 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %53, i64 noundef 0)
  %410 = load i8, ptr %409, align 1, !tbaa !8
  %411 = icmp eq i8 %410, 46
  br i1 %411, label %412, label %.critedge15.thread.thread

412:                                              ; preds = %408
  %413 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %53, ptr noundef nonnull @.str.31)
          to label %414 unwind label %449

414:                                              ; preds = %412
  %415 = add nuw i64 %.0150309, 1
  %416 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %415)
  %417 = load i8, ptr %416, align 1, !tbaa !8
  %418 = icmp eq i8 %417, 47
  br i1 %418, label %423, label %419

419:                                              ; preds = %414
  %420 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %415)
  %421 = load i8, ptr %420, align 1, !tbaa !8
  %422 = icmp eq i8 %421, 124
  br i1 %422, label %423, label %.critedge15.thread.thread

423:                                              ; preds = %419, %414
  %424 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %.0150309)
  %425 = load i8, ptr %424, align 1, !tbaa !8
  %.not183303 = icmp eq i8 %425, 0
  br i1 %.not183303, label %.critedge15.thread.thread, label %.lr.ph

.lr.ph:                                           ; preds = %423, %451
  %.0149304 = phi i64 [ %.pre-phi, %451 ], [ %.0150309, %423 ]
  %426 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %53, i64 noundef 0)
  %427 = load i8, ptr %426, align 1, !tbaa !8
  %428 = icmp eq i8 %427, 46
  br i1 %428, label %.critedge17, label %429

429:                                              ; preds = %.lr.ph
  %430 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %53, i64 noundef 2)
  %431 = load i8, ptr %430, align 1, !tbaa !8
  %432 = icmp eq i8 %431, 48
  br i1 %432, label %.critedge17, label %.critedge15

.critedge17:                                      ; preds = %.lr.ph, %429
  %433 = add i64 %.0149304, -1
  %434 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %433)
  %435 = load i8, ptr %434, align 1, !tbaa !8
  %436 = icmp eq i8 %435, 9
  br i1 %436, label %437, label %.critedge17._crit_edge

.critedge17._crit_edge:                           ; preds = %.critedge17
  %.pre344 = add i64 %.0149304, 1
  br label %451

437:                                              ; preds = %.critedge17
  %438 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %.0149304)
  %439 = load i8, ptr %438, align 1, !tbaa !8
  %440 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %53, i64 noundef 0)
  store i8 %439, ptr %440, align 1, !tbaa !8
  %441 = add i64 %.0149304, 1
  %442 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %441)
  %443 = load i8, ptr %442, align 1, !tbaa !8
  %444 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %53, i64 noundef 1)
  store i8 %443, ptr %444, align 1, !tbaa !8
  %445 = add i64 %.0149304, 2
  %446 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %445)
  %447 = load i8, ptr %446, align 1, !tbaa !8
  %448 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %53, i64 noundef 2)
  store i8 %447, ptr %448, align 1, !tbaa !8
  br label %451

449:                                              ; preds = %412
  %450 = landingpad { ptr, i32 }
          cleanup
  br label %568

451:                                              ; preds = %.critedge17._crit_edge, %437
  %.pre-phi = phi i64 [ %.pre344, %.critedge17._crit_edge ], [ %441, %437 ]
  %452 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %.pre-phi)
  %453 = load i8, ptr %452, align 1, !tbaa !8
  %.not183 = icmp eq i8 %453, 0
  br i1 %.not183, label %.critedge15, label %.lr.ph, !llvm.loop !48

.critedge15:                                      ; preds = %429, %451, %401
  switch i32 %.0155306, label %493 [
    i32 8, label %454
    i32 9, label %477
  ]

454:                                              ; preds = %.critedge15
  %455 = add i64 %.0150309, -1
  %456 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %455)
  %457 = load i8, ptr %456, align 1, !tbaa !8
  %458 = icmp eq i8 %457, 9
  br i1 %458, label %459, label %.thread267

459:                                              ; preds = %454
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %17) #10
  %460 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %.0150309)
  %461 = invoke i64 @_Z8parse_DRPc(ptr noundef nonnull %460)
          to label %462 unwind label %464

462:                                              ; preds = %459
  store i64 %461, ptr %17, align 8
  %463 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZNSt4pairIiiEaSEOS0_(ptr noundef nonnull align 4 dereferenceable(8) %56, ptr noundef nonnull align 4 dereferenceable(8) %17) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #10
  br label %.thread267

464:                                              ; preds = %459
  %465 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #10
  br label %568

.critedge15.thread.thread388:                     ; preds = %200, %207
  %466 = add i64 %.0150309, -1
  %467 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %466)
  %468 = load i8, ptr %467, align 1, !tbaa !8
  %469 = icmp eq i8 %468, 60
  br i1 %469, label %470, label %.thread267

470:                                              ; preds = %.critedge15.thread.thread388
  %471 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %.0150309)
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %19) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %18, ptr noundef nonnull %471, ptr noundef nonnull align 1 dereferenceable(1) %19)
          to label %472 unwind label %474

472:                                              ; preds = %470
  %473 = call noundef signext i16 @_Z8get_typeNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull %18)
  store i16 %473, ptr %51, align 8, !tbaa !40
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %19) #10
  br label %.thread267

474:                                              ; preds = %470
  %475 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %19) #10
  br label %568

.critedge15.thread.thread:                        ; preds = %423, %419, %408, %403
  %476 = icmp eq i32 %.0155306, 9
  br i1 %476, label %477, label %493

477:                                              ; preds = %.critedge15, %.critedge15.thread.thread
  %478 = add i64 %.0150309, -1
  %479 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %478)
  %480 = load i8, ptr %479, align 1, !tbaa !8
  %481 = icmp eq i8 %480, 9
  br i1 %481, label %482, label %.thread271

482:                                              ; preds = %477
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %20) #10
  %483 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %.0150309)
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %21) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef nonnull %483, ptr noundef nonnull align 1 dereferenceable(1) %21)
          to label %484 unwind label %488

484:                                              ; preds = %482
  %485 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEEixERS9_(ptr noundef nonnull align 8 dereferenceable(48) %66, ptr noundef nonnull align 8 dereferenceable(32) %1)
          to label %486 unwind label %490

486:                                              ; preds = %484
  %487 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %485, ptr noundef nonnull align 8 dereferenceable(32) %20) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %21) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #10
  br i1 %.0151307, label %508, label %.critedge324

488:                                              ; preds = %482
  %489 = landingpad { ptr, i32 }
          cleanup
  br label %492

490:                                              ; preds = %484
  %491 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #10
  br label %492

492:                                              ; preds = %490, %488
  %.pn = phi { ptr, i32 } [ %491, %490 ], [ %489, %488 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %21) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #10
  br label %568

493:                                              ; preds = %.critedge15, %.critedge15.thread.thread
  %494 = icmp ult i32 %.0155306, 9
  br i1 %494, label %.thread267, label %.thread271

.thread267:                                       ; preds = %386, %.invoke, %390, %211, %221, %220, %166, %158, %163, %155, %169, %454, %462, %472, %.critedge15.thread.thread388, %493
  %.2153257260261266270 = phi i1 [ %.0151307, %493 ], [ %.0151307, %462 ], [ %.0151307, %.critedge15.thread.thread388 ], [ %.0151307, %472 ], [ true, %390 ], [ %.0151307, %454 ], [ %.0151307, %169 ], [ %.0151307, %155 ], [ %.0151307, %163 ], [ %.0151307, %158 ], [ %.0151307, %166 ], [ %.0151307, %220 ], [ %.0151307, %221 ], [ %.0151307, %211 ], [ %.0151307, %.invoke ], [ %.1152, %386 ]
  %495 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %.0150309)
  %496 = load i8, ptr %495, align 1, !tbaa !8
  %497 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEc(ptr noundef nonnull align 8 dereferenceable(32) %8, i8 noundef signext %496)
          to label %.thread271 unwind label %152

.thread271:                                       ; preds = %477, %.thread267, %493
  %.2153257260261266269 = phi i1 [ %.2153257260261266270, %.thread267 ], [ %.0151307, %493 ], [ %.0151307, %477 ]
  %498 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %.0150309)
  %499 = load i8, ptr %498, align 1, !tbaa !8
  %500 = icmp eq i8 %499, 9
  %501 = zext i1 %500 to i32
  %spec.select217 = add nuw nsw i32 %.0155306, %501
  %502 = add nuw i64 %.0150309, 1
  %503 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %4) #10
  %504 = icmp ult i64 %502, %503
  br i1 %504, label %.lr.ph314, label %.critedge2, !llvm.loop !49

.critedge2:                                       ; preds = %.lr.ph314, %.thread271, %143
  %.3154 = phi i1 [ %.0151307, %143 ], [ %.2153257260261266269, %.thread271 ], [ %.0151307, %.lr.ph314 ]
  br i1 %.3154, label %508, label %.critedge324

.critedge324:                                     ; preds = %486, %139, %.critedge2
  %505 = load i16, ptr %51, align 8
  %506 = and i16 %505, -5
  %or.cond21 = icmp ne i16 %506, 0
  %507 = icmp ne i16 %505, 1
  %.sink415 = zext i1 %507 to i8
  %.sink = zext i1 %or.cond21 to i8
  store i8 %.sink415, ptr %54, align 8, !tbaa !42
  store i8 %.sink, ptr %55, align 1, !tbaa !43
  br label %508

508:                                              ; preds = %.critedge324, %486, %.critedge2
  %509 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %49) #10
  br i1 %509, label %510, label %512

510:                                              ; preds = %508
  %511 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %49, ptr noundef nonnull align 8 dereferenceable(32) %47)
          to label %512 unwind label %150

512:                                              ; preds = %510, %508
  %513 = load i32, ptr %61, align 8
  %514 = icmp eq i32 %513, -1
  br i1 %514, label %515, label %545

515:                                              ; preds = %512
  %516 = load i32, ptr %48, align 8, !tbaa !38
  %.not186 = icmp eq i32 %516, -1
  br i1 %.not186, label %521, label %517

517:                                              ; preds = %515
  %518 = load i32, ptr %46, align 8, !tbaa !39
  %519 = sub nsw i32 %518, %516
  %520 = call i32 @llvm.abs.i32(i32 %519, i1 true)
  store i32 %520, ptr %61, align 8, !tbaa !46
  br label %545

521:                                              ; preds = %515
  %522 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %59, i64 noundef 0)
  %523 = load i8, ptr %522, align 1, !tbaa !8
  %.not187 = icmp eq i8 %523, 60
  br i1 %.not187, label %._crit_edge341, label %524

._crit_edge341:                                   ; preds = %521
  %.pre342 = load i32, ptr %61, align 8
  br label %545

524:                                              ; preds = %521
  %525 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEPKcm(ptr noundef nonnull align 8 dereferenceable(32) %59, ptr noundef nonnull @.str.39, i64 noundef 0) #10
  %.not188 = icmp eq i64 %525, -1
  br i1 %.not188, label %537, label %526

526:                                              ; preds = %524
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %22) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %23, ptr noundef nonnull align 8 dereferenceable(32) %59)
          to label %527 unwind label %532

527:                                              ; preds = %526
  %528 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %58) #10
  %529 = trunc i64 %528 to i32
  invoke void @_Z15get_most_effectNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %22, ptr noundef nonnull %23, i32 noundef %529)
          to label %530 unwind label %534

530:                                              ; preds = %527
  %531 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %59, ptr noundef nonnull align 8 dereferenceable(32) %22) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #10
  br label %537

532:                                              ; preds = %526
  %533 = landingpad { ptr, i32 }
          cleanup
  br label %536

534:                                              ; preds = %527
  %535 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #10
  br label %536

536:                                              ; preds = %534, %532
  %.pn189 = phi { ptr, i32 } [ %535, %534 ], [ %533, %532 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #10
  br label %568

537:                                              ; preds = %530, %524
  %538 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %58) #10
  %539 = trunc i64 %538 to i32
  %540 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %59) #10
  %541 = trunc i64 %540 to i32
  %542 = sub nsw i32 %539, %541
  %543 = call i32 @llvm.abs.i32(i32 %542, i1 true)
  %544 = add nsw i32 %543, -1
  store i32 %544, ptr %61, align 8, !tbaa !46
  br label %545

545:                                              ; preds = %._crit_edge341, %517, %537, %512
  %546 = phi i32 [ %.pre342, %._crit_edge341 ], [ %520, %517 ], [ %544, %537 ], [ %513, %512 ]
  %547 = load i32, ptr %48, align 8, !tbaa !38
  %548 = icmp eq i32 %547, -1
  %549 = icmp ne i32 %546, -1
  %or.cond24 = select i1 %548, i1 %549, i1 false
  br i1 %or.cond24, label %550, label %554

550:                                              ; preds = %545
  %551 = load i32, ptr %46, align 8, !tbaa !39
  %552 = call i32 @llvm.abs.i32(i32 %546, i1 true)
  %553 = add nsw i32 %551, %552
  store i32 %553, ptr %48, align 8, !tbaa !38
  br label %554

554:                                              ; preds = %550, %545
  %555 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %47) #10
  %556 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %49) #10
  %557 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %555, ptr noundef nonnull dereferenceable(1) %556) #12
  %.not191 = icmp eq i32 %557, 0
  %558 = load i32, ptr %61, align 8
  %.not192 = icmp slt i32 %558, %2
  %or.cond218 = select i1 %.not191, i1 %.not192, i1 false
  br i1 %or.cond218, label %567, label %559

559:                                              ; preds = %554
  %560 = load i16, ptr %51, align 8, !tbaa !40
  %561 = icmp eq i16 %560, 5
  br i1 %561, label %.sink.split416, label %566

.sink.split416:                                   ; preds = %559
  %562 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %49) #10
  %563 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %47) #10
  %564 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %562, ptr noundef nonnull dereferenceable(1) %563) #12
  %565 = icmp eq i32 %564, 0
  %.418 = select i1 %565, i16 2, i16 3
  store i16 %.418, ptr %51, align 8, !tbaa !40
  br label %566

566:                                              ; preds = %.sink.split416, %559
  invoke void @_ZNSt6vectorI11strvcfentrySaIS0_EE9push_backERKS0_(ptr noundef nonnull align 8 dereferenceable(24) %0, ptr noundef nonnull align 8 dereferenceable(420) %8)
          to label %567 unwind label %150

567:                                              ; preds = %554, %566
  call void @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St4lessIS5_ESaISt4pairIKS5_S5_EEE5clearEv(ptr noundef nonnull align 8 dereferenceable(48) %66) #10
  call void @_ZN11strvcfentryD2Ev(ptr noundef nonnull align 8 dereferenceable(420) %8) #10
  call void @llvm.lifetime.end.p0(i64 424, ptr nonnull %8) #10
  br label %570

568:                                              ; preds = %150, %536, %492, %474, %464, %449, %367, %289, %278, %252, %239, %209, %198, %152, %148
  %.pn193.pn = phi { ptr, i32 } [ %149, %148 ], [ %151, %150 ], [ %.pn189, %536 ], [ %.pn, %492 ], [ %153, %152 ], [ %475, %474 ], [ %465, %464 ], [ %450, %449 ], [ %368, %367 ], [ %290, %289 ], [ %279, %278 ], [ %253, %252 ], [ %240, %239 ], [ %210, %209 ], [ %199, %198 ]
  call void @_ZN11strvcfentryD2Ev(ptr noundef nonnull align 8 dereferenceable(420) %8) #10
  br label %569

569:                                              ; preds = %568, %146
  %.pn193.pn.pn = phi { ptr, i32 } [ %.pn193.pn, %568 ], [ %147, %146 ]
  call void @llvm.lifetime.end.p0(i64 424, ptr nonnull %8) #10
  br label %573

570:                                              ; preds = %567, %123, %120
  %571 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(16) %5, ptr noundef nonnull align 8 dereferenceable(32) %4)
          to label %67 unwind label %93, !llvm.loop !50

572:                                              ; preds = %73
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %5) #10
  call void @llvm.lifetime.end.p0(i64 520, ptr nonnull %5) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) #10
  ret void

573:                                              ; preds = %93, %122, %569, %91
  %.pn200.pn.pn.pn = phi { ptr, i32 } [ %92, %91 ], [ %.pn200.pn, %122 ], [ %94, %93 ], [ %.pn193.pn.pn, %569 ]
  call void @_ZNSt6vectorI11strvcfentrySaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %0) #10
  br label %574

574:                                              ; preds = %573, %42
  %.pn200.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn200.pn.pn.pn, %573 ], [ %43, %42 ]
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %5) #10
  br label %575

575:                                              ; preds = %574, %40
  %.pn200.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn200.pn.pn.pn.pn, %574 ], [ %41, %40 ]
  call void @llvm.lifetime.end.p0(i64 520, ptr nonnull %5) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) #10
  resume { ptr, i32 } %.pn200.pn.pn.pn.pn.pn
}

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

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

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

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

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

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

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #9

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

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

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


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