; LLVM IR from sp-nitech/SPTK :: src/main (vc)

; 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"

%struct.option = type { ptr, i32, ptr, i32 }
%"class.std::basic_ostream" = type { ptr, %"class.std::basic_ios" }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"class.std::locale" = type { ptr }
%"class.std::basic_istream" = type { ptr, i64, %"class.std::basic_ios" }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<std::vector<double>, std::allocator<std::vector<double>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::vector<double>, std::allocator<std::vector<double>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::vector<double>, std::allocator<std::vector<double>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::vector<double>, std::allocator<std::vector<double>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::allocator.0" = type { i8 }
%"class.std::__cxx11::basic_ostringstream" = type { %"class.std::basic_ostream.base", %"class.std::__cxx11::basic_stringbuf", %"class.std::basic_ios" }
%"class.std::basic_ostream.base" = type { ptr }
%"class.std::__cxx11::basic_stringbuf" = type { %"class.std::basic_streambuf", i32, %"class.std::__cxx11::basic_string" }
%"class.std::basic_streambuf" = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, %"class.std::locale" }
%"class.std::vector.3" = type { %"struct.std::_Vector_base.4" }
%"struct.std::_Vector_base.4" = 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 }
%"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 }
%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.8 }
%union.anon.8 = type { i32 }
%"class.std::allocator.5" = type { i8 }
%"class.std::allocator" = type { i8 }
%"class.std::vector.9" = type { %"struct.std::_Vector_base.10" }
%"struct.std::_Vector_base.10" = type { %"struct.std::_Vector_base<sptk::SymmetricMatrix, std::allocator<sptk::SymmetricMatrix>>::_Vector_impl" }
%"struct.std::_Vector_base<sptk::SymmetricMatrix, std::allocator<sptk::SymmetricMatrix>>::_Vector_impl" = type { %"struct.std::_Vector_base<sptk::SymmetricMatrix, std::allocator<sptk::SymmetricMatrix>>::_Vector_impl_data" }
%"struct.std::_Vector_base<sptk::SymmetricMatrix, std::allocator<sptk::SymmetricMatrix>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::allocator.11" = type { i8 }
%"class.sptk::GaussianMixtureModelBasedConversion" = type { ptr, i32, i32, i32, i32, %"class.std::vector.3", i8, double, i32, %"class.sptk::NonrecursiveMaximumLikelihoodParameterGeneration", i8, %"class.std::vector", %"class.std::vector.9", %"class.std::vector.19", %"class.std::vector", %"class.std::vector.9" }
%"class.sptk::NonrecursiveMaximumLikelihoodParameterGeneration" = type { ptr, i32, %"class.std::vector", i8, double, i8, i32 }
%"class.std::vector.19" = type { %"struct.std::_Vector_base.20" }
%"struct.std::_Vector_base.20" = type { %"struct.std::_Vector_base<sptk::Matrix, std::allocator<sptk::Matrix>>::_Vector_impl" }
%"struct.std::_Vector_base<sptk::Matrix, std::allocator<sptk::Matrix>>::_Vector_impl" = type { %"struct.std::_Vector_base<sptk::Matrix, std::allocator<sptk::Matrix>>::_Vector_impl_data" }
%"struct.std::_Vector_base<sptk::Matrix, std::allocator<sptk::Matrix>>::_Vector_impl_data" = type { ptr, ptr, ptr }

@__const.main.long_options = external hidden unnamed_addr constant [2 x %struct.option], align 16
@.str.1 = external hidden unnamed_addr constant [19 x i8], align 1
@ya_optarg = external global ptr, align 8
@.str.2 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [47 x i8], align 1
@ya_optind = external global i32, align 4
@.str.11 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [52 x i8], align 1
@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@_ZSt4cerr = external global %"class.std::basic_ostream", align 8
@.str.16 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [42 x i8], align 1
@_ZSt3cin = external global %"class.std::basic_istream", align 8
@.str.22 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [31 x i8], align 1

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

151:                                              ; preds = %847, %2
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #8
  %152 = load i32, ptr %4, align 4, !tbaa !5
  %153 = load ptr, ptr %5, align 8, !tbaa !9
  %154 = getelementptr inbounds [2 x %struct.option], ptr %15, i64 0, i64 0
  %155 = invoke i32 @ya_getopt_long_only(i32 noundef %152, ptr noundef %153, ptr noundef @.str.1, ptr noundef %154, ptr noundef null)
          to label %156 unwind label %160

156:                                              ; preds = %151
  store i32 %155, ptr %16, align 4, !tbaa !5
  %157 = load i32, ptr %16, align 4, !tbaa !5
  %158 = icmp eq i32 -1, %157
  br i1 %158, label %159, label %164

159:                                              ; preds = %156
  store i32 2, ptr %19, align 4
  br label %845

160:                                              ; preds = %842, %840, %151
  %161 = landingpad { ptr, i32 }
          cleanup
  %162 = extractvalue { ptr, i32 } %161, 0
  store ptr %162, ptr %17, align 8
  %163 = extractvalue { ptr, i32 } %161, 1
  store i32 %163, ptr %18, align 4
  br label %848

164:                                              ; preds = %156
  %165 = load i32, ptr %16, align 4, !tbaa !5
  switch i32 %165, label %842 [
    i32 108, label %166
    i32 109, label %213
    i32 76, label %260
    i32 77, label %307
    i32 107, label %354
    i32 102, label %399
    i32 100, label %400
    i32 68, label %531
    i32 114, label %623
    i32 1000, label %799
    i32 104, label %840
  ]

166:                                              ; preds = %164
  call void @llvm.lifetime.start.p0(i64 32, ptr %20) #8
  %167 = load ptr, ptr @ya_optarg, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %21) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef %167, ptr noundef nonnull align 1 dereferenceable(1) %21)
          to label %168 unwind label %182

168:                                              ; preds = %166
  %169 = invoke noundef zeroext i1 @_ZN4sptk22ConvertStringToIntegerERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPi(ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef %6)
          to label %170 unwind label %186

170:                                              ; preds = %168
  br i1 %169, label %171, label %174

171:                                              ; preds = %170
  %172 = load i32, ptr %6, align 4, !tbaa !5
  %173 = icmp sle i32 %172, 0
  br label %174

174:                                              ; preds = %171, %170
  %175 = phi i1 [ true, %170 ], [ %173, %171 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %21) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %20) #8
  br i1 %175, label %176, label %210

176:                                              ; preds = %174
  call void @llvm.lifetime.start.p0(i64 376, ptr %22) #8
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %22)
          to label %177 unwind label %191

177:                                              ; preds = %176
  %178 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %22, ptr noundef @.str.2)
          to label %179 unwind label %195

179:                                              ; preds = %177
  call void @llvm.lifetime.start.p0(i64 32, ptr %23) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %24) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %24) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %23, ptr noundef @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %24)
          to label %180 unwind label %199

180:                                              ; preds = %179
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %23, ptr noundef nonnull align 8 dereferenceable(112) %22)
          to label %181 unwind label %203

181:                                              ; preds = %180
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %24) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %24) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %23) #8
  store i32 1, ptr %3, align 4
  store i32 1, ptr %19, align 4
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %22) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr %22) #8
  br label %845

182:                                              ; preds = %166
  %183 = landingpad { ptr, i32 }
          cleanup
  %184 = extractvalue { ptr, i32 } %183, 0
  store ptr %184, ptr %17, align 8
  %185 = extractvalue { ptr, i32 } %183, 1
  store i32 %185, ptr %18, align 4
  br label %190

186:                                              ; preds = %168
  %187 = landingpad { ptr, i32 }
          cleanup
  %188 = extractvalue { ptr, i32 } %187, 0
  store ptr %188, ptr %17, align 8
  %189 = extractvalue { ptr, i32 } %187, 1
  store i32 %189, ptr %18, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #8
  br label %190

190:                                              ; preds = %186, %182
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %21) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %20) #8
  br label %848

191:                                              ; preds = %176
  %192 = landingpad { ptr, i32 }
          cleanup
  %193 = extractvalue { ptr, i32 } %192, 0
  store ptr %193, ptr %17, align 8
  %194 = extractvalue { ptr, i32 } %192, 1
  store i32 %194, ptr %18, align 4
  br label %209

195:                                              ; preds = %177
  %196 = landingpad { ptr, i32 }
          cleanup
  %197 = extractvalue { ptr, i32 } %196, 0
  store ptr %197, ptr %17, align 8
  %198 = extractvalue { ptr, i32 } %196, 1
  store i32 %198, ptr %18, align 4
  br label %208

199:                                              ; preds = %179
  %200 = landingpad { ptr, i32 }
          cleanup
  %201 = extractvalue { ptr, i32 } %200, 0
  store ptr %201, ptr %17, align 8
  %202 = extractvalue { ptr, i32 } %200, 1
  store i32 %202, ptr %18, align 4
  br label %207

203:                                              ; preds = %180
  %204 = landingpad { ptr, i32 }
          cleanup
  %205 = extractvalue { ptr, i32 } %204, 0
  store ptr %205, ptr %17, align 8
  %206 = extractvalue { ptr, i32 } %204, 1
  store i32 %206, ptr %18, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #8
  br label %207

207:                                              ; preds = %203, %199
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %24) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %24) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %23) #8
  br label %208

208:                                              ; preds = %207, %195
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %22) #8
  br label %209

209:                                              ; preds = %208, %191
  call void @llvm.lifetime.end.p0(i64 376, ptr %22) #8
  br label %848

210:                                              ; preds = %174
  %211 = load i32, ptr %6, align 4, !tbaa !5
  %212 = add nsw i32 %211, -1
  store i32 %212, ptr %6, align 4, !tbaa !5
  br label %844

213:                                              ; preds = %164
  call void @llvm.lifetime.start.p0(i64 32, ptr %25) #8
  %214 = load ptr, ptr @ya_optarg, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %26) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %26) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef %214, ptr noundef nonnull align 1 dereferenceable(1) %26)
          to label %215 unwind label %231

215:                                              ; preds = %213
  %216 = invoke noundef zeroext i1 @_ZN4sptk22ConvertStringToIntegerERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPi(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef %6)
          to label %217 unwind label %235

217:                                              ; preds = %215
  br i1 %216, label %218, label %221

218:                                              ; preds = %217
  %219 = load i32, ptr %6, align 4, !tbaa !5
  %220 = icmp slt i32 %219, 0
  br label %221

221:                                              ; preds = %218, %217
  %222 = phi i1 [ true, %217 ], [ %220, %218 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %26) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %26) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %25) #8
  br i1 %222, label %223, label %259

223:                                              ; preds = %221
  call void @llvm.lifetime.start.p0(i64 376, ptr %27) #8
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %27)
          to label %224 unwind label %240

224:                                              ; preds = %223
  %225 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %27, ptr noundef @.str.4)
          to label %226 unwind label %244

226:                                              ; preds = %224
  %227 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %225, ptr noundef @.str.5)
          to label %228 unwind label %244

228:                                              ; preds = %226
  call void @llvm.lifetime.start.p0(i64 32, ptr %28) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %29) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %29) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %28, ptr noundef @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %29)
          to label %229 unwind label %248

229:                                              ; preds = %228
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %28, ptr noundef nonnull align 8 dereferenceable(112) %27)
          to label %230 unwind label %252

230:                                              ; preds = %229
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %29) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %29) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %28) #8
  store i32 1, ptr %3, align 4
  store i32 1, ptr %19, align 4
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %27) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr %27) #8
  br label %845

231:                                              ; preds = %213
  %232 = landingpad { ptr, i32 }
          cleanup
  %233 = extractvalue { ptr, i32 } %232, 0
  store ptr %233, ptr %17, align 8
  %234 = extractvalue { ptr, i32 } %232, 1
  store i32 %234, ptr %18, align 4
  br label %239

235:                                              ; preds = %215
  %236 = landingpad { ptr, i32 }
          cleanup
  %237 = extractvalue { ptr, i32 } %236, 0
  store ptr %237, ptr %17, align 8
  %238 = extractvalue { ptr, i32 } %236, 1
  store i32 %238, ptr %18, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #8
  br label %239

239:                                              ; preds = %235, %231
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %26) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %26) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %25) #8
  br label %848

240:                                              ; preds = %223
  %241 = landingpad { ptr, i32 }
          cleanup
  %242 = extractvalue { ptr, i32 } %241, 0
  store ptr %242, ptr %17, align 8
  %243 = extractvalue { ptr, i32 } %241, 1
  store i32 %243, ptr %18, align 4
  br label %258

244:                                              ; preds = %226, %224
  %245 = landingpad { ptr, i32 }
          cleanup
  %246 = extractvalue { ptr, i32 } %245, 0
  store ptr %246, ptr %17, align 8
  %247 = extractvalue { ptr, i32 } %245, 1
  store i32 %247, ptr %18, align 4
  br label %257

248:                                              ; preds = %228
  %249 = landingpad { ptr, i32 }
          cleanup
  %250 = extractvalue { ptr, i32 } %249, 0
  store ptr %250, ptr %17, align 8
  %251 = extractvalue { ptr, i32 } %249, 1
  store i32 %251, ptr %18, align 4
  br label %256

252:                                              ; preds = %229
  %253 = landingpad { ptr, i32 }
          cleanup
  %254 = extractvalue { ptr, i32 } %253, 0
  store ptr %254, ptr %17, align 8
  %255 = extractvalue { ptr, i32 } %253, 1
  store i32 %255, ptr %18, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #8
  br label %256

256:                                              ; preds = %252, %248
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %29) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %29) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %28) #8
  br label %257

257:                                              ; preds = %256, %244
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %27) #8
  br label %258

258:                                              ; preds = %257, %240
  call void @llvm.lifetime.end.p0(i64 376, ptr %27) #8
  br label %848

259:                                              ; preds = %221
  br label %844

260:                                              ; preds = %164
  call void @llvm.lifetime.start.p0(i64 32, ptr %30) #8
  %261 = load ptr, ptr @ya_optarg, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %31) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef %261, ptr noundef nonnull align 1 dereferenceable(1) %31)
          to label %262 unwind label %276

262:                                              ; preds = %260
  %263 = invoke noundef zeroext i1 @_ZN4sptk22ConvertStringToIntegerERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPi(ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef %7)
          to label %264 unwind label %280

264:                                              ; preds = %262
  br i1 %263, label %265, label %268

265:                                              ; preds = %264
  %266 = load i32, ptr %7, align 4, !tbaa !5
  %267 = icmp sle i32 %266, 0
  br label %268

268:                                              ; preds = %265, %264
  %269 = phi i1 [ true, %264 ], [ %267, %265 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %31) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %30) #8
  br i1 %269, label %270, label %304

270:                                              ; preds = %268
  call void @llvm.lifetime.start.p0(i64 376, ptr %32) #8
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %32)
          to label %271 unwind label %285

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

273:                                              ; preds = %271
  call void @llvm.lifetime.start.p0(i64 32, ptr %33) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %34) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %34) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %33, ptr noundef @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %34)
          to label %274 unwind label %293

274:                                              ; preds = %273
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %33, ptr noundef nonnull align 8 dereferenceable(112) %32)
          to label %275 unwind label %297

275:                                              ; preds = %274
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %34) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %34) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %33) #8
  store i32 1, ptr %3, align 4
  store i32 1, ptr %19, align 4
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %32) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr %32) #8
  br label %845

276:                                              ; preds = %260
  %277 = landingpad { ptr, i32 }
          cleanup
  %278 = extractvalue { ptr, i32 } %277, 0
  store ptr %278, ptr %17, align 8
  %279 = extractvalue { ptr, i32 } %277, 1
  store i32 %279, ptr %18, align 4
  br label %284

280:                                              ; preds = %262
  %281 = landingpad { ptr, i32 }
          cleanup
  %282 = extractvalue { ptr, i32 } %281, 0
  store ptr %282, ptr %17, align 8
  %283 = extractvalue { ptr, i32 } %281, 1
  store i32 %283, ptr %18, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #8
  br label %284

284:                                              ; preds = %280, %276
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %31) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %30) #8
  br label %848

285:                                              ; preds = %270
  %286 = landingpad { ptr, i32 }
          cleanup
  %287 = extractvalue { ptr, i32 } %286, 0
  store ptr %287, ptr %17, align 8
  %288 = extractvalue { ptr, i32 } %286, 1
  store i32 %288, ptr %18, align 4
  br label %303

289:                                              ; preds = %271
  %290 = landingpad { ptr, i32 }
          cleanup
  %291 = extractvalue { ptr, i32 } %290, 0
  store ptr %291, ptr %17, align 8
  %292 = extractvalue { ptr, i32 } %290, 1
  store i32 %292, ptr %18, align 4
  br label %302

293:                                              ; preds = %273
  %294 = landingpad { ptr, i32 }
          cleanup
  %295 = extractvalue { ptr, i32 } %294, 0
  store ptr %295, ptr %17, align 8
  %296 = extractvalue { ptr, i32 } %294, 1
  store i32 %296, ptr %18, align 4
  br label %301

297:                                              ; preds = %274
  %298 = landingpad { ptr, i32 }
          cleanup
  %299 = extractvalue { ptr, i32 } %298, 0
  store ptr %299, ptr %17, align 8
  %300 = extractvalue { ptr, i32 } %298, 1
  store i32 %300, ptr %18, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #8
  br label %301

301:                                              ; preds = %297, %293
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %34) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %34) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %33) #8
  br label %302

302:                                              ; preds = %301, %289
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %32) #8
  br label %303

303:                                              ; preds = %302, %285
  call void @llvm.lifetime.end.p0(i64 376, ptr %32) #8
  br label %848

304:                                              ; preds = %268
  %305 = load i32, ptr %7, align 4, !tbaa !5
  %306 = add nsw i32 %305, -1
  store i32 %306, ptr %7, align 4, !tbaa !5
  store i8 1, ptr %8, align 1, !tbaa !11
  br label %844

307:                                              ; preds = %164
  call void @llvm.lifetime.start.p0(i64 32, ptr %35) #8
  %308 = load ptr, ptr @ya_optarg, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %36) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %35, ptr noundef %308, ptr noundef nonnull align 1 dereferenceable(1) %36)
          to label %309 unwind label %325

309:                                              ; preds = %307
  %310 = invoke noundef zeroext i1 @_ZN4sptk22ConvertStringToIntegerERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPi(ptr noundef nonnull align 8 dereferenceable(32) %35, ptr noundef %7)
          to label %311 unwind label %329

311:                                              ; preds = %309
  br i1 %310, label %312, label %315

312:                                              ; preds = %311
  %313 = load i32, ptr %7, align 4, !tbaa !5
  %314 = icmp slt i32 %313, 0
  br label %315

315:                                              ; preds = %312, %311
  %316 = phi i1 [ true, %311 ], [ %314, %312 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %36) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %35) #8
  br i1 %316, label %317, label %353

317:                                              ; preds = %315
  call void @llvm.lifetime.start.p0(i64 376, ptr %37) #8
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %37)
          to label %318 unwind label %334

318:                                              ; preds = %317
  %319 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %37, ptr noundef @.str.7)
          to label %320 unwind label %338

320:                                              ; preds = %318
  %321 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %319, ptr noundef @.str.5)
          to label %322 unwind label %338

322:                                              ; preds = %320
  call void @llvm.lifetime.start.p0(i64 32, ptr %38) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %39) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %38, ptr noundef @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %39)
          to label %323 unwind label %342

323:                                              ; preds = %322
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %38, ptr noundef nonnull align 8 dereferenceable(112) %37)
          to label %324 unwind label %346

324:                                              ; preds = %323
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %39) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %38) #8
  store i32 1, ptr %3, align 4
  store i32 1, ptr %19, align 4
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %37) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr %37) #8
  br label %845

325:                                              ; preds = %307
  %326 = landingpad { ptr, i32 }
          cleanup
  %327 = extractvalue { ptr, i32 } %326, 0
  store ptr %327, ptr %17, align 8
  %328 = extractvalue { ptr, i32 } %326, 1
  store i32 %328, ptr %18, align 4
  br label %333

329:                                              ; preds = %309
  %330 = landingpad { ptr, i32 }
          cleanup
  %331 = extractvalue { ptr, i32 } %330, 0
  store ptr %331, ptr %17, align 8
  %332 = extractvalue { ptr, i32 } %330, 1
  store i32 %332, ptr %18, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #8
  br label %333

333:                                              ; preds = %329, %325
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %36) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %35) #8
  br label %848

334:                                              ; preds = %317
  %335 = landingpad { ptr, i32 }
          cleanup
  %336 = extractvalue { ptr, i32 } %335, 0
  store ptr %336, ptr %17, align 8
  %337 = extractvalue { ptr, i32 } %335, 1
  store i32 %337, ptr %18, align 4
  br label %352

338:                                              ; preds = %320, %318
  %339 = landingpad { ptr, i32 }
          cleanup
  %340 = extractvalue { ptr, i32 } %339, 0
  store ptr %340, ptr %17, align 8
  %341 = extractvalue { ptr, i32 } %339, 1
  store i32 %341, ptr %18, align 4
  br label %351

342:                                              ; preds = %322
  %343 = landingpad { ptr, i32 }
          cleanup
  %344 = extractvalue { ptr, i32 } %343, 0
  store ptr %344, ptr %17, align 8
  %345 = extractvalue { ptr, i32 } %343, 1
  store i32 %345, ptr %18, align 4
  br label %350

346:                                              ; preds = %323
  %347 = landingpad { ptr, i32 }
          cleanup
  %348 = extractvalue { ptr, i32 } %347, 0
  store ptr %348, ptr %17, align 8
  %349 = extractvalue { ptr, i32 } %347, 1
  store i32 %349, ptr %18, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #8
  br label %350

350:                                              ; preds = %346, %342
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %39) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %38) #8
  br label %351

351:                                              ; preds = %350, %338
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %37) #8
  br label %352

352:                                              ; preds = %351, %334
  call void @llvm.lifetime.end.p0(i64 376, ptr %37) #8
  br label %848

353:                                              ; preds = %315
  store i8 1, ptr %8, align 1, !tbaa !11
  br label %844

354:                                              ; preds = %164
  call void @llvm.lifetime.start.p0(i64 32, ptr %40) #8
  %355 = load ptr, ptr @ya_optarg, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %41) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %41) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %40, ptr noundef %355, ptr noundef nonnull align 1 dereferenceable(1) %41)
          to label %356 unwind label %370

356:                                              ; preds = %354
  %357 = invoke noundef zeroext i1 @_ZN4sptk22ConvertStringToIntegerERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPi(ptr noundef nonnull align 8 dereferenceable(32) %40, ptr noundef %9)
          to label %358 unwind label %374

358:                                              ; preds = %356
  br i1 %357, label %359, label %362

359:                                              ; preds = %358
  %360 = load i32, ptr %9, align 4, !tbaa !5
  %361 = icmp sle i32 %360, 0
  br label %362

362:                                              ; preds = %359, %358
  %363 = phi i1 [ true, %358 ], [ %361, %359 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %41) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %41) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %40) #8
  br i1 %363, label %364, label %398

364:                                              ; preds = %362
  call void @llvm.lifetime.start.p0(i64 376, ptr %42) #8
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %42)
          to label %365 unwind label %379

365:                                              ; preds = %364
  %366 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %42, ptr noundef @.str.8)
          to label %367 unwind label %383

367:                                              ; preds = %365
  call void @llvm.lifetime.start.p0(i64 32, ptr %43) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %44) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %44) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %43, ptr noundef @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %44)
          to label %368 unwind label %387

368:                                              ; preds = %367
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %43, ptr noundef nonnull align 8 dereferenceable(112) %42)
          to label %369 unwind label %391

369:                                              ; preds = %368
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %44) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %44) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %43) #8
  store i32 1, ptr %3, align 4
  store i32 1, ptr %19, align 4
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %42) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr %42) #8
  br label %845

370:                                              ; preds = %354
  %371 = landingpad { ptr, i32 }
          cleanup
  %372 = extractvalue { ptr, i32 } %371, 0
  store ptr %372, ptr %17, align 8
  %373 = extractvalue { ptr, i32 } %371, 1
  store i32 %373, ptr %18, align 4
  br label %378

374:                                              ; preds = %356
  %375 = landingpad { ptr, i32 }
          cleanup
  %376 = extractvalue { ptr, i32 } %375, 0
  store ptr %376, ptr %17, align 8
  %377 = extractvalue { ptr, i32 } %375, 1
  store i32 %377, ptr %18, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #8
  br label %378

378:                                              ; preds = %374, %370
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %41) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %41) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %40) #8
  br label %848

379:                                              ; preds = %364
  %380 = landingpad { ptr, i32 }
          cleanup
  %381 = extractvalue { ptr, i32 } %380, 0
  store ptr %381, ptr %17, align 8
  %382 = extractvalue { ptr, i32 } %380, 1
  store i32 %382, ptr %18, align 4
  br label %397

383:                                              ; preds = %365
  %384 = landingpad { ptr, i32 }
          cleanup
  %385 = extractvalue { ptr, i32 } %384, 0
  store ptr %385, ptr %17, align 8
  %386 = extractvalue { ptr, i32 } %384, 1
  store i32 %386, ptr %18, align 4
  br label %396

387:                                              ; preds = %367
  %388 = landingpad { ptr, i32 }
          cleanup
  %389 = extractvalue { ptr, i32 } %388, 0
  store ptr %389, ptr %17, align 8
  %390 = extractvalue { ptr, i32 } %388, 1
  store i32 %390, ptr %18, align 4
  br label %395

391:                                              ; preds = %368
  %392 = landingpad { ptr, i32 }
          cleanup
  %393 = extractvalue { ptr, i32 } %392, 0
  store ptr %393, ptr %17, align 8
  %394 = extractvalue { ptr, i32 } %392, 1
  store i32 %394, ptr %18, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #8
  br label %395

395:                                              ; preds = %391, %387
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %44) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %44) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %43) #8
  br label %396

396:                                              ; preds = %395, %383
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %42) #8
  br label %397

397:                                              ; preds = %396, %379
  call void @llvm.lifetime.end.p0(i64 376, ptr %42) #8
  br label %848

398:                                              ; preds = %362
  br label %844

399:                                              ; preds = %164
  store i8 1, ptr %10, align 1, !tbaa !11
  br label %844

400:                                              ; preds = %164
  %401 = load i8, ptr %12, align 1, !tbaa !11, !range !15, !noundef !16
  %402 = trunc i8 %401 to i1
  br i1 %402, label %403, label %428

403:                                              ; preds = %400
  call void @llvm.lifetime.start.p0(i64 376, ptr %45) #8
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %45)
          to label %404 unwind label %409

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

406:                                              ; preds = %404
  call void @llvm.lifetime.start.p0(i64 32, ptr %46) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %47) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %47) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %46, ptr noundef @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %47)
          to label %407 unwind label %417

407:                                              ; preds = %406
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %46, ptr noundef nonnull align 8 dereferenceable(112) %45)
          to label %408 unwind label %421

408:                                              ; preds = %407
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %47) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %47) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %46) #8
  store i32 1, ptr %3, align 4
  store i32 1, ptr %19, align 4
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %45) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr %45) #8
  br label %845

409:                                              ; preds = %403
  %410 = landingpad { ptr, i32 }
          cleanup
  %411 = extractvalue { ptr, i32 } %410, 0
  store ptr %411, ptr %17, align 8
  %412 = extractvalue { ptr, i32 } %410, 1
  store i32 %412, ptr %18, align 4
  br label %427

413:                                              ; preds = %404
  %414 = landingpad { ptr, i32 }
          cleanup
  %415 = extractvalue { ptr, i32 } %414, 0
  store ptr %415, ptr %17, align 8
  %416 = extractvalue { ptr, i32 } %414, 1
  store i32 %416, ptr %18, align 4
  br label %426

417:                                              ; preds = %406
  %418 = landingpad { ptr, i32 }
          cleanup
  %419 = extractvalue { ptr, i32 } %418, 0
  store ptr %419, ptr %17, align 8
  %420 = extractvalue { ptr, i32 } %418, 1
  store i32 %420, ptr %18, align 4
  br label %425

421:                                              ; preds = %407
  %422 = landingpad { ptr, i32 }
          cleanup
  %423 = extractvalue { ptr, i32 } %422, 0
  store ptr %423, ptr %17, align 8
  %424 = extractvalue { ptr, i32 } %422, 1
  store i32 %424, ptr %18, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #8
  br label %425

425:                                              ; preds = %421, %417
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %47) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %47) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %46) #8
  br label %426

426:                                              ; preds = %425, %413
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %45) #8
  br label %427

427:                                              ; preds = %426, %409
  call void @llvm.lifetime.end.p0(i64 376, ptr %45) #8
  br label %848

428:                                              ; preds = %400
  call void @llvm.lifetime.start.p0(i64 24, ptr %48) #8
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %48) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %49) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %50) #8
  %429 = load ptr, ptr @ya_optarg, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %51) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %51) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef %429, ptr noundef nonnull align 1 dereferenceable(1) %51)
          to label %430 unwind label %440

