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

; Unoptimized IR (clang -disable-llvm-passes):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

%"class.std::basic_ostream" = type { ptr, %"class.std::basic_ios" }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"class.std::locale" = type { ptr }
%"class.std::basic_istream" = type { ptr, i64, %"class.std::basic_ios" }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl" }
%"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl" = type { %"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl_data" }
%"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::__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<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::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::vector.9" = type { %"struct.std::_Vector_base.10" }
%"struct.std::_Vector_base.10" = 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::allocator.11" = type { i8 }
%"class.std::allocator.5" = type { i8 }
%"class.std::vector.14" = type { %"struct.std::_Vector_base.15" }
%"struct.std::_Vector_base.15" = 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.16" = type { i8 }
%"class.sptk::SymmetricMatrix::Row" = type <{ ptr, ptr, i32, [4 x i8] }>
%"class.sptk::GaussianMixtureModeling" = type { ptr, i32, i32, i32, double, i32, %"class.std::vector", double, double, i32, i32, double, %"class.std::vector.9", %"class.std::vector.3", %"class.std::vector.14", i8, i8, %"class.sptk::SymmetricMatrix", %"class.std::vector.9" }
%"class.sptk::SymmetricMatrix" = type { ptr, i32, %"class.std::vector.9", %"class.std::vector.19" }
%"class.std::vector.19" = type { %"struct.std::_Vector_base.20" }
%"struct.std::_Vector_base.20" = 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_ofstream" = type { %"class.std::basic_ostream.base", %"class.std::basic_filebuf", %"class.std::basic_ios" }

@.str = external hidden unnamed_addr constant [26 x i8], align 1
@ya_optarg = external global ptr, align 8
@.str.1 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [42 x i8], align 1
@ya_optind = external global i32, align 4
@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@_ZSt4cerr = external global %"class.std::basic_ostream", align 8
@.str.12 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [18 x i8], align 1
@_ZSt3cin = external global %"class.std::basic_istream", align 8
@.str.15 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.29 = 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 i32, align 4
  %9 = alloca double, align 8
  %10 = alloca double, align 8
  %11 = alloca double, align 8
  %12 = alloca double, align 8
  %13 = alloca ptr, align 8
  %14 = alloca ptr, align 8
  %15 = alloca i8, align 1
  %16 = alloca i8, align 1
  %17 = alloca %"class.std::vector", align 8
  %18 = alloca i32, align 4
  %19 = alloca ptr, align 8
  %20 = alloca i32, align 4
  %21 = alloca i32, align 4
  %22 = alloca %"class.std::__cxx11::basic_string", align 8
  %23 = alloca %"class.std::allocator.0", align 1
  %24 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %25 = alloca %"class.std::__cxx11::basic_string", align 8
  %26 = alloca %"class.std::allocator.0", align 1
  %27 = alloca %"class.std::__cxx11::basic_string", align 8
  %28 = alloca %"class.std::allocator.0", align 1
  %29 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %30 = alloca %"class.std::__cxx11::basic_string", align 8
  %31 = alloca %"class.std::allocator.0", align 1
  %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::__cxx11::basic_string", align 8
  %38 = alloca %"class.std::allocator.0", align 1
  %39 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %40 = alloca %"class.std::__cxx11::basic_string", align 8
  %41 = alloca %"class.std::allocator.0", align 1
  %42 = alloca %"class.std::__cxx11::basic_string", align 8
  %43 = alloca %"class.std::allocator.0", align 1
  %44 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %45 = alloca %"class.std::__cxx11::basic_string", align 8
  %46 = alloca %"class.std::allocator.0", align 1
  %47 = alloca %"class.std::__cxx11::basic_string", align 8
  %48 = alloca %"class.std::allocator.0", align 1
  %49 = alloca %"class.std::__cxx11::basic_ostringstream", 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_string", align 8
  %53 = alloca %"class.std::allocator.0", align 1
  %54 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %55 = alloca %"class.std::__cxx11::basic_string", align 8
  %56 = alloca %"class.std::allocator.0", align 1
  %57 = alloca %"class.std::__cxx11::basic_string", align 8
  %58 = alloca %"class.std::allocator.0", align 1
  %59 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %60 = alloca %"class.std::__cxx11::basic_string", align 8
  %61 = alloca %"class.std::allocator.0", align 1
  %62 = alloca i32, align 4
  %63 = alloca %"class.std::__cxx11::basic_string", align 8
  %64 = alloca %"class.std::allocator.0", align 1
  %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::__cxx11::basic_string", align 8
  %69 = alloca i1, align 1
  %70 = alloca %"class.std::allocator.0", align 1
  %71 = alloca i1, align 1
  %72 = alloca i1, align 1
  %73 = alloca i1, align 1
  %74 = alloca i32, align 4
  %75 = alloca i32, align 4
  %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 ptr, align 8
  %80 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %81 = alloca %"class.std::__cxx11::basic_string", align 8
  %82 = alloca %"class.std::allocator.0", align 1
  %83 = alloca %"class.std::vector.3", align 8
  %84 = alloca %"class.std::basic_ifstream", align 8
  %85 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %86 = alloca %"class.std::__cxx11::basic_string", align 8
  %87 = alloca %"class.std::allocator.0", align 1
  %88 = alloca ptr, align 8
  %89 = alloca i32, align 4
  %90 = alloca %"class.std::vector.9", align 8
  %91 = alloca %"class.std::allocator.11", align 1
  %92 = alloca i8, align 1
  %93 = alloca %"class.std::vector.9", align 8
  %94 = alloca %"class.std::allocator.11", align 1
  %95 = alloca %"class.std::vector.3", align 8
  %96 = alloca %"class.std::allocator.5", align 1
  %97 = alloca %"class.std::vector.14", align 8
  %98 = alloca %"class.std::allocator.16", align 1
  %99 = alloca %"class.std::basic_ifstream", align 8
  %100 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %101 = alloca %"class.std::__cxx11::basic_string", align 8
  %102 = alloca %"class.std::allocator.0", align 1
  %103 = alloca ptr, align 8
  %104 = alloca i32, align 4
  %105 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %106 = alloca %"class.std::__cxx11::basic_string", align 8
  %107 = alloca %"class.std::allocator.0", align 1
  %108 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %109 = alloca %"class.std::__cxx11::basic_string", align 8
  %110 = alloca %"class.std::allocator.0", align 1
  %111 = alloca %"class.std::vector.9", align 8
  %112 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %113 = alloca %"class.std::__cxx11::basic_string", align 8
  %114 = alloca %"class.std::allocator.0", align 1
  %115 = alloca i32, align 4
  %116 = alloca %"class.sptk::SymmetricMatrix::Row", align 8
  %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.sptk::GaussianMixtureModeling", align 8
  %121 = alloca %"class.std::vector", align 8
  %122 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %123 = alloca %"class.std::__cxx11::basic_string", align 8
  %124 = alloca %"class.std::allocator.0", align 1
  %125 = alloca double, align 8
  %126 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %127 = alloca %"class.std::__cxx11::basic_string", align 8
  %128 = alloca %"class.std::allocator.0", align 1
  %129 = alloca i32, align 4
  %130 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %131 = alloca %"class.std::__cxx11::basic_string", align 8
  %132 = alloca %"class.std::allocator.0", align 1
  %133 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %134 = alloca %"class.std::__cxx11::basic_string", align 8
  %135 = alloca %"class.std::allocator.0", align 1
  %136 = alloca %"class.std::vector.9", align 8
  %137 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %138 = alloca %"class.std::__cxx11::basic_string", align 8
  %139 = alloca %"class.std::allocator.0", align 1
  %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::basic_ofstream", align 8
  %144 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %145 = alloca %"class.std::__cxx11::basic_string", align 8
  %146 = alloca %"class.std::allocator.0", align 1
  %147 = alloca ptr, align 8
  %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) #7
  store i32 25, ptr %6, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %7) #7
  store i32 16, ptr %7, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %8) #7
  store i32 20, ptr %8, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %9) #7
  store double 1.000000e-05, ptr %9, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %10) #7
  store double 1.000000e-05, ptr %10, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %11) #7
  store double 0x3EB0C6F7A0B5ED8D, ptr %11, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %12) #7
  store double 0.000000e+00, ptr %12, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %13) #7
  store ptr null, ptr %13, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %14) #7
  store ptr null, ptr %14, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %15) #7
  store i8 0, ptr %15, align 1, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 1, ptr %16) #7
  store i8 0, ptr %16, align 1, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 24, ptr %17) #7
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %17) #7
  br label %151

151:                                              ; preds = %653, %2
  call void @llvm.lifetime.start.p0(i64 4, ptr %18) #7
  %152 = load i32, ptr %4, align 4, !tbaa !5
  %153 = load ptr, ptr %5, align 8, !tbaa !9
  %154 = invoke i32 @ya_getopt_long(i32 noundef %152, ptr noundef %153, ptr noundef @.str, ptr noundef null, ptr noundef null)
          to label %155 unwind label %159

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

158:                                              ; preds = %155
  store i32 2, ptr %21, align 4
  br label %651

159:                                              ; preds = %648, %646, %151
  %160 = landingpad { ptr, i32 }
          cleanup
  %161 = extractvalue { ptr, i32 } %160, 0
  store ptr %161, ptr %19, align 8
  %162 = extractvalue { ptr, i32 } %160, 1
  store i32 %162, ptr %20, align 4
  br label %654

163:                                              ; preds = %155
  %164 = load i32, ptr %18, align 4, !tbaa !5
  switch i32 %164, label %648 [
    i32 108, label %165
    i32 109, label %212
    i32 107, label %259
    i32 105, label %304
    i32 100, label %349
    i32 119, label %394
    i32 118, label %439
    i32 77, label %484
    i32 85, label %532
    i32 83, label %534
    i32 102, label %536
    i32 86, label %537
    i32 66, label %538
    i32 104, label %646
  ]

165:                                              ; preds = %163
  call void @llvm.lifetime.start.p0(i64 32, ptr %22) #7
  %166 = load ptr, ptr @ya_optarg, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %23) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %23) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef %166, ptr noundef nonnull align 1 dereferenceable(1) %23)
          to label %167 unwind label %181

167:                                              ; preds = %165
  %168 = invoke noundef zeroext i1 @_ZN4sptk22ConvertStringToIntegerERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPi(ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef %6)
          to label %169 unwind label %185

169:                                              ; preds = %167
  br i1 %168, label %170, label %173

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

173:                                              ; preds = %170, %169
  %174 = phi i1 [ true, %169 ], [ %172, %170 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %23) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %23) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %22) #7
  br i1 %174, label %175, label %209

175:                                              ; preds = %173
  call void @llvm.lifetime.start.p0(i64 376, ptr %24) #7
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %24)
          to label %176 unwind label %190

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

178:                                              ; preds = %176
  call void @llvm.lifetime.start.p0(i64 32, ptr %25) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %26) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %26) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %26)
          to label %179 unwind label %198

179:                                              ; preds = %178
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull align 8 dereferenceable(112) %24)
          to label %180 unwind label %202

180:                                              ; preds = %179
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %26) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %26) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %25) #7
  store i32 1, ptr %3, align 4
  store i32 1, ptr %21, align 4
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %24) #7
  call void @llvm.lifetime.end.p0(i64 376, ptr %24) #7
  br label %651

181:                                              ; preds = %165
  %182 = landingpad { ptr, i32 }
          cleanup
  %183 = extractvalue { ptr, i32 } %182, 0
  store ptr %183, ptr %19, align 8
  %184 = extractvalue { ptr, i32 } %182, 1
  store i32 %184, ptr %20, align 4
  br label %189

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

189:                                              ; preds = %185, %181
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %23) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %23) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %22) #7
  br label %654

190:                                              ; preds = %175
  %191 = landingpad { ptr, i32 }
          cleanup
  %192 = extractvalue { ptr, i32 } %191, 0
  store ptr %192, ptr %19, align 8
  %193 = extractvalue { ptr, i32 } %191, 1
  store i32 %193, ptr %20, align 4
  br label %208

194:                                              ; preds = %176
  %195 = landingpad { ptr, i32 }
          cleanup
  %196 = extractvalue { ptr, i32 } %195, 0
  store ptr %196, ptr %19, align 8
  %197 = extractvalue { ptr, i32 } %195, 1
  store i32 %197, ptr %20, align 4
  br label %207

198:                                              ; preds = %178
  %199 = landingpad { ptr, i32 }
          cleanup
  %200 = extractvalue { ptr, i32 } %199, 0
  store ptr %200, ptr %19, align 8
  %201 = extractvalue { ptr, i32 } %199, 1
  store i32 %201, ptr %20, align 4
  br label %206

202:                                              ; preds = %179
  %203 = landingpad { ptr, i32 }
          cleanup
  %204 = extractvalue { ptr, i32 } %203, 0
  store ptr %204, ptr %19, align 8
  %205 = extractvalue { ptr, i32 } %203, 1
  store i32 %205, ptr %20, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #7
  br label %206

206:                                              ; preds = %202, %198
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %26) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %26) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %25) #7
  br label %207

207:                                              ; preds = %206, %194
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %24) #7
  br label %208

208:                                              ; preds = %207, %190
  call void @llvm.lifetime.end.p0(i64 376, ptr %24) #7
  br label %654

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

212:                                              ; preds = %163
  call void @llvm.lifetime.start.p0(i64 32, ptr %27) #7
  %213 = load ptr, ptr @ya_optarg, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %28) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %27, ptr noundef %213, ptr noundef nonnull align 1 dereferenceable(1) %28)
          to label %214 unwind label %230

214:                                              ; preds = %212
  %215 = invoke noundef zeroext i1 @_ZN4sptk22ConvertStringToIntegerERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPi(ptr noundef nonnull align 8 dereferenceable(32) %27, ptr noundef %6)
          to label %216 unwind label %234

216:                                              ; preds = %214
  br i1 %215, label %217, label %220

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

220:                                              ; preds = %217, %216
  %221 = phi i1 [ true, %216 ], [ %219, %217 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %28) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %27) #7
  br i1 %221, label %222, label %258

222:                                              ; preds = %220
  call void @llvm.lifetime.start.p0(i64 376, ptr %29) #7
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %29)
          to label %223 unwind label %239

223:                                              ; preds = %222
  %224 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %29, ptr noundef @.str.3)
          to label %225 unwind label %243

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

227:                                              ; preds = %225
  call void @llvm.lifetime.start.p0(i64 32, ptr %30) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %31) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %31)
          to label %228 unwind label %247

228:                                              ; preds = %227
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef nonnull align 8 dereferenceable(112) %29)
          to label %229 unwind label %251

229:                                              ; preds = %228
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %31) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %30) #7
  store i32 1, ptr %3, align 4
  store i32 1, ptr %21, align 4
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %29) #7
  call void @llvm.lifetime.end.p0(i64 376, ptr %29) #7
  br label %651

230:                                              ; preds = %212
  %231 = landingpad { ptr, i32 }
          cleanup
  %232 = extractvalue { ptr, i32 } %231, 0
  store ptr %232, ptr %19, align 8
  %233 = extractvalue { ptr, i32 } %231, 1
  store i32 %233, ptr %20, align 4
  br label %238

234:                                              ; preds = %214
  %235 = landingpad { ptr, i32 }
          cleanup
  %236 = extractvalue { ptr, i32 } %235, 0
  store ptr %236, ptr %19, align 8
  %237 = extractvalue { ptr, i32 } %235, 1
  store i32 %237, ptr %20, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #7
  br label %238

238:                                              ; preds = %234, %230
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %28) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %27) #7
  br label %654

239:                                              ; preds = %222
  %240 = landingpad { ptr, i32 }
          cleanup
  %241 = extractvalue { ptr, i32 } %240, 0
  store ptr %241, ptr %19, align 8
  %242 = extractvalue { ptr, i32 } %240, 1
  store i32 %242, ptr %20, align 4
  br label %257

243:                                              ; preds = %225, %223
  %244 = landingpad { ptr, i32 }
          cleanup
  %245 = extractvalue { ptr, i32 } %244, 0
  store ptr %245, ptr %19, align 8
  %246 = extractvalue { ptr, i32 } %244, 1
  store i32 %246, ptr %20, align 4
  br label %256

247:                                              ; preds = %227
  %248 = landingpad { ptr, i32 }
          cleanup
  %249 = extractvalue { ptr, i32 } %248, 0
  store ptr %249, ptr %19, align 8
  %250 = extractvalue { ptr, i32 } %248, 1
  store i32 %250, ptr %20, align 4
  br label %255

251:                                              ; preds = %228
  %252 = landingpad { ptr, i32 }
          cleanup
  %253 = extractvalue { ptr, i32 } %252, 0
  store ptr %253, ptr %19, align 8
  %254 = extractvalue { ptr, i32 } %252, 1
  store i32 %254, ptr %20, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #7
  br label %255

255:                                              ; preds = %251, %247
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %31) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %30) #7
  br label %256

256:                                              ; preds = %255, %243
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %29) #7
  br label %257

257:                                              ; preds = %256, %239
  call void @llvm.lifetime.end.p0(i64 376, ptr %29) #7
  br label %654

258:                                              ; preds = %220
  br label %650

259:                                              ; preds = %163
  call void @llvm.lifetime.start.p0(i64 32, ptr %32) #7
  %260 = load ptr, ptr @ya_optarg, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %33) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %33) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %32, ptr noundef %260, ptr noundef nonnull align 1 dereferenceable(1) %33)
          to label %261 unwind label %275

261:                                              ; preds = %259
  %262 = invoke noundef zeroext i1 @_ZN4sptk22ConvertStringToIntegerERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPi(ptr noundef nonnull align 8 dereferenceable(32) %32, ptr noundef %7)
          to label %263 unwind label %279

263:                                              ; preds = %261
  br i1 %262, label %264, label %267

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

267:                                              ; preds = %264, %263
  %268 = phi i1 [ true, %263 ], [ %266, %264 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %33) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %33) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %32) #7
  br i1 %268, label %269, label %303

269:                                              ; preds = %267
  call void @llvm.lifetime.start.p0(i64 376, ptr %34) #7
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %34)
          to label %270 unwind label %284

270:                                              ; preds = %269
  %271 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %34, ptr noundef @.str.5)
          to label %272 unwind label %288

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

273:                                              ; preds = %272
  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 %274 unwind label %296

274:                                              ; preds = %273
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %36) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %35) #7
  store i32 1, ptr %3, align 4
  store i32 1, ptr %21, align 4
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %34) #7
  call void @llvm.lifetime.end.p0(i64 376, ptr %34) #7
  br label %651

275:                                              ; preds = %259
  %276 = landingpad { ptr, i32 }
          cleanup
  %277 = extractvalue { ptr, i32 } %276, 0
  store ptr %277, ptr %19, align 8
  %278 = extractvalue { ptr, i32 } %276, 1
  store i32 %278, ptr %20, align 4
  br label %283

279:                                              ; preds = %261
  %280 = landingpad { ptr, i32 }
          cleanup
  %281 = extractvalue { ptr, i32 } %280, 0
  store ptr %281, ptr %19, align 8
  %282 = extractvalue { ptr, i32 } %280, 1
  store i32 %282, ptr %20, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #7
  br label %283

283:                                              ; preds = %279, %275
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %33) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %33) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %32) #7
  br label %654

284:                                              ; preds = %269
  %285 = landingpad { ptr, i32 }
          cleanup
  %286 = extractvalue { ptr, i32 } %285, 0
  store ptr %286, ptr %19, align 8
  %287 = extractvalue { ptr, i32 } %285, 1
  store i32 %287, ptr %20, align 4
  br label %302

288:                                              ; preds = %270
  %289 = landingpad { ptr, i32 }
          cleanup
  %290 = extractvalue { ptr, i32 } %289, 0
  store ptr %290, ptr %19, align 8
  %291 = extractvalue { ptr, i32 } %289, 1
  store i32 %291, ptr %20, align 4
  br label %301

292:                                              ; preds = %272
  %293 = landingpad { ptr, i32 }
          cleanup
  %294 = extractvalue { ptr, i32 } %293, 0
  store ptr %294, ptr %19, align 8
  %295 = extractvalue { ptr, i32 } %293, 1
  store i32 %295, ptr %20, align 4
  br label %300

296:                                              ; preds = %273
  %297 = landingpad { ptr, i32 }
          cleanup
  %298 = extractvalue { ptr, i32 } %297, 0
  store ptr %298, ptr %19, align 8
  %299 = extractvalue { ptr, i32 } %297, 1
  store i32 %299, ptr %20, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #7
  br label %300

300:                                              ; preds = %296, %292
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %36) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %35) #7
  br label %301

301:                                              ; preds = %300, %288
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %34) #7
  br label %302

302:                                              ; preds = %301, %284
  call void @llvm.lifetime.end.p0(i64 376, ptr %34) #7
  br label %654

303:                                              ; preds = %267
  br label %650

304:                                              ; preds = %163
  call void @llvm.lifetime.start.p0(i64 32, ptr %37) #7
  %305 = load ptr, ptr @ya_optarg, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %38) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %38) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %37, ptr noundef %305, ptr noundef nonnull align 1 dereferenceable(1) %38)
          to label %306 unwind label %320

306:                                              ; preds = %304
  %307 = invoke noundef zeroext i1 @_ZN4sptk22ConvertStringToIntegerERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPi(ptr noundef nonnull align 8 dereferenceable(32) %37, ptr noundef %8)
          to label %308 unwind label %324

308:                                              ; preds = %306
  br i1 %307, label %309, label %312

309:                                              ; preds = %308
  %310 = load i32, ptr %8, align 4, !tbaa !5
  %311 = icmp sle i32 %310, 0
  br label %312

312:                                              ; preds = %309, %308
  %313 = phi i1 [ true, %308 ], [ %311, %309 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %38) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %38) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %37) #7
  br i1 %313, label %314, label %348

314:                                              ; preds = %312
  call void @llvm.lifetime.start.p0(i64 376, ptr %39) #7
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %39)
          to label %315 unwind label %329

315:                                              ; preds = %314
  %316 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %39, ptr noundef @.str.6)
          to label %317 unwind label %333

317:                                              ; preds = %315
  call void @llvm.lifetime.start.p0(i64 32, ptr %40) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %41) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %41) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %40, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %41)
          to label %318 unwind label %337

318:                                              ; preds = %317
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %40, ptr noundef nonnull align 8 dereferenceable(112) %39)
          to label %319 unwind label %341

319:                                              ; preds = %318
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %41) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %41) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %40) #7
  store i32 1, ptr %3, align 4
  store i32 1, ptr %21, align 4
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %39) #7
  call void @llvm.lifetime.end.p0(i64 376, ptr %39) #7
  br label %651

320:                                              ; preds = %304
  %321 = landingpad { ptr, i32 }
          cleanup
  %322 = extractvalue { ptr, i32 } %321, 0
  store ptr %322, ptr %19, align 8
  %323 = extractvalue { ptr, i32 } %321, 1
  store i32 %323, ptr %20, align 4
  br label %328

324:                                              ; preds = %306
  %325 = landingpad { ptr, i32 }
          cleanup
  %326 = extractvalue { ptr, i32 } %325, 0
  store ptr %326, ptr %19, align 8
  %327 = extractvalue { ptr, i32 } %325, 1
  store i32 %327, ptr %20, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #7
  br label %328

328:                                              ; preds = %324, %320
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %38) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %38) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %37) #7
  br label %654

329:                                              ; preds = %314
  %330 = landingpad { ptr, i32 }
          cleanup
  %331 = extractvalue { ptr, i32 } %330, 0
  store ptr %331, ptr %19, align 8
  %332 = extractvalue { ptr, i32 } %330, 1
  store i32 %332, ptr %20, align 4
  br label %347

333:                                              ; preds = %315
  %334 = landingpad { ptr, i32 }
          cleanup
  %335 = extractvalue { ptr, i32 } %334, 0
  store ptr %335, ptr %19, align 8
  %336 = extractvalue { ptr, i32 } %334, 1
  store i32 %336, ptr %20, align 4
  br label %346

337:                                              ; preds = %317
  %338 = landingpad { ptr, i32 }
          cleanup
  %339 = extractvalue { ptr, i32 } %338, 0
  store ptr %339, ptr %19, align 8
  %340 = extractvalue { ptr, i32 } %338, 1
  store i32 %340, ptr %20, align 4
  br label %345

341:                                              ; preds = %318
  %342 = landingpad { ptr, i32 }
          cleanup
  %343 = extractvalue { ptr, i32 } %342, 0
  store ptr %343, ptr %19, align 8
  %344 = extractvalue { ptr, i32 } %342, 1
  store i32 %344, ptr %20, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #7
  br label %345

345:                                              ; preds = %341, %337
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %41) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %41) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %40) #7
  br label %346

346:                                              ; preds = %345, %333
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %39) #7
  br label %347

347:                                              ; preds = %346, %329
  call void @llvm.lifetime.end.p0(i64 376, ptr %39) #7
  br label %654

348:                                              ; preds = %312
  br label %650

349:                                              ; preds = %163
  call void @llvm.lifetime.start.p0(i64 32, ptr %42) #7
  %350 = load ptr, ptr @ya_optarg, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %43) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %43) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %42, ptr noundef %350, ptr noundef nonnull align 1 dereferenceable(1) %43)
          to label %351 unwind label %365

351:                                              ; preds = %349
  %352 = invoke noundef zeroext i1 @_ZN4sptk21ConvertStringToDoubleERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPd(ptr noundef nonnull align 8 dereferenceable(32) %42, ptr noundef %9)
          to label %353 unwind label %369

353:                                              ; preds = %351
  br i1 %352, label %354, label %357

354:                                              ; preds = %353
  %355 = load double, ptr %9, align 8, !tbaa !11
  %356 = fcmp olt double %355, 0.000000e+00
  br label %357

357:                                              ; preds = %354, %353
  %358 = phi i1 [ true, %353 ], [ %356, %354 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %43) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %43) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %42) #7
  br i1 %358, label %359, label %393

359:                                              ; preds = %357
  call void @llvm.lifetime.start.p0(i64 376, ptr %44) #7
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %44)
          to label %360 unwind label %374

360:                                              ; preds = %359
  %361 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %44, ptr noundef @.str.7)
          to label %362 unwind label %378

362:                                              ; preds = %360
  call void @llvm.lifetime.start.p0(i64 32, ptr %45) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %46) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %46) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %45, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %46)
          to label %363 unwind label %382

363:                                              ; preds = %362
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %45, ptr noundef nonnull align 8 dereferenceable(112) %44)
          to label %364 unwind label %386

364:                                              ; preds = %363
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %46) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %46) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %45) #7
  store i32 1, ptr %3, align 4
  store i32 1, ptr %21, align 4
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %44) #7
  call void @llvm.lifetime.end.p0(i64 376, ptr %44) #7
  br label %651

365:                                              ; preds = %349
  %366 = landingpad { ptr, i32 }
          cleanup
  %367 = extractvalue { ptr, i32 } %366, 0
  store ptr %367, ptr %19, align 8
  %368 = extractvalue { ptr, i32 } %366, 1
  store i32 %368, ptr %20, align 4
  br label %373

369:                                              ; preds = %351
  %370 = landingpad { ptr, i32 }
          cleanup
  %371 = extractvalue { ptr, i32 } %370, 0
  store ptr %371, ptr %19, align 8
  %372 = extractvalue { ptr, i32 } %370, 1
  store i32 %372, ptr %20, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #7
  br label %373

373:                                              ; preds = %369, %365
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %43) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %43) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %42) #7
  br label %654

374:                                              ; preds = %359
  %375 = landingpad { ptr, i32 }
          cleanup
  %376 = extractvalue { ptr, i32 } %375, 0
  store ptr %376, ptr %19, align 8
  %377 = extractvalue { ptr, i32 } %375, 1
  store i32 %377, ptr %20, align 4
  br label %392

378:                                              ; preds = %360
  %379 = landingpad { ptr, i32 }
          cleanup
  %380 = extractvalue { ptr, i32 } %379, 0
  store ptr %380, ptr %19, align 8
  %381 = extractvalue { ptr, i32 } %379, 1
  store i32 %381, ptr %20, align 4
  br label %391

382:                                              ; preds = %362
  %383 = landingpad { ptr, i32 }
          cleanup
  %384 = extractvalue { ptr, i32 } %383, 0
  store ptr %384, ptr %19, align 8
  %385 = extractvalue { ptr, i32 } %383, 1
  store i32 %385, ptr %20, align 4
  br label %390

386:                                              ; preds = %363
  %387 = landingpad { ptr, i32 }
          cleanup
  %388 = extractvalue { ptr, i32 } %387, 0
  store ptr %388, ptr %19, align 8
  %389 = extractvalue { ptr, i32 } %387, 1
  store i32 %389, ptr %20, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #7
  br label %390

390:                                              ; preds = %386, %382
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %46) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %46) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %45) #7
  br label %391

391:                                              ; preds = %390, %378
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %44) #7
  br label %392

392:                                              ; preds = %391, %374
  call void @llvm.lifetime.end.p0(i64 376, ptr %44) #7
  br label %654

393:                                              ; preds = %357
  br label %650

394:                                              ; preds = %163
  call void @llvm.lifetime.start.p0(i64 32, ptr %47) #7
  %395 = load ptr, ptr @ya_optarg, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %48) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %47, ptr noundef %395, ptr noundef nonnull align 1 dereferenceable(1) %48)
          to label %396 unwind label %410

396:                                              ; preds = %394
  %397 = invoke noundef zeroext i1 @_ZN4sptk21ConvertStringToDoubleERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPd(ptr noundef nonnull align 8 dereferenceable(32) %47, ptr noundef %10)
          to label %398 unwind label %414

398:                                              ; preds = %396
  br i1 %397, label %399, label %402

399:                                              ; preds = %398
  %400 = load double, ptr %10, align 8, !tbaa !11
  %401 = fcmp olt double %400, 0.000000e+00
  br label %402

402:                                              ; preds = %399, %398
  %403 = phi i1 [ true, %398 ], [ %401, %399 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %48) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %47) #7
  br i1 %403, label %404, label %438

