; LLVM IR from ImperialCollegeLondon/pnflow :: src/pnm/pnflow/inputData.ll (ZN9InputData17findBoundaryPoresEv)

; 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::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::allocator.0" = type { i8 }
%"class.std::vector.37" = type { %"struct.std::_Vector_base.38" }
%"struct.std::_Vector_base.38" = type { %"struct.std::_Vector_base<var3<double>, std::allocator<var3<double>>>::_Vector_impl" }
%"struct.std::_Vector_base<var3<double>, std::allocator<var3<double>>>::_Vector_impl" = type { %"struct.std::_Vector_base<var3<double>, std::allocator<var3<double>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<var3<double>, std::allocator<var3<double>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%class.var3 = type { double, double, double }
%"class.std::vector.27" = type { %"struct.std::_Vector_base.28" }
%"struct.std::_Vector_base.28" = type { %"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl" }
%"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl" = type { %"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl_data" }
%"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.32" = type { %"struct.std::_Vector_base.33" }
%"struct.std::_Vector_base.33" = type { %"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl" }
%"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl" = type { %"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl_data" }
%"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"struct.std::pair" = type { i32, i32 }
%class.tuple3.42 = type { i32, i32, double }
%"struct.std::pair.43" = type <{ %"struct.std::_Rb_tree_const_iterator", i8, [7 x i8] }>
%"struct.std::_Rb_tree_const_iterator" = type { ptr }
%class.InputData = type { %class.InputFile.base, %"class.std::basic_ifstream", %"class.std::basic_ifstream", %"class.std::basic_ifstream", %"class.std::basic_ifstream", i32, i32, i32, i32, i8, i8, i8, i8, %"class.std::vector.4", %"class.std::vector.9", %"class.std::vector.4", %"class.std::vector.4", %"class.std::multimap", %"class.std::multimap", %"class.std::set", %"class.std::set", %"class.std::vector.22", %"class.std::vector.27", %"class.std::vector.27", double, double, double, double, double, double }
%class.InputFile.base = type <{ %"class.std::vector", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", i8, i8 }>
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<std::pair<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>>, std::allocator<std::pair<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::pair<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>>, std::allocator<std::pair<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::pair<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>>, std::allocator<std::pair<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::pair<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>>, std::allocator<std::pair<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>>>>::_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" }
%"class.std::locale" = type { ptr }
%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::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::vector.9" = type { %"struct.std::_Vector_base.10" }
%"struct.std::_Vector_base.10" = type { %"struct.std::_Vector_base<ThroatStruct *, std::allocator<ThroatStruct *>>::_Vector_impl" }
%"struct.std::_Vector_base<ThroatStruct *, std::allocator<ThroatStruct *>>::_Vector_impl" = type { %"struct.std::_Vector_base<ThroatStruct *, std::allocator<ThroatStruct *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<ThroatStruct *, std::allocator<ThroatStruct *>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.4" = type { %"struct.std::_Vector_base.5" }
%"struct.std::_Vector_base.5" = type { %"struct.std::_Vector_base<tuple3<PoreStruct *, int *, int *>, std::allocator<tuple3<PoreStruct *, int *, int *>>>::_Vector_impl" }
%"struct.std::_Vector_base<tuple3<PoreStruct *, int *, int *>, std::allocator<tuple3<PoreStruct *, int *, int *>>>::_Vector_impl" = type { %"struct.std::_Vector_base<tuple3<PoreStruct *, int *, int *>, std::allocator<tuple3<PoreStruct *, int *, int *>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<tuple3<PoreStruct *, int *, int *>, std::allocator<tuple3<PoreStruct *, int *, int *>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::multimap" = type { %"class.std::_Rb_tree" }
%"class.std::_Rb_tree" = type { %"struct.std::_Rb_tree<int, std::pair<const int, tuple3<int, int, double>>, std::_Select1st<std::pair<const int, tuple3<int, int, double>>>, std::less<int>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<int, std::pair<const int, tuple3<int, int, double>>, std::_Select1st<std::pair<const int, tuple3<int, int, double>>>, std::less<int>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"struct.std::_Rb_tree_header" = type { %"struct.std::_Rb_tree_node_base", i64 }
%"struct.std::_Rb_tree_node_base" = type { i32, ptr, ptr, ptr }
%"class.std::set" = type { %"class.std::_Rb_tree.17" }
%"class.std::_Rb_tree.17" = type { %"struct.std::_Rb_tree<std::pair<int, int>, std::pair<int, int>, std::_Identity<std::pair<int, int>>, std::less<std::pair<int, int>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::pair<int, int>, std::pair<int, int>, std::_Identity<std::pair<int, int>>, std::less<std::pair<int, int>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"class.std::vector.22" = type { %"struct.std::_Vector_base.23" }
%"struct.std::_Vector_base.23" = type { %"struct.std::_Vector_base<tuple3<int, int, double>, std::allocator<tuple3<int, int, double>>>::_Vector_impl" }
%"struct.std::_Vector_base<tuple3<int, int, double>, std::allocator<tuple3<int, int, double>>>::_Vector_impl" = type { %"struct.std::_Vector_base<tuple3<int, int, double>, std::allocator<tuple3<int, int, double>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<tuple3<int, int, double>, std::allocator<tuple3<int, int, double>>>::_Vector_impl_data" = type { ptr, ptr, ptr }

@.str.62 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [11 x i8], align 1
@__FUNCTION__._ZN9InputData17findBoundaryPoresEv = external hidden unnamed_addr constant [18 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [57 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 nounwind uwtable
declare void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #1 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 dso_local void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #1 align 2

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

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_Z6_cerr_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_i(ptr noundef, ptr noundef, i32 noundef) #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) #3

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

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare double @llvm.fmuladd.f64(double, double, double) #4

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN9InputData17findBoundaryPoresEv(ptr noundef nonnull align 8 dereferenceable(2640) %0) #2 align 2 personality ptr @__gxx_personality_v0 {
  %2 = alloca ptr, align 8
  %3 = alloca i32, align 4
  %4 = alloca double, align 8
  %5 = alloca double, align 8
  %6 = alloca double, align 8
  %7 = alloca i32, align 4
  %8 = alloca i32, align 4
  %9 = alloca double, align 8
  %10 = alloca %"class.std::__cxx11::basic_string", align 8
  %11 = alloca %"class.std::__cxx11::basic_string", align 8
  %12 = alloca i1, align 1
  %13 = alloca %"class.std::__cxx11::basic_string", align 8
  %14 = alloca i1, align 1
  %15 = alloca %"class.std::__cxx11::basic_string", align 8
  %16 = alloca i1, align 1
  %17 = alloca %"class.std::__cxx11::basic_string", align 8
  %18 = alloca i1, align 1
  %19 = alloca %"class.std::__cxx11::basic_string", align 8
  %20 = alloca i1, align 1
  %21 = alloca %"class.std::__cxx11::basic_string", align 8
  %22 = alloca i1, align 1
  %23 = alloca %"class.std::allocator.0", align 1
  %24 = alloca i1, align 1
  %25 = alloca i1, align 1
  %26 = alloca ptr, align 8
  %27 = alloca i32, align 4
  %28 = alloca i1, align 1
  %29 = alloca i1, align 1
  %30 = alloca %"class.std::__cxx11::basic_string", align 8
  %31 = alloca i1, align 1
  %32 = alloca %"class.std::allocator.0", align 1
  %33 = alloca i1, align 1
  %34 = alloca i1, align 1
  %35 = alloca i1, align 1
  %36 = alloca i1, align 1
  %37 = alloca i1, align 1
  %38 = alloca %"class.std::__cxx11::basic_string", align 8
  %39 = alloca i1, align 1
  %40 = alloca %"class.std::allocator.0", align 1
  %41 = alloca i1, align 1
  %42 = alloca i1, align 1
  %43 = alloca i1, align 1
  %44 = alloca i1, align 1
  %45 = alloca i1, align 1
  %46 = alloca %"class.std::__cxx11::basic_string", align 8
  %47 = alloca i1, align 1
  %48 = alloca i32, align 4
  %49 = alloca i1, align 1
  %50 = alloca i1, align 1
  %51 = alloca %"class.std::__cxx11::basic_string", align 8
  %52 = alloca %"class.std::__cxx11::basic_string", align 8
  %53 = alloca i1, align 1
  %54 = alloca %"class.std::allocator.0", align 1
  %55 = alloca i1, align 1
  %56 = alloca i1, align 1
  %57 = alloca i1, align 1
  %58 = alloca %"class.std::__cxx11::basic_string", align 8
  %59 = alloca i1, align 1
  %60 = alloca %"class.std::allocator.0", align 1
  %61 = alloca i1, align 1
  %62 = alloca i1, align 1
  %63 = alloca i1, align 1
  %64 = alloca i1, align 1
  %65 = alloca i32, align 4
  %66 = alloca double, align 8
  %67 = alloca double, align 8
  %68 = alloca %"class.std::__cxx11::basic_string", align 8
  %69 = alloca %"class.std::__cxx11::basic_string", align 8
  %70 = alloca i1, align 1
  %71 = alloca %"class.std::__cxx11::basic_string", align 8
  %72 = alloca i1, align 1
  %73 = alloca %"class.std::__cxx11::basic_string", align 8
  %74 = alloca i1, align 1
  %75 = alloca %"class.std::__cxx11::basic_string", align 8
  %76 = alloca i1, align 1
  %77 = alloca %"class.std::__cxx11::basic_string", align 8
  %78 = alloca i1, align 1
  %79 = alloca %"class.std::__cxx11::basic_string", align 8
  %80 = alloca i1, align 1
  %81 = alloca %"class.std::allocator.0", align 1
  %82 = alloca i1, align 1
  %83 = alloca i1, align 1
  %84 = alloca i1, align 1
  %85 = alloca i1, align 1
  %86 = alloca %"class.std::__cxx11::basic_string", align 8
  %87 = alloca i1, align 1
  %88 = alloca %"class.std::allocator.0", align 1
  %89 = alloca i1, align 1
  %90 = alloca i1, align 1
  %91 = alloca i1, align 1
  %92 = alloca i1, align 1
  %93 = alloca i1, align 1
  %94 = alloca %"class.std::__cxx11::basic_string", align 8
  %95 = alloca i1, align 1
  %96 = alloca %"class.std::allocator.0", align 1
  %97 = alloca i1, align 1
  %98 = alloca i1, align 1
  %99 = alloca i1, align 1
  %100 = alloca i1, align 1
  %101 = alloca i1, align 1
  %102 = alloca %"class.std::__cxx11::basic_string", align 8
  %103 = alloca i1, align 1
  %104 = alloca i32, align 4
  %105 = alloca i1, align 1
  %106 = alloca i1, align 1
  %107 = alloca %"class.std::__cxx11::basic_string", align 8
  %108 = alloca %"class.std::__cxx11::basic_string", align 8
  %109 = alloca i1, align 1
  %110 = alloca %"class.std::allocator.0", align 1
  %111 = alloca i1, align 1
  %112 = alloca i1, align 1
  %113 = alloca i1, align 1
  %114 = alloca %"class.std::__cxx11::basic_string", align 8
  %115 = alloca i1, align 1
  %116 = alloca %"class.std::allocator.0", align 1
  %117 = alloca i1, align 1
  %118 = alloca i1, align 1
  %119 = alloca i1, align 1
  %120 = alloca i1, align 1
  %121 = alloca %"class.std::vector.37", align 8
  %122 = alloca %class.var3, align 8
  %123 = alloca %class.var3, align 8
  %124 = alloca %class.var3, align 8
  %125 = alloca %class.var3, align 8
  %126 = alloca %"class.std::vector.27", align 8
  %127 = alloca %"class.std::vector.32", align 8
  %128 = alloca %"struct.std::pair", align 4
  %129 = alloca %"struct.std::pair", align 4
  %130 = alloca %class.tuple3.42, align 8
  %131 = alloca %class.tuple3.42, align 8
  %132 = alloca %"struct.std::pair.43", align 8
  %133 = alloca %"struct.std::pair.43", align 8
  store ptr %0, ptr %2, align 8, !tbaa !5
  %134 = load ptr, ptr %2, align 8
  call void @llvm.lifetime.start.p0(i64 4, ptr %3) #6
  %135 = getelementptr inbounds %class.InputData, ptr %134, i32 0, i32 6
  %136 = load i32, ptr %135, align 4, !tbaa !9
  %137 = call noundef double @_ZSt3powIidEN9__gnu_cxx9__promoteIDTplcvNS1_IT_Xsr3std12__is_integerIS2_EE7__valueEE6__typeELi0EcvNS1_IT0_Xsr3std12__is_integerIS5_EE7__valueEE6__typeELi0EEXsr3std12__is_integerIS8_EE7__valueEE6__typeES2_S5_(i32 noundef %136, double noundef 0x3FD5555555555555)
  %138 = fptosi double %137 to i32
  %139 = add nsw i32 %138, 1
  store i32 %139, ptr %3, align 4, !tbaa !59
  call void @llvm.lifetime.start.p0(i64 8, ptr %4) #6
  %140 = getelementptr inbounds %class.InputData, ptr %134, i32 0, i32 24
  %141 = load double, ptr %140, align 8, !tbaa !60
  %142 = load i32, ptr %3, align 4, !tbaa !59
  %143 = sitofp i32 %142 to double
  %144 = fdiv double %141, %143
  store double %144, ptr %4, align 8, !tbaa !61
  call void @llvm.lifetime.start.p0(i64 8, ptr %5) #6
  %145 = getelementptr inbounds %class.InputData, ptr %134, i32 0, i32 25
  %146 = load double, ptr %145, align 8, !tbaa !62
  %147 = load i32, ptr %3, align 4, !tbaa !59
  %148 = sitofp i32 %147 to double
  %149 = fdiv double %146, %148
  store double %149, ptr %5, align 8, !tbaa !61
  call void @llvm.lifetime.start.p0(i64 8, ptr %6) #6
  %150 = getelementptr inbounds %class.InputData, ptr %134, i32 0, i32 26
  %151 = load double, ptr %150, align 8, !tbaa !63
  %152 = load i32, ptr %3, align 4, !tbaa !59
  %153 = sitofp i32 %152 to double
  %154 = fdiv double %151, %153
  store double %154, ptr %6, align 8, !tbaa !61
  call void @llvm.lifetime.start.p0(i64 4, ptr %7) #6
  store i32 0, ptr %7, align 4, !tbaa !59
  br label %155

155:                                              ; preds = %924, %1
  %156 = load i32, ptr %7, align 4, !tbaa !59
  %157 = load i32, ptr %3, align 4, !tbaa !59
  %158 = icmp slt i32 %156, %157
  br i1 %158, label %160, label %159

159:                                              ; preds = %155
  store i32 2, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #6
  br label %928

160:                                              ; preds = %155
  call void @llvm.lifetime.start.p0(i64 8, ptr %9) #6
  %161 = load double, ptr %4, align 8, !tbaa !61
  %162 = fdiv double %161, 2.000000e+00
  %163 = load i32, ptr %7, align 4, !tbaa !59
  %164 = sitofp i32 %163 to double
  %165 = load double, ptr %4, align 8, !tbaa !61
  %166 = call double @llvm.fmuladd.f64(double %164, double %165, double %162)
  store double %166, ptr %9, align 8, !tbaa !61
  %167 = load double, ptr %9, align 8, !tbaa !61
  %168 = getelementptr inbounds %class.InputData, ptr %134, i32 0, i32 24
  %169 = load double, ptr %168, align 8, !tbaa !60
  %170 = fcmp olt double %167, %169
  store i1 false, ptr %12, align 1
  store i1 false, ptr %14, align 1
  store i1 false, ptr %16, align 1
  store i1 false, ptr %18, align 1
  store i1 false, ptr %20, align 1
  store i1 false, ptr %22, align 1
  store i1 false, ptr %24, align 1
  store i1 false, ptr %25, align 1
  store i1 false, ptr %28, align 1
  store i1 false, ptr %29, align 1
  store i1 false, ptr %31, align 1
  store i1 false, ptr %33, align 1
  store i1 false, ptr %34, align 1
  store i1 false, ptr %35, align 1
  store i1 false, ptr %36, align 1
  store i1 false, ptr %37, align 1
  store i1 false, ptr %39, align 1
  store i1 false, ptr %41, align 1
  store i1 false, ptr %42, align 1
  store i1 false, ptr %43, align 1
  store i1 false, ptr %44, align 1
  store i1 false, ptr %45, align 1
  store i1 false, ptr %47, align 1
  call void @llvm.lifetime.start.p0(i64 4, ptr %48) #6
  store i1 false, ptr %49, align 1
  store i1 false, ptr %50, align 1
  store i1 false, ptr %53, align 1
  store i1 false, ptr %55, align 1
  store i1 false, ptr %56, align 1
  store i1 false, ptr %57, align 1
  store i1 false, ptr %59, align 1
  store i1 false, ptr %61, align 1
  store i1 false, ptr %62, align 1
  store i1 false, ptr %63, align 1
  store i1 false, ptr %64, align 1
  br i1 %170, label %187, label %171

171:                                              ; preds = %160
  call void @llvm.lifetime.start.p0(i64 32, ptr %11) #6
  store i1 true, ptr %12, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %13) #6
  store i1 true, ptr %14, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %15) #6
  store i1 true, ptr %16, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %17) #6
  store i1 true, ptr %18, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %19) #6
  store i1 true, ptr %20, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %21) #6
  store i1 true, ptr %22, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %23) #6
  store i1 true, ptr %24, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %23) #6
  store i1 true, ptr %25, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef @.str.73, ptr noundef nonnull align 1 dereferenceable(1) %23)
          to label %172 unwind label %297

172:                                              ; preds = %171
  store i1 true, ptr %28, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %19, ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef @.str.62)
          to label %173 unwind label %301