430:                                              ; preds = %428
  %431 = invoke noundef zeroext i1 @_ZN4sptk21ConvertStringToDoubleERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPd(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef %49)
          to label %432 unwind label %444

432:                                              ; preds = %430
  %433 = xor i1 %431, true
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %51) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %51) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %50) #8
  br i1 %433, label %434, label %468

434:                                              ; preds = %432
  call void @llvm.lifetime.start.p0(i64 376, ptr %52) #8
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %52)
          to label %435 unwind label %449

435:                                              ; preds = %434
  %436 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %52, ptr noundef @.str.10)
          to label %437 unwind label %453

437:                                              ; preds = %435
  call void @llvm.lifetime.start.p0(i64 32, ptr %53) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %54) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %54) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %53, ptr noundef @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %54)
          to label %438 unwind label %457

438:                                              ; preds = %437
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %53, ptr noundef nonnull align 8 dereferenceable(112) %52)
          to label %439 unwind label %461

439:                                              ; preds = %438
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %54) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %54) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %53) #8
  store i32 1, ptr %3, align 4
  store i32 1, ptr %19, align 4
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %52) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr %52) #8
  br label %528

440:                                              ; preds = %428
  %441 = landingpad { ptr, i32 }
          cleanup
  %442 = extractvalue { ptr, i32 } %441, 0
  store ptr %442, ptr %17, align 8
  %443 = extractvalue { ptr, i32 } %441, 1
  store i32 %443, ptr %18, align 4
  br label %448

444:                                              ; preds = %430
  %445 = landingpad { ptr, i32 }
          cleanup
  %446 = extractvalue { ptr, i32 } %445, 0
  store ptr %446, ptr %17, align 8
  %447 = extractvalue { ptr, i32 } %445, 1
  store i32 %447, ptr %18, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #8
  br label %448

448:                                              ; preds = %444, %440
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %51) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %51) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %50) #8
  br label %530

449:                                              ; preds = %434
  %450 = landingpad { ptr, i32 }
          cleanup
  %451 = extractvalue { ptr, i32 } %450, 0
  store ptr %451, ptr %17, align 8
  %452 = extractvalue { ptr, i32 } %450, 1
  store i32 %452, ptr %18, align 4
  br label %467

453:                                              ; preds = %435
  %454 = landingpad { ptr, i32 }
          cleanup
  %455 = extractvalue { ptr, i32 } %454, 0
  store ptr %455, ptr %17, align 8
  %456 = extractvalue { ptr, i32 } %454, 1
  store i32 %456, ptr %18, align 4
  br label %466

457:                                              ; preds = %437
  %458 = landingpad { ptr, i32 }
          cleanup
  %459 = extractvalue { ptr, i32 } %458, 0
  store ptr %459, ptr %17, align 8
  %460 = extractvalue { ptr, i32 } %458, 1
  store i32 %460, ptr %18, align 4
  br label %465

461:                                              ; preds = %438
  %462 = landingpad { ptr, i32 }
          cleanup
  %463 = extractvalue { ptr, i32 } %462, 0
  store ptr %463, ptr %17, align 8
  %464 = extractvalue { ptr, i32 } %462, 1
  store i32 %464, ptr %18, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #8
  br label %465

465:                                              ; preds = %461, %457
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %54) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %54) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %53) #8
  br label %466

466:                                              ; preds = %465, %453
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %52) #8
  br label %467

467:                                              ; preds = %466, %449
  call void @llvm.lifetime.end.p0(i64 376, ptr %52) #8
  br label %530

468:                                              ; preds = %432
  invoke void @_ZNSt6vectorIdSaIdEE9push_backERKd(ptr noundef nonnull align 8 dereferenceable(24) %48, ptr noundef nonnull align 8 dereferenceable(8) %49)
          to label %469 unwind label %501

469:                                              ; preds = %468
  br label %470

470:                                              ; preds = %498, %469
  %471 = load i32, ptr @ya_optind, align 4, !tbaa !5
  %472 = load i32, ptr %4, align 4, !tbaa !5
  %473 = icmp slt i32 %471, %472
  store i1 false, ptr %56, align 1
  store i1 false, ptr %58, align 1
  store i1 false, ptr %59, align 1
  store i1 false, ptr %60, align 1
  br i1 %473, label %474, label %483

474:                                              ; preds = %470
  call void @llvm.lifetime.start.p0(i64 32, ptr %55) #8
  store i1 true, ptr %56, align 1
  %475 = load ptr, ptr %5, align 8, !tbaa !9
  %476 = load i32, ptr @ya_optind, align 4, !tbaa !5
  %477 = sext i32 %476 to i64
  %478 = getelementptr inbounds ptr, ptr %475, i64 %477
  %479 = load ptr, ptr %478, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %57) #8
  store i1 true, ptr %58, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %57) #8
  store i1 true, ptr %59, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %55, ptr noundef %479, ptr noundef nonnull align 1 dereferenceable(1) %57)
          to label %480 unwind label %505

480:                                              ; preds = %474
  store i1 true, ptr %60, align 1
  %481 = invoke noundef zeroext i1 @_ZN4sptk21ConvertStringToDoubleERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPd(ptr noundef nonnull align 8 dereferenceable(32) %55, ptr noundef %49)
          to label %482 unwind label %509

482:                                              ; preds = %480
  br label %483

483:                                              ; preds = %482, %470
  %484 = phi i1 [ false, %470 ], [ %481, %482 ]
  %485 = load i1, ptr %60, align 1
  br i1 %485, label %486, label %487

486:                                              ; preds = %483
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #8
  br label %487

487:                                              ; preds = %486, %483
  %488 = load i1, ptr %59, align 1
  br i1 %488, label %489, label %490

489:                                              ; preds = %487
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %57) #8
  br label %490

490:                                              ; preds = %489, %487
  %491 = load i1, ptr %58, align 1
  br i1 %491, label %492, label %493

492:                                              ; preds = %490
  call void @llvm.lifetime.end.p0(i64 1, ptr %57) #8
  br label %493

493:                                              ; preds = %492, %490
  %494 = load i1, ptr %56, align 1
  br i1 %494, label %495, label %496

495:                                              ; preds = %493
  call void @llvm.lifetime.end.p0(i64 32, ptr %55) #8
  br label %496

496:                                              ; preds = %495, %493
  br i1 %484, label %497, label %526

497:                                              ; preds = %496
  invoke void @_ZNSt6vectorIdSaIdEE9push_backERKd(ptr noundef nonnull align 8 dereferenceable(24) %48, ptr noundef nonnull align 8 dereferenceable(8) %49)
          to label %498 unwind label %501

498:                                              ; preds = %497
  %499 = load i32, ptr @ya_optind, align 4, !tbaa !5
  %500 = add nsw i32 %499, 1
  store i32 %500, ptr @ya_optind, align 4, !tbaa !5
  br label %470, !llvm.loop !17

501:                                              ; preds = %526, %497, %468
  %502 = landingpad { ptr, i32 }
          cleanup
  %503 = extractvalue { ptr, i32 } %502, 0
  store ptr %503, ptr %17, align 8
  %504 = extractvalue { ptr, i32 } %502, 1
  store i32 %504, ptr %18, align 4
  br label %530

505:                                              ; preds = %474
  %506 = landingpad { ptr, i32 }
          cleanup
  %507 = extractvalue { ptr, i32 } %506, 0
  store ptr %507, ptr %17, align 8
  %508 = extractvalue { ptr, i32 } %506, 1
  store i32 %508, ptr %18, align 4
  br label %516

509:                                              ; preds = %480
  %510 = landingpad { ptr, i32 }
          cleanup
  %511 = extractvalue { ptr, i32 } %510, 0
  store ptr %511, ptr %17, align 8
  %512 = extractvalue { ptr, i32 } %510, 1
  store i32 %512, ptr %18, align 4
  %513 = load i1, ptr %60, align 1
  br i1 %513, label %514, label %515

514:                                              ; preds = %509
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #8
  br label %515

515:                                              ; preds = %514, %509
  br label %516

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

518:                                              ; preds = %516
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %57) #8
  br label %519

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

521:                                              ; preds = %519
  call void @llvm.lifetime.end.p0(i64 1, ptr %57) #8
  br label %522

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

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

525:                                              ; preds = %524, %522
  br label %530

526:                                              ; preds = %496
  invoke void @_ZNSt6vectorIS_IdSaIdEESaIS1_EE9push_backERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %11, ptr noundef nonnull align 8 dereferenceable(24) %48)
          to label %527 unwind label %501

527:                                              ; preds = %526
  store i32 4, ptr %19, align 4
  br label %528

528:                                              ; preds = %527, %439
  call void @llvm.lifetime.end.p0(i64 8, ptr %49) #8
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %48) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %48) #8
  %529 = load i32, ptr %19, align 4
  switch i32 %529, label %845 [
    i32 4, label %844
  ]

530:                                              ; preds = %525, %501, %467, %448
  call void @llvm.lifetime.end.p0(i64 8, ptr %49) #8
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %48) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %48) #8
  br label %848

531:                                              ; preds = %164
  %532 = load i8, ptr %12, align 1, !tbaa !11, !range !15, !noundef !16
  %533 = trunc i8 %532 to i1
  br i1 %533, label %534, label %559

534:                                              ; preds = %531
  call void @llvm.lifetime.start.p0(i64 376, ptr %61) #8
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %61)
          to label %535 unwind label %540

535:                                              ; preds = %534
  %536 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %61, ptr noundef @.str.11)
          to label %537 unwind label %544

537:                                              ; preds = %535
  call void @llvm.lifetime.start.p0(i64 32, ptr %62) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %63) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %63) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %62, ptr noundef @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %63)
          to label %538 unwind label %548

538:                                              ; preds = %537
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %62, ptr noundef nonnull align 8 dereferenceable(112) %61)
          to label %539 unwind label %552

539:                                              ; preds = %538
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %63) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %63) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %62) #8
  store i32 1, ptr %3, align 4
  store i32 1, ptr %19, align 4
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %61) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr %61) #8
  br label %845

540:                                              ; preds = %534
  %541 = landingpad { ptr, i32 }
          cleanup
  %542 = extractvalue { ptr, i32 } %541, 0
  store ptr %542, ptr %17, align 8
  %543 = extractvalue { ptr, i32 } %541, 1
  store i32 %543, ptr %18, align 4
  br label %558

544:                                              ; preds = %535
  %545 = landingpad { ptr, i32 }
          cleanup
  %546 = extractvalue { ptr, i32 } %545, 0
  store ptr %546, ptr %17, align 8
  %547 = extractvalue { ptr, i32 } %545, 1
  store i32 %547, ptr %18, align 4
  br label %557

548:                                              ; preds = %537
  %549 = landingpad { ptr, i32 }
          cleanup
  %550 = extractvalue { ptr, i32 } %549, 0
  store ptr %550, ptr %17, align 8
  %551 = extractvalue { ptr, i32 } %549, 1
  store i32 %551, ptr %18, align 4
  br label %556

552:                                              ; preds = %538
  %553 = landingpad { ptr, i32 }
          cleanup
  %554 = extractvalue { ptr, i32 } %553, 0
  store ptr %554, ptr %17, align 8
  %555 = extractvalue { ptr, i32 } %553, 1
  store i32 %555, ptr %18, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #8
  br label %556

556:                                              ; preds = %552, %548
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %63) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %63) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %62) #8
  br label %557

557:                                              ; preds = %556, %544
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %61) #8
  br label %558

558:                                              ; preds = %557, %540
  call void @llvm.lifetime.end.p0(i64 376, ptr %61) #8
  br label %848

559:                                              ; preds = %531
  call void @llvm.lifetime.start.p0(i64 520, ptr %64) #8
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(256) %64)
          to label %560 unwind label %580

560:                                              ; preds = %559
  %561 = load ptr, ptr @ya_optarg, align 8, !tbaa !9
  %562 = invoke noundef i32 @_ZStorSt13_Ios_OpenmodeS_(i32 noundef 8, i32 noundef 4)
          to label %563 unwind label %584

563:                                              ; preds = %560
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(256) %64, ptr noundef %561, i32 noundef %562)
          to label %564 unwind label %584

564:                                              ; preds = %563
  %565 = load ptr, ptr %64, align 8, !tbaa !19
  %566 = getelementptr i8, ptr %565, i64 -24
  %567 = load i64, ptr %566, align 8
  %568 = getelementptr inbounds i8, ptr %64, i64 %567
  %569 = invoke noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE4failEv(ptr noundef nonnull align 8 dereferenceable(264) %568)
          to label %570 unwind label %584

570:                                              ; preds = %564
  br i1 %569, label %571, label %607

571:                                              ; preds = %570
  call void @llvm.lifetime.start.p0(i64 376, ptr %65) #8
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %65)
          to label %572 unwind label %588

572:                                              ; preds = %571
  %573 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %65, ptr noundef @.str.12)
          to label %574 unwind label %592

574:                                              ; preds = %572
  %575 = load ptr, ptr @ya_optarg, align 8, !tbaa !9
  %576 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %573, ptr noundef %575)
          to label %577 unwind label %592

577:                                              ; preds = %574
  call void @llvm.lifetime.start.p0(i64 32, ptr %66) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %67) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %67) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %66, ptr noundef @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %67)
          to label %578 unwind label %596

578:                                              ; preds = %577
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %66, ptr noundef nonnull align 8 dereferenceable(112) %65)
          to label %579 unwind label %600

579:                                              ; preds = %578
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %66) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %67) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %67) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %66) #8
  store i32 1, ptr %3, align 4
  store i32 1, ptr %19, align 4
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %65) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr %65) #8
  br label %619

580:                                              ; preds = %559
  %581 = landingpad { ptr, i32 }
          cleanup
  %582 = extractvalue { ptr, i32 } %581, 0
  store ptr %582, ptr %17, align 8
  %583 = extractvalue { ptr, i32 } %581, 1
  store i32 %583, ptr %18, align 4
  br label %622

584:                                              ; preds = %564, %563, %560
  %585 = landingpad { ptr, i32 }
          cleanup
  %586 = extractvalue { ptr, i32 } %585, 0
  store ptr %586, ptr %17, align 8
  %587 = extractvalue { ptr, i32 } %585, 1
  store i32 %587, ptr %18, align 4
  br label %621

588:                                              ; preds = %571
  %589 = landingpad { ptr, i32 }
          cleanup
  %590 = extractvalue { ptr, i32 } %589, 0
  store ptr %590, ptr %17, align 8
  %591 = extractvalue { ptr, i32 } %589, 1
  store i32 %591, ptr %18, align 4
  br label %606

592:                                              ; preds = %574, %572
  %593 = landingpad { ptr, i32 }
          cleanup
  %594 = extractvalue { ptr, i32 } %593, 0
  store ptr %594, ptr %17, align 8
  %595 = extractvalue { ptr, i32 } %593, 1
  store i32 %595, ptr %18, align 4
  br label %605

596:                                              ; preds = %577
  %597 = landingpad { ptr, i32 }
          cleanup
  %598 = extractvalue { ptr, i32 } %597, 0
  store ptr %598, ptr %17, align 8
  %599 = extractvalue { ptr, i32 } %597, 1
  store i32 %599, ptr %18, align 4
  br label %604

600:                                              ; preds = %578
  %601 = landingpad { ptr, i32 }
          cleanup
  %602 = extractvalue { ptr, i32 } %601, 0
  store ptr %602, ptr %17, align 8
  %603 = extractvalue { ptr, i32 } %601, 1
  store i32 %603, ptr %18, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %66) #8
  br label %604

604:                                              ; preds = %600, %596
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %67) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %67) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %66) #8
  br label %605

605:                                              ; preds = %604, %592
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %65) #8
  br label %606

606:                                              ; preds = %605, %588
  call void @llvm.lifetime.end.p0(i64 376, ptr %65) #8
  br label %621

607:                                              ; preds = %570
  call void @llvm.lifetime.start.p0(i64 24, ptr %68) #8
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %68) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %69) #8
  br label %608

608:                                              ; preds = %612, %607
  %609 = invoke noundef zeroext i1 @_ZN4sptk10ReadStreamIdEEbPT_PSi(ptr noundef %69, ptr noundef %64)
          to label %610 unwind label %613

610:                                              ; preds = %608
  br i1 %609, label %611, label %617

611:                                              ; preds = %610
  invoke void @_ZNSt6vectorIdSaIdEE9push_backERKd(ptr noundef nonnull align 8 dereferenceable(24) %68, ptr noundef nonnull align 8 dereferenceable(8) %69)
          to label %612 unwind label %613

612:                                              ; preds = %611
  br label %608, !llvm.loop !21

613:                                              ; preds = %617, %611, %608
  %614 = landingpad { ptr, i32 }
          cleanup
  %615 = extractvalue { ptr, i32 } %614, 0
  store ptr %615, ptr %17, align 8
  %616 = extractvalue { ptr, i32 } %614, 1
  store i32 %616, ptr %18, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %69) #8
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %68) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %68) #8
  br label %621

617:                                              ; preds = %610
  invoke void @_ZNSt6vectorIS_IdSaIdEESaIS1_EE9push_backERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %11, ptr noundef nonnull align 8 dereferenceable(24) %68)
          to label %618 unwind label %613

618:                                              ; preds = %617
  store i32 4, ptr %19, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %69) #8
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %68) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %68) #8
  br label %619

619:                                              ; preds = %618, %579
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %64) #8
  call void @llvm.lifetime.end.p0(i64 520, ptr %64) #8
  %620 = load i32, ptr %19, align 4
  switch i32 %620, label %845 [
    i32 4, label %844
  ]

621:                                              ; preds = %613, %606, %584
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %64) #8
  br label %622

622:                                              ; preds = %621, %580
  call void @llvm.lifetime.end.p0(i64 520, ptr %64) #8
  br label %848

623:                                              ; preds = %164
  %624 = load i8, ptr %12, align 1, !tbaa !11, !range !15, !noundef !16
  %625 = trunc i8 %624 to i1
  br i1 %625, label %626, label %651

626:                                              ; preds = %623
  call void @llvm.lifetime.start.p0(i64 376, ptr %70) #8
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %70)
          to label %627 unwind label %632

627:                                              ; preds = %626
  %628 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %70, ptr noundef @.str.13)
          to label %629 unwind label %636

629:                                              ; preds = %627
  call void @llvm.lifetime.start.p0(i64 32, ptr %71) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %72) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %72) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %71, ptr noundef @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %72)
          to label %630 unwind label %640

630:                                              ; preds = %629
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %71, ptr noundef nonnull align 8 dereferenceable(112) %70)
          to label %631 unwind label %644

631:                                              ; preds = %630
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %72) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %72) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %71) #8
  store i32 1, ptr %3, align 4
  store i32 1, ptr %19, align 4
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %70) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr %70) #8
  br label %845

632:                                              ; preds = %626
  %633 = landingpad { ptr, i32 }
          cleanup
  %634 = extractvalue { ptr, i32 } %633, 0
  store ptr %634, ptr %17, align 8
  %635 = extractvalue { ptr, i32 } %633, 1
  store i32 %635, ptr %18, align 4
  br label %650

636:                                              ; preds = %627
  %637 = landingpad { ptr, i32 }
          cleanup
  %638 = extractvalue { ptr, i32 } %637, 0
  store ptr %638, ptr %17, align 8
  %639 = extractvalue { ptr, i32 } %637, 1
  store i32 %639, ptr %18, align 4
  br label %649

640:                                              ; preds = %629
  %641 = landingpad { ptr, i32 }
          cleanup
  %642 = extractvalue { ptr, i32 } %641, 0
  store ptr %642, ptr %17, align 8
  %643 = extractvalue { ptr, i32 } %641, 1
  store i32 %643, ptr %18, align 4
  br label %648

644:                                              ; preds = %630
  %645 = landingpad { ptr, i32 }
          cleanup
  %646 = extractvalue { ptr, i32 } %645, 0
  store ptr %646, ptr %17, align 8
  %647 = extractvalue { ptr, i32 } %645, 1
  store i32 %647, ptr %18, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #8
  br label %648

648:                                              ; preds = %644, %640
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %72) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %72) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %71) #8
  br label %649

649:                                              ; preds = %648, %636
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %70) #8
  br label %650

650:                                              ; preds = %649, %632
  call void @llvm.lifetime.end.p0(i64 376, ptr %70) #8
  br label %848

651:                                              ; preds = %623
  call void @llvm.lifetime.start.p0(i64 4, ptr %73) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %74) #8
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %74) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %75) #8
  %652 = load ptr, ptr @ya_optarg, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %76) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %76) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %75, ptr noundef %652, ptr noundef nonnull align 1 dereferenceable(1) %76)
          to label %653 unwind label %669

653:                                              ; preds = %651
  %654 = invoke noundef zeroext i1 @_ZN4sptk22ConvertStringToIntegerERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPi(ptr noundef nonnull align 8 dereferenceable(32) %75, ptr noundef %73)
          to label %655 unwind label %673

655:                                              ; preds = %653
  br i1 %654, label %656, label %661

656:                                              ; preds = %655
  %657 = load i32, ptr %73, align 4, !tbaa !5
  %658 = invoke noundef zeroext i1 @_ZN4sptk39ComputeFirstOrderRegressionCoefficientsEiPSt6vectorIdSaIdEE(i32 noundef %657, ptr noundef %74)
          to label %659 unwind label %673

659:                                              ; preds = %656
  %660 = xor i1 %658, true
  br label %661

661:                                              ; preds = %659, %655
  %662 = phi i1 [ true, %655 ], [ %660, %659 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %76) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %76) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %75) #8
  br i1 %662, label %663, label %697

663:                                              ; preds = %661
  call void @llvm.lifetime.start.p0(i64 376, ptr %77) #8
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %77)
          to label %664 unwind label %678

664:                                              ; preds = %663
  %665 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %77, ptr noundef @.str.14)
          to label %666 unwind label %682

666:                                              ; preds = %664
  call void @llvm.lifetime.start.p0(i64 32, ptr %78) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %79) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %79) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %78, ptr noundef @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %79)
          to label %667 unwind label %686

667:                                              ; preds = %666
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %78, ptr noundef nonnull align 8 dereferenceable(112) %77)
          to label %668 unwind label %690

668:                                              ; preds = %667
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %78) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %79) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %79) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %78) #8
  store i32 1, ptr %3, align 4
  store i32 1, ptr %19, align 4
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %77) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr %77) #8
  br label %699

669:                                              ; preds = %651
  %670 = landingpad { ptr, i32 }
          cleanup
  %671 = extractvalue { ptr, i32 } %670, 0
  store ptr %671, ptr %17, align 8
  %672 = extractvalue { ptr, i32 } %670, 1
  store i32 %672, ptr %18, align 4
  br label %677

673:                                              ; preds = %656, %653
  %674 = landingpad { ptr, i32 }
          cleanup
  %675 = extractvalue { ptr, i32 } %674, 0
  store ptr %675, ptr %17, align 8
  %676 = extractvalue { ptr, i32 } %674, 1
  store i32 %676, ptr %18, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #8
  br label %677

677:                                              ; preds = %673, %669
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %76) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %76) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %75) #8
  br label %742

678:                                              ; preds = %663
  %679 = landingpad { ptr, i32 }
          cleanup
  %680 = extractvalue { ptr, i32 } %679, 0
  store ptr %680, ptr %17, align 8
  %681 = extractvalue { ptr, i32 } %679, 1
  store i32 %681, ptr %18, align 4
  br label %696

682:                                              ; preds = %664
  %683 = landingpad { ptr, i32 }
          cleanup
  %684 = extractvalue { ptr, i32 } %683, 0
  store ptr %684, ptr %17, align 8
  %685 = extractvalue { ptr, i32 } %683, 1
  store i32 %685, ptr %18, align 4
  br label %695

686:                                              ; preds = %666
  %687 = landingpad { ptr, i32 }
          cleanup
  %688 = extractvalue { ptr, i32 } %687, 0
  store ptr %688, ptr %17, align 8
  %689 = extractvalue { ptr, i32 } %687, 1
  store i32 %689, ptr %18, align 4
  br label %694

690:                                              ; preds = %667
  %691 = landingpad { ptr, i32 }
          cleanup
  %692 = extractvalue { ptr, i32 } %691, 0
  store ptr %692, ptr %17, align 8
  %693 = extractvalue { ptr, i32 } %691, 1
  store i32 %693, ptr %18, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %78) #8
  br label %694

694:                                              ; preds = %690, %686
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %79) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %79) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %78) #8
  br label %695

695:                                              ; preds = %694, %682
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %77) #8
  br label %696

696:                                              ; preds = %695, %678
  call void @llvm.lifetime.end.p0(i64 376, ptr %77) #8
  br label %742

697:                                              ; preds = %661
  invoke void @_ZNSt6vectorIS_IdSaIdEESaIS1_EE9push_backERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %11, ptr noundef nonnull align 8 dereferenceable(24) %74)
          to label %698 unwind label %738

698:                                              ; preds = %697
  store i32 0, ptr %19, align 4
  br label %699

699:                                              ; preds = %698, %668
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %74) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %74) #8
  %700 = load i32, ptr %19, align 4
  switch i32 %700, label %796 [
    i32 0, label %701
  ]

701:                                              ; preds = %699
  %702 = load i32, ptr @ya_optind, align 4, !tbaa !5
  %703 = load i32, ptr %4, align 4, !tbaa !5
  %704 = icmp slt i32 %702, %703
  store i1 false, ptr %81, align 1
  store i1 false, ptr %83, align 1
  store i1 false, ptr %84, align 1
  store i1 false, ptr %85, align 1
  br i1 %704, label %705, label %714

705:                                              ; preds = %701
  call void @llvm.lifetime.start.p0(i64 32, ptr %80) #8
  store i1 true, ptr %81, align 1
  %706 = load ptr, ptr %5, align 8, !tbaa !9
  %707 = load i32, ptr @ya_optind, align 4, !tbaa !5
  %708 = sext i32 %707 to i64
  %709 = getelementptr inbounds ptr, ptr %706, i64 %708
  %710 = load ptr, ptr %709, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %82) #8
  store i1 true, ptr %83, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %82) #8
  store i1 true, ptr %84, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %80, ptr noundef %710, ptr noundef nonnull align 1 dereferenceable(1) %82)
          to label %711 unwind label %743

711:                                              ; preds = %705
  store i1 true, ptr %85, align 1
  %712 = invoke noundef zeroext i1 @_ZN4sptk22ConvertStringToIntegerERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPi(ptr noundef nonnull align 8 dereferenceable(32) %80, ptr noundef %73)
          to label %713 unwind label %747

713:                                              ; preds = %711
  br label %714

714:                                              ; preds = %713, %701
  %715 = phi i1 [ false, %701 ], [ %712, %713 ]
  %716 = load i1, ptr %85, align 1
  br i1 %716, label %717, label %718

717:                                              ; preds = %714
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %80) #8
  br label %718

718:                                              ; preds = %717, %714
  %719 = load i1, ptr %84, align 1
  br i1 %719, label %720, label %721

720:                                              ; preds = %718
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %82) #8
  br label %721

721:                                              ; preds = %720, %718
  %722 = load i1, ptr %83, align 1
  br i1 %722, label %723, label %724

723:                                              ; preds = %721
  call void @llvm.lifetime.end.p0(i64 1, ptr %82) #8
  br label %724

724:                                              ; preds = %723, %721
  %725 = load i1, ptr %81, align 1
  br i1 %725, label %726, label %727

726:                                              ; preds = %724
  call void @llvm.lifetime.end.p0(i64 32, ptr %80) #8
  br label %727

727:                                              ; preds = %726, %724
  br i1 %715, label %728, label %795

728:                                              ; preds = %727
  call void @llvm.lifetime.start.p0(i64 24, ptr %86) #8
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %86) #8
  %729 = load i32, ptr %73, align 4, !tbaa !5
  %730 = invoke noundef zeroext i1 @_ZN4sptk40ComputeSecondOrderRegressionCoefficientsEiPSt6vectorIdSaIdEE(i32 noundef %729, ptr noundef %86)
          to label %731 unwind label %764

731:                                              ; preds = %728
  br i1 %730, label %787, label %732

732:                                              ; preds = %731
  call void @llvm.lifetime.start.p0(i64 376, ptr %87) #8
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %87)
          to label %733 unwind label %768

733:                                              ; preds = %732
  %734 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %87, ptr noundef @.str.14)
          to label %735 unwind label %772

735:                                              ; preds = %733
  call void @llvm.lifetime.start.p0(i64 32, ptr %88) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %89) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %89) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %88, ptr noundef @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %89)
          to label %736 unwind label %776

736:                                              ; preds = %735
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %88, ptr noundef nonnull align 8 dereferenceable(112) %87)
          to label %737 unwind label %780

737:                                              ; preds = %736
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %88) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %89) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %89) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %88) #8
  store i32 1, ptr %3, align 4
  store i32 1, ptr %19, align 4
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %87) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr %87) #8
  br label %791