404:                                              ; preds = %402
  call void @llvm.lifetime.start.p0(i64 376, ptr %49) #7
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %49)
          to label %405 unwind label %419

405:                                              ; preds = %404
  %406 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %49, ptr noundef @.str.8)
          to label %407 unwind label %423

407:                                              ; preds = %405
  call void @llvm.lifetime.start.p0(i64 32, ptr %50) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %51) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %51) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %51)
          to label %408 unwind label %427

408:                                              ; preds = %407
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef nonnull align 8 dereferenceable(112) %49)
          to label %409 unwind label %431

409:                                              ; preds = %408
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %51) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %51) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %50) #7
  store i32 1, ptr %3, align 4
  store i32 1, ptr %21, align 4
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %49) #7
  call void @llvm.lifetime.end.p0(i64 376, ptr %49) #7
  br label %651

410:                                              ; preds = %394
  %411 = landingpad { ptr, i32 }
          cleanup
  %412 = extractvalue { ptr, i32 } %411, 0
  store ptr %412, ptr %19, align 8
  %413 = extractvalue { ptr, i32 } %411, 1
  store i32 %413, ptr %20, align 4
  br label %418

414:                                              ; preds = %396
  %415 = landingpad { ptr, i32 }
          cleanup
  %416 = extractvalue { ptr, i32 } %415, 0
  store ptr %416, ptr %19, align 8
  %417 = extractvalue { ptr, i32 } %415, 1
  store i32 %417, ptr %20, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #7
  br label %418

418:                                              ; preds = %414, %410
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %48) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %47) #7
  br label %654

419:                                              ; preds = %404
  %420 = landingpad { ptr, i32 }
          cleanup
  %421 = extractvalue { ptr, i32 } %420, 0
  store ptr %421, ptr %19, align 8
  %422 = extractvalue { ptr, i32 } %420, 1
  store i32 %422, ptr %20, align 4
  br label %437

423:                                              ; preds = %405
  %424 = landingpad { ptr, i32 }
          cleanup
  %425 = extractvalue { ptr, i32 } %424, 0
  store ptr %425, ptr %19, align 8
  %426 = extractvalue { ptr, i32 } %424, 1
  store i32 %426, ptr %20, align 4
  br label %436

427:                                              ; preds = %407
  %428 = landingpad { ptr, i32 }
          cleanup
  %429 = extractvalue { ptr, i32 } %428, 0
  store ptr %429, ptr %19, align 8
  %430 = extractvalue { ptr, i32 } %428, 1
  store i32 %430, ptr %20, align 4
  br label %435

431:                                              ; preds = %408
  %432 = landingpad { ptr, i32 }
          cleanup
  %433 = extractvalue { ptr, i32 } %432, 0
  store ptr %433, ptr %19, align 8
  %434 = extractvalue { ptr, i32 } %432, 1
  store i32 %434, ptr %20, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #7
  br label %435

435:                                              ; preds = %431, %427
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %51) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %51) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %50) #7
  br label %436

436:                                              ; preds = %435, %423
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %49) #7
  br label %437

437:                                              ; preds = %436, %419
  call void @llvm.lifetime.end.p0(i64 376, ptr %49) #7
  br label %654

438:                                              ; preds = %402
  br label %650

439:                                              ; preds = %163
  call void @llvm.lifetime.start.p0(i64 32, ptr %52) #7
  %440 = load ptr, ptr @ya_optarg, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %53) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %53) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %52, ptr noundef %440, ptr noundef nonnull align 1 dereferenceable(1) %53)
          to label %441 unwind label %455

441:                                              ; preds = %439
  %442 = invoke noundef zeroext i1 @_ZN4sptk21ConvertStringToDoubleERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPd(ptr noundef nonnull align 8 dereferenceable(32) %52, ptr noundef %11)
          to label %443 unwind label %459

443:                                              ; preds = %441
  br i1 %442, label %444, label %447

444:                                              ; preds = %443
  %445 = load double, ptr %11, align 8, !tbaa !11
  %446 = fcmp olt double %445, 0.000000e+00
  br label %447

447:                                              ; preds = %444, %443
  %448 = phi i1 [ true, %443 ], [ %446, %444 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %53) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %53) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %52) #7
  br i1 %448, label %449, label %483

449:                                              ; preds = %447
  call void @llvm.lifetime.start.p0(i64 376, ptr %54) #7
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %54)
          to label %450 unwind label %464

450:                                              ; preds = %449
  %451 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %54, ptr noundef @.str.9)
          to label %452 unwind label %468

452:                                              ; preds = %450
  call void @llvm.lifetime.start.p0(i64 32, ptr %55) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %56) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %56) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %55, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %56)
          to label %453 unwind label %472

453:                                              ; preds = %452
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %55, ptr noundef nonnull align 8 dereferenceable(112) %54)
          to label %454 unwind label %476

454:                                              ; preds = %453
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %56) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %56) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %55) #7
  store i32 1, ptr %3, align 4
  store i32 1, ptr %21, align 4
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %54) #7
  call void @llvm.lifetime.end.p0(i64 376, ptr %54) #7
  br label %651

455:                                              ; preds = %439
  %456 = landingpad { ptr, i32 }
          cleanup
  %457 = extractvalue { ptr, i32 } %456, 0
  store ptr %457, ptr %19, align 8
  %458 = extractvalue { ptr, i32 } %456, 1
  store i32 %458, ptr %20, align 4
  br label %463

459:                                              ; preds = %441
  %460 = landingpad { ptr, i32 }
          cleanup
  %461 = extractvalue { ptr, i32 } %460, 0
  store ptr %461, ptr %19, align 8
  %462 = extractvalue { ptr, i32 } %460, 1
  store i32 %462, ptr %20, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #7
  br label %463

463:                                              ; preds = %459, %455
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %53) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %53) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %52) #7
  br label %654

464:                                              ; preds = %449
  %465 = landingpad { ptr, i32 }
          cleanup
  %466 = extractvalue { ptr, i32 } %465, 0
  store ptr %466, ptr %19, align 8
  %467 = extractvalue { ptr, i32 } %465, 1
  store i32 %467, ptr %20, align 4
  br label %482

468:                                              ; preds = %450
  %469 = landingpad { ptr, i32 }
          cleanup
  %470 = extractvalue { ptr, i32 } %469, 0
  store ptr %470, ptr %19, align 8
  %471 = extractvalue { ptr, i32 } %469, 1
  store i32 %471, ptr %20, align 4
  br label %481

472:                                              ; preds = %452
  %473 = landingpad { ptr, i32 }
          cleanup
  %474 = extractvalue { ptr, i32 } %473, 0
  store ptr %474, ptr %19, align 8
  %475 = extractvalue { ptr, i32 } %473, 1
  store i32 %475, ptr %20, align 4
  br label %480

476:                                              ; preds = %453
  %477 = landingpad { ptr, i32 }
          cleanup
  %478 = extractvalue { ptr, i32 } %477, 0
  store ptr %478, ptr %19, align 8
  %479 = extractvalue { ptr, i32 } %477, 1
  store i32 %479, ptr %20, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #7
  br label %480

480:                                              ; preds = %476, %472
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %56) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %56) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %55) #7
  br label %481

481:                                              ; preds = %480, %468
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %54) #7
  br label %482

482:                                              ; preds = %481, %464
  call void @llvm.lifetime.end.p0(i64 376, ptr %54) #7
  br label %654

483:                                              ; preds = %447
  br label %650

484:                                              ; preds = %163
  call void @llvm.lifetime.start.p0(i64 32, ptr %57) #7
  %485 = load ptr, ptr @ya_optarg, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %58) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %58) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %57, ptr noundef %485, ptr noundef nonnull align 1 dereferenceable(1) %58)
          to label %486 unwind label %503

486:                                              ; preds = %484
  %487 = invoke noundef zeroext i1 @_ZN4sptk21ConvertStringToDoubleERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPd(ptr noundef nonnull align 8 dereferenceable(32) %57, ptr noundef %12)
          to label %488 unwind label %507

488:                                              ; preds = %486
  br i1 %487, label %489, label %495

489:                                              ; preds = %488
  %490 = load double, ptr %12, align 8, !tbaa !11
  %491 = fcmp olt double %490, 0.000000e+00
  br i1 %491, label %495, label %492

492:                                              ; preds = %489
  %493 = load double, ptr %12, align 8, !tbaa !11
  %494 = fcmp olt double 1.000000e+00, %493
  br label %495

495:                                              ; preds = %492, %489, %488
  %496 = phi i1 [ true, %489 ], [ true, %488 ], [ %494, %492 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %58) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %58) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %57) #7
  br i1 %496, label %497, label %531

497:                                              ; preds = %495
  call void @llvm.lifetime.start.p0(i64 376, ptr %59) #7
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %59)
          to label %498 unwind label %512

498:                                              ; preds = %497
  %499 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %59, ptr noundef @.str.10)
          to label %500 unwind label %516

500:                                              ; preds = %498
  call void @llvm.lifetime.start.p0(i64 32, ptr %60) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %61) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %61) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %60, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %61)
          to label %501 unwind label %520

501:                                              ; preds = %500
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %60, ptr noundef nonnull align 8 dereferenceable(112) %59)
          to label %502 unwind label %524

502:                                              ; preds = %501
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %61) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %61) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %60) #7
  store i32 1, ptr %3, align 4
  store i32 1, ptr %21, align 4
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %59) #7
  call void @llvm.lifetime.end.p0(i64 376, ptr %59) #7
  br label %651

503:                                              ; preds = %484
  %504 = landingpad { ptr, i32 }
          cleanup
  %505 = extractvalue { ptr, i32 } %504, 0
  store ptr %505, ptr %19, align 8
  %506 = extractvalue { ptr, i32 } %504, 1
  store i32 %506, ptr %20, align 4
  br label %511

507:                                              ; preds = %486
  %508 = landingpad { ptr, i32 }
          cleanup
  %509 = extractvalue { ptr, i32 } %508, 0
  store ptr %509, ptr %19, align 8
  %510 = extractvalue { ptr, i32 } %508, 1
  store i32 %510, ptr %20, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #7
  br label %511

511:                                              ; preds = %507, %503
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %58) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %58) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %57) #7
  br label %654

512:                                              ; preds = %497
  %513 = landingpad { ptr, i32 }
          cleanup
  %514 = extractvalue { ptr, i32 } %513, 0
  store ptr %514, ptr %19, align 8
  %515 = extractvalue { ptr, i32 } %513, 1
  store i32 %515, ptr %20, align 4
  br label %530

516:                                              ; preds = %498
  %517 = landingpad { ptr, i32 }
          cleanup
  %518 = extractvalue { ptr, i32 } %517, 0
  store ptr %518, ptr %19, align 8
  %519 = extractvalue { ptr, i32 } %517, 1
  store i32 %519, ptr %20, align 4
  br label %529

520:                                              ; preds = %500
  %521 = landingpad { ptr, i32 }
          cleanup
  %522 = extractvalue { ptr, i32 } %521, 0
  store ptr %522, ptr %19, align 8
  %523 = extractvalue { ptr, i32 } %521, 1
  store i32 %523, ptr %20, align 4
  br label %528

524:                                              ; preds = %501
  %525 = landingpad { ptr, i32 }
          cleanup
  %526 = extractvalue { ptr, i32 } %525, 0
  store ptr %526, ptr %19, align 8
  %527 = extractvalue { ptr, i32 } %525, 1
  store i32 %527, ptr %20, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #7
  br label %528

528:                                              ; preds = %524, %520
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %61) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %61) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %60) #7
  br label %529

529:                                              ; preds = %528, %516
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %59) #7
  br label %530

530:                                              ; preds = %529, %512
  call void @llvm.lifetime.end.p0(i64 376, ptr %59) #7
  br label %654

531:                                              ; preds = %495
  br label %650

532:                                              ; preds = %163
  %533 = load ptr, ptr @ya_optarg, align 8, !tbaa !9
  store ptr %533, ptr %13, align 8, !tbaa !9
  br label %650

534:                                              ; preds = %163
  %535 = load ptr, ptr @ya_optarg, align 8, !tbaa !9
  store ptr %535, ptr %14, align 8, !tbaa !9
  br label %650

536:                                              ; preds = %163
  store i8 1, ptr %15, align 1, !tbaa !13
  br label %650

537:                                              ; preds = %163
  store i8 1, ptr %16, align 1, !tbaa !13
  br label %650

538:                                              ; preds = %163
  call void @_ZNSt6vectorIiSaIiEE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %17) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %62) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %63) #7
  %539 = load ptr, ptr @ya_optarg, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %64) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %64) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %63, ptr noundef %539, ptr noundef nonnull align 1 dereferenceable(1) %64)
          to label %540 unwind label %556

540:                                              ; preds = %538
  %541 = invoke noundef zeroext i1 @_ZN4sptk22ConvertStringToIntegerERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPi(ptr noundef nonnull align 8 dereferenceable(32) %63, ptr noundef %62)
          to label %542 unwind label %560

542:                                              ; preds = %540
  br i1 %541, label %543, label %546

543:                                              ; preds = %542
  %544 = load i32, ptr %62, align 4, !tbaa !5
  %545 = icmp sle i32 %544, 0
  br label %546

546:                                              ; preds = %543, %542
  %547 = phi i1 [ true, %542 ], [ %545, %543 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %64) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %64) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %63) #7
  br i1 %547, label %548, label %584

548:                                              ; preds = %546
  call void @llvm.lifetime.start.p0(i64 376, ptr %65) #7
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %65)
          to label %549 unwind label %565

549:                                              ; preds = %548
  %550 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %65, ptr noundef @.str.11)
          to label %551 unwind label %569

551:                                              ; preds = %549
  %552 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %550, ptr noundef @.str.4)
          to label %553 unwind label %569

553:                                              ; preds = %551
  call void @llvm.lifetime.start.p0(i64 32, ptr %66) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %67) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %67) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %66, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %67)
          to label %554 unwind label %573

554:                                              ; preds = %553
  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 %555 unwind label %577

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

556:                                              ; preds = %538
  %557 = landingpad { ptr, i32 }
          cleanup
  %558 = extractvalue { ptr, i32 } %557, 0
  store ptr %558, ptr %19, align 8
  %559 = extractvalue { ptr, i32 } %557, 1
  store i32 %559, ptr %20, align 4
  br label %564

560:                                              ; preds = %540
  %561 = landingpad { ptr, i32 }
          cleanup
  %562 = extractvalue { ptr, i32 } %561, 0
  store ptr %562, ptr %19, align 8
  %563 = extractvalue { ptr, i32 } %561, 1
  store i32 %563, ptr %20, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #7
  br label %564

564:                                              ; preds = %560, %556
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %64) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %64) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %63) #7
  br label %645

565:                                              ; preds = %548
  %566 = landingpad { ptr, i32 }
          cleanup
  %567 = extractvalue { ptr, i32 } %566, 0
  store ptr %567, ptr %19, align 8
  %568 = extractvalue { ptr, i32 } %566, 1
  store i32 %568, ptr %20, align 4
  br label %583

569:                                              ; preds = %551, %549
  %570 = landingpad { ptr, i32 }
          cleanup
  %571 = extractvalue { ptr, i32 } %570, 0
  store ptr %571, ptr %19, align 8
  %572 = extractvalue { ptr, i32 } %570, 1
  store i32 %572, ptr %20, align 4
  br label %582

573:                                              ; preds = %553
  %574 = landingpad { ptr, i32 }
          cleanup
  %575 = extractvalue { ptr, i32 } %574, 0
  store ptr %575, ptr %19, align 8
  %576 = extractvalue { ptr, i32 } %574, 1
  store i32 %576, ptr %20, align 4
  br label %581

577:                                              ; preds = %554
  %578 = landingpad { ptr, i32 }
          cleanup
  %579 = extractvalue { ptr, i32 } %578, 0
  store ptr %579, ptr %19, align 8
  %580 = extractvalue { ptr, i32 } %578, 1
  store i32 %580, ptr %20, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %66) #7
  br label %581

581:                                              ; preds = %577, %573
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %67) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %67) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %66) #7
  br label %582

582:                                              ; preds = %581, %569
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %65) #7
  br label %583

583:                                              ; preds = %582, %565
  call void @llvm.lifetime.end.p0(i64 376, ptr %65) #7
  br label %645

584:                                              ; preds = %546
  invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %17, ptr noundef nonnull align 4 dereferenceable(4) %62)
          to label %585 unwind label %617

585:                                              ; preds = %584
  br label %586

586:                                              ; preds = %614, %585
  %587 = load i32, ptr @ya_optind, align 4, !tbaa !5
  %588 = load i32, ptr %4, align 4, !tbaa !5
  %589 = icmp slt i32 %587, %588
  store i1 false, ptr %69, align 1
  store i1 false, ptr %71, align 1
  store i1 false, ptr %72, align 1
  store i1 false, ptr %73, align 1
  br i1 %589, label %590, label %599

590:                                              ; preds = %586
  call void @llvm.lifetime.start.p0(i64 32, ptr %68) #7
  store i1 true, ptr %69, align 1
  %591 = load ptr, ptr %5, align 8, !tbaa !9
  %592 = load i32, ptr @ya_optind, align 4, !tbaa !5
  %593 = sext i32 %592 to i64
  %594 = getelementptr inbounds ptr, ptr %591, i64 %593
  %595 = load ptr, ptr %594, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %70) #7
  store i1 true, ptr %71, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %70) #7
  store i1 true, ptr %72, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %68, ptr noundef %595, ptr noundef nonnull align 1 dereferenceable(1) %70)
          to label %596 unwind label %621

596:                                              ; preds = %590
  store i1 true, ptr %73, align 1
  %597 = invoke noundef zeroext i1 @_ZN4sptk22ConvertStringToIntegerERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPi(ptr noundef nonnull align 8 dereferenceable(32) %68, ptr noundef %62)
          to label %598 unwind label %625

598:                                              ; preds = %596
  br label %599

599:                                              ; preds = %598, %586
  %600 = phi i1 [ false, %586 ], [ %597, %598 ]
  %601 = load i1, ptr %73, align 1
  br i1 %601, label %602, label %603

602:                                              ; preds = %599
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #7
  br label %603

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

605:                                              ; preds = %603
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %70) #7
  br label %606

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

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

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

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

612:                                              ; preds = %611, %609
  br i1 %600, label %613, label %642

613:                                              ; preds = %612
  invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %17, ptr noundef nonnull align 4 dereferenceable(4) %62)
          to label %614 unwind label %617

614:                                              ; preds = %613
  %615 = load i32, ptr @ya_optind, align 4, !tbaa !5
  %616 = add nsw i32 %615, 1
  store i32 %616, ptr @ya_optind, align 4, !tbaa !5
  br label %586, !llvm.loop !15

617:                                              ; preds = %613, %584
  %618 = landingpad { ptr, i32 }
          cleanup
  %619 = extractvalue { ptr, i32 } %618, 0
  store ptr %619, ptr %19, align 8
  %620 = extractvalue { ptr, i32 } %618, 1
  store i32 %620, ptr %20, align 4
  br label %645

621:                                              ; preds = %590
  %622 = landingpad { ptr, i32 }
          cleanup
  %623 = extractvalue { ptr, i32 } %622, 0
  store ptr %623, ptr %19, align 8
  %624 = extractvalue { ptr, i32 } %622, 1
  store i32 %624, ptr %20, align 4
  br label %632

625:                                              ; preds = %596
  %626 = landingpad { ptr, i32 }
          cleanup
  %627 = extractvalue { ptr, i32 } %626, 0
  store ptr %627, ptr %19, align 8
  %628 = extractvalue { ptr, i32 } %626, 1
  store i32 %628, ptr %20, align 4
  %629 = load i1, ptr %73, align 1
  br i1 %629, label %630, label %631

630:                                              ; preds = %625
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #7
  br label %631

631:                                              ; preds = %630, %625
  br label %632

632:                                              ; preds = %631, %621
  %633 = load i1, ptr %72, align 1
  br i1 %633, label %634, label %635

634:                                              ; preds = %632
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %70) #7
  br label %635

635:                                              ; preds = %634, %632
  %636 = load i1, ptr %71, align 1
  br i1 %636, label %637, label %638

637:                                              ; preds = %635
  call void @llvm.lifetime.end.p0(i64 1, ptr %70) #7
  br label %638

638:                                              ; preds = %637, %635
  %639 = load i1, ptr %69, align 1
  br i1 %639, label %640, label %641

640:                                              ; preds = %638
  call void @llvm.lifetime.end.p0(i64 32, ptr %68) #7
  br label %641

641:                                              ; preds = %640, %638
  br label %645

642:                                              ; preds = %612
  store i32 4, ptr %21, align 4
  br label %643

643:                                              ; preds = %642, %555
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #7
  %644 = load i32, ptr %21, align 4
  switch i32 %644, label %651 [
    i32 4, label %650
  ]

645:                                              ; preds = %641, %617, %583, %564
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #7
  br label %654

646:                                              ; preds = %163
  invoke void @_ZN12_GLOBAL__N_110PrintUsageEPSo(ptr noundef @_ZSt4cout)
          to label %647 unwind label %159

647:                                              ; preds = %646
  store i32 0, ptr %3, align 4
  store i32 1, ptr %21, align 4
  br label %651

648:                                              ; preds = %163
  invoke void @_ZN12_GLOBAL__N_110PrintUsageEPSo(ptr noundef @_ZSt4cerr)
          to label %649 unwind label %159

649:                                              ; preds = %648
  store i32 1, ptr %3, align 4
  store i32 1, ptr %21, align 4
  br label %651

650:                                              ; preds = %643, %537, %536, %534, %532, %531, %483, %438, %393, %348, %303, %258, %209
  store i32 0, ptr %21, align 4
  br label %651

651:                                              ; preds = %650, %649, %647, %643, %502, %454, %409, %364, %319, %274, %229, %180, %158
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #7
  %652 = load i32, ptr %21, align 4
  switch i32 %652, label %1498 [
    i32 0, label %653
    i32 2, label %655
  ]

653:                                              ; preds = %651
  br label %151, !llvm.loop !17

654:                                              ; preds = %645, %530, %511, %482, %463, %437, %418, %392, %373, %347, %328, %302, %283, %257, %238, %208, %189, %159
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #7
  br label %1500

655:                                              ; preds = %651
  %656 = call noundef zeroext i1 @_ZNKSt6vectorIiSaIiEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(24) %17) #7
  br i1 %656, label %657, label %665

657:                                              ; preds = %655
  call void @llvm.lifetime.start.p0(i64 4, ptr %74) #7
  %658 = load i32, ptr %6, align 4, !tbaa !5
  %659 = add nsw i32 %658, 1
  store i32 %659, ptr %74, align 4, !tbaa !5
  invoke void @_ZNSt6vectorIiSaIiEE9push_backEOi(ptr noundef nonnull align 8 dereferenceable(24) %17, ptr noundef nonnull align 4 dereferenceable(4) %74)
          to label %660 unwind label %661

660:                                              ; preds = %657
  call void @llvm.lifetime.end.p0(i64 4, ptr %74) #7
  br label %665

661:                                              ; preds = %657
  %662 = landingpad { ptr, i32 }
          cleanup
  %663 = extractvalue { ptr, i32 } %662, 0
  store ptr %663, ptr %19, align 8
  %664 = extractvalue { ptr, i32 } %662, 1
  store i32 %664, ptr %20, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %74) #7
  br label %1500

665:                                              ; preds = %660, %655
  call void @llvm.lifetime.start.p0(i64 4, ptr %75) #7
  %666 = load i32, ptr %4, align 4, !tbaa !5
  %667 = load i32, ptr @ya_optind, align 4, !tbaa !5
  %668 = sub nsw i32 %666, %667
  store i32 %668, ptr %75, align 4, !tbaa !5
  %669 = load i32, ptr %75, align 4, !tbaa !5
  %670 = icmp slt i32 1, %669
  br i1 %670, label %671, label %696

671:                                              ; preds = %665
  call void @llvm.lifetime.start.p0(i64 376, ptr %76) #7
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %76)
          to label %672 unwind label %677

672:                                              ; preds = %671
  %673 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %76, ptr noundef @.str.12)
          to label %674 unwind label %681

674:                                              ; preds = %672
  call void @llvm.lifetime.start.p0(i64 32, ptr %77) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %78) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %78) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %77, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %78)
          to label %675 unwind label %685

675:                                              ; preds = %674
  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 %676 unwind label %689

676:                                              ; preds = %675
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %78) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %78) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %77) #7
  store i32 1, ptr %3, align 4
  store i32 1, ptr %21, align 4
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %76) #7
  call void @llvm.lifetime.end.p0(i64 376, ptr %76) #7
  br label %1496

677:                                              ; preds = %671
  %678 = landingpad { ptr, i32 }
          cleanup
  %679 = extractvalue { ptr, i32 } %678, 0
  store ptr %679, ptr %19, align 8
  %680 = extractvalue { ptr, i32 } %678, 1
  store i32 %680, ptr %20, align 4
  br label %695

681:                                              ; preds = %672
  %682 = landingpad { ptr, i32 }
          cleanup
  %683 = extractvalue { ptr, i32 } %682, 0
  store ptr %683, ptr %19, align 8
  %684 = extractvalue { ptr, i32 } %682, 1
  store i32 %684, ptr %20, align 4
  br label %694

685:                                              ; preds = %674
  %686 = landingpad { ptr, i32 }
          cleanup
  %687 = extractvalue { ptr, i32 } %686, 0
  store ptr %687, ptr %19, align 8
  %688 = extractvalue { ptr, i32 } %686, 1
  store i32 %688, ptr %20, align 4
  br label %693

689:                                              ; preds = %675
  %690 = landingpad { ptr, i32 }
          cleanup
  %691 = extractvalue { ptr, i32 } %690, 0
  store ptr %691, ptr %19, align 8
  %692 = extractvalue { ptr, i32 } %690, 1
  store i32 %692, ptr %20, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #7
  br label %693

693:                                              ; preds = %689, %685
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %78) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %78) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %77) #7
  br label %694

694:                                              ; preds = %693, %681
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %76) #7
  br label %695

695:                                              ; preds = %694, %677
  call void @llvm.lifetime.end.p0(i64 376, ptr %76) #7
  br label %1497

696:                                              ; preds = %665
  call void @llvm.lifetime.start.p0(i64 8, ptr %79) #7
  %697 = load i32, ptr %75, align 4, !tbaa !5
  %698 = icmp eq i32 0, %697
  br i1 %698, label %699, label %700

699:                                              ; preds = %696
  br label %706

700:                                              ; preds = %696
  %701 = load ptr, ptr %5, align 8, !tbaa !9
  %702 = load i32, ptr @ya_optind, align 4, !tbaa !5
  %703 = sext i32 %702 to i64
  %704 = getelementptr inbounds ptr, ptr %701, i64 %703
  %705 = load ptr, ptr %704, align 8, !tbaa !9
  br label %706

706:                                              ; preds = %700, %699
  %707 = phi ptr [ null, %699 ], [ %705, %700 ]
  store ptr %707, ptr %79, align 8, !tbaa !9
  %708 = invoke noundef zeroext i1 @_ZN4sptk13SetBinaryModeEv()
          to label %709 unwind label %716

709:                                              ; preds = %706
  br i1 %708, label %739, label %710

710:                                              ; preds = %709
  call void @llvm.lifetime.start.p0(i64 376, ptr %80) #7
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %80)
          to label %711 unwind label %720

711:                                              ; preds = %710
  %712 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %80, ptr noundef @.str.13)
          to label %713 unwind label %724

713:                                              ; preds = %711
  call void @llvm.lifetime.start.p0(i64 32, ptr %81) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %82) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %82) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %81, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %82)
          to label %714 unwind label %728

714:                                              ; preds = %713
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %81, ptr noundef nonnull align 8 dereferenceable(112) %80)
          to label %715 unwind label %732

715:                                              ; preds = %714
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %82) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %82) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %81) #7
  store i32 1, ptr %3, align 4
  store i32 1, ptr %21, align 4
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %80) #7
  call void @llvm.lifetime.end.p0(i64 376, ptr %80) #7
  br label %1494

716:                                              ; preds = %706
  %717 = landingpad { ptr, i32 }
          cleanup
  %718 = extractvalue { ptr, i32 } %717, 0
  store ptr %718, ptr %19, align 8
  %719 = extractvalue { ptr, i32 } %717, 1
  store i32 %719, ptr %20, align 4
  br label %1495

720:                                              ; preds = %710
  %721 = landingpad { ptr, i32 }
          cleanup
  %722 = extractvalue { ptr, i32 } %721, 0
  store ptr %722, ptr %19, align 8
  %723 = extractvalue { ptr, i32 } %721, 1
  store i32 %723, ptr %20, align 4
  br label %738

724:                                              ; preds = %711
  %725 = landingpad { ptr, i32 }
          cleanup
  %726 = extractvalue { ptr, i32 } %725, 0
  store ptr %726, ptr %19, align 8
  %727 = extractvalue { ptr, i32 } %725, 1
  store i32 %727, ptr %20, align 4
  br label %737

728:                                              ; preds = %713
  %729 = landingpad { ptr, i32 }
          cleanup
  %730 = extractvalue { ptr, i32 } %729, 0
  store ptr %730, ptr %19, align 8
  %731 = extractvalue { ptr, i32 } %729, 1
  store i32 %731, ptr %20, align 4
  br label %736

732:                                              ; preds = %714
  %733 = landingpad { ptr, i32 }
          cleanup
  %734 = extractvalue { ptr, i32 } %733, 0
  store ptr %734, ptr %19, align 8
  %735 = extractvalue { ptr, i32 } %733, 1
  store i32 %735, ptr %20, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #7
  br label %736

736:                                              ; preds = %732, %728
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %82) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %82) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %81) #7
  br label %737

737:                                              ; preds = %736, %724
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %80) #7
  br label %738

738:                                              ; preds = %737, %720
  call void @llvm.lifetime.end.p0(i64 376, ptr %80) #7
  br label %1495