173:                                              ; preds = %172
  store i1 true, ptr %29, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %30) #6
  store i1 true, ptr %31, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %32) #6
  store i1 true, ptr %33, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %32) #6
  store i1 true, ptr %34, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef @__FUNCTION__._ZN9InputData17findBoundaryPoresEv, ptr noundef nonnull align 1 dereferenceable(1) %32)
          to label %174 unwind label %305

174:                                              ; preds = %173
  store i1 true, ptr %35, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %17, ptr noundef nonnull align 8 dereferenceable(32) %19, ptr noundef nonnull align 8 dereferenceable(32) %30)
          to label %175 unwind label %309

175:                                              ; preds = %174
  store i1 true, ptr %36, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %15, ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef @.str.63)
          to label %176 unwind label %313

176:                                              ; preds = %175
  store i1 true, ptr %37, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %38) #6
  store i1 true, ptr %39, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %40) #6
  store i1 true, ptr %41, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %40) #6
  store i1 true, ptr %42, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %38, ptr noundef @.str.64, ptr noundef nonnull align 1 dereferenceable(1) %40)
          to label %177 unwind label %317

177:                                              ; preds = %176
  store i1 true, ptr %43, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %13, ptr noundef nonnull align 8 dereferenceable(32) %15, ptr noundef nonnull align 8 dereferenceable(32) %38)
          to label %178 unwind label %321

178:                                              ; preds = %177
  store i1 true, ptr %44, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef @.str.65)
          to label %179 unwind label %325

179:                                              ; preds = %178
  store i1 true, ptr %45, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %46) #6
  store i1 true, ptr %47, align 1
  store i32 636, ptr %48, align 4, !tbaa !59
  invoke void @_Z2_sIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %46, ptr noundef nonnull align 4 dereferenceable(4) %48)
          to label %180 unwind label %329

180:                                              ; preds = %179
  store i1 true, ptr %49, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %10, ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef nonnull align 8 dereferenceable(32) %46)
          to label %181 unwind label %333

181:                                              ; preds = %180
  store i1 true, ptr %50, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %52) #6
  store i1 true, ptr %53, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %54) #6
  store i1 true, ptr %55, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %54) #6
  store i1 true, ptr %56, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %52, ptr noundef @.str.66, ptr noundef nonnull align 1 dereferenceable(1) %54)
          to label %182 unwind label %337

182:                                              ; preds = %181
  store i1 true, ptr %57, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %58) #6
  store i1 true, ptr %59, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %60) #6
  store i1 true, ptr %61, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %60) #6
  store i1 true, ptr %62, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %58, ptr noundef @.str.75, ptr noundef nonnull align 1 dereferenceable(1) %60)
          to label %183 unwind label %341

183:                                              ; preds = %182
  store i1 true, ptr %63, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %51, ptr noundef nonnull align 8 dereferenceable(32) %52, ptr noundef nonnull align 8 dereferenceable(32) %58)
          to label %184 unwind label %345

184:                                              ; preds = %183
  store i1 true, ptr %64, align 1
  %185 = invoke noundef zeroext i1 @_Z6_cerr_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_i(ptr noundef %10, ptr noundef %51, i32 noundef 0)
          to label %186 unwind label %349

186:                                              ; preds = %184
  br label %187

187:                                              ; preds = %186, %160
  %188 = phi i1 [ true, %160 ], [ %185, %186 ]
  %189 = xor i1 %188, true
  %190 = load i1, ptr %64, align 1
  br i1 %190, label %191, label %192

191:                                              ; preds = %187
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #6
  br label %192

192:                                              ; preds = %191, %187
  %193 = load i1, ptr %63, align 1
  br i1 %193, label %194, label %195

194:                                              ; preds = %192
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #6
  br label %195

195:                                              ; preds = %194, %192
  %196 = load i1, ptr %62, align 1
  br i1 %196, label %197, label %198

197:                                              ; preds = %195
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %60) #6
  br label %198

198:                                              ; preds = %197, %195
  %199 = load i1, ptr %61, align 1
  br i1 %199, label %200, label %201

200:                                              ; preds = %198
  call void @llvm.lifetime.end.p0(i64 1, ptr %60) #6
  br label %201

201:                                              ; preds = %200, %198
  %202 = load i1, ptr %59, align 1
  br i1 %202, label %203, label %204

203:                                              ; preds = %201
  call void @llvm.lifetime.end.p0(i64 32, ptr %58) #6
  br label %204

204:                                              ; preds = %203, %201
  %205 = load i1, ptr %57, align 1
  br i1 %205, label %206, label %207

206:                                              ; preds = %204
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #6
  br label %207

207:                                              ; preds = %206, %204
  %208 = load i1, ptr %56, align 1
  br i1 %208, label %209, label %210

209:                                              ; preds = %207
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %54) #6
  br label %210

210:                                              ; preds = %209, %207
  %211 = load i1, ptr %55, align 1
  br i1 %211, label %212, label %213

212:                                              ; preds = %210
  call void @llvm.lifetime.end.p0(i64 1, ptr %54) #6
  br label %213

213:                                              ; preds = %212, %210
  %214 = load i1, ptr %53, align 1
  br i1 %214, label %215, label %216

215:                                              ; preds = %213
  call void @llvm.lifetime.end.p0(i64 32, ptr %52) #6
  br label %216

216:                                              ; preds = %215, %213
  %217 = load i1, ptr %50, align 1
  br i1 %217, label %218, label %219

218:                                              ; preds = %216
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #6
  br label %219

219:                                              ; preds = %218, %216
  %220 = load i1, ptr %49, align 1
  br i1 %220, label %221, label %222

221:                                              ; preds = %219
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #6
  br label %222

222:                                              ; preds = %221, %219
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #6
  %223 = load i1, ptr %47, align 1
  br i1 %223, label %224, label %225

224:                                              ; preds = %222
  call void @llvm.lifetime.end.p0(i64 32, ptr %46) #6
  br label %225

225:                                              ; preds = %224, %222
  %226 = load i1, ptr %45, align 1
  br i1 %226, label %227, label %228

227:                                              ; preds = %225
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #6
  br label %228

228:                                              ; preds = %227, %225
  %229 = load i1, ptr %44, align 1
  br i1 %229, label %230, label %231

230:                                              ; preds = %228
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #6
  br label %231

231:                                              ; preds = %230, %228
  %232 = load i1, ptr %43, align 1
  br i1 %232, label %233, label %234

233:                                              ; preds = %231
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #6
  br label %234

234:                                              ; preds = %233, %231
  %235 = load i1, ptr %42, align 1
  br i1 %235, label %236, label %237

236:                                              ; preds = %234
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %40) #6
  br label %237

237:                                              ; preds = %236, %234
  %238 = load i1, ptr %41, align 1
  br i1 %238, label %239, label %240

239:                                              ; preds = %237
  call void @llvm.lifetime.end.p0(i64 1, ptr %40) #6
  br label %240

240:                                              ; preds = %239, %237
  %241 = load i1, ptr %39, align 1
  br i1 %241, label %242, label %243

242:                                              ; preds = %240
  call void @llvm.lifetime.end.p0(i64 32, ptr %38) #6
  br label %243

243:                                              ; preds = %242, %240
  %244 = load i1, ptr %37, align 1
  br i1 %244, label %245, label %246

245:                                              ; preds = %243
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #6
  br label %246

246:                                              ; preds = %245, %243
  %247 = load i1, ptr %36, align 1
  br i1 %247, label %248, label %249

248:                                              ; preds = %246
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #6
  br label %249

249:                                              ; preds = %248, %246
  %250 = load i1, ptr %35, align 1
  br i1 %250, label %251, label %252

251:                                              ; preds = %249
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #6
  br label %252

252:                                              ; preds = %251, %249
  %253 = load i1, ptr %34, align 1
  br i1 %253, label %254, label %255

254:                                              ; preds = %252
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %32) #6
  br label %255

255:                                              ; preds = %254, %252
  %256 = load i1, ptr %33, align 1
  br i1 %256, label %257, label %258

257:                                              ; preds = %255
  call void @llvm.lifetime.end.p0(i64 1, ptr %32) #6
  br label %258

258:                                              ; preds = %257, %255
  %259 = load i1, ptr %31, align 1
  br i1 %259, label %260, label %261

260:                                              ; preds = %258
  call void @llvm.lifetime.end.p0(i64 32, ptr %30) #6
  br label %261

261:                                              ; preds = %260, %258
  %262 = load i1, ptr %29, align 1
  br i1 %262, label %263, label %264

263:                                              ; preds = %261
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #6
  br label %264

264:                                              ; preds = %263, %261
  %265 = load i1, ptr %28, align 1
  br i1 %265, label %266, label %267

266:                                              ; preds = %264
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #6
  br label %267

267:                                              ; preds = %266, %264
  %268 = load i1, ptr %25, align 1
  br i1 %268, label %269, label %270

269:                                              ; preds = %267
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %23) #6
  br label %270

270:                                              ; preds = %269, %267
  %271 = load i1, ptr %24, align 1
  br i1 %271, label %272, label %273

272:                                              ; preds = %270
  call void @llvm.lifetime.end.p0(i64 1, ptr %23) #6
  br label %273

273:                                              ; preds = %272, %270
  %274 = load i1, ptr %22, align 1
  br i1 %274, label %275, label %276

275:                                              ; preds = %273
  call void @llvm.lifetime.end.p0(i64 32, ptr %21) #6
  br label %276

276:                                              ; preds = %275, %273
  %277 = load i1, ptr %20, align 1
  br i1 %277, label %278, label %279

278:                                              ; preds = %276
  call void @llvm.lifetime.end.p0(i64 32, ptr %19) #6
  br label %279

279:                                              ; preds = %278, %276
  %280 = load i1, ptr %18, align 1
  br i1 %280, label %281, label %282

281:                                              ; preds = %279
  call void @llvm.lifetime.end.p0(i64 32, ptr %17) #6
  br label %282

282:                                              ; preds = %281, %279
  %283 = load i1, ptr %16, align 1
  br i1 %283, label %284, label %285

284:                                              ; preds = %282
  call void @llvm.lifetime.end.p0(i64 32, ptr %15) #6
  br label %285

285:                                              ; preds = %284, %282
  %286 = load i1, ptr %14, align 1
  br i1 %286, label %287, label %288

287:                                              ; preds = %285
  call void @llvm.lifetime.end.p0(i64 32, ptr %13) #6
  br label %288

288:                                              ; preds = %287, %285
  %289 = load i1, ptr %12, align 1
  br i1 %289, label %290, label %291

290:                                              ; preds = %288
  call void @llvm.lifetime.end.p0(i64 32, ptr %11) #6
  br label %291

291:                                              ; preds = %290, %288
  call void @llvm.lifetime.start.p0(i64 4, ptr %65) #6
  store i32 0, ptr %65, align 4, !tbaa !59
  br label %292

292:                                              ; preds = %912, %291
  %293 = load i32, ptr %65, align 4, !tbaa !59
  %294 = load i32, ptr %3, align 4, !tbaa !59
  %295 = icmp slt i32 %293, %294
  br i1 %295, label %468, label %296

296:                                              ; preds = %292
  store i32 5, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #6
  br label %923

297:                                              ; preds = %171
  %298 = landingpad { ptr, i32 }
          cleanup
  %299 = extractvalue { ptr, i32 } %298, 0
  store ptr %299, ptr %26, align 8
  %300 = extractvalue { ptr, i32 } %298, 1
  store i32 %300, ptr %27, align 4
  br label %443

301:                                              ; preds = %172
  %302 = landingpad { ptr, i32 }
          cleanup
  %303 = extractvalue { ptr, i32 } %302, 0
  store ptr %303, ptr %26, align 8
  %304 = extractvalue { ptr, i32 } %302, 1
  store i32 %304, ptr %27, align 4
  br label %439

305:                                              ; preds = %173
  %306 = landingpad { ptr, i32 }
          cleanup
  %307 = extractvalue { ptr, i32 } %306, 0
  store ptr %307, ptr %26, align 8
  %308 = extractvalue { ptr, i32 } %306, 1
  store i32 %308, ptr %27, align 4
  br label %426

309:                                              ; preds = %174
  %310 = landingpad { ptr, i32 }
          cleanup
  %311 = extractvalue { ptr, i32 } %310, 0
  store ptr %311, ptr %26, align 8
  %312 = extractvalue { ptr, i32 } %310, 1
  store i32 %312, ptr %27, align 4
  br label %422

313:                                              ; preds = %175
  %314 = landingpad { ptr, i32 }
          cleanup
  %315 = extractvalue { ptr, i32 } %314, 0
  store ptr %315, ptr %26, align 8
  %316 = extractvalue { ptr, i32 } %314, 1
  store i32 %316, ptr %27, align 4
  br label %418

317:                                              ; preds = %176
  %318 = landingpad { ptr, i32 }
          cleanup
  %319 = extractvalue { ptr, i32 } %318, 0
  store ptr %319, ptr %26, align 8
  %320 = extractvalue { ptr, i32 } %318, 1
  store i32 %320, ptr %27, align 4
  br label %405

321:                                              ; preds = %177
  %322 = landingpad { ptr, i32 }
          cleanup
  %323 = extractvalue { ptr, i32 } %322, 0
  store ptr %323, ptr %26, align 8
  %324 = extractvalue { ptr, i32 } %322, 1
  store i32 %324, ptr %27, align 4
  br label %401

325:                                              ; preds = %178
  %326 = landingpad { ptr, i32 }
          cleanup
  %327 = extractvalue { ptr, i32 } %326, 0
  store ptr %327, ptr %26, align 8
  %328 = extractvalue { ptr, i32 } %326, 1
  store i32 %328, ptr %27, align 4
  br label %397

329:                                              ; preds = %179
  %330 = landingpad { ptr, i32 }
          cleanup
  %331 = extractvalue { ptr, i32 } %330, 0
  store ptr %331, ptr %26, align 8
  %332 = extractvalue { ptr, i32 } %330, 1
  store i32 %332, ptr %27, align 4
  br label %390

333:                                              ; preds = %180
  %334 = landingpad { ptr, i32 }
          cleanup
  %335 = extractvalue { ptr, i32 } %334, 0
  store ptr %335, ptr %26, align 8
  %336 = extractvalue { ptr, i32 } %334, 1
  store i32 %336, ptr %27, align 4
  br label %386

337:                                              ; preds = %181
  %338 = landingpad { ptr, i32 }
          cleanup
  %339 = extractvalue { ptr, i32 } %338, 0
  store ptr %339, ptr %26, align 8
  %340 = extractvalue { ptr, i32 } %338, 1
  store i32 %340, ptr %27, align 4
  br label %373

341:                                              ; preds = %182
  %342 = landingpad { ptr, i32 }
          cleanup
  %343 = extractvalue { ptr, i32 } %342, 0
  store ptr %343, ptr %26, align 8
  %344 = extractvalue { ptr, i32 } %342, 1
  store i32 %344, ptr %27, align 4
  br label %360

345:                                              ; preds = %183
  %346 = landingpad { ptr, i32 }
          cleanup
  %347 = extractvalue { ptr, i32 } %346, 0
  store ptr %347, ptr %26, align 8
  %348 = extractvalue { ptr, i32 } %346, 1
  store i32 %348, ptr %27, align 4
  br label %356

349:                                              ; preds = %184
  %350 = landingpad { ptr, i32 }
          cleanup
  %351 = extractvalue { ptr, i32 } %350, 0
  store ptr %351, ptr %26, align 8
  %352 = extractvalue { ptr, i32 } %350, 1
  store i32 %352, ptr %27, align 4
  %353 = load i1, ptr %64, align 1
  br i1 %353, label %354, label %355

354:                                              ; preds = %349
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #6
  br label %355

355:                                              ; preds = %354, %349
  br label %356

356:                                              ; preds = %355, %345
  %357 = load i1, ptr %63, align 1
  br i1 %357, label %358, label %359