738:                                              ; preds = %697
  %739 = landingpad { ptr, i32 }
          cleanup
  %740 = extractvalue { ptr, i32 } %739, 0
  store ptr %740, ptr %17, align 8
  %741 = extractvalue { ptr, i32 } %739, 1
  store i32 %741, ptr %18, align 4
  br label %742

742:                                              ; preds = %738, %696, %677
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %74) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %74) #8
  br label %798

743:                                              ; preds = %705
  %744 = landingpad { ptr, i32 }
          cleanup
  %745 = extractvalue { ptr, i32 } %744, 0
  store ptr %745, ptr %17, align 8
  %746 = extractvalue { ptr, i32 } %744, 1
  store i32 %746, ptr %18, align 4
  br label %754

747:                                              ; preds = %711
  %748 = landingpad { ptr, i32 }
          cleanup
  %749 = extractvalue { ptr, i32 } %748, 0
  store ptr %749, ptr %17, align 8
  %750 = extractvalue { ptr, i32 } %748, 1
  store i32 %750, ptr %18, align 4
  %751 = load i1, ptr %85, align 1
  br i1 %751, label %752, label %753

752:                                              ; preds = %747
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %80) #8
  br label %753

753:                                              ; preds = %752, %747
  br label %754

754:                                              ; preds = %753, %743
  %755 = load i1, ptr %84, align 1
  br i1 %755, label %756, label %757

756:                                              ; preds = %754
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %82) #8
  br label %757

757:                                              ; preds = %756, %754
  %758 = load i1, ptr %83, align 1
  br i1 %758, label %759, label %760

759:                                              ; preds = %757
  call void @llvm.lifetime.end.p0(i64 1, ptr %82) #8
  br label %760

760:                                              ; preds = %759, %757
  %761 = load i1, ptr %81, align 1
  br i1 %761, label %762, label %763

762:                                              ; preds = %760
  call void @llvm.lifetime.end.p0(i64 32, ptr %80) #8
  br label %763

763:                                              ; preds = %762, %760
  br label %798

764:                                              ; preds = %787, %728
  %765 = landingpad { ptr, i32 }
          cleanup
  %766 = extractvalue { ptr, i32 } %765, 0
  store ptr %766, ptr %17, align 8
  %767 = extractvalue { ptr, i32 } %765, 1
  store i32 %767, ptr %18, align 4
  br label %794

768:                                              ; preds = %732
  %769 = landingpad { ptr, i32 }
          cleanup
  %770 = extractvalue { ptr, i32 } %769, 0
  store ptr %770, ptr %17, align 8
  %771 = extractvalue { ptr, i32 } %769, 1
  store i32 %771, ptr %18, align 4
  br label %786

772:                                              ; preds = %733
  %773 = landingpad { ptr, i32 }
          cleanup
  %774 = extractvalue { ptr, i32 } %773, 0
  store ptr %774, ptr %17, align 8
  %775 = extractvalue { ptr, i32 } %773, 1
  store i32 %775, ptr %18, align 4
  br label %785

776:                                              ; preds = %735
  %777 = landingpad { ptr, i32 }
          cleanup
  %778 = extractvalue { ptr, i32 } %777, 0
  store ptr %778, ptr %17, align 8
  %779 = extractvalue { ptr, i32 } %777, 1
  store i32 %779, ptr %18, align 4
  br label %784

780:                                              ; preds = %736
  %781 = landingpad { ptr, i32 }
          cleanup
  %782 = extractvalue { ptr, i32 } %781, 0
  store ptr %782, ptr %17, align 8
  %783 = extractvalue { ptr, i32 } %781, 1
  store i32 %783, ptr %18, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %88) #8
  br label %784

784:                                              ; preds = %780, %776
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %89) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %89) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %88) #8
  br label %785

785:                                              ; preds = %784, %772
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %87) #8
  br label %786

786:                                              ; preds = %785, %768
  call void @llvm.lifetime.end.p0(i64 376, ptr %87) #8
  br label %794

787:                                              ; preds = %731
  invoke void @_ZNSt6vectorIS_IdSaIdEESaIS1_EE9push_backERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %11, ptr noundef nonnull align 8 dereferenceable(24) %86)
          to label %788 unwind label %764

788:                                              ; preds = %787
  %789 = load i32, ptr @ya_optind, align 4, !tbaa !5
  %790 = add nsw i32 %789, 1
  store i32 %790, ptr @ya_optind, align 4, !tbaa !5
  store i32 0, ptr %19, align 4
  br label %791

791:                                              ; preds = %788, %737
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %86) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %86) #8
  %792 = load i32, ptr %19, align 4
  switch i32 %792, label %796 [
    i32 0, label %793
  ]

793:                                              ; preds = %791
  br label %795

794:                                              ; preds = %786, %764
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %86) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %86) #8
  br label %798

795:                                              ; preds = %793, %727
  store i8 1, ptr %12, align 1, !tbaa !11
  store i32 4, ptr %19, align 4
  br label %796

796:                                              ; preds = %795, %791, %699
  call void @llvm.lifetime.end.p0(i64 4, ptr %73) #8
  %797 = load i32, ptr %19, align 4
  switch i32 %797, label %845 [
    i32 4, label %844
  ]

798:                                              ; preds = %794, %763, %742
  call void @llvm.lifetime.end.p0(i64 4, ptr %73) #8
  br label %848

799:                                              ; preds = %164
  call void @llvm.lifetime.start.p0(i64 32, ptr %90) #8
  %800 = load ptr, ptr @ya_optarg, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %91) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %91) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %90, ptr noundef %800, ptr noundef nonnull align 1 dereferenceable(1) %91)
          to label %801 unwind label %811

801:                                              ; preds = %799
  %802 = invoke noundef zeroext i1 @_ZN4sptk21ConvertStringToDoubleERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPd(ptr noundef nonnull align 8 dereferenceable(32) %90, ptr noundef %13)
          to label %803 unwind label %815

803:                                              ; preds = %801
  %804 = xor i1 %802, true
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %90) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %91) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %91) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %90) #8
  br i1 %804, label %805, label %839

805:                                              ; preds = %803
  call void @llvm.lifetime.start.p0(i64 376, ptr %92) #8
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %92)
          to label %806 unwind label %820

806:                                              ; preds = %805
  %807 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %92, ptr noundef @.str.15)
          to label %808 unwind label %824

808:                                              ; preds = %806
  call void @llvm.lifetime.start.p0(i64 32, ptr %93) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %94) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %94) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %93, ptr noundef @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %94)
          to label %809 unwind label %828

809:                                              ; preds = %808
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %93, ptr noundef nonnull align 8 dereferenceable(112) %92)
          to label %810 unwind label %832

810:                                              ; preds = %809
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %93) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %94) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %94) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %93) #8
  store i32 1, ptr %3, align 4
  store i32 1, ptr %19, align 4
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %92) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr %92) #8
  br label %845

811:                                              ; preds = %799
  %812 = landingpad { ptr, i32 }
          cleanup
  %813 = extractvalue { ptr, i32 } %812, 0
  store ptr %813, ptr %17, align 8
  %814 = extractvalue { ptr, i32 } %812, 1
  store i32 %814, ptr %18, align 4
  br label %819

815:                                              ; preds = %801
  %816 = landingpad { ptr, i32 }
          cleanup
  %817 = extractvalue { ptr, i32 } %816, 0
  store ptr %817, ptr %17, align 8
  %818 = extractvalue { ptr, i32 } %816, 1
  store i32 %818, ptr %18, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %90) #8
  br label %819

819:                                              ; preds = %815, %811
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %91) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %91) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %90) #8
  br label %848

820:                                              ; preds = %805
  %821 = landingpad { ptr, i32 }
          cleanup
  %822 = extractvalue { ptr, i32 } %821, 0
  store ptr %822, ptr %17, align 8
  %823 = extractvalue { ptr, i32 } %821, 1
  store i32 %823, ptr %18, align 4
  br label %838

824:                                              ; preds = %806
  %825 = landingpad { ptr, i32 }
          cleanup
  %826 = extractvalue { ptr, i32 } %825, 0
  store ptr %826, ptr %17, align 8
  %827 = extractvalue { ptr, i32 } %825, 1
  store i32 %827, ptr %18, align 4
  br label %837

828:                                              ; preds = %808
  %829 = landingpad { ptr, i32 }
          cleanup
  %830 = extractvalue { ptr, i32 } %829, 0
  store ptr %830, ptr %17, align 8
  %831 = extractvalue { ptr, i32 } %829, 1
  store i32 %831, ptr %18, align 4
  br label %836

832:                                              ; preds = %809
  %833 = landingpad { ptr, i32 }
          cleanup
  %834 = extractvalue { ptr, i32 } %833, 0
  store ptr %834, ptr %17, align 8
  %835 = extractvalue { ptr, i32 } %833, 1
  store i32 %835, ptr %18, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %93) #8
  br label %836

836:                                              ; preds = %832, %828
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %94) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %94) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %93) #8
  br label %837

837:                                              ; preds = %836, %824
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %92) #8
  br label %838

838:                                              ; preds = %837, %820
  call void @llvm.lifetime.end.p0(i64 376, ptr %92) #8
  br label %848

839:                                              ; preds = %803
  store i8 1, ptr %14, align 1, !tbaa !11
  br label %844

840:                                              ; preds = %164
  invoke void @_ZN12_GLOBAL__N_110PrintUsageEPSo(ptr noundef @_ZSt4cout)
          to label %841 unwind label %160

841:                                              ; preds = %840
  store i32 0, ptr %3, align 4
  store i32 1, ptr %19, align 4
  br label %845

842:                                              ; preds = %164
  invoke void @_ZN12_GLOBAL__N_110PrintUsageEPSo(ptr noundef @_ZSt4cerr)
          to label %843 unwind label %160

843:                                              ; preds = %842
  store i32 1, ptr %3, align 4
  store i32 1, ptr %19, align 4
  br label %845

844:                                              ; preds = %839, %796, %619, %528, %399, %398, %353, %304, %259, %210
  store i32 0, ptr %19, align 4
  br label %845

845:                                              ; preds = %844, %843, %841, %810, %796, %631, %619, %539, %528, %408, %369, %324, %275, %230, %181, %159
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #8
  %846 = load i32, ptr %19, align 4
  switch i32 %846, label %1419 [
    i32 0, label %847
    i32 2, label %849
  ]

847:                                              ; preds = %845
  br label %151, !llvm.loop !22

848:                                              ; preds = %838, %819, %798, %650, %622, %558, %530, %427, %397, %378, %352, %333, %303, %284, %258, %239, %209, %190, %160
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #8
  br label %1421

849:                                              ; preds = %845
  %850 = load i8, ptr %8, align 1, !tbaa !11, !range !15, !noundef !16
  %851 = trunc i8 %850 to i1
  br i1 %851, label %854, label %852

852:                                              ; preds = %849
  %853 = load i32, ptr %6, align 4, !tbaa !5
  store i32 %853, ptr %7, align 4, !tbaa !5
  br label %854

854:                                              ; preds = %852, %849
  call void @llvm.lifetime.start.p0(i64 8, ptr %95) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %96) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr %97) #8
  %855 = load i32, ptr %4, align 4, !tbaa !5
  %856 = load i32, ptr @ya_optind, align 4, !tbaa !5
  %857 = sub nsw i32 %855, %856
  store i32 %857, ptr %97, align 4, !tbaa !5
  %858 = load i32, ptr %97, align 4, !tbaa !5
  %859 = icmp eq i32 2, %858
  br i1 %859, label %860, label %873

860:                                              ; preds = %854
  %861 = load ptr, ptr %5, align 8, !tbaa !9
  %862 = load i32, ptr %4, align 4, !tbaa !5
  %863 = sub nsw i32 %862, 2
  %864 = sext i32 %863 to i64
  %865 = getelementptr inbounds ptr, ptr %861, i64 %864
  %866 = load ptr, ptr %865, align 8, !tbaa !9
  store ptr %866, ptr %95, align 8, !tbaa !9
  %867 = load ptr, ptr %5, align 8, !tbaa !9
  %868 = load i32, ptr %4, align 4, !tbaa !5
  %869 = sub nsw i32 %868, 1
  %870 = sext i32 %869 to i64
  %871 = getelementptr inbounds ptr, ptr %867, i64 %870
  %872 = load ptr, ptr %871, align 8, !tbaa !9
  store ptr %872, ptr %96, align 8, !tbaa !9
  br label %909

873:                                              ; preds = %854
  %874 = load i32, ptr %97, align 4, !tbaa !5
  %875 = icmp eq i32 1, %874
  br i1 %875, label %876, label %883

876:                                              ; preds = %873
  %877 = load ptr, ptr %5, align 8, !tbaa !9
  %878 = load i32, ptr %4, align 4, !tbaa !5
  %879 = sub nsw i32 %878, 1
  %880 = sext i32 %879 to i64
  %881 = getelementptr inbounds ptr, ptr %877, i64 %880
  %882 = load ptr, ptr %881, align 8, !tbaa !9
  store ptr %882, ptr %95, align 8, !tbaa !9
  store ptr null, ptr %96, align 8, !tbaa !9
  br label %908

883:                                              ; preds = %873
  call void @llvm.lifetime.start.p0(i64 376, ptr %98) #8
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %98)
          to label %884 unwind label %889

884:                                              ; preds = %883
  %885 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %98, ptr noundef @.str.16)
          to label %886 unwind label %893

886:                                              ; preds = %884
  call void @llvm.lifetime.start.p0(i64 32, ptr %99) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %100) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %100) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %99, ptr noundef @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %100)
          to label %887 unwind label %897

887:                                              ; preds = %886
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %99, ptr noundef nonnull align 8 dereferenceable(112) %98)
          to label %888 unwind label %901

888:                                              ; preds = %887
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %99) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %100) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %100) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %99) #8
  store i32 1, ptr %3, align 4
  store i32 1, ptr %19, align 4
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %98) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr %98) #8
  br label %1417

889:                                              ; preds = %883
  %890 = landingpad { ptr, i32 }
          cleanup
  %891 = extractvalue { ptr, i32 } %890, 0
  store ptr %891, ptr %17, align 8
  %892 = extractvalue { ptr, i32 } %890, 1
  store i32 %892, ptr %18, align 4
  br label %907

893:                                              ; preds = %884
  %894 = landingpad { ptr, i32 }
          cleanup
  %895 = extractvalue { ptr, i32 } %894, 0
  store ptr %895, ptr %17, align 8
  %896 = extractvalue { ptr, i32 } %894, 1
  store i32 %896, ptr %18, align 4
  br label %906

897:                                              ; preds = %886
  %898 = landingpad { ptr, i32 }
          cleanup
  %899 = extractvalue { ptr, i32 } %898, 0
  store ptr %899, ptr %17, align 8
  %900 = extractvalue { ptr, i32 } %898, 1
  store i32 %900, ptr %18, align 4
  br label %905

901:                                              ; preds = %887
  %902 = landingpad { ptr, i32 }
          cleanup
  %903 = extractvalue { ptr, i32 } %902, 0
  store ptr %903, ptr %17, align 8
  %904 = extractvalue { ptr, i32 } %902, 1
  store i32 %904, ptr %18, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %99) #8
  br label %905

905:                                              ; preds = %901, %897
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %100) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %100) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %99) #8
  br label %906

906:                                              ; preds = %905, %893
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %98) #8
  br label %907

907:                                              ; preds = %906, %889
  call void @llvm.lifetime.end.p0(i64 376, ptr %98) #8
  br label %1418

908:                                              ; preds = %876
  br label %909

909:                                              ; preds = %908, %860
  %910 = invoke noundef zeroext i1 @_ZN4sptk13SetBinaryModeEv()
          to label %911 unwind label %918

911:                                              ; preds = %909
  br i1 %910, label %941, label %912

912:                                              ; preds = %911
  call void @llvm.lifetime.start.p0(i64 376, ptr %101) #8
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %101)
          to label %913 unwind label %922

913:                                              ; preds = %912
  %914 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %101, ptr noundef @.str.17)
          to label %915 unwind label %926

915:                                              ; preds = %913
  call void @llvm.lifetime.start.p0(i64 32, ptr %102) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %103) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %103) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %102, ptr noundef @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %103)
          to label %916 unwind label %930

916:                                              ; preds = %915
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %102, ptr noundef nonnull align 8 dereferenceable(112) %101)
          to label %917 unwind label %934

917:                                              ; preds = %916
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %102) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %103) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %103) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %102) #8
  store i32 1, ptr %3, align 4
  store i32 1, ptr %19, align 4
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %101) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr %101) #8
  br label %1417

918:                                              ; preds = %909
  %919 = landingpad { ptr, i32 }
          cleanup
  %920 = extractvalue { ptr, i32 } %919, 0
  store ptr %920, ptr %17, align 8
  %921 = extractvalue { ptr, i32 } %919, 1
  store i32 %921, ptr %18, align 4
  br label %1418

922:                                              ; preds = %912
  %923 = landingpad { ptr, i32 }
          cleanup
  %924 = extractvalue { ptr, i32 } %923, 0
  store ptr %924, ptr %17, align 8
  %925 = extractvalue { ptr, i32 } %923, 1
  store i32 %925, ptr %18, align 4
  br label %940

926:                                              ; preds = %913
  %927 = landingpad { ptr, i32 }
          cleanup
  %928 = extractvalue { ptr, i32 } %927, 0
  store ptr %928, ptr %17, align 8
  %929 = extractvalue { ptr, i32 } %927, 1
  store i32 %929, ptr %18, align 4
  br label %939

930:                                              ; preds = %915
  %931 = landingpad { ptr, i32 }
          cleanup
  %932 = extractvalue { ptr, i32 } %931, 0
  store ptr %932, ptr %17, align 8
  %933 = extractvalue { ptr, i32 } %931, 1
  store i32 %933, ptr %18, align 4
  br label %938

934:                                              ; preds = %916
  %935 = landingpad { ptr, i32 }
          cleanup
  %936 = extractvalue { ptr, i32 } %935, 0
  store ptr %936, ptr %17, align 8
  %937 = extractvalue { ptr, i32 } %935, 1
  store i32 %937, ptr %18, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %102) #8
  br label %938

938:                                              ; preds = %934, %930
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %103) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %103) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %102) #8
  br label %939

939:                                              ; preds = %938, %926
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %101) #8
  br label %940

940:                                              ; preds = %939, %922
  call void @llvm.lifetime.end.p0(i64 376, ptr %101) #8
  br label %1418

941:                                              ; preds = %911
  call void @llvm.lifetime.start.p0(i64 24, ptr %104) #8
  %942 = load i32, ptr %9, align 4, !tbaa !5
  %943 = sext i32 %942 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr %105) #8
  call void @_ZNSaIdEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %105) #8
  invoke void @_ZNSt6vectorIdSaIdEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %104, i64 noundef %943, ptr noundef nonnull align 1 dereferenceable(1) %105)
          to label %944 unwind label %971

944:                                              ; preds = %941
  call void @_ZNSt15__new_allocatorIdED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %105) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %105) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %106) #8
  %945 = load i32, ptr %9, align 4, !tbaa !5
  %946 = sext i32 %945 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr %107) #8
  call void @_ZNSaISt6vectorIdSaIdEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %107) #8
  invoke void @_ZNSt6vectorIS_IdSaIdEESaIS1_EEC2EmRKS2_(ptr noundef nonnull align 8 dereferenceable(24) %106, i64 noundef %946, ptr noundef nonnull align 1 dereferenceable(1) %107)
          to label %947 unwind label %975

947:                                              ; preds = %944
  call void @_ZNSt15__new_allocatorISt6vectorIdSaIdEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %107) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %107) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %108) #8
  %948 = load i32, ptr %9, align 4, !tbaa !5
  %949 = sext i32 %948 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr %109) #8
  call void @_ZNSaIN4sptk15SymmetricMatrixEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %109) #8
  invoke void @_ZNSt6vectorIN4sptk15SymmetricMatrixESaIS1_EEC2EmRKS2_(ptr noundef nonnull align 8 dereferenceable(24) %108, i64 noundef %949, ptr noundef nonnull align 1 dereferenceable(1) %109)
          to label %950 unwind label %979

950:                                              ; preds = %947
  call void @_ZNSt15__new_allocatorIN4sptk15SymmetricMatrixEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %109) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %109) #8
  call void @llvm.lifetime.start.p0(i64 520, ptr %110) #8
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(256) %110)
          to label %951 unwind label %983

951:                                              ; preds = %950
  %952 = load ptr, ptr %95, align 8, !tbaa !9
  %953 = invoke noundef i32 @_ZStorSt13_Ios_OpenmodeS_(i32 noundef 8, i32 noundef 4)
          to label %954 unwind label %987

954:                                              ; preds = %951
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(256) %110, ptr noundef %952, i32 noundef %953)
          to label %955 unwind label %987

955:                                              ; preds = %954
  %956 = load ptr, ptr %110, align 8, !tbaa !19
  %957 = getelementptr i8, ptr %956, i64 -24
  %958 = load i64, ptr %957, align 8
  %959 = getelementptr inbounds i8, ptr %110, i64 %958
  %960 = invoke noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE4failEv(ptr noundef nonnull align 8 dereferenceable(264) %959)
          to label %961 unwind label %987

961:                                              ; preds = %955
  br i1 %960, label %962, label %1010

962:                                              ; preds = %961
  call void @llvm.lifetime.start.p0(i64 376, ptr %111) #8
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %111)
          to label %963 unwind label %991

963:                                              ; preds = %962
  %964 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %111, ptr noundef @.str.12)
          to label %965 unwind label %995

965:                                              ; preds = %963
  %966 = load ptr, ptr %95, align 8, !tbaa !9
  %967 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %964, ptr noundef %966)
          to label %968 unwind label %995

968:                                              ; preds = %965
  call void @llvm.lifetime.start.p0(i64 32, ptr %112) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %113) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %113) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %112, ptr noundef @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %113)
          to label %969 unwind label %999

969:                                              ; preds = %968
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %112, ptr noundef nonnull align 8 dereferenceable(112) %111)
          to label %970 unwind label %1003

970:                                              ; preds = %969
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %112) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %113) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %113) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %112) #8
  store i32 1, ptr %3, align 4
  store i32 1, ptr %19, align 4
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %111) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr %111) #8
  br label %1187

971:                                              ; preds = %941
  %972 = landingpad { ptr, i32 }
          cleanup
  %973 = extractvalue { ptr, i32 } %972, 0
  store ptr %973, ptr %17, align 8
  %974 = extractvalue { ptr, i32 } %972, 1
  store i32 %974, ptr %18, align 4
  call void @_ZNSt15__new_allocatorIdED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %105) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %105) #8
  br label %1416

975:                                              ; preds = %944
  %976 = landingpad { ptr, i32 }
          cleanup
  %977 = extractvalue { ptr, i32 } %976, 0
  store ptr %977, ptr %17, align 8
  %978 = extractvalue { ptr, i32 } %976, 1
  store i32 %978, ptr %18, align 4
  call void @_ZNSt15__new_allocatorISt6vectorIdSaIdEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %107) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %107) #8
  br label %1415

979:                                              ; preds = %947
  %980 = landingpad { ptr, i32 }
          cleanup
  %981 = extractvalue { ptr, i32 } %980, 0
  store ptr %981, ptr %17, align 8
  %982 = extractvalue { ptr, i32 } %980, 1
  store i32 %982, ptr %18, align 4
  call void @_ZNSt15__new_allocatorIN4sptk15SymmetricMatrixEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %109) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %109) #8
  br label %1414

983:                                              ; preds = %950
  %984 = landingpad { ptr, i32 }
          cleanup
  %985 = extractvalue { ptr, i32 } %984, 0
  store ptr %985, ptr %17, align 8
  %986 = extractvalue { ptr, i32 } %984, 1
  store i32 %986, ptr %18, align 4
  br label %1214

987:                                              ; preds = %955, %954, %951
  %988 = landingpad { ptr, i32 }
          cleanup
  %989 = extractvalue { ptr, i32 } %988, 0
  store ptr %989, ptr %17, align 8
  %990 = extractvalue { ptr, i32 } %988, 1
  store i32 %990, ptr %18, align 4
  br label %1213

991:                                              ; preds = %962
  %992 = landingpad { ptr, i32 }
          cleanup
  %993 = extractvalue { ptr, i32 } %992, 0
  store ptr %993, ptr %17, align 8
  %994 = extractvalue { ptr, i32 } %992, 1
  store i32 %994, ptr %18, align 4
  br label %1009

995:                                              ; preds = %965, %963
  %996 = landingpad { ptr, i32 }
          cleanup
  %997 = extractvalue { ptr, i32 } %996, 0
  store ptr %997, ptr %17, align 8
  %998 = extractvalue { ptr, i32 } %996, 1
  store i32 %998, ptr %18, align 4
  br label %1008

999:                                              ; preds = %968
  %1000 = landingpad { ptr, i32 }
          cleanup
  %1001 = extractvalue { ptr, i32 } %1000, 0
  store ptr %1001, ptr %17, align 8
  %1002 = extractvalue { ptr, i32 } %1000, 1
  store i32 %1002, ptr %18, align 4
  br label %1007

1003:                                             ; preds = %969
  %1004 = landingpad { ptr, i32 }
          cleanup
  %1005 = extractvalue { ptr, i32 } %1004, 0
  store ptr %1005, ptr %17, align 8
  %1006 = extractvalue { ptr, i32 } %1004, 1
  store i32 %1006, ptr %18, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %112) #8
  br label %1007

1007:                                             ; preds = %1003, %999
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %113) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %113) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %112) #8
  br label %1008

1008:                                             ; preds = %1007, %995
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %111) #8
  br label %1009

1009:                                             ; preds = %1008, %991
  call void @llvm.lifetime.end.p0(i64 376, ptr %111) #8
  br label %1213

1010:                                             ; preds = %961
  call void @llvm.lifetime.start.p0(i64 8, ptr %114) #8
  store ptr %110, ptr %114, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %115) #8
  %1011 = call noundef i64 @_ZNKSt6vectorIS_IdSaIdEESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %11) #8
  %1012 = add i64 %1011, 1
  %1013 = trunc i64 %1012 to i32
  %1014 = load i32, ptr %6, align 4, !tbaa !5
  %1015 = load i32, ptr %7, align 4, !tbaa !5
  %1016 = add nsw i32 %1014, %1015
  %1017 = add nsw i32 %1016, 2
  %1018 = mul nsw i32 %1013, %1017
  store i32 %1018, ptr %115, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %116) #8
  store i32 0, ptr %116, align 4, !tbaa !5
  br label %1019

1019:                                             ; preds = %1179, %1010
  %1020 = load i32, ptr %116, align 4, !tbaa !5
  %1021 = load i32, ptr %9, align 4, !tbaa !5
  %1022 = icmp slt i32 %1020, %1021
  br i1 %1022, label %1024, label %1023

1023:                                             ; preds = %1019
  store i32 9, ptr %19, align 4
  br label %1182

1024:                                             ; preds = %1019
  %1025 = load i32, ptr %116, align 4, !tbaa !5
  %1026 = sext i32 %1025 to i64
  %1027 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %104, i64 noundef %1026) #8
  %1028 = load ptr, ptr %114, align 8, !tbaa !9
  %1029 = invoke noundef zeroext i1 @_ZN4sptk10ReadStreamIdEEbPT_PSi(ptr noundef %1027, ptr noundef %1028)
          to label %1030 unwind label %1037

1030:                                             ; preds = %1024
  br i1 %1029, label %1060, label %1031

1031:                                             ; preds = %1030
  call void @llvm.lifetime.start.p0(i64 376, ptr %117) #8
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %117)
          to label %1032 unwind label %1041

1032:                                             ; preds = %1031
  %1033 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %117, ptr noundef @.str.18)
          to label %1034 unwind label %1045

1034:                                             ; preds = %1032
  call void @llvm.lifetime.start.p0(i64 32, ptr %118) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %119) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %119) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %118, ptr noundef @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %119)
          to label %1035 unwind label %1049

1035:                                             ; preds = %1034
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %118, ptr noundef nonnull align 8 dereferenceable(112) %117)
          to label %1036 unwind label %1053

1036:                                             ; preds = %1035
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %118) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %119) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %119) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %118) #8
  store i32 1, ptr %3, align 4
  store i32 1, ptr %19, align 4
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %117) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr %117) #8
  br label %1182

1037:                                             ; preds = %1101, %1093, %1060, %1024
  %1038 = landingpad { ptr, i32 }
          cleanup
  %1039 = extractvalue { ptr, i32 } %1038, 0
  store ptr %1039, ptr %17, align 8
  %1040 = extractvalue { ptr, i32 } %1038, 1
  store i32 %1040, ptr %18, align 4
  br label %1184

1041:                                             ; preds = %1031
  %1042 = landingpad { ptr, i32 }
          cleanup
  %1043 = extractvalue { ptr, i32 } %1042, 0
  store ptr %1043, ptr %17, align 8
  %1044 = extractvalue { ptr, i32 } %1042, 1
  store i32 %1044, ptr %18, align 4
  br label %1059