739:                                              ; preds = %709
  call void @llvm.lifetime.start.p0(i64 24, ptr %83) #7
  call void @_ZNSt6vectorIS_IdSaIdEESaIS1_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %83) #7
  call void @llvm.lifetime.start.p0(i64 520, ptr %84) #7
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(256) %84)
          to label %740 unwind label %763

740:                                              ; preds = %739
  %741 = load ptr, ptr %79, align 8, !tbaa !9
  %742 = icmp ne ptr null, %741
  br i1 %742, label %743, label %791

743:                                              ; preds = %740
  %744 = load ptr, ptr %79, align 8, !tbaa !9
  %745 = invoke noundef i32 @_ZStorSt13_Ios_OpenmodeS_(i32 noundef 8, i32 noundef 4)
          to label %746 unwind label %767

746:                                              ; preds = %743
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(256) %84, ptr noundef %744, i32 noundef %745)
          to label %747 unwind label %767

747:                                              ; preds = %746
  %748 = load ptr, ptr %84, align 8, !tbaa !18
  %749 = getelementptr i8, ptr %748, i64 -24
  %750 = load i64, ptr %749, align 8
  %751 = getelementptr inbounds i8, ptr %84, i64 %750
  %752 = invoke noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE4failEv(ptr noundef nonnull align 8 dereferenceable(264) %751)
          to label %753 unwind label %767

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

754:                                              ; preds = %753
  call void @llvm.lifetime.start.p0(i64 376, ptr %85) #7
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %85)
          to label %755 unwind label %771

755:                                              ; preds = %754
  %756 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %85, ptr noundef @.str.14)
          to label %757 unwind label %775

757:                                              ; preds = %755
  %758 = load ptr, ptr %79, align 8, !tbaa !9
  %759 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %756, ptr noundef %758)
          to label %760 unwind label %775

760:                                              ; preds = %757
  call void @llvm.lifetime.start.p0(i64 32, ptr %86) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %87) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %87) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %86, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %87)
          to label %761 unwind label %779

761:                                              ; preds = %760
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %86, ptr noundef nonnull align 8 dereferenceable(112) %85)
          to label %762 unwind label %783

762:                                              ; preds = %761
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %86) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %87) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %87) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %86) #7
  store i32 1, ptr %3, align 4
  store i32 1, ptr %21, align 4
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %85) #7
  call void @llvm.lifetime.end.p0(i64 376, ptr %85) #7
  br label %823

763:                                              ; preds = %739
  %764 = landingpad { ptr, i32 }
          cleanup
  %765 = extractvalue { ptr, i32 } %764, 0
  store ptr %765, ptr %19, align 8
  %766 = extractvalue { ptr, i32 } %764, 1
  store i32 %766, ptr %20, align 4
  br label %831

767:                                              ; preds = %747, %746, %743
  %768 = landingpad { ptr, i32 }
          cleanup
  %769 = extractvalue { ptr, i32 } %768, 0
  store ptr %769, ptr %19, align 8
  %770 = extractvalue { ptr, i32 } %768, 1
  store i32 %770, ptr %20, align 4
  br label %830

771:                                              ; preds = %754
  %772 = landingpad { ptr, i32 }
          cleanup
  %773 = extractvalue { ptr, i32 } %772, 0
  store ptr %773, ptr %19, align 8
  %774 = extractvalue { ptr, i32 } %772, 1
  store i32 %774, ptr %20, align 4
  br label %789

775:                                              ; preds = %757, %755
  %776 = landingpad { ptr, i32 }
          cleanup
  %777 = extractvalue { ptr, i32 } %776, 0
  store ptr %777, ptr %19, align 8
  %778 = extractvalue { ptr, i32 } %776, 1
  store i32 %778, ptr %20, align 4
  br label %788

779:                                              ; preds = %760
  %780 = landingpad { ptr, i32 }
          cleanup
  %781 = extractvalue { ptr, i32 } %780, 0
  store ptr %781, ptr %19, align 8
  %782 = extractvalue { ptr, i32 } %780, 1
  store i32 %782, ptr %20, align 4
  br label %787

783:                                              ; preds = %761
  %784 = landingpad { ptr, i32 }
          cleanup
  %785 = extractvalue { ptr, i32 } %784, 0
  store ptr %785, ptr %19, align 8
  %786 = extractvalue { ptr, i32 } %784, 1
  store i32 %786, ptr %20, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %86) #7
  br label %787

787:                                              ; preds = %783, %779
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %87) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %87) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %86) #7
  br label %788

788:                                              ; preds = %787, %775
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %85) #7
  br label %789

789:                                              ; preds = %788, %771
  call void @llvm.lifetime.end.p0(i64 376, ptr %85) #7
  br label %830

790:                                              ; preds = %753
  br label %791

791:                                              ; preds = %790, %740
  call void @llvm.lifetime.start.p0(i64 8, ptr %88) #7
  %792 = invoke noundef zeroext i1 @_ZNSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv(ptr noundef nonnull align 8 dereferenceable(256) %84)
          to label %793 unwind label %810

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

794:                                              ; preds = %793
  br label %796

795:                                              ; preds = %793
  br label %796

796:                                              ; preds = %795, %794
  %797 = phi ptr [ %84, %794 ], [ @_ZSt3cin, %795 ]
  store ptr %797, ptr %88, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %89) #7
  %798 = load i32, ptr %6, align 4, !tbaa !5
  %799 = add nsw i32 %798, 1
  store i32 %799, ptr %89, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr %90) #7
  %800 = load i32, ptr %89, align 4, !tbaa !5
  %801 = sext i32 %800 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr %91) #7
  call void @_ZNSaIdEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %91) #7
  invoke void @_ZNSt6vectorIdSaIdEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %90, i64 noundef %801, ptr noundef nonnull align 1 dereferenceable(1) %91)
          to label %802 unwind label %814

802:                                              ; preds = %796
  call void @_ZNSt15__new_allocatorIdED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %91) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %91) #7
  br label %803

803:                                              ; preds = %809, %802
  %804 = load i32, ptr %89, align 4, !tbaa !5
  %805 = load ptr, ptr %88, align 8, !tbaa !9
  %806 = invoke noundef zeroext i1 @_ZN4sptk10ReadStreamIdEEbbiiiPSt6vectorIT_SaIS2_EEPSiPi(i1 noundef zeroext false, i32 noundef 0, i32 noundef 0, i32 noundef %804, ptr noundef %90, ptr noundef %805, ptr noundef null)
          to label %807 unwind label %818

807:                                              ; preds = %803
  br i1 %806, label %808, label %822

808:                                              ; preds = %807
  invoke void @_ZNSt6vectorIS_IdSaIdEESaIS1_EE9push_backERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %83, ptr noundef nonnull align 8 dereferenceable(24) %90)
          to label %809 unwind label %818

809:                                              ; preds = %808
  br label %803, !llvm.loop !20

810:                                              ; preds = %791
  %811 = landingpad { ptr, i32 }
          cleanup
  %812 = extractvalue { ptr, i32 } %811, 0
  store ptr %812, ptr %19, align 8
  %813 = extractvalue { ptr, i32 } %811, 1
  store i32 %813, ptr %20, align 4
  br label %829

814:                                              ; preds = %796
  %815 = landingpad { ptr, i32 }
          cleanup
  %816 = extractvalue { ptr, i32 } %815, 0
  store ptr %816, ptr %19, align 8
  %817 = extractvalue { ptr, i32 } %815, 1
  store i32 %817, ptr %20, align 4
  call void @_ZNSt15__new_allocatorIdED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %91) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %91) #7
  br label %828

818:                                              ; preds = %808, %803
  %819 = landingpad { ptr, i32 }
          cleanup
  %820 = extractvalue { ptr, i32 } %819, 0
  store ptr %820, ptr %19, align 8
  %821 = extractvalue { ptr, i32 } %819, 1
  store i32 %821, ptr %20, align 4
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %90) #7
  br label %828

822:                                              ; preds = %807
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %90) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %90) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %89) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %88) #7
  store i32 0, ptr %21, align 4
  br label %823

823:                                              ; preds = %822, %762
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %84) #7
  call void @llvm.lifetime.end.p0(i64 520, ptr %84) #7
  %824 = load i32, ptr %21, align 4
  switch i32 %824, label %1492 [
    i32 0, label %825
  ]

825:                                              ; preds = %823
  %826 = call noundef zeroext i1 @_ZNKSt6vectorIS_IdSaIdEESaIS1_EE5emptyEv(ptr noundef nonnull align 8 dereferenceable(24) %83) #7
  br i1 %826, label %827, label %832

827:                                              ; preds = %825
  store i32 0, ptr %3, align 4
  store i32 1, ptr %21, align 4
  br label %1492

828:                                              ; preds = %818, %814
  call void @llvm.lifetime.end.p0(i64 24, ptr %90) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %89) #7
  br label %829

829:                                              ; preds = %828, %810
  call void @llvm.lifetime.end.p0(i64 8, ptr %88) #7
  br label %830

830:                                              ; preds = %829, %789, %767
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %84) #7
  br label %831

831:                                              ; preds = %830, %763
  call void @llvm.lifetime.end.p0(i64 520, ptr %84) #7
  br label %1493

832:                                              ; preds = %825
  call void @llvm.lifetime.start.p0(i64 1, ptr %92) #7
  %833 = load i8, ptr %15, align 1, !tbaa !13, !range !21, !noundef !22
  %834 = trunc i8 %833 to i1
  br i1 %834, label %838, label %835

835:                                              ; preds = %832
  %836 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %17) #7
  %837 = icmp eq i64 1, %836
  br label %838

838:                                              ; preds = %835, %832
  %839 = phi i1 [ false, %832 ], [ %837, %835 ]
  %840 = zext i1 %839 to i8
  store i8 %840, ptr %92, align 1, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 24, ptr %93) #7
  %841 = load i32, ptr %7, align 4, !tbaa !5
  %842 = sext i32 %841 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr %94) #7
  call void @_ZNSaIdEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %94) #7
  invoke void @_ZNSt6vectorIdSaIdEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %93, i64 noundef %842, ptr noundef nonnull align 1 dereferenceable(1) %94)
          to label %843 unwind label %873

843:                                              ; preds = %838
  call void @_ZNSt15__new_allocatorIdED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %94) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %94) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %95) #7
  %844 = load i32, ptr %7, align 4, !tbaa !5
  %845 = sext i32 %844 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr %96) #7
  call void @_ZNSaISt6vectorIdSaIdEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %96) #7
  invoke void @_ZNSt6vectorIS_IdSaIdEESaIS1_EEC2EmRKS2_(ptr noundef nonnull align 8 dereferenceable(24) %95, i64 noundef %845, ptr noundef nonnull align 1 dereferenceable(1) %96)
          to label %846 unwind label %877

846:                                              ; preds = %843
  call void @_ZNSt15__new_allocatorISt6vectorIdSaIdEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %96) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %96) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %97) #7
  %847 = load i32, ptr %7, align 4, !tbaa !5
  %848 = sext i32 %847 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr %98) #7
  call void @_ZNSaIN4sptk15SymmetricMatrixEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %98) #7
  invoke void @_ZNSt6vectorIN4sptk15SymmetricMatrixESaIS1_EEC2EmRKS2_(ptr noundef nonnull align 8 dereferenceable(24) %97, i64 noundef %848, ptr noundef nonnull align 1 dereferenceable(1) %98)
          to label %849 unwind label %881

849:                                              ; preds = %846
  call void @_ZNSt15__new_allocatorIN4sptk15SymmetricMatrixEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %98) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %98) #7
  %850 = load ptr, ptr %13, align 8, !tbaa !9
  %851 = icmp ne ptr %850, null
  br i1 %851, label %852, label %1121

852:                                              ; preds = %849
  call void @llvm.lifetime.start.p0(i64 520, ptr %99) #7
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(256) %99)
          to label %853 unwind label %885

853:                                              ; preds = %852
  %854 = load ptr, ptr %13, align 8, !tbaa !9
  %855 = invoke noundef i32 @_ZStorSt13_Ios_OpenmodeS_(i32 noundef 8, i32 noundef 4)
          to label %856 unwind label %889

856:                                              ; preds = %853
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(256) %99, ptr noundef %854, i32 noundef %855)
          to label %857 unwind label %889

857:                                              ; preds = %856
  %858 = load ptr, ptr %99, align 8, !tbaa !18
  %859 = getelementptr i8, ptr %858, i64 -24
  %860 = load i64, ptr %859, align 8
  %861 = getelementptr inbounds i8, ptr %99, i64 %860
  %862 = invoke noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE4failEv(ptr noundef nonnull align 8 dereferenceable(264) %861)
          to label %863 unwind label %889

863:                                              ; preds = %857
  br i1 %862, label %864, label %912

864:                                              ; preds = %863
  call void @llvm.lifetime.start.p0(i64 376, ptr %100) #7
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %100)
          to label %865 unwind label %893

865:                                              ; preds = %864
  %866 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %100, ptr noundef @.str.14)
          to label %867 unwind label %897

867:                                              ; preds = %865
  %868 = load ptr, ptr %13, align 8, !tbaa !9
  %869 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %866, ptr noundef %868)
          to label %870 unwind label %897

870:                                              ; preds = %867
  call void @llvm.lifetime.start.p0(i64 32, ptr %101) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %102) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %102) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %101, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %102)
          to label %871 unwind label %901

871:                                              ; preds = %870
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %101, ptr noundef nonnull align 8 dereferenceable(112) %100)
          to label %872 unwind label %905

872:                                              ; preds = %871
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %101) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %102) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %102) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %101) #7
  store i32 1, ptr %3, align 4
  store i32 1, ptr %21, align 4
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %100) #7
  call void @llvm.lifetime.end.p0(i64 376, ptr %100) #7
  br label %1116

873:                                              ; preds = %838
  %874 = landingpad { ptr, i32 }
          cleanup
  %875 = extractvalue { ptr, i32 } %874, 0
  store ptr %875, ptr %19, align 8
  %876 = extractvalue { ptr, i32 } %874, 1
  store i32 %876, ptr %20, align 4
  call void @_ZNSt15__new_allocatorIdED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %94) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %94) #7
  br label %1491

877:                                              ; preds = %843
  %878 = landingpad { ptr, i32 }
          cleanup
  %879 = extractvalue { ptr, i32 } %878, 0
  store ptr %879, ptr %19, align 8
  %880 = extractvalue { ptr, i32 } %878, 1
  store i32 %880, ptr %20, align 4
  call void @_ZNSt15__new_allocatorISt6vectorIdSaIdEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %96) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %96) #7
  br label %1490

881:                                              ; preds = %846
  %882 = landingpad { ptr, i32 }
          cleanup
  %883 = extractvalue { ptr, i32 } %882, 0
  store ptr %883, ptr %19, align 8
  %884 = extractvalue { ptr, i32 } %882, 1
  store i32 %884, ptr %20, align 4
  call void @_ZNSt15__new_allocatorIN4sptk15SymmetricMatrixEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %98) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %98) #7
  br label %1489

885:                                              ; preds = %852
  %886 = landingpad { ptr, i32 }
          cleanup
  %887 = extractvalue { ptr, i32 } %886, 0
  store ptr %887, ptr %19, align 8
  %888 = extractvalue { ptr, i32 } %886, 1
  store i32 %888, ptr %20, align 4
  br label %1120

889:                                              ; preds = %857, %856, %853
  %890 = landingpad { ptr, i32 }
          cleanup
  %891 = extractvalue { ptr, i32 } %890, 0
  store ptr %891, ptr %19, align 8
  %892 = extractvalue { ptr, i32 } %890, 1
  store i32 %892, ptr %20, align 4
  br label %1119

893:                                              ; preds = %864
  %894 = landingpad { ptr, i32 }
          cleanup
  %895 = extractvalue { ptr, i32 } %894, 0
  store ptr %895, ptr %19, align 8
  %896 = extractvalue { ptr, i32 } %894, 1
  store i32 %896, ptr %20, align 4
  br label %911

897:                                              ; preds = %867, %865
  %898 = landingpad { ptr, i32 }
          cleanup
  %899 = extractvalue { ptr, i32 } %898, 0
  store ptr %899, ptr %19, align 8
  %900 = extractvalue { ptr, i32 } %898, 1
  store i32 %900, ptr %20, align 4
  br label %910

901:                                              ; preds = %870
  %902 = landingpad { ptr, i32 }
          cleanup
  %903 = extractvalue { ptr, i32 } %902, 0
  store ptr %903, ptr %19, align 8
  %904 = extractvalue { ptr, i32 } %902, 1
  store i32 %904, ptr %20, align 4
  br label %909

905:                                              ; preds = %871
  %906 = landingpad { ptr, i32 }
          cleanup
  %907 = extractvalue { ptr, i32 } %906, 0
  store ptr %907, ptr %19, align 8
  %908 = extractvalue { ptr, i32 } %906, 1
  store i32 %908, ptr %20, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %101) #7
  br label %909

909:                                              ; preds = %905, %901
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %102) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %102) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %101) #7
  br label %910

910:                                              ; preds = %909, %897
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %100) #7
  br label %911

911:                                              ; preds = %910, %893
  call void @llvm.lifetime.end.p0(i64 376, ptr %100) #7
  br label %1119

912:                                              ; preds = %863
  call void @llvm.lifetime.start.p0(i64 8, ptr %103) #7
  store ptr %99, ptr %103, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %104) #7
  store i32 0, ptr %104, align 4, !tbaa !5
  br label %913

913:                                              ; preds = %1108, %912
  %914 = load i32, ptr %104, align 4, !tbaa !5
  %915 = load i32, ptr %7, align 4, !tbaa !5
  %916 = icmp slt i32 %914, %915
  br i1 %916, label %918, label %917

917:                                              ; preds = %913
  store i32 9, ptr %21, align 4
  br label %1111

918:                                              ; preds = %913
  %919 = load i32, ptr %104, align 4, !tbaa !5
  %920 = sext i32 %919 to i64
  %921 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %93, i64 noundef %920) #7
  %922 = load ptr, ptr %103, align 8, !tbaa !9
  %923 = invoke noundef zeroext i1 @_ZN4sptk10ReadStreamIdEEbPT_PSi(ptr noundef %921, ptr noundef %922)
          to label %924 unwind label %931

924:                                              ; preds = %918
  br i1 %923, label %954, label %925

925:                                              ; preds = %924
  call void @llvm.lifetime.start.p0(i64 376, ptr %105) #7
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %105)
          to label %926 unwind label %935

926:                                              ; preds = %925
  %927 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %105, ptr noundef @.str.15)
          to label %928 unwind label %939

928:                                              ; preds = %926
  call void @llvm.lifetime.start.p0(i64 32, ptr %106) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %107) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %107) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %106, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %107)
          to label %929 unwind label %943

929:                                              ; preds = %928
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %106, ptr noundef nonnull align 8 dereferenceable(112) %105)
          to label %930 unwind label %947

930:                                              ; preds = %929
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %106) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %107) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %107) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %106) #7
  store i32 1, ptr %3, align 4
  store i32 1, ptr %21, align 4
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %105) #7
  call void @llvm.lifetime.end.p0(i64 376, ptr %105) #7
  br label %1111

931:                                              ; preds = %1074, %1068, %954, %918
  %932 = landingpad { ptr, i32 }
          cleanup
  %933 = extractvalue { ptr, i32 } %932, 0
  store ptr %933, ptr %19, align 8
  %934 = extractvalue { ptr, i32 } %932, 1
  store i32 %934, ptr %20, align 4
  br label %1113

935:                                              ; preds = %925
  %936 = landingpad { ptr, i32 }
          cleanup
  %937 = extractvalue { ptr, i32 } %936, 0
  store ptr %937, ptr %19, align 8
  %938 = extractvalue { ptr, i32 } %936, 1
  store i32 %938, ptr %20, align 4
  br label %953

939:                                              ; preds = %926
  %940 = landingpad { ptr, i32 }
          cleanup
  %941 = extractvalue { ptr, i32 } %940, 0
  store ptr %941, ptr %19, align 8
  %942 = extractvalue { ptr, i32 } %940, 1
  store i32 %942, ptr %20, align 4
  br label %952

943:                                              ; preds = %928
  %944 = landingpad { ptr, i32 }
          cleanup
  %945 = extractvalue { ptr, i32 } %944, 0
  store ptr %945, ptr %19, align 8
  %946 = extractvalue { ptr, i32 } %944, 1
  store i32 %946, ptr %20, align 4
  br label %951

947:                                              ; preds = %929
  %948 = landingpad { ptr, i32 }
          cleanup
  %949 = extractvalue { ptr, i32 } %948, 0
  store ptr %949, ptr %19, align 8
  %950 = extractvalue { ptr, i32 } %948, 1
  store i32 %950, ptr %20, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %106) #7
  br label %951

951:                                              ; preds = %947, %943
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %107) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %107) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %106) #7
  br label %952

952:                                              ; preds = %951, %939
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %105) #7
  br label %953

953:                                              ; preds = %952, %935
  call void @llvm.lifetime.end.p0(i64 376, ptr %105) #7
  br label %1113

954:                                              ; preds = %924
  %955 = load i32, ptr %6, align 4, !tbaa !5
  %956 = add nsw i32 %955, 1
  %957 = load i32, ptr %104, align 4, !tbaa !5
  %958 = sext i32 %957 to i64
  %959 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IdSaIdEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %95, i64 noundef %958) #7
  %960 = load ptr, ptr %103, align 8, !tbaa !9
  %961 = invoke noundef zeroext i1 @_ZN4sptk10ReadStreamIdEEbbiiiPSt6vectorIT_SaIS2_EEPSiPi(i1 noundef zeroext false, i32 noundef 0, i32 noundef 0, i32 noundef %956, ptr noundef %959, ptr noundef %960, ptr noundef null)
          to label %962 unwind label %931

962:                                              ; preds = %954
  br i1 %961, label %988, label %963

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

964:                                              ; preds = %963
  %965 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %108, ptr noundef @.str.16)
          to label %966 unwind label %973

966:                                              ; preds = %964
  call void @llvm.lifetime.start.p0(i64 32, ptr %109) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %110) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %110) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %109, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %110)
          to label %967 unwind label %977

967:                                              ; preds = %966
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %109, ptr noundef nonnull align 8 dereferenceable(112) %108)
          to label %968 unwind label %981

968:                                              ; preds = %967
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %109) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %110) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %110) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %109) #7
  store i32 1, ptr %3, align 4
  store i32 1, ptr %21, align 4
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %108) #7
  call void @llvm.lifetime.end.p0(i64 376, ptr %108) #7
  br label %1111

969:                                              ; preds = %963
  %970 = landingpad { ptr, i32 }
          cleanup
  %971 = extractvalue { ptr, i32 } %970, 0
  store ptr %971, ptr %19, align 8
  %972 = extractvalue { ptr, i32 } %970, 1
  store i32 %972, ptr %20, align 4
  br label %987

973:                                              ; preds = %964
  %974 = landingpad { ptr, i32 }
          cleanup
  %975 = extractvalue { ptr, i32 } %974, 0
  store ptr %975, ptr %19, align 8
  %976 = extractvalue { ptr, i32 } %974, 1
  store i32 %976, ptr %20, align 4
  br label %986

977:                                              ; preds = %966
  %978 = landingpad { ptr, i32 }
          cleanup
  %979 = extractvalue { ptr, i32 } %978, 0
  store ptr %979, ptr %19, align 8
  %980 = extractvalue { ptr, i32 } %978, 1
  store i32 %980, ptr %20, align 4
  br label %985

981:                                              ; preds = %967
  %982 = landingpad { ptr, i32 }
          cleanup
  %983 = extractvalue { ptr, i32 } %982, 0
  store ptr %983, ptr %19, align 8
  %984 = extractvalue { ptr, i32 } %982, 1
  store i32 %984, ptr %20, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %109) #7
  br label %985

985:                                              ; preds = %981, %977
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %110) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %110) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %109) #7
  br label %986

986:                                              ; preds = %985, %973
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %108) #7
  br label %987

987:                                              ; preds = %986, %969
  call void @llvm.lifetime.end.p0(i64 376, ptr %108) #7
  br label %1113

988:                                              ; preds = %962
  %989 = load i8, ptr %92, align 1, !tbaa !13, !range !21, !noundef !22
  %990 = trunc i8 %989 to i1
  br i1 %990, label %991, label %1068

991:                                              ; preds = %988
  call void @llvm.lifetime.start.p0(i64 24, ptr %111) #7
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %111) #7
  %992 = load i32, ptr %6, align 4, !tbaa !5
  %993 = add nsw i32 %992, 1
  %994 = load ptr, ptr %103, align 8, !tbaa !9
  %995 = invoke noundef zeroext i1 @_ZN4sptk10ReadStreamIdEEbbiiiPSt6vectorIT_SaIS2_EEPSiPi(i1 noundef zeroext false, i32 noundef 0, i32 noundef 0, i32 noundef %993, ptr noundef %111, ptr noundef %994, ptr noundef null)
          to label %996 unwind label %1003

996:                                              ; preds = %991
  br i1 %995, label %1026, label %997

997:                                              ; preds = %996
  call void @llvm.lifetime.start.p0(i64 376, ptr %112) #7
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %112)
          to label %998 unwind label %1007

998:                                              ; preds = %997
  %999 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %112, ptr noundef @.str.17)
          to label %1000 unwind label %1011

1000:                                             ; preds = %998
  call void @llvm.lifetime.start.p0(i64 32, ptr %113) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %114) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %114) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %113, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %114)
          to label %1001 unwind label %1015

1001:                                             ; preds = %1000
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %113, ptr noundef nonnull align 8 dereferenceable(112) %112)
          to label %1002 unwind label %1019

1002:                                             ; preds = %1001
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %113) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %114) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %114) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %113) #7
  store i32 1, ptr %3, align 4
  store i32 1, ptr %21, align 4
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %112) #7
  call void @llvm.lifetime.end.p0(i64 376, ptr %112) #7
  br label %1064

1003:                                             ; preds = %1026, %991
  %1004 = landingpad { ptr, i32 }
          cleanup
  %1005 = extractvalue { ptr, i32 } %1004, 0
  store ptr %1005, ptr %19, align 8
  %1006 = extractvalue { ptr, i32 } %1004, 1
  store i32 %1006, ptr %20, align 4
  br label %1067

1007:                                             ; preds = %997
  %1008 = landingpad { ptr, i32 }
          cleanup
  %1009 = extractvalue { ptr, i32 } %1008, 0
  store ptr %1009, ptr %19, align 8
  %1010 = extractvalue { ptr, i32 } %1008, 1
  store i32 %1010, ptr %20, align 4
  br label %1025

1011:                                             ; preds = %998
  %1012 = landingpad { ptr, i32 }
          cleanup
  %1013 = extractvalue { ptr, i32 } %1012, 0
  store ptr %1013, ptr %19, align 8
  %1014 = extractvalue { ptr, i32 } %1012, 1
  store i32 %1014, ptr %20, align 4
  br label %1024

1015:                                             ; preds = %1000
  %1016 = landingpad { ptr, i32 }
          cleanup
  %1017 = extractvalue { ptr, i32 } %1016, 0
  store ptr %1017, ptr %19, align 8
  %1018 = extractvalue { ptr, i32 } %1016, 1
  store i32 %1018, ptr %20, align 4
  br label %1023

1019:                                             ; preds = %1001
  %1020 = landingpad { ptr, i32 }
          cleanup
  %1021 = extractvalue { ptr, i32 } %1020, 0
  store ptr %1021, ptr %19, align 8
  %1022 = extractvalue { ptr, i32 } %1020, 1
  store i32 %1022, ptr %20, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %113) #7
  br label %1023

1023:                                             ; preds = %1019, %1015
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %114) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %114) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %113) #7
  br label %1024

1024:                                             ; preds = %1023, %1011
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %112) #7
  br label %1025

1025:                                             ; preds = %1024, %1007
  call void @llvm.lifetime.end.p0(i64 376, ptr %112) #7
  br label %1067

1026:                                             ; preds = %996
  %1027 = load i32, ptr %104, align 4, !tbaa !5
  %1028 = sext i32 %1027 to i64
  %1029 = call noundef nonnull align 8 dereferenceable(64) ptr @_ZNSt6vectorIN4sptk15SymmetricMatrixESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %97, i64 noundef %1028) #7
  %1030 = load i32, ptr %6, align 4, !tbaa !5
  %1031 = add nsw i32 %1030, 1
  invoke void @_ZN4sptk15SymmetricMatrix6ResizeEi(ptr noundef nonnull align 8 dereferenceable(64) %1029, i32 noundef %1031)
          to label %1032 unwind label %1003

1032:                                             ; preds = %1026
  call void @llvm.lifetime.start.p0(i64 4, ptr %115) #7
  store i32 0, ptr %115, align 4, !tbaa !5
  br label %1033

1033:                                             ; preds = %1051, %1032
  %1034 = load i32, ptr %115, align 4, !tbaa !5
  %1035 = load i32, ptr %6, align 4, !tbaa !5
  %1036 = icmp sle i32 %1034, %1035
  br i1 %1036, label %1038, label %1037

1037:                                             ; preds = %1033
  store i32 12, ptr %21, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %115) #7
  br label %1063

1038:                                             ; preds = %1033
  %1039 = load i32, ptr %115, align 4, !tbaa !5
  %1040 = sext i32 %1039 to i64
  %1041 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %111, i64 noundef %1040) #7
  %1042 = load double, ptr %1041, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 24, ptr %116) #7
  %1043 = load i32, ptr %104, align 4, !tbaa !5
  %1044 = sext i32 %1043 to i64
  %1045 = call noundef nonnull align 8 dereferenceable(64) ptr @_ZNSt6vectorIN4sptk15SymmetricMatrixESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %97, i64 noundef %1044) #7
  %1046 = load i32, ptr %115, align 4, !tbaa !5
  invoke void @_ZN4sptk15SymmetricMatrixixEi(ptr dead_on_unwind writable sret(%"class.sptk::SymmetricMatrix::Row") align 8 %116, ptr noundef nonnull align 8 dereferenceable(64) %1045, i32 noundef %1046)
          to label %1047 unwind label %1054