358:                                              ; preds = %356
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #6
  br label %359

359:                                              ; preds = %358, %356
  br label %360

360:                                              ; preds = %359, %341
  %361 = load i1, ptr %62, align 1
  br i1 %361, label %362, label %363

362:                                              ; preds = %360
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %60) #6
  br label %363

363:                                              ; preds = %362, %360
  %364 = load i1, ptr %61, align 1
  br i1 %364, label %365, label %366

365:                                              ; preds = %363
  call void @llvm.lifetime.end.p0(i64 1, ptr %60) #6
  br label %366

366:                                              ; preds = %365, %363
  %367 = load i1, ptr %59, align 1
  br i1 %367, label %368, label %369

368:                                              ; preds = %366
  call void @llvm.lifetime.end.p0(i64 32, ptr %58) #6
  br label %369

369:                                              ; preds = %368, %366
  %370 = load i1, ptr %57, align 1
  br i1 %370, label %371, label %372

371:                                              ; preds = %369
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #6
  br label %372

372:                                              ; preds = %371, %369
  br label %373

373:                                              ; preds = %372, %337
  %374 = load i1, ptr %56, align 1
  br i1 %374, label %375, label %376

375:                                              ; preds = %373
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %54) #6
  br label %376

376:                                              ; preds = %375, %373
  %377 = load i1, ptr %55, align 1
  br i1 %377, label %378, label %379

378:                                              ; preds = %376
  call void @llvm.lifetime.end.p0(i64 1, ptr %54) #6
  br label %379

379:                                              ; preds = %378, %376
  %380 = load i1, ptr %53, align 1
  br i1 %380, label %381, label %382

381:                                              ; preds = %379
  call void @llvm.lifetime.end.p0(i64 32, ptr %52) #6
  br label %382

382:                                              ; preds = %381, %379
  %383 = load i1, ptr %50, align 1
  br i1 %383, label %384, label %385

384:                                              ; preds = %382
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #6
  br label %385

385:                                              ; preds = %384, %382
  br label %386

386:                                              ; preds = %385, %333
  %387 = load i1, ptr %49, align 1
  br i1 %387, label %388, label %389

388:                                              ; preds = %386
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #6
  br label %389

389:                                              ; preds = %388, %386
  br label %390

390:                                              ; preds = %389, %329
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #6
  %391 = load i1, ptr %47, align 1
  br i1 %391, label %392, label %393

392:                                              ; preds = %390
  call void @llvm.lifetime.end.p0(i64 32, ptr %46) #6
  br label %393

393:                                              ; preds = %392, %390
  %394 = load i1, ptr %45, align 1
  br i1 %394, label %395, label %396

395:                                              ; preds = %393
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #6
  br label %396

396:                                              ; preds = %395, %393
  br label %397

397:                                              ; preds = %396, %325
  %398 = load i1, ptr %44, align 1
  br i1 %398, label %399, label %400

399:                                              ; preds = %397
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #6
  br label %400

400:                                              ; preds = %399, %397
  br label %401

401:                                              ; preds = %400, %321
  %402 = load i1, ptr %43, align 1
  br i1 %402, label %403, label %404

403:                                              ; preds = %401
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #6
  br label %404

404:                                              ; preds = %403, %401
  br label %405

405:                                              ; preds = %404, %317
  %406 = load i1, ptr %42, align 1
  br i1 %406, label %407, label %408

407:                                              ; preds = %405
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %40) #6
  br label %408

408:                                              ; preds = %407, %405
  %409 = load i1, ptr %41, align 1
  br i1 %409, label %410, label %411

410:                                              ; preds = %408
  call void @llvm.lifetime.end.p0(i64 1, ptr %40) #6
  br label %411

411:                                              ; preds = %410, %408
  %412 = load i1, ptr %39, align 1
  br i1 %412, label %413, label %414

413:                                              ; preds = %411
  call void @llvm.lifetime.end.p0(i64 32, ptr %38) #6
  br label %414

414:                                              ; preds = %413, %411
  %415 = load i1, ptr %37, align 1
  br i1 %415, label %416, label %417

416:                                              ; preds = %414
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #6
  br label %417

417:                                              ; preds = %416, %414
  br label %418

418:                                              ; preds = %417, %313
  %419 = load i1, ptr %36, align 1
  br i1 %419, label %420, label %421

420:                                              ; preds = %418
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #6
  br label %421

421:                                              ; preds = %420, %418
  br label %422

422:                                              ; preds = %421, %309
  %423 = load i1, ptr %35, align 1
  br i1 %423, label %424, label %425

424:                                              ; preds = %422
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #6
  br label %425

425:                                              ; preds = %424, %422
  br label %426

426:                                              ; preds = %425, %305
  %427 = load i1, ptr %34, align 1
  br i1 %427, label %428, label %429

428:                                              ; preds = %426
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %32) #6
  br label %429

429:                                              ; preds = %428, %426
  %430 = load i1, ptr %33, align 1
  br i1 %430, label %431, label %432

431:                                              ; preds = %429
  call void @llvm.lifetime.end.p0(i64 1, ptr %32) #6
  br label %432

432:                                              ; preds = %431, %429
  %433 = load i1, ptr %31, align 1
  br i1 %433, label %434, label %435

434:                                              ; preds = %432
  call void @llvm.lifetime.end.p0(i64 32, ptr %30) #6
  br label %435

435:                                              ; preds = %434, %432
  %436 = load i1, ptr %29, align 1
  br i1 %436, label %437, label %438

437:                                              ; preds = %435
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #6
  br label %438

438:                                              ; preds = %437, %435
  br label %439

439:                                              ; preds = %438, %301
  %440 = load i1, ptr %28, align 1
  br i1 %440, label %441, label %442

441:                                              ; preds = %439
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #6
  br label %442

442:                                              ; preds = %441, %439
  br label %443

443:                                              ; preds = %442, %297
  %444 = load i1, ptr %25, align 1
  br i1 %444, label %445, label %446

445:                                              ; preds = %443
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %23) #6
  br label %446

446:                                              ; preds = %445, %443
  %447 = load i1, ptr %24, align 1
  br i1 %447, label %448, label %449

448:                                              ; preds = %446
  call void @llvm.lifetime.end.p0(i64 1, ptr %23) #6
  br label %449

449:                                              ; preds = %448, %446
  %450 = load i1, ptr %22, align 1
  br i1 %450, label %451, label %452

451:                                              ; preds = %449
  call void @llvm.lifetime.end.p0(i64 32, ptr %21) #6
  br label %452

452:                                              ; preds = %451, %449
  %453 = load i1, ptr %20, align 1
  br i1 %453, label %454, label %455

454:                                              ; preds = %452
  call void @llvm.lifetime.end.p0(i64 32, ptr %19) #6
  br label %455

455:                                              ; preds = %454, %452
  %456 = load i1, ptr %18, align 1
  br i1 %456, label %457, label %458

457:                                              ; preds = %455
  call void @llvm.lifetime.end.p0(i64 32, ptr %17) #6
  br label %458

458:                                              ; preds = %457, %455
  %459 = load i1, ptr %16, align 1
  br i1 %459, label %460, label %461

460:                                              ; preds = %458
  call void @llvm.lifetime.end.p0(i64 32, ptr %15) #6
  br label %461

461:                                              ; preds = %460, %458
  %462 = load i1, ptr %14, align 1
  br i1 %462, label %463, label %464

463:                                              ; preds = %461
  call void @llvm.lifetime.end.p0(i64 32, ptr %13) #6
  br label %464

464:                                              ; preds = %463, %461
  %465 = load i1, ptr %12, align 1
  br i1 %465, label %466, label %467

466:                                              ; preds = %464
  call void @llvm.lifetime.end.p0(i64 32, ptr %11) #6
  br label %467

467:                                              ; preds = %466, %464
  br label %927

468:                                              ; preds = %292
  call void @llvm.lifetime.start.p0(i64 8, ptr %66) #6
  %469 = load double, ptr %5, align 8, !tbaa !61
  %470 = fdiv double %469, 2.000000e+00
  %471 = load i32, ptr %65, align 4, !tbaa !59
  %472 = sitofp i32 %471 to double
  %473 = load double, ptr %5, align 8, !tbaa !61
  %474 = call double @llvm.fmuladd.f64(double %472, double %473, double %470)
  store double %474, ptr %66, align 8, !tbaa !61
  call void @llvm.lifetime.start.p0(i64 8, ptr %67) #6
  %475 = load double, ptr %6, align 8, !tbaa !61
  %476 = fdiv double %475, 2.000000e+00
  %477 = load i32, ptr %65, align 4, !tbaa !59
  %478 = sitofp i32 %477 to double
  %479 = load double, ptr %6, align 8, !tbaa !61
  %480 = call double @llvm.fmuladd.f64(double %478, double %479, double %476)
  store double %480, ptr %67, align 8, !tbaa !61
  %481 = load double, ptr %9, align 8, !tbaa !61
  %482 = getelementptr inbounds %class.InputData, ptr %134, i32 0, i32 24
  %483 = load double, ptr %482, align 8, !tbaa !60
  %484 = fcmp olt double %481, %483
  store i1 false, ptr %70, align 1
  store i1 false, ptr %72, align 1
  store i1 false, ptr %74, align 1
  store i1 false, ptr %76, align 1
  store i1 false, ptr %78, align 1
  store i1 false, ptr %80, align 1
  store i1 false, ptr %82, align 1
  store i1 false, ptr %83, align 1
  store i1 false, ptr %84, align 1
  store i1 false, ptr %85, align 1
  store i1 false, ptr %87, align 1
  store i1 false, ptr %89, align 1
  store i1 false, ptr %90, align 1
  store i1 false, ptr %91, align 1
  store i1 false, ptr %92, align 1
  store i1 false, ptr %93, align 1
  store i1 false, ptr %95, align 1
  store i1 false, ptr %97, align 1
  store i1 false, ptr %98, align 1
  store i1 false, ptr %99, align 1
  store i1 false, ptr %100, align 1
  store i1 false, ptr %101, align 1
  store i1 false, ptr %103, align 1
  call void @llvm.lifetime.start.p0(i64 4, ptr %104) #6
  store i1 false, ptr %105, align 1
  store i1 false, ptr %106, align 1
  store i1 false, ptr %109, align 1
  store i1 false, ptr %111, align 1
  store i1 false, ptr %112, align 1
  store i1 false, ptr %113, align 1
  store i1 false, ptr %115, align 1
  store i1 false, ptr %117, align 1
  store i1 false, ptr %118, align 1
  store i1 false, ptr %119, align 1
  store i1 false, ptr %120, align 1
  br i1 %484, label %485, label %495

485:                                              ; preds = %468
  %486 = load double, ptr %66, align 8, !tbaa !61
  %487 = getelementptr inbounds %class.InputData, ptr %134, i32 0, i32 25
  %488 = load double, ptr %487, align 8, !tbaa !62
  %489 = fcmp olt double %486, %488
  br i1 %489, label %490, label %495

490:                                              ; preds = %485
  %491 = load double, ptr %67, align 8, !tbaa !61
  %492 = getelementptr inbounds %class.InputData, ptr %134, i32 0, i32 26
  %493 = load double, ptr %492, align 8, !tbaa !63
  %494 = fcmp olt double %491, %493
  br i1 %494, label %511, label %495

495:                                              ; preds = %490, %485, %468
  call void @llvm.lifetime.start.p0(i64 32, ptr %69) #6
  store i1 true, ptr %70, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %71) #6
  store i1 true, ptr %72, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %73) #6
  store i1 true, ptr %74, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %75) #6
  store i1 true, ptr %76, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %77) #6
  store i1 true, ptr %78, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %79) #6
  store i1 true, ptr %80, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %81) #6
  store i1 true, ptr %82, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %81) #6
  store i1 true, ptr %83, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %79, ptr noundef @.str.73, ptr noundef nonnull align 1 dereferenceable(1) %81)
          to label %496 unwind label %666

496:                                              ; preds = %495
  store i1 true, ptr %84, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %77, ptr noundef nonnull align 8 dereferenceable(32) %79, ptr noundef @.str.62)
          to label %497 unwind label %670

497:                                              ; preds = %496
  store i1 true, ptr %85, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %86) #6
  store i1 true, ptr %87, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %88) #6
  store i1 true, ptr %89, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %88) #6
  store i1 true, ptr %90, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %86, ptr noundef @__FUNCTION__._ZN9InputData17findBoundaryPoresEv, ptr noundef nonnull align 1 dereferenceable(1) %88)
          to label %498 unwind label %674

498:                                              ; preds = %497
  store i1 true, ptr %91, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %75, ptr noundef nonnull align 8 dereferenceable(32) %77, ptr noundef nonnull align 8 dereferenceable(32) %86)
          to label %499 unwind label %678

499:                                              ; preds = %498
  store i1 true, ptr %92, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %73, ptr noundef nonnull align 8 dereferenceable(32) %75, ptr noundef @.str.63)
          to label %500 unwind label %682

500:                                              ; preds = %499
  store i1 true, ptr %93, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %94) #6
  store i1 true, ptr %95, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %96) #6
  store i1 true, ptr %97, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %96) #6
  store i1 true, ptr %98, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %94, ptr noundef @.str.64, ptr noundef nonnull align 1 dereferenceable(1) %96)
          to label %501 unwind label %686

501:                                              ; preds = %500
  store i1 true, ptr %99, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %71, ptr noundef nonnull align 8 dereferenceable(32) %73, ptr noundef nonnull align 8 dereferenceable(32) %94)
          to label %502 unwind label %690

502:                                              ; preds = %501
  store i1 true, ptr %100, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %69, ptr noundef nonnull align 8 dereferenceable(32) %71, ptr noundef @.str.65)
          to label %503 unwind label %694

503:                                              ; preds = %502
  store i1 true, ptr %101, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %102) #6
  store i1 true, ptr %103, align 1
  store i32 640, ptr %104, align 4, !tbaa !59
  invoke void @_Z2_sIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %102, ptr noundef nonnull align 4 dereferenceable(4) %104)
          to label %504 unwind label %698

504:                                              ; preds = %503
  store i1 true, ptr %105, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %68, ptr noundef nonnull align 8 dereferenceable(32) %69, ptr noundef nonnull align 8 dereferenceable(32) %102)
          to label %505 unwind label %702

505:                                              ; preds = %504
  store i1 true, ptr %106, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %108) #6
  store i1 true, ptr %109, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %110) #6
  store i1 true, ptr %111, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %110) #6
  store i1 true, ptr %112, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %108, ptr noundef @.str.66, ptr noundef nonnull align 1 dereferenceable(1) %110)
          to label %506 unwind label %706

506:                                              ; preds = %505
  store i1 true, ptr %113, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %114) #6
  store i1 true, ptr %115, align 1
  call void @llvm.lifetime.start.p0(i64 1, ptr %116) #6
  store i1 true, ptr %117, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %116) #6
  store i1 true, ptr %118, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %114, ptr noundef @.str.76, ptr noundef nonnull align 1 dereferenceable(1) %116)
          to label %507 unwind label %710

507:                                              ; preds = %506
  store i1 true, ptr %119, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %107, ptr noundef nonnull align 8 dereferenceable(32) %108, ptr noundef nonnull align 8 dereferenceable(32) %114)
          to label %508 unwind label %714

508:                                              ; preds = %507
  store i1 true, ptr %120, align 1
  %509 = invoke noundef zeroext i1 @_Z6_cerr_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_i(ptr noundef %68, ptr noundef %107, i32 noundef 0)
          to label %510 unwind label %718

510:                                              ; preds = %508
  br label %511

511:                                              ; preds = %510, %490
  %512 = phi i1 [ true, %490 ], [ %509, %510 ]
  %513 = xor i1 %512, true
  %514 = load i1, ptr %120, align 1
  br i1 %514, label %515, label %516

515:                                              ; preds = %511
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %107) #6
  br label %516

516:                                              ; preds = %515, %511
  %517 = load i1, ptr %119, align 1
  br i1 %517, label %518, label %519

518:                                              ; preds = %516
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %114) #6
  br label %519

519:                                              ; preds = %518, %516
  %520 = load i1, ptr %118, align 1
  br i1 %520, label %521, label %522

521:                                              ; preds = %519
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %116) #6
  br label %522

522:                                              ; preds = %521, %519
  %523 = load i1, ptr %117, align 1
  br i1 %523, label %524, label %525

524:                                              ; preds = %522
  call void @llvm.lifetime.end.p0(i64 1, ptr %116) #6
  br label %525

525:                                              ; preds = %524, %522
  %526 = load i1, ptr %115, align 1
  br i1 %526, label %527, label %528

527:                                              ; preds = %525
  call void @llvm.lifetime.end.p0(i64 32, ptr %114) #6
  br label %528