1045:                                             ; preds = %1032
  %1046 = landingpad { ptr, i32 }
          cleanup
  %1047 = extractvalue { ptr, i32 } %1046, 0
  store ptr %1047, ptr %17, align 8
  %1048 = extractvalue { ptr, i32 } %1046, 1
  store i32 %1048, ptr %18, align 4
  br label %1058

1049:                                             ; preds = %1034
  %1050 = landingpad { ptr, i32 }
          cleanup
  %1051 = extractvalue { ptr, i32 } %1050, 0
  store ptr %1051, ptr %17, align 8
  %1052 = extractvalue { ptr, i32 } %1050, 1
  store i32 %1052, ptr %18, align 4
  br label %1057

1053:                                             ; preds = %1035
  %1054 = landingpad { ptr, i32 }
          cleanup
  %1055 = extractvalue { ptr, i32 } %1054, 0
  store ptr %1055, ptr %17, align 8
  %1056 = extractvalue { ptr, i32 } %1054, 1
  store i32 %1056, ptr %18, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %118) #8
  br label %1057

1057:                                             ; preds = %1053, %1049
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %119) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %119) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %118) #8
  br label %1058

1058:                                             ; preds = %1057, %1045
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %117) #8
  br label %1059

1059:                                             ; preds = %1058, %1041
  call void @llvm.lifetime.end.p0(i64 376, ptr %117) #8
  br label %1184

1060:                                             ; preds = %1030
  %1061 = load i32, ptr %115, align 4, !tbaa !5
  %1062 = load i32, ptr %116, align 4, !tbaa !5
  %1063 = sext i32 %1062 to i64
  %1064 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IdSaIdEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %106, i64 noundef %1063) #8
  %1065 = load ptr, ptr %114, align 8, !tbaa !9
  %1066 = invoke noundef zeroext i1 @_ZN4sptk10ReadStreamIdEEbbiiiPSt6vectorIT_SaIS2_EEPSiPi(i1 noundef zeroext false, i32 noundef 0, i32 noundef 0, i32 noundef %1061, ptr noundef %1064, ptr noundef %1065, ptr noundef null)
          to label %1067 unwind label %1037

1067:                                             ; preds = %1060
  br i1 %1066, label %1093, label %1068

1068:                                             ; preds = %1067
  call void @llvm.lifetime.start.p0(i64 376, ptr %120) #8
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %120)
          to label %1069 unwind label %1074

1069:                                             ; preds = %1068
  %1070 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %120, ptr noundef @.str.19)
          to label %1071 unwind label %1078

1071:                                             ; preds = %1069
  call void @llvm.lifetime.start.p0(i64 32, ptr %121) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %122) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %122) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %121, ptr noundef @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %122)
          to label %1072 unwind label %1082

1072:                                             ; preds = %1071
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %121, ptr noundef nonnull align 8 dereferenceable(112) %120)
          to label %1073 unwind label %1086

1073:                                             ; preds = %1072
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %121) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %122) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %122) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %121) #8
  store i32 1, ptr %3, align 4
  store i32 1, ptr %19, align 4
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %120) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr %120) #8
  br label %1182

1074:                                             ; preds = %1068
  %1075 = landingpad { ptr, i32 }
          cleanup
  %1076 = extractvalue { ptr, i32 } %1075, 0
  store ptr %1076, ptr %17, align 8
  %1077 = extractvalue { ptr, i32 } %1075, 1
  store i32 %1077, ptr %18, align 4
  br label %1092

1078:                                             ; preds = %1069
  %1079 = landingpad { ptr, i32 }
          cleanup
  %1080 = extractvalue { ptr, i32 } %1079, 0
  store ptr %1080, ptr %17, align 8
  %1081 = extractvalue { ptr, i32 } %1079, 1
  store i32 %1081, ptr %18, align 4
  br label %1091

1082:                                             ; preds = %1071
  %1083 = landingpad { ptr, i32 }
          cleanup
  %1084 = extractvalue { ptr, i32 } %1083, 0
  store ptr %1084, ptr %17, align 8
  %1085 = extractvalue { ptr, i32 } %1083, 1
  store i32 %1085, ptr %18, align 4
  br label %1090

1086:                                             ; preds = %1072
  %1087 = landingpad { ptr, i32 }
          cleanup
  %1088 = extractvalue { ptr, i32 } %1087, 0
  store ptr %1088, ptr %17, align 8
  %1089 = extractvalue { ptr, i32 } %1087, 1
  store i32 %1089, ptr %18, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %121) #8
  br label %1090

1090:                                             ; preds = %1086, %1082
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %122) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %122) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %121) #8
  br label %1091

1091:                                             ; preds = %1090, %1078
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %120) #8
  br label %1092

1092:                                             ; preds = %1091, %1074
  call void @llvm.lifetime.end.p0(i64 376, ptr %120) #8
  br label %1184

1093:                                             ; preds = %1067
  %1094 = load i32, ptr %116, align 4, !tbaa !5
  %1095 = sext i32 %1094 to i64
  %1096 = call noundef nonnull align 8 dereferenceable(64) ptr @_ZNSt6vectorIN4sptk15SymmetricMatrixESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %108, i64 noundef %1095) #8
  %1097 = load i32, ptr %115, align 4, !tbaa !5
  invoke void @_ZN4sptk15SymmetricMatrix6ResizeEi(ptr noundef nonnull align 8 dereferenceable(64) %1096, i32 noundef %1097)
          to label %1098 unwind label %1037

1098:                                             ; preds = %1093
  %1099 = load i8, ptr %10, align 1, !tbaa !11, !range !15, !noundef !16
  %1100 = trunc i8 %1099 to i1
  br i1 %1100, label %1101, label %1134

1101:                                             ; preds = %1098
  %1102 = load i32, ptr %116, align 4, !tbaa !5
  %1103 = sext i32 %1102 to i64
  %1104 = call noundef nonnull align 8 dereferenceable(64) ptr @_ZNSt6vectorIN4sptk15SymmetricMatrixESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %108, i64 noundef %1103) #8
  %1105 = load ptr, ptr %114, align 8, !tbaa !9
  %1106 = invoke noundef zeroext i1 @_ZN4sptk10ReadStreamEPNS_15SymmetricMatrixEPSi(ptr noundef %1104, ptr noundef %1105)
          to label %1107 unwind label %1037

1107:                                             ; preds = %1101
  br i1 %1106, label %1133, label %1108

1108:                                             ; preds = %1107
  call void @llvm.lifetime.start.p0(i64 376, ptr %123) #8
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %123)
          to label %1109 unwind label %1114

1109:                                             ; preds = %1108
  %1110 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %123, ptr noundef @.str.20)
          to label %1111 unwind label %1118

1111:                                             ; preds = %1109
  call void @llvm.lifetime.start.p0(i64 32, ptr %124) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %125) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %125) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %124, ptr noundef @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %125)
          to label %1112 unwind label %1122

1112:                                             ; preds = %1111
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %124, ptr noundef nonnull align 8 dereferenceable(112) %123)
          to label %1113 unwind label %1126

1113:                                             ; preds = %1112
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %124) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %125) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %125) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %124) #8
  store i32 1, ptr %3, align 4
  store i32 1, ptr %19, align 4
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %123) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr %123) #8
  br label %1182

1114:                                             ; preds = %1108
  %1115 = landingpad { ptr, i32 }
          cleanup
  %1116 = extractvalue { ptr, i32 } %1115, 0
  store ptr %1116, ptr %17, align 8
  %1117 = extractvalue { ptr, i32 } %1115, 1
  store i32 %1117, ptr %18, align 4
  br label %1132

1118:                                             ; preds = %1109
  %1119 = landingpad { ptr, i32 }
          cleanup
  %1120 = extractvalue { ptr, i32 } %1119, 0
  store ptr %1120, ptr %17, align 8
  %1121 = extractvalue { ptr, i32 } %1119, 1
  store i32 %1121, ptr %18, align 4
  br label %1131

1122:                                             ; preds = %1111
  %1123 = landingpad { ptr, i32 }
          cleanup
  %1124 = extractvalue { ptr, i32 } %1123, 0
  store ptr %1124, ptr %17, align 8
  %1125 = extractvalue { ptr, i32 } %1123, 1
  store i32 %1125, ptr %18, align 4
  br label %1130

1126:                                             ; preds = %1112
  %1127 = landingpad { ptr, i32 }
          cleanup
  %1128 = extractvalue { ptr, i32 } %1127, 0
  store ptr %1128, ptr %17, align 8
  %1129 = extractvalue { ptr, i32 } %1127, 1
  store i32 %1129, ptr %18, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %124) #8
  br label %1130

1130:                                             ; preds = %1126, %1122
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %125) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %125) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %124) #8
  br label %1131

1131:                                             ; preds = %1130, %1118
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %123) #8
  br label %1132

1132:                                             ; preds = %1131, %1114
  call void @llvm.lifetime.end.p0(i64 376, ptr %123) #8
  br label %1184

1133:                                             ; preds = %1107
  br label %1178

1134:                                             ; preds = %1098
  call void @llvm.lifetime.start.p0(i64 24, ptr %126) #8
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %126) #8
  %1135 = load i32, ptr %115, align 4, !tbaa !5
  %1136 = load ptr, ptr %114, align 8, !tbaa !9
  %1137 = invoke noundef zeroext i1 @_ZN4sptk10ReadStreamIdEEbbiiiPSt6vectorIT_SaIS2_EEPSiPi(i1 noundef zeroext false, i32 noundef 0, i32 noundef 0, i32 noundef %1135, ptr noundef %126, ptr noundef %1136, ptr noundef null)
          to label %1138 unwind label %1145

1138:                                             ; preds = %1134
  br i1 %1137, label %1168, label %1139

1139:                                             ; preds = %1138
  call void @llvm.lifetime.start.p0(i64 376, ptr %127) #8
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %127)
          to label %1140 unwind label %1149

1140:                                             ; preds = %1139
  %1141 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %127, ptr noundef @.str.21)
          to label %1142 unwind label %1153

1142:                                             ; preds = %1140
  call void @llvm.lifetime.start.p0(i64 32, ptr %128) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %129) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %129) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %128, ptr noundef @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %129)
          to label %1143 unwind label %1157

1143:                                             ; preds = %1142
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %128, ptr noundef nonnull align 8 dereferenceable(112) %127)
          to label %1144 unwind label %1161

1144:                                             ; preds = %1143
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %128) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %129) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %129) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %128) #8
  store i32 1, ptr %3, align 4
  store i32 1, ptr %19, align 4
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %127) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr %127) #8
  br label %1174

1145:                                             ; preds = %1168, %1134
  %1146 = landingpad { ptr, i32 }
          cleanup
  %1147 = extractvalue { ptr, i32 } %1146, 0
  store ptr %1147, ptr %17, align 8
  %1148 = extractvalue { ptr, i32 } %1146, 1
  store i32 %1148, ptr %18, align 4
  br label %1177

1149:                                             ; preds = %1139
  %1150 = landingpad { ptr, i32 }
          cleanup
  %1151 = extractvalue { ptr, i32 } %1150, 0
  store ptr %1151, ptr %17, align 8
  %1152 = extractvalue { ptr, i32 } %1150, 1
  store i32 %1152, ptr %18, align 4
  br label %1167

1153:                                             ; preds = %1140
  %1154 = landingpad { ptr, i32 }
          cleanup
  %1155 = extractvalue { ptr, i32 } %1154, 0
  store ptr %1155, ptr %17, align 8
  %1156 = extractvalue { ptr, i32 } %1154, 1
  store i32 %1156, ptr %18, align 4
  br label %1166

1157:                                             ; preds = %1142
  %1158 = landingpad { ptr, i32 }
          cleanup
  %1159 = extractvalue { ptr, i32 } %1158, 0
  store ptr %1159, ptr %17, align 8
  %1160 = extractvalue { ptr, i32 } %1158, 1
  store i32 %1160, ptr %18, align 4
  br label %1165

1161:                                             ; preds = %1143
  %1162 = landingpad { ptr, i32 }
          cleanup
  %1163 = extractvalue { ptr, i32 } %1162, 0
  store ptr %1163, ptr %17, align 8
  %1164 = extractvalue { ptr, i32 } %1162, 1
  store i32 %1164, ptr %18, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %128) #8
  br label %1165

1165:                                             ; preds = %1161, %1157
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %129) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %129) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %128) #8
  br label %1166

1166:                                             ; preds = %1165, %1153
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %127) #8
  br label %1167

1167:                                             ; preds = %1166, %1149
  call void @llvm.lifetime.end.p0(i64 376, ptr %127) #8
  br label %1177

1168:                                             ; preds = %1138
  %1169 = load i32, ptr %116, align 4, !tbaa !5
  %1170 = sext i32 %1169 to i64
  %1171 = call noundef nonnull align 8 dereferenceable(64) ptr @_ZNSt6vectorIN4sptk15SymmetricMatrixESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %108, i64 noundef %1170) #8
  %1172 = invoke noundef zeroext i1 @_ZNK4sptk15SymmetricMatrix11SetDiagonalERKSt6vectorIdSaIdEE(ptr noundef nonnull align 8 dereferenceable(64) %1171, ptr noundef nonnull align 8 dereferenceable(24) %126)
          to label %1173 unwind label %1145

1173:                                             ; preds = %1168
  store i32 0, ptr %19, align 4
  br label %1174

1174:                                             ; preds = %1173, %1144
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %126) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %126) #8
  %1175 = load i32, ptr %19, align 4
  switch i32 %1175, label %1182 [
    i32 0, label %1176
  ]

1176:                                             ; preds = %1174
  br label %1178

1177:                                             ; preds = %1167, %1145
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %126) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %126) #8
  br label %1184

1178:                                             ; preds = %1176, %1133
  br label %1179

1179:                                             ; preds = %1178
  %1180 = load i32, ptr %116, align 4, !tbaa !5
  %1181 = add nsw i32 %1180, 1
  store i32 %1181, ptr %116, align 4, !tbaa !5
  br label %1019, !llvm.loop !23

1182:                                             ; preds = %1174, %1113, %1073, %1036, %1023
  call void @llvm.lifetime.end.p0(i64 4, ptr %116) #8
  %1183 = load i32, ptr %19, align 4
  switch i32 %1183, label %1186 [
    i32 9, label %1185
  ]

1184:                                             ; preds = %1177, %1132, %1092, %1059, %1037
  call void @llvm.lifetime.end.p0(i64 4, ptr %116) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %115) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %114) #8
  br label %1213

1185:                                             ; preds = %1182
  store i32 0, ptr %19, align 4
  br label %1186

1186:                                             ; preds = %1185, %1182
  call void @llvm.lifetime.end.p0(i64 4, ptr %115) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %114) #8
  br label %1187

1187:                                             ; preds = %1186, %970
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %110) #8
  call void @llvm.lifetime.end.p0(i64 520, ptr %110) #8
  %1188 = load i32, ptr %19, align 4
  switch i32 %1188, label %1412 [
    i32 0, label %1189
  ]

1189:                                             ; preds = %1187
  call void @llvm.lifetime.start.p0(i64 24, ptr %130) #8
  call void @_ZNSt6vectorIS_IdSaIdEESaIS1_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %130) #8
  call void @llvm.lifetime.start.p0(i64 520, ptr %131) #8
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(256) %131)
          to label %1190 unwind label %1215

1190:                                             ; preds = %1189
  %1191 = load ptr, ptr %96, align 8, !tbaa !9
  %1192 = icmp ne ptr null, %1191
  br i1 %1192, label %1193, label %1243

1193:                                             ; preds = %1190
  %1194 = load ptr, ptr %96, align 8, !tbaa !9
  %1195 = invoke noundef i32 @_ZStorSt13_Ios_OpenmodeS_(i32 noundef 8, i32 noundef 4)
          to label %1196 unwind label %1219

1196:                                             ; preds = %1193
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(256) %131, ptr noundef %1194, i32 noundef %1195)
          to label %1197 unwind label %1219

1197:                                             ; preds = %1196
  %1198 = load ptr, ptr %131, align 8, !tbaa !19
  %1199 = getelementptr i8, ptr %1198, i64 -24
  %1200 = load i64, ptr %1199, align 8
  %1201 = getelementptr inbounds i8, ptr %131, i64 %1200
  %1202 = invoke noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE4failEv(ptr noundef nonnull align 8 dereferenceable(264) %1201)
          to label %1203 unwind label %1219

1203:                                             ; preds = %1197
  br i1 %1202, label %1204, label %1242

1204:                                             ; preds = %1203
  call void @llvm.lifetime.start.p0(i64 376, ptr %132) #8
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %132)
          to label %1205 unwind label %1223

1205:                                             ; preds = %1204
  %1206 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %132, ptr noundef @.str.12)
          to label %1207 unwind label %1227

1207:                                             ; preds = %1205
  %1208 = load ptr, ptr %96, align 8, !tbaa !9
  %1209 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1206, ptr noundef %1208)
          to label %1210 unwind label %1227

1210:                                             ; preds = %1207
  call void @llvm.lifetime.start.p0(i64 32, ptr %133) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %134) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %134) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %133, ptr noundef @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %134)
          to label %1211 unwind label %1231

1211:                                             ; preds = %1210
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %133, ptr noundef nonnull align 8 dereferenceable(112) %132)
          to label %1212 unwind label %1235

1212:                                             ; preds = %1211
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %133) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %134) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %134) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %133) #8
  store i32 1, ptr %3, align 4
  store i32 1, ptr %19, align 4
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %132) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr %132) #8
  br label %1272

1213:                                             ; preds = %1184, %1009, %987
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %110) #8
  br label %1214

1214:                                             ; preds = %1213, %983
  call void @llvm.lifetime.end.p0(i64 520, ptr %110) #8
  br label %1413

1215:                                             ; preds = %1189
  %1216 = landingpad { ptr, i32 }
          cleanup
  %1217 = extractvalue { ptr, i32 } %1216, 0
  store ptr %1217, ptr %17, align 8
  %1218 = extractvalue { ptr, i32 } %1216, 1
  store i32 %1218, ptr %18, align 4
  br label %1291

1219:                                             ; preds = %1197, %1196, %1193
  %1220 = landingpad { ptr, i32 }
          cleanup
  %1221 = extractvalue { ptr, i32 } %1220, 0
  store ptr %1221, ptr %17, align 8
  %1222 = extractvalue { ptr, i32 } %1220, 1
  store i32 %1222, ptr %18, align 4
  br label %1290

1223:                                             ; preds = %1204
  %1224 = landingpad { ptr, i32 }
          cleanup
  %1225 = extractvalue { ptr, i32 } %1224, 0
  store ptr %1225, ptr %17, align 8
  %1226 = extractvalue { ptr, i32 } %1224, 1
  store i32 %1226, ptr %18, align 4
  br label %1241

1227:                                             ; preds = %1207, %1205
  %1228 = landingpad { ptr, i32 }
          cleanup
  %1229 = extractvalue { ptr, i32 } %1228, 0
  store ptr %1229, ptr %17, align 8
  %1230 = extractvalue { ptr, i32 } %1228, 1
  store i32 %1230, ptr %18, align 4
  br label %1240

1231:                                             ; preds = %1210
  %1232 = landingpad { ptr, i32 }
          cleanup
  %1233 = extractvalue { ptr, i32 } %1232, 0
  store ptr %1233, ptr %17, align 8
  %1234 = extractvalue { ptr, i32 } %1232, 1
  store i32 %1234, ptr %18, align 4
  br label %1239

1235:                                             ; preds = %1211
  %1236 = landingpad { ptr, i32 }
          cleanup
  %1237 = extractvalue { ptr, i32 } %1236, 0
  store ptr %1237, ptr %17, align 8
  %1238 = extractvalue { ptr, i32 } %1236, 1
  store i32 %1238, ptr %18, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %133) #8
  br label %1239

1239:                                             ; preds = %1235, %1231
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %134) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %134) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %133) #8
  br label %1240

1240:                                             ; preds = %1239, %1227
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %132) #8
  br label %1241

1241:                                             ; preds = %1240, %1223
  call void @llvm.lifetime.end.p0(i64 376, ptr %132) #8
  br label %1290

1242:                                             ; preds = %1203
  br label %1243

1243:                                             ; preds = %1242, %1190
  call void @llvm.lifetime.start.p0(i64 8, ptr %135) #8
  %1244 = invoke noundef zeroext i1 @_ZNSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv(ptr noundef nonnull align 8 dereferenceable(256) %131)
          to label %1245 unwind label %1263

1245:                                             ; preds = %1243
  br i1 %1244, label %1246, label %1247

1246:                                             ; preds = %1245
  br label %1248

1247:                                             ; preds = %1245
  br label %1248

1248:                                             ; preds = %1247, %1246
  %1249 = phi ptr [ %131, %1246 ], [ @_ZSt3cin, %1247 ]
  store ptr %1249, ptr %135, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %136) #8
  %1250 = call noundef i64 @_ZNKSt6vectorIS_IdSaIdEESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %11) #8
  %1251 = add i64 %1250, 1
  %1252 = trunc i64 %1251 to i32
  %1253 = load i32, ptr %6, align 4, !tbaa !5
  %1254 = add nsw i32 %1253, 1
  %1255 = mul nsw i32 %1252, %1254
  store i32 %1255, ptr %136, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr %137) #8
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %137) #8
  br label %1256

1256:                                             ; preds = %1262, %1248
  %1257 = load i32, ptr %136, align 4, !tbaa !5
  %1258 = load ptr, ptr %135, align 8, !tbaa !9
  %1259 = invoke noundef zeroext i1 @_ZN4sptk10ReadStreamIdEEbbiiiPSt6vectorIT_SaIS2_EEPSiPi(i1 noundef zeroext false, i32 noundef 0, i32 noundef 0, i32 noundef %1257, ptr noundef %137, ptr noundef %1258, ptr noundef null)
          to label %1260 unwind label %1267

1260:                                             ; preds = %1256
  br i1 %1259, label %1261, label %1271

1261:                                             ; preds = %1260
  invoke void @_ZNSt6vectorIS_IdSaIdEESaIS1_EE9push_backERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %130, ptr noundef nonnull align 8 dereferenceable(24) %137)
          to label %1262 unwind label %1267

1262:                                             ; preds = %1261
  br label %1256, !llvm.loop !24

1263:                                             ; preds = %1243
  %1264 = landingpad { ptr, i32 }
          cleanup
  %1265 = extractvalue { ptr, i32 } %1264, 0
  store ptr %1265, ptr %17, align 8
  %1266 = extractvalue { ptr, i32 } %1264, 1
  store i32 %1266, ptr %18, align 4
  br label %1289

1267:                                             ; preds = %1261, %1256
  %1268 = landingpad { ptr, i32 }
          cleanup
  %1269 = extractvalue { ptr, i32 } %1268, 0
  store ptr %1269, ptr %17, align 8
  %1270 = extractvalue { ptr, i32 } %1268, 1
  store i32 %1270, ptr %18, align 4
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %137) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %137) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %136) #8
  br label %1289

1271:                                             ; preds = %1260
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %137) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %137) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %136) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %135) #8
  store i32 0, ptr %19, align 4
  br label %1272

1272:                                             ; preds = %1271, %1212
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %131) #8
  call void @llvm.lifetime.end.p0(i64 520, ptr %131) #8
  %1273 = load i32, ptr %19, align 4
  switch i32 %1273, label %1410 [
    i32 0, label %1274
  ]

1274:                                             ; preds = %1272
  call void @llvm.lifetime.start.p0(i64 24, ptr %138) #8
  call void @_ZNSt6vectorIS_IdSaIdEESaIS1_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %138) #8
  call void @llvm.lifetime.start.p0(i64 264, ptr %139) #8
  %1275 = load i32, ptr %6, align 4, !tbaa !5
  %1276 = load i32, ptr %7, align 4, !tbaa !5
  %1277 = load i8, ptr %14, align 1, !tbaa !11, !range !15, !noundef !16
  %1278 = trunc i8 %1277 to i1
  %1279 = load double, ptr %13, align 8, !tbaa !13
  invoke void @_ZN4sptk35GaussianMixtureModelBasedConversionC1EiiRKSt6vectorIS1_IdSaIdEESaIS3_EERKS3_S7_RKS1_INS_15SymmetricMatrixESaISA_EEbd(ptr noundef nonnull align 8 dereferenceable(264) %139, i32 noundef %1275, i32 noundef %1276, ptr noundef nonnull align 8 dereferenceable(24) %11, ptr noundef nonnull align 8 dereferenceable(24) %104, ptr noundef nonnull align 8 dereferenceable(24) %106, ptr noundef nonnull align 8 dereferenceable(24) %108, i1 noundef zeroext %1278, double noundef %1279)
          to label %1280 unwind label %1292

1280:                                             ; preds = %1274
  %1281 = invoke noundef zeroext i1 @_ZNK4sptk35GaussianMixtureModelBasedConversion7IsValidEv(ptr noundef nonnull align 8 dereferenceable(264) %139)
          to label %1282 unwind label %1296

1282:                                             ; preds = %1280
  br i1 %1281, label %1319, label %1283

1283:                                             ; preds = %1282
  call void @llvm.lifetime.start.p0(i64 376, ptr %140) #8
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %140)
          to label %1284 unwind label %1300

1284:                                             ; preds = %1283
  %1285 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %140, ptr noundef @.str.22)
          to label %1286 unwind label %1304

1286:                                             ; preds = %1284
  call void @llvm.lifetime.start.p0(i64 32, ptr %141) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %142) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %142) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %141, ptr noundef @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %142)
          to label %1287 unwind label %1308

1287:                                             ; preds = %1286
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %141, ptr noundef nonnull align 8 dereferenceable(112) %140)
          to label %1288 unwind label %1312

1288:                                             ; preds = %1287
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %141) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %142) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %142) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %141) #8
  store i32 1, ptr %3, align 4
  store i32 1, ptr %19, align 4
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %140) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr %140) #8
  br label %1348

1289:                                             ; preds = %1267, %1263
  call void @llvm.lifetime.end.p0(i64 8, ptr %135) #8
  br label %1290

1290:                                             ; preds = %1289, %1241, %1219
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %131) #8
  br label %1291

1291:                                             ; preds = %1290, %1215
  call void @llvm.lifetime.end.p0(i64 520, ptr %131) #8
  br label %1411

1292:                                             ; preds = %1274
  %1293 = landingpad { ptr, i32 }
          cleanup
  %1294 = extractvalue { ptr, i32 } %1293, 0
  store ptr %1294, ptr %17, align 8
  %1295 = extractvalue { ptr, i32 } %1293, 1
  store i32 %1295, ptr %18, align 4
  br label %1359

1296:                                             ; preds = %1319, %1280
  %1297 = landingpad { ptr, i32 }
          cleanup
  %1298 = extractvalue { ptr, i32 } %1297, 0
  store ptr %1298, ptr %17, align 8
  %1299 = extractvalue { ptr, i32 } %1297, 1
  store i32 %1299, ptr %18, align 4
  br label %1358

1300:                                             ; preds = %1283
  %1301 = landingpad { ptr, i32 }
          cleanup
  %1302 = extractvalue { ptr, i32 } %1301, 0
  store ptr %1302, ptr %17, align 8
  %1303 = extractvalue { ptr, i32 } %1301, 1
  store i32 %1303, ptr %18, align 4
  br label %1318

1304:                                             ; preds = %1284
  %1305 = landingpad { ptr, i32 }
          cleanup
  %1306 = extractvalue { ptr, i32 } %1305, 0
  store ptr %1306, ptr %17, align 8
  %1307 = extractvalue { ptr, i32 } %1305, 1
  store i32 %1307, ptr %18, align 4
  br label %1317

1308:                                             ; preds = %1286
  %1309 = landingpad { ptr, i32 }
          cleanup
  %1310 = extractvalue { ptr, i32 } %1309, 0
  store ptr %1310, ptr %17, align 8
  %1311 = extractvalue { ptr, i32 } %1309, 1
  store i32 %1311, ptr %18, align 4
  br label %1316

1312:                                             ; preds = %1287
  %1313 = landingpad { ptr, i32 }
          cleanup
  %1314 = extractvalue { ptr, i32 } %1313, 0
  store ptr %1314, ptr %17, align 8
  %1315 = extractvalue { ptr, i32 } %1313, 1
  store i32 %1315, ptr %18, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %141) #8
  br label %1316

1316:                                             ; preds = %1312, %1308
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %142) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %142) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %141) #8
  br label %1317

1317:                                             ; preds = %1316, %1304
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %140) #8
  br label %1318

1318:                                             ; preds = %1317, %1300
  call void @llvm.lifetime.end.p0(i64 376, ptr %140) #8
  br label %1358

1319:                                             ; preds = %1282
  %1320 = invoke noundef zeroext i1 @_ZNK4sptk35GaussianMixtureModelBasedConversion3RunERKSt6vectorIS1_IdSaIdEESaIS3_EEPS5_(ptr noundef nonnull align 8 dereferenceable(264) %139, ptr noundef nonnull align 8 dereferenceable(24) %130, ptr noundef %138)
          to label %1321 unwind label %1296