1047:                                             ; preds = %1038
  %1048 = load i32, ptr %115, align 4, !tbaa !5
  %1049 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN4sptk15SymmetricMatrix3RowixEi(ptr noundef nonnull align 8 dereferenceable(20) %116, i32 noundef %1048)
          to label %1050 unwind label %1058

1050:                                             ; preds = %1047
  store double %1042, ptr %1049, align 8, !tbaa !11
  call void @_ZN4sptk15SymmetricMatrix3RowD2Ev(ptr noundef nonnull align 8 dereferenceable(20) %116) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %116) #7
  br label %1051

1051:                                             ; preds = %1050
  %1052 = load i32, ptr %115, align 4, !tbaa !5
  %1053 = add nsw i32 %1052, 1
  store i32 %1053, ptr %115, align 4, !tbaa !5
  br label %1033, !llvm.loop !23

1054:                                             ; preds = %1038
  %1055 = landingpad { ptr, i32 }
          cleanup
  %1056 = extractvalue { ptr, i32 } %1055, 0
  store ptr %1056, ptr %19, align 8
  %1057 = extractvalue { ptr, i32 } %1055, 1
  store i32 %1057, ptr %20, align 4
  br label %1062

1058:                                             ; preds = %1047
  %1059 = landingpad { ptr, i32 }
          cleanup
  %1060 = extractvalue { ptr, i32 } %1059, 0
  store ptr %1060, ptr %19, align 8
  %1061 = extractvalue { ptr, i32 } %1059, 1
  store i32 %1061, ptr %20, align 4
  call void @_ZN4sptk15SymmetricMatrix3RowD2Ev(ptr noundef nonnull align 8 dereferenceable(20) %116) #7
  br label %1062

1062:                                             ; preds = %1058, %1054
  call void @llvm.lifetime.end.p0(i64 24, ptr %116) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %115) #7
  br label %1067

1063:                                             ; preds = %1037
  store i32 0, ptr %21, align 4
  br label %1064

1064:                                             ; preds = %1063, %1002
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %111) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %111) #7
  %1065 = load i32, ptr %21, align 4
  switch i32 %1065, label %1111 [
    i32 0, label %1066
  ]

1066:                                             ; preds = %1064
  br label %1107

1067:                                             ; preds = %1062, %1025, %1003
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %111) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %111) #7
  br label %1113

1068:                                             ; preds = %988
  %1069 = load i32, ptr %104, align 4, !tbaa !5
  %1070 = sext i32 %1069 to i64
  %1071 = call noundef nonnull align 8 dereferenceable(64) ptr @_ZNSt6vectorIN4sptk15SymmetricMatrixESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %97, i64 noundef %1070) #7
  %1072 = load i32, ptr %6, align 4, !tbaa !5
  %1073 = add nsw i32 %1072, 1
  invoke void @_ZN4sptk15SymmetricMatrix6ResizeEi(ptr noundef nonnull align 8 dereferenceable(64) %1071, i32 noundef %1073)
          to label %1074 unwind label %931

1074:                                             ; preds = %1068
  %1075 = load i32, ptr %104, align 4, !tbaa !5
  %1076 = sext i32 %1075 to i64
  %1077 = call noundef nonnull align 8 dereferenceable(64) ptr @_ZNSt6vectorIN4sptk15SymmetricMatrixESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %97, i64 noundef %1076) #7
  %1078 = load ptr, ptr %103, align 8, !tbaa !9
  %1079 = invoke noundef zeroext i1 @_ZN4sptk10ReadStreamEPNS_15SymmetricMatrixEPSi(ptr noundef %1077, ptr noundef %1078)
          to label %1080 unwind label %931

1080:                                             ; preds = %1074
  br i1 %1079, label %1106, label %1081

1081:                                             ; preds = %1080
  call void @llvm.lifetime.start.p0(i64 376, ptr %117) #7
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %117)
          to label %1082 unwind label %1087

1082:                                             ; preds = %1081
  %1083 = 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 %1084 unwind label %1091

1084:                                             ; preds = %1082
  call void @llvm.lifetime.start.p0(i64 32, ptr %118) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %119) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %119) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %118, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %119)
          to label %1085 unwind label %1095

1085:                                             ; preds = %1084
  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 %1086 unwind label %1099

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

1087:                                             ; preds = %1081
  %1088 = landingpad { ptr, i32 }
          cleanup
  %1089 = extractvalue { ptr, i32 } %1088, 0
  store ptr %1089, ptr %19, align 8
  %1090 = extractvalue { ptr, i32 } %1088, 1
  store i32 %1090, ptr %20, align 4
  br label %1105

1091:                                             ; preds = %1082
  %1092 = landingpad { ptr, i32 }
          cleanup
  %1093 = extractvalue { ptr, i32 } %1092, 0
  store ptr %1093, ptr %19, align 8
  %1094 = extractvalue { ptr, i32 } %1092, 1
  store i32 %1094, ptr %20, align 4
  br label %1104

1095:                                             ; preds = %1084
  %1096 = landingpad { ptr, i32 }
          cleanup
  %1097 = extractvalue { ptr, i32 } %1096, 0
  store ptr %1097, ptr %19, align 8
  %1098 = extractvalue { ptr, i32 } %1096, 1
  store i32 %1098, ptr %20, align 4
  br label %1103

1099:                                             ; preds = %1085
  %1100 = landingpad { ptr, i32 }
          cleanup
  %1101 = extractvalue { ptr, i32 } %1100, 0
  store ptr %1101, ptr %19, align 8
  %1102 = extractvalue { ptr, i32 } %1100, 1
  store i32 %1102, ptr %20, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %118) #7
  br label %1103

1103:                                             ; preds = %1099, %1095
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %119) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %119) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %118) #7
  br label %1104

1104:                                             ; preds = %1103, %1091
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %117) #7
  br label %1105

1105:                                             ; preds = %1104, %1087
  call void @llvm.lifetime.end.p0(i64 376, ptr %117) #7
  br label %1113

1106:                                             ; preds = %1080
  br label %1107

1107:                                             ; preds = %1106, %1066
  br label %1108

1108:                                             ; preds = %1107
  %1109 = load i32, ptr %104, align 4, !tbaa !5
  %1110 = add nsw i32 %1109, 1
  store i32 %1110, ptr %104, align 4, !tbaa !5
  br label %913, !llvm.loop !24

1111:                                             ; preds = %1086, %1064, %968, %930, %917
  call void @llvm.lifetime.end.p0(i64 4, ptr %104) #7
  %1112 = load i32, ptr %21, align 4
  switch i32 %1112, label %1115 [
    i32 9, label %1114
  ]

1113:                                             ; preds = %1105, %1067, %987, %953, %931
  call void @llvm.lifetime.end.p0(i64 4, ptr %104) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %103) #7
  br label %1119

1114:                                             ; preds = %1111
  store i32 0, ptr %21, align 4
  br label %1115

1115:                                             ; preds = %1114, %1111
  call void @llvm.lifetime.end.p0(i64 8, ptr %103) #7
  br label %1116

1116:                                             ; preds = %1115, %872
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %99) #7
  call void @llvm.lifetime.end.p0(i64 520, ptr %99) #7
  %1117 = load i32, ptr %21, align 4
  switch i32 %1117, label %1487 [
    i32 0, label %1118
  ]

1118:                                             ; preds = %1116
  br label %1121

1119:                                             ; preds = %1113, %911, %889
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %99) #7
  br label %1120

1120:                                             ; preds = %1119, %885
  call void @llvm.lifetime.end.p0(i64 520, ptr %99) #7
  br label %1488

1121:                                             ; preds = %1118, %849
  call void @llvm.lifetime.start.p0(i64 264, ptr %120) #7
  %1122 = load i32, ptr %6, align 4, !tbaa !5
  %1123 = load i32, ptr %7, align 4, !tbaa !5
  %1124 = load i32, ptr %8, align 4, !tbaa !5
  %1125 = load double, ptr %9, align 8, !tbaa !11
  %1126 = load i8, ptr %15, align 1, !tbaa !13, !range !21, !noundef !22
  %1127 = trunc i8 %1126 to i1
  %1128 = zext i1 %1127 to i64
  %1129 = select i1 %1127, i32 1, i32 0
  invoke void @_ZNSt6vectorIiSaIiEEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %121, ptr noundef nonnull align 8 dereferenceable(24) %17)
          to label %1130 unwind label %1155

1130:                                             ; preds = %1121
  %1131 = load double, ptr %10, align 8, !tbaa !11
  %1132 = load double, ptr %11, align 8, !tbaa !11
  %1133 = load ptr, ptr %13, align 8, !tbaa !9
  %1134 = icmp ne ptr %1133, null
  %1135 = zext i1 %1134 to i64
  %1136 = select i1 %1134, i32 2, i32 1
  %1137 = load i8, ptr %16, align 1, !tbaa !13, !range !21, !noundef !22
  %1138 = trunc i8 %1137 to i1
  br i1 %1138, label %1139, label %1140

1139:                                             ; preds = %1130
  br label %1143

1140:                                             ; preds = %1130
  %1141 = load i32, ptr %8, align 4, !tbaa !5
  %1142 = add nsw i32 %1141, 1
  br label %1143

1143:                                             ; preds = %1140, %1139
  %1144 = phi i32 [ 1, %1139 ], [ %1142, %1140 ]
  %1145 = load double, ptr %12, align 8, !tbaa !11
  invoke void @_ZN4sptk23GaussianMixtureModelingC1EiiidNS0_14CovarianceTypeESt6vectorIiSaIiEEddNS0_18InitializationTypeEidRKS2_IdSaIdEERKS2_IS7_SaIS7_EERKS2_INS_15SymmetricMatrixESaISE_EE(ptr noundef nonnull align 8 dereferenceable(264) %120, i32 noundef %1122, i32 noundef %1123, i32 noundef %1124, double noundef %1125, i32 noundef %1129, ptr noundef %121, double noundef %1131, double noundef %1132, i32 noundef %1136, i32 noundef %1144, double noundef %1145, ptr noundef nonnull align 8 dereferenceable(24) %93, ptr noundef nonnull align 8 dereferenceable(24) %95, ptr noundef nonnull align 8 dereferenceable(24) %97)
          to label %1146 unwind label %1159

1146:                                             ; preds = %1143
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %121) #7
  %1147 = invoke noundef zeroext i1 @_ZNK4sptk23GaussianMixtureModeling7IsValidEv(ptr noundef nonnull align 8 dereferenceable(264) %120)
          to label %1148 unwind label %1163

1148:                                             ; preds = %1146
  br i1 %1147, label %1186, label %1149

1149:                                             ; preds = %1148
  call void @llvm.lifetime.start.p0(i64 376, ptr %122) #7
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %122)
          to label %1150 unwind label %1167

1150:                                             ; preds = %1149
  %1151 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %122, ptr noundef @.str.19)
          to label %1152 unwind label %1171

1152:                                             ; preds = %1150
  call void @llvm.lifetime.start.p0(i64 32, ptr %123) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %124) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %124) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %123, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %124)
          to label %1153 unwind label %1175

1153:                                             ; preds = %1152
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %123, ptr noundef nonnull align 8 dereferenceable(112) %122)
          to label %1154 unwind label %1179

1154:                                             ; preds = %1153
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %123) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %124) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %124) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %123) #7
  store i32 1, ptr %3, align 4
  store i32 1, ptr %21, align 4
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %122) #7
  call void @llvm.lifetime.end.p0(i64 376, ptr %122) #7
  br label %1484

1155:                                             ; preds = %1121
  %1156 = landingpad { ptr, i32 }
          cleanup
  %1157 = extractvalue { ptr, i32 } %1156, 0
  store ptr %1157, ptr %19, align 8
  %1158 = extractvalue { ptr, i32 } %1156, 1
  store i32 %1158, ptr %20, align 4
  br label %1486

1159:                                             ; preds = %1143
  %1160 = landingpad { ptr, i32 }
          cleanup
  %1161 = extractvalue { ptr, i32 } %1160, 0
  store ptr %1161, ptr %19, align 8
  %1162 = extractvalue { ptr, i32 } %1160, 1
  store i32 %1162, ptr %20, align 4
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %121) #7
  br label %1486

1163:                                             ; preds = %1146
  %1164 = landingpad { ptr, i32 }
          cleanup
  %1165 = extractvalue { ptr, i32 } %1164, 0
  store ptr %1165, ptr %19, align 8
  %1166 = extractvalue { ptr, i32 } %1164, 1
  store i32 %1166, ptr %20, align 4
  br label %1485

1167:                                             ; preds = %1149
  %1168 = landingpad { ptr, i32 }
          cleanup
  %1169 = extractvalue { ptr, i32 } %1168, 0
  store ptr %1169, ptr %19, align 8
  %1170 = extractvalue { ptr, i32 } %1168, 1
  store i32 %1170, ptr %20, align 4
  br label %1185

1171:                                             ; preds = %1150
  %1172 = landingpad { ptr, i32 }
          cleanup
  %1173 = extractvalue { ptr, i32 } %1172, 0
  store ptr %1173, ptr %19, align 8
  %1174 = extractvalue { ptr, i32 } %1172, 1
  store i32 %1174, ptr %20, align 4
  br label %1184

1175:                                             ; preds = %1152
  %1176 = landingpad { ptr, i32 }
          cleanup
  %1177 = extractvalue { ptr, i32 } %1176, 0
  store ptr %1177, ptr %19, align 8
  %1178 = extractvalue { ptr, i32 } %1176, 1
  store i32 %1178, ptr %20, align 4
  br label %1183

1179:                                             ; preds = %1153
  %1180 = landingpad { ptr, i32 }
          cleanup
  %1181 = extractvalue { ptr, i32 } %1180, 0
  store ptr %1181, ptr %19, align 8
  %1182 = extractvalue { ptr, i32 } %1180, 1
  store i32 %1182, ptr %20, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %123) #7
  br label %1183

1183:                                             ; preds = %1179, %1175
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %124) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %124) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %123) #7
  br label %1184

1184:                                             ; preds = %1183, %1171
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %122) #7
  br label %1185

1185:                                             ; preds = %1184, %1167
  call void @llvm.lifetime.end.p0(i64 376, ptr %122) #7
  br label %1485

1186:                                             ; preds = %1148
  call void @llvm.lifetime.start.p0(i64 8, ptr %125) #7
  %1187 = invoke noundef zeroext i1 @_ZNK4sptk23GaussianMixtureModeling3RunERKSt6vectorIS1_IdSaIdEESaIS3_EEPS3_PS5_PS1_INS_15SymmetricMatrixESaISA_EEPd(ptr noundef nonnull align 8 dereferenceable(264) %120, ptr noundef nonnull align 8 dereferenceable(24) %83, ptr noundef %93, ptr noundef %95, ptr noundef %97, ptr noundef %125)
          to label %1188 unwind label %1203

1188:                                             ; preds = %1186
  br i1 %1187, label %1226, label %1189

1189:                                             ; preds = %1188
  call void @llvm.lifetime.start.p0(i64 376, ptr %126) #7
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %126)
          to label %1190 unwind label %1207

1190:                                             ; preds = %1189
  %1191 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %126, ptr noundef @.str.20)
          to label %1192 unwind label %1211

1192:                                             ; preds = %1190
  %1193 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1191, ptr noundef @.str.21)
          to label %1194 unwind label %1211

1194:                                             ; preds = %1192
  %1195 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1193, ptr noundef @.str.22)
          to label %1196 unwind label %1211

1196:                                             ; preds = %1194
  %1197 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1195, ptr noundef @.str.23)
          to label %1198 unwind label %1211

1198:                                             ; preds = %1196
  %1199 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1197, ptr noundef @.str.24)
          to label %1200 unwind label %1211

1200:                                             ; preds = %1198
  call void @llvm.lifetime.start.p0(i64 32, ptr %127) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %128) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %128) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %127, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %128)
          to label %1201 unwind label %1215

1201:                                             ; preds = %1200
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %127, ptr noundef nonnull align 8 dereferenceable(112) %126)
          to label %1202 unwind label %1219

1202:                                             ; preds = %1201
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %127) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %128) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %128) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %127) #7
  store i32 1, ptr %3, align 4
  store i32 1, ptr %21, align 4
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %126) #7
  call void @llvm.lifetime.end.p0(i64 376, ptr %126) #7
  br label %1482

1203:                                             ; preds = %1186
  %1204 = landingpad { ptr, i32 }
          cleanup
  %1205 = extractvalue { ptr, i32 } %1204, 0
  store ptr %1205, ptr %19, align 8
  %1206 = extractvalue { ptr, i32 } %1204, 1
  store i32 %1206, ptr %20, align 4
  br label %1483

1207:                                             ; preds = %1189
  %1208 = landingpad { ptr, i32 }
          cleanup
  %1209 = extractvalue { ptr, i32 } %1208, 0
  store ptr %1209, ptr %19, align 8
  %1210 = extractvalue { ptr, i32 } %1208, 1
  store i32 %1210, ptr %20, align 4
  br label %1225

1211:                                             ; preds = %1198, %1196, %1194, %1192, %1190
  %1212 = landingpad { ptr, i32 }
          cleanup
  %1213 = extractvalue { ptr, i32 } %1212, 0
  store ptr %1213, ptr %19, align 8
  %1214 = extractvalue { ptr, i32 } %1212, 1
  store i32 %1214, ptr %20, align 4
  br label %1224

1215:                                             ; preds = %1200
  %1216 = landingpad { ptr, i32 }
          cleanup
  %1217 = extractvalue { ptr, i32 } %1216, 0
  store ptr %1217, ptr %19, align 8
  %1218 = extractvalue { ptr, i32 } %1216, 1
  store i32 %1218, ptr %20, align 4
  br label %1223

1219:                                             ; preds = %1201
  %1220 = landingpad { ptr, i32 }
          cleanup
  %1221 = extractvalue { ptr, i32 } %1220, 0
  store ptr %1221, ptr %19, align 8
  %1222 = extractvalue { ptr, i32 } %1220, 1
  store i32 %1222, ptr %20, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %127) #7
  br label %1223

1223:                                             ; preds = %1219, %1215
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %128) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %128) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %127) #7
  br label %1224

1224:                                             ; preds = %1223, %1211
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %126) #7
  br label %1225

1225:                                             ; preds = %1224, %1207
  call void @llvm.lifetime.end.p0(i64 376, ptr %126) #7
  br label %1483

1226:                                             ; preds = %1188
  call void @llvm.lifetime.start.p0(i64 4, ptr %129) #7
  store i32 0, ptr %129, align 4, !tbaa !5
  br label %1227

1227:                                             ; preds = %1382, %1226
  %1228 = load i32, ptr %129, align 4, !tbaa !5
  %1229 = load i32, ptr %7, align 4, !tbaa !5
  %1230 = icmp slt i32 %1228, %1229
  br i1 %1230, label %1232, label %1231

1231:                                             ; preds = %1227
  store i32 15, ptr %21, align 4
  br label %1385

1232:                                             ; preds = %1227
  %1233 = load i32, ptr %129, align 4, !tbaa !5
  %1234 = sext i32 %1233 to i64
  %1235 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %93, i64 noundef %1234) #7
  %1236 = load double, ptr %1235, align 8, !tbaa !11
  %1237 = invoke noundef zeroext i1 @_ZN4sptk11WriteStreamIdEEbT_PSo(double noundef %1236, ptr noundef @_ZSt4cout)
          to label %1238 unwind label %1245

1238:                                             ; preds = %1232
  br i1 %1237, label %1268, label %1239

1239:                                             ; preds = %1238
  call void @llvm.lifetime.start.p0(i64 376, ptr %130) #7
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %130)
          to label %1240 unwind label %1249

1240:                                             ; preds = %1239
  %1241 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %130, ptr noundef @.str.25)
          to label %1242 unwind label %1253

1242:                                             ; preds = %1240
  call void @llvm.lifetime.start.p0(i64 32, ptr %131) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %132) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %132) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %131, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %132)
          to label %1243 unwind label %1257

1243:                                             ; preds = %1242
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %131, ptr noundef nonnull align 8 dereferenceable(112) %130)
          to label %1244 unwind label %1261

1244:                                             ; preds = %1243
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %131) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %132) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %132) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %131) #7
  store i32 1, ptr %3, align 4
  store i32 1, ptr %21, align 4
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %130) #7
  call void @llvm.lifetime.end.p0(i64 376, ptr %130) #7
  br label %1385

1245:                                             ; preds = %1349, %1268, %1232
  %1246 = landingpad { ptr, i32 }
          cleanup
  %1247 = extractvalue { ptr, i32 } %1246, 0
  store ptr %1247, ptr %19, align 8
  %1248 = extractvalue { ptr, i32 } %1246, 1
  store i32 %1248, ptr %20, align 4
  br label %1387

1249:                                             ; preds = %1239
  %1250 = landingpad { ptr, i32 }
          cleanup
  %1251 = extractvalue { ptr, i32 } %1250, 0
  store ptr %1251, ptr %19, align 8
  %1252 = extractvalue { ptr, i32 } %1250, 1
  store i32 %1252, ptr %20, align 4
  br label %1267

1253:                                             ; preds = %1240
  %1254 = landingpad { ptr, i32 }
          cleanup
  %1255 = extractvalue { ptr, i32 } %1254, 0
  store ptr %1255, ptr %19, align 8
  %1256 = extractvalue { ptr, i32 } %1254, 1
  store i32 %1256, ptr %20, align 4
  br label %1266

1257:                                             ; preds = %1242
  %1258 = landingpad { ptr, i32 }
          cleanup
  %1259 = extractvalue { ptr, i32 } %1258, 0
  store ptr %1259, ptr %19, align 8
  %1260 = extractvalue { ptr, i32 } %1258, 1
  store i32 %1260, ptr %20, align 4
  br label %1265

1261:                                             ; preds = %1243
  %1262 = landingpad { ptr, i32 }
          cleanup
  %1263 = extractvalue { ptr, i32 } %1262, 0
  store ptr %1263, ptr %19, align 8
  %1264 = extractvalue { ptr, i32 } %1262, 1
  store i32 %1264, ptr %20, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %131) #7
  br label %1265

1265:                                             ; preds = %1261, %1257
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %132) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %132) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %131) #7
  br label %1266

1266:                                             ; preds = %1265, %1253
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %130) #7
  br label %1267

1267:                                             ; preds = %1266, %1249
  call void @llvm.lifetime.end.p0(i64 376, ptr %130) #7
  br label %1387

1268:                                             ; preds = %1238
  %1269 = load i32, ptr %6, align 4, !tbaa !5
  %1270 = add nsw i32 %1269, 1
  %1271 = load i32, ptr %129, align 4, !tbaa !5
  %1272 = sext i32 %1271 to i64
  %1273 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IdSaIdEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %95, i64 noundef %1272) #7
  %1274 = invoke noundef zeroext i1 @_ZN4sptk11WriteStreamIdEEbiiRKSt6vectorIT_SaIS2_EEPSoPi(i32 noundef 0, i32 noundef %1270, ptr noundef nonnull align 8 dereferenceable(24) %1273, ptr noundef @_ZSt4cout, ptr noundef null)
          to label %1275 unwind label %1245

1275:                                             ; preds = %1268
  br i1 %1274, label %1301, label %1276

1276:                                             ; preds = %1275
  call void @llvm.lifetime.start.p0(i64 376, ptr %133) #7
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %133)
          to label %1277 unwind label %1282

1277:                                             ; preds = %1276
  %1278 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %133, ptr noundef @.str.26)
          to label %1279 unwind label %1286

1279:                                             ; preds = %1277
  call void @llvm.lifetime.start.p0(i64 32, ptr %134) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %135) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %135) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %134, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %135)
          to label %1280 unwind label %1290

1280:                                             ; preds = %1279
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %134, ptr noundef nonnull align 8 dereferenceable(112) %133)
          to label %1281 unwind label %1294

1281:                                             ; preds = %1280
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %134) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %135) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %135) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %134) #7
  store i32 1, ptr %3, align 4
  store i32 1, ptr %21, align 4
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %133) #7
  call void @llvm.lifetime.end.p0(i64 376, ptr %133) #7
  br label %1385

1282:                                             ; preds = %1276
  %1283 = landingpad { ptr, i32 }
          cleanup
  %1284 = extractvalue { ptr, i32 } %1283, 0
  store ptr %1284, ptr %19, align 8
  %1285 = extractvalue { ptr, i32 } %1283, 1
  store i32 %1285, ptr %20, align 4
  br label %1300

1286:                                             ; preds = %1277
  %1287 = landingpad { ptr, i32 }
          cleanup
  %1288 = extractvalue { ptr, i32 } %1287, 0
  store ptr %1288, ptr %19, align 8
  %1289 = extractvalue { ptr, i32 } %1287, 1
  store i32 %1289, ptr %20, align 4
  br label %1299

1290:                                             ; preds = %1279
  %1291 = landingpad { ptr, i32 }
          cleanup
  %1292 = extractvalue { ptr, i32 } %1291, 0
  store ptr %1292, ptr %19, align 8
  %1293 = extractvalue { ptr, i32 } %1291, 1
  store i32 %1293, ptr %20, align 4
  br label %1298

1294:                                             ; preds = %1280
  %1295 = landingpad { ptr, i32 }
          cleanup
  %1296 = extractvalue { ptr, i32 } %1295, 0
  store ptr %1296, ptr %19, align 8
  %1297 = extractvalue { ptr, i32 } %1295, 1
  store i32 %1297, ptr %20, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %134) #7
  br label %1298

1298:                                             ; preds = %1294, %1290
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %135) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %135) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %134) #7
  br label %1299

1299:                                             ; preds = %1298, %1286
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %133) #7
  br label %1300

1300:                                             ; preds = %1299, %1282
  call void @llvm.lifetime.end.p0(i64 376, ptr %133) #7
  br label %1387

1301:                                             ; preds = %1275
  %1302 = load i8, ptr %92, align 1, !tbaa !13, !range !21, !noundef !22
  %1303 = trunc i8 %1302 to i1
  br i1 %1303, label %1304, label %1349

1304:                                             ; preds = %1301
  call void @llvm.lifetime.start.p0(i64 24, ptr %136) #7
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %136) #7
  %1305 = load i32, ptr %129, align 4, !tbaa !5
  %1306 = sext i32 %1305 to i64
  %1307 = call noundef nonnull align 8 dereferenceable(64) ptr @_ZNSt6vectorIN4sptk15SymmetricMatrixESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %97, i64 noundef %1306) #7
  %1308 = invoke noundef zeroext i1 @_ZNK4sptk15SymmetricMatrix11GetDiagonalEPSt6vectorIdSaIdEE(ptr noundef nonnull align 8 dereferenceable(64) %1307, ptr noundef %136)
          to label %1309 unwind label %1321

1309:                                             ; preds = %1304
  br i1 %1308, label %1310, label %1315

1310:                                             ; preds = %1309
  %1311 = load i32, ptr %6, align 4, !tbaa !5
  %1312 = add nsw i32 %1311, 1
  %1313 = invoke noundef zeroext i1 @_ZN4sptk11WriteStreamIdEEbiiRKSt6vectorIT_SaIS2_EEPSoPi(i32 noundef 0, i32 noundef %1312, ptr noundef nonnull align 8 dereferenceable(24) %136, ptr noundef @_ZSt4cout, ptr noundef null)
          to label %1314 unwind label %1321

1314:                                             ; preds = %1310
  br i1 %1313, label %1344, label %1315

1315:                                             ; preds = %1314, %1309
  call void @llvm.lifetime.start.p0(i64 376, ptr %137) #7
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %137)
          to label %1316 unwind label %1325

1316:                                             ; preds = %1315
  %1317 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %137, ptr noundef @.str.27)
          to label %1318 unwind label %1329

1318:                                             ; preds = %1316
  call void @llvm.lifetime.start.p0(i64 32, ptr %138) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %139) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %139) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %138, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %139)
          to label %1319 unwind label %1333

1319:                                             ; preds = %1318
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %138, ptr noundef nonnull align 8 dereferenceable(112) %137)
          to label %1320 unwind label %1337

1320:                                             ; preds = %1319
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %138) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %139) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %139) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %138) #7
  store i32 1, ptr %3, align 4
  store i32 1, ptr %21, align 4
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %137) #7
  call void @llvm.lifetime.end.p0(i64 376, ptr %137) #7
  br label %1345

1321:                                             ; preds = %1310, %1304
  %1322 = landingpad { ptr, i32 }
          cleanup
  %1323 = extractvalue { ptr, i32 } %1322, 0
  store ptr %1323, ptr %19, align 8
  %1324 = extractvalue { ptr, i32 } %1322, 1
  store i32 %1324, ptr %20, align 4
  br label %1348

1325:                                             ; preds = %1315
  %1326 = landingpad { ptr, i32 }
          cleanup
  %1327 = extractvalue { ptr, i32 } %1326, 0
  store ptr %1327, ptr %19, align 8
  %1328 = extractvalue { ptr, i32 } %1326, 1
  store i32 %1328, ptr %20, align 4
  br label %1343

1329:                                             ; preds = %1316
  %1330 = landingpad { ptr, i32 }
          cleanup
  %1331 = extractvalue { ptr, i32 } %1330, 0
  store ptr %1331, ptr %19, align 8
  %1332 = extractvalue { ptr, i32 } %1330, 1
  store i32 %1332, ptr %20, align 4
  br label %1342

1333:                                             ; preds = %1318
  %1334 = landingpad { ptr, i32 }
          cleanup
  %1335 = extractvalue { ptr, i32 } %1334, 0
  store ptr %1335, ptr %19, align 8
  %1336 = extractvalue { ptr, i32 } %1334, 1
  store i32 %1336, ptr %20, align 4
  br label %1341

1337:                                             ; preds = %1319
  %1338 = landingpad { ptr, i32 }
          cleanup
  %1339 = extractvalue { ptr, i32 } %1338, 0
  store ptr %1339, ptr %19, align 8
  %1340 = extractvalue { ptr, i32 } %1338, 1
  store i32 %1340, ptr %20, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %138) #7
  br label %1341