528:                                              ; preds = %527, %525
  %529 = load i1, ptr %113, align 1
  br i1 %529, label %530, label %531

530:                                              ; preds = %528
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %108) #6
  br label %531

531:                                              ; preds = %530, %528
  %532 = load i1, ptr %112, align 1
  br i1 %532, label %533, label %534

533:                                              ; preds = %531
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %110) #6
  br label %534

534:                                              ; preds = %533, %531
  %535 = load i1, ptr %111, align 1
  br i1 %535, label %536, label %537

536:                                              ; preds = %534
  call void @llvm.lifetime.end.p0(i64 1, ptr %110) #6
  br label %537

537:                                              ; preds = %536, %534
  %538 = load i1, ptr %109, align 1
  br i1 %538, label %539, label %540

539:                                              ; preds = %537
  call void @llvm.lifetime.end.p0(i64 32, ptr %108) #6
  br label %540

540:                                              ; preds = %539, %537
  %541 = load i1, ptr %106, align 1
  br i1 %541, label %542, label %543

542:                                              ; preds = %540
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #6
  br label %543

543:                                              ; preds = %542, %540
  %544 = load i1, ptr %105, align 1
  br i1 %544, label %545, label %546

545:                                              ; preds = %543
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %102) #6
  br label %546

546:                                              ; preds = %545, %543
  call void @llvm.lifetime.end.p0(i64 4, ptr %104) #6
  %547 = load i1, ptr %103, align 1
  br i1 %547, label %548, label %549

548:                                              ; preds = %546
  call void @llvm.lifetime.end.p0(i64 32, ptr %102) #6
  br label %549

549:                                              ; preds = %548, %546
  %550 = load i1, ptr %101, align 1
  br i1 %550, label %551, label %552

551:                                              ; preds = %549
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #6
  br label %552

552:                                              ; preds = %551, %549
  %553 = load i1, ptr %100, align 1
  br i1 %553, label %554, label %555

554:                                              ; preds = %552
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #6
  br label %555

555:                                              ; preds = %554, %552
  %556 = load i1, ptr %99, align 1
  br i1 %556, label %557, label %558

557:                                              ; preds = %555
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %94) #6
  br label %558

558:                                              ; preds = %557, %555
  %559 = load i1, ptr %98, align 1
  br i1 %559, label %560, label %561

560:                                              ; preds = %558
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %96) #6
  br label %561

561:                                              ; preds = %560, %558
  %562 = load i1, ptr %97, align 1
  br i1 %562, label %563, label %564

563:                                              ; preds = %561
  call void @llvm.lifetime.end.p0(i64 1, ptr %96) #6
  br label %564

564:                                              ; preds = %563, %561
  %565 = load i1, ptr %95, align 1
  br i1 %565, label %566, label %567

566:                                              ; preds = %564
  call void @llvm.lifetime.end.p0(i64 32, ptr %94) #6
  br label %567

567:                                              ; preds = %566, %564
  %568 = load i1, ptr %93, align 1
  br i1 %568, label %569, label %570

569:                                              ; preds = %567
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #6
  br label %570

570:                                              ; preds = %569, %567
  %571 = load i1, ptr %92, align 1
  br i1 %571, label %572, label %573

572:                                              ; preds = %570
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #6
  br label %573

573:                                              ; preds = %572, %570
  %574 = load i1, ptr %91, align 1
  br i1 %574, label %575, label %576

575:                                              ; preds = %573
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %86) #6
  br label %576

576:                                              ; preds = %575, %573
  %577 = load i1, ptr %90, align 1
  br i1 %577, label %578, label %579

578:                                              ; preds = %576
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %88) #6
  br label %579

579:                                              ; preds = %578, %576
  %580 = load i1, ptr %89, align 1
  br i1 %580, label %581, label %582

581:                                              ; preds = %579
  call void @llvm.lifetime.end.p0(i64 1, ptr %88) #6
  br label %582

582:                                              ; preds = %581, %579
  %583 = load i1, ptr %87, align 1
  br i1 %583, label %584, label %585

584:                                              ; preds = %582
  call void @llvm.lifetime.end.p0(i64 32, ptr %86) #6
  br label %585

585:                                              ; preds = %584, %582
  %586 = load i1, ptr %85, align 1
  br i1 %586, label %587, label %588

587:                                              ; preds = %585
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #6
  br label %588

588:                                              ; preds = %587, %585
  %589 = load i1, ptr %84, align 1
  br i1 %589, label %590, label %591

590:                                              ; preds = %588
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #6
  br label %591

591:                                              ; preds = %590, %588
  %592 = load i1, ptr %83, align 1
  br i1 %592, label %593, label %594

593:                                              ; preds = %591
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %81) #6
  br label %594

594:                                              ; preds = %593, %591
  %595 = load i1, ptr %82, align 1
  br i1 %595, label %596, label %597

596:                                              ; preds = %594
  call void @llvm.lifetime.end.p0(i64 1, ptr %81) #6
  br label %597

597:                                              ; preds = %596, %594
  %598 = load i1, ptr %80, align 1
  br i1 %598, label %599, label %600

599:                                              ; preds = %597
  call void @llvm.lifetime.end.p0(i64 32, ptr %79) #6
  br label %600

600:                                              ; preds = %599, %597
  %601 = load i1, ptr %78, align 1
  br i1 %601, label %602, label %603

602:                                              ; preds = %600
  call void @llvm.lifetime.end.p0(i64 32, ptr %77) #6
  br label %603

603:                                              ; preds = %602, %600
  %604 = load i1, ptr %76, align 1
  br i1 %604, label %605, label %606

605:                                              ; preds = %603
  call void @llvm.lifetime.end.p0(i64 32, ptr %75) #6
  br label %606

606:                                              ; preds = %605, %603
  %607 = load i1, ptr %74, align 1
  br i1 %607, label %608, label %609

608:                                              ; preds = %606
  call void @llvm.lifetime.end.p0(i64 32, ptr %73) #6
  br label %609

609:                                              ; preds = %608, %606
  %610 = load i1, ptr %72, align 1
  br i1 %610, label %611, label %612

611:                                              ; preds = %609
  call void @llvm.lifetime.end.p0(i64 32, ptr %71) #6
  br label %612

612:                                              ; preds = %611, %609
  %613 = load i1, ptr %70, align 1
  br i1 %613, label %614, label %615

614:                                              ; preds = %612
  call void @llvm.lifetime.end.p0(i64 32, ptr %69) #6
  br label %615

615:                                              ; preds = %614, %612
  call void @llvm.lifetime.start.p0(i64 24, ptr %121) #6
  call void @_ZNSt6vectorI4var3IdESaIS1_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %121) #6
  call void @llvm.lifetime.start.p0(i64 24, ptr %122) #6
  %616 = load double, ptr %9, align 8, !tbaa !61
  %617 = load double, ptr %66, align 8, !tbaa !61
  invoke void @_ZN4var3IdEC2Eddd(ptr noundef nonnull align 8 dereferenceable(24) %122, double noundef %616, double noundef %617, double noundef 0.000000e+00)
          to label %618 unwind label %837

618:                                              ; preds = %615
  invoke void @_ZNSt6vectorI4var3IdESaIS1_EE9push_backERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %121, ptr noundef nonnull align 8 dereferenceable(24) %122)
          to label %619 unwind label %837

619:                                              ; preds = %618
  call void @llvm.lifetime.start.p0(i64 24, ptr %123) #6
  %620 = load double, ptr %9, align 8, !tbaa !61
  %621 = load double, ptr %66, align 8, !tbaa !61
  %622 = getelementptr inbounds %class.InputData, ptr %134, i32 0, i32 26
  %623 = load double, ptr %622, align 8, !tbaa !63
  invoke void @_ZN4var3IdEC2Eddd(ptr noundef nonnull align 8 dereferenceable(24) %123, double noundef %620, double noundef %621, double noundef %623)
          to label %624 unwind label %841

624:                                              ; preds = %619
  invoke void @_ZNSt6vectorI4var3IdESaIS1_EE9push_backERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %121, ptr noundef nonnull align 8 dereferenceable(24) %123)
          to label %625 unwind label %841

625:                                              ; preds = %624
  call void @llvm.lifetime.start.p0(i64 24, ptr %124) #6
  %626 = load double, ptr %9, align 8, !tbaa !61
  %627 = load double, ptr %67, align 8, !tbaa !61
  invoke void @_ZN4var3IdEC2Eddd(ptr noundef nonnull align 8 dereferenceable(24) %124, double noundef %626, double noundef 0.000000e+00, double noundef %627)
          to label %628 unwind label %845

628:                                              ; preds = %625
  invoke void @_ZNSt6vectorI4var3IdESaIS1_EE9push_backERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %121, ptr noundef nonnull align 8 dereferenceable(24) %124)
          to label %629 unwind label %845

629:                                              ; preds = %628
  call void @llvm.lifetime.start.p0(i64 24, ptr %125) #6
  %630 = load double, ptr %9, align 8, !tbaa !61
  %631 = getelementptr inbounds %class.InputData, ptr %134, i32 0, i32 25
  %632 = load double, ptr %631, align 8, !tbaa !62
  %633 = load double, ptr %67, align 8, !tbaa !61
  invoke void @_ZN4var3IdEC2Eddd(ptr noundef nonnull align 8 dereferenceable(24) %125, double noundef %630, double noundef %632, double noundef %633)
          to label %634 unwind label %849

634:                                              ; preds = %629
  invoke void @_ZNSt6vectorI4var3IdESaIS1_EE9push_backERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %121, ptr noundef nonnull align 8 dereferenceable(24) %125)
          to label %635 unwind label %849

635:                                              ; preds = %634
  call void @llvm.lifetime.start.p0(i64 24, ptr %126) #6
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %126) #6
  call void @llvm.lifetime.start.p0(i64 24, ptr %127) #6
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %127) #6
  invoke void @_ZNK9InputData21findClosestPoreForPBCERKSt6vectorI4var3IdESaIS2_EERS0_IiSaIiEERS0_IdSaIdEE(ptr noundef nonnull align 8 dereferenceable(2640) %134, ptr noundef nonnull align 8 dereferenceable(24) %121, ptr noundef nonnull align 8 dereferenceable(24) %126, ptr noundef nonnull align 8 dereferenceable(24) %127)
          to label %636 unwind label %853

636:                                              ; preds = %635
  call void @llvm.lifetime.start.p0(i64 8, ptr %128) #6
  %637 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %126, i64 noundef 0) #6
  %638 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %126, i64 noundef 1) #6
  invoke void @_ZNSt4pairIiiEC2IRiS2_TnNSt9enable_ifIXaaclsr5_PCCPE22_MoveConstructiblePairIT_T0_EEclsr5_PCCPE30_ImplicitlyMoveConvertiblePairIS4_S5_EEEbE4typeELb1EEEOS4_OS5_(ptr noundef nonnull align 4 dereferenceable(8) %128, ptr noundef nonnull align 4 dereferenceable(4) %637, ptr noundef nonnull align 4 dereferenceable(4) %638)
          to label %639 unwind label %857

639:                                              ; preds = %636
  call void @llvm.lifetime.start.p0(i64 8, ptr %129) #6
  %640 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %126, i64 noundef 2) #6
  %641 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %126, i64 noundef 3) #6
  invoke void @_ZNSt4pairIiiEC2IRiS2_TnNSt9enable_ifIXaaclsr5_PCCPE22_MoveConstructiblePairIT_T0_EEclsr5_PCCPE30_ImplicitlyMoveConvertiblePairIS4_S5_EEEbE4typeELb1EEEOS4_OS5_(ptr noundef nonnull align 4 dereferenceable(8) %129, ptr noundef nonnull align 4 dereferenceable(4) %640, ptr noundef nonnull align 4 dereferenceable(4) %641)
          to label %642 unwind label %861

642:                                              ; preds = %639
  %643 = getelementptr inbounds %"struct.std::pair", ptr %128, i32 0, i32 0
  %644 = load i32, ptr %643, align 4, !tbaa !64
  %645 = getelementptr inbounds %"struct.std::pair", ptr %128, i32 0, i32 1
  %646 = load i32, ptr %645, align 4, !tbaa !66
  %647 = icmp ne i32 %644, %646
  br i1 %647, label %648, label %869

648:                                              ; preds = %642
  %649 = getelementptr inbounds %class.InputData, ptr %134, i32 0, i32 19
  %650 = invoke noundef i64 @_ZNKSt3setISt4pairIiiESt4lessIS1_ESaIS1_EE5countERKS1_(ptr noundef nonnull align 8 dereferenceable(48) %649, ptr noundef nonnull align 4 dereferenceable(8) %128)
          to label %651 unwind label %861

651:                                              ; preds = %648
  %652 = icmp eq i64 %650, 0
  br i1 %652, label %653, label %869

653:                                              ; preds = %651
  call void @llvm.lifetime.start.p0(i64 16, ptr %130) #6
  %654 = getelementptr inbounds %"struct.std::pair", ptr %128, i32 0, i32 0
  %655 = load i32, ptr %654, align 4, !tbaa !64
  %656 = getelementptr inbounds %"struct.std::pair", ptr %128, i32 0, i32 1
  %657 = load i32, ptr %656, align 4, !tbaa !66
  %658 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %127, i64 noundef 0) #6
  %659 = load double, ptr %658, align 8, !tbaa !61
  %660 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %127, i64 noundef 1) #6
  %661 = load double, ptr %660, align 8, !tbaa !61
  %662 = fadd double %659, %661
  invoke void @_ZN6tuple3IiidEC2Eiid(ptr noundef nonnull align 8 dereferenceable(16) %130, i32 noundef %655, i32 noundef %657, double noundef %662)
          to label %663 unwind label %865

663:                                              ; preds = %653
  %664 = getelementptr inbounds %class.InputData, ptr %134, i32 0, i32 21
  invoke void @_ZNSt6vectorI6tuple3IiidESaIS1_EE9push_backERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %664, ptr noundef nonnull align 8 dereferenceable(16) %130)
          to label %665 unwind label %865

665:                                              ; preds = %663
  call void @llvm.lifetime.end.p0(i64 16, ptr %130) #6
  br label %869

666:                                              ; preds = %495
  %667 = landingpad { ptr, i32 }
          cleanup
  %668 = extractvalue { ptr, i32 } %667, 0
  store ptr %668, ptr %26, align 8
  %669 = extractvalue { ptr, i32 } %667, 1
  store i32 %669, ptr %27, align 4
  br label %812

670:                                              ; preds = %496
  %671 = landingpad { ptr, i32 }
          cleanup
  %672 = extractvalue { ptr, i32 } %671, 0
  store ptr %672, ptr %26, align 8
  %673 = extractvalue { ptr, i32 } %671, 1
  store i32 %673, ptr %27, align 4
  br label %808

674:                                              ; preds = %497
  %675 = landingpad { ptr, i32 }
          cleanup
  %676 = extractvalue { ptr, i32 } %675, 0
  store ptr %676, ptr %26, align 8
  %677 = extractvalue { ptr, i32 } %675, 1
  store i32 %677, ptr %27, align 4
  br label %795

678:                                              ; preds = %498
  %679 = landingpad { ptr, i32 }
          cleanup
  %680 = extractvalue { ptr, i32 } %679, 0
  store ptr %680, ptr %26, align 8
  %681 = extractvalue { ptr, i32 } %679, 1
  store i32 %681, ptr %27, align 4
  br label %791

682:                                              ; preds = %499
  %683 = landingpad { ptr, i32 }
          cleanup
  %684 = extractvalue { ptr, i32 } %683, 0
  store ptr %684, ptr %26, align 8
  %685 = extractvalue { ptr, i32 } %683, 1
  store i32 %685, ptr %27, align 4
  br label %787

686:                                              ; preds = %500
  %687 = landingpad { ptr, i32 }
          cleanup
  %688 = extractvalue { ptr, i32 } %687, 0
  store ptr %688, ptr %26, align 8
  %689 = extractvalue { ptr, i32 } %687, 1
  store i32 %689, ptr %27, align 4
  br label %774

690:                                              ; preds = %501
  %691 = landingpad { ptr, i32 }
          cleanup
  %692 = extractvalue { ptr, i32 } %691, 0
  store ptr %692, ptr %26, align 8
  %693 = extractvalue { ptr, i32 } %691, 1
  store i32 %693, ptr %27, align 4
  br label %770

694:                                              ; preds = %502
  %695 = landingpad { ptr, i32 }
          cleanup
  %696 = extractvalue { ptr, i32 } %695, 0
  store ptr %696, ptr %26, align 8
  %697 = extractvalue { ptr, i32 } %695, 1
  store i32 %697, ptr %27, align 4
  br label %766

698:                                              ; preds = %503
  %699 = landingpad { ptr, i32 }
          cleanup
  %700 = extractvalue { ptr, i32 } %699, 0
  store ptr %700, ptr %26, align 8
  %701 = extractvalue { ptr, i32 } %699, 1
  store i32 %701, ptr %27, align 4
  br label %759