1321:                                             ; preds = %1319
  br i1 %1320, label %1347, label %1322

1322:                                             ; preds = %1321
  call void @llvm.lifetime.start.p0(i64 376, ptr %143) #8
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %143)
          to label %1323 unwind label %1328

1323:                                             ; preds = %1322
  %1324 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %143, ptr noundef @.str.23)
          to label %1325 unwind label %1332

1325:                                             ; preds = %1323
  call void @llvm.lifetime.start.p0(i64 32, ptr %144) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %145) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %145) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %144, ptr noundef @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %145)
          to label %1326 unwind label %1336

1326:                                             ; preds = %1325
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %144, ptr noundef nonnull align 8 dereferenceable(112) %143)
          to label %1327 unwind label %1340

1327:                                             ; preds = %1326
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %144) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %145) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %145) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %144) #8
  store i32 1, ptr %3, align 4
  store i32 1, ptr %19, align 4
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %143) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr %143) #8
  br label %1348

1328:                                             ; preds = %1322
  %1329 = landingpad { ptr, i32 }
          cleanup
  %1330 = extractvalue { ptr, i32 } %1329, 0
  store ptr %1330, ptr %17, align 8
  %1331 = extractvalue { ptr, i32 } %1329, 1
  store i32 %1331, ptr %18, align 4
  br label %1346

1332:                                             ; preds = %1323
  %1333 = landingpad { ptr, i32 }
          cleanup
  %1334 = extractvalue { ptr, i32 } %1333, 0
  store ptr %1334, ptr %17, align 8
  %1335 = extractvalue { ptr, i32 } %1333, 1
  store i32 %1335, ptr %18, align 4
  br label %1345

1336:                                             ; preds = %1325
  %1337 = landingpad { ptr, i32 }
          cleanup
  %1338 = extractvalue { ptr, i32 } %1337, 0
  store ptr %1338, ptr %17, align 8
  %1339 = extractvalue { ptr, i32 } %1337, 1
  store i32 %1339, ptr %18, align 4
  br label %1344

1340:                                             ; preds = %1326
  %1341 = landingpad { ptr, i32 }
          cleanup
  %1342 = extractvalue { ptr, i32 } %1341, 0
  store ptr %1342, ptr %17, align 8
  %1343 = extractvalue { ptr, i32 } %1341, 1
  store i32 %1343, ptr %18, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %144) #8
  br label %1344

1344:                                             ; preds = %1340, %1336
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %145) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %145) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %144) #8
  br label %1345

1345:                                             ; preds = %1344, %1332
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %143) #8
  br label %1346

1346:                                             ; preds = %1345, %1328
  call void @llvm.lifetime.end.p0(i64 376, ptr %143) #8
  br label %1358

1347:                                             ; preds = %1321
  store i32 0, ptr %19, align 4
  br label %1348

1348:                                             ; preds = %1347, %1327, %1288
  call void @_ZN4sptk35GaussianMixtureModelBasedConversionD2Ev(ptr noundef nonnull align 8 dereferenceable(264) %139) #8
  call void @llvm.lifetime.end.p0(i64 264, ptr %139) #8
  %1349 = load i32, ptr %19, align 4
  switch i32 %1349, label %1408 [
    i32 0, label %1350
  ]

1350:                                             ; preds = %1348
  call void @llvm.lifetime.start.p0(i64 4, ptr %146) #8
  %1351 = call noundef i64 @_ZNKSt6vectorIS_IdSaIdEESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %138) #8
  %1352 = trunc i64 %1351 to i32
  store i32 %1352, ptr %146, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %147) #8
  store i32 0, ptr %147, align 4, !tbaa !5
  br label %1353

1353:                                             ; preds = %1398, %1350
  %1354 = load i32, ptr %147, align 4, !tbaa !5
  %1355 = load i32, ptr %146, align 4, !tbaa !5
  %1356 = icmp slt i32 %1354, %1355
  br i1 %1356, label %1360, label %1357

1357:                                             ; preds = %1353
  store i32 14, ptr %19, align 4
  br label %1401

1358:                                             ; preds = %1346, %1318, %1296
  call void @_ZN4sptk35GaussianMixtureModelBasedConversionD2Ev(ptr noundef nonnull align 8 dereferenceable(264) %139) #8
  br label %1359

1359:                                             ; preds = %1358, %1292
  call void @llvm.lifetime.end.p0(i64 264, ptr %139) #8
  br label %1409

1360:                                             ; preds = %1353
  %1361 = load i32, ptr %7, align 4, !tbaa !5
  %1362 = add nsw i32 %1361, 1
  %1363 = load i32, ptr %147, align 4, !tbaa !5
  %1364 = sext i32 %1363 to i64
  %1365 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IdSaIdEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %138, i64 noundef %1364) #8
  %1366 = invoke noundef zeroext i1 @_ZN4sptk11WriteStreamIdEEbiiRKSt6vectorIT_SaIS2_EEPSoPi(i32 noundef 0, i32 noundef %1362, ptr noundef nonnull align 8 dereferenceable(24) %1365, ptr noundef @_ZSt4cout, ptr noundef null)
          to label %1367 unwind label %1374

1367:                                             ; preds = %1360
  br i1 %1366, label %1397, label %1368

1368:                                             ; preds = %1367
  call void @llvm.lifetime.start.p0(i64 376, ptr %148) #8
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %148)
          to label %1369 unwind label %1378

1369:                                             ; preds = %1368
  %1370 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %148, ptr noundef @.str.24)
          to label %1371 unwind label %1382

1371:                                             ; preds = %1369
  call void @llvm.lifetime.start.p0(i64 32, ptr %149) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %150) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %150) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %149, ptr noundef @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %150)
          to label %1372 unwind label %1386

1372:                                             ; preds = %1371
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %149, ptr noundef nonnull align 8 dereferenceable(112) %148)
          to label %1373 unwind label %1390

1373:                                             ; preds = %1372
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %149) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %150) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %150) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %149) #8
  store i32 1, ptr %3, align 4
  store i32 1, ptr %19, align 4
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %148) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr %148) #8
  br label %1401

1374:                                             ; preds = %1360
  %1375 = landingpad { ptr, i32 }
          cleanup
  %1376 = extractvalue { ptr, i32 } %1375, 0
  store ptr %1376, ptr %17, align 8
  %1377 = extractvalue { ptr, i32 } %1375, 1
  store i32 %1377, ptr %18, align 4
  br label %1403

1378:                                             ; preds = %1368
  %1379 = landingpad { ptr, i32 }
          cleanup
  %1380 = extractvalue { ptr, i32 } %1379, 0
  store ptr %1380, ptr %17, align 8
  %1381 = extractvalue { ptr, i32 } %1379, 1
  store i32 %1381, ptr %18, align 4
  br label %1396

1382:                                             ; preds = %1369
  %1383 = landingpad { ptr, i32 }
          cleanup
  %1384 = extractvalue { ptr, i32 } %1383, 0
  store ptr %1384, ptr %17, align 8
  %1385 = extractvalue { ptr, i32 } %1383, 1
  store i32 %1385, ptr %18, align 4
  br label %1395

1386:                                             ; preds = %1371
  %1387 = landingpad { ptr, i32 }
          cleanup
  %1388 = extractvalue { ptr, i32 } %1387, 0
  store ptr %1388, ptr %17, align 8
  %1389 = extractvalue { ptr, i32 } %1387, 1
  store i32 %1389, ptr %18, align 4
  br label %1394

1390:                                             ; preds = %1372
  %1391 = landingpad { ptr, i32 }
          cleanup
  %1392 = extractvalue { ptr, i32 } %1391, 0
  store ptr %1392, ptr %17, align 8
  %1393 = extractvalue { ptr, i32 } %1391, 1
  store i32 %1393, ptr %18, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %149) #8
  br label %1394

1394:                                             ; preds = %1390, %1386
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %150) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %150) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %149) #8
  br label %1395

1395:                                             ; preds = %1394, %1382
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %148) #8
  br label %1396

1396:                                             ; preds = %1395, %1378
  call void @llvm.lifetime.end.p0(i64 376, ptr %148) #8
  br label %1403

1397:                                             ; preds = %1367
  br label %1398

1398:                                             ; preds = %1397
  %1399 = load i32, ptr %147, align 4, !tbaa !5
  %1400 = add nsw i32 %1399, 1
  store i32 %1400, ptr %147, align 4, !tbaa !5
  br label %1353, !llvm.loop !25

1401:                                             ; preds = %1373, %1357
  call void @llvm.lifetime.end.p0(i64 4, ptr %147) #8
  %1402 = load i32, ptr %19, align 4
  switch i32 %1402, label %1405 [
    i32 14, label %1404
  ]

1403:                                             ; preds = %1396, %1374
  call void @llvm.lifetime.end.p0(i64 4, ptr %147) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %146) #8
  br label %1409

1404:                                             ; preds = %1401
  store i32 0, ptr %19, align 4
  br label %1405

1405:                                             ; preds = %1404, %1401
  call void @llvm.lifetime.end.p0(i64 4, ptr %146) #8
  %1406 = load i32, ptr %19, align 4
  switch i32 %1406, label %1408 [
    i32 0, label %1407
  ]

1407:                                             ; preds = %1405
  store i32 0, ptr %3, align 4
  store i32 1, ptr %19, align 4
  br label %1408

1408:                                             ; preds = %1407, %1405, %1348
  call void @_ZNSt6vectorIS_IdSaIdEESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %138) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %138) #8
  br label %1410

1409:                                             ; preds = %1403, %1359
  call void @_ZNSt6vectorIS_IdSaIdEESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %138) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %138) #8
  br label %1411

1410:                                             ; preds = %1408, %1272
  call void @_ZNSt6vectorIS_IdSaIdEESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %130) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %130) #8
  br label %1412

1411:                                             ; preds = %1409, %1291
  call void @_ZNSt6vectorIS_IdSaIdEESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %130) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %130) #8
  br label %1413

1412:                                             ; preds = %1410, %1187
  call void @_ZNSt6vectorIN4sptk15SymmetricMatrixESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %108) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %108) #8
  call void @_ZNSt6vectorIS_IdSaIdEESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %106) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %106) #8
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %104) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %104) #8
  br label %1417

1413:                                             ; preds = %1411, %1214
  call void @_ZNSt6vectorIN4sptk15SymmetricMatrixESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %108) #8
  br label %1414

1414:                                             ; preds = %1413, %979
  call void @llvm.lifetime.end.p0(i64 24, ptr %108) #8
  call void @_ZNSt6vectorIS_IdSaIdEESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %106) #8
  br label %1415

1415:                                             ; preds = %1414, %975
  call void @llvm.lifetime.end.p0(i64 24, ptr %106) #8
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %104) #8
  br label %1416

1416:                                             ; preds = %1415, %971
  call void @llvm.lifetime.end.p0(i64 24, ptr %104) #8
  br label %1418

1417:                                             ; preds = %1412, %917, %888
  call void @llvm.lifetime.end.p0(i64 4, ptr %97) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %96) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %95) #8
  br label %1419

1418:                                             ; preds = %1416, %940, %918, %907
  call void @llvm.lifetime.end.p0(i64 4, ptr %97) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %96) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %95) #8
  br label %1421

1419:                                             ; preds = %1417, %845
  call void @llvm.lifetime.end.p0(i64 64, ptr %15) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %14) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %12) #8
  call void @_ZNSt6vectorIS_IdSaIdEESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %11) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %10) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %8) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #8
  %1420 = load i32, ptr %3, align 4
  ret i32 %1420

1421:                                             ; preds = %1418, %848
  call void @llvm.lifetime.end.p0(i64 64, ptr %15) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %14) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %12) #8
  call void @_ZNSt6vectorIS_IdSaIdEESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %11) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %10) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %8) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #8
  br label %1422

1422:                                             ; preds = %1421
  %1423 = load ptr, ptr %17, align 8
  %1424 = load i32, ptr %18, align 4
  %1425 = insertvalue { ptr, i32 } poison, ptr %1423, 0
  %1426 = insertvalue { ptr, i32 } %1425, i32 %1424, 1
  resume { ptr, i32 } %1426
}

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

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

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #3

declare i32 @ya_getopt_long_only(i32 noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef) #4

declare i32 @__gxx_personality_v0(...)

declare noundef zeroext i1 @_ZN4sptk22ConvertStringToIntegerERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPi(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) #4

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

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

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

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

; Function Attrs: mustprogress uwtable
declare void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112)) unnamed_addr #5 align 2

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

declare void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(112)) #4

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

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

declare noundef zeroext i1 @_ZN4sptk21ConvertStringToDoubleERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPd(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) #4

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

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

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

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZStorSt13_Ios_OpenmodeS_(i32 noundef, i32 noundef) #7

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

declare noundef zeroext i1 @_ZN4sptk10ReadStreamIdEEbPT_PSi(ptr noundef, ptr noundef) #4

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

declare noundef zeroext i1 @_ZN4sptk39ComputeFirstOrderRegressionCoefficientsEiPSt6vectorIdSaIdEE(i32 noundef, ptr noundef) #4

declare noundef zeroext i1 @_ZN4sptk40ComputeSecondOrderRegressionCoefficientsEiPSt6vectorIdSaIdEE(i32 noundef, ptr noundef) #4

; Function Attrs: mustprogress uwtable
declare hidden void @_ZN12_GLOBAL__N_110PrintUsageEPSo(ptr noundef) #5

declare noundef zeroext i1 @_ZN4sptk13SetBinaryModeEv() #4

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

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

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

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

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

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

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

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

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

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

declare noundef zeroext i1 @_ZN4sptk10ReadStreamIdEEbbiiiPSt6vectorIT_SaIS2_EEPSiPi(i1 noundef zeroext, i32 noundef, i32 noundef, i32 noundef, ptr noundef, ptr noundef, ptr noundef) #4

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

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

declare void @_ZN4sptk15SymmetricMatrix6ResizeEi(ptr noundef nonnull align 8 dereferenceable(64), i32 noundef) #4

declare noundef zeroext i1 @_ZN4sptk10ReadStreamEPNS_15SymmetricMatrixEPSi(ptr noundef, ptr noundef) #4

declare noundef zeroext i1 @_ZNK4sptk15SymmetricMatrix11SetDiagonalERKSt6vectorIdSaIdEE(ptr noundef nonnull align 8 dereferenceable(64), ptr noundef nonnull align 8 dereferenceable(24)) #4

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

declare void @_ZN4sptk35GaussianMixtureModelBasedConversionC1EiiRKSt6vectorIS1_IdSaIdEESaIS3_EERKS3_S7_RKS1_INS_15SymmetricMatrixESaISA_EEbd(ptr noundef nonnull align 8 dereferenceable(264), i32 noundef, i32 noundef, ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), i1 noundef zeroext, double noundef) unnamed_addr #4

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

declare noundef zeroext i1 @_ZNK4sptk35GaussianMixtureModelBasedConversion3RunERKSt6vectorIS1_IdSaIdEESaIS3_EEPS5_(ptr noundef nonnull align 8 dereferenceable(264), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef) #4

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

declare noundef zeroext i1 @_ZN4sptk11WriteStreamIdEEbiiRKSt6vectorIT_SaIS2_EEPSoPi(i32 noundef, i32 noundef, ptr noundef nonnull align 8 dereferenceable(24), ptr noundef, ptr noundef) #4

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

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

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

attributes #0 = { mustprogress norecurse uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #4 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { 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 #7 = { inlinehint mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #8 = { 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 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"any pointer", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"bool", !7, i64 0}
!13 = !{!14, !14, i64 0}
!14 = !{!"double", !7, i64 0}
!15 = !{i8 0, i8 2}
!16 = !{}
!17 = distinct !{!17, !18}
!18 = !{!"llvm.loop.mustprogress"}
!19 = !{!20, !20, i64 0}
!20 = !{!"vtable pointer", !8, i64 0}
!21 = distinct !{!21, !18}
!22 = distinct !{!22, !18}
!23 = distinct !{!23, !18}
!24 = distinct !{!24, !18}
!25 = distinct !{!25, !18}


; 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"

%struct.option = type { ptr, i32, ptr, i32 }
%"class.std::basic_ostream" = type { ptr, %"class.std::basic_ios" }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"class.std::locale" = type { ptr }
%"class.std::basic_istream" = type { ptr, i64, %"class.std::basic_ios" }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<std::vector<double>, std::allocator<std::vector<double>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::vector<double>, std::allocator<std::vector<double>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::vector<double>, std::allocator<std::vector<double>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::vector<double>, std::allocator<std::vector<double>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::allocator.0" = type { i8 }
%"class.std::__cxx11::basic_ostringstream" = type { %"class.std::basic_ostream.base", %"class.std::__cxx11::basic_stringbuf", %"class.std::basic_ios" }
%"class.std::basic_ostream.base" = type { ptr }
%"class.std::__cxx11::basic_stringbuf" = type { %"class.std::basic_streambuf", i32, %"class.std::__cxx11::basic_string" }
%"class.std::basic_streambuf" = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, %"class.std::locale" }
%"class.std::vector.3" = type { %"struct.std::_Vector_base.4" }
%"struct.std::_Vector_base.4" = 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 }
%"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 }
%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.8 }
%union.anon.8 = type { i32 }
%"class.std::allocator.5" = type { i8 }
%"class.std::allocator" = type { i8 }
%"class.std::vector.9" = type { %"struct.std::_Vector_base.10" }
%"struct.std::_Vector_base.10" = type { %"struct.std::_Vector_base<sptk::SymmetricMatrix, std::allocator<sptk::SymmetricMatrix>>::_Vector_impl" }
%"struct.std::_Vector_base<sptk::SymmetricMatrix, std::allocator<sptk::SymmetricMatrix>>::_Vector_impl" = type { %"struct.std::_Vector_base<sptk::SymmetricMatrix, std::allocator<sptk::SymmetricMatrix>>::_Vector_impl_data" }
%"struct.std::_Vector_base<sptk::SymmetricMatrix, std::allocator<sptk::SymmetricMatrix>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::allocator.11" = type { i8 }
%"class.sptk::GaussianMixtureModelBasedConversion" = type { ptr, i32, i32, i32, i32, %"class.std::vector.3", i8, double, i32, %"class.sptk::NonrecursiveMaximumLikelihoodParameterGeneration", i8, %"class.std::vector", %"class.std::vector.9", %"class.std::vector.19", %"class.std::vector", %"class.std::vector.9" }
%"class.sptk::NonrecursiveMaximumLikelihoodParameterGeneration" = type { ptr, i32, %"class.std::vector", i8, double, i8, i32 }
%"class.std::vector.19" = type { %"struct.std::_Vector_base.20" }
%"struct.std::_Vector_base.20" = type { %"struct.std::_Vector_base<sptk::Matrix, std::allocator<sptk::Matrix>>::_Vector_impl" }
%"struct.std::_Vector_base<sptk::Matrix, std::allocator<sptk::Matrix>>::_Vector_impl" = type { %"struct.std::_Vector_base<sptk::Matrix, std::allocator<sptk::Matrix>>::_Vector_impl_data" }
%"struct.std::_Vector_base<sptk::Matrix, std::allocator<sptk::Matrix>>::_Vector_impl_data" = type { ptr, ptr, ptr }

@__const.main.long_options = external hidden unnamed_addr constant [2 x %struct.option], align 16
@.str.1 = external hidden unnamed_addr constant [19 x i8], align 1
@ya_optarg = external local_unnamed_addr global ptr, align 8
@.str.2 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [47 x i8], align 1
@ya_optind = external local_unnamed_addr global i32, align 4
@.str.11 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [52 x i8], align 1
@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@_ZSt4cerr = external global %"class.std::basic_ostream", align 8
@.str.16 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [42 x i8], align 1
@_ZSt3cin = external global %"class.std::basic_istream", align 8
@.str.22 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [31 x i8], align 1

; Function Attrs: mustprogress norecurse uwtable
define dso_local noundef range(i32 0, 2) i32 @main(i32 noundef %0, ptr noundef %1) local_unnamed_addr #0 personality ptr @__gxx_personality_v0 {
  %3 = alloca i32, align 4
  %4 = alloca i32, align 4
  %5 = alloca i32, align 4
  %6 = alloca %"class.std::vector", align 8
  %7 = alloca double, align 8
  %8 = alloca [2 x %struct.option], align 16
  %9 = alloca %"class.std::__cxx11::basic_string", align 8
  %10 = alloca %"class.std::allocator.0", align 1
  %11 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %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 %"class.std::allocator.0", align 1
  %16 = alloca %"class.std::__cxx11::basic_ostringstream", 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_ostringstream", align 8
  %22 = alloca %"class.std::__cxx11::basic_string", align 8
  %23 = alloca %"class.std::allocator.0", align 1
  %24 = alloca %"class.std::__cxx11::basic_string", align 8
  %25 = alloca %"class.std::allocator.0", align 1
  %26 = alloca %"class.std::__cxx11::basic_ostringstream", 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_ostringstream", align 8
  %32 = alloca %"class.std::__cxx11::basic_string", align 8
  %33 = alloca %"class.std::allocator.0", align 1
  %34 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %35 = alloca %"class.std::__cxx11::basic_string", align 8
  %36 = alloca %"class.std::allocator.0", align 1
  %37 = alloca %"class.std::vector.3", align 8
  %38 = alloca double, align 8
  %39 = alloca %"class.std::__cxx11::basic_string", align 8
  %40 = alloca %"class.std::allocator.0", align 1
  %41 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %42 = alloca %"class.std::__cxx11::basic_string", align 8
  %43 = alloca %"class.std::allocator.0", align 1
  %44 = alloca %"class.std::__cxx11::basic_string", align 8
  %45 = alloca %"class.std::allocator.0", align 1
  %46 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %47 = alloca %"class.std::__cxx11::basic_string", align 8
  %48 = alloca %"class.std::allocator.0", align 1
  %49 = alloca %"class.std::basic_ifstream", align 8
  %50 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %51 = alloca %"class.std::__cxx11::basic_string", align 8
  %52 = alloca %"class.std::allocator.0", align 1
  %53 = alloca %"class.std::vector.3", align 8
  %54 = alloca double, align 8
  %55 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %56 = alloca %"class.std::__cxx11::basic_string", align 8
  %57 = alloca %"class.std::allocator.0", align 1
  %58 = alloca i32, align 4
  %59 = alloca %"class.std::vector.3", align 8
  %60 = alloca %"class.std::__cxx11::basic_string", align 8
  %61 = alloca %"class.std::allocator.0", align 1
  %62 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %63 = alloca %"class.std::__cxx11::basic_string", align 8
  %64 = alloca %"class.std::allocator.0", align 1
  %65 = alloca %"class.std::__cxx11::basic_string", align 8
  %66 = alloca %"class.std::allocator.0", align 1
  %67 = alloca %"class.std::vector.3", align 8
  %68 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %69 = alloca %"class.std::__cxx11::basic_string", align 8
  %70 = alloca %"class.std::allocator.0", align 1
  %71 = alloca %"class.std::__cxx11::basic_string", align 8
  %72 = alloca %"class.std::allocator.0", align 1
  %73 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %74 = alloca %"class.std::__cxx11::basic_string", align 8
  %75 = alloca %"class.std::allocator.0", align 1
  %76 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %77 = alloca %"class.std::__cxx11::basic_string", align 8
  %78 = alloca %"class.std::allocator.0", align 1
  %79 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %80 = alloca %"class.std::__cxx11::basic_string", align 8
  %81 = alloca %"class.std::allocator.0", align 1
  %82 = alloca %"class.std::vector.3", align 8
  %83 = alloca %"class.std::allocator.5", align 1
  %84 = alloca %"class.std::vector", align 8
  %85 = alloca %"class.std::allocator", align 1
  %86 = alloca %"class.std::vector.9", align 8
  %87 = alloca %"class.std::allocator.11", align 1
  %88 = alloca %"class.std::basic_ifstream", align 8
  %89 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %90 = alloca %"class.std::__cxx11::basic_string", align 8
  %91 = alloca %"class.std::allocator.0", align 1
  %92 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %93 = alloca %"class.std::__cxx11::basic_string", align 8
  %94 = alloca %"class.std::allocator.0", align 1
  %95 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %96 = alloca %"class.std::__cxx11::basic_string", align 8
  %97 = alloca %"class.std::allocator.0", align 1
  %98 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %99 = alloca %"class.std::__cxx11::basic_string", align 8
  %100 = alloca %"class.std::allocator.0", align 1
  %101 = alloca %"class.std::vector.3", align 8
  %102 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %103 = alloca %"class.std::__cxx11::basic_string", align 8
  %104 = alloca %"class.std::allocator.0", align 1
  %105 = alloca %"class.std::vector", align 8
  %106 = alloca %"class.std::basic_ifstream", align 8
  %107 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %108 = alloca %"class.std::__cxx11::basic_string", align 8
  %109 = alloca %"class.std::allocator.0", align 1
  %110 = alloca %"class.std::vector.3", align 8
  %111 = alloca %"class.std::vector", align 8
  %112 = alloca %"class.sptk::GaussianMixtureModelBasedConversion", align 8
  %113 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %114 = alloca %"class.std::__cxx11::basic_string", align 8
  %115 = alloca %"class.std::allocator.0", align 1
  %116 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %117 = alloca %"class.std::__cxx11::basic_string", align 8
  %118 = alloca %"class.std::allocator.0", align 1
  %119 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %120 = alloca %"class.std::__cxx11::basic_string", align 8
  %121 = alloca %"class.std::allocator.0", align 1
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #8
  store i32 25, ptr %3, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %4) #8
  store i32 25, ptr %4, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %5) #8
  store i32 16, ptr %5, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %6) #8
  call void @_ZNSt6vectorIS_IdSaIdEESaIS1_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %7) #8
  store double 0.000000e+00, ptr %7, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %8) #8
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(64) %8, ptr noundef nonnull align 16 dereferenceable(64) @__const.main.long_options, i64 64, i1 false)
  br label %122

122:                                              ; preds = %.backedge, %2
  %.0103 = phi i1 [ false, %2 ], [ %.0103.be, %.backedge ]
  %.099 = phi i8 [ 0, %2 ], [ %.099.be, %.backedge ]
  %.095 = phi i1 [ false, %2 ], [ %.095.be, %.backedge ]
  %.092 = phi i1 [ false, %2 ], [ %.092.be, %.backedge ]
  %123 = invoke i32 @ya_getopt_long_only(i32 noundef %0, ptr noundef %1, ptr noundef nonnull @.str.1, ptr noundef nonnull %8, ptr noundef null)
          to label %124 unwind label %.loopexit474

124:                                              ; preds = %122
  switch i32 %123, label %534 [
    i32 -1, label %535
    i32 108, label %125
    i32 109, label %157
    i32 76, label %188
    i32 77, label %220
    i32 107, label %251
    i32 102, label %.backedge
    i32 100, label %280
    i32 68, label %346
    i32 114, label %409
    i32 1000, label %506
    i32 104, label %533
  ]

.loopexit474:                                     ; preds = %122
  %lpad.loopexit476 = landingpad { ptr, i32 }
          cleanup
  br label %881

.loopexit.split-lp475:                            ; preds = %533, %534
  %lpad.loopexit.split-lp477 = landingpad { ptr, i32 }
          cleanup
  br label %881

125:                                              ; preds = %124
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %9) #8
  %126 = load ptr, ptr @ya_optarg, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %10) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef %126, ptr noundef nonnull align 1 dereferenceable(1) %10)
          to label %127 unwind label %138

127:                                              ; preds = %125
  %128 = invoke noundef zeroext i1 @_ZN4sptk22ConvertStringToIntegerERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPi(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull %3)
          to label %129 unwind label %140

129:                                              ; preds = %127
  %130 = load i32, ptr %3, align 4
  %131 = icmp sgt i32 %130, 0
  %.not336 = select i1 %128, i1 %131, i1 false
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %10) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %9) #8
  br i1 %.not336, label %154, label %132

132:                                              ; preds = %129
  call void @llvm.lifetime.start.p0(i64 376, ptr nonnull %11) #8
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %11)
          to label %133 unwind label %143

133:                                              ; preds = %132
  %134 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %11, ptr noundef nonnull @.str.2)
          to label %135 unwind label %145

135:                                              ; preds = %133
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %12) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %13) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %13) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %12, ptr noundef nonnull @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %13)
          to label %136 unwind label %147

136:                                              ; preds = %135
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %12, ptr noundef nonnull align 8 dereferenceable(112) %11)
          to label %137 unwind label %149

137:                                              ; preds = %136
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %13) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %13) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %12) #8
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %11) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %11) #8
  br label %.thread435

138:                                              ; preds = %125
  %139 = landingpad { ptr, i32 }
          cleanup
  br label %142

140:                                              ; preds = %127
  %141 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #8
  br label %142

142:                                              ; preds = %140, %138
  %.pn334 = phi { ptr, i32 } [ %141, %140 ], [ %139, %138 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %10) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %9) #8
  br label %881

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

145:                                              ; preds = %133
  %146 = landingpad { ptr, i32 }
          cleanup
  br label %152