1341:                                             ; preds = %1337, %1333
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %139) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %139) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %138) #7
  br label %1342

1342:                                             ; preds = %1341, %1329
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %137) #7
  br label %1343

1343:                                             ; preds = %1342, %1325
  call void @llvm.lifetime.end.p0(i64 376, ptr %137) #7
  br label %1348

1344:                                             ; preds = %1314
  store i32 0, ptr %21, align 4
  br label %1345

1345:                                             ; preds = %1344, %1320
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %136) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %136) #7
  %1346 = load i32, ptr %21, align 4
  switch i32 %1346, label %1385 [
    i32 0, label %1347
  ]

1347:                                             ; preds = %1345
  br label %1381

1348:                                             ; preds = %1343, %1321
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %136) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %136) #7
  br label %1387

1349:                                             ; preds = %1301
  %1350 = load i32, ptr %129, align 4, !tbaa !5
  %1351 = sext i32 %1350 to i64
  %1352 = call noundef nonnull align 8 dereferenceable(64) ptr @_ZNSt6vectorIN4sptk15SymmetricMatrixESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %97, i64 noundef %1351) #7
  %1353 = invoke noundef zeroext i1 @_ZN4sptk11WriteStreamERKNS_15SymmetricMatrixEPSo(ptr noundef nonnull align 8 dereferenceable(64) %1352, ptr noundef @_ZSt4cout)
          to label %1354 unwind label %1245

1354:                                             ; preds = %1349
  br i1 %1353, label %1380, label %1355

1355:                                             ; preds = %1354
  call void @llvm.lifetime.start.p0(i64 376, ptr %140) #7
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %140)
          to label %1356 unwind label %1361

1356:                                             ; preds = %1355
  %1357 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %140, ptr noundef @.str.28)
          to label %1358 unwind label %1365

1358:                                             ; preds = %1356
  call void @llvm.lifetime.start.p0(i64 32, ptr %141) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %142) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %142) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %141, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %142)
          to label %1359 unwind label %1369

1359:                                             ; preds = %1358
  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 %1360 unwind label %1373

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

1361:                                             ; preds = %1355
  %1362 = landingpad { ptr, i32 }
          cleanup
  %1363 = extractvalue { ptr, i32 } %1362, 0
  store ptr %1363, ptr %19, align 8
  %1364 = extractvalue { ptr, i32 } %1362, 1
  store i32 %1364, ptr %20, align 4
  br label %1379

1365:                                             ; preds = %1356
  %1366 = landingpad { ptr, i32 }
          cleanup
  %1367 = extractvalue { ptr, i32 } %1366, 0
  store ptr %1367, ptr %19, align 8
  %1368 = extractvalue { ptr, i32 } %1366, 1
  store i32 %1368, ptr %20, align 4
  br label %1378

1369:                                             ; preds = %1358
  %1370 = landingpad { ptr, i32 }
          cleanup
  %1371 = extractvalue { ptr, i32 } %1370, 0
  store ptr %1371, ptr %19, align 8
  %1372 = extractvalue { ptr, i32 } %1370, 1
  store i32 %1372, ptr %20, align 4
  br label %1377

1373:                                             ; preds = %1359
  %1374 = landingpad { ptr, i32 }
          cleanup
  %1375 = extractvalue { ptr, i32 } %1374, 0
  store ptr %1375, ptr %19, align 8
  %1376 = extractvalue { ptr, i32 } %1374, 1
  store i32 %1376, ptr %20, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %141) #7
  br label %1377

1377:                                             ; preds = %1373, %1369
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %142) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %142) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %141) #7
  br label %1378

1378:                                             ; preds = %1377, %1365
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %140) #7
  br label %1379

1379:                                             ; preds = %1378, %1361
  call void @llvm.lifetime.end.p0(i64 376, ptr %140) #7
  br label %1387

1380:                                             ; preds = %1354
  br label %1381

1381:                                             ; preds = %1380, %1347
  br label %1382

1382:                                             ; preds = %1381
  %1383 = load i32, ptr %129, align 4, !tbaa !5
  %1384 = add nsw i32 %1383, 1
  store i32 %1384, ptr %129, align 4, !tbaa !5
  br label %1227, !llvm.loop !25

1385:                                             ; preds = %1360, %1345, %1281, %1244, %1231
  call void @llvm.lifetime.end.p0(i64 4, ptr %129) #7
  %1386 = load i32, ptr %21, align 4
  switch i32 %1386, label %1482 [
    i32 15, label %1388
  ]

1387:                                             ; preds = %1379, %1348, %1300, %1267, %1245
  call void @llvm.lifetime.end.p0(i64 4, ptr %129) #7
  br label %1483

1388:                                             ; preds = %1385
  %1389 = load ptr, ptr %14, align 8, !tbaa !9
  %1390 = icmp ne ptr null, %1389
  br i1 %1390, label %1391, label %1481

1391:                                             ; preds = %1388
  call void @llvm.lifetime.start.p0(i64 512, ptr %143) #7
  invoke void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(248) %143)
          to label %1392 unwind label %1412

1392:                                             ; preds = %1391
  %1393 = load ptr, ptr %14, align 8, !tbaa !9
  %1394 = invoke noundef i32 @_ZStorSt13_Ios_OpenmodeS_(i32 noundef 16, i32 noundef 4)
          to label %1395 unwind label %1416

1395:                                             ; preds = %1392
  invoke void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(248) %143, ptr noundef %1393, i32 noundef %1394)
          to label %1396 unwind label %1416

1396:                                             ; preds = %1395
  %1397 = load ptr, ptr %143, align 8, !tbaa !18
  %1398 = getelementptr i8, ptr %1397, i64 -24
  %1399 = load i64, ptr %1398, align 8
  %1400 = getelementptr inbounds i8, ptr %143, i64 %1399
  %1401 = invoke noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE4failEv(ptr noundef nonnull align 8 dereferenceable(264) %1400)
          to label %1402 unwind label %1416

1402:                                             ; preds = %1396
  br i1 %1401, label %1403, label %1439

1403:                                             ; preds = %1402
  call void @llvm.lifetime.start.p0(i64 376, ptr %144) #7
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %144)
          to label %1404 unwind label %1420

1404:                                             ; preds = %1403
  %1405 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %144, ptr noundef @.str.14)
          to label %1406 unwind label %1424

1406:                                             ; preds = %1404
  %1407 = load ptr, ptr %14, align 8, !tbaa !9
  %1408 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1405, ptr noundef %1407)
          to label %1409 unwind label %1424

1409:                                             ; preds = %1406
  call void @llvm.lifetime.start.p0(i64 32, ptr %145) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %146) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %146) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %145, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %146)
          to label %1410 unwind label %1428

1410:                                             ; preds = %1409
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %145, ptr noundef nonnull align 8 dereferenceable(112) %144)
          to label %1411 unwind label %1432

1411:                                             ; preds = %1410
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %145) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %146) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %146) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %145) #7
  store i32 1, ptr %3, align 4
  store i32 1, ptr %21, align 4
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %144) #7
  call void @llvm.lifetime.end.p0(i64 376, ptr %144) #7
  br label %1475

1412:                                             ; preds = %1391
  %1413 = landingpad { ptr, i32 }
          cleanup
  %1414 = extractvalue { ptr, i32 } %1413, 0
  store ptr %1414, ptr %19, align 8
  %1415 = extractvalue { ptr, i32 } %1413, 1
  store i32 %1415, ptr %20, align 4
  br label %1480

1416:                                             ; preds = %1396, %1395, %1392
  %1417 = landingpad { ptr, i32 }
          cleanup
  %1418 = extractvalue { ptr, i32 } %1417, 0
  store ptr %1418, ptr %19, align 8
  %1419 = extractvalue { ptr, i32 } %1417, 1
  store i32 %1419, ptr %20, align 4
  br label %1479

1420:                                             ; preds = %1403
  %1421 = landingpad { ptr, i32 }
          cleanup
  %1422 = extractvalue { ptr, i32 } %1421, 0
  store ptr %1422, ptr %19, align 8
  %1423 = extractvalue { ptr, i32 } %1421, 1
  store i32 %1423, ptr %20, align 4
  br label %1438

1424:                                             ; preds = %1406, %1404
  %1425 = landingpad { ptr, i32 }
          cleanup
  %1426 = extractvalue { ptr, i32 } %1425, 0
  store ptr %1426, ptr %19, align 8
  %1427 = extractvalue { ptr, i32 } %1425, 1
  store i32 %1427, ptr %20, align 4
  br label %1437

1428:                                             ; preds = %1409
  %1429 = landingpad { ptr, i32 }
          cleanup
  %1430 = extractvalue { ptr, i32 } %1429, 0
  store ptr %1430, ptr %19, align 8
  %1431 = extractvalue { ptr, i32 } %1429, 1
  store i32 %1431, ptr %20, align 4
  br label %1436

1432:                                             ; preds = %1410
  %1433 = landingpad { ptr, i32 }
          cleanup
  %1434 = extractvalue { ptr, i32 } %1433, 0
  store ptr %1434, ptr %19, align 8
  %1435 = extractvalue { ptr, i32 } %1433, 1
  store i32 %1435, ptr %20, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %145) #7
  br label %1436

1436:                                             ; preds = %1432, %1428
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %146) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %146) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %145) #7
  br label %1437

1437:                                             ; preds = %1436, %1424
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %144) #7
  br label %1438

1438:                                             ; preds = %1437, %1420
  call void @llvm.lifetime.end.p0(i64 376, ptr %144) #7
  br label %1479

1439:                                             ; preds = %1402
  call void @llvm.lifetime.start.p0(i64 8, ptr %147) #7
  store ptr %143, ptr %147, align 8, !tbaa !9
  %1440 = load double, ptr %125, align 8, !tbaa !11
  %1441 = load ptr, ptr %147, align 8, !tbaa !9
  %1442 = invoke noundef zeroext i1 @_ZN4sptk11WriteStreamIdEEbT_PSo(double noundef %1440, ptr noundef %1441)
          to label %1443 unwind label %1450

1443:                                             ; preds = %1439
  br i1 %1442, label %1473, label %1444

1444:                                             ; preds = %1443
  call void @llvm.lifetime.start.p0(i64 376, ptr %148) #7
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %148)
          to label %1445 unwind label %1454

1445:                                             ; preds = %1444
  %1446 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %148, ptr noundef @.str.29)
          to label %1447 unwind label %1458

1447:                                             ; preds = %1445
  call void @llvm.lifetime.start.p0(i64 32, ptr %149) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %150) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %150) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %149, ptr noundef @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %150)
          to label %1448 unwind label %1462

1448:                                             ; preds = %1447
  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 %1449 unwind label %1466

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

1450:                                             ; preds = %1439
  %1451 = landingpad { ptr, i32 }
          cleanup
  %1452 = extractvalue { ptr, i32 } %1451, 0
  store ptr %1452, ptr %19, align 8
  %1453 = extractvalue { ptr, i32 } %1451, 1
  store i32 %1453, ptr %20, align 4
  br label %1478

1454:                                             ; preds = %1444
  %1455 = landingpad { ptr, i32 }
          cleanup
  %1456 = extractvalue { ptr, i32 } %1455, 0
  store ptr %1456, ptr %19, align 8
  %1457 = extractvalue { ptr, i32 } %1455, 1
  store i32 %1457, ptr %20, align 4
  br label %1472

1458:                                             ; preds = %1445
  %1459 = landingpad { ptr, i32 }
          cleanup
  %1460 = extractvalue { ptr, i32 } %1459, 0
  store ptr %1460, ptr %19, align 8
  %1461 = extractvalue { ptr, i32 } %1459, 1
  store i32 %1461, ptr %20, align 4
  br label %1471

1462:                                             ; preds = %1447
  %1463 = landingpad { ptr, i32 }
          cleanup
  %1464 = extractvalue { ptr, i32 } %1463, 0
  store ptr %1464, ptr %19, align 8
  %1465 = extractvalue { ptr, i32 } %1463, 1
  store i32 %1465, ptr %20, align 4
  br label %1470

1466:                                             ; preds = %1448
  %1467 = landingpad { ptr, i32 }
          cleanup
  %1468 = extractvalue { ptr, i32 } %1467, 0
  store ptr %1468, ptr %19, align 8
  %1469 = extractvalue { ptr, i32 } %1467, 1
  store i32 %1469, ptr %20, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %149) #7
  br label %1470

1470:                                             ; preds = %1466, %1462
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %150) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %150) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %149) #7
  br label %1471

1471:                                             ; preds = %1470, %1458
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %148) #7
  br label %1472

1472:                                             ; preds = %1471, %1454
  call void @llvm.lifetime.end.p0(i64 376, ptr %148) #7
  br label %1478

1473:                                             ; preds = %1443
  store i32 0, ptr %21, align 4
  br label %1474

1474:                                             ; preds = %1473, %1449
  call void @llvm.lifetime.end.p0(i64 8, ptr %147) #7
  br label %1475

1475:                                             ; preds = %1474, %1411
  call void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(248) %143) #7
  call void @llvm.lifetime.end.p0(i64 512, ptr %143) #7
  %1476 = load i32, ptr %21, align 4
  switch i32 %1476, label %1482 [
    i32 0, label %1477
  ]

1477:                                             ; preds = %1475
  br label %1481

1478:                                             ; preds = %1472, %1450
  call void @llvm.lifetime.end.p0(i64 8, ptr %147) #7
  br label %1479

1479:                                             ; preds = %1478, %1438, %1416
  call void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(248) %143) #7
  br label %1480

1480:                                             ; preds = %1479, %1412
  call void @llvm.lifetime.end.p0(i64 512, ptr %143) #7
  br label %1483

1481:                                             ; preds = %1477, %1388
  store i32 0, ptr %3, align 4
  store i32 1, ptr %21, align 4
  br label %1482

1482:                                             ; preds = %1481, %1475, %1385, %1202
  call void @llvm.lifetime.end.p0(i64 8, ptr %125) #7
  br label %1484

1483:                                             ; preds = %1480, %1387, %1225, %1203
  call void @llvm.lifetime.end.p0(i64 8, ptr %125) #7
  br label %1485

1484:                                             ; preds = %1482, %1154
  call void @_ZN4sptk23GaussianMixtureModelingD2Ev(ptr noundef nonnull align 8 dereferenceable(264) %120) #7
  call void @llvm.lifetime.end.p0(i64 264, ptr %120) #7
  br label %1487

1485:                                             ; preds = %1483, %1185, %1163
  call void @_ZN4sptk23GaussianMixtureModelingD2Ev(ptr noundef nonnull align 8 dereferenceable(264) %120) #7
  br label %1486

1486:                                             ; preds = %1485, %1159, %1155
  call void @llvm.lifetime.end.p0(i64 264, ptr %120) #7
  br label %1488

1487:                                             ; preds = %1484, %1116
  call void @_ZNSt6vectorIN4sptk15SymmetricMatrixESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %97) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %97) #7
  call void @_ZNSt6vectorIS_IdSaIdEESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %95) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %95) #7
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %93) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %93) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %92) #7
  br label %1492

1488:                                             ; preds = %1486, %1120
  call void @_ZNSt6vectorIN4sptk15SymmetricMatrixESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %97) #7
  br label %1489

1489:                                             ; preds = %1488, %881
  call void @llvm.lifetime.end.p0(i64 24, ptr %97) #7
  call void @_ZNSt6vectorIS_IdSaIdEESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %95) #7
  br label %1490

1490:                                             ; preds = %1489, %877
  call void @llvm.lifetime.end.p0(i64 24, ptr %95) #7
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %93) #7
  br label %1491

1491:                                             ; preds = %1490, %873
  call void @llvm.lifetime.end.p0(i64 24, ptr %93) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %92) #7
  br label %1493

1492:                                             ; preds = %1487, %827, %823
  call void @_ZNSt6vectorIS_IdSaIdEESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %83) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %83) #7
  br label %1494

1493:                                             ; preds = %1491, %831
  call void @_ZNSt6vectorIS_IdSaIdEESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %83) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %83) #7
  br label %1495

1494:                                             ; preds = %1492, %715
  call void @llvm.lifetime.end.p0(i64 8, ptr %79) #7
  br label %1496

1495:                                             ; preds = %1493, %738, %716
  call void @llvm.lifetime.end.p0(i64 8, ptr %79) #7
  br label %1497

1496:                                             ; preds = %1494, %676
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #7
  br label %1498

1497:                                             ; preds = %1495, %695
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #7
  br label %1500

1498:                                             ; preds = %1496, %651
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %17) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %17) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %16) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %15) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %14) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %12) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %10) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %9) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #7
  %1499 = load i32, ptr %3, align 4
  ret i32 %1499

1500:                                             ; preds = %1497, %661, %654
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %17) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %17) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %16) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %15) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %14) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %12) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %10) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %9) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #7
  br label %1501

1501:                                             ; preds = %1500
  %1502 = load ptr, ptr %19, align 8
  %1503 = load i32, ptr %20, align 4
  %1504 = insertvalue { ptr, i32 } poison, ptr %1502, 0
  %1505 = insertvalue { ptr, i32 } %1504, i32 %1503, 1
  resume { ptr, i32 } %1505
}

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

declare i32 @ya_getopt_long(i32 noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef) #3

declare i32 @__gxx_personality_v0(...)

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

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

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

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

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

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

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

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

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

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

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

declare noundef zeroext i1 @_ZN4sptk13SetBinaryModeEv() #3

; 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 uwtable
declare void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(256)) unnamed_addr #4 align 2

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

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

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

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

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

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

; 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)) #4 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 nounwind uwtable
declare void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256)) unnamed_addr #2 align 2

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

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

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

; 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

; 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 void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24)) 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) #2 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4sptk15SymmetricMatrixixEi(ptr dead_on_unwind noalias writable sret(%"class.sptk::SymmetricMatrix::Row") align 8, ptr noundef nonnull align 8 dereferenceable(64), i32 noundef) #4 align 2

declare noundef nonnull align 8 dereferenceable(8) ptr @_ZN4sptk15SymmetricMatrix3RowixEi(ptr noundef nonnull align 8 dereferenceable(20), i32 noundef) #3

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

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

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

declare void @_ZN4sptk23GaussianMixtureModelingC1EiiidNS0_14CovarianceTypeESt6vectorIiSaIiEEddNS0_18InitializationTypeEidRKS2_IdSaIdEERKS2_IS7_SaIS7_EERKS2_INS_15SymmetricMatrixESaISE_EE(ptr noundef nonnull align 8 dereferenceable(264), i32 noundef, i32 noundef, i32 noundef, double noundef, i32 noundef, ptr noundef, double noundef, double noundef, i32 noundef, i32 noundef, double noundef, ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #3

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

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

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

declare noundef zeroext i1 @_ZN4sptk11WriteStreamIdEEbT_PSo(double noundef, ptr noundef) #3

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

declare noundef zeroext i1 @_ZNK4sptk15SymmetricMatrix11GetDiagonalEPSt6vectorIdSaIdEE(ptr noundef nonnull align 8 dereferenceable(64), ptr noundef) #3

declare noundef zeroext i1 @_ZN4sptk11WriteStreamERKNS_15SymmetricMatrixEPSo(ptr noundef nonnull align 8 dereferenceable(64), ptr noundef) #3

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

; Function Attrs: mustprogress uwtable
declare void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(248), ptr noundef, i32 noundef) #4 align 2

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt15__new_allocatorIN4sptk15SymmetricMatrixEED2Ev(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 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { inlinehint mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { inlinehint mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { nounwind }

!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 = !{!"double", !7, i64 0}
!13 = !{!14, !14, i64 0}
!14 = !{!"bool", !7, i64 0}
!15 = distinct !{!15, !16}
!16 = !{!"llvm.loop.mustprogress"}
!17 = distinct !{!17, !16}
!18 = !{!19, !19, i64 0}
!19 = !{!"vtable pointer", !8, i64 0}
!20 = distinct !{!20, !16}
!21 = !{i8 0, i8 2}
!22 = !{}
!23 = distinct !{!23, !16}
!24 = distinct !{!24, !16}
!25 = distinct !{!25, !16}


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

%"class.std::basic_ostream" = type { ptr, %"class.std::basic_ios" }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"class.std::locale" = type { ptr }
%"class.std::basic_istream" = type { ptr, i64, %"class.std::basic_ios" }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl" }
%"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl" = type { %"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl_data" }
%"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::__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<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::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::vector.9" = type { %"struct.std::_Vector_base.10" }
%"struct.std::_Vector_base.10" = 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::allocator.11" = type { i8 }
%"class.std::allocator.5" = type { i8 }
%"class.std::vector.14" = type { %"struct.std::_Vector_base.15" }
%"struct.std::_Vector_base.15" = 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.16" = type { i8 }
%"class.sptk::SymmetricMatrix::Row" = type <{ ptr, ptr, i32, [4 x i8] }>
%"class.sptk::GaussianMixtureModeling" = type { ptr, i32, i32, i32, double, i32, %"class.std::vector", double, double, i32, i32, double, %"class.std::vector.9", %"class.std::vector.3", %"class.std::vector.14", i8, i8, %"class.sptk::SymmetricMatrix", %"class.std::vector.9" }
%"class.sptk::SymmetricMatrix" = type { ptr, i32, %"class.std::vector.9", %"class.std::vector.19" }
%"class.std::vector.19" = type { %"struct.std::_Vector_base.20" }
%"struct.std::_Vector_base.20" = 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_ofstream" = type { %"class.std::basic_ostream.base", %"class.std::basic_filebuf", %"class.std::basic_ios" }

@.str = external hidden unnamed_addr constant [26 x i8], align 1
@ya_optarg = external local_unnamed_addr global ptr, align 8
@.str.1 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [42 x i8], align 1
@ya_optind = external local_unnamed_addr global i32, align 4
@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@_ZSt4cerr = external global %"class.std::basic_ostream", align 8
@.str.12 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [18 x i8], align 1
@_ZSt3cin = external global %"class.std::basic_istream", align 8
@.str.15 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.29 = 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 double, align 8
  %7 = alloca double, align 8
  %8 = alloca double, align 8
  %9 = alloca double, align 8
  %10 = alloca %"class.std::vector", align 8
  %11 = alloca %"class.std::__cxx11::basic_string", align 8
  %12 = alloca %"class.std::allocator.0", align 1
  %13 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %14 = alloca %"class.std::__cxx11::basic_string", align 8
  %15 = alloca %"class.std::allocator.0", align 1
  %16 = alloca %"class.std::__cxx11::basic_string", align 8
  %17 = alloca %"class.std::allocator.0", align 1
  %18 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %19 = alloca %"class.std::__cxx11::basic_string", align 8
  %20 = alloca %"class.std::allocator.0", align 1
  %21 = alloca %"class.std::__cxx11::basic_string", align 8
  %22 = alloca %"class.std::allocator.0", align 1
  %23 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %24 = alloca %"class.std::__cxx11::basic_string", align 8
  %25 = alloca %"class.std::allocator.0", align 1
  %26 = alloca %"class.std::__cxx11::basic_string", align 8
  %27 = alloca %"class.std::allocator.0", align 1
  %28 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %29 = alloca %"class.std::__cxx11::basic_string", align 8
  %30 = alloca %"class.std::allocator.0", align 1
  %31 = alloca %"class.std::__cxx11::basic_string", align 8
  %32 = alloca %"class.std::allocator.0", align 1
  %33 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %34 = alloca %"class.std::__cxx11::basic_string", align 8
  %35 = alloca %"class.std::allocator.0", align 1
  %36 = alloca %"class.std::__cxx11::basic_string", align 8
  %37 = alloca %"class.std::allocator.0", align 1
  %38 = alloca %"class.std::__cxx11::basic_ostringstream", 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_string", align 8
  %42 = alloca %"class.std::allocator.0", align 1
  %43 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %44 = alloca %"class.std::__cxx11::basic_string", align 8
  %45 = alloca %"class.std::allocator.0", align 1
  %46 = alloca %"class.std::__cxx11::basic_string", align 8
  %47 = alloca %"class.std::allocator.0", align 1
  %48 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %49 = alloca %"class.std::__cxx11::basic_string", align 8
  %50 = alloca %"class.std::allocator.0", align 1
  %51 = alloca i32, align 4
  %52 = alloca %"class.std::__cxx11::basic_string", align 8
  %53 = alloca %"class.std::allocator.0", align 1
  %54 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %55 = alloca %"class.std::__cxx11::basic_string", align 8
  %56 = alloca %"class.std::allocator.0", align 1
  %57 = alloca %"class.std::__cxx11::basic_string", align 8
  %58 = alloca %"class.std::allocator.0", align 1
  %59 = alloca i32, align 4
  %60 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %61 = alloca %"class.std::__cxx11::basic_string", align 8
  %62 = alloca %"class.std::allocator.0", align 1
  %63 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %64 = alloca %"class.std::__cxx11::basic_string", align 8
  %65 = alloca %"class.std::allocator.0", align 1
  %66 = alloca %"class.std::vector.3", align 8
  %67 = alloca %"class.std::basic_ifstream", 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::vector.9", align 8
  %72 = alloca %"class.std::allocator.11", align 1
  %73 = alloca %"class.std::vector.9", align 8
  %74 = alloca %"class.std::allocator.11", align 1
  %75 = alloca %"class.std::vector.3", align 8
  %76 = alloca %"class.std::allocator.5", align 1
  %77 = alloca %"class.std::vector.14", align 8
  %78 = alloca %"class.std::allocator.16", align 1
  %79 = alloca %"class.std::basic_ifstream", align 8
  %80 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %81 = alloca %"class.std::__cxx11::basic_string", align 8
  %82 = alloca %"class.std::allocator.0", align 1
  %83 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %84 = alloca %"class.std::__cxx11::basic_string", align 8
  %85 = alloca %"class.std::allocator.0", align 1
  %86 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %87 = alloca %"class.std::__cxx11::basic_string", align 8
  %88 = alloca %"class.std::allocator.0", align 1
  %89 = alloca %"class.std::vector.9", align 8
  %90 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %91 = alloca %"class.std::__cxx11::basic_string", align 8
  %92 = alloca %"class.std::allocator.0", align 1
  %93 = alloca %"class.sptk::SymmetricMatrix::Row", align 8
  %94 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %95 = alloca %"class.std::__cxx11::basic_string", align 8
  %96 = alloca %"class.std::allocator.0", align 1
  %97 = alloca %"class.sptk::GaussianMixtureModeling", align 8
  %98 = alloca %"class.std::vector", align 8
  %99 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %100 = alloca %"class.std::__cxx11::basic_string", align 8
  %101 = alloca %"class.std::allocator.0", align 1
  %102 = alloca double, align 8
  %103 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %104 = alloca %"class.std::__cxx11::basic_string", align 8
  %105 = alloca %"class.std::allocator.0", align 1
  %106 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %107 = alloca %"class.std::__cxx11::basic_string", align 8
  %108 = alloca %"class.std::allocator.0", align 1
  %109 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %110 = alloca %"class.std::__cxx11::basic_string", align 8
  %111 = alloca %"class.std::allocator.0", align 1
  %112 = alloca %"class.std::vector.9", 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::basic_ofstream", align 8
  %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
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #7
  store i32 25, ptr %3, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %4) #7
  store i32 16, ptr %4, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %5) #7
  store i32 20, ptr %5, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %6) #7
  store double 1.000000e-05, ptr %6, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %7) #7
  store double 1.000000e-05, ptr %7, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %8) #7
  store double 0x3EB0C6F7A0B5ED8D, ptr %8, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %9) #7
  store double 0.000000e+00, ptr %9, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %10) #7
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #7
  br label %126

126:                                              ; preds = %.backedge, %2
  %.091 = phi i1 [ false, %2 ], [ %.091.be, %.backedge ]
  %.088 = phi i8 [ 0, %2 ], [ %.088.be, %.backedge ]
  %.085 = phi ptr [ null, %2 ], [ %.085.be, %.backedge ]
  %.082 = phi ptr [ null, %2 ], [ %.082.be, %.backedge ]
  %127 = invoke i32 @ya_getopt_long(i32 noundef %0, ptr noundef %1, ptr noundef nonnull @.str, ptr noundef null, ptr noundef null)
          to label %128 unwind label %.loopexit460

128:                                              ; preds = %126
  switch i32 %127, label %423 [
    i32 -1, label %424
    i32 108, label %129
    i32 109, label %161
    i32 107, label %192
    i32 105, label %221
    i32 100, label %250
    i32 119, label %279
    i32 118, label %308
    i32 77, label %337
    i32 85, label %367
    i32 83, label %369
    i32 102, label %.backedge
    i32 86, label %371
    i32 66, label %372
    i32 104, label %422
  ]

.loopexit460:                                     ; preds = %126
  %lpad.loopexit462 = landingpad { ptr, i32 }
          cleanup
  br label %949

.loopexit.split-lp461:                            ; preds = %422, %423
  %lpad.loopexit.split-lp463 = landingpad { ptr, i32 }
          cleanup
  br label %949

129:                                              ; preds = %128
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %11) #7
  %130 = load ptr, ptr @ya_optarg, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %12) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef %130, ptr noundef nonnull align 1 dereferenceable(1) %12)
          to label %131 unwind label %142

131:                                              ; preds = %129
  %132 = invoke noundef zeroext i1 @_ZN4sptk22ConvertStringToIntegerERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPi(ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef nonnull %3)
          to label %133 unwind label %144

133:                                              ; preds = %131
  %134 = load i32, ptr %3, align 4
  %135 = icmp sgt i32 %134, 0
  %.not308 = select i1 %132, i1 %135, i1 false
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %12) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #7
  br i1 %.not308, label %158, label %136

136:                                              ; preds = %133
  call void @llvm.lifetime.start.p0(i64 376, ptr nonnull %13) #7
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %13)
          to label %137 unwind label %147

137:                                              ; preds = %136
  %138 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %13, ptr noundef nonnull @.str.1)
          to label %139 unwind label %149

139:                                              ; preds = %137
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %14) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %15) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %15)
          to label %140 unwind label %151