702:                                              ; preds = %504
  %703 = landingpad { ptr, i32 }
          cleanup
  %704 = extractvalue { ptr, i32 } %703, 0
  store ptr %704, ptr %26, align 8
  %705 = extractvalue { ptr, i32 } %703, 1
  store i32 %705, ptr %27, align 4
  br label %755

706:                                              ; preds = %505
  %707 = landingpad { ptr, i32 }
          cleanup
  %708 = extractvalue { ptr, i32 } %707, 0
  store ptr %708, ptr %26, align 8
  %709 = extractvalue { ptr, i32 } %707, 1
  store i32 %709, ptr %27, align 4
  br label %742

710:                                              ; preds = %506
  %711 = landingpad { ptr, i32 }
          cleanup
  %712 = extractvalue { ptr, i32 } %711, 0
  store ptr %712, ptr %26, align 8
  %713 = extractvalue { ptr, i32 } %711, 1
  store i32 %713, ptr %27, align 4
  br label %729

714:                                              ; preds = %507
  %715 = landingpad { ptr, i32 }
          cleanup
  %716 = extractvalue { ptr, i32 } %715, 0
  store ptr %716, ptr %26, align 8
  %717 = extractvalue { ptr, i32 } %715, 1
  store i32 %717, ptr %27, align 4
  br label %725

718:                                              ; preds = %508
  %719 = landingpad { ptr, i32 }
          cleanup
  %720 = extractvalue { ptr, i32 } %719, 0
  store ptr %720, ptr %26, align 8
  %721 = extractvalue { ptr, i32 } %719, 1
  store i32 %721, ptr %27, align 4
  %722 = load i1, ptr %120, align 1
  br i1 %722, label %723, label %724

723:                                              ; preds = %718
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %107) #6
  br label %724

724:                                              ; preds = %723, %718
  br label %725

725:                                              ; preds = %724, %714
  %726 = load i1, ptr %119, align 1
  br i1 %726, label %727, label %728

727:                                              ; preds = %725
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %114) #6
  br label %728

728:                                              ; preds = %727, %725
  br label %729

729:                                              ; preds = %728, %710
  %730 = load i1, ptr %118, align 1
  br i1 %730, label %731, label %732

731:                                              ; preds = %729
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %116) #6
  br label %732

732:                                              ; preds = %731, %729
  %733 = load i1, ptr %117, align 1
  br i1 %733, label %734, label %735

734:                                              ; preds = %732
  call void @llvm.lifetime.end.p0(i64 1, ptr %116) #6
  br label %735

735:                                              ; preds = %734, %732
  %736 = load i1, ptr %115, align 1
  br i1 %736, label %737, label %738

737:                                              ; preds = %735
  call void @llvm.lifetime.end.p0(i64 32, ptr %114) #6
  br label %738

738:                                              ; preds = %737, %735
  %739 = load i1, ptr %113, align 1
  br i1 %739, label %740, label %741

740:                                              ; preds = %738
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %108) #6
  br label %741

741:                                              ; preds = %740, %738
  br label %742

742:                                              ; preds = %741, %706
  %743 = load i1, ptr %112, align 1
  br i1 %743, label %744, label %745

744:                                              ; preds = %742
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %110) #6
  br label %745

745:                                              ; preds = %744, %742
  %746 = load i1, ptr %111, align 1
  br i1 %746, label %747, label %748

747:                                              ; preds = %745
  call void @llvm.lifetime.end.p0(i64 1, ptr %110) #6
  br label %748

748:                                              ; preds = %747, %745
  %749 = load i1, ptr %109, align 1
  br i1 %749, label %750, label %751

750:                                              ; preds = %748
  call void @llvm.lifetime.end.p0(i64 32, ptr %108) #6
  br label %751

751:                                              ; preds = %750, %748
  %752 = load i1, ptr %106, align 1
  br i1 %752, label %753, label %754

753:                                              ; preds = %751
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #6
  br label %754

754:                                              ; preds = %753, %751
  br label %755

755:                                              ; preds = %754, %702
  %756 = load i1, ptr %105, align 1
  br i1 %756, label %757, label %758

757:                                              ; preds = %755
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %102) #6
  br label %758

758:                                              ; preds = %757, %755
  br label %759

759:                                              ; preds = %758, %698
  call void @llvm.lifetime.end.p0(i64 4, ptr %104) #6
  %760 = load i1, ptr %103, align 1
  br i1 %760, label %761, label %762

761:                                              ; preds = %759
  call void @llvm.lifetime.end.p0(i64 32, ptr %102) #6
  br label %762

762:                                              ; preds = %761, %759
  %763 = load i1, ptr %101, align 1
  br i1 %763, label %764, label %765

764:                                              ; preds = %762
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #6
  br label %765

765:                                              ; preds = %764, %762
  br label %766

766:                                              ; preds = %765, %694
  %767 = load i1, ptr %100, align 1
  br i1 %767, label %768, label %769

768:                                              ; preds = %766
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #6
  br label %769

769:                                              ; preds = %768, %766
  br label %770

770:                                              ; preds = %769, %690
  %771 = load i1, ptr %99, align 1
  br i1 %771, label %772, label %773

772:                                              ; preds = %770
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %94) #6
  br label %773

773:                                              ; preds = %772, %770
  br label %774

774:                                              ; preds = %773, %686
  %775 = load i1, ptr %98, align 1
  br i1 %775, label %776, label %777

776:                                              ; preds = %774
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %96) #6
  br label %777

777:                                              ; preds = %776, %774
  %778 = load i1, ptr %97, align 1
  br i1 %778, label %779, label %780

779:                                              ; preds = %777
  call void @llvm.lifetime.end.p0(i64 1, ptr %96) #6
  br label %780

780:                                              ; preds = %779, %777
  %781 = load i1, ptr %95, align 1
  br i1 %781, label %782, label %783

782:                                              ; preds = %780
  call void @llvm.lifetime.end.p0(i64 32, ptr %94) #6
  br label %783

783:                                              ; preds = %782, %780
  %784 = load i1, ptr %93, align 1
  br i1 %784, label %785, label %786

785:                                              ; preds = %783
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #6
  br label %786

786:                                              ; preds = %785, %783
  br label %787

787:                                              ; preds = %786, %682
  %788 = load i1, ptr %92, align 1
  br i1 %788, label %789, label %790

789:                                              ; preds = %787
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #6
  br label %790

790:                                              ; preds = %789, %787
  br label %791

791:                                              ; preds = %790, %678
  %792 = load i1, ptr %91, align 1
  br i1 %792, label %793, label %794

793:                                              ; preds = %791
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %86) #6
  br label %794

794:                                              ; preds = %793, %791
  br label %795

795:                                              ; preds = %794, %674
  %796 = load i1, ptr %90, align 1
  br i1 %796, label %797, label %798

797:                                              ; preds = %795
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %88) #6
  br label %798

798:                                              ; preds = %797, %795
  %799 = load i1, ptr %89, align 1
  br i1 %799, label %800, label %801

800:                                              ; preds = %798
  call void @llvm.lifetime.end.p0(i64 1, ptr %88) #6
  br label %801

801:                                              ; preds = %800, %798
  %802 = load i1, ptr %87, align 1
  br i1 %802, label %803, label %804

803:                                              ; preds = %801
  call void @llvm.lifetime.end.p0(i64 32, ptr %86) #6
  br label %804

804:                                              ; preds = %803, %801
  %805 = load i1, ptr %85, align 1
  br i1 %805, label %806, label %807

806:                                              ; preds = %804
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #6
  br label %807

807:                                              ; preds = %806, %804
  br label %808

808:                                              ; preds = %807, %670
  %809 = load i1, ptr %84, align 1
  br i1 %809, label %810, label %811

810:                                              ; preds = %808
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #6
  br label %811

811:                                              ; preds = %810, %808
  br label %812

812:                                              ; preds = %811, %666
  %813 = load i1, ptr %83, align 1
  br i1 %813, label %814, label %815

814:                                              ; preds = %812
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %81) #6
  br label %815

815:                                              ; preds = %814, %812
  %816 = load i1, ptr %82, align 1
  br i1 %816, label %817, label %818

817:                                              ; preds = %815
  call void @llvm.lifetime.end.p0(i64 1, ptr %81) #6
  br label %818

818:                                              ; preds = %817, %815
  %819 = load i1, ptr %80, align 1
  br i1 %819, label %820, label %821

820:                                              ; preds = %818
  call void @llvm.lifetime.end.p0(i64 32, ptr %79) #6
  br label %821

821:                                              ; preds = %820, %818
  %822 = load i1, ptr %78, align 1
  br i1 %822, label %823, label %824

823:                                              ; preds = %821
  call void @llvm.lifetime.end.p0(i64 32, ptr %77) #6
  br label %824

824:                                              ; preds = %823, %821
  %825 = load i1, ptr %76, align 1
  br i1 %825, label %826, label %827

826:                                              ; preds = %824
  call void @llvm.lifetime.end.p0(i64 32, ptr %75) #6
  br label %827

827:                                              ; preds = %826, %824
  %828 = load i1, ptr %74, align 1
  br i1 %828, label %829, label %830

829:                                              ; preds = %827
  call void @llvm.lifetime.end.p0(i64 32, ptr %73) #6
  br label %830

830:                                              ; preds = %829, %827
  %831 = load i1, ptr %72, align 1
  br i1 %831, label %832, label %833

832:                                              ; preds = %830
  call void @llvm.lifetime.end.p0(i64 32, ptr %71) #6
  br label %833

833:                                              ; preds = %832, %830
  %834 = load i1, ptr %70, align 1
  br i1 %834, label %835, label %836

835:                                              ; preds = %833
  call void @llvm.lifetime.end.p0(i64 32, ptr %69) #6
  br label %836

836:                                              ; preds = %835, %833
  br label %922

837:                                              ; preds = %618, %615
  %838 = landingpad { ptr, i32 }
          cleanup
  %839 = extractvalue { ptr, i32 } %838, 0
  store ptr %839, ptr %26, align 8
  %840 = extractvalue { ptr, i32 } %838, 1
  store i32 %840, ptr %27, align 4
  br label %921

841:                                              ; preds = %624, %619
  %842 = landingpad { ptr, i32 }
          cleanup
  %843 = extractvalue { ptr, i32 } %842, 0
  store ptr %843, ptr %26, align 8
  %844 = extractvalue { ptr, i32 } %842, 1
  store i32 %844, ptr %27, align 4
  br label %920

845:                                              ; preds = %628, %625
  %846 = landingpad { ptr, i32 }
          cleanup
  %847 = extractvalue { ptr, i32 } %846, 0
  store ptr %847, ptr %26, align 8
  %848 = extractvalue { ptr, i32 } %846, 1
  store i32 %848, ptr %27, align 4
  br label %919

849:                                              ; preds = %634, %629
  %850 = landingpad { ptr, i32 }
          cleanup
  %851 = extractvalue { ptr, i32 } %850, 0
  store ptr %851, ptr %26, align 8
  %852 = extractvalue { ptr, i32 } %850, 1
  store i32 %852, ptr %27, align 4
  br label %918

853:                                              ; preds = %635
  %854 = landingpad { ptr, i32 }
          cleanup
  %855 = extractvalue { ptr, i32 } %854, 0
  store ptr %855, ptr %26, align 8
  %856 = extractvalue { ptr, i32 } %854, 1
  store i32 %856, ptr %27, align 4
  br label %917

857:                                              ; preds = %636
  %858 = landingpad { ptr, i32 }
          cleanup
  %859 = extractvalue { ptr, i32 } %858, 0
  store ptr %859, ptr %26, align 8
  %860 = extractvalue { ptr, i32 } %858, 1
  store i32 %860, ptr %27, align 4
  br label %916

861:                                              ; preds = %900, %897, %875, %648, %639
  %862 = landingpad { ptr, i32 }
          cleanup
  %863 = extractvalue { ptr, i32 } %862, 0
  store ptr %863, ptr %26, align 8
  %864 = extractvalue { ptr, i32 } %862, 1
  store i32 %864, ptr %27, align 4
  br label %915

865:                                              ; preds = %663, %653
  %866 = landingpad { ptr, i32 }
          cleanup
  %867 = extractvalue { ptr, i32 } %866, 0
  store ptr %867, ptr %26, align 8
  %868 = extractvalue { ptr, i32 } %866, 1
  store i32 %868, ptr %27, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %130) #6
  br label %915

869:                                              ; preds = %665, %651, %642
  %870 = getelementptr inbounds %"struct.std::pair", ptr %129, i32 0, i32 0
  %871 = load i32, ptr %870, align 4, !tbaa !64
  %872 = getelementptr inbounds %"struct.std::pair", ptr %129, i32 0, i32 1
  %873 = load i32, ptr %872, align 4, !tbaa !66
  %874 = icmp ne i32 %871, %873
  br i1 %874, label %875, label %897

875:                                              ; preds = %869
  %876 = getelementptr inbounds %class.InputData, ptr %134, i32 0, i32 20
  %877 = invoke noundef i64 @_ZNKSt3setISt4pairIiiESt4lessIS1_ESaIS1_EE5countERKS1_(ptr noundef nonnull align 8 dereferenceable(48) %876, ptr noundef nonnull align 4 dereferenceable(8) %129)
          to label %878 unwind label %861

878:                                              ; preds = %875
  %879 = icmp eq i64 %877, 0
  br i1 %879, label %880, label %897

880:                                              ; preds = %878
  call void @llvm.lifetime.start.p0(i64 16, ptr %131) #6
  %881 = getelementptr inbounds %"struct.std::pair", ptr %129, i32 0, i32 0
  %882 = load i32, ptr %881, align 4, !tbaa !64
  %883 = getelementptr inbounds %"struct.std::pair", ptr %129, i32 0, i32 1
  %884 = load i32, ptr %883, align 4, !tbaa !66
  %885 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %127, i64 noundef 2) #6
  %886 = load double, ptr %885, align 8, !tbaa !61
  %887 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %127, i64 noundef 3) #6
  %888 = load double, ptr %887, align 8, !tbaa !61
  %889 = fadd double %886, %888
  invoke void @_ZN6tuple3IiidEC2Eiid(ptr noundef nonnull align 8 dereferenceable(16) %131, i32 noundef %882, i32 noundef %884, double noundef %889)
          to label %890 unwind label %893

890:                                              ; preds = %880
  %891 = getelementptr inbounds %class.InputData, ptr %134, i32 0, i32 21
  invoke void @_ZNSt6vectorI6tuple3IiidESaIS1_EE9push_backERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %891, ptr noundef nonnull align 8 dereferenceable(16) %131)
          to label %892 unwind label %893

892:                                              ; preds = %890
  call void @llvm.lifetime.end.p0(i64 16, ptr %131) #6
  br label %897

893:                                              ; preds = %890, %880
  %894 = landingpad { ptr, i32 }
          cleanup
  %895 = extractvalue { ptr, i32 } %894, 0
  store ptr %895, ptr %26, align 8
  %896 = extractvalue { ptr, i32 } %894, 1
  store i32 %896, ptr %27, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %131) #6
  br label %915

897:                                              ; preds = %892, %878, %869
  %898 = getelementptr inbounds %class.InputData, ptr %134, i32 0, i32 19
  %899 = invoke { ptr, i8 } @_ZNSt3setISt4pairIiiESt4lessIS1_ESaIS1_EE6insertERKS1_(ptr noundef nonnull align 8 dereferenceable(48) %898, ptr noundef nonnull align 4 dereferenceable(8) %128)
          to label %900 unwind label %861

900:                                              ; preds = %897
  %901 = getelementptr inbounds { ptr, i8 }, ptr %132, i32 0, i32 0
  %902 = extractvalue { ptr, i8 } %899, 0
  store ptr %902, ptr %901, align 8
  %903 = getelementptr inbounds { ptr, i8 }, ptr %132, i32 0, i32 1
  %904 = extractvalue { ptr, i8 } %899, 1
  store i8 %904, ptr %903, align 8
  %905 = getelementptr inbounds %class.InputData, ptr %134, i32 0, i32 20
  %906 = invoke { ptr, i8 } @_ZNSt3setISt4pairIiiESt4lessIS1_ESaIS1_EE6insertERKS1_(ptr noundef nonnull align 8 dereferenceable(48) %905, ptr noundef nonnull align 4 dereferenceable(8) %129)
          to label %907 unwind label %861

907:                                              ; preds = %900
  %908 = getelementptr inbounds { ptr, i8 }, ptr %133, i32 0, i32 0
  %909 = extractvalue { ptr, i8 } %906, 0
  store ptr %909, ptr %908, align 8
  %910 = getelementptr inbounds { ptr, i8 }, ptr %133, i32 0, i32 1
  %911 = extractvalue { ptr, i8 } %906, 1
  store i8 %911, ptr %910, align 8
  call void @llvm.lifetime.end.p0(i64 8, ptr %129) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %128) #6
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %127) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %127) #6
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %126) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %126) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %125) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %124) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %123) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %122) #6
  call void @_ZNSt6vectorI4var3IdESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %121) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %121) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %67) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %66) #6
  br label %912