147:                                              ; preds = %135
  %148 = landingpad { ptr, i32 }
          cleanup
  br label %151

149:                                              ; preds = %136
  %150 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #8
  br label %151

151:                                              ; preds = %149, %147
  %.pn337 = phi { ptr, i32 } [ %150, %149 ], [ %148, %147 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %13) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %13) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %12) #8
  br label %152

152:                                              ; preds = %151, %145
  %.pn337.pn = phi { ptr, i32 } [ %.pn337, %151 ], [ %146, %145 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %11) #8
  br label %153

153:                                              ; preds = %152, %143
  %.pn337.pn.pn = phi { ptr, i32 } [ %.pn337.pn, %152 ], [ %144, %143 ]
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %11) #8
  br label %881

154:                                              ; preds = %129
  %155 = load i32, ptr %3, align 4, !tbaa !5
  %156 = add nsw i32 %155, -1
  store i32 %156, ptr %3, align 4, !tbaa !5
  br label %.backedge

157:                                              ; preds = %124
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %14) #8
  %158 = load ptr, ptr @ya_optarg, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %15) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef %158, ptr noundef nonnull align 1 dereferenceable(1) %15)
          to label %159 unwind label %172

159:                                              ; preds = %157
  %160 = invoke noundef zeroext i1 @_ZN4sptk22ConvertStringToIntegerERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPi(ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef nonnull %3)
          to label %161 unwind label %174

161:                                              ; preds = %159
  %162 = load i32, ptr %3, align 4
  %163 = icmp sgt i32 %162, -1
  %.not329 = select i1 %160, i1 %163, i1 false
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %15) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #8
  br i1 %.not329, label %.backedge, label %164

164:                                              ; preds = %161
  call void @llvm.lifetime.start.p0(i64 376, ptr nonnull %16) #8
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %16)
          to label %165 unwind label %177

165:                                              ; preds = %164
  %166 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %16, ptr noundef nonnull @.str.4)
          to label %167 unwind label %179

167:                                              ; preds = %165
  %168 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %166, ptr noundef nonnull @.str.5)
          to label %169 unwind label %179

169:                                              ; preds = %167
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %17) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %18) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %18)
          to label %170 unwind label %181

170:                                              ; preds = %169
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(112) %16)
          to label %171 unwind label %183

171:                                              ; preds = %170
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %18) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #8
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %16) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %16) #8
  br label %.thread435

172:                                              ; preds = %157
  %173 = landingpad { ptr, i32 }
          cleanup
  br label %176

174:                                              ; preds = %159
  %175 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #8
  br label %176

176:                                              ; preds = %174, %172
  %.pn327 = phi { ptr, i32 } [ %175, %174 ], [ %173, %172 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %15) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #8
  br label %881

177:                                              ; preds = %164
  %178 = landingpad { ptr, i32 }
          cleanup
  br label %187

179:                                              ; preds = %167, %165
  %180 = landingpad { ptr, i32 }
          cleanup
  br label %186

181:                                              ; preds = %169
  %182 = landingpad { ptr, i32 }
          cleanup
  br label %185

183:                                              ; preds = %170
  %184 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #8
  br label %185

185:                                              ; preds = %183, %181
  %.pn330 = phi { ptr, i32 } [ %184, %183 ], [ %182, %181 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %18) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #8
  br label %186

186:                                              ; preds = %185, %179
  %.pn330.pn = phi { ptr, i32 } [ %.pn330, %185 ], [ %180, %179 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %16) #8
  br label %187

187:                                              ; preds = %186, %177
  %.pn330.pn.pn = phi { ptr, i32 } [ %.pn330.pn, %186 ], [ %178, %177 ]
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %16) #8
  br label %881

188:                                              ; preds = %124
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %19) #8
  %189 = load ptr, ptr @ya_optarg, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %20) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %20) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %19, ptr noundef %189, ptr noundef nonnull align 1 dereferenceable(1) %20)
          to label %190 unwind label %201

190:                                              ; preds = %188
  %191 = invoke noundef zeroext i1 @_ZN4sptk22ConvertStringToIntegerERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPi(ptr noundef nonnull align 8 dereferenceable(32) %19, ptr noundef nonnull %4)
          to label %192 unwind label %203

192:                                              ; preds = %190
  %193 = load i32, ptr %4, align 4
  %194 = icmp sgt i32 %193, 0
  %.not322 = select i1 %191, i1 %194, i1 false
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %20) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %20) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #8
  br i1 %.not322, label %217, label %195

195:                                              ; preds = %192
  call void @llvm.lifetime.start.p0(i64 376, ptr nonnull %21) #8
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %21)
          to label %196 unwind label %206

196:                                              ; preds = %195
  %197 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %21, ptr noundef nonnull @.str.6)
          to label %198 unwind label %208

198:                                              ; preds = %196
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %22) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %23) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %23) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef nonnull @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %23)
          to label %199 unwind label %210

199:                                              ; preds = %198
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef nonnull align 8 dereferenceable(112) %21)
          to label %200 unwind label %212

200:                                              ; preds = %199
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %23) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %23) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #8
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %21) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %21) #8
  br label %.thread435

201:                                              ; preds = %188
  %202 = landingpad { ptr, i32 }
          cleanup
  br label %205

203:                                              ; preds = %190
  %204 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #8
  br label %205

205:                                              ; preds = %203, %201
  %.pn320 = phi { ptr, i32 } [ %204, %203 ], [ %202, %201 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %20) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %20) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #8
  br label %881

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

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

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

212:                                              ; preds = %199
  %213 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #8
  br label %214

214:                                              ; preds = %212, %210
  %.pn323 = phi { ptr, i32 } [ %213, %212 ], [ %211, %210 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %23) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %23) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #8
  br label %215

215:                                              ; preds = %214, %208
  %.pn323.pn = phi { ptr, i32 } [ %.pn323, %214 ], [ %209, %208 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %21) #8
  br label %216

216:                                              ; preds = %215, %206
  %.pn323.pn.pn = phi { ptr, i32 } [ %.pn323.pn, %215 ], [ %207, %206 ]
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %21) #8
  br label %881

217:                                              ; preds = %192
  %218 = load i32, ptr %4, align 4, !tbaa !5
  %219 = add nsw i32 %218, -1
  store i32 %219, ptr %4, align 4, !tbaa !5
  br label %.backedge

220:                                              ; preds = %124
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %24) #8
  %221 = load ptr, ptr @ya_optarg, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %25) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef %221, ptr noundef nonnull align 1 dereferenceable(1) %25)
          to label %222 unwind label %235

222:                                              ; preds = %220
  %223 = invoke noundef zeroext i1 @_ZN4sptk22ConvertStringToIntegerERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPi(ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef nonnull %4)
          to label %224 unwind label %237

224:                                              ; preds = %222
  %225 = load i32, ptr %4, align 4
  %226 = icmp sgt i32 %225, -1
  %.not315 = select i1 %223, i1 %226, i1 false
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %25) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #8
  br i1 %.not315, label %.backedge, label %227

227:                                              ; preds = %224
  call void @llvm.lifetime.start.p0(i64 376, ptr nonnull %26) #8
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %26)
          to label %228 unwind label %240

228:                                              ; preds = %227
  %229 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %26, ptr noundef nonnull @.str.7)
          to label %230 unwind label %242

230:                                              ; preds = %228
  %231 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %229, ptr noundef nonnull @.str.5)
          to label %232 unwind label %242

232:                                              ; preds = %230
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %27) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %28) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %27, ptr noundef nonnull @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %28)
          to label %233 unwind label %244

233:                                              ; preds = %232
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %27, ptr noundef nonnull align 8 dereferenceable(112) %26)
          to label %234 unwind label %246

234:                                              ; preds = %233
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %28) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #8
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %26) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %26) #8
  br label %.thread435

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

237:                                              ; preds = %222
  %238 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #8
  br label %239

239:                                              ; preds = %237, %235
  %.pn313 = phi { ptr, i32 } [ %238, %237 ], [ %236, %235 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %25) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #8
  br label %881

240:                                              ; preds = %227
  %241 = landingpad { ptr, i32 }
          cleanup
  br label %250

242:                                              ; preds = %230, %228
  %243 = landingpad { ptr, i32 }
          cleanup
  br label %249

244:                                              ; preds = %232
  %245 = landingpad { ptr, i32 }
          cleanup
  br label %248

246:                                              ; preds = %233
  %247 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #8
  br label %248

248:                                              ; preds = %246, %244
  %.pn316 = phi { ptr, i32 } [ %247, %246 ], [ %245, %244 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %28) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #8
  br label %249

249:                                              ; preds = %248, %242
  %.pn316.pn = phi { ptr, i32 } [ %.pn316, %248 ], [ %243, %242 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %26) #8
  br label %250

250:                                              ; preds = %249, %240
  %.pn316.pn.pn = phi { ptr, i32 } [ %.pn316.pn, %249 ], [ %241, %240 ]
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %26) #8
  br label %881

251:                                              ; preds = %124
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %29) #8
  %252 = load ptr, ptr @ya_optarg, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %30) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %30) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %29, ptr noundef %252, ptr noundef nonnull align 1 dereferenceable(1) %30)
          to label %253 unwind label %264

253:                                              ; preds = %251
  %254 = invoke noundef zeroext i1 @_ZN4sptk22ConvertStringToIntegerERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPi(ptr noundef nonnull align 8 dereferenceable(32) %29, ptr noundef nonnull %5)
          to label %255 unwind label %266

255:                                              ; preds = %253
  %256 = load i32, ptr %5, align 4
  %257 = icmp sgt i32 %256, 0
  %.not308 = select i1 %254, i1 %257, i1 false
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %30) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %30) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29) #8
  br i1 %.not308, label %.backedge, label %258

258:                                              ; preds = %255
  call void @llvm.lifetime.start.p0(i64 376, ptr nonnull %31) #8
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %31)
          to label %259 unwind label %269

259:                                              ; preds = %258
  %260 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %31, ptr noundef nonnull @.str.8)
          to label %261 unwind label %271

261:                                              ; preds = %259
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %32) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %33) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %33) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %32, ptr noundef nonnull @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %33)
          to label %262 unwind label %273

262:                                              ; preds = %261
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %32, ptr noundef nonnull align 8 dereferenceable(112) %31)
          to label %263 unwind label %275

263:                                              ; preds = %262
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %33) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %33) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %32) #8
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %31) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %31) #8
  br label %.thread435

264:                                              ; preds = %251
  %265 = landingpad { ptr, i32 }
          cleanup
  br label %268

266:                                              ; preds = %253
  %267 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #8
  br label %268

268:                                              ; preds = %266, %264
  %.pn306 = phi { ptr, i32 } [ %267, %266 ], [ %265, %264 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %30) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %30) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29) #8
  br label %881

269:                                              ; preds = %258
  %270 = landingpad { ptr, i32 }
          cleanup
  br label %279

271:                                              ; preds = %259
  %272 = landingpad { ptr, i32 }
          cleanup
  br label %278

273:                                              ; preds = %261
  %274 = landingpad { ptr, i32 }
          cleanup
  br label %277

275:                                              ; preds = %262
  %276 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #8
  br label %277

277:                                              ; preds = %275, %273
  %.pn309 = phi { ptr, i32 } [ %276, %275 ], [ %274, %273 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %33) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %33) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %32) #8
  br label %278

278:                                              ; preds = %277, %271
  %.pn309.pn = phi { ptr, i32 } [ %.pn309, %277 ], [ %272, %271 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %31) #8
  br label %279

279:                                              ; preds = %278, %269
  %.pn309.pn.pn = phi { ptr, i32 } [ %.pn309.pn, %278 ], [ %270, %269 ]
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %31) #8
  br label %881

280:                                              ; preds = %124
  %281 = trunc nuw i8 %.099 to i1
  br i1 %281, label %282, label %299

282:                                              ; preds = %280
  call void @llvm.lifetime.start.p0(i64 376, ptr nonnull %34) #8
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %34)
          to label %283 unwind label %288

283:                                              ; preds = %282
  %284 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %34, ptr noundef nonnull @.str.9)
          to label %285 unwind label %290

285:                                              ; preds = %283
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %35) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %36) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %35, ptr noundef nonnull @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %36)
          to label %286 unwind label %292

286:                                              ; preds = %285
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %35, ptr noundef nonnull align 8 dereferenceable(112) %34)
          to label %287 unwind label %294

287:                                              ; preds = %286
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %36) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #8
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %34) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %34) #8
  br label %.thread435

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

290:                                              ; preds = %283
  %291 = landingpad { ptr, i32 }
          cleanup
  br label %297

292:                                              ; preds = %285
  %293 = landingpad { ptr, i32 }
          cleanup
  br label %296

294:                                              ; preds = %286
  %295 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #8
  br label %296

296:                                              ; preds = %294, %292
  %.pn302 = phi { ptr, i32 } [ %295, %294 ], [ %293, %292 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %36) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #8
  br label %297

297:                                              ; preds = %296, %290
  %.pn302.pn = phi { ptr, i32 } [ %.pn302, %296 ], [ %291, %290 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %34) #8
  br label %298

298:                                              ; preds = %297, %288
  %.pn302.pn.pn = phi { ptr, i32 } [ %.pn302.pn, %297 ], [ %289, %288 ]
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %34) #8
  br label %881

299:                                              ; preds = %280
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %37) #8
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %37) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %38) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %39) #8
  %300 = load ptr, ptr @ya_optarg, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %40) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %40) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %39, ptr noundef %300, ptr noundef nonnull align 1 dereferenceable(1) %40)
          to label %301 unwind label %309

301:                                              ; preds = %299
  %302 = invoke noundef zeroext i1 @_ZN4sptk21ConvertStringToDoubleERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPd(ptr noundef nonnull align 8 dereferenceable(32) %39, ptr noundef nonnull %38)
          to label %303 unwind label %311

303:                                              ; preds = %301
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %40) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %40) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %39) #8
  br i1 %302, label %325, label %304

304:                                              ; preds = %303
  call void @llvm.lifetime.start.p0(i64 376, ptr nonnull %41) #8
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %41)
          to label %305 unwind label %314

305:                                              ; preds = %304
  %306 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %41, ptr noundef nonnull @.str.10)
          to label %307 unwind label %316

307:                                              ; preds = %305
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %42) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %43) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %43) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %42, ptr noundef nonnull @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %43)
          to label %308 unwind label %318

308:                                              ; preds = %307
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %42, ptr noundef nonnull align 8 dereferenceable(112) %41)
          to label %.thread415 unwind label %320

.thread415:                                       ; preds = %308
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %43) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %43) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %42) #8
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %41) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %41) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %38) #8
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %37) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %37) #8
  br label %.thread435

309:                                              ; preds = %299
  %310 = landingpad { ptr, i32 }
          cleanup
  br label %313

311:                                              ; preds = %301
  %312 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #8
  br label %313

313:                                              ; preds = %311, %309
  %.pn293 = phi { ptr, i32 } [ %312, %311 ], [ %310, %309 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %40) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %40) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %39) #8
  br label %345

314:                                              ; preds = %304
  %315 = landingpad { ptr, i32 }
          cleanup
  br label %324

316:                                              ; preds = %305
  %317 = landingpad { ptr, i32 }
          cleanup
  br label %323

318:                                              ; preds = %307
  %319 = landingpad { ptr, i32 }
          cleanup
  br label %322

320:                                              ; preds = %308
  %321 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #8
  br label %322

322:                                              ; preds = %320, %318
  %.pn297 = phi { ptr, i32 } [ %321, %320 ], [ %319, %318 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %43) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %43) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %42) #8
  br label %323

323:                                              ; preds = %322, %316
  %.pn297.pn = phi { ptr, i32 } [ %.pn297, %322 ], [ %317, %316 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %41) #8
  br label %324

324:                                              ; preds = %323, %314
  %.pn297.pn.pn = phi { ptr, i32 } [ %.pn297.pn, %323 ], [ %315, %314 ]
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %41) #8
  br label %345

325:                                              ; preds = %303
  invoke void @_ZNSt6vectorIdSaIdEE9push_backERKd(ptr noundef nonnull align 8 dereferenceable(24) %37, ptr noundef nonnull align 8 dereferenceable(8) %38)
          to label %.preheader unwind label %.loopexit.split-lp

.preheader:                                       ; preds = %325
  %326 = load i32, ptr @ya_optind, align 4, !tbaa !5
  %327 = icmp slt i32 %326, %0
  br i1 %327, label %.lr.ph, label %.critedge410.thread

.lr.ph:                                           ; preds = %.preheader, %335
  %328 = phi i32 [ %337, %335 ], [ %326, %.preheader ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %44) #8
  %329 = sext i32 %328 to i64
  %330 = getelementptr inbounds ptr, ptr %1, i64 %329
  %331 = load ptr, ptr %330, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %45) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %44, ptr noundef %331, ptr noundef nonnull align 1 dereferenceable(1) %45)
          to label %332 unwind label %339

332:                                              ; preds = %.lr.ph
  %333 = invoke noundef zeroext i1 @_ZN4sptk21ConvertStringToDoubleERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPd(ptr noundef nonnull align 8 dereferenceable(32) %44, ptr noundef nonnull %38)
          to label %.critedge410 unwind label %341

.critedge410:                                     ; preds = %332
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %45) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %44) #8
  br i1 %333, label %334, label %.critedge410.thread

334:                                              ; preds = %.critedge410
  invoke void @_ZNSt6vectorIdSaIdEE9push_backERKd(ptr noundef nonnull align 8 dereferenceable(24) %37, ptr noundef nonnull align 8 dereferenceable(8) %38)
          to label %335 unwind label %.loopexit468

335:                                              ; preds = %334
  %336 = load i32, ptr @ya_optind, align 4, !tbaa !5
  %337 = add nsw i32 %336, 1
  store i32 %337, ptr @ya_optind, align 4, !tbaa !5
  %338 = icmp slt i32 %337, %0
  br i1 %338, label %.lr.ph, label %.critedge410.thread, !llvm.loop !13

.loopexit468:                                     ; preds = %334
  %lpad.loopexit = landingpad { ptr, i32 }
          cleanup
  br label %345

.loopexit.split-lp:                               ; preds = %325, %.critedge410.thread
  %lpad.loopexit.split-lp = landingpad { ptr, i32 }
          cleanup
  br label %345

339:                                              ; preds = %.lr.ph
  %340 = landingpad { ptr, i32 }
          cleanup
  br label %343

341:                                              ; preds = %332
  %342 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #8
  br label %343

343:                                              ; preds = %339, %341
  %.pn295 = phi { ptr, i32 } [ %342, %341 ], [ %340, %339 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %45) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %44) #8
  br label %345

.critedge410.thread:                              ; preds = %.critedge410, %335, %.preheader
  invoke void @_ZNSt6vectorIS_IdSaIdEESaIS1_EE9push_backERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %6, ptr noundef nonnull align 8 dereferenceable(24) %37)
          to label %344 unwind label %.loopexit.split-lp

344:                                              ; preds = %.critedge410.thread
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %38) #8
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %37) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %37) #8
  br label %.backedge

345:                                              ; preds = %.loopexit468, %.loopexit.split-lp, %343, %324, %313
  %.pn297.pn.pn.pn = phi { ptr, i32 } [ %.pn297.pn.pn, %324 ], [ %.pn295, %343 ], [ %.pn293, %313 ], [ %lpad.loopexit, %.loopexit468 ], [ %lpad.loopexit.split-lp, %.loopexit.split-lp ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %38) #8
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %37) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %37) #8
  br label %881

346:                                              ; preds = %124
  %347 = trunc nuw i8 %.099 to i1
  br i1 %347, label %348, label %365

348:                                              ; preds = %346
  call void @llvm.lifetime.start.p0(i64 376, ptr nonnull %46) #8
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %46)
          to label %349 unwind label %354

349:                                              ; preds = %348
  %350 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %46, ptr noundef nonnull @.str.11)
          to label %351 unwind label %356

351:                                              ; preds = %349
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %47) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %48) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %47, ptr noundef nonnull @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %48)
          to label %352 unwind label %358

352:                                              ; preds = %351
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %47, ptr noundef nonnull align 8 dereferenceable(112) %46)
          to label %353 unwind label %360

353:                                              ; preds = %352
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %48) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %47) #8
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %46) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %46) #8
  br label %.thread435

354:                                              ; preds = %348
  %355 = landingpad { ptr, i32 }
          cleanup
  br label %364

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

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

360:                                              ; preds = %352
  %361 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #8
  br label %362

362:                                              ; preds = %360, %358
  %.pn289 = phi { ptr, i32 } [ %361, %360 ], [ %359, %358 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %48) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %47) #8
  br label %363

363:                                              ; preds = %362, %356
  %.pn289.pn = phi { ptr, i32 } [ %.pn289, %362 ], [ %357, %356 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %46) #8
  br label %364

364:                                              ; preds = %363, %354
  %.pn289.pn.pn = phi { ptr, i32 } [ %.pn289.pn, %363 ], [ %355, %354 ]
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %46) #8
  br label %881

365:                                              ; preds = %346
  call void @llvm.lifetime.start.p0(i64 520, ptr nonnull %49) #8
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(256) %49)
          to label %366 unwind label %384

366:                                              ; preds = %365
  %367 = load ptr, ptr @ya_optarg, align 8, !tbaa !11
  %368 = call noundef i32 @_ZStorSt13_Ios_OpenmodeS_(i32 noundef 8, i32 noundef 4)
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(256) %49, ptr noundef %367, i32 noundef %368)
          to label %369 unwind label %386

369:                                              ; preds = %366
  %370 = load ptr, ptr %49, align 8, !tbaa !15
  %371 = getelementptr i8, ptr %370, i64 -24
  %372 = load i64, ptr %371, align 8
  %373 = getelementptr inbounds i8, ptr %49, i64 %372
  %374 = invoke noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE4failEv(ptr noundef nonnull align 8 dereferenceable(264) %373)
          to label %375 unwind label %386

375:                                              ; preds = %369
  br i1 %374, label %376, label %399

376:                                              ; preds = %375
  call void @llvm.lifetime.start.p0(i64 376, ptr nonnull %50) #8
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %50)
          to label %377 unwind label %388

377:                                              ; preds = %376
  %378 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %50, ptr noundef nonnull @.str.12)
          to label %379 unwind label %390

379:                                              ; preds = %377
  %380 = load ptr, ptr @ya_optarg, align 8, !tbaa !11
  %381 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %378, ptr noundef %380)
          to label %382 unwind label %390

382:                                              ; preds = %379
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %51) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %52) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %51, ptr noundef nonnull @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %52)
          to label %383 unwind label %392

383:                                              ; preds = %382
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %51, ptr noundef nonnull align 8 dereferenceable(112) %50)
          to label %.thread418 unwind label %394

.thread418:                                       ; preds = %383
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %52) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %51) #8
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %50) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %50) #8
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %49) #8
  call void @llvm.lifetime.end.p0(i64 520, ptr nonnull %49) #8
  br label %.thread435

384:                                              ; preds = %365
  %385 = landingpad { ptr, i32 }
          cleanup
  br label %408

386:                                              ; preds = %369, %366
  %387 = landingpad { ptr, i32 }
          cleanup
  br label %407

388:                                              ; preds = %376
  %389 = landingpad { ptr, i32 }
          cleanup
  br label %398

390:                                              ; preds = %379, %377
  %391 = landingpad { ptr, i32 }
          cleanup
  br label %397

392:                                              ; preds = %382
  %393 = landingpad { ptr, i32 }
          cleanup
  br label %396

394:                                              ; preds = %383
  %395 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #8
  br label %396

396:                                              ; preds = %394, %392
  %.pn283 = phi { ptr, i32 } [ %395, %394 ], [ %393, %392 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %52) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %51) #8
  br label %397

397:                                              ; preds = %396, %390
  %.pn283.pn = phi { ptr, i32 } [ %.pn283, %396 ], [ %391, %390 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %50) #8
  br label %398

398:                                              ; preds = %397, %388
  %.pn283.pn.pn = phi { ptr, i32 } [ %.pn283.pn, %397 ], [ %389, %388 ]
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %50) #8
  br label %407

399:                                              ; preds = %375
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %53) #8
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %53) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %54) #8
  br label %400

400:                                              ; preds = %403, %399
  %401 = invoke noundef zeroext i1 @_ZN4sptk10ReadStreamIdEEbPT_PSi(ptr noundef nonnull %54, ptr noundef nonnull %49)
          to label %402 unwind label %.loopexit469

402:                                              ; preds = %400
  br i1 %401, label %403, label %405

403:                                              ; preds = %402
  invoke void @_ZNSt6vectorIdSaIdEE9push_backERKd(ptr noundef nonnull align 8 dereferenceable(24) %53, ptr noundef nonnull align 8 dereferenceable(8) %54)
          to label %400 unwind label %.loopexit469, !llvm.loop !17

.loopexit469:                                     ; preds = %400, %403
  %lpad.loopexit471 = landingpad { ptr, i32 }
          cleanup
  br label %404

.loopexit.split-lp470:                            ; preds = %405
  %lpad.loopexit.split-lp472 = landingpad { ptr, i32 }
          cleanup
  br label %404

404:                                              ; preds = %.loopexit.split-lp470, %.loopexit469
  %lpad.phi473 = phi { ptr, i32 } [ %lpad.loopexit471, %.loopexit469 ], [ %lpad.loopexit.split-lp472, %.loopexit.split-lp470 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %54) #8
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %53) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %53) #8
  br label %407

405:                                              ; preds = %402
  invoke void @_ZNSt6vectorIS_IdSaIdEESaIS1_EE9push_backERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %6, ptr noundef nonnull align 8 dereferenceable(24) %53)
          to label %406 unwind label %.loopexit.split-lp470

406:                                              ; preds = %405
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %54) #8
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %53) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %53) #8
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %49) #8
  call void @llvm.lifetime.end.p0(i64 520, ptr nonnull %49) #8
  br label %.backedge

.backedge:                                        ; preds = %406, %344, %154, %217, %161, %255, %224, %124, %510, %.thread429
  %.0103.be = phi i1 [ %.0103, %406 ], [ %.0103, %344 ], [ %.0103, %255 ], [ %.0103, %217 ], [ %.0103, %161 ], [ %.0103, %154 ], [ %.0103, %224 ], [ %.0103, %124 ], [ true, %510 ], [ %.0103, %.thread429 ]
  %.099.be = phi i8 [ %.099, %406 ], [ %.099, %344 ], [ %.099, %255 ], [ %.099, %217 ], [ %.099, %161 ], [ %.099, %154 ], [ %.099, %224 ], [ %.099, %124 ], [ %.099, %510 ], [ 1, %.thread429 ]
  %.095.be = phi i1 [ %.095, %406 ], [ %.095, %344 ], [ %.095, %255 ], [ %.095, %217 ], [ %.095, %161 ], [ %.095, %154 ], [ %.095, %224 ], [ true, %124 ], [ %.095, %510 ], [ %.095, %.thread429 ]
  %.092.be = phi i1 [ %.092, %406 ], [ %.092, %344 ], [ %.092, %255 ], [ true, %217 ], [ %.092, %161 ], [ %.092, %154 ], [ true, %224 ], [ %.092, %124 ], [ %.092, %510 ], [ %.092, %.thread429 ]
  br label %122

407:                                              ; preds = %404, %398, %386
  %.pn283.pn.pn.pn = phi { ptr, i32 } [ %.pn283.pn.pn, %398 ], [ %lpad.phi473, %404 ], [ %387, %386 ]
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %49) #8
  br label %408

408:                                              ; preds = %407, %384
  %.pn283.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn283.pn.pn.pn, %407 ], [ %385, %384 ]
  call void @llvm.lifetime.end.p0(i64 520, ptr nonnull %49) #8
  br label %881

409:                                              ; preds = %124
  %410 = trunc nuw i8 %.099 to i1
  br i1 %410, label %411, label %428

411:                                              ; preds = %409
  call void @llvm.lifetime.start.p0(i64 376, ptr nonnull %55) #8
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %55)
          to label %412 unwind label %417

412:                                              ; preds = %411
  %413 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %55, ptr noundef nonnull @.str.13)
          to label %414 unwind label %419

414:                                              ; preds = %412
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %56) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %57) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %57) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %56, ptr noundef nonnull @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %57)
          to label %415 unwind label %421

415:                                              ; preds = %414
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %56, ptr noundef nonnull align 8 dereferenceable(112) %55)
          to label %416 unwind label %423

416:                                              ; preds = %415
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %57) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %57) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %56) #8
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %55) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %55) #8
  br label %.thread435

417:                                              ; preds = %411
  %418 = landingpad { ptr, i32 }
          cleanup
  br label %427

419:                                              ; preds = %412
  %420 = landingpad { ptr, i32 }
          cleanup
  br label %426

421:                                              ; preds = %414
  %422 = landingpad { ptr, i32 }
          cleanup
  br label %425

423:                                              ; preds = %415
  %424 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #8
  br label %425

425:                                              ; preds = %423, %421
  %.pn279 = phi { ptr, i32 } [ %424, %423 ], [ %422, %421 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %57) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %57) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %56) #8
  br label %426