140:                                              ; preds = %139
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef nonnull align 8 dereferenceable(112) %13)
          to label %141 unwind label %153

141:                                              ; preds = %140
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %15) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #7
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %13) #7
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %13) #7
  br label %.thread417

142:                                              ; preds = %129
  %143 = landingpad { ptr, i32 }
          cleanup
  br label %146

144:                                              ; preds = %131
  %145 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #7
  br label %146

146:                                              ; preds = %144, %142
  %.pn306 = phi { ptr, i32 } [ %145, %144 ], [ %143, %142 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %12) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #7
  br label %949

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

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

151:                                              ; preds = %139
  %152 = landingpad { ptr, i32 }
          cleanup
  br label %155

153:                                              ; preds = %140
  %154 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #7
  br label %155

155:                                              ; preds = %153, %151
  %.pn309 = phi { ptr, i32 } [ %154, %153 ], [ %152, %151 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %15) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #7
  br label %156

156:                                              ; preds = %155, %149
  %.pn309.pn = phi { ptr, i32 } [ %.pn309, %155 ], [ %150, %149 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %13) #7
  br label %157

157:                                              ; preds = %156, %147
  %.pn309.pn.pn = phi { ptr, i32 } [ %.pn309.pn, %156 ], [ %148, %147 ]
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %13) #7
  br label %949

158:                                              ; preds = %133
  %159 = load i32, ptr %3, align 4, !tbaa !5
  %160 = add nsw i32 %159, -1
  store i32 %160, ptr %3, align 4, !tbaa !5
  br label %.backedge

161:                                              ; preds = %128
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %16) #7
  %162 = load ptr, ptr @ya_optarg, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %17) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %17) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef %162, ptr noundef nonnull align 1 dereferenceable(1) %17)
          to label %163 unwind label %176

163:                                              ; preds = %161
  %164 = invoke noundef zeroext i1 @_ZN4sptk22ConvertStringToIntegerERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPi(ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef nonnull %3)
          to label %165 unwind label %178

165:                                              ; preds = %163
  %166 = load i32, ptr %3, align 4
  %167 = icmp sgt i32 %166, -1
  %.not301 = select i1 %164, i1 %167, i1 false
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %17) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %17) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #7
  br i1 %.not301, label %.backedge, label %168

168:                                              ; preds = %165
  call void @llvm.lifetime.start.p0(i64 376, ptr nonnull %18) #7
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %18)
          to label %169 unwind label %181

169:                                              ; preds = %168
  %170 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %18, ptr noundef nonnull @.str.3)
          to label %171 unwind label %183

171:                                              ; preds = %169
  %172 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %170, ptr noundef nonnull @.str.4)
          to label %173 unwind label %183

173:                                              ; preds = %171
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %19) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %20) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %20) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %19, ptr noundef nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %20)
          to label %174 unwind label %185

174:                                              ; preds = %173
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %19, ptr noundef nonnull align 8 dereferenceable(112) %18)
          to label %175 unwind label %187

175:                                              ; preds = %174
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %20) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %20) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #7
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %18) #7
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %18) #7
  br label %.thread417

176:                                              ; preds = %161
  %177 = landingpad { ptr, i32 }
          cleanup
  br label %180

178:                                              ; preds = %163
  %179 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #7
  br label %180

180:                                              ; preds = %178, %176
  %.pn299 = phi { ptr, i32 } [ %179, %178 ], [ %177, %176 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %17) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %17) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #7
  br label %949

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

183:                                              ; preds = %171, %169
  %184 = landingpad { ptr, i32 }
          cleanup
  br label %190

185:                                              ; preds = %173
  %186 = landingpad { ptr, i32 }
          cleanup
  br label %189

187:                                              ; preds = %174
  %188 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #7
  br label %189

189:                                              ; preds = %187, %185
  %.pn302 = phi { ptr, i32 } [ %188, %187 ], [ %186, %185 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %20) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %20) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #7
  br label %190

190:                                              ; preds = %189, %183
  %.pn302.pn = phi { ptr, i32 } [ %.pn302, %189 ], [ %184, %183 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %18) #7
  br label %191

191:                                              ; preds = %190, %181
  %.pn302.pn.pn = phi { ptr, i32 } [ %.pn302.pn, %190 ], [ %182, %181 ]
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %18) #7
  br label %949

192:                                              ; preds = %128
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %21) #7
  %193 = load ptr, ptr @ya_optarg, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %22) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %22) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef %193, ptr noundef nonnull align 1 dereferenceable(1) %22)
          to label %194 unwind label %205

194:                                              ; preds = %192
  %195 = invoke noundef zeroext i1 @_ZN4sptk22ConvertStringToIntegerERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPi(ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef nonnull %4)
          to label %196 unwind label %207

196:                                              ; preds = %194
  %197 = load i32, ptr %4, align 4
  %198 = icmp sgt i32 %197, 0
  %.not294 = select i1 %195, i1 %198, i1 false
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %22) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %22) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21) #7
  br i1 %.not294, label %.backedge, label %199

199:                                              ; preds = %196
  call void @llvm.lifetime.start.p0(i64 376, ptr nonnull %23) #7
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %23)
          to label %200 unwind label %210

200:                                              ; preds = %199
  %201 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %23, ptr noundef nonnull @.str.5)
          to label %202 unwind label %212

202:                                              ; preds = %200
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %24) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %25) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %25)
          to label %203 unwind label %214

203:                                              ; preds = %202
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef nonnull align 8 dereferenceable(112) %23)
          to label %204 unwind label %216

204:                                              ; preds = %203
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %25) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #7
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %23) #7
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %23) #7
  br label %.thread417

205:                                              ; preds = %192
  %206 = landingpad { ptr, i32 }
          cleanup
  br label %209

207:                                              ; preds = %194
  %208 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #7
  br label %209

209:                                              ; preds = %207, %205
  %.pn292 = phi { ptr, i32 } [ %208, %207 ], [ %206, %205 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %22) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %22) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21) #7
  br label %949

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

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

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

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

218:                                              ; preds = %216, %214
  %.pn295 = phi { ptr, i32 } [ %217, %216 ], [ %215, %214 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %25) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #7
  br label %219

219:                                              ; preds = %218, %212
  %.pn295.pn = phi { ptr, i32 } [ %.pn295, %218 ], [ %213, %212 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %23) #7
  br label %220

220:                                              ; preds = %219, %210
  %.pn295.pn.pn = phi { ptr, i32 } [ %.pn295.pn, %219 ], [ %211, %210 ]
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %23) #7
  br label %949

221:                                              ; preds = %128
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %26) #7
  %222 = load ptr, ptr @ya_optarg, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %27) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %27) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %26, ptr noundef %222, ptr noundef nonnull align 1 dereferenceable(1) %27)
          to label %223 unwind label %234

223:                                              ; preds = %221
  %224 = invoke noundef zeroext i1 @_ZN4sptk22ConvertStringToIntegerERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPi(ptr noundef nonnull align 8 dereferenceable(32) %26, ptr noundef nonnull %5)
          to label %225 unwind label %236

225:                                              ; preds = %223
  %226 = load i32, ptr %5, align 4
  %227 = icmp sgt i32 %226, 0
  %.not287 = select i1 %224, i1 %227, i1 false
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %27) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %27) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #7
  br i1 %.not287, label %.backedge, label %228

228:                                              ; preds = %225
  call void @llvm.lifetime.start.p0(i64 376, ptr nonnull %28) #7
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %28)
          to label %229 unwind label %239

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

231:                                              ; preds = %229
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %29) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %30) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %30) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %29, ptr noundef nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %30)
          to label %232 unwind label %243

232:                                              ; preds = %231
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %29, ptr noundef nonnull align 8 dereferenceable(112) %28)
          to label %233 unwind label %245

233:                                              ; preds = %232
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %30) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %30) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29) #7
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %28) #7
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %28) #7
  br label %.thread417

234:                                              ; preds = %221
  %235 = landingpad { ptr, i32 }
          cleanup
  br label %238

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

238:                                              ; preds = %236, %234
  %.pn285 = phi { ptr, i32 } [ %237, %236 ], [ %235, %234 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %27) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %27) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #7
  br label %949

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

241:                                              ; preds = %229
  %242 = landingpad { ptr, i32 }
          cleanup
  br label %248

243:                                              ; preds = %231
  %244 = landingpad { ptr, i32 }
          cleanup
  br label %247

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

247:                                              ; preds = %245, %243
  %.pn288 = phi { ptr, i32 } [ %246, %245 ], [ %244, %243 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %30) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %30) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29) #7
  br label %248

248:                                              ; preds = %247, %241
  %.pn288.pn = phi { ptr, i32 } [ %.pn288, %247 ], [ %242, %241 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %28) #7
  br label %249

249:                                              ; preds = %248, %239
  %.pn288.pn.pn = phi { ptr, i32 } [ %.pn288.pn, %248 ], [ %240, %239 ]
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %28) #7
  br label %949

250:                                              ; preds = %128
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %31) #7
  %251 = load ptr, ptr @ya_optarg, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %32) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %32) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %31, ptr noundef %251, ptr noundef nonnull align 1 dereferenceable(1) %32)
          to label %252 unwind label %263

252:                                              ; preds = %250
  %253 = invoke noundef zeroext i1 @_ZN4sptk21ConvertStringToDoubleERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPd(ptr noundef nonnull align 8 dereferenceable(32) %31, ptr noundef nonnull %6)
          to label %254 unwind label %265

254:                                              ; preds = %252
  %255 = load double, ptr %6, align 8
  %256 = fcmp uge double %255, 0.000000e+00
  %.not280 = select i1 %253, i1 %256, i1 false
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %32) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %32) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %31) #7
  br i1 %.not280, label %.backedge, label %257

257:                                              ; preds = %254
  call void @llvm.lifetime.start.p0(i64 376, ptr nonnull %33) #7
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %33)
          to label %258 unwind label %268

258:                                              ; preds = %257
  %259 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %33, ptr noundef nonnull @.str.7)
          to label %260 unwind label %270

260:                                              ; preds = %258
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %34) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %35) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %35) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %34, ptr noundef nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %35)
          to label %261 unwind label %272

261:                                              ; preds = %260
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %34, ptr noundef nonnull align 8 dereferenceable(112) %33)
          to label %262 unwind label %274

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

263:                                              ; preds = %250
  %264 = landingpad { ptr, i32 }
          cleanup
  br label %267

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

267:                                              ; preds = %265, %263
  %.pn278 = phi { ptr, i32 } [ %266, %265 ], [ %264, %263 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %32) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %32) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %31) #7
  br label %949

268:                                              ; preds = %257
  %269 = landingpad { ptr, i32 }
          cleanup
  br label %278

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

272:                                              ; preds = %260
  %273 = landingpad { ptr, i32 }
          cleanup
  br label %276

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

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

277:                                              ; preds = %276, %270
  %.pn281.pn = phi { ptr, i32 } [ %.pn281, %276 ], [ %271, %270 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %33) #7
  br label %278

278:                                              ; preds = %277, %268
  %.pn281.pn.pn = phi { ptr, i32 } [ %.pn281.pn, %277 ], [ %269, %268 ]
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %33) #7
  br label %949

279:                                              ; preds = %128
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %36) #7
  %280 = load ptr, ptr @ya_optarg, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %37) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %37) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %36, ptr noundef %280, ptr noundef nonnull align 1 dereferenceable(1) %37)
          to label %281 unwind label %292

281:                                              ; preds = %279
  %282 = invoke noundef zeroext i1 @_ZN4sptk21ConvertStringToDoubleERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPd(ptr noundef nonnull align 8 dereferenceable(32) %36, ptr noundef nonnull %7)
          to label %283 unwind label %294

283:                                              ; preds = %281
  %284 = load double, ptr %7, align 8
  %285 = fcmp uge double %284, 0.000000e+00
  %.not273 = select i1 %282, i1 %285, i1 false
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %37) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %37) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %36) #7
  br i1 %.not273, label %.backedge, label %286

286:                                              ; preds = %283
  call void @llvm.lifetime.start.p0(i64 376, ptr nonnull %38) #7
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %38)
          to label %287 unwind label %297

287:                                              ; preds = %286
  %288 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %38, ptr noundef nonnull @.str.8)
          to label %289 unwind label %299

289:                                              ; preds = %287
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %39) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %40) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %40) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %39, ptr noundef nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %40)
          to label %290 unwind label %301

290:                                              ; preds = %289
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %39, ptr noundef nonnull align 8 dereferenceable(112) %38)
          to label %291 unwind label %303

291:                                              ; preds = %290
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %40) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %40) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %39) #7
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %38) #7
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %38) #7
  br label %.thread417

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

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

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

297:                                              ; preds = %286
  %298 = landingpad { ptr, i32 }
          cleanup
  br label %307

299:                                              ; preds = %287
  %300 = landingpad { ptr, i32 }
          cleanup
  br label %306

301:                                              ; preds = %289
  %302 = landingpad { ptr, i32 }
          cleanup
  br label %305

303:                                              ; preds = %290
  %304 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #7
  br label %305

305:                                              ; preds = %303, %301
  %.pn274 = phi { ptr, i32 } [ %304, %303 ], [ %302, %301 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %40) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %40) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %39) #7
  br label %306

306:                                              ; preds = %305, %299
  %.pn274.pn = phi { ptr, i32 } [ %.pn274, %305 ], [ %300, %299 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %38) #7
  br label %307

307:                                              ; preds = %306, %297
  %.pn274.pn.pn = phi { ptr, i32 } [ %.pn274.pn, %306 ], [ %298, %297 ]
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %38) #7
  br label %949

308:                                              ; preds = %128
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %41) #7
  %309 = load ptr, ptr @ya_optarg, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %42) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %41, ptr noundef %309, ptr noundef nonnull align 1 dereferenceable(1) %42)
          to label %310 unwind label %321

310:                                              ; preds = %308
  %311 = invoke noundef zeroext i1 @_ZN4sptk21ConvertStringToDoubleERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPd(ptr noundef nonnull align 8 dereferenceable(32) %41, ptr noundef nonnull %8)
          to label %312 unwind label %323

312:                                              ; preds = %310
  %313 = load double, ptr %8, align 8
  %314 = fcmp uge double %313, 0.000000e+00
  %.not266 = select i1 %311, i1 %314, i1 false
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %42) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %41) #7
  br i1 %.not266, label %.backedge, label %315

315:                                              ; preds = %312
  call void @llvm.lifetime.start.p0(i64 376, ptr nonnull %43) #7
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %43)
          to label %316 unwind label %326

316:                                              ; preds = %315
  %317 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %43, ptr noundef nonnull @.str.9)
          to label %318 unwind label %328

318:                                              ; preds = %316
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %44) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %45) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %44, ptr noundef nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %45)
          to label %319 unwind label %330

319:                                              ; preds = %318
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %44, ptr noundef nonnull align 8 dereferenceable(112) %43)
          to label %320 unwind label %332

320:                                              ; preds = %319
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %45) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %44) #7
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %43) #7
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %43) #7
  br label %.thread417

321:                                              ; preds = %308
  %322 = landingpad { ptr, i32 }
          cleanup
  br label %325

323:                                              ; preds = %310
  %324 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #7
  br label %325

325:                                              ; preds = %323, %321
  %.pn264 = phi { ptr, i32 } [ %324, %323 ], [ %322, %321 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %42) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %41) #7
  br label %949

326:                                              ; preds = %315
  %327 = landingpad { ptr, i32 }
          cleanup
  br label %336

328:                                              ; preds = %316
  %329 = landingpad { ptr, i32 }
          cleanup
  br label %335

330:                                              ; preds = %318
  %331 = landingpad { ptr, i32 }
          cleanup
  br label %334

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

334:                                              ; preds = %332, %330
  %.pn267 = phi { ptr, i32 } [ %333, %332 ], [ %331, %330 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %45) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %44) #7
  br label %335

335:                                              ; preds = %334, %328
  %.pn267.pn = phi { ptr, i32 } [ %.pn267, %334 ], [ %329, %328 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %43) #7
  br label %336

336:                                              ; preds = %335, %326
  %.pn267.pn.pn = phi { ptr, i32 } [ %.pn267.pn, %335 ], [ %327, %326 ]
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %43) #7
  br label %949

337:                                              ; preds = %128
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %46) #7
  %338 = load ptr, ptr @ya_optarg, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %47) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %47) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %46, ptr noundef %338, ptr noundef nonnull align 1 dereferenceable(1) %47)
          to label %339 unwind label %351

339:                                              ; preds = %337
  %340 = invoke noundef zeroext i1 @_ZN4sptk21ConvertStringToDoubleERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPd(ptr noundef nonnull align 8 dereferenceable(32) %46, ptr noundef nonnull %9)
          to label %341 unwind label %353

341:                                              ; preds = %339
  %342 = load double, ptr %9, align 8
  %343 = fcmp uge double %342, 0.000000e+00
  %or.cond.not = select i1 %340, i1 %343, i1 false
  br i1 %or.cond.not, label %344, label %.critedge

344:                                              ; preds = %341
  %345 = fcmp ogt double %342, 1.000000e+00
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %47) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %47) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %46) #7
  br i1 %345, label %.loopexit465, label %.backedge

.critedge:                                        ; preds = %341
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %47) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %47) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %46) #7
  br label %.loopexit465

.loopexit465:                                     ; preds = %344, %.critedge
  call void @llvm.lifetime.start.p0(i64 376, ptr nonnull %48) #7
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %48)
          to label %346 unwind label %356

346:                                              ; preds = %.loopexit465
  %347 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %48, ptr noundef nonnull @.str.10)
          to label %348 unwind label %358

348:                                              ; preds = %346
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %49) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %50) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %50) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %49, ptr noundef nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %50)
          to label %349 unwind label %360

349:                                              ; preds = %348
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %49, ptr noundef nonnull align 8 dereferenceable(112) %48)
          to label %350 unwind label %362

350:                                              ; preds = %349
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %50) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %50) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %49) #7
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %48) #7
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %48) #7
  br label %.thread417

351:                                              ; preds = %337
  %352 = landingpad { ptr, i32 }
          cleanup
  br label %355

353:                                              ; preds = %339
  %354 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #7
  br label %355

355:                                              ; preds = %353, %351
  %.pn257 = phi { ptr, i32 } [ %354, %353 ], [ %352, %351 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %47) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %47) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %46) #7
  br label %949

356:                                              ; preds = %.loopexit465
  %357 = landingpad { ptr, i32 }
          cleanup
  br label %366

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

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

362:                                              ; preds = %349
  %363 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #7
  br label %364

364:                                              ; preds = %362, %360
  %.pn260 = phi { ptr, i32 } [ %363, %362 ], [ %361, %360 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %50) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %50) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %49) #7
  br label %365

365:                                              ; preds = %364, %358
  %.pn260.pn = phi { ptr, i32 } [ %.pn260, %364 ], [ %359, %358 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %48) #7
  br label %366

366:                                              ; preds = %365, %356
  %.pn260.pn.pn = phi { ptr, i32 } [ %.pn260.pn, %365 ], [ %357, %356 ]
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %48) #7
  br label %949

367:                                              ; preds = %128
  %368 = load ptr, ptr @ya_optarg, align 8, !tbaa !11
  br label %.backedge

369:                                              ; preds = %128
  %370 = load ptr, ptr @ya_optarg, align 8, !tbaa !11
  br label %.backedge

371:                                              ; preds = %128
  br label %.backedge

372:                                              ; preds = %128
  call void @_ZNSt6vectorIiSaIiEE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %10) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %51) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %52) #7
  %373 = load ptr, ptr @ya_optarg, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %53) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %53) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %52, ptr noundef %373, ptr noundef nonnull align 1 dereferenceable(1) %53)
          to label %374 unwind label %386

374:                                              ; preds = %372
  %375 = invoke noundef zeroext i1 @_ZN4sptk22ConvertStringToIntegerERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPi(ptr noundef nonnull align 8 dereferenceable(32) %52, ptr noundef nonnull %51)
          to label %376 unwind label %388

376:                                              ; preds = %374
  %377 = load i32, ptr %51, align 4
  %378 = icmp sgt i32 %377, 0
  %.not249 = select i1 %375, i1 %378, i1 false
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %53) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %53) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %52) #7
  br i1 %.not249, label %402, label %379

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

380:                                              ; preds = %379
  %381 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %54, ptr noundef nonnull @.str.11)
          to label %382 unwind label %393

382:                                              ; preds = %380
  %383 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %381, ptr noundef nonnull @.str.4)
          to label %384 unwind label %393

384:                                              ; preds = %382
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %55) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %56) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %56) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %55, ptr noundef nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %56)
          to label %385 unwind label %395

385:                                              ; preds = %384
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %55, ptr noundef nonnull align 8 dereferenceable(112) %54)
          to label %.thread414 unwind label %397

.thread414:                                       ; preds = %385
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %56) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %56) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %55) #7
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %54) #7
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %54) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %51) #7
  br label %.thread417

386:                                              ; preds = %372
  %387 = landingpad { ptr, i32 }
          cleanup
  br label %390

388:                                              ; preds = %374
  %389 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #7
  br label %390

390:                                              ; preds = %388, %386
  %.pn = phi { ptr, i32 } [ %389, %388 ], [ %387, %386 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %53) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %53) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %52) #7
  br label %421

391:                                              ; preds = %379
  %392 = landingpad { ptr, i32 }
          cleanup
  br label %401

393:                                              ; preds = %382, %380
  %394 = landingpad { ptr, i32 }
          cleanup
  br label %400

395:                                              ; preds = %384
  %396 = landingpad { ptr, i32 }
          cleanup
  br label %399

397:                                              ; preds = %385
  %398 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #7
  br label %399

399:                                              ; preds = %397, %395
  %.pn252 = phi { ptr, i32 } [ %398, %397 ], [ %396, %395 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %56) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %56) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %55) #7
  br label %400

400:                                              ; preds = %399, %393
  %.pn252.pn = phi { ptr, i32 } [ %.pn252, %399 ], [ %394, %393 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %54) #7
  br label %401

401:                                              ; preds = %400, %391
  %.pn252.pn.pn = phi { ptr, i32 } [ %.pn252.pn, %400 ], [ %392, %391 ]
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %54) #7
  br label %421

402:                                              ; preds = %376
  invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %10, ptr noundef nonnull align 4 dereferenceable(4) %51)
          to label %.preheader459 unwind label %.loopexit.split-lp

.preheader459:                                    ; preds = %402
  %403 = load i32, ptr @ya_optind, align 4, !tbaa !5
  %404 = icmp slt i32 %403, %0
  br i1 %404, label %.lr.ph, label %.critedge413.thread

.lr.ph:                                           ; preds = %.preheader459, %412
  %405 = phi i32 [ %414, %412 ], [ %403, %.preheader459 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %57) #7
  %406 = sext i32 %405 to i64
  %407 = getelementptr inbounds ptr, ptr %1, i64 %406
  %408 = load ptr, ptr %407, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %58) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %58) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %57, ptr noundef %408, ptr noundef nonnull align 1 dereferenceable(1) %58)
          to label %409 unwind label %416

409:                                              ; preds = %.lr.ph
  %410 = invoke noundef zeroext i1 @_ZN4sptk22ConvertStringToIntegerERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPi(ptr noundef nonnull align 8 dereferenceable(32) %57, ptr noundef nonnull %51)
          to label %.critedge413 unwind label %418

.critedge413:                                     ; preds = %409
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %58) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %58) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %57) #7
  br i1 %410, label %411, label %.critedge413.thread

411:                                              ; preds = %.critedge413
  invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %10, ptr noundef nonnull align 4 dereferenceable(4) %51)
          to label %412 unwind label %.loopexit

412:                                              ; preds = %411
  %413 = load i32, ptr @ya_optind, align 4, !tbaa !5
  %414 = add nsw i32 %413, 1
  store i32 %414, ptr @ya_optind, align 4, !tbaa !5
  %415 = icmp slt i32 %414, %0
  br i1 %415, label %.lr.ph, label %.critedge413.thread, !llvm.loop !13

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

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

416:                                              ; preds = %.lr.ph
  %417 = landingpad { ptr, i32 }
          cleanup
  br label %420

418:                                              ; preds = %409
  %419 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #7
  br label %420

420:                                              ; preds = %416, %418
  %.pn250 = phi { ptr, i32 } [ %419, %418 ], [ %417, %416 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %58) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %58) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %57) #7
  br label %421

.critedge413.thread:                              ; preds = %.critedge413, %412, %.preheader459
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %51) #7
  br label %.backedge

.backedge:                                        ; preds = %.critedge413.thread, %158, %367, %369, %371, %165, %196, %225, %254, %283, %312, %344, %128
  %.091.be = phi i1 [ %.091, %.critedge413.thread ], [ true, %371 ], [ %.091, %369 ], [ %.091, %367 ], [ %.091, %344 ], [ %.091, %312 ], [ %.091, %283 ], [ %.091, %254 ], [ %.091, %225 ], [ %.091, %196 ], [ %.091, %165 ], [ %.091, %158 ], [ %.091, %128 ]
  %.088.be = phi i8 [ %.088, %.critedge413.thread ], [ %.088, %371 ], [ %.088, %369 ], [ %.088, %367 ], [ %.088, %344 ], [ %.088, %312 ], [ %.088, %283 ], [ %.088, %254 ], [ %.088, %225 ], [ %.088, %196 ], [ %.088, %165 ], [ %.088, %158 ], [ 1, %128 ]
  %.085.be = phi ptr [ %.085, %.critedge413.thread ], [ %.085, %371 ], [ %370, %369 ], [ %.085, %367 ], [ %.085, %344 ], [ %.085, %312 ], [ %.085, %283 ], [ %.085, %254 ], [ %.085, %225 ], [ %.085, %196 ], [ %.085, %165 ], [ %.085, %158 ], [ %.085, %128 ]
  %.082.be = phi ptr [ %.082, %.critedge413.thread ], [ %.082, %371 ], [ %.082, %369 ], [ %368, %367 ], [ %.082, %344 ], [ %.082, %312 ], [ %.082, %283 ], [ %.082, %254 ], [ %.082, %225 ], [ %.082, %196 ], [ %.082, %165 ], [ %.082, %158 ], [ %.082, %128 ]
  br label %126

421:                                              ; preds = %.loopexit, %.loopexit.split-lp, %420, %401, %390
  %.pn252.pn.pn.pn = phi { ptr, i32 } [ %.pn252.pn.pn, %401 ], [ %.pn250, %420 ], [ %.pn, %390 ], [ %lpad.loopexit, %.loopexit ], [ %lpad.loopexit.split-lp, %.loopexit.split-lp ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %51) #7
  br label %949

422:                                              ; preds = %128
  invoke void @_ZN12_GLOBAL__N_110PrintUsageEPSo(ptr noundef nonnull @_ZSt4cout)
          to label %.thread417 unwind label %.loopexit.split-lp461

423:                                              ; preds = %128
  invoke void @_ZN12_GLOBAL__N_110PrintUsageEPSo(ptr noundef nonnull @_ZSt4cerr)
          to label %.thread417 unwind label %.loopexit.split-lp461

424:                                              ; preds = %128
  %425 = call noundef zeroext i1 @_ZNKSt6vectorIiSaIiEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(24) %10) #7
  br i1 %425, label %426, label %432

426:                                              ; preds = %424
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %59) #7
  %427 = load i32, ptr %3, align 4, !tbaa !5
  %428 = add nsw i32 %427, 1
  store i32 %428, ptr %59, align 4, !tbaa !5
  invoke void @_ZNSt6vectorIiSaIiEE9push_backEOi(ptr noundef nonnull align 8 dereferenceable(24) %10, ptr noundef nonnull align 4 dereferenceable(4) %59)
          to label %429 unwind label %430

429:                                              ; preds = %426
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %59) #7
  br label %432

430:                                              ; preds = %426
  %431 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %59) #7
  br label %949

432:                                              ; preds = %429, %424
  %433 = load i32, ptr @ya_optind, align 4, !tbaa !5
  %434 = sub nsw i32 %0, %433
  %435 = icmp sgt i32 %434, 1
  br i1 %435, label %436, label %453

436:                                              ; preds = %432
  call void @llvm.lifetime.start.p0(i64 376, ptr nonnull %60) #7
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %60)
          to label %437 unwind label %442

437:                                              ; preds = %436
  %438 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %60, ptr noundef nonnull @.str.12)
          to label %439 unwind label %444

439:                                              ; preds = %437
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %61) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %62) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %62) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %61, ptr noundef nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %62)
          to label %440 unwind label %446

440:                                              ; preds = %439
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %61, ptr noundef nonnull align 8 dereferenceable(112) %60)
          to label %441 unwind label %448

441:                                              ; preds = %440
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %62) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %62) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %61) #7
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %60) #7
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %60) #7
  br label %.thread417

442:                                              ; preds = %436
  %443 = landingpad { ptr, i32 }
          cleanup
  br label %452

444:                                              ; preds = %437
  %445 = landingpad { ptr, i32 }
          cleanup
  br label %451

446:                                              ; preds = %439
  %447 = landingpad { ptr, i32 }
          cleanup
  br label %450

448:                                              ; preds = %440
  %449 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #7
  br label %450

450:                                              ; preds = %448, %446
  %.pn404 = phi { ptr, i32 } [ %449, %448 ], [ %447, %446 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %62) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %62) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %61) #7
  br label %451

451:                                              ; preds = %450, %444
  %.pn404.pn = phi { ptr, i32 } [ %.pn404, %450 ], [ %445, %444 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %60) #7
  br label %452

452:                                              ; preds = %451, %442
  %.pn404.pn.pn = phi { ptr, i32 } [ %.pn404.pn, %451 ], [ %443, %442 ]
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %60) #7
  br label %949

453:                                              ; preds = %432
  %454 = icmp eq i32 %433, %0
  br i1 %454, label %459, label %455

455:                                              ; preds = %453
  %456 = sext i32 %433 to i64
  %457 = getelementptr inbounds ptr, ptr %1, i64 %456
  %458 = load ptr, ptr %457, align 8, !tbaa !11
  br label %459