912:                                              ; preds = %907
  %913 = load i32, ptr %65, align 4, !tbaa !59
  %914 = add nsw i32 %913, 1
  store i32 %914, ptr %65, align 4, !tbaa !59
  br label %292, !llvm.loop !67

915:                                              ; preds = %893, %865, %861
  call void @llvm.lifetime.end.p0(i64 8, ptr %129) #6
  br label %916

916:                                              ; preds = %915, %857
  call void @llvm.lifetime.end.p0(i64 8, ptr %128) #6
  br label %917

917:                                              ; preds = %916, %853
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %127) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %127) #6
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %126) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %126) #6
  br label %918

918:                                              ; preds = %917, %849
  call void @llvm.lifetime.end.p0(i64 24, ptr %125) #6
  br label %919

919:                                              ; preds = %918, %845
  call void @llvm.lifetime.end.p0(i64 24, ptr %124) #6
  br label %920

920:                                              ; preds = %919, %841
  call void @llvm.lifetime.end.p0(i64 24, ptr %123) #6
  br label %921

921:                                              ; preds = %920, %837
  call void @llvm.lifetime.end.p0(i64 24, ptr %122) #6
  call void @_ZNSt6vectorI4var3IdESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %121) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %121) #6
  br label %922

922:                                              ; preds = %921, %836
  call void @llvm.lifetime.end.p0(i64 8, ptr %67) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %66) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #6
  br label %927

923:                                              ; preds = %296
  call void @llvm.lifetime.end.p0(i64 8, ptr %9) #6
  br label %924

924:                                              ; preds = %923
  %925 = load i32, ptr %7, align 4, !tbaa !59
  %926 = add nsw i32 %925, 1
  store i32 %926, ptr %7, align 4, !tbaa !59
  br label %155, !llvm.loop !69

927:                                              ; preds = %922, %467
  call void @llvm.lifetime.end.p0(i64 8, ptr %9) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %6) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %5) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %4) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %3) #6
  br label %929

928:                                              ; preds = %159
  call void @llvm.lifetime.end.p0(i64 8, ptr %6) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %5) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %4) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %3) #6
  ret void

929:                                              ; preds = %927
  %930 = load ptr, ptr %26, align 8
  %931 = load i32, ptr %27, align 4
  %932 = insertvalue { ptr, i32 } poison, ptr %930, 0
  %933 = insertvalue { ptr, i32 } %932, i32 %931, 1
  resume { ptr, i32 } %933
}

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef double @_ZSt3powIidEN9__gnu_cxx9__promoteIDTplcvNS1_IT_Xsr3std12__is_integerIS2_EE7__valueEE6__typeELi0EcvNS1_IT0_Xsr3std12__is_integerIS5_EE7__valueEE6__typeELi0EEXsr3std12__is_integerIS8_EE7__valueEE6__typeES2_S5_(i32 noundef, double noundef) #5

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN6tuple3IiidEC2Eiid(ptr noundef nonnull align 8 dereferenceable(16), i32 noundef, i32 noundef, double noundef) unnamed_addr #1 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local { ptr, i8 } @_ZNSt3setISt4pairIiiESt4lessIS1_ESaIS1_EE6insertERKS1_(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 4 dereferenceable(8)) #2 align 2

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

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

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

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !28, i64 2212}
!10 = !{!"_ZTS9InputData", !11, i64 0, !20, i64 128, !20, i64 648, !20, i64 1168, !20, i64 1688, !28, i64 2208, !28, i64 2212, !28, i64 2216, !28, i64 2220, !19, i64 2224, !19, i64 2225, !19, i64 2226, !19, i64 2227, !29, i64 2232, !33, i64 2256, !29, i64 2280, !29, i64 2304, !37, i64 2328, !37, i64 2376, !45, i64 2424, !45, i64 2472, !50, i64 2520, !54, i64 2544, !54, i64 2568, !58, i64 2592, !58, i64 2600, !58, i64 2608, !58, i64 2616, !58, i64 2624, !58, i64 2632}
!11 = !{!"_ZTS9InputFile", !12, i64 0, !16, i64 24, !16, i64 56, !16, i64 88, !19, i64 120, !19, i64 121}
!12 = !{!"_ZTSSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ESaIS7_EE", !13, i64 0}
!13 = !{!"_ZTSSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ESaIS7_EE", !14, i64 0}
!14 = !{!"_ZTSNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ESaIS7_EE12_Vector_implE", !15, i64 0}
!15 = !{!"_ZTSNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ESaIS7_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!16 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !17, i64 0, !18, i64 8, !7, i64 16}
!17 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !6, i64 0}
!18 = !{!"long", !7, i64 0}
!19 = !{!"bool", !7, i64 0}
!20 = !{!"_ZTSSt14basic_ifstreamIcSt11char_traitsIcEE", !21, i64 0, !22, i64 16}
!21 = !{!"_ZTSSi", !18, i64 8}
!22 = !{!"_ZTSSt13basic_filebufIcSt11char_traitsIcEE", !23, i64 0, !7, i64 64, !25, i64 104, !26, i64 120, !27, i64 124, !27, i64 132, !27, i64 140, !6, i64 152, !18, i64 160, !19, i64 168, !19, i64 169, !19, i64 170, !7, i64 171, !6, i64 176, !6, i64 184, !19, i64 192, !6, i64 200, !6, i64 208, !18, i64 216, !6, i64 224, !6, i64 232}
!23 = !{!"_ZTSSt15basic_streambufIcSt11char_traitsIcEE", !6, i64 8, !6, i64 16, !6, i64 24, !6, i64 32, !6, i64 40, !6, i64 48, !24, i64 56}
!24 = !{!"_ZTSSt6locale", !6, i64 0}
!25 = !{!"_ZTSSt12__basic_fileIcE", !6, i64 0, !19, i64 8}
!26 = !{!"_ZTSSt13_Ios_Openmode", !7, i64 0}
!27 = !{!"_ZTS11__mbstate_t", !28, i64 0, !7, i64 4}
!28 = !{!"int", !7, i64 0}
!29 = !{!"_ZTSSt6vectorI6tuple3IP10PoreStructPiS3_ESaIS4_EE", !30, i64 0}
!30 = !{!"_ZTSSt12_Vector_baseI6tuple3IP10PoreStructPiS3_ESaIS4_EE", !31, i64 0}
!31 = !{!"_ZTSNSt12_Vector_baseI6tuple3IP10PoreStructPiS3_ESaIS4_EE12_Vector_implE", !32, i64 0}
!32 = !{!"_ZTSNSt12_Vector_baseI6tuple3IP10PoreStructPiS3_ESaIS4_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!33 = !{!"_ZTSSt6vectorIP12ThroatStructSaIS1_EE", !34, i64 0}
!34 = !{!"_ZTSSt12_Vector_baseIP12ThroatStructSaIS1_EE", !35, i64 0}
!35 = !{!"_ZTSNSt12_Vector_baseIP12ThroatStructSaIS1_EE12_Vector_implE", !36, i64 0}
!36 = !{!"_ZTSNSt12_Vector_baseIP12ThroatStructSaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!37 = !{!"_ZTSSt8multimapIi6tuple3IiidESt4lessIiESaISt4pairIKiS1_EEE", !38, i64 0}
!38 = !{!"_ZTSSt8_Rb_treeIiSt4pairIKi6tuple3IiidEESt10_Select1stIS4_ESt4lessIiESaIS4_EE", !39, i64 0}
!39 = !{!"_ZTSNSt8_Rb_treeIiSt4pairIKi6tuple3IiidEESt10_Select1stIS4_ESt4lessIiESaIS4_EE13_Rb_tree_implIS8_Lb1EEE", !40, i64 0, !42, i64 8}
!40 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessIiEE", !41, i64 0}
!41 = !{!"_ZTSSt4lessIiE"}
!42 = !{!"_ZTSSt15_Rb_tree_header", !43, i64 0, !18, i64 32}
!43 = !{!"_ZTSSt18_Rb_tree_node_base", !44, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!44 = !{!"_ZTSSt14_Rb_tree_color", !7, i64 0}
!45 = !{!"_ZTSSt3setISt4pairIiiESt4lessIS1_ESaIS1_EE", !46, i64 0}
!46 = !{!"_ZTSSt8_Rb_treeISt4pairIiiES1_St9_IdentityIS1_ESt4lessIS1_ESaIS1_EE", !47, i64 0}
!47 = !{!"_ZTSNSt8_Rb_treeISt4pairIiiES1_St9_IdentityIS1_ESt4lessIS1_ESaIS1_EE13_Rb_tree_implIS5_Lb1EEE", !48, i64 0, !42, i64 8}
!48 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessISt4pairIiiEEE", !49, i64 0}
!49 = !{!"_ZTSSt4lessISt4pairIiiEE"}
!50 = !{!"_ZTSSt6vectorI6tuple3IiidESaIS1_EE", !51, i64 0}
!51 = !{!"_ZTSSt12_Vector_baseI6tuple3IiidESaIS1_EE", !52, i64 0}
!52 = !{!"_ZTSNSt12_Vector_baseI6tuple3IiidESaIS1_EE12_Vector_implE", !53, i64 0}
!53 = !{!"_ZTSNSt12_Vector_baseI6tuple3IiidESaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!54 = !{!"_ZTSSt6vectorIiSaIiEE", !55, i64 0}
!55 = !{!"_ZTSSt12_Vector_baseIiSaIiEE", !56, i64 0}
!56 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE12_Vector_implE", !57, i64 0}
!57 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!58 = !{!"double", !7, i64 0}
!59 = !{!28, !28, i64 0}
!60 = !{!10, !58, i64 2592}
!61 = !{!58, !58, i64 0}
!62 = !{!10, !58, i64 2600}
!63 = !{!10, !58, i64 2608}
!64 = !{!65, !28, i64 0}
!65 = !{!"_ZTSSt4pairIiiE", !28, i64 0, !28, i64 4}
!66 = !{!65, !28, i64 4}
!67 = distinct !{!67, !68}
!68 = !{!"llvm.loop.mustprogress"}
!69 = distinct !{!69, !68}


; 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::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::allocator.0" = type { i8 }
%"class.std::vector.37" = type { %"struct.std::_Vector_base.38" }
%"struct.std::_Vector_base.38" = type { %"struct.std::_Vector_base<var3<double>, std::allocator<var3<double>>>::_Vector_impl" }
%"struct.std::_Vector_base<var3<double>, std::allocator<var3<double>>>::_Vector_impl" = type { %"struct.std::_Vector_base<var3<double>, std::allocator<var3<double>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<var3<double>, std::allocator<var3<double>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%class.var3 = type { double, double, double }
%"class.std::vector.27" = type { %"struct.std::_Vector_base.28" }
%"struct.std::_Vector_base.28" = type { %"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl" }
%"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl" = type { %"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl_data" }
%"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.32" = type { %"struct.std::_Vector_base.33" }
%"struct.std::_Vector_base.33" = type { %"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl" }
%"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl" = type { %"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl_data" }
%"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"struct.std::pair" = type { i32, i32 }
%class.tuple3.42 = type { i32, i32, double }

@.str.62 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [11 x i8], align 1
@__FUNCTION__._ZN9InputData17findBoundaryPoresEv = external hidden unnamed_addr constant [18 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [57 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 nounwind uwtable
declare void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #1 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 dso_local void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #1 align 2

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

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_Z6_cerr_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_i(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) local_unnamed_addr #3

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

; Function Attrs: mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare double @llvm.fmuladd.f64(double, double, double) #4

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN9InputData17findBoundaryPoresEv(ptr noundef nonnull align 8 dereferenceable(2640) %0) local_unnamed_addr #2 align 2 personality ptr @__gxx_personality_v0 {
  %2 = alloca %"class.std::__cxx11::basic_string", align 8
  %3 = alloca %"class.std::__cxx11::basic_string", align 8
  %4 = alloca %"class.std::__cxx11::basic_string", align 8
  %5 = alloca %"class.std::__cxx11::basic_string", align 8
  %6 = alloca %"class.std::__cxx11::basic_string", align 8
  %7 = alloca %"class.std::__cxx11::basic_string", align 8
  %8 = alloca %"class.std::__cxx11::basic_string", align 8
  %9 = alloca %"class.std::allocator.0", align 1
  %10 = alloca %"class.std::__cxx11::basic_string", align 8
  %11 = alloca %"class.std::allocator.0", align 1
  %12 = alloca %"class.std::__cxx11::basic_string", align 8
  %13 = alloca %"class.std::allocator.0", align 1
  %14 = alloca %"class.std::__cxx11::basic_string", align 8
  %15 = alloca i32, align 4
  %16 = alloca %"class.std::__cxx11::basic_string", align 8
  %17 = alloca %"class.std::__cxx11::basic_string", align 8
  %18 = alloca %"class.std::allocator.0", align 1
  %19 = alloca %"class.std::__cxx11::basic_string", align 8
  %20 = alloca %"class.std::allocator.0", align 1
  %21 = alloca %"class.std::__cxx11::basic_string", align 8
  %22 = alloca %"class.std::__cxx11::basic_string", align 8
  %23 = alloca %"class.std::__cxx11::basic_string", align 8
  %24 = alloca %"class.std::__cxx11::basic_string", align 8
  %25 = alloca %"class.std::__cxx11::basic_string", align 8
  %26 = alloca %"class.std::__cxx11::basic_string", align 8
  %27 = alloca %"class.std::__cxx11::basic_string", align 8
  %28 = alloca %"class.std::allocator.0", align 1
  %29 = alloca %"class.std::__cxx11::basic_string", align 8
  %30 = alloca %"class.std::allocator.0", align 1
  %31 = alloca %"class.std::__cxx11::basic_string", align 8
  %32 = alloca %"class.std::allocator.0", align 1
  %33 = alloca %"class.std::__cxx11::basic_string", align 8
  %34 = alloca i32, align 4
  %35 = alloca %"class.std::__cxx11::basic_string", align 8
  %36 = alloca %"class.std::__cxx11::basic_string", align 8
  %37 = alloca %"class.std::allocator.0", align 1
  %38 = alloca %"class.std::__cxx11::basic_string", align 8
  %39 = alloca %"class.std::allocator.0", align 1
  %40 = alloca %"class.std::vector.37", align 8
  %41 = alloca %class.var3, align 8
  %42 = alloca %class.var3, align 8
  %43 = alloca %class.var3, align 8
  %44 = alloca %class.var3, align 8
  %45 = alloca %"class.std::vector.27", align 8
  %46 = alloca %"class.std::vector.32", align 8
  %47 = alloca %"struct.std::pair", align 4
  %48 = alloca %"struct.std::pair", align 4
  %49 = alloca %class.tuple3.42, align 8
  %50 = alloca %class.tuple3.42, align 8
  %51 = getelementptr inbounds i8, ptr %0, i64 2212
  %52 = load i32, ptr %51, align 4, !tbaa !5
  %53 = tail call noundef double @_ZSt3powIidEN9__gnu_cxx9__promoteIDTplcvNS1_IT_Xsr3std12__is_integerIS2_EE7__valueEE6__typeELi0EcvNS1_IT0_Xsr3std12__is_integerIS5_EE7__valueEE6__typeELi0EEXsr3std12__is_integerIS8_EE7__valueEE6__typeES2_S5_(i32 noundef %52, double noundef 0x3FD5555555555555)
  %54 = fptosi double %53 to i32
  %55 = add i32 %54, 1
  %56 = getelementptr inbounds i8, ptr %0, i64 2592
  %57 = load double, ptr %56, align 8, !tbaa !58
  %58 = sitofp i32 %55 to double
  %59 = fdiv double %57, %58
  %60 = getelementptr inbounds i8, ptr %0, i64 2600
  %61 = getelementptr inbounds i8, ptr %0, i64 2608
  %62 = load <2 x double>, ptr %60, align 8, !tbaa !59
  %63 = insertelement <2 x double> poison, double %58, i64 0
  %64 = shufflevector <2 x double> %63, <2 x double> poison, <2 x i32> zeroinitializer
  %65 = fdiv <2 x double> %62, %64
  %.not394 = icmp slt i32 %54, 0
  br i1 %.not394, label %._crit_edge398, label %.lr.ph397

.lr.ph397:                                        ; preds = %1
  %66 = fmul double %59, 5.000000e-01
  %67 = fmul <2 x double> %65, <double 5.000000e-01, double 5.000000e-01>
  %68 = getelementptr inbounds i8, ptr %47, i64 4
  %69 = getelementptr inbounds i8, ptr %0, i64 2424
  %70 = getelementptr inbounds i8, ptr %0, i64 2520
  %71 = getelementptr inbounds i8, ptr %48, i64 4
  %72 = getelementptr inbounds i8, ptr %0, i64 2472
  br label %73

._crit_edge398:                                   ; preds = %._crit_edge, %1
  ret void

73:                                               ; preds = %.lr.ph397, %._crit_edge
  %.0395 = phi i32 [ 0, %.lr.ph397 ], [ %94, %._crit_edge ]
  %74 = uitofp nneg i32 %.0395 to double
  %75 = call double @llvm.fmuladd.f64(double %74, double %59, double %66)
  %76 = load double, ptr %56, align 8, !tbaa !58
  %77 = fcmp uge double %75, %76
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %15) #7
  br i1 %77, label %78, label %93

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

79:                                               ; preds = %78
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %7, ptr noundef nonnull align 8 dereferenceable(32) %8, ptr noundef nonnull @.str.62)
          to label %80 unwind label %97

80:                                               ; preds = %79
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %10) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %11) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %11) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %10, ptr noundef nonnull @__FUNCTION__._ZN9InputData17findBoundaryPoresEv, ptr noundef nonnull align 1 dereferenceable(1) %11)
          to label %81 unwind label %99

81:                                               ; preds = %80
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %6, ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef nonnull align 8 dereferenceable(32) %10)
          to label %82 unwind label %101