426:                                              ; preds = %425, %419
  %.pn279.pn = phi { ptr, i32 } [ %.pn279, %425 ], [ %420, %419 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %55) #8
  br label %427

427:                                              ; preds = %426, %417
  %.pn279.pn.pn = phi { ptr, i32 } [ %.pn279.pn, %426 ], [ %418, %417 ]
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %55) #8
  br label %881

428:                                              ; preds = %409
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %58) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %59) #8
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %59) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %60) #8
  %429 = load ptr, ptr @ya_optarg, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %61) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %61) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %60, ptr noundef %429, ptr noundef nonnull align 1 dereferenceable(1) %61)
          to label %430 unwind label %441

430:                                              ; preds = %428
  %431 = invoke noundef zeroext i1 @_ZN4sptk22ConvertStringToIntegerERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPi(ptr noundef nonnull align 8 dereferenceable(32) %60, ptr noundef nonnull %58)
          to label %432 unwind label %443

432:                                              ; preds = %430
  br i1 %431, label %433, label %.critedge

433:                                              ; preds = %432
  %434 = load i32, ptr %58, align 4, !tbaa !5
  %435 = invoke noundef zeroext i1 @_ZN4sptk39ComputeFirstOrderRegressionCoefficientsEiPSt6vectorIdSaIdEE(i32 noundef %434, ptr noundef nonnull %59)
          to label %436 unwind label %443

436:                                              ; preds = %433
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %61) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %61) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %60) #8
  br i1 %435, label %457, label %.loopexit479

.critedge:                                        ; preds = %432
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %61) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %61) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %60) #8
  br label %.loopexit479

.loopexit479:                                     ; preds = %436, %.critedge
  call void @llvm.lifetime.start.p0(i64 376, ptr nonnull %62) #8
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %62)
          to label %437 unwind label %446

437:                                              ; preds = %.loopexit479
  %438 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %62, ptr noundef nonnull @.str.14)
          to label %439 unwind label %448

439:                                              ; preds = %437
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %63) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %64) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %64) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %63, ptr noundef nonnull @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %64)
          to label %440 unwind label %450

440:                                              ; preds = %439
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %63, ptr noundef nonnull align 8 dereferenceable(112) %62)
          to label %458 unwind label %452

441:                                              ; preds = %428
  %442 = landingpad { ptr, i32 }
          cleanup
  br label %445

443:                                              ; preds = %433, %430
  %444 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #8
  br label %445

445:                                              ; preds = %443, %441
  %.pn263 = phi { ptr, i32 } [ %444, %443 ], [ %442, %441 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %61) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %61) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %60) #8
  br label %479

446:                                              ; preds = %.loopexit479
  %447 = landingpad { ptr, i32 }
          cleanup
  br label %456

448:                                              ; preds = %437
  %449 = landingpad { ptr, i32 }
          cleanup
  br label %455

450:                                              ; preds = %439
  %451 = landingpad { ptr, i32 }
          cleanup
  br label %454

452:                                              ; preds = %440
  %453 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #8
  br label %454

454:                                              ; preds = %452, %450
  %.pn265 = phi { ptr, i32 } [ %453, %452 ], [ %451, %450 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %64) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %64) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %63) #8
  br label %455

455:                                              ; preds = %454, %448
  %.pn265.pn = phi { ptr, i32 } [ %.pn265, %454 ], [ %449, %448 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %62) #8
  br label %456

456:                                              ; preds = %455, %446
  %.pn265.pn.pn = phi { ptr, i32 } [ %.pn265.pn, %455 ], [ %447, %446 ]
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %62) #8
  br label %479

457:                                              ; preds = %436
  invoke void @_ZNSt6vectorIS_IdSaIdEESaIS1_EE9push_backERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %6, ptr noundef nonnull align 8 dereferenceable(24) %59)
          to label %459 unwind label %477

458:                                              ; preds = %440
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %64) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %64) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %63) #8
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %62) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %62) #8
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %59) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %59) #8
  br label %504

459:                                              ; preds = %457
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %59) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %59) #8
  %460 = load i32, ptr @ya_optind, align 4, !tbaa !5
  %461 = icmp slt i32 %460, %0
  br i1 %461, label %462, label %.thread429

462:                                              ; preds = %459
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %65) #8
  %463 = sext i32 %460 to i64
  %464 = getelementptr inbounds ptr, ptr %1, i64 %463
  %465 = load ptr, ptr %464, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %66) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %66) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %65, ptr noundef %465, ptr noundef nonnull align 1 dereferenceable(1) %66)
          to label %466 unwind label %480

466:                                              ; preds = %462
  %467 = invoke noundef zeroext i1 @_ZN4sptk22ConvertStringToIntegerERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPi(ptr noundef nonnull align 8 dereferenceable(32) %65, ptr noundef nonnull %58)
          to label %.critedge414 unwind label %482

.critedge414:                                     ; preds = %466
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %66) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %66) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %65) #8
  br i1 %467, label %468, label %.thread429

468:                                              ; preds = %.critedge414
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %67) #8
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %67) #8
  %469 = load i32, ptr %58, align 4, !tbaa !5
  %470 = invoke noundef zeroext i1 @_ZN4sptk40ComputeSecondOrderRegressionCoefficientsEiPSt6vectorIdSaIdEE(i32 noundef %469, ptr noundef nonnull %67)
          to label %471 unwind label %485

471:                                              ; preds = %468
  br i1 %470, label %498, label %472

472:                                              ; preds = %471
  call void @llvm.lifetime.start.p0(i64 376, ptr nonnull %68) #8
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %68)
          to label %473 unwind label %487

473:                                              ; preds = %472
  %474 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %68, ptr noundef nonnull @.str.14)
          to label %475 unwind label %489

475:                                              ; preds = %473
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %69) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %70) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %70) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %69, ptr noundef nonnull @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %70)
          to label %476 unwind label %491

476:                                              ; preds = %475
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %69, ptr noundef nonnull align 8 dereferenceable(112) %68)
          to label %499 unwind label %493

477:                                              ; preds = %457
  %478 = landingpad { ptr, i32 }
          cleanup
  br label %479

479:                                              ; preds = %477, %456, %445
  %.pn265.pn.pn.pn = phi { ptr, i32 } [ %.pn265.pn.pn, %456 ], [ %478, %477 ], [ %.pn263, %445 ]
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %59) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %59) #8
  br label %505

480:                                              ; preds = %462
  %481 = landingpad { ptr, i32 }
          cleanup
  br label %484

482:                                              ; preds = %466
  %483 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #8
  br label %484

484:                                              ; preds = %480, %482
  %.pn270 = phi { ptr, i32 } [ %483, %482 ], [ %481, %480 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %66) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %66) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %65) #8
  br label %505

485:                                              ; preds = %498, %468
  %486 = landingpad { ptr, i32 }
          cleanup
  br label %500

487:                                              ; preds = %472
  %488 = landingpad { ptr, i32 }
          cleanup
  br label %497

489:                                              ; preds = %473
  %490 = landingpad { ptr, i32 }
          cleanup
  br label %496

491:                                              ; preds = %475
  %492 = landingpad { ptr, i32 }
          cleanup
  br label %495

493:                                              ; preds = %476
  %494 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #8
  br label %495

495:                                              ; preds = %493, %491
  %.pn272 = phi { ptr, i32 } [ %494, %493 ], [ %492, %491 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %70) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %70) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %69) #8
  br label %496

496:                                              ; preds = %495, %489
  %.pn272.pn = phi { ptr, i32 } [ %.pn272, %495 ], [ %490, %489 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %68) #8
  br label %497

497:                                              ; preds = %496, %487
  %.pn272.pn.pn = phi { ptr, i32 } [ %.pn272.pn, %496 ], [ %488, %487 ]
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %68) #8
  br label %500

498:                                              ; preds = %471
  invoke void @_ZNSt6vectorIS_IdSaIdEESaIS1_EE9push_backERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %6, ptr noundef nonnull align 8 dereferenceable(24) %67)
          to label %501 unwind label %485

499:                                              ; preds = %476
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %70) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %70) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %69) #8
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %68) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %68) #8
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %67) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %67) #8
  br label %504

500:                                              ; preds = %497, %485
  %.pn276 = phi { ptr, i32 } [ %486, %485 ], [ %.pn272.pn.pn, %497 ]
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %67) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %67) #8
  br label %505

501:                                              ; preds = %498
  %502 = load i32, ptr @ya_optind, align 4, !tbaa !5
  %503 = add nsw i32 %502, 1
  store i32 %503, ptr @ya_optind, align 4, !tbaa !5
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %67) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %67) #8
  br label %.thread429

.thread429:                                       ; preds = %.critedge414, %501, %459
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %58) #8
  br label %.backedge

504:                                              ; preds = %499, %458
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %58) #8
  br label %.thread435

505:                                              ; preds = %484, %500, %479
  %.pn276.pn = phi { ptr, i32 } [ %.pn276, %500 ], [ %.pn270, %484 ], [ %.pn265.pn.pn.pn, %479 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %58) #8
  br label %881

506:                                              ; preds = %124
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %71) #8
  %507 = load ptr, ptr @ya_optarg, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %72) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %72) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %71, ptr noundef %507, ptr noundef nonnull align 1 dereferenceable(1) %72)
          to label %508 unwind label %517

508:                                              ; preds = %506
  %509 = invoke noundef zeroext i1 @_ZN4sptk21ConvertStringToDoubleERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPd(ptr noundef nonnull align 8 dereferenceable(32) %71, ptr noundef nonnull %7)
          to label %510 unwind label %519

510:                                              ; preds = %508
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %72) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %72) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %71) #8
  br i1 %509, label %.backedge, label %511

511:                                              ; preds = %510
  call void @llvm.lifetime.start.p0(i64 376, ptr nonnull %73) #8
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %73)
          to label %512 unwind label %522

512:                                              ; preds = %511
  %513 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %73, ptr noundef nonnull @.str.15)
          to label %514 unwind label %524

514:                                              ; preds = %512
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %74) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %75) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %75) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %74, ptr noundef nonnull @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %75)
          to label %515 unwind label %526

515:                                              ; preds = %514
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %74, ptr noundef nonnull align 8 dereferenceable(112) %73)
          to label %516 unwind label %528

516:                                              ; preds = %515
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %74) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %75) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %75) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %74) #8
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %73) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %73) #8
  br label %.thread435

517:                                              ; preds = %506
  %518 = landingpad { ptr, i32 }
          cleanup
  br label %521

519:                                              ; preds = %508
  %520 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #8
  br label %521

521:                                              ; preds = %519, %517
  %.pn = phi { ptr, i32 } [ %520, %519 ], [ %518, %517 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %72) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %72) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %71) #8
  br label %881

522:                                              ; preds = %511
  %523 = landingpad { ptr, i32 }
          cleanup
  br label %532

524:                                              ; preds = %512
  %525 = landingpad { ptr, i32 }
          cleanup
  br label %531

526:                                              ; preds = %514
  %527 = landingpad { ptr, i32 }
          cleanup
  br label %530

528:                                              ; preds = %515
  %529 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %74) #8
  br label %530

530:                                              ; preds = %528, %526
  %.pn259 = phi { ptr, i32 } [ %529, %528 ], [ %527, %526 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %75) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %75) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %74) #8
  br label %531

531:                                              ; preds = %530, %524
  %.pn259.pn = phi { ptr, i32 } [ %.pn259, %530 ], [ %525, %524 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %73) #8
  br label %532

532:                                              ; preds = %531, %522
  %.pn259.pn.pn = phi { ptr, i32 } [ %.pn259.pn, %531 ], [ %523, %522 ]
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %73) #8
  br label %881

533:                                              ; preds = %124
  invoke void @_ZN12_GLOBAL__N_110PrintUsageEPSo(ptr noundef nonnull @_ZSt4cout)
          to label %.thread435 unwind label %.loopexit.split-lp475

534:                                              ; preds = %124
  invoke void @_ZN12_GLOBAL__N_110PrintUsageEPSo(ptr noundef nonnull @_ZSt4cerr)
          to label %.thread435 unwind label %.loopexit.split-lp475

535:                                              ; preds = %124
  br i1 %.092, label %538, label %536

536:                                              ; preds = %535
  %537 = load i32, ptr %3, align 4, !tbaa !5
  store i32 %537, ptr %4, align 4, !tbaa !5
  br label %538

538:                                              ; preds = %536, %535
  %539 = load i32, ptr @ya_optind, align 4, !tbaa !5
  %540 = sub nsw i32 %0, %539
  switch i32 %540, label %551 [
    i32 2, label %541
    i32 1, label %547
  ]

541:                                              ; preds = %538
  %542 = sext i32 %0 to i64
  %543 = getelementptr ptr, ptr %1, i64 %542
  %544 = getelementptr i8, ptr %543, i64 -16
  %545 = getelementptr i8, ptr %543, i64 -8
  %546 = load ptr, ptr %545, align 8, !tbaa !11
  br label %568

547:                                              ; preds = %538
  %548 = sext i32 %0 to i64
  %549 = getelementptr ptr, ptr %1, i64 %548
  %550 = getelementptr i8, ptr %549, i64 -8
  br label %568

551:                                              ; preds = %538
  call void @llvm.lifetime.start.p0(i64 376, ptr nonnull %76) #8
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %76)
          to label %552 unwind label %557

552:                                              ; preds = %551
  %553 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %76, ptr noundef nonnull @.str.16)
          to label %554 unwind label %559

554:                                              ; preds = %552
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %77) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %78) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %78) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %77, ptr noundef nonnull @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %78)
          to label %555 unwind label %561

555:                                              ; preds = %554
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %77, ptr noundef nonnull align 8 dereferenceable(112) %76)
          to label %556 unwind label %563

556:                                              ; preds = %555
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %78) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %78) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %77) #8
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %76) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %76) #8
  br label %.thread435

557:                                              ; preds = %551
  %558 = landingpad { ptr, i32 }
          cleanup
  br label %567

559:                                              ; preds = %552
  %560 = landingpad { ptr, i32 }
          cleanup
  br label %566

561:                                              ; preds = %554
  %562 = landingpad { ptr, i32 }
          cleanup
  br label %565

563:                                              ; preds = %555
  %564 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #8
  br label %565

565:                                              ; preds = %563, %561
  %.pn343 = phi { ptr, i32 } [ %564, %563 ], [ %562, %561 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %78) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %78) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %77) #8
  br label %566

566:                                              ; preds = %565, %559
  %.pn343.pn = phi { ptr, i32 } [ %.pn343, %565 ], [ %560, %559 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %76) #8
  br label %567

567:                                              ; preds = %566, %557
  %.pn343.pn.pn = phi { ptr, i32 } [ %.pn343.pn, %566 ], [ %558, %557 ]
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %76) #8
  br label %881

568:                                              ; preds = %547, %541
  %.0129.in = phi ptr [ %544, %541 ], [ %550, %547 ]
  %.0128 = phi ptr [ %546, %541 ], [ null, %547 ]
  %.0129 = load ptr, ptr %.0129.in, align 8, !tbaa !11
  %569 = invoke noundef zeroext i1 @_ZN4sptk13SetBinaryModeEv()
          to label %570 unwind label %577

570:                                              ; preds = %568
  br i1 %569, label %590, label %571

571:                                              ; preds = %570
  call void @llvm.lifetime.start.p0(i64 376, ptr nonnull %79) #8
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %79)
          to label %572 unwind label %579

572:                                              ; preds = %571
  %573 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %79, ptr noundef nonnull @.str.17)
          to label %574 unwind label %581

574:                                              ; preds = %572
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %80) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %81) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %81) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %80, ptr noundef nonnull @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %81)
          to label %575 unwind label %583

575:                                              ; preds = %574
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %80, ptr noundef nonnull align 8 dereferenceable(112) %79)
          to label %576 unwind label %585

576:                                              ; preds = %575
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %80) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %81) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %81) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %80) #8
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %79) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %79) #8
  br label %.thread435

577:                                              ; preds = %568
  %578 = landingpad { ptr, i32 }
          cleanup
  br label %881

579:                                              ; preds = %571
  %580 = landingpad { ptr, i32 }
          cleanup
  br label %589

581:                                              ; preds = %572
  %582 = landingpad { ptr, i32 }
          cleanup
  br label %588

583:                                              ; preds = %574
  %584 = landingpad { ptr, i32 }
          cleanup
  br label %587

585:                                              ; preds = %575
  %586 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %80) #8
  br label %587

587:                                              ; preds = %585, %583
  %.pn347 = phi { ptr, i32 } [ %586, %585 ], [ %584, %583 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %81) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %81) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %80) #8
  br label %588

588:                                              ; preds = %587, %581
  %.pn347.pn = phi { ptr, i32 } [ %.pn347, %587 ], [ %582, %581 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %79) #8
  br label %589

589:                                              ; preds = %588, %579
  %.pn347.pn.pn = phi { ptr, i32 } [ %.pn347.pn, %588 ], [ %580, %579 ]
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %79) #8
  br label %881

590:                                              ; preds = %570
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %82) #8
  %591 = load i32, ptr %5, align 4, !tbaa !5
  %592 = sext i32 %591 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %83) #8
  call void @_ZNSaIdEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %83) #8
  invoke void @_ZNSt6vectorIdSaIdEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %82, i64 noundef %592, ptr noundef nonnull align 1 dereferenceable(1) %83)
          to label %593 unwind label %617

593:                                              ; preds = %590
  call void @_ZNSt15__new_allocatorIdED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %83) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %83) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %84) #8
  %594 = load i32, ptr %5, align 4, !tbaa !5
  %595 = sext i32 %594 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %85) #8
  call void @_ZNSaISt6vectorIdSaIdEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %85) #8
  invoke void @_ZNSt6vectorIS_IdSaIdEESaIS1_EEC2EmRKS2_(ptr noundef nonnull align 8 dereferenceable(24) %84, i64 noundef %595, ptr noundef nonnull align 1 dereferenceable(1) %85)
          to label %596 unwind label %619

596:                                              ; preds = %593
  call void @_ZNSt15__new_allocatorISt6vectorIdSaIdEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %85) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %85) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %86) #8
  %597 = load i32, ptr %5, align 4, !tbaa !5
  %598 = sext i32 %597 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %87) #8
  call void @_ZNSaIN4sptk15SymmetricMatrixEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %87) #8
  invoke void @_ZNSt6vectorIN4sptk15SymmetricMatrixESaIS1_EEC2EmRKS2_(ptr noundef nonnull align 8 dereferenceable(24) %86, i64 noundef %598, ptr noundef nonnull align 1 dereferenceable(1) %87)
          to label %599 unwind label %621

599:                                              ; preds = %596
  call void @_ZNSt15__new_allocatorIN4sptk15SymmetricMatrixEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %87) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %87) #8
  call void @llvm.lifetime.start.p0(i64 520, ptr nonnull %88) #8
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(256) %88)
          to label %600 unwind label %623

600:                                              ; preds = %599
  %601 = call noundef i32 @_ZStorSt13_Ios_OpenmodeS_(i32 noundef 8, i32 noundef 4)
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(256) %88, ptr noundef %.0129, i32 noundef %601)
          to label %602 unwind label %625

602:                                              ; preds = %600
  %603 = load ptr, ptr %88, align 8, !tbaa !15
  %604 = getelementptr i8, ptr %603, i64 -24
  %605 = load i64, ptr %604, align 8
  %606 = getelementptr inbounds i8, ptr %88, i64 %605
  %607 = invoke noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE4failEv(ptr noundef nonnull align 8 dereferenceable(264) %606)
          to label %608 unwind label %625

608:                                              ; preds = %602
  br i1 %607, label %609, label %638

609:                                              ; preds = %608
  call void @llvm.lifetime.start.p0(i64 376, ptr nonnull %89) #8
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %89)
          to label %610 unwind label %627

610:                                              ; preds = %609
  %611 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %89, ptr noundef nonnull @.str.12)
          to label %612 unwind label %629

612:                                              ; preds = %610
  %613 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %611, ptr noundef %.0129)
          to label %614 unwind label %629

614:                                              ; preds = %612
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %90) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %91) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %91) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %90, ptr noundef nonnull @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %91)
          to label %615 unwind label %631

615:                                              ; preds = %614
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %90, ptr noundef nonnull align 8 dereferenceable(112) %89)
          to label %616 unwind label %633

616:                                              ; preds = %615
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %90) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %91) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %91) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %90) #8
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %89) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %89) #8
  br label %.thread456

617:                                              ; preds = %590
  %618 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIdED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %83) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %83) #8
  br label %880

619:                                              ; preds = %593
  %620 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorISt6vectorIdSaIdEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %85) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %85) #8
  br label %879

621:                                              ; preds = %596
  %622 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIN4sptk15SymmetricMatrixEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %87) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %87) #8
  br label %878

623:                                              ; preds = %599
  %624 = landingpad { ptr, i32 }
          cleanup
  br label %762

625:                                              ; preds = %602, %600
  %626 = landingpad { ptr, i32 }
          cleanup
  br label %761

627:                                              ; preds = %609
  %628 = landingpad { ptr, i32 }
          cleanup
  br label %637

629:                                              ; preds = %612, %610
  %630 = landingpad { ptr, i32 }
          cleanup
  br label %636

631:                                              ; preds = %614
  %632 = landingpad { ptr, i32 }
          cleanup
  br label %635

633:                                              ; preds = %615
  %634 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %90) #8
  br label %635

635:                                              ; preds = %633, %631
  %.pn370 = phi { ptr, i32 } [ %634, %633 ], [ %632, %631 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %91) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %91) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %90) #8
  br label %636

636:                                              ; preds = %635, %629
  %.pn370.pn = phi { ptr, i32 } [ %.pn370, %635 ], [ %630, %629 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %89) #8
  br label %637

637:                                              ; preds = %636, %627
  %.pn370.pn.pn = phi { ptr, i32 } [ %.pn370.pn, %636 ], [ %628, %627 ]
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %89) #8
  br label %761

638:                                              ; preds = %608
  %639 = call noundef i64 @_ZNKSt6vectorIS_IdSaIdEESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %6) #8
  %640 = trunc i64 %639 to i32
  %641 = add i32 %640, 1
  %642 = load i32, ptr %3, align 4, !tbaa !5
  %643 = load i32, ptr %4, align 4, !tbaa !5
  %644 = add i32 %642, 2
  %645 = add i32 %644, %643
  %646 = mul nsw i32 %645, %641
  %647 = load i32, ptr %5, align 4, !tbaa !5
  %.not618 = icmp sgt i32 %647, 0
  br i1 %.not618, label %.lr.ph620, label %._crit_edge

.lr.ph620:                                        ; preds = %638, %741
  %indvars.iv = phi i64 [ %indvars.iv.next, %741 ], [ 0, %638 ]
  %648 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %82, i64 noundef %indvars.iv) #8
  %649 = invoke noundef zeroext i1 @_ZN4sptk10ReadStreamIdEEbPT_PSi(ptr noundef nonnull %648, ptr noundef nonnull %88)
          to label %650 unwind label %657

650:                                              ; preds = %.lr.ph620
  br i1 %649, label %670, label %651

651:                                              ; preds = %650
  call void @llvm.lifetime.start.p0(i64 376, ptr nonnull %92) #8
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %92)
          to label %652 unwind label %659

652:                                              ; preds = %651
  %653 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %92, ptr noundef nonnull @.str.18)
          to label %654 unwind label %661

654:                                              ; preds = %652
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %93) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %94) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %94) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %93, ptr noundef nonnull @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %94)
          to label %655 unwind label %663

655:                                              ; preds = %654
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %93, ptr noundef nonnull align 8 dereferenceable(112) %92)
          to label %656 unwind label %665

656:                                              ; preds = %655
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %93) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %94) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %94) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %93) #8
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %92) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %92) #8
  br label %.thread456

657:                                              ; preds = %694, %691, %670, %.lr.ph620
  %658 = landingpad { ptr, i32 }
          cleanup
  br label %761

659:                                              ; preds = %651
  %660 = landingpad { ptr, i32 }
          cleanup
  br label %669

661:                                              ; preds = %652
  %662 = landingpad { ptr, i32 }
          cleanup
  br label %668

663:                                              ; preds = %654
  %664 = landingpad { ptr, i32 }
          cleanup
  br label %667

665:                                              ; preds = %655
  %666 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %93) #8
  br label %667

667:                                              ; preds = %665, %663
  %.pn351 = phi { ptr, i32 } [ %666, %665 ], [ %664, %663 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %94) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %94) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %93) #8
  br label %668

668:                                              ; preds = %667, %661
  %.pn351.pn = phi { ptr, i32 } [ %.pn351, %667 ], [ %662, %661 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %92) #8
  br label %669

669:                                              ; preds = %668, %659
  %.pn351.pn.pn = phi { ptr, i32 } [ %.pn351.pn, %668 ], [ %660, %659 ]
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %92) #8
  br label %761

670:                                              ; preds = %650
  %671 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IdSaIdEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %84, i64 noundef %indvars.iv) #8
  %672 = invoke noundef zeroext i1 @_ZN4sptk10ReadStreamIdEEbbiiiPSt6vectorIT_SaIS2_EEPSiPi(i1 noundef zeroext false, i32 noundef 0, i32 noundef 0, i32 noundef %646, ptr noundef nonnull %671, ptr noundef nonnull %88, ptr noundef null)
          to label %673 unwind label %657

673:                                              ; preds = %670
  br i1 %672, label %691, label %674

674:                                              ; preds = %673
  call void @llvm.lifetime.start.p0(i64 376, ptr nonnull %95) #8
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %95)
          to label %675 unwind label %680

675:                                              ; preds = %674
  %676 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %95, ptr noundef nonnull @.str.19)
          to label %677 unwind label %682

677:                                              ; preds = %675
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %96) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %97) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %97) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %96, ptr noundef nonnull @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %97)
          to label %678 unwind label %684

678:                                              ; preds = %677
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %96, ptr noundef nonnull align 8 dereferenceable(112) %95)
          to label %679 unwind label %686

679:                                              ; preds = %678
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %96) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %97) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %97) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %96) #8
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %95) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %95) #8
  br label %.thread456

680:                                              ; preds = %674
  %681 = landingpad { ptr, i32 }
          cleanup
  br label %690

682:                                              ; preds = %675
  %683 = landingpad { ptr, i32 }
          cleanup
  br label %689

684:                                              ; preds = %677
  %685 = landingpad { ptr, i32 }
          cleanup
  br label %688

686:                                              ; preds = %678
  %687 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %96) #8
  br label %688

688:                                              ; preds = %686, %684
  %.pn355 = phi { ptr, i32 } [ %687, %686 ], [ %685, %684 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %97) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %97) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %96) #8
  br label %689

689:                                              ; preds = %688, %682
  %.pn355.pn = phi { ptr, i32 } [ %.pn355, %688 ], [ %683, %682 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %95) #8
  br label %690

690:                                              ; preds = %689, %680
  %.pn355.pn.pn = phi { ptr, i32 } [ %.pn355.pn, %689 ], [ %681, %680 ]
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %95) #8
  br label %761

691:                                              ; preds = %673
  %692 = call noundef nonnull align 8 dereferenceable(64) ptr @_ZNSt6vectorIN4sptk15SymmetricMatrixESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %86, i64 noundef %indvars.iv) #8
  invoke void @_ZN4sptk15SymmetricMatrix6ResizeEi(ptr noundef nonnull align 8 dereferenceable(64) %692, i32 noundef %646)
          to label %693 unwind label %657

693:                                              ; preds = %691
  br i1 %.095, label %694, label %715

694:                                              ; preds = %693
  %695 = call noundef nonnull align 8 dereferenceable(64) ptr @_ZNSt6vectorIN4sptk15SymmetricMatrixESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %86, i64 noundef %indvars.iv) #8
  %696 = invoke noundef zeroext i1 @_ZN4sptk10ReadStreamEPNS_15SymmetricMatrixEPSi(ptr noundef nonnull %695, ptr noundef nonnull %88)
          to label %697 unwind label %657

697:                                              ; preds = %694
  br i1 %696, label %741, label %698

698:                                              ; preds = %697
  call void @llvm.lifetime.start.p0(i64 376, ptr nonnull %98) #8
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %98)
          to label %699 unwind label %704

699:                                              ; preds = %698
  %700 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %98, ptr noundef nonnull @.str.20)
          to label %701 unwind label %706

701:                                              ; preds = %699
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %99) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %100) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %100) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %99, ptr noundef nonnull @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %100)
          to label %702 unwind label %708

702:                                              ; preds = %701
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %99, ptr noundef nonnull align 8 dereferenceable(112) %98)
          to label %703 unwind label %710

703:                                              ; preds = %702
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %99) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %100) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %100) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %99) #8
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %98) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %98) #8
  br label %.thread456

704:                                              ; preds = %698
  %705 = landingpad { ptr, i32 }
          cleanup
  br label %714

706:                                              ; preds = %699
  %707 = landingpad { ptr, i32 }
          cleanup
  br label %713