459:                                              ; preds = %453, %455
  %460 = phi ptr [ %458, %455 ], [ null, %453 ]
  %461 = invoke noundef zeroext i1 @_ZN4sptk13SetBinaryModeEv()
          to label %462 unwind label %469

462:                                              ; preds = %459
  br i1 %461, label %482, label %463

463:                                              ; preds = %462
  call void @llvm.lifetime.start.p0(i64 376, ptr nonnull %63) #7
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %63)
          to label %464 unwind label %471

464:                                              ; preds = %463
  %465 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %63, ptr noundef nonnull @.str.13)
          to label %466 unwind label %473

466:                                              ; preds = %464
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %64) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %65) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %65) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %64, ptr noundef nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %65)
          to label %467 unwind label %475

467:                                              ; preds = %466
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %64, ptr noundef nonnull align 8 dereferenceable(112) %63)
          to label %468 unwind label %477

468:                                              ; preds = %467
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %65) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %65) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %64) #7
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %63) #7
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %63) #7
  br label %.thread417

469:                                              ; preds = %459
  %470 = landingpad { ptr, i32 }
          cleanup
  br label %949

471:                                              ; preds = %463
  %472 = landingpad { ptr, i32 }
          cleanup
  br label %481

473:                                              ; preds = %464
  %474 = landingpad { ptr, i32 }
          cleanup
  br label %480

475:                                              ; preds = %466
  %476 = landingpad { ptr, i32 }
          cleanup
  br label %479

477:                                              ; preds = %467
  %478 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #7
  br label %479

479:                                              ; preds = %477, %475
  %.pn315 = phi { ptr, i32 } [ %478, %477 ], [ %476, %475 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %65) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %65) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %64) #7
  br label %480

480:                                              ; preds = %479, %473
  %.pn315.pn = phi { ptr, i32 } [ %.pn315, %479 ], [ %474, %473 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %63) #7
  br label %481

481:                                              ; preds = %480, %471
  %.pn315.pn.pn = phi { ptr, i32 } [ %.pn315.pn, %480 ], [ %472, %471 ]
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %63) #7
  br label %949

482:                                              ; preds = %462
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %66) #7
  call void @_ZNSt6vectorIS_IdSaIdEESaIS1_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %66) #7
  call void @llvm.lifetime.start.p0(i64 520, ptr nonnull %67) #7
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(256) %67)
          to label %483 unwind label %500

483:                                              ; preds = %482
  %.not = icmp eq ptr %460, null
  br i1 %.not, label %515, label %484

484:                                              ; preds = %483
  %485 = 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) %67, ptr noundef nonnull %460, i32 noundef %485)
          to label %486 unwind label %502

486:                                              ; preds = %484
  %487 = load ptr, ptr %67, align 8, !tbaa !15
  %488 = getelementptr i8, ptr %487, i64 -24
  %489 = load i64, ptr %488, align 8
  %490 = getelementptr inbounds i8, ptr %67, i64 %489
  %491 = invoke noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE4failEv(ptr noundef nonnull align 8 dereferenceable(264) %490)
          to label %492 unwind label %502

492:                                              ; preds = %486
  br i1 %491, label %493, label %515

493:                                              ; preds = %492
  call void @llvm.lifetime.start.p0(i64 376, ptr nonnull %68) #7
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %68)
          to label %494 unwind label %504

494:                                              ; preds = %493
  %495 = 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 %496 unwind label %506

496:                                              ; preds = %494
  %497 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %495, ptr noundef nonnull %460)
          to label %498 unwind label %506

498:                                              ; preds = %496
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %69) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %70) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %70) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %69, ptr noundef nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %70)
          to label %499 unwind label %508

499:                                              ; preds = %498
  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 %530 unwind label %510

500:                                              ; preds = %482
  %501 = landingpad { ptr, i32 }
          cleanup
  br label %535

502:                                              ; preds = %486, %484
  %503 = landingpad { ptr, i32 }
          cleanup
  br label %534

504:                                              ; preds = %493
  %505 = landingpad { ptr, i32 }
          cleanup
  br label %514

506:                                              ; preds = %496, %494
  %507 = landingpad { ptr, i32 }
          cleanup
  br label %513

508:                                              ; preds = %498
  %509 = landingpad { ptr, i32 }
          cleanup
  br label %512

510:                                              ; preds = %499
  %511 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #7
  br label %512

512:                                              ; preds = %510, %508
  %.pn321 = phi { ptr, i32 } [ %511, %510 ], [ %509, %508 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %70) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %70) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %69) #7
  br label %513

513:                                              ; preds = %512, %506
  %.pn321.pn = phi { ptr, i32 } [ %.pn321, %512 ], [ %507, %506 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %68) #7
  br label %514

514:                                              ; preds = %513, %504
  %.pn321.pn.pn = phi { ptr, i32 } [ %.pn321.pn, %513 ], [ %505, %504 ]
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %68) #7
  br label %534

515:                                              ; preds = %492, %483
  %516 = call noundef zeroext i1 @_ZNSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv(ptr noundef nonnull align 8 dereferenceable(256) %67)
  %517 = select i1 %516, ptr %67, ptr @_ZSt3cin
  %518 = load i32, ptr %3, align 4, !tbaa !5
  %519 = add nsw i32 %518, 1
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %71) #7
  %520 = sext i32 %519 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %72) #7
  call void @_ZNSaIdEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %72) #7
  invoke void @_ZNSt6vectorIdSaIdEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %71, i64 noundef %520, ptr noundef nonnull align 1 dereferenceable(1) %72)
          to label %521 unwind label %526

521:                                              ; preds = %515
  call void @_ZNSt15__new_allocatorIdED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %72) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %72) #7
  br label %522

522:                                              ; preds = %525, %521
  %523 = invoke noundef zeroext i1 @_ZN4sptk10ReadStreamIdEEbbiiiPSt6vectorIT_SaIS2_EEPSiPi(i1 noundef zeroext false, i32 noundef 0, i32 noundef 0, i32 noundef %519, ptr noundef nonnull %71, ptr noundef nonnull %517, ptr noundef null)
          to label %524 unwind label %528

524:                                              ; preds = %522
  br i1 %523, label %525, label %531

525:                                              ; preds = %524
  invoke void @_ZNSt6vectorIS_IdSaIdEESaIS1_EE9push_backERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %66, ptr noundef nonnull align 8 dereferenceable(24) %71)
          to label %522 unwind label %528, !llvm.loop !17

526:                                              ; preds = %515
  %527 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIdED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %72) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %72) #7
  br label %533

528:                                              ; preds = %525, %522
  %529 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %71) #7
  br label %533

530:                                              ; preds = %499
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %70) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %70) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %69) #7
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %68) #7
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %68) #7
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %67) #7
  call void @llvm.lifetime.end.p0(i64 520, ptr nonnull %67) #7
  br label %947

531:                                              ; preds = %524
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %71) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %71) #7
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %67) #7
  call void @llvm.lifetime.end.p0(i64 520, ptr nonnull %67) #7
  %532 = call noundef zeroext i1 @_ZNKSt6vectorIS_IdSaIdEESaIS1_EE5emptyEv(ptr noundef nonnull align 8 dereferenceable(24) %66) #7
  br i1 %532, label %947, label %536

533:                                              ; preds = %528, %526
  %.pn319 = phi { ptr, i32 } [ %529, %528 ], [ %527, %526 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %71) #7
  br label %534

534:                                              ; preds = %533, %514, %502
  %.pn321.pn.pn.pn = phi { ptr, i32 } [ %.pn321.pn.pn, %514 ], [ %.pn319, %533 ], [ %503, %502 ]
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %67) #7
  br label %535

535:                                              ; preds = %534, %500
  %.pn321.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn321.pn.pn.pn, %534 ], [ %501, %500 ]
  call void @llvm.lifetime.end.p0(i64 520, ptr nonnull %67) #7
  br label %948

536:                                              ; preds = %531
  %537 = trunc nuw i8 %.088 to i1
  br i1 %537, label %541, label %538

538:                                              ; preds = %536
  %539 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %10) #7
  %540 = icmp eq i64 %539, 1
  br label %541

541:                                              ; preds = %538, %536
  %542 = phi i1 [ false, %536 ], [ %540, %538 ]
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %73) #7
  %543 = load i32, ptr %4, align 4, !tbaa !5
  %544 = sext i32 %543 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %74) #7
  call void @_ZNSaIdEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %74) #7
  invoke void @_ZNSt6vectorIdSaIdEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %73, i64 noundef %544, ptr noundef nonnull align 1 dereferenceable(1) %74)
          to label %545 unwind label %571

545:                                              ; preds = %541
  call void @_ZNSt15__new_allocatorIdED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %74) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %74) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %75) #7
  %546 = load i32, ptr %4, align 4, !tbaa !5
  %547 = sext i32 %546 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %76) #7
  call void @_ZNSaISt6vectorIdSaIdEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %76) #7
  invoke void @_ZNSt6vectorIS_IdSaIdEESaIS1_EEC2EmRKS2_(ptr noundef nonnull align 8 dereferenceable(24) %75, i64 noundef %547, ptr noundef nonnull align 1 dereferenceable(1) %76)
          to label %548 unwind label %573

548:                                              ; preds = %545
  call void @_ZNSt15__new_allocatorISt6vectorIdSaIdEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %76) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %76) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %77) #7
  %549 = load i32, ptr %4, align 4, !tbaa !5
  %550 = sext i32 %549 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %78) #7
  call void @_ZNSaIN4sptk15SymmetricMatrixEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %78) #7
  invoke void @_ZNSt6vectorIN4sptk15SymmetricMatrixESaIS1_EEC2EmRKS2_(ptr noundef nonnull align 8 dereferenceable(24) %77, i64 noundef %550, ptr noundef nonnull align 1 dereferenceable(1) %78)
          to label %551 unwind label %575

551:                                              ; preds = %548
  call void @_ZNSt15__new_allocatorIN4sptk15SymmetricMatrixEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %78) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %78) #7
  %.not327 = icmp eq ptr %.082, null
  br i1 %.not327, label %711, label %552

552:                                              ; preds = %551
  call void @llvm.lifetime.start.p0(i64 520, ptr nonnull %79) #7
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(256) %79)
          to label %553 unwind label %577

553:                                              ; preds = %552
  %554 = 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) %79, ptr noundef nonnull %.082, i32 noundef %554)
          to label %555 unwind label %579

555:                                              ; preds = %553
  %556 = load ptr, ptr %79, align 8, !tbaa !15
  %557 = getelementptr i8, ptr %556, i64 -24
  %558 = load i64, ptr %557, align 8
  %559 = getelementptr inbounds i8, ptr %79, i64 %558
  %560 = invoke noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE4failEv(ptr noundef nonnull align 8 dereferenceable(264) %559)
          to label %561 unwind label %579

561:                                              ; preds = %555
  br i1 %560, label %563, label %.preheader458

.preheader458:                                    ; preds = %561
  %562 = load i32, ptr %4, align 4, !tbaa !5
  %.not345613 = icmp sgt i32 %562, 0
  br i1 %.not345613, label %.lr.ph615, label %._crit_edge616

563:                                              ; preds = %561
  call void @llvm.lifetime.start.p0(i64 376, ptr nonnull %80) #7
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %80)
          to label %564 unwind label %581

564:                                              ; preds = %563
  %565 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %80, ptr noundef nonnull @.str.14)
          to label %566 unwind label %583

566:                                              ; preds = %564
  %567 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %565, ptr noundef nonnull %.082)
          to label %568 unwind label %583

568:                                              ; preds = %566
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %81) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %82) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %82) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %81, ptr noundef nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %82)
          to label %569 unwind label %585

569:                                              ; preds = %568
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %81, ptr noundef nonnull align 8 dereferenceable(112) %80)
          to label %570 unwind label %587

570:                                              ; preds = %569
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %82) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %82) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %81) #7
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %80) #7
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %80) #7
  br label %.thread443

571:                                              ; preds = %541
  %572 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIdED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %74) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %74) #7
  br label %946

573:                                              ; preds = %545
  %574 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorISt6vectorIdSaIdEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %76) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %76) #7
  br label %945

575:                                              ; preds = %548
  %576 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIN4sptk15SymmetricMatrixEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %78) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %78) #7
  br label %944

577:                                              ; preds = %552
  %578 = landingpad { ptr, i32 }
          cleanup
  br label %710

579:                                              ; preds = %555, %553
  %580 = landingpad { ptr, i32 }
          cleanup
  br label %709

581:                                              ; preds = %563
  %582 = landingpad { ptr, i32 }
          cleanup
  br label %591

583:                                              ; preds = %566, %564
  %584 = landingpad { ptr, i32 }
          cleanup
  br label %590

585:                                              ; preds = %568
  %586 = landingpad { ptr, i32 }
          cleanup
  br label %589

587:                                              ; preds = %569
  %588 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #7
  br label %589

589:                                              ; preds = %587, %585
  %.pn350 = phi { ptr, i32 } [ %588, %587 ], [ %586, %585 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %82) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %82) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %81) #7
  br label %590

590:                                              ; preds = %589, %583
  %.pn350.pn = phi { ptr, i32 } [ %.pn350, %589 ], [ %584, %583 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %80) #7
  br label %591

591:                                              ; preds = %590, %581
  %.pn350.pn.pn = phi { ptr, i32 } [ %.pn350.pn, %590 ], [ %582, %581 ]
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %80) #7
  br label %709

.lr.ph615:                                        ; preds = %.preheader458, %706
  %indvars.iv766 = phi i64 [ %indvars.iv.next767, %706 ], [ 0, %.preheader458 ]
  %592 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %73, i64 noundef %indvars.iv766) #7
  %593 = invoke noundef zeroext i1 @_ZN4sptk10ReadStreamIdEEbPT_PSi(ptr noundef nonnull %592, ptr noundef nonnull %79)
          to label %594 unwind label %601

594:                                              ; preds = %.lr.ph615
  br i1 %593, label %614, label %595

595:                                              ; preds = %594
  call void @llvm.lifetime.start.p0(i64 376, ptr nonnull %83) #7
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %83)
          to label %596 unwind label %603

596:                                              ; preds = %595
  %597 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %83, ptr noundef nonnull @.str.15)
          to label %598 unwind label %605

598:                                              ; preds = %596
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %84) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %85) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %85) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %84, ptr noundef nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %85)
          to label %599 unwind label %607

599:                                              ; preds = %598
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %84, ptr noundef nonnull align 8 dereferenceable(112) %83)
          to label %600 unwind label %609

600:                                              ; preds = %599
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %84) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %85) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %85) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %84) #7
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %83) #7
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %83) #7
  br label %.thread443

601:                                              ; preds = %685, %681, %614, %.lr.ph615
  %602 = landingpad { ptr, i32 }
          cleanup
  br label %709

603:                                              ; preds = %595
  %604 = landingpad { ptr, i32 }
          cleanup
  br label %613

605:                                              ; preds = %596
  %606 = landingpad { ptr, i32 }
          cleanup
  br label %612

607:                                              ; preds = %598
  %608 = landingpad { ptr, i32 }
          cleanup
  br label %611

609:                                              ; preds = %599
  %610 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %84) #7
  br label %611

611:                                              ; preds = %609, %607
  %.pn328 = phi { ptr, i32 } [ %610, %609 ], [ %608, %607 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %85) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %85) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %84) #7
  br label %612

612:                                              ; preds = %611, %605
  %.pn328.pn = phi { ptr, i32 } [ %.pn328, %611 ], [ %606, %605 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %83) #7
  br label %613

613:                                              ; preds = %612, %603
  %.pn328.pn.pn = phi { ptr, i32 } [ %.pn328.pn, %612 ], [ %604, %603 ]
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %83) #7
  br label %709

614:                                              ; preds = %594
  %615 = load i32, ptr %3, align 4, !tbaa !5
  %616 = add nsw i32 %615, 1
  %617 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IdSaIdEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %75, i64 noundef %indvars.iv766) #7
  %618 = invoke noundef zeroext i1 @_ZN4sptk10ReadStreamIdEEbbiiiPSt6vectorIT_SaIS2_EEPSiPi(i1 noundef zeroext false, i32 noundef 0, i32 noundef 0, i32 noundef %616, ptr noundef nonnull %617, ptr noundef nonnull %79, ptr noundef null)
          to label %619 unwind label %601

619:                                              ; preds = %614
  br i1 %618, label %637, label %620

620:                                              ; preds = %619
  call void @llvm.lifetime.start.p0(i64 376, ptr nonnull %86) #7
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %86)
          to label %621 unwind label %626

621:                                              ; preds = %620
  %622 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %86, ptr noundef nonnull @.str.16)
          to label %623 unwind label %628

623:                                              ; preds = %621
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %87) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %88) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %88) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %87, ptr noundef nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %88)
          to label %624 unwind label %630

624:                                              ; preds = %623
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %87, ptr noundef nonnull align 8 dereferenceable(112) %86)
          to label %625 unwind label %632

625:                                              ; preds = %624
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %87) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %88) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %88) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %87) #7
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %86) #7
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %86) #7
  br label %.thread443

626:                                              ; preds = %620
  %627 = landingpad { ptr, i32 }
          cleanup
  br label %636

628:                                              ; preds = %621
  %629 = landingpad { ptr, i32 }
          cleanup
  br label %635

630:                                              ; preds = %623
  %631 = landingpad { ptr, i32 }
          cleanup
  br label %634

632:                                              ; preds = %624
  %633 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %87) #7
  br label %634

634:                                              ; preds = %632, %630
  %.pn332 = phi { ptr, i32 } [ %633, %632 ], [ %631, %630 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %88) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %88) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %87) #7
  br label %635

635:                                              ; preds = %634, %628
  %.pn332.pn = phi { ptr, i32 } [ %.pn332, %634 ], [ %629, %628 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %86) #7
  br label %636

636:                                              ; preds = %635, %626
  %.pn332.pn.pn = phi { ptr, i32 } [ %.pn332.pn, %635 ], [ %627, %626 ]
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %86) #7
  br label %709

637:                                              ; preds = %619
  br i1 %542, label %638, label %681

638:                                              ; preds = %637
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %89) #7
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %89) #7
  %639 = load i32, ptr %3, align 4, !tbaa !5
  %640 = add nsw i32 %639, 1
  %641 = invoke noundef zeroext i1 @_ZN4sptk10ReadStreamIdEEbbiiiPSt6vectorIT_SaIS2_EEPSiPi(i1 noundef zeroext false, i32 noundef 0, i32 noundef 0, i32 noundef %640, ptr noundef nonnull %89, ptr noundef nonnull %79, ptr noundef null)
          to label %642 unwind label %648

642:                                              ; preds = %638
  br i1 %641, label %661, label %643

643:                                              ; preds = %642
  call void @llvm.lifetime.start.p0(i64 376, ptr nonnull %90) #7
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %90)
          to label %644 unwind label %650

644:                                              ; preds = %643
  %645 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %90, ptr noundef nonnull @.str.17)
          to label %646 unwind label %652

646:                                              ; preds = %644
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %91) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %92) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %92) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %91, ptr noundef nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %92)
          to label %647 unwind label %654

647:                                              ; preds = %646
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %91, ptr noundef nonnull align 8 dereferenceable(112) %90)
          to label %.thread440 unwind label %656

.thread440:                                       ; preds = %647
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %91) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %92) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %92) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %91) #7
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %90) #7
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %90) #7
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %89) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %89) #7
  br label %.thread443

648:                                              ; preds = %661, %638
  %649 = landingpad { ptr, i32 }
          cleanup
  br label %680

650:                                              ; preds = %643
  %651 = landingpad { ptr, i32 }
          cleanup
  br label %660

652:                                              ; preds = %644
  %653 = landingpad { ptr, i32 }
          cleanup
  br label %659

654:                                              ; preds = %646
  %655 = landingpad { ptr, i32 }
          cleanup
  br label %658

656:                                              ; preds = %647
  %657 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %91) #7
  br label %658

658:                                              ; preds = %656, %654
  %.pn340 = phi { ptr, i32 } [ %657, %656 ], [ %655, %654 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %92) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %92) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %91) #7
  br label %659

659:                                              ; preds = %658, %652
  %.pn340.pn = phi { ptr, i32 } [ %.pn340, %658 ], [ %653, %652 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %90) #7
  br label %660

660:                                              ; preds = %659, %650
  %.pn340.pn.pn = phi { ptr, i32 } [ %.pn340.pn, %659 ], [ %651, %650 ]
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %90) #7
  br label %680

661:                                              ; preds = %642
  %662 = call noundef nonnull align 8 dereferenceable(64) ptr @_ZNSt6vectorIN4sptk15SymmetricMatrixESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %77, i64 noundef %indvars.iv766) #7
  %663 = load i32, ptr %3, align 4, !tbaa !5
  %664 = add nsw i32 %663, 1
  invoke void @_ZN4sptk15SymmetricMatrix6ResizeEi(ptr noundef nonnull align 8 dereferenceable(64) %662, i32 noundef %664)
          to label %.preheader457 unwind label %648

.preheader457:                                    ; preds = %661
  %665 = load i32, ptr %3, align 4, !tbaa !5
  %.not344610 = icmp slt i32 %665, 0
  br i1 %.not344610, label %._crit_edge, label %.lr.ph612

.lr.ph612:                                        ; preds = %.preheader457, %672
  %indvars.iv = phi i64 [ %indvars.iv.next, %672 ], [ 0, %.preheader457 ]
  %666 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %89, i64 noundef %indvars.iv) #7
  %667 = load double, ptr %666, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %93) #7
  %668 = call noundef nonnull align 8 dereferenceable(64) ptr @_ZNSt6vectorIN4sptk15SymmetricMatrixESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %77, i64 noundef %indvars.iv766) #7
  %669 = trunc nuw nsw i64 %indvars.iv to i32
  invoke void @_ZN4sptk15SymmetricMatrixixEi(ptr dead_on_unwind nonnull writable sret(%"class.sptk::SymmetricMatrix::Row") align 8 %93, ptr noundef nonnull align 8 dereferenceable(64) %668, i32 noundef %669)
          to label %670 unwind label %675

670:                                              ; preds = %.lr.ph612
  %671 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZN4sptk15SymmetricMatrix3RowixEi(ptr noundef nonnull align 8 dereferenceable(20) %93, i32 noundef %669)
          to label %672 unwind label %677

672:                                              ; preds = %670
  store double %667, ptr %671, align 8, !tbaa !9
  call void @_ZN4sptk15SymmetricMatrix3RowD2Ev(ptr noundef nonnull align 8 dereferenceable(20) %93) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %93) #7
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
  %673 = load i32, ptr %3, align 4, !tbaa !5
  %674 = sext i32 %673 to i64
  %.not344.not = icmp slt i64 %indvars.iv, %674
  br i1 %.not344.not, label %.lr.ph612, label %._crit_edge, !llvm.loop !18

675:                                              ; preds = %.lr.ph612
  %676 = landingpad { ptr, i32 }
          cleanup
  br label %679

677:                                              ; preds = %670
  %678 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN4sptk15SymmetricMatrix3RowD2Ev(ptr noundef nonnull align 8 dereferenceable(20) %93) #7
  br label %679

679:                                              ; preds = %677, %675
  %.pn346 = phi { ptr, i32 } [ %678, %677 ], [ %676, %675 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %93) #7
  br label %680

._crit_edge:                                      ; preds = %672, %.preheader457
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %89) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %89) #7
  br label %706

680:                                              ; preds = %679, %660, %648
  %.pn346.pn = phi { ptr, i32 } [ %.pn346, %679 ], [ %649, %648 ], [ %.pn340.pn.pn, %660 ]
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %89) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %89) #7
  br label %709

681:                                              ; preds = %637
  %682 = call noundef nonnull align 8 dereferenceable(64) ptr @_ZNSt6vectorIN4sptk15SymmetricMatrixESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %77, i64 noundef %indvars.iv766) #7
  %683 = load i32, ptr %3, align 4, !tbaa !5
  %684 = add nsw i32 %683, 1
  invoke void @_ZN4sptk15SymmetricMatrix6ResizeEi(ptr noundef nonnull align 8 dereferenceable(64) %682, i32 noundef %684)
          to label %685 unwind label %601

685:                                              ; preds = %681
  %686 = call noundef nonnull align 8 dereferenceable(64) ptr @_ZNSt6vectorIN4sptk15SymmetricMatrixESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %77, i64 noundef %indvars.iv766) #7
  %687 = invoke noundef zeroext i1 @_ZN4sptk10ReadStreamEPNS_15SymmetricMatrixEPSi(ptr noundef nonnull %686, ptr noundef nonnull %79)
          to label %688 unwind label %601

688:                                              ; preds = %685
  br i1 %687, label %706, label %689

689:                                              ; preds = %688
  call void @llvm.lifetime.start.p0(i64 376, ptr nonnull %94) #7
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %94)
          to label %690 unwind label %695

690:                                              ; preds = %689
  %691 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %94, ptr noundef nonnull @.str.18)
          to label %692 unwind label %697

692:                                              ; preds = %690
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %95) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %96) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %96) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %95, ptr noundef nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %96)
          to label %693 unwind label %699

693:                                              ; preds = %692
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %95, ptr noundef nonnull align 8 dereferenceable(112) %94)
          to label %694 unwind label %701

694:                                              ; preds = %693
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %95) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %96) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %96) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %95) #7
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %94) #7
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %94) #7
  br label %.thread443

695:                                              ; preds = %689
  %696 = landingpad { ptr, i32 }
          cleanup
  br label %705

697:                                              ; preds = %690
  %698 = landingpad { ptr, i32 }
          cleanup
  br label %704

699:                                              ; preds = %692
  %700 = landingpad { ptr, i32 }
          cleanup
  br label %703

701:                                              ; preds = %693
  %702 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %95) #7
  br label %703

703:                                              ; preds = %701, %699
  %.pn336 = phi { ptr, i32 } [ %702, %701 ], [ %700, %699 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %96) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %96) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %95) #7
  br label %704

704:                                              ; preds = %703, %697
  %.pn336.pn = phi { ptr, i32 } [ %.pn336, %703 ], [ %698, %697 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %94) #7
  br label %705

705:                                              ; preds = %704, %695
  %.pn336.pn.pn = phi { ptr, i32 } [ %.pn336.pn, %704 ], [ %696, %695 ]
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %94) #7
  br label %709

706:                                              ; preds = %._crit_edge, %688
  %indvars.iv.next767 = add nuw nsw i64 %indvars.iv766, 1
  %707 = load i32, ptr %4, align 4, !tbaa !5
  %708 = sext i32 %707 to i64
  %.not345 = icmp slt i64 %indvars.iv.next767, %708
  br i1 %.not345, label %.lr.ph615, label %._crit_edge616, !llvm.loop !19

.thread443:                                       ; preds = %570, %694, %625, %600, %.thread440
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %79) #7
  call void @llvm.lifetime.end.p0(i64 520, ptr nonnull %79) #7
  br label %942

._crit_edge616:                                   ; preds = %706, %.preheader458
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %79) #7
  call void @llvm.lifetime.end.p0(i64 520, ptr nonnull %79) #7
  br label %711

709:                                              ; preds = %601, %613, %636, %680, %705, %591, %579
  %.pn350.pn.pn.pn = phi { ptr, i32 } [ %.pn350.pn.pn, %591 ], [ %580, %579 ], [ %.pn346.pn, %680 ], [ %.pn336.pn.pn, %705 ], [ %602, %601 ], [ %.pn332.pn.pn, %636 ], [ %.pn328.pn.pn, %613 ]
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %79) #7
  br label %710

710:                                              ; preds = %709, %577
  %.pn350.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn350.pn.pn.pn, %709 ], [ %578, %577 ]
  call void @llvm.lifetime.end.p0(i64 520, ptr nonnull %79) #7
  br label %943

711:                                              ; preds = %._crit_edge616, %551
  call void @llvm.lifetime.start.p0(i64 264, ptr nonnull %97) #7
  %712 = load i32, ptr %3, align 4, !tbaa !5
  %713 = load i32, ptr %4, align 4, !tbaa !5
  %714 = load i32, ptr %5, align 4, !tbaa !5
  %715 = load double, ptr %6, align 8, !tbaa !9
  invoke void @_ZNSt6vectorIiSaIiEEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %98, ptr noundef nonnull align 8 dereferenceable(24) %10)
          to label %716 unwind label %733

716:                                              ; preds = %711
  %717 = zext nneg i8 %.088 to i32
  %718 = load double, ptr %7, align 8, !tbaa !9
  %719 = load double, ptr %8, align 8, !tbaa !9
  %720 = select i1 %.not327, i32 1, i32 2
  %721 = load i32, ptr %5, align 4
  %722 = add nsw i32 %721, 1
  %723 = select i1 %.091, i32 1, i32 %722
  %724 = load double, ptr %9, align 8, !tbaa !9
  invoke void @_ZN4sptk23GaussianMixtureModelingC1EiiidNS0_14CovarianceTypeESt6vectorIiSaIiEEddNS0_18InitializationTypeEidRKS2_IdSaIdEERKS2_IS7_SaIS7_EERKS2_INS_15SymmetricMatrixESaISE_EE(ptr noundef nonnull align 8 dereferenceable(264) %97, i32 noundef %712, i32 noundef %713, i32 noundef %714, double noundef %715, i32 noundef %717, ptr noundef nonnull %98, double noundef %718, double noundef %719, i32 noundef %720, i32 noundef %723, double noundef %724, ptr noundef nonnull align 8 dereferenceable(24) %73, ptr noundef nonnull align 8 dereferenceable(24) %75, ptr noundef nonnull align 8 dereferenceable(24) %77)
          to label %725 unwind label %735

725:                                              ; preds = %716
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %98) #7
  %726 = call noundef zeroext i1 @_ZNK4sptk23GaussianMixtureModeling7IsValidEv(ptr noundef nonnull align 8 dereferenceable(264) %97)
  br i1 %726, label %748, label %727

727:                                              ; preds = %725
  call void @llvm.lifetime.start.p0(i64 376, ptr nonnull %99) #7
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %99)
          to label %728 unwind label %737