82:                                               ; preds = %81
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %5, ptr noundef nonnull align 8 dereferenceable(32) %6, ptr noundef nonnull @.str.63)
          to label %83 unwind label %103

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

84:                                               ; preds = %83
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %4, ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull align 8 dereferenceable(32) %12)
          to label %85 unwind label %107

85:                                               ; preds = %84
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %3, ptr noundef nonnull align 8 dereferenceable(32) %4, ptr noundef nonnull @.str.65)
          to label %86 unwind label %109

86:                                               ; preds = %85
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %14) #7
  store i32 636, ptr %15, align 4, !tbaa !60
  invoke void @_Z2_sIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %14, ptr noundef nonnull align 4 dereferenceable(4) %15)
          to label %87 unwind label %111

87:                                               ; preds = %86
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %2, ptr noundef nonnull align 8 dereferenceable(32) %3, ptr noundef nonnull align 8 dereferenceable(32) %14)
          to label %88 unwind label %113

88:                                               ; preds = %87
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %17) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %18) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull @.str.66, ptr noundef nonnull align 1 dereferenceable(1) %18)
          to label %89 unwind label %115

89:                                               ; preds = %88
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %19) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %20) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %20) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %19, ptr noundef nonnull @.str.75, ptr noundef nonnull align 1 dereferenceable(1) %20)
          to label %90 unwind label %117

90:                                               ; preds = %89
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %16, ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %19)
          to label %91 unwind label %119

91:                                               ; preds = %90
  %92 = invoke noundef zeroext i1 @_Z6_cerr_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_i(ptr noundef nonnull %2, ptr noundef nonnull %16, i32 noundef 0)
          to label %.critedge326 unwind label %121

93:                                               ; preds = %73
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %15) #7
  br label %.lr.ph.preheader

.lr.ph.preheader:                                 ; preds = %.critedge326, %93
  br label %.lr.ph

.critedge326:                                     ; preds = %91
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %20) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %20) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %18) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %2) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %15) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %3) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %13) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %13) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %12) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %11) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %11) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %10) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %9) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %9) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %3) #7
  br label %.lr.ph.preheader

._crit_edge:                                      ; preds = %267
  %94 = add nuw i32 %.0395, 1
  %exitcond399.not = icmp eq i32 %.0395, %54
  br i1 %exitcond399.not, label %._crit_edge398, label %73, !llvm.loop !61

95:                                               ; preds = %78
  %96 = landingpad { ptr, i32 }
          cleanup
  br label %135

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

99:                                               ; preds = %80
  %100 = landingpad { ptr, i32 }
          cleanup
  br label %133

101:                                              ; preds = %81
  %102 = landingpad { ptr, i32 }
          cleanup
  br label %132

103:                                              ; preds = %82
  %104 = landingpad { ptr, i32 }
          cleanup
  br label %131

105:                                              ; preds = %83
  %106 = landingpad { ptr, i32 }
          cleanup
  br label %130

107:                                              ; preds = %84
  %108 = landingpad { ptr, i32 }
          cleanup
  br label %129

109:                                              ; preds = %85
  %110 = landingpad { ptr, i32 }
          cleanup
  br label %128

111:                                              ; preds = %86
  %112 = landingpad { ptr, i32 }
          cleanup
  br label %127

113:                                              ; preds = %87
  %114 = landingpad { ptr, i32 }
          cleanup
  br label %126

115:                                              ; preds = %88
  %116 = landingpad { ptr, i32 }
          cleanup
  br label %125

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

119:                                              ; preds = %90
  %120 = landingpad { ptr, i32 }
          cleanup
  br label %123

121:                                              ; preds = %91
  %122 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #7
  br label %123

123:                                              ; preds = %119, %121
  %.pn = phi { ptr, i32 } [ %122, %121 ], [ %120, %119 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #7
  br label %124

124:                                              ; preds = %117, %123
  %.pn.pn = phi { ptr, i32 } [ %.pn, %123 ], [ %118, %117 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %20) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %20) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #7
  br label %125

125:                                              ; preds = %115, %124
  %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %124 ], [ %116, %115 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %18) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %2) #7
  br label %126

126:                                              ; preds = %113, %125
  %.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn, %125 ], [ %114, %113 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #7
  br label %127

127:                                              ; preds = %126, %111
  %.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn, %126 ], [ %112, %111 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %15) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %3) #7
  br label %128

128:                                              ; preds = %109, %127
  %.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn, %127 ], [ %110, %109 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #7
  br label %129

129:                                              ; preds = %107, %128
  %.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn, %128 ], [ %108, %107 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #7
  br label %130

130:                                              ; preds = %105, %129
  %.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn, %129 ], [ %106, %105 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %13) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %13) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %12) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5) #7
  br label %131

131:                                              ; preds = %103, %130
  %.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn, %130 ], [ %104, %103 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #7
  br label %132

132:                                              ; preds = %101, %131
  %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn, %131 ], [ %102, %101 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #7
  br label %133

133:                                              ; preds = %99, %132
  %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %132 ], [ %100, %99 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %11) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %11) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %10) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #7
  br label %134

134:                                              ; preds = %97, %133
  %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %133 ], [ %98, %97 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #7
  br label %135

135:                                              ; preds = %95, %134
  %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %134 ], [ %96, %95 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %9) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %9) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %3) #7
  br label %275

.lr.ph:                                           ; preds = %.lr.ph.preheader, %267
  %.0208393 = phi i32 [ %268, %267 ], [ 0, %.lr.ph.preheader ]
  %136 = uitofp nneg i32 %.0208393 to double
  %137 = load double, ptr %56, align 8, !tbaa !58
  %138 = fcmp olt double %75, %137
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %34) #7
  %139 = insertelement <2 x double> poison, double %136, i64 0
  %140 = shufflevector <2 x double> %139, <2 x double> poison, <2 x i32> zeroinitializer
  %141 = call <2 x double> @llvm.fmuladd.v2f64(<2 x double> %140, <2 x double> %65, <2 x double> %67)
  %142 = load <2 x double>, ptr %60, align 8
  %143 = fcmp olt <2 x double> %141, %142
  %144 = extractelement <2 x i1> %143, i64 0
  %or.cond = select i1 %138, i1 %144, i1 false
  %145 = extractelement <2 x i1> %143, i64 1
  %or.cond350 = select i1 %or.cond, i1 %145, i1 false
  br i1 %or.cond350, label %161, label %146

146:                                              ; preds = %.lr.ph
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %22) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %23) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %24) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %25) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %26) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %27) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %28) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %27, ptr noundef nonnull @.str.73, ptr noundef nonnull align 1 dereferenceable(1) %28)
          to label %147 unwind label %190

147:                                              ; preds = %146
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %26, ptr noundef nonnull align 8 dereferenceable(32) %27, ptr noundef nonnull @.str.62)
          to label %148 unwind label %192

148:                                              ; preds = %147
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %29) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %30) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %30) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %29, ptr noundef nonnull @__FUNCTION__._ZN9InputData17findBoundaryPoresEv, ptr noundef nonnull align 1 dereferenceable(1) %30)
          to label %149 unwind label %194

149:                                              ; preds = %148
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %25, ptr noundef nonnull align 8 dereferenceable(32) %26, ptr noundef nonnull align 8 dereferenceable(32) %29)
          to label %150 unwind label %196

150:                                              ; preds = %149
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %24, ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull @.str.63)
          to label %151 unwind label %198

151:                                              ; preds = %150
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %31) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %32) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %32) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %31, ptr noundef nonnull @.str.64, ptr noundef nonnull align 1 dereferenceable(1) %32)
          to label %152 unwind label %200

152:                                              ; preds = %151
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %23, ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef nonnull align 8 dereferenceable(32) %31)
          to label %153 unwind label %202

153:                                              ; preds = %152
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %22, ptr noundef nonnull align 8 dereferenceable(32) %23, ptr noundef nonnull @.str.65)
          to label %154 unwind label %204

154:                                              ; preds = %153
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %33) #7
  store i32 640, ptr %34, align 4, !tbaa !60
  invoke void @_Z2_sIiENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKT_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %33, ptr noundef nonnull align 4 dereferenceable(4) %34)
          to label %155 unwind label %206

155:                                              ; preds = %154
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %21, ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef nonnull align 8 dereferenceable(32) %33)
          to label %156 unwind label %208

156:                                              ; preds = %155
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %36) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %37) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %37) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %36, ptr noundef nonnull @.str.66, ptr noundef nonnull align 1 dereferenceable(1) %37)
          to label %157 unwind label %210

157:                                              ; preds = %156
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %38) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %39) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %38, ptr noundef nonnull @.str.76, ptr noundef nonnull align 1 dereferenceable(1) %39)
          to label %158 unwind label %212

158:                                              ; preds = %157
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %35, ptr noundef nonnull align 8 dereferenceable(32) %36, ptr noundef nonnull align 8 dereferenceable(32) %38)
          to label %159 unwind label %214

159:                                              ; preds = %158
  %160 = invoke noundef zeroext i1 @_Z6_cerr_NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES4_i(ptr noundef nonnull %21, ptr noundef nonnull %35, i32 noundef 0)
          to label %.critedge364 unwind label %216

161:                                              ; preds = %.lr.ph
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %34) #7
  br label %.critedge385

.critedge364:                                     ; preds = %159
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %39) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %38) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %37) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %37) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %36) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %34) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %33) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %32) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %32) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %31) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %30) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %30) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %28) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #7
  br label %.critedge385

.critedge385:                                     ; preds = %161, %.critedge364
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %40) #7
  call void @_ZNSt6vectorI4var3IdESaIS1_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %40) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %41) #7
  %162 = extractelement <2 x double> %141, i64 0
  call void @_ZN4var3IdEC2Eddd(ptr noundef nonnull align 8 dereferenceable(24) %41, double noundef %75, double noundef %162, double noundef 0.000000e+00)
  invoke void @_ZNSt6vectorI4var3IdESaIS1_EE9push_backERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %40, ptr noundef nonnull align 8 dereferenceable(24) %41)
          to label %163 unwind label %231

163:                                              ; preds = %.critedge385
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %42) #7
  %164 = load double, ptr %61, align 8, !tbaa !63
  call void @_ZN4var3IdEC2Eddd(ptr noundef nonnull align 8 dereferenceable(24) %42, double noundef %75, double noundef %162, double noundef %164)
  invoke void @_ZNSt6vectorI4var3IdESaIS1_EE9push_backERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %40, ptr noundef nonnull align 8 dereferenceable(24) %42)
          to label %165 unwind label %233

165:                                              ; preds = %163
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %43) #7
  %166 = extractelement <2 x double> %141, i64 1
  call void @_ZN4var3IdEC2Eddd(ptr noundef nonnull align 8 dereferenceable(24) %43, double noundef %75, double noundef 0.000000e+00, double noundef %166)
  invoke void @_ZNSt6vectorI4var3IdESaIS1_EE9push_backERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %40, ptr noundef nonnull align 8 dereferenceable(24) %43)
          to label %167 unwind label %235

167:                                              ; preds = %165
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %44) #7
  %168 = load double, ptr %60, align 8, !tbaa !64
  call void @_ZN4var3IdEC2Eddd(ptr noundef nonnull align 8 dereferenceable(24) %44, double noundef %75, double noundef %168, double noundef %166)
  invoke void @_ZNSt6vectorI4var3IdESaIS1_EE9push_backERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %40, ptr noundef nonnull align 8 dereferenceable(24) %44)
          to label %169 unwind label %237

169:                                              ; preds = %167
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %45) #7
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %45) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %46) #7
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %46) #7
  invoke void @_ZNK9InputData21findClosestPoreForPBCERKSt6vectorI4var3IdESaIS2_EERS0_IiSaIiEERS0_IdSaIdEE(ptr noundef nonnull align 8 dereferenceable(2640) %0, ptr noundef nonnull align 8 dereferenceable(24) %40, ptr noundef nonnull align 8 dereferenceable(24) %45, ptr noundef nonnull align 8 dereferenceable(24) %46)
          to label %170 unwind label %239

170:                                              ; preds = %169
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %47) #7
  %171 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %45, i64 noundef 0) #7
  %172 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %45, i64 noundef 1) #7
  call void @_ZNSt4pairIiiEC2IRiS2_TnNSt9enable_ifIXaaclsr5_PCCPE22_MoveConstructiblePairIT_T0_EEclsr5_PCCPE30_ImplicitlyMoveConvertiblePairIS4_S5_EEEbE4typeELb1EEEOS4_OS5_(ptr noundef nonnull align 4 dereferenceable(8) %47, ptr noundef nonnull align 4 dereferenceable(4) %171, ptr noundef nonnull align 4 dereferenceable(4) %172)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %48) #7
  %173 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %45, i64 noundef 2) #7
  %174 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %45, i64 noundef 3) #7
  call void @_ZNSt4pairIiiEC2IRiS2_TnNSt9enable_ifIXaaclsr5_PCCPE22_MoveConstructiblePairIT_T0_EEclsr5_PCCPE30_ImplicitlyMoveConvertiblePairIS4_S5_EEEbE4typeELb1EEEOS4_OS5_(ptr noundef nonnull align 4 dereferenceable(8) %48, ptr noundef nonnull align 4 dereferenceable(4) %173, ptr noundef nonnull align 4 dereferenceable(4) %174)
  %175 = load i32, ptr %47, align 4, !tbaa !65
  %176 = load i32, ptr %68, align 4, !tbaa !67
  %.not303 = icmp eq i32 %175, %176
  br i1 %.not303, label %245, label %177

177:                                              ; preds = %170
  %178 = invoke noundef i64 @_ZNKSt3setISt4pairIiiESt4lessIS1_ESaIS1_EE5countERKS1_(ptr noundef nonnull align 8 dereferenceable(48) %69, ptr noundef nonnull align 4 dereferenceable(8) %47)
          to label %179 unwind label %241

179:                                              ; preds = %177
  %180 = icmp eq i64 %178, 0
  br i1 %180, label %181, label %245

181:                                              ; preds = %179
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %49) #7
  %182 = load i32, ptr %47, align 4, !tbaa !65
  %183 = load i32, ptr %68, align 4, !tbaa !67
  %184 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %46, i64 noundef 0) #7
  %185 = load double, ptr %184, align 8, !tbaa !59
  %186 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %46, i64 noundef 1) #7
  %187 = load double, ptr %186, align 8, !tbaa !59
  %188 = fadd double %185, %187
  call void @_ZN6tuple3IiidEC2Eiid(ptr noundef nonnull align 8 dereferenceable(16) %49, i32 noundef %182, i32 noundef %183, double noundef %188)
  invoke void @_ZNSt6vectorI6tuple3IiidESaIS1_EE9push_backERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %70, ptr noundef nonnull align 8 dereferenceable(16) %49)
          to label %189 unwind label %243

189:                                              ; preds = %181
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %49) #7
  br label %245

190:                                              ; preds = %146
  %191 = landingpad { ptr, i32 }
          cleanup
  br label %230

192:                                              ; preds = %147
  %193 = landingpad { ptr, i32 }
          cleanup
  br label %229

194:                                              ; preds = %148
  %195 = landingpad { ptr, i32 }
          cleanup
  br label %228

196:                                              ; preds = %149
  %197 = landingpad { ptr, i32 }
          cleanup
  br label %227

198:                                              ; preds = %150
  %199 = landingpad { ptr, i32 }
          cleanup
  br label %226

200:                                              ; preds = %151
  %201 = landingpad { ptr, i32 }
          cleanup
  br label %225