708:                                              ; preds = %701
  %709 = landingpad { ptr, i32 }
          cleanup
  br label %712

710:                                              ; preds = %702
  %711 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %99) #8
  br label %712

712:                                              ; preds = %710, %708
  %.pn365 = phi { ptr, i32 } [ %711, %710 ], [ %709, %708 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %100) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %100) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %99) #8
  br label %713

713:                                              ; preds = %712, %706
  %.pn365.pn = phi { ptr, i32 } [ %.pn365, %712 ], [ %707, %706 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %98) #8
  br label %714

714:                                              ; preds = %713, %704
  %.pn365.pn.pn = phi { ptr, i32 } [ %.pn365.pn, %713 ], [ %705, %704 ]
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %98) #8
  br label %761

715:                                              ; preds = %693
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %101) #8
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %101) #8
  %716 = invoke noundef zeroext i1 @_ZN4sptk10ReadStreamIdEEbbiiiPSt6vectorIT_SaIS2_EEPSiPi(i1 noundef zeroext false, i32 noundef 0, i32 noundef 0, i32 noundef %646, ptr noundef nonnull %101, ptr noundef nonnull %88, ptr noundef null)
          to label %717 unwind label %723

717:                                              ; preds = %715
  br i1 %716, label %736, label %718

718:                                              ; preds = %717
  call void @llvm.lifetime.start.p0(i64 376, ptr nonnull %102) #8
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %102)
          to label %719 unwind label %725

719:                                              ; preds = %718
  %720 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %102, ptr noundef nonnull @.str.21)
          to label %721 unwind label %727

721:                                              ; preds = %719
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %103) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %104) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %104) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %103, ptr noundef nonnull @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %104)
          to label %722 unwind label %729

722:                                              ; preds = %721
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %103, ptr noundef nonnull align 8 dereferenceable(112) %102)
          to label %739 unwind label %731

723:                                              ; preds = %736, %715
  %724 = landingpad { ptr, i32 }
          cleanup
  br label %740

725:                                              ; preds = %718
  %726 = landingpad { ptr, i32 }
          cleanup
  br label %735

727:                                              ; preds = %719
  %728 = landingpad { ptr, i32 }
          cleanup
  br label %734

729:                                              ; preds = %721
  %730 = landingpad { ptr, i32 }
          cleanup
  br label %733

731:                                              ; preds = %722
  %732 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %103) #8
  br label %733

733:                                              ; preds = %731, %729
  %.pn359 = phi { ptr, i32 } [ %732, %731 ], [ %730, %729 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %104) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %104) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %103) #8
  br label %734

734:                                              ; preds = %733, %727
  %.pn359.pn = phi { ptr, i32 } [ %.pn359, %733 ], [ %728, %727 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %102) #8
  br label %735

735:                                              ; preds = %734, %725
  %.pn359.pn.pn = phi { ptr, i32 } [ %.pn359.pn, %734 ], [ %726, %725 ]
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %102) #8
  br label %740

736:                                              ; preds = %717
  %737 = call noundef nonnull align 8 dereferenceable(64) ptr @_ZNSt6vectorIN4sptk15SymmetricMatrixESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %86, i64 noundef %indvars.iv) #8
  %738 = invoke noundef zeroext i1 @_ZNK4sptk15SymmetricMatrix11SetDiagonalERKSt6vectorIdSaIdEE(ptr noundef nonnull align 8 dereferenceable(64) %737, ptr noundef nonnull align 8 dereferenceable(24) %101)
          to label %.thread453 unwind label %723

.thread453:                                       ; preds = %736
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %101) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %101) #8
  br label %741

739:                                              ; preds = %722
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %103) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %104) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %104) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %103) #8
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %102) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %102) #8
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %101) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %101) #8
  br label %.thread456

740:                                              ; preds = %735, %723
  %.pn363 = phi { ptr, i32 } [ %724, %723 ], [ %.pn359.pn.pn, %735 ]
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %101) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %101) #8
  br label %761

741:                                              ; preds = %.thread453, %697
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
  %742 = load i32, ptr %5, align 4, !tbaa !5
  %743 = sext i32 %742 to i64
  %.not = icmp slt i64 %indvars.iv.next, %743
  br i1 %.not, label %.lr.ph620, label %._crit_edge, !llvm.loop !18

.thread456:                                       ; preds = %616, %703, %739, %679, %656
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %88) #8
  call void @llvm.lifetime.end.p0(i64 520, ptr nonnull %88) #8
  br label %876

._crit_edge:                                      ; preds = %741, %638
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %88) #8
  call void @llvm.lifetime.end.p0(i64 520, ptr nonnull %88) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %105) #8
  call void @_ZNSt6vectorIS_IdSaIdEESaIS1_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %105) #8
  call void @llvm.lifetime.start.p0(i64 520, ptr nonnull %106) #8
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(256) %106)
          to label %744 unwind label %763

744:                                              ; preds = %._crit_edge
  %.not376 = icmp eq ptr %.0128, null
  br i1 %.not376, label %778, label %745

745:                                              ; preds = %744
  %746 = call noundef i32 @_ZStorSt13_Ios_OpenmodeS_(i32 noundef 8, i32 noundef 4)
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(256) %106, ptr noundef nonnull %.0128, i32 noundef %746)
          to label %747 unwind label %765

747:                                              ; preds = %745
  %748 = load ptr, ptr %106, align 8, !tbaa !15
  %749 = getelementptr i8, ptr %748, i64 -24
  %750 = load i64, ptr %749, align 8
  %751 = getelementptr inbounds i8, ptr %106, i64 %750
  %752 = invoke noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE4failEv(ptr noundef nonnull align 8 dereferenceable(264) %751)
          to label %753 unwind label %765

753:                                              ; preds = %747
  br i1 %752, label %754, label %778

754:                                              ; preds = %753
  call void @llvm.lifetime.start.p0(i64 376, ptr nonnull %107) #8
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %107)
          to label %755 unwind label %767

755:                                              ; preds = %754
  %756 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %107, ptr noundef nonnull @.str.12)
          to label %757 unwind label %769

757:                                              ; preds = %755
  %758 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %756, ptr noundef nonnull %.0128)
          to label %759 unwind label %769

759:                                              ; preds = %757
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %108) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %109) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %109) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %108, ptr noundef nonnull @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %109)
          to label %760 unwind label %771

760:                                              ; preds = %759
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %108, ptr noundef nonnull align 8 dereferenceable(112) %107)
          to label %793 unwind label %773

761:                                              ; preds = %657, %669, %690, %714, %740, %637, %625
  %.pn370.pn.pn.pn = phi { ptr, i32 } [ %.pn370.pn.pn, %637 ], [ %626, %625 ], [ %.pn365.pn.pn, %714 ], [ %658, %657 ], [ %.pn363, %740 ], [ %.pn355.pn.pn, %690 ], [ %.pn351.pn.pn, %669 ]
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %88) #8
  br label %762

762:                                              ; preds = %761, %623
  %.pn370.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn370.pn.pn.pn, %761 ], [ %624, %623 ]
  call void @llvm.lifetime.end.p0(i64 520, ptr nonnull %88) #8
  br label %877

763:                                              ; preds = %._crit_edge
  %764 = landingpad { ptr, i32 }
          cleanup
  br label %807

765:                                              ; preds = %747, %745
  %766 = landingpad { ptr, i32 }
          cleanup
  br label %806

767:                                              ; preds = %754
  %768 = landingpad { ptr, i32 }
          cleanup
  br label %777

769:                                              ; preds = %757, %755
  %770 = landingpad { ptr, i32 }
          cleanup
  br label %776

771:                                              ; preds = %759
  %772 = landingpad { ptr, i32 }
          cleanup
  br label %775

773:                                              ; preds = %760
  %774 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %108) #8
  br label %775

775:                                              ; preds = %773, %771
  %.pn377 = phi { ptr, i32 } [ %774, %773 ], [ %772, %771 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %109) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %109) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %108) #8
  br label %776

776:                                              ; preds = %775, %769
  %.pn377.pn = phi { ptr, i32 } [ %.pn377, %775 ], [ %770, %769 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %107) #8
  br label %777

777:                                              ; preds = %776, %767
  %.pn377.pn.pn = phi { ptr, i32 } [ %.pn377.pn, %776 ], [ %768, %767 ]
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %107) #8
  br label %806

778:                                              ; preds = %753, %744
  %779 = call noundef zeroext i1 @_ZNSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv(ptr noundef nonnull align 8 dereferenceable(256) %106)
  %780 = select i1 %779, ptr %106, ptr @_ZSt3cin
  %781 = call noundef i64 @_ZNKSt6vectorIS_IdSaIdEESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %6) #8
  %782 = trunc i64 %781 to i32
  %783 = add i32 %782, 1
  %784 = load i32, ptr %3, align 4, !tbaa !5
  %785 = add nsw i32 %784, 1
  %786 = mul nsw i32 %783, %785
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %110) #8
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %110) #8
  br label %787

787:                                              ; preds = %790, %778
  %788 = invoke noundef zeroext i1 @_ZN4sptk10ReadStreamIdEEbbiiiPSt6vectorIT_SaIS2_EEPSiPi(i1 noundef zeroext false, i32 noundef 0, i32 noundef 0, i32 noundef %786, ptr noundef nonnull %110, ptr noundef nonnull %780, ptr noundef null)
          to label %789 unwind label %791

789:                                              ; preds = %787
  br i1 %788, label %790, label %794

790:                                              ; preds = %789
  invoke void @_ZNSt6vectorIS_IdSaIdEESaIS1_EE9push_backERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %105, ptr noundef nonnull align 8 dereferenceable(24) %110)
          to label %787 unwind label %791, !llvm.loop !19

791:                                              ; preds = %790, %787
  %792 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %110) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %110) #8
  br label %806

793:                                              ; preds = %760
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %108) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %109) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %109) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %108) #8
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %107) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %107) #8
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %106) #8
  call void @llvm.lifetime.end.p0(i64 520, ptr nonnull %106) #8
  br label %874

794:                                              ; preds = %789
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %110) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %110) #8
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %106) #8
  call void @llvm.lifetime.end.p0(i64 520, ptr nonnull %106) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %111) #8
  call void @_ZNSt6vectorIS_IdSaIdEESaIS1_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %111) #8
  call void @llvm.lifetime.start.p0(i64 264, ptr nonnull %112) #8
  %795 = load i32, ptr %3, align 4, !tbaa !5
  %796 = load i32, ptr %4, align 4, !tbaa !5
  %797 = load double, ptr %7, align 8, !tbaa !9
  invoke void @_ZN4sptk35GaussianMixtureModelBasedConversionC1EiiRKSt6vectorIS1_IdSaIdEESaIS3_EERKS3_S7_RKS1_INS_15SymmetricMatrixESaISA_EEbd(ptr noundef nonnull align 8 dereferenceable(264) %112, i32 noundef %795, i32 noundef %796, ptr noundef nonnull align 8 dereferenceable(24) %6, ptr noundef nonnull align 8 dereferenceable(24) %82, ptr noundef nonnull align 8 dereferenceable(24) %84, ptr noundef nonnull align 8 dereferenceable(24) %86, i1 noundef zeroext %.0103, double noundef %797)
          to label %798 unwind label %808

798:                                              ; preds = %794
  %799 = call noundef zeroext i1 @_ZNK4sptk35GaussianMixtureModelBasedConversion7IsValidEv(ptr noundef nonnull align 8 dereferenceable(264) %112)
  br i1 %799, label %823, label %800

800:                                              ; preds = %798
  call void @llvm.lifetime.start.p0(i64 376, ptr nonnull %113) #8
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %113)
          to label %801 unwind label %812

801:                                              ; preds = %800
  %802 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %113, ptr noundef nonnull @.str.22)
          to label %803 unwind label %814

803:                                              ; preds = %801
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %114) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %115) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %115) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %114, ptr noundef nonnull @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %115)
          to label %804 unwind label %816

804:                                              ; preds = %803
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %114, ptr noundef nonnull align 8 dereferenceable(112) %113)
          to label %805 unwind label %818

805:                                              ; preds = %804
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %114) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %115) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %115) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %114) #8
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %113) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %113) #8
  br label %.thread465

806:                                              ; preds = %791, %777, %765
  %.pn377.pn.pn.pn = phi { ptr, i32 } [ %.pn377.pn.pn, %777 ], [ %792, %791 ], [ %766, %765 ]
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %106) #8
  br label %807

807:                                              ; preds = %806, %763
  %.pn377.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn377.pn.pn.pn, %806 ], [ %764, %763 ]
  call void @llvm.lifetime.end.p0(i64 520, ptr nonnull %106) #8
  br label %875

808:                                              ; preds = %794
  %809 = landingpad { ptr, i32 }
          cleanup
  br label %848

810:                                              ; preds = %823
  %811 = landingpad { ptr, i32 }
          cleanup
  br label %847

812:                                              ; preds = %800
  %813 = landingpad { ptr, i32 }
          cleanup
  br label %822

814:                                              ; preds = %801
  %815 = landingpad { ptr, i32 }
          cleanup
  br label %821

816:                                              ; preds = %803
  %817 = landingpad { ptr, i32 }
          cleanup
  br label %820

818:                                              ; preds = %804
  %819 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %114) #8
  br label %820

820:                                              ; preds = %818, %816
  %.pn383 = phi { ptr, i32 } [ %819, %818 ], [ %817, %816 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %115) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %115) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %114) #8
  br label %821

821:                                              ; preds = %820, %814
  %.pn383.pn = phi { ptr, i32 } [ %.pn383, %820 ], [ %815, %814 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %113) #8
  br label %822

822:                                              ; preds = %821, %812
  %.pn383.pn.pn = phi { ptr, i32 } [ %.pn383.pn, %821 ], [ %813, %812 ]
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %113) #8
  br label %847

823:                                              ; preds = %798
  %824 = invoke noundef zeroext i1 @_ZNK4sptk35GaussianMixtureModelBasedConversion3RunERKSt6vectorIS1_IdSaIdEESaIS3_EEPS5_(ptr noundef nonnull align 8 dereferenceable(264) %112, ptr noundef nonnull align 8 dereferenceable(24) %105, ptr noundef nonnull %111)
          to label %825 unwind label %810

825:                                              ; preds = %823
  br i1 %824, label %843, label %826

826:                                              ; preds = %825
  call void @llvm.lifetime.start.p0(i64 376, ptr nonnull %116) #8
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %116)
          to label %827 unwind label %832

827:                                              ; preds = %826
  %828 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %116, ptr noundef nonnull @.str.23)
          to label %829 unwind label %834

829:                                              ; preds = %827
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %117) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %118) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %118) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %117, ptr noundef nonnull @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %118)
          to label %830 unwind label %836

830:                                              ; preds = %829
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %117, ptr noundef nonnull align 8 dereferenceable(112) %116)
          to label %831 unwind label %838

831:                                              ; preds = %830
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %117) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %118) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %118) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %117) #8
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %116) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %116) #8
  br label %.thread465

832:                                              ; preds = %826
  %833 = landingpad { ptr, i32 }
          cleanup
  br label %842

834:                                              ; preds = %827
  %835 = landingpad { ptr, i32 }
          cleanup
  br label %841

836:                                              ; preds = %829
  %837 = landingpad { ptr, i32 }
          cleanup
  br label %840

838:                                              ; preds = %830
  %839 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %117) #8
  br label %840

840:                                              ; preds = %838, %836
  %.pn387 = phi { ptr, i32 } [ %839, %838 ], [ %837, %836 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %118) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %118) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %117) #8
  br label %841

841:                                              ; preds = %840, %834
  %.pn387.pn = phi { ptr, i32 } [ %.pn387, %840 ], [ %835, %834 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %116) #8
  br label %842

842:                                              ; preds = %841, %832
  %.pn387.pn.pn = phi { ptr, i32 } [ %.pn387.pn, %841 ], [ %833, %832 ]
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %116) #8
  br label %847

.thread465:                                       ; preds = %831, %805
  call void @_ZN4sptk35GaussianMixtureModelBasedConversionD2Ev(ptr noundef nonnull align 8 dereferenceable(264) %112) #8
  call void @llvm.lifetime.end.p0(i64 264, ptr nonnull %112) #8
  br label %.loopexit

843:                                              ; preds = %825
  call void @_ZN4sptk35GaussianMixtureModelBasedConversionD2Ev(ptr noundef nonnull align 8 dereferenceable(264) %112) #8
  call void @llvm.lifetime.end.p0(i64 264, ptr nonnull %112) #8
  %844 = call noundef i64 @_ZNKSt6vectorIS_IdSaIdEESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %111) #8
  %845 = trunc i64 %844 to i32
  %.not406621 = icmp sgt i32 %845, 0
  br i1 %.not406621, label %.lr.ph624.preheader, label %.loopexit

.lr.ph624.preheader:                              ; preds = %843
  %wide.trip.count = and i64 %844, 2147483647
  br label %.lr.ph624

846:                                              ; preds = %853
  %indvars.iv.next765 = add nuw nsw i64 %indvars.iv764, 1
  %exitcond.not = icmp eq i64 %indvars.iv.next765, %wide.trip.count
  br i1 %exitcond.not, label %.loopexit, label %.lr.ph624, !llvm.loop !20

847:                                              ; preds = %842, %822, %810
  %.pn387.pn.pn.pn = phi { ptr, i32 } [ %.pn387.pn.pn, %842 ], [ %811, %810 ], [ %.pn383.pn.pn, %822 ]
  call void @_ZN4sptk35GaussianMixtureModelBasedConversionD2Ev(ptr noundef nonnull align 8 dereferenceable(264) %112) #8
  br label %848

848:                                              ; preds = %847, %808
  %.pn387.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn387.pn.pn.pn, %847 ], [ %809, %808 ]
  call void @llvm.lifetime.end.p0(i64 264, ptr nonnull %112) #8
  br label %873

.lr.ph624:                                        ; preds = %.lr.ph624.preheader, %846
  %indvars.iv764 = phi i64 [ 0, %.lr.ph624.preheader ], [ %indvars.iv.next765, %846 ]
  %849 = load i32, ptr %4, align 4, !tbaa !5
  %850 = add nsw i32 %849, 1
  %851 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IdSaIdEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %111, i64 noundef %indvars.iv764) #8
  %852 = invoke noundef zeroext i1 @_ZN4sptk11WriteStreamIdEEbiiRKSt6vectorIT_SaIS2_EEPSoPi(i32 noundef 0, i32 noundef %850, ptr noundef nonnull align 8 dereferenceable(24) %851, ptr noundef nonnull @_ZSt4cout, ptr noundef null)
          to label %853 unwind label %860

853:                                              ; preds = %.lr.ph624
  br i1 %852, label %846, label %854

854:                                              ; preds = %853
  call void @llvm.lifetime.start.p0(i64 376, ptr nonnull %119) #8
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %119)
          to label %855 unwind label %862

855:                                              ; preds = %854
  %856 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %119, ptr noundef nonnull @.str.24)
          to label %857 unwind label %864

857:                                              ; preds = %855
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %120) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %121) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %121) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %120, ptr noundef nonnull @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %121)
          to label %858 unwind label %866

858:                                              ; preds = %857
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %120, ptr noundef nonnull align 8 dereferenceable(112) %119)
          to label %859 unwind label %868

859:                                              ; preds = %858
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %120) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %121) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %121) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %120) #8
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %119) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %119) #8
  br label %.loopexit

860:                                              ; preds = %.lr.ph624
  %861 = landingpad { ptr, i32 }
          cleanup
  br label %873

862:                                              ; preds = %854
  %863 = landingpad { ptr, i32 }
          cleanup
  br label %872

864:                                              ; preds = %855
  %865 = landingpad { ptr, i32 }
          cleanup
  br label %871

866:                                              ; preds = %857
  %867 = landingpad { ptr, i32 }
          cleanup
  br label %870

868:                                              ; preds = %858
  %869 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %120) #8
  br label %870

870:                                              ; preds = %868, %866
  %.pn393 = phi { ptr, i32 } [ %869, %868 ], [ %867, %866 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %121) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %121) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %120) #8
  br label %871

871:                                              ; preds = %870, %864
  %.pn393.pn = phi { ptr, i32 } [ %.pn393, %870 ], [ %865, %864 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %119) #8
  br label %872

872:                                              ; preds = %871, %862
  %.pn393.pn.pn = phi { ptr, i32 } [ %.pn393.pn, %871 ], [ %863, %862 ]
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %119) #8
  br label %873

.loopexit:                                        ; preds = %846, %843, %859, %.thread465
  %.17 = phi i32 [ 1, %.thread465 ], [ 1, %859 ], [ 0, %843 ], [ 0, %846 ]
  call void @_ZNSt6vectorIS_IdSaIdEESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %111) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %111) #8
  br label %874

873:                                              ; preds = %860, %872, %848
  %.pn393.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn387.pn.pn.pn.pn, %848 ], [ %.pn393.pn.pn, %872 ], [ %861, %860 ]
  call void @_ZNSt6vectorIS_IdSaIdEESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %111) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %111) #8
  br label %875

874:                                              ; preds = %793, %.loopexit
  %.18 = phi i32 [ %.17, %.loopexit ], [ 1, %793 ]
  call void @_ZNSt6vectorIS_IdSaIdEESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %105) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %105) #8
  br label %876

875:                                              ; preds = %873, %807
  %.pn393.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn393.pn.pn.pn.pn, %873 ], [ %.pn377.pn.pn.pn.pn, %807 ]
  call void @_ZNSt6vectorIS_IdSaIdEESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %105) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %105) #8
  br label %877

876:                                              ; preds = %.thread456, %874
  %.19 = phi i32 [ %.18, %874 ], [ 1, %.thread456 ]
  call void @_ZNSt6vectorIN4sptk15SymmetricMatrixESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %86) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %86) #8
  call void @_ZNSt6vectorIS_IdSaIdEESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %84) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %84) #8
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %82) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %82) #8
  br label %.thread435

877:                                              ; preds = %875, %762
  %.pn393.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn393.pn.pn.pn.pn.pn, %875 ], [ %.pn370.pn.pn.pn.pn, %762 ]
  call void @_ZNSt6vectorIN4sptk15SymmetricMatrixESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %86) #8
  br label %878

878:                                              ; preds = %877, %621
  %.pn393.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn393.pn.pn.pn.pn.pn.pn, %877 ], [ %622, %621 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %86) #8
  call void @_ZNSt6vectorIS_IdSaIdEESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %84) #8
  br label %879

879:                                              ; preds = %878, %619
  %.pn393.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn393.pn.pn.pn.pn.pn.pn.pn, %878 ], [ %620, %619 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %84) #8
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %82) #8
  br label %880

880:                                              ; preds = %879, %617
  %.pn393.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn393.pn.pn.pn.pn.pn.pn.pn.pn, %879 ], [ %618, %617 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %82) #8
  br label %881

.thread435:                                       ; preds = %.thread418, %.thread415, %534, %533, %137, %171, %200, %234, %263, %287, %353, %504, %416, %516, %556, %576, %876
  %.21 = phi i32 [ %.19, %876 ], [ 1, %576 ], [ 1, %556 ], [ 1, %.thread418 ], [ 1, %.thread415 ], [ 1, %534 ], [ 0, %533 ], [ 1, %137 ], [ 1, %171 ], [ 1, %200 ], [ 1, %234 ], [ 1, %263 ], [ 1, %287 ], [ 1, %353 ], [ 1, %504 ], [ 1, %416 ], [ 1, %516 ]
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %8) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #8
  call void @_ZNSt6vectorIS_IdSaIdEESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %5) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %4) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #8
  ret i32 %.21

881:                                              ; preds = %.loopexit474, %.loopexit.split-lp475, %567, %577, %589, %880, %142, %153, %176, %187, %205, %216, %239, %250, %268, %279, %298, %345, %364, %408, %427, %505, %521, %532
  %.pn393.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn259.pn.pn, %532 ], [ %.pn, %521 ], [ %.pn279.pn.pn, %427 ], [ %.pn276.pn, %505 ], [ %.pn289.pn.pn, %364 ], [ %.pn283.pn.pn.pn.pn, %408 ], [ %.pn302.pn.pn, %298 ], [ %.pn297.pn.pn.pn, %345 ], [ %.pn309.pn.pn, %279 ], [ %.pn306, %268 ], [ %.pn316.pn.pn, %250 ], [ %.pn313, %239 ], [ %.pn323.pn.pn, %216 ], [ %.pn320, %205 ], [ %.pn330.pn.pn, %187 ], [ %.pn327, %176 ], [ %.pn337.pn.pn, %153 ], [ %.pn334, %142 ], [ %.pn393.pn.pn.pn.pn.pn.pn.pn.pn.pn, %880 ], [ %.pn347.pn.pn, %589 ], [ %578, %577 ], [ %.pn343.pn.pn, %567 ], [ %lpad.loopexit476, %.loopexit474 ], [ %lpad.loopexit.split-lp477, %.loopexit.split-lp475 ]
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %8) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #8
  call void @_ZNSt6vectorIS_IdSaIdEESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %5) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %4) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #8
  resume { ptr, i32 } %.pn393.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn
}

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

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

; Function Attrs: mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #3

declare i32 @ya_getopt_long_only(i32 noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #4

declare i32 @__gxx_personality_v0(...)

declare noundef zeroext i1 @_ZN4sptk22ConvertStringToIntegerERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPi(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) local_unnamed_addr #4

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

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

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

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

; Function Attrs: mustprogress uwtable
declare void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112)) unnamed_addr #5 align 2

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

declare void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(112)) local_unnamed_addr #4

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

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

declare noundef zeroext i1 @_ZN4sptk21ConvertStringToDoubleERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPd(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) local_unnamed_addr #4

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

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

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

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZStorSt13_Ios_OpenmodeS_(i32 noundef, i32 noundef) local_unnamed_addr #7

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

declare noundef zeroext i1 @_ZN4sptk10ReadStreamIdEEbPT_PSi(ptr noundef, ptr noundef) local_unnamed_addr #4

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

declare noundef zeroext i1 @_ZN4sptk39ComputeFirstOrderRegressionCoefficientsEiPSt6vectorIdSaIdEE(i32 noundef, ptr noundef) local_unnamed_addr #4

declare noundef zeroext i1 @_ZN4sptk40ComputeSecondOrderRegressionCoefficientsEiPSt6vectorIdSaIdEE(i32 noundef, ptr noundef) local_unnamed_addr #4

; Function Attrs: mustprogress uwtable
declare hidden void @_ZN12_GLOBAL__N_110PrintUsageEPSo(ptr noundef) local_unnamed_addr #5

declare noundef zeroext i1 @_ZN4sptk13SetBinaryModeEv() local_unnamed_addr #4

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

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

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

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

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

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

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

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

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

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

declare noundef zeroext i1 @_ZN4sptk10ReadStreamIdEEbbiiiPSt6vectorIT_SaIS2_EEPSiPi(i1 noundef zeroext, i32 noundef, i32 noundef, i32 noundef, ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #4

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

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

declare void @_ZN4sptk15SymmetricMatrix6ResizeEi(ptr noundef nonnull align 8 dereferenceable(64), i32 noundef) local_unnamed_addr #4

declare noundef zeroext i1 @_ZN4sptk10ReadStreamEPNS_15SymmetricMatrixEPSi(ptr noundef, ptr noundef) local_unnamed_addr #4

declare noundef zeroext i1 @_ZNK4sptk15SymmetricMatrix11SetDiagonalERKSt6vectorIdSaIdEE(ptr noundef nonnull align 8 dereferenceable(64), ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #4

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

declare void @_ZN4sptk35GaussianMixtureModelBasedConversionC1EiiRKSt6vectorIS1_IdSaIdEESaIS3_EERKS3_S7_RKS1_INS_15SymmetricMatrixESaISA_EEbd(ptr noundef nonnull align 8 dereferenceable(264), i32 noundef, i32 noundef, ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), i1 noundef zeroext, double noundef) unnamed_addr #4

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

declare noundef zeroext i1 @_ZNK4sptk35GaussianMixtureModelBasedConversion3RunERKSt6vectorIS1_IdSaIdEESaIS3_EEPS5_(ptr noundef nonnull align 8 dereferenceable(264), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef) local_unnamed_addr #4

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

declare noundef zeroext i1 @_ZN4sptk11WriteStreamIdEEbiiRKSt6vectorIT_SaIS2_EEPSoPi(i32 noundef, i32 noundef, ptr noundef nonnull align 8 dereferenceable(24), ptr noundef, ptr noundef) local_unnamed_addr #4

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

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

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

attributes #0 = { mustprogress norecurse uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #4 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { 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 #7 = { inlinehint mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #8 = { 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 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"double", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"any pointer", !7, i64 0}
!13 = distinct !{!13, !14}
!14 = !{!"llvm.loop.mustprogress"}
!15 = !{!16, !16, i64 0}
!16 = !{!"vtable pointer", !8, i64 0}
!17 = distinct !{!17, !14}
!18 = distinct !{!18, !14}
!19 = distinct !{!19, !14}
!20 = distinct !{!20, !14}


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