728:                                              ; preds = %727
  %729 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %99, ptr noundef nonnull @.str.19)
          to label %730 unwind label %739

730:                                              ; preds = %728
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %100) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %101) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %101) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %100, ptr noundef nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %101)
          to label %731 unwind label %741

731:                                              ; preds = %730
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %100, ptr noundef nonnull align 8 dereferenceable(112) %99)
          to label %732 unwind label %743

732:                                              ; preds = %731
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %100) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %101) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %101) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %100) #7
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %99) #7
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %99) #7
  br label %939

733:                                              ; preds = %711
  %734 = landingpad { ptr, i32 }
          cleanup
  br label %941

735:                                              ; preds = %716
  %736 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %98) #7
  br label %941

737:                                              ; preds = %727
  %738 = landingpad { ptr, i32 }
          cleanup
  br label %747

739:                                              ; preds = %728
  %740 = landingpad { ptr, i32 }
          cleanup
  br label %746

741:                                              ; preds = %730
  %742 = landingpad { ptr, i32 }
          cleanup
  br label %745

743:                                              ; preds = %731
  %744 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %100) #7
  br label %745

745:                                              ; preds = %743, %741
  %.pn356 = phi { ptr, i32 } [ %744, %743 ], [ %742, %741 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %101) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %101) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %100) #7
  br label %746

746:                                              ; preds = %745, %739
  %.pn356.pn = phi { ptr, i32 } [ %.pn356, %745 ], [ %740, %739 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %99) #7
  br label %747

747:                                              ; preds = %746, %737
  %.pn356.pn.pn = phi { ptr, i32 } [ %.pn356.pn, %746 ], [ %738, %737 ]
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %99) #7
  br label %940

748:                                              ; preds = %725
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %102) #7
  %749 = invoke noundef zeroext i1 @_ZNK4sptk23GaussianMixtureModeling3RunERKSt6vectorIS1_IdSaIdEESaIS3_EEPS3_PS5_PS1_INS_15SymmetricMatrixESaISA_EEPd(ptr noundef nonnull align 8 dereferenceable(264) %97, ptr noundef nonnull align 8 dereferenceable(24) %66, ptr noundef nonnull %73, ptr noundef nonnull %75, ptr noundef nonnull %77, ptr noundef nonnull %102)
          to label %750 unwind label %766

750:                                              ; preds = %748
  br i1 %749, label %.preheader, label %752

.preheader:                                       ; preds = %750
  %751 = load i32, ptr %4, align 4, !tbaa !5
  %.not382617 = icmp sgt i32 %751, 0
  br i1 %.not382617, label %.lr.ph619, label %._crit_edge620

752:                                              ; preds = %750
  call void @llvm.lifetime.start.p0(i64 376, ptr nonnull %103) #7
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %103)
          to label %753 unwind label %768

753:                                              ; preds = %752
  %754 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %103, ptr noundef nonnull @.str.20)
          to label %755 unwind label %770

755:                                              ; preds = %753
  %756 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %754, ptr noundef nonnull @.str.21)
          to label %757 unwind label %770

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 @.str.22)
          to label %759 unwind label %770

759:                                              ; preds = %757
  %760 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %758, ptr noundef nonnull @.str.23)
          to label %761 unwind label %770

761:                                              ; preds = %759
  %762 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %760, ptr noundef nonnull @.str.24)
          to label %763 unwind label %770

763:                                              ; preds = %761
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %104) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %105) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %105) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %104, ptr noundef nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %105)
          to label %764 unwind label %772

764:                                              ; preds = %763
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %104, ptr noundef nonnull align 8 dereferenceable(112) %103)
          to label %765 unwind label %774

765:                                              ; preds = %764
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %104) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %105) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %105) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %104) #7
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %103) #7
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %103) #7
  br label %.thread451

766:                                              ; preds = %748
  %767 = landingpad { ptr, i32 }
          cleanup
  br label %938

768:                                              ; preds = %752
  %769 = landingpad { ptr, i32 }
          cleanup
  br label %778

770:                                              ; preds = %761, %759, %757, %755, %753
  %771 = landingpad { ptr, i32 }
          cleanup
  br label %777

772:                                              ; preds = %763
  %773 = landingpad { ptr, i32 }
          cleanup
  br label %776

774:                                              ; preds = %764
  %775 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %104) #7
  br label %776

776:                                              ; preds = %774, %772
  %.pn360 = phi { ptr, i32 } [ %775, %774 ], [ %773, %772 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %105) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %105) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %104) #7
  br label %777

777:                                              ; preds = %776, %770
  %.pn360.pn = phi { ptr, i32 } [ %.pn360, %776 ], [ %771, %770 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %103) #7
  br label %778

778:                                              ; preds = %777, %768
  %.pn360.pn.pn = phi { ptr, i32 } [ %.pn360.pn, %777 ], [ %769, %768 ]
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %103) #7
  br label %938

.lr.ph619:                                        ; preds = %.preheader, %876
  %indvars.iv769 = phi i64 [ %indvars.iv.next770, %876 ], [ 0, %.preheader ]
  %779 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %73, i64 noundef %indvars.iv769) #7
  %780 = load double, ptr %779, align 8, !tbaa !9
  %781 = invoke noundef zeroext i1 @_ZN4sptk11WriteStreamIdEEbT_PSo(double noundef %780, ptr noundef nonnull @_ZSt4cout)
          to label %782 unwind label %789

782:                                              ; preds = %.lr.ph619
  br i1 %781, label %802, label %783

783:                                              ; preds = %782
  call void @llvm.lifetime.start.p0(i64 376, ptr nonnull %106) #7
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %106)
          to label %784 unwind label %791

784:                                              ; preds = %783
  %785 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %106, ptr noundef nonnull @.str.25)
          to label %786 unwind label %793

786:                                              ; preds = %784
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %107) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %108) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %108) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %107, ptr noundef nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %108)
          to label %787 unwind label %795

787:                                              ; preds = %786
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %107, ptr noundef nonnull align 8 dereferenceable(112) %106)
          to label %788 unwind label %797

788:                                              ; preds = %787
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %107) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %108) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %108) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %107) #7
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %106) #7
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %106) #7
  br label %.thread451

789:                                              ; preds = %855, %802, %.lr.ph619
  %790 = landingpad { ptr, i32 }
          cleanup
  br label %938

791:                                              ; preds = %783
  %792 = landingpad { ptr, i32 }
          cleanup
  br label %801

793:                                              ; preds = %784
  %794 = landingpad { ptr, i32 }
          cleanup
  br label %800

795:                                              ; preds = %786
  %796 = landingpad { ptr, i32 }
          cleanup
  br label %799

797:                                              ; preds = %787
  %798 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %107) #7
  br label %799

799:                                              ; preds = %797, %795
  %.pn364 = phi { ptr, i32 } [ %798, %797 ], [ %796, %795 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %108) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %108) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %107) #7
  br label %800

800:                                              ; preds = %799, %793
  %.pn364.pn = phi { ptr, i32 } [ %.pn364, %799 ], [ %794, %793 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %106) #7
  br label %801

801:                                              ; preds = %800, %791
  %.pn364.pn.pn = phi { ptr, i32 } [ %.pn364.pn, %800 ], [ %792, %791 ]
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %106) #7
  br label %938

802:                                              ; preds = %782
  %803 = load i32, ptr %3, align 4, !tbaa !5
  %804 = add nsw i32 %803, 1
  %805 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_IdSaIdEESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %75, i64 noundef %indvars.iv769) #7
  %806 = invoke noundef zeroext i1 @_ZN4sptk11WriteStreamIdEEbiiRKSt6vectorIT_SaIS2_EEPSoPi(i32 noundef 0, i32 noundef %804, ptr noundef nonnull align 8 dereferenceable(24) %805, ptr noundef nonnull @_ZSt4cout, ptr noundef null)
          to label %807 unwind label %789

807:                                              ; preds = %802
  br i1 %806, label %825, label %808

808:                                              ; preds = %807
  call void @llvm.lifetime.start.p0(i64 376, ptr nonnull %109) #7
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %109)
          to label %809 unwind label %814

809:                                              ; preds = %808
  %810 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %109, ptr noundef nonnull @.str.26)
          to label %811 unwind label %816

811:                                              ; preds = %809
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %110) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %111) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %111) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %110, ptr noundef nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %111)
          to label %812 unwind label %818

812:                                              ; preds = %811
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %110, ptr noundef nonnull align 8 dereferenceable(112) %109)
          to label %813 unwind label %820

813:                                              ; preds = %812
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %110) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %111) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %111) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %110) #7
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %109) #7
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %109) #7
  br label %.thread451

814:                                              ; preds = %808
  %815 = landingpad { ptr, i32 }
          cleanup
  br label %824

816:                                              ; preds = %809
  %817 = landingpad { ptr, i32 }
          cleanup
  br label %823

818:                                              ; preds = %811
  %819 = landingpad { ptr, i32 }
          cleanup
  br label %822

820:                                              ; preds = %812
  %821 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %110) #7
  br label %822

822:                                              ; preds = %820, %818
  %.pn368 = phi { ptr, i32 } [ %821, %820 ], [ %819, %818 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %111) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %111) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %110) #7
  br label %823

823:                                              ; preds = %822, %816
  %.pn368.pn = phi { ptr, i32 } [ %.pn368, %822 ], [ %817, %816 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %109) #7
  br label %824

824:                                              ; preds = %823, %814
  %.pn368.pn.pn = phi { ptr, i32 } [ %.pn368.pn, %823 ], [ %815, %814 ]
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %109) #7
  br label %938

825:                                              ; preds = %807
  br i1 %542, label %826, label %855

826:                                              ; preds = %825
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %112) #7
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %112) #7
  %827 = call noundef nonnull align 8 dereferenceable(64) ptr @_ZNSt6vectorIN4sptk15SymmetricMatrixESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %77, i64 noundef %indvars.iv769) #7
  %828 = invoke noundef zeroext i1 @_ZNK4sptk15SymmetricMatrix11GetDiagonalEPSt6vectorIdSaIdEE(ptr noundef nonnull align 8 dereferenceable(64) %827, ptr noundef nonnull %112)
          to label %829 unwind label %840

829:                                              ; preds = %826
  br i1 %828, label %830, label %835

830:                                              ; preds = %829
  %831 = load i32, ptr %3, align 4, !tbaa !5
  %832 = add nsw i32 %831, 1
  %833 = invoke noundef zeroext i1 @_ZN4sptk11WriteStreamIdEEbiiRKSt6vectorIT_SaIS2_EEPSoPi(i32 noundef 0, i32 noundef %832, ptr noundef nonnull align 8 dereferenceable(24) %112, ptr noundef nonnull @_ZSt4cout, ptr noundef null)
          to label %834 unwind label %840

834:                                              ; preds = %830
  br i1 %833, label %.thread447, label %835

.thread447:                                       ; preds = %834
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %112) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %112) #7
  br label %876

835:                                              ; preds = %834, %829
  call void @llvm.lifetime.start.p0(i64 376, ptr nonnull %113) #7
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %113)
          to label %836 unwind label %842

836:                                              ; preds = %835
  %837 = 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.27)
          to label %838 unwind label %844

838:                                              ; preds = %836
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %114) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %115) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %115) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %114, ptr noundef nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %115)
          to label %839 unwind label %846

839:                                              ; preds = %838
  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 %853 unwind label %848

840:                                              ; preds = %830, %826
  %841 = landingpad { ptr, i32 }
          cleanup
  br label %854

842:                                              ; preds = %835
  %843 = landingpad { ptr, i32 }
          cleanup
  br label %852

844:                                              ; preds = %836
  %845 = landingpad { ptr, i32 }
          cleanup
  br label %851

846:                                              ; preds = %838
  %847 = landingpad { ptr, i32 }
          cleanup
  br label %850

848:                                              ; preds = %839
  %849 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %114) #7
  br label %850

850:                                              ; preds = %848, %846
  %.pn376 = phi { ptr, i32 } [ %849, %848 ], [ %847, %846 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %115) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %115) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %114) #7
  br label %851

851:                                              ; preds = %850, %844
  %.pn376.pn = phi { ptr, i32 } [ %.pn376, %850 ], [ %845, %844 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %113) #7
  br label %852

852:                                              ; preds = %851, %842
  %.pn376.pn.pn = phi { ptr, i32 } [ %.pn376.pn, %851 ], [ %843, %842 ]
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %113) #7
  br label %854

853:                                              ; preds = %839
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %114) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %115) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %115) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %114) #7
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %113) #7
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %113) #7
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %112) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %112) #7
  br label %.thread451

854:                                              ; preds = %852, %840
  %.pn376.pn.pn.pn = phi { ptr, i32 } [ %.pn376.pn.pn, %852 ], [ %841, %840 ]
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %112) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %112) #7
  br label %938

855:                                              ; preds = %825
  %856 = call noundef nonnull align 8 dereferenceable(64) ptr @_ZNSt6vectorIN4sptk15SymmetricMatrixESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %77, i64 noundef %indvars.iv769) #7
  %857 = invoke noundef zeroext i1 @_ZN4sptk11WriteStreamERKNS_15SymmetricMatrixEPSo(ptr noundef nonnull align 8 dereferenceable(64) %856, ptr noundef nonnull @_ZSt4cout)
          to label %858 unwind label %789

858:                                              ; preds = %855
  br i1 %857, label %876, label %859

859:                                              ; preds = %858
  call void @llvm.lifetime.start.p0(i64 376, ptr nonnull %116) #7
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %116)
          to label %860 unwind label %865

860:                                              ; preds = %859
  %861 = 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.28)
          to label %862 unwind label %867

862:                                              ; preds = %860
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %117) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %118) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %118) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %117, ptr noundef nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %118)
          to label %863 unwind label %869

863:                                              ; preds = %862
  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 %864 unwind label %871

864:                                              ; preds = %863
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %117) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %118) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %118) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %117) #7
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %116) #7
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %116) #7
  br label %.thread451

865:                                              ; preds = %859
  %866 = landingpad { ptr, i32 }
          cleanup
  br label %875

867:                                              ; preds = %860
  %868 = landingpad { ptr, i32 }
          cleanup
  br label %874

869:                                              ; preds = %862
  %870 = landingpad { ptr, i32 }
          cleanup
  br label %873

871:                                              ; preds = %863
  %872 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %117) #7
  br label %873

873:                                              ; preds = %871, %869
  %.pn372 = phi { ptr, i32 } [ %872, %871 ], [ %870, %869 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %118) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %118) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %117) #7
  br label %874

874:                                              ; preds = %873, %867
  %.pn372.pn = phi { ptr, i32 } [ %.pn372, %873 ], [ %868, %867 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %116) #7
  br label %875

875:                                              ; preds = %874, %865
  %.pn372.pn.pn = phi { ptr, i32 } [ %.pn372.pn, %874 ], [ %866, %865 ]
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %116) #7
  br label %938

876:                                              ; preds = %.thread447, %858
  %indvars.iv.next770 = add nuw nsw i64 %indvars.iv769, 1
  %877 = load i32, ptr %4, align 4, !tbaa !5
  %878 = sext i32 %877 to i64
  %.not382 = icmp slt i64 %indvars.iv.next770, %878
  br i1 %.not382, label %.lr.ph619, label %._crit_edge620, !llvm.loop !20

._crit_edge620:                                   ; preds = %876, %.preheader
  %.not383 = icmp eq ptr %.085, null
  br i1 %.not383, label %.thread451, label %879

879:                                              ; preds = %._crit_edge620
  call void @llvm.lifetime.start.p0(i64 512, ptr nonnull %119) #7
  invoke void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(248) %119)
          to label %880 unwind label %897

880:                                              ; preds = %879
  %881 = call noundef i32 @_ZStorSt13_Ios_OpenmodeS_(i32 noundef 16, i32 noundef 4)
  invoke void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(248) %119, ptr noundef nonnull %.085, i32 noundef %881)
          to label %882 unwind label %899

882:                                              ; preds = %880
  %883 = load ptr, ptr %119, align 8, !tbaa !15
  %884 = getelementptr i8, ptr %883, i64 -24
  %885 = load i64, ptr %884, align 8
  %886 = getelementptr inbounds i8, ptr %119, i64 %885
  %887 = invoke noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE4failEv(ptr noundef nonnull align 8 dereferenceable(264) %886)
          to label %888 unwind label %899

888:                                              ; preds = %882
  br i1 %887, label %889, label %912

889:                                              ; preds = %888
  call void @llvm.lifetime.start.p0(i64 376, ptr nonnull %120) #7
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %120)
          to label %890 unwind label %901

890:                                              ; preds = %889
  %891 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %120, ptr noundef nonnull @.str.14)
          to label %892 unwind label %903

892:                                              ; preds = %890
  %893 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %891, ptr noundef nonnull %.085)
          to label %894 unwind label %903

894:                                              ; preds = %892
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %121) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %122) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %122) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %121, ptr noundef nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %122)
          to label %895 unwind label %905

895:                                              ; preds = %894
  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 %896 unwind label %907

896:                                              ; preds = %895
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %121) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %122) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %122) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %121) #7
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %120) #7
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %120) #7
  br label %.thread454

897:                                              ; preds = %879
  %898 = landingpad { ptr, i32 }
          cleanup
  br label %937

899:                                              ; preds = %882, %880
  %900 = landingpad { ptr, i32 }
          cleanup
  br label %936

901:                                              ; preds = %889
  %902 = landingpad { ptr, i32 }
          cleanup
  br label %911

903:                                              ; preds = %892, %890
  %904 = landingpad { ptr, i32 }
          cleanup
  br label %910

905:                                              ; preds = %894
  %906 = landingpad { ptr, i32 }
          cleanup
  br label %909

907:                                              ; preds = %895
  %908 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %121) #7
  br label %909

909:                                              ; preds = %907, %905
  %.pn389 = phi { ptr, i32 } [ %908, %907 ], [ %906, %905 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %122) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %122) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %121) #7
  br label %910

910:                                              ; preds = %909, %903
  %.pn389.pn = phi { ptr, i32 } [ %.pn389, %909 ], [ %904, %903 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %120) #7
  br label %911

911:                                              ; preds = %910, %901
  %.pn389.pn.pn = phi { ptr, i32 } [ %.pn389.pn, %910 ], [ %902, %901 ]
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %120) #7
  br label %936

912:                                              ; preds = %888
  %913 = load double, ptr %102, align 8, !tbaa !9
  %914 = invoke noundef zeroext i1 @_ZN4sptk11WriteStreamIdEEbT_PSo(double noundef %913, ptr noundef nonnull %119)
          to label %915 unwind label %922

915:                                              ; preds = %912
  br i1 %914, label %935, label %916

916:                                              ; preds = %915
  call void @llvm.lifetime.start.p0(i64 376, ptr nonnull %123) #7
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %123)
          to label %917 unwind label %924

917:                                              ; preds = %916
  %918 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %123, ptr noundef nonnull @.str.29)
          to label %919 unwind label %926

919:                                              ; preds = %917
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %124) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %125) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %125) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %124, ptr noundef nonnull @.str.2, ptr noundef nonnull align 1 dereferenceable(1) %125)
          to label %920 unwind label %928

920:                                              ; preds = %919
  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 %921 unwind label %930

921:                                              ; preds = %920
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %124) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %125) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %125) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %124) #7
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %123) #7
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %123) #7
  br label %.thread454

922:                                              ; preds = %912
  %923 = landingpad { ptr, i32 }
          cleanup
  br label %936

924:                                              ; preds = %916
  %925 = landingpad { ptr, i32 }
          cleanup
  br label %934

926:                                              ; preds = %917
  %927 = landingpad { ptr, i32 }
          cleanup
  br label %933

928:                                              ; preds = %919
  %929 = landingpad { ptr, i32 }
          cleanup
  br label %932

930:                                              ; preds = %920
  %931 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %124) #7
  br label %932

932:                                              ; preds = %930, %928
  %.pn384 = phi { ptr, i32 } [ %931, %930 ], [ %929, %928 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %125) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %125) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %124) #7
  br label %933

933:                                              ; preds = %932, %926
  %.pn384.pn = phi { ptr, i32 } [ %.pn384, %932 ], [ %927, %926 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %123) #7
  br label %934

934:                                              ; preds = %933, %924
  %.pn384.pn.pn = phi { ptr, i32 } [ %.pn384.pn, %933 ], [ %925, %924 ]
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %123) #7
  br label %936

.thread454:                                       ; preds = %896, %921
  call void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(248) %119) #7
  call void @llvm.lifetime.end.p0(i64 512, ptr nonnull %119) #7
  br label %.thread451

935:                                              ; preds = %915
  call void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(248) %119) #7
  call void @llvm.lifetime.end.p0(i64 512, ptr nonnull %119) #7
  br label %.thread451

936:                                              ; preds = %922, %934, %911, %899
  %.pn389.pn.pn.pn = phi { ptr, i32 } [ %.pn389.pn.pn, %911 ], [ %900, %899 ], [ %.pn384.pn.pn, %934 ], [ %923, %922 ]
  call void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(248) %119) #7
  br label %937

937:                                              ; preds = %936, %897
  %.pn389.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn389.pn.pn.pn, %936 ], [ %898, %897 ]
  call void @llvm.lifetime.end.p0(i64 512, ptr nonnull %119) #7
  br label %938

.thread451:                                       ; preds = %788, %813, %864, %853, %._crit_edge620, %935, %.thread454, %765
  %.17 = phi i32 [ 1, %765 ], [ 1, %.thread454 ], [ 0, %935 ], [ 0, %._crit_edge620 ], [ 1, %853 ], [ 1, %864 ], [ 1, %813 ], [ 1, %788 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %102) #7
  br label %939

938:                                              ; preds = %789, %801, %824, %854, %875, %937, %778, %766
  %.pn389.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn389.pn.pn.pn.pn, %937 ], [ %.pn360.pn.pn, %778 ], [ %767, %766 ], [ %.pn376.pn.pn.pn, %854 ], [ %.pn372.pn.pn, %875 ], [ %790, %789 ], [ %.pn368.pn.pn, %824 ], [ %.pn364.pn.pn, %801 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %102) #7
  br label %940

939:                                              ; preds = %.thread451, %732
  %.18 = phi i32 [ %.17, %.thread451 ], [ 1, %732 ]
  call void @_ZN4sptk23GaussianMixtureModelingD2Ev(ptr noundef nonnull align 8 dereferenceable(264) %97) #7
  call void @llvm.lifetime.end.p0(i64 264, ptr nonnull %97) #7
  br label %942

940:                                              ; preds = %938, %747
  %.pn389.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn389.pn.pn.pn.pn.pn, %938 ], [ %.pn356.pn.pn, %747 ]
  call void @_ZN4sptk23GaussianMixtureModelingD2Ev(ptr noundef nonnull align 8 dereferenceable(264) %97) #7
  br label %941

941:                                              ; preds = %940, %735, %733
  %.pn389.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn389.pn.pn.pn.pn.pn.pn, %940 ], [ %736, %735 ], [ %734, %733 ]
  call void @llvm.lifetime.end.p0(i64 264, ptr nonnull %97) #7
  br label %943

942:                                              ; preds = %.thread443, %939
  %.19 = phi i32 [ %.18, %939 ], [ 1, %.thread443 ]
  call void @_ZNSt6vectorIN4sptk15SymmetricMatrixESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %77) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %77) #7
  call void @_ZNSt6vectorIS_IdSaIdEESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %75) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %75) #7
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %73) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %73) #7
  br label %947

943:                                              ; preds = %941, %710
  %.pn389.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn389.pn.pn.pn.pn.pn.pn.pn, %941 ], [ %.pn350.pn.pn.pn.pn, %710 ]
  call void @_ZNSt6vectorIN4sptk15SymmetricMatrixESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %77) #7
  br label %944

944:                                              ; preds = %943, %575
  %.pn389.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn389.pn.pn.pn.pn.pn.pn.pn.pn, %943 ], [ %576, %575 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %77) #7
  call void @_ZNSt6vectorIS_IdSaIdEESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %75) #7
  br label %945

945:                                              ; preds = %944, %573
  %.pn389.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn389.pn.pn.pn.pn.pn.pn.pn.pn.pn, %944 ], [ %574, %573 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %75) #7
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %73) #7
  br label %946

946:                                              ; preds = %945, %571
  %.pn389.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn389.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %945 ], [ %572, %571 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %73) #7
  br label %948

947:                                              ; preds = %530, %531, %942
  %.20 = phi i32 [ %.19, %942 ], [ 1, %530 ], [ 0, %531 ]
  call void @_ZNSt6vectorIS_IdSaIdEESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %66) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %66) #7
  br label %.thread417

948:                                              ; preds = %946, %535
  %.pn389.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn389.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %946 ], [ %.pn321.pn.pn.pn.pn, %535 ]
  call void @_ZNSt6vectorIS_IdSaIdEESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %66) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %66) #7
  br label %949

.thread417:                                       ; preds = %.thread414, %423, %422, %141, %175, %204, %233, %262, %291, %320, %350, %441, %947, %468
  %.23 = phi i32 [ 1, %441 ], [ %.20, %947 ], [ 1, %468 ], [ 1, %.thread414 ], [ 1, %423 ], [ 0, %422 ], [ 1, %141 ], [ 1, %175 ], [ 1, %204 ], [ 1, %233 ], [ 1, %262 ], [ 1, %291 ], [ 1, %320 ], [ 1, %350 ]
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %10) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %9) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %5) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %4) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #7
  ret i32 %.23

949:                                              ; preds = %.loopexit460, %.loopexit.split-lp461, %452, %948, %481, %469, %146, %157, %180, %191, %209, %220, %238, %249, %267, %278, %296, %307, %325, %336, %355, %366, %421, %430
  %.pn404.pn.pn.pn.pn = phi { ptr, i32 } [ %431, %430 ], [ %.pn252.pn.pn.pn, %421 ], [ %.pn260.pn.pn, %366 ], [ %.pn257, %355 ], [ %.pn267.pn.pn, %336 ], [ %.pn264, %325 ], [ %.pn274.pn.pn, %307 ], [ %.pn271, %296 ], [ %.pn281.pn.pn, %278 ], [ %.pn278, %267 ], [ %.pn288.pn.pn, %249 ], [ %.pn285, %238 ], [ %.pn295.pn.pn, %220 ], [ %.pn292, %209 ], [ %.pn302.pn.pn, %191 ], [ %.pn299, %180 ], [ %.pn309.pn.pn, %157 ], [ %.pn306, %146 ], [ %.pn404.pn.pn, %452 ], [ %.pn389.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %948 ], [ %.pn315.pn.pn, %481 ], [ %470, %469 ], [ %lpad.loopexit462, %.loopexit460 ], [ %lpad.loopexit.split-lp463, %.loopexit.split-lp461 ]
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %10) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %9) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %5) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %4) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #7
  resume { ptr, i32 } %.pn404.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 @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #2 align 2

declare i32 @ya_getopt_long(i32 noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #3

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

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112)) 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 #3

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

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

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

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

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

declare noundef zeroext i1 @_ZN4sptk13SetBinaryModeEv() local_unnamed_addr #3

; 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 uwtable
declare void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(256)) unnamed_addr #4 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 #4 align 2

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

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

; 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

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

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

; 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 #4 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 nounwind uwtable
declare void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256)) unnamed_addr #2 align 2

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

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

declare noundef zeroext i1 @_ZN4sptk10ReadStreamIdEEbPT_PSi(ptr noundef, ptr noundef) local_unnamed_addr #3

; 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

; 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 void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24)) 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 #3

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN4sptk15SymmetricMatrixixEi(ptr dead_on_unwind noalias writable sret(%"class.sptk::SymmetricMatrix::Row") align 8, ptr noundef nonnull align 8 dereferenceable(64), i32 noundef) local_unnamed_addr #4 align 2

declare noundef nonnull align 8 dereferenceable(8) ptr @_ZN4sptk15SymmetricMatrix3RowixEi(ptr noundef nonnull align 8 dereferenceable(20), i32 noundef) local_unnamed_addr #3

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

declare noundef zeroext i1 @_ZN4sptk10ReadStreamEPNS_15SymmetricMatrixEPSi(ptr noundef, ptr noundef) local_unnamed_addr #3

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

declare void @_ZN4sptk23GaussianMixtureModelingC1EiiidNS0_14CovarianceTypeESt6vectorIiSaIiEEddNS0_18InitializationTypeEidRKS2_IdSaIdEERKS2_IS7_SaIS7_EERKS2_INS_15SymmetricMatrixESaISE_EE(ptr noundef nonnull align 8 dereferenceable(264), i32 noundef, i32 noundef, i32 noundef, double noundef, i32 noundef, ptr noundef, double noundef, double noundef, i32 noundef, i32 noundef, double noundef, ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #3

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

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

declare noundef zeroext i1 @_ZNK4sptk23GaussianMixtureModeling3RunERKSt6vectorIS1_IdSaIdEESaIS3_EEPS3_PS5_PS1_INS_15SymmetricMatrixESaISA_EEPd(ptr noundef nonnull align 8 dereferenceable(264), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef, ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #3

declare noundef zeroext i1 @_ZN4sptk11WriteStreamIdEEbT_PSo(double noundef, ptr noundef) local_unnamed_addr #3

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

declare noundef zeroext i1 @_ZNK4sptk15SymmetricMatrix11GetDiagonalEPSt6vectorIdSaIdEE(ptr noundef nonnull align 8 dereferenceable(64), ptr noundef) local_unnamed_addr #3

declare noundef zeroext i1 @_ZN4sptk11WriteStreamERKNS_15SymmetricMatrixEPSo(ptr noundef nonnull align 8 dereferenceable(64), ptr noundef) local_unnamed_addr #3

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

; Function Attrs: mustprogress uwtable
declare void @_ZNSt14basic_ofstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(248), ptr noundef, i32 noundef) local_unnamed_addr #4 align 2

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt15__new_allocatorIN4sptk15SymmetricMatrixEED2Ev(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 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { inlinehint mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { inlinehint mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { nounwind }

!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,SCCPPass,SROAPass,SimplifyCFGPass