202:                                              ; preds = %152
  %203 = landingpad { ptr, i32 }
          cleanup
  br label %224

204:                                              ; preds = %153
  %205 = landingpad { ptr, i32 }
          cleanup
  br label %223

206:                                              ; preds = %154
  %207 = landingpad { ptr, i32 }
          cleanup
  br label %222

208:                                              ; preds = %155
  %209 = landingpad { ptr, i32 }
          cleanup
  br label %221

210:                                              ; preds = %156
  %211 = landingpad { ptr, i32 }
          cleanup
  br label %220

212:                                              ; preds = %157
  %213 = landingpad { ptr, i32 }
          cleanup
  br label %219

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

216:                                              ; preds = %159
  %217 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #7
  br label %218

218:                                              ; preds = %214, %216
  %.pn289 = phi { ptr, i32 } [ %217, %216 ], [ %215, %214 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #7
  br label %219

219:                                              ; preds = %212, %218
  %.pn289.pn = phi { ptr, i32 } [ %.pn289, %218 ], [ %213, %212 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %39) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %38) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #7
  br label %220

220:                                              ; preds = %210, %219
  %.pn289.pn.pn = phi { ptr, i32 } [ %.pn289.pn, %219 ], [ %211, %210 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %37) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %37) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %36) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #7
  br label %221

221:                                              ; preds = %208, %220
  %.pn289.pn.pn.pn = phi { ptr, i32 } [ %.pn289.pn.pn, %220 ], [ %209, %208 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #7
  br label %222

222:                                              ; preds = %221, %206
  %.pn289.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn289.pn.pn.pn, %221 ], [ %207, %206 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %34) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %33) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #7
  br label %223

223:                                              ; preds = %204, %222
  %.pn289.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn289.pn.pn.pn.pn, %222 ], [ %205, %204 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #7
  br label %224

224:                                              ; preds = %202, %223
  %.pn289.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn289.pn.pn.pn.pn.pn, %223 ], [ %203, %202 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #7
  br label %225

225:                                              ; preds = %200, %224
  %.pn289.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn289.pn.pn.pn.pn.pn.pn, %224 ], [ %201, %200 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %32) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %32) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %31) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #7
  br label %226

226:                                              ; preds = %198, %225
  %.pn289.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn289.pn.pn.pn.pn.pn.pn.pn, %225 ], [ %199, %198 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #7
  br label %227

227:                                              ; preds = %196, %226
  %.pn289.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn289.pn.pn.pn.pn.pn.pn.pn.pn, %226 ], [ %197, %196 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #7
  br label %228

228:                                              ; preds = %194, %227
  %.pn289.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn289.pn.pn.pn.pn.pn.pn.pn.pn.pn, %227 ], [ %195, %194 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %30) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %30) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #7
  br label %229

229:                                              ; preds = %192, %228
  %.pn289.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn289.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %228 ], [ %193, %192 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #7
  br label %230

230:                                              ; preds = %190, %229
  %.pn289.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn289.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %229 ], [ %191, %190 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %28) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #7
  br label %275

231:                                              ; preds = %.critedge385
  %232 = landingpad { ptr, i32 }
          cleanup
  br label %274

233:                                              ; preds = %163
  %234 = landingpad { ptr, i32 }
          cleanup
  br label %273

235:                                              ; preds = %165
  %236 = landingpad { ptr, i32 }
          cleanup
  br label %272

237:                                              ; preds = %167
  %238 = landingpad { ptr, i32 }
          cleanup
  br label %271

239:                                              ; preds = %169
  %240 = landingpad { ptr, i32 }
          cleanup
  br label %270

241:                                              ; preds = %265, %263, %248, %177
  %242 = landingpad { ptr, i32 }
          cleanup
  br label %269

243:                                              ; preds = %181
  %244 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %49) #7
  br label %269

245:                                              ; preds = %189, %179, %170
  %246 = load i32, ptr %48, align 4, !tbaa !65
  %247 = load i32, ptr %71, align 4, !tbaa !67
  %.not304 = icmp eq i32 %246, %247
  br i1 %.not304, label %263, label %248

248:                                              ; preds = %245
  %249 = invoke noundef i64 @_ZNKSt3setISt4pairIiiESt4lessIS1_ESaIS1_EE5countERKS1_(ptr noundef nonnull align 8 dereferenceable(48) %72, ptr noundef nonnull align 4 dereferenceable(8) %48)
          to label %250 unwind label %241

250:                                              ; preds = %248
  %251 = icmp eq i64 %249, 0
  br i1 %251, label %252, label %263

252:                                              ; preds = %250
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %50) #7
  %253 = load i32, ptr %48, align 4, !tbaa !65
  %254 = load i32, ptr %71, align 4, !tbaa !67
  %255 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %46, i64 noundef 2) #7
  %256 = load double, ptr %255, align 8, !tbaa !59
  %257 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %46, i64 noundef 3) #7
  %258 = load double, ptr %257, align 8, !tbaa !59
  %259 = fadd double %256, %258
  call void @_ZN6tuple3IiidEC2Eiid(ptr noundef nonnull align 8 dereferenceable(16) %50, i32 noundef %253, i32 noundef %254, double noundef %259)
  invoke void @_ZNSt6vectorI6tuple3IiidESaIS1_EE9push_backERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %70, ptr noundef nonnull align 8 dereferenceable(16) %50)
          to label %260 unwind label %261

260:                                              ; preds = %252
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %50) #7
  br label %263

261:                                              ; preds = %252
  %262 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %50) #7
  br label %269

263:                                              ; preds = %260, %250, %245
  %264 = invoke { ptr, i8 } @_ZNSt3setISt4pairIiiESt4lessIS1_ESaIS1_EE6insertERKS1_(ptr noundef nonnull align 8 dereferenceable(48) %69, ptr noundef nonnull align 4 dereferenceable(8) %47)
          to label %265 unwind label %241

265:                                              ; preds = %263
  %266 = invoke { ptr, i8 } @_ZNSt3setISt4pairIiiESt4lessIS1_ESaIS1_EE6insertERKS1_(ptr noundef nonnull align 8 dereferenceable(48) %72, ptr noundef nonnull align 4 dereferenceable(8) %48)
          to label %267 unwind label %241

267:                                              ; preds = %265
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %48) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %47) #7
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %46) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %46) #7
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %45) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %45) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %44) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %43) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %42) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %41) #7
  call void @_ZNSt6vectorI4var3IdESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %40) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %40) #7
  %268 = add nuw i32 %.0208393, 1
  %exitcond.not = icmp eq i32 %.0208393, %54
  br i1 %exitcond.not, label %._crit_edge, label %.lr.ph, !llvm.loop !68

269:                                              ; preds = %261, %243, %241
  %.pn305 = phi { ptr, i32 } [ %242, %241 ], [ %262, %261 ], [ %244, %243 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %48) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %47) #7
  br label %270

270:                                              ; preds = %269, %239
  %.pn305.pn = phi { ptr, i32 } [ %.pn305, %269 ], [ %240, %239 ]
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %46) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %46) #7
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %45) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %45) #7
  br label %271

271:                                              ; preds = %270, %237
  %.pn305.pn.pn = phi { ptr, i32 } [ %.pn305.pn, %270 ], [ %238, %237 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %44) #7
  br label %272

272:                                              ; preds = %271, %235
  %.pn305.pn.pn.pn = phi { ptr, i32 } [ %.pn305.pn.pn, %271 ], [ %236, %235 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %43) #7
  br label %273

273:                                              ; preds = %272, %233
  %.pn305.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn305.pn.pn.pn, %272 ], [ %234, %233 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %42) #7
  br label %274

274:                                              ; preds = %273, %231
  %.pn305.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn305.pn.pn.pn.pn, %273 ], [ %232, %231 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %41) #7
  call void @_ZNSt6vectorI4var3IdESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %40) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %40) #7
  br label %275

275:                                              ; preds = %274, %230, %135
  %.pn305.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %135 ], [ %.pn305.pn.pn.pn.pn.pn, %274 ], [ %.pn289.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %230 ]
  resume { ptr, i32 } %.pn305.pn.pn.pn.pn.pn.pn.pn
}

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef double @_ZSt3powIidEN9__gnu_cxx9__promoteIDTplcvNS1_IT_Xsr3std12__is_integerIS2_EE7__valueEE6__typeELi0EcvNS1_IT0_Xsr3std12__is_integerIS5_EE7__valueEE6__typeELi0EEXsr3std12__is_integerIS8_EE7__valueEE6__typeES2_S5_(i32 noundef, double noundef) local_unnamed_addr #5

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN6tuple3IiidEC2Eiid(ptr noundef nonnull align 8 dereferenceable(16), i32 noundef, i32 noundef, double noundef) unnamed_addr #1 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local { ptr, i8 } @_ZNSt3setISt4pairIiiESt4lessIS1_ESaIS1_EE6insertERKS1_(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 4 dereferenceable(8)) local_unnamed_addr #2 align 2

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

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

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

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare <2 x double> @llvm.fmuladd.v2f64(<2 x double>, <2 x double>, <2 x double>) #6

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !27, i64 2212}
!6 = !{!"_ZTS9InputData", !7, i64 0, !19, i64 128, !19, i64 648, !19, i64 1168, !19, i64 1688, !27, i64 2208, !27, i64 2212, !27, i64 2216, !27, i64 2220, !18, i64 2224, !18, i64 2225, !18, i64 2226, !18, i64 2227, !28, i64 2232, !32, i64 2256, !28, i64 2280, !28, i64 2304, !36, i64 2328, !36, i64 2376, !44, i64 2424, !44, i64 2472, !49, i64 2520, !53, i64 2544, !53, i64 2568, !57, i64 2592, !57, i64 2600, !57, i64 2608, !57, i64 2616, !57, i64 2624, !57, i64 2632}
!7 = !{!"_ZTS9InputFile", !8, i64 0, !15, i64 24, !15, i64 56, !15, i64 88, !18, i64 120, !18, i64 121}
!8 = !{!"_ZTSSt6vectorISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ESaIS7_EE", !9, i64 0}
!9 = !{!"_ZTSSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ESaIS7_EE", !10, i64 0}
!10 = !{!"_ZTSNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ESaIS7_EE12_Vector_implE", !11, i64 0}
!11 = !{!"_ZTSNSt12_Vector_baseISt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_ESaIS7_EE17_Vector_impl_dataE", !12, i64 0, !12, i64 8, !12, i64 16}
!12 = !{!"any pointer", !13, i64 0}
!13 = !{!"omnipotent char", !14, i64 0}
!14 = !{!"Simple C++ TBAA"}
!15 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !16, i64 0, !17, i64 8, !13, i64 16}
!16 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !12, i64 0}
!17 = !{!"long", !13, i64 0}
!18 = !{!"bool", !13, i64 0}
!19 = !{!"_ZTSSt14basic_ifstreamIcSt11char_traitsIcEE", !20, i64 0, !21, i64 16}
!20 = !{!"_ZTSSi", !17, i64 8}
!21 = !{!"_ZTSSt13basic_filebufIcSt11char_traitsIcEE", !22, i64 0, !13, i64 64, !24, i64 104, !25, i64 120, !26, i64 124, !26, i64 132, !26, i64 140, !12, i64 152, !17, i64 160, !18, i64 168, !18, i64 169, !18, i64 170, !13, i64 171, !12, i64 176, !12, i64 184, !18, i64 192, !12, i64 200, !12, i64 208, !17, i64 216, !12, i64 224, !12, i64 232}
!22 = !{!"_ZTSSt15basic_streambufIcSt11char_traitsIcEE", !12, i64 8, !12, i64 16, !12, i64 24, !12, i64 32, !12, i64 40, !12, i64 48, !23, i64 56}
!23 = !{!"_ZTSSt6locale", !12, i64 0}
!24 = !{!"_ZTSSt12__basic_fileIcE", !12, i64 0, !18, i64 8}
!25 = !{!"_ZTSSt13_Ios_Openmode", !13, i64 0}
!26 = !{!"_ZTS11__mbstate_t", !27, i64 0, !13, i64 4}
!27 = !{!"int", !13, i64 0}
!28 = !{!"_ZTSSt6vectorI6tuple3IP10PoreStructPiS3_ESaIS4_EE", !29, i64 0}
!29 = !{!"_ZTSSt12_Vector_baseI6tuple3IP10PoreStructPiS3_ESaIS4_EE", !30, i64 0}
!30 = !{!"_ZTSNSt12_Vector_baseI6tuple3IP10PoreStructPiS3_ESaIS4_EE12_Vector_implE", !31, i64 0}
!31 = !{!"_ZTSNSt12_Vector_baseI6tuple3IP10PoreStructPiS3_ESaIS4_EE17_Vector_impl_dataE", !12, i64 0, !12, i64 8, !12, i64 16}
!32 = !{!"_ZTSSt6vectorIP12ThroatStructSaIS1_EE", !33, i64 0}
!33 = !{!"_ZTSSt12_Vector_baseIP12ThroatStructSaIS1_EE", !34, i64 0}
!34 = !{!"_ZTSNSt12_Vector_baseIP12ThroatStructSaIS1_EE12_Vector_implE", !35, i64 0}
!35 = !{!"_ZTSNSt12_Vector_baseIP12ThroatStructSaIS1_EE17_Vector_impl_dataE", !12, i64 0, !12, i64 8, !12, i64 16}
!36 = !{!"_ZTSSt8multimapIi6tuple3IiidESt4lessIiESaISt4pairIKiS1_EEE", !37, i64 0}
!37 = !{!"_ZTSSt8_Rb_treeIiSt4pairIKi6tuple3IiidEESt10_Select1stIS4_ESt4lessIiESaIS4_EE", !38, i64 0}
!38 = !{!"_ZTSNSt8_Rb_treeIiSt4pairIKi6tuple3IiidEESt10_Select1stIS4_ESt4lessIiESaIS4_EE13_Rb_tree_implIS8_Lb1EEE", !39, i64 0, !41, i64 8}
!39 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessIiEE", !40, i64 0}
!40 = !{!"_ZTSSt4lessIiE"}
!41 = !{!"_ZTSSt15_Rb_tree_header", !42, i64 0, !17, i64 32}
!42 = !{!"_ZTSSt18_Rb_tree_node_base", !43, i64 0, !12, i64 8, !12, i64 16, !12, i64 24}
!43 = !{!"_ZTSSt14_Rb_tree_color", !13, i64 0}
!44 = !{!"_ZTSSt3setISt4pairIiiESt4lessIS1_ESaIS1_EE", !45, i64 0}
!45 = !{!"_ZTSSt8_Rb_treeISt4pairIiiES1_St9_IdentityIS1_ESt4lessIS1_ESaIS1_EE", !46, i64 0}
!46 = !{!"_ZTSNSt8_Rb_treeISt4pairIiiES1_St9_IdentityIS1_ESt4lessIS1_ESaIS1_EE13_Rb_tree_implIS5_Lb1EEE", !47, i64 0, !41, i64 8}
!47 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessISt4pairIiiEEE", !48, i64 0}
!48 = !{!"_ZTSSt4lessISt4pairIiiEE"}
!49 = !{!"_ZTSSt6vectorI6tuple3IiidESaIS1_EE", !50, i64 0}
!50 = !{!"_ZTSSt12_Vector_baseI6tuple3IiidESaIS1_EE", !51, i64 0}
!51 = !{!"_ZTSNSt12_Vector_baseI6tuple3IiidESaIS1_EE12_Vector_implE", !52, i64 0}
!52 = !{!"_ZTSNSt12_Vector_baseI6tuple3IiidESaIS1_EE17_Vector_impl_dataE", !12, i64 0, !12, i64 8, !12, i64 16}
!53 = !{!"_ZTSSt6vectorIiSaIiEE", !54, i64 0}
!54 = !{!"_ZTSSt12_Vector_baseIiSaIiEE", !55, i64 0}
!55 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE12_Vector_implE", !56, i64 0}
!56 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE17_Vector_impl_dataE", !12, i64 0, !12, i64 8, !12, i64 16}
!57 = !{!"double", !13, i64 0}
!58 = !{!6, !57, i64 2592}
!59 = !{!57, !57, i64 0}
!60 = !{!27, !27, i64 0}
!61 = distinct !{!61, !62}
!62 = !{!"llvm.loop.mustprogress"}
!63 = !{!6, !57, i64 2608}
!64 = !{!6, !57, i64 2600}
!65 = !{!66, !27, i64 0}
!66 = !{!"_ZTSSt4pairIiiE", !27, i64 0, !27, i64 4}
!67 = !{!66, !27, i64 4}
!68 = distinct !{!68, !62}


; Effective O3 passes: EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferFunctionAttrsPass,InstCombinePass,JumpThreadingPass,LICMPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,SCCPPass,SLPVectorizerPass,SROAPass,SimplifyCFGPass,TailCallElimPass