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

; 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::__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" = 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::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.0 }
%union.anon.0 = type { i32 }
%"class.sptk::SpectrumToSpectrum" = type <{ ptr, i32, i32, i32, [4 x i8], double, double, %"class.std::vector", i8, [7 x i8] }>
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<sptk::SpectrumToSpectrum::OperationInterface *, std::allocator<sptk::SpectrumToSpectrum::OperationInterface *>>::_Vector_impl" }
%"struct.std::_Vector_base<sptk::SpectrumToSpectrum::OperationInterface *, std::allocator<sptk::SpectrumToSpectrum::OperationInterface *>>::_Vector_impl" = type { %"struct.std::_Vector_base<sptk::SpectrumToSpectrum::OperationInterface *, std::allocator<sptk::SpectrumToSpectrum::OperationInterface *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<sptk::SpectrumToSpectrum::OperationInterface *, std::allocator<sptk::SpectrumToSpectrum::OperationInterface *>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.sptk::WaveformToSpectrum" = type { ptr, %"class.sptk::FilterCoefficientsToSpectrum", %"class.std::vector.4" }
%"class.sptk::FilterCoefficientsToSpectrum" = type <{ ptr, i32, i32, i32, [4 x i8], %"class.sptk::RealValuedFastFourierTransform", %"class.sptk::SpectrumToSpectrum", i8, [7 x i8] }>
%"class.sptk::RealValuedFastFourierTransform" = type { ptr, i32, i32, i32, %"class.sptk::FastFourierTransform", i8, %"class.std::vector.4" }
%"class.sptk::FastFourierTransform" = type { ptr, i32, i32, i32, i8, %"class.std::vector.4" }
%"class.std::vector.4" = type { %"struct.std::_Vector_base.5" }
%"struct.std::_Vector_base.5" = 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.sptk::WaveformToSpectrum::Buffer" = type { ptr, %"class.sptk::FilterCoefficientsToSpectrum::Buffer" }
%"class.sptk::FilterCoefficientsToSpectrum::Buffer" = type { ptr, %"class.sptk::RealValuedFastFourierTransform::Buffer", %"class.std::vector.4", %"class.std::vector.4", %"class.std::vector.4", %"class.std::vector.4", %"class.std::vector.4" }
%"class.sptk::RealValuedFastFourierTransform::Buffer" = type { ptr, %"class.std::vector.4", %"class.std::vector.4" }
%"class.sptk::SecondOrderAllPassMelCepstralAnalysis" = type { ptr, i32, i32, i32, double, double, i32, double, %"class.sptk::RealValuedFastFourierTransform", %"class.sptk::RealValuedInverseFastFourierTransform", %"class.sptk::SecondOrderAllPassFrequencyTransform", %"class.sptk::SecondOrderAllPassInverseFrequencyTransform", %"class.sptk::ToeplitzPlusHankelSystemSolver", i8, %"class.std::vector.4" }
%"class.sptk::RealValuedInverseFastFourierTransform" = type { ptr, %"class.sptk::RealValuedFastFourierTransform" }
%"class.sptk::SecondOrderAllPassFrequencyTransform" = type { ptr, i32, i32, double, double, i8, %"class.std::vector.9" }
%"class.std::vector.9" = type { %"struct.std::_Vector_base.10" }
%"struct.std::_Vector_base.10" = 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.sptk::SecondOrderAllPassInverseFrequencyTransform" = type { ptr, i32, i32, double, double, i8, %"class.std::vector.9" }
%"class.sptk::ToeplitzPlusHankelSystemSolver" = type <{ ptr, i32, i8, i8, [2 x i8] }>
%"class.sptk::SecondOrderAllPassMelCepstralAnalysis::Buffer" = type { ptr, %"class.std::vector.4", %"class.std::vector.4", %"class.std::vector.4", %"class.std::vector.9", %"class.std::vector.4", %"class.std::vector.4", %"class.std::vector.4", %"class.std::vector.4", %"class.std::vector.4", %"class.std::vector.4", %"class.sptk::RealValuedFastFourierTransform::Buffer", %"class.sptk::RealValuedInverseFastFourierTransform::Buffer", %"class.sptk::ToeplitzPlusHankelSystemSolver::Buffer" }
%"class.sptk::RealValuedInverseFastFourierTransform::Buffer" = type { ptr, %"class.sptk::RealValuedFastFourierTransform::Buffer" }
%"class.sptk::ToeplitzPlusHankelSystemSolver::Buffer" = type { ptr, %"class.std::vector.14", %"class.std::vector.14", %"class.std::vector.14", %"class.std::vector.9", %"class.std::vector.4", %"class.std::vector.4", %"class.std::vector.4", %"class.std::vector.4", %"class.sptk::Matrix2D", %"class.sptk::Matrix2D", %"class.sptk::Matrix2D", %"class.sptk::Matrix2D", %"class.sptk::Matrix2D", %"class.sptk::Matrix2D" }
%"class.std::vector.14" = type { %"struct.std::_Vector_base.15" }
%"struct.std::_Vector_base.15" = type { %"struct.std::_Vector_base<sptk::Matrix2D, std::allocator<sptk::Matrix2D>>::_Vector_impl" }
%"struct.std::_Vector_base<sptk::Matrix2D, std::allocator<sptk::Matrix2D>>::_Vector_impl" = type { %"struct.std::_Vector_base<sptk::Matrix2D, std::allocator<sptk::Matrix2D>>::_Vector_impl_data" }
%"struct.std::_Vector_base<sptk::Matrix2D, std::allocator<sptk::Matrix2D>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.sptk::Matrix2D" = type { ptr, %union.anon.19 }
%union.anon.19 = type { [4 x double] }
%"class.std::allocator.6" = type { i8 }

@.str = external hidden unnamed_addr constant [22 x i8], align 1
@ya_optarg = external global ptr, align 8
@.str.1 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [57 x i8], align 1
@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@_ZSt4cerr = external global %"class.std::basic_ostream", align 8
@ya_optind = external global i32, align 4
@.str.15 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [18 x i8], align 1
@_ZSt3cin = external global %"class.std::basic_istream", align 8
@.str.18 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [29 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 double, align 8
  %8 = alloca double, align 8
  %9 = alloca i32, align 4
  %10 = alloca i32, align 4
  %11 = alloca i32, align 4
  %12 = alloca i32, align 4
  %13 = alloca double, align 8
  %14 = alloca double, align 8
  %15 = alloca double, align 8
  %16 = alloca i32, align 4
  %17 = alloca i32, align 4
  %18 = alloca %"class.std::__cxx11::basic_string", align 8
  %19 = alloca %"class.std::allocator", align 1
  %20 = alloca ptr, align 8
  %21 = alloca i32, align 4
  %22 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %23 = alloca %"class.std::__cxx11::basic_string", align 8
  %24 = alloca %"class.std::allocator", align 1
  %25 = alloca %"class.std::__cxx11::basic_string", align 8
  %26 = alloca %"class.std::allocator", align 1
  %27 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %28 = alloca %"class.std::__cxx11::basic_string", align 8
  %29 = alloca %"class.std::allocator", align 1
  %30 = alloca %"class.std::__cxx11::basic_string", align 8
  %31 = alloca %"class.std::allocator", align 1
  %32 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %33 = alloca %"class.std::__cxx11::basic_string", align 8
  %34 = alloca %"class.std::allocator", align 1
  %35 = alloca %"class.std::__cxx11::basic_string", align 8
  %36 = alloca %"class.std::allocator", align 1
  %37 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %38 = alloca %"class.std::__cxx11::basic_string", align 8
  %39 = alloca %"class.std::allocator", align 1
  %40 = alloca i32, align 4
  %41 = alloca i32, align 4
  %42 = alloca i32, align 4
  %43 = alloca %"class.std::__cxx11::basic_string", align 8
  %44 = alloca %"class.std::allocator", align 1
  %45 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %46 = alloca %"class.std::__cxx11::basic_string", align 8
  %47 = alloca %"class.std::allocator", align 1
  %48 = alloca %"class.std::__cxx11::basic_string", align 8
  %49 = alloca %"class.std::allocator", align 1
  %50 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %51 = alloca %"class.std::__cxx11::basic_string", align 8
  %52 = alloca %"class.std::allocator", align 1
  %53 = alloca %"class.std::__cxx11::basic_string", align 8
  %54 = alloca %"class.std::allocator", align 1
  %55 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %56 = alloca %"class.std::__cxx11::basic_string", align 8
  %57 = alloca %"class.std::allocator", align 1
  %58 = alloca %"class.std::__cxx11::basic_string", align 8
  %59 = alloca %"class.std::allocator", align 1
  %60 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %61 = alloca %"class.std::__cxx11::basic_string", align 8
  %62 = alloca %"class.std::allocator", align 1
  %63 = alloca %"class.std::__cxx11::basic_string", align 8
  %64 = alloca %"class.std::allocator", 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", align 1
  %68 = alloca %"class.std::__cxx11::basic_string", align 8
  %69 = alloca %"class.std::allocator", align 1
  %70 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %71 = alloca %"class.std::__cxx11::basic_string", align 8
  %72 = alloca %"class.std::allocator", align 1
  %73 = alloca i32, align 4
  %74 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %75 = alloca %"class.std::__cxx11::basic_string", align 8
  %76 = alloca %"class.std::allocator", align 1
  %77 = alloca ptr, align 8
  %78 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %79 = alloca %"class.std::__cxx11::basic_string", align 8
  %80 = alloca %"class.std::allocator", align 1
  %81 = alloca %"class.std::basic_ifstream", align 8
  %82 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %83 = alloca %"class.std::__cxx11::basic_string", align 8
  %84 = alloca %"class.std::allocator", align 1
  %85 = alloca ptr, align 8
  %86 = alloca %"class.sptk::SpectrumToSpectrum", align 8
  %87 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %88 = alloca %"class.std::__cxx11::basic_string", align 8
  %89 = alloca %"class.std::allocator", align 1
  %90 = alloca %"class.sptk::WaveformToSpectrum", align 8
  %91 = alloca %"class.sptk::WaveformToSpectrum::Buffer", align 8
  %92 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %93 = alloca %"class.std::__cxx11::basic_string", align 8
  %94 = alloca %"class.std::allocator", align 1
  %95 = alloca %"class.sptk::SecondOrderAllPassMelCepstralAnalysis", align 8
  %96 = alloca %"class.sptk::SecondOrderAllPassMelCepstralAnalysis::Buffer", align 8
  %97 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %98 = alloca %"class.std::__cxx11::basic_string", align 8
  %99 = alloca %"class.std::allocator", align 1
  %100 = alloca i32, align 4
  %101 = alloca i32, align 4
  %102 = alloca %"class.std::vector.4", align 8
  %103 = alloca %"class.std::allocator.6", align 1
  %104 = alloca %"class.std::vector.4", align 8
  %105 = alloca %"class.std::allocator.6", align 1
  %106 = alloca %"class.std::vector.4", align 8
  %107 = alloca %"class.std::allocator.6", 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", align 1
  %111 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %112 = alloca %"class.std::__cxx11::basic_string", align 8
  %113 = alloca %"class.std::allocator", align 1
  %114 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %115 = alloca %"class.std::__cxx11::basic_string", align 8
  %116 = alloca %"class.std::allocator", align 1
  %117 = alloca %"class.std::__cxx11::basic_ostringstream", align 8
  %118 = alloca %"class.std::__cxx11::basic_string", align 8
  %119 = alloca %"class.std::allocator", align 1
  store i32 0, ptr %3, align 4
  store i32 %0, ptr %4, align 4, !tbaa !5
  store ptr %1, ptr %5, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %6) #8
  store i32 25, ptr %6, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %7) #8
  store double 3.500000e-01, ptr %7, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %8) #8
  store double 0.000000e+00, ptr %8, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %9) #8
  store i32 256, ptr %9, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %10) #8
  store i32 4, ptr %10, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %11) #8
  store i32 4, ptr %11, align 4, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 4, ptr %12) #8
  store i32 30, ptr %12, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %13) #8
  store double 1.000000e-03, ptr %13, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %14) #8
  store double 0.000000e+00, ptr %14, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %15) #8
  store double 0xFFEFFFFFFFFFFFFF, ptr %15, align 8, !tbaa !11
  br label %120

120:                                              ; preds = %543, %2
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #8
  %121 = load i32, ptr %4, align 4, !tbaa !5
  %122 = load ptr, ptr %5, align 8, !tbaa !9
  %123 = call i32 @ya_getopt_long(i32 noundef %121, ptr noundef %122, ptr noundef @.str, ptr noundef null, ptr noundef null)
  store i32 %123, ptr %16, align 4, !tbaa !5
  %124 = load i32, ptr %16, align 4, !tbaa !5
  %125 = icmp eq i32 -1, %124
  br i1 %125, label %126, label %127

126:                                              ; preds = %120
  store i32 2, ptr %17, align 4
  br label %541

127:                                              ; preds = %120
  %128 = load i32, ptr %16, align 4, !tbaa !5
  switch i32 %128, label %539 [
    i32 109, label %129
    i32 97, label %170
    i32 116, label %211
    i32 108, label %253
    i32 113, label %288
    i32 102, label %341
    i32 105, label %382
    i32 100, label %421
    i32 101, label %460
    i32 69, label %499
    i32 104, label %538
  ]

129:                                              ; preds = %127
  call void @llvm.lifetime.start.p0(i64 32, ptr %18) #8
  %130 = load ptr, ptr @ya_optarg, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %19) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %18, ptr noundef %130, ptr noundef nonnull align 1 dereferenceable(1) %19)
          to label %131 unwind label %146

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

133:                                              ; preds = %131
  br i1 %132, label %134, label %137

134:                                              ; preds = %133
  %135 = load i32, ptr %6, align 4, !tbaa !5
  %136 = icmp slt i32 %135, 0
  br label %137

137:                                              ; preds = %134, %133
  %138 = phi i1 [ true, %133 ], [ %136, %134 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %19) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %18) #8
  br i1 %138, label %139, label %169

139:                                              ; preds = %137
  call void @llvm.lifetime.start.p0(i64 376, ptr %22) #8
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %22)
  %140 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %22, ptr noundef @.str.1)
          to label %141 unwind label %155

141:                                              ; preds = %139
  %142 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %140, ptr noundef @.str.2)
          to label %143 unwind label %155

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

144:                                              ; preds = %143
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %23, ptr noundef nonnull align 8 dereferenceable(112) %22)
          to label %145 unwind label %163

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

146:                                              ; preds = %129
  %147 = landingpad { ptr, i32 }
          cleanup
  %148 = extractvalue { ptr, i32 } %147, 0
  store ptr %148, ptr %20, align 8
  %149 = extractvalue { ptr, i32 } %147, 1
  store i32 %149, ptr %21, align 4
  br label %154

150:                                              ; preds = %131
  %151 = landingpad { ptr, i32 }
          cleanup
  %152 = extractvalue { ptr, i32 } %151, 0
  store ptr %152, ptr %20, align 8
  %153 = extractvalue { ptr, i32 } %151, 1
  store i32 %153, ptr %21, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #8
  br label %154

154:                                              ; preds = %150, %146
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %19) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %18) #8
  br label %544

155:                                              ; preds = %141, %139
  %156 = landingpad { ptr, i32 }
          cleanup
  %157 = extractvalue { ptr, i32 } %156, 0
  store ptr %157, ptr %20, align 8
  %158 = extractvalue { ptr, i32 } %156, 1
  store i32 %158, ptr %21, align 4
  br label %168

159:                                              ; preds = %143
  %160 = landingpad { ptr, i32 }
          cleanup
  %161 = extractvalue { ptr, i32 } %160, 0
  store ptr %161, ptr %20, align 8
  %162 = extractvalue { ptr, i32 } %160, 1
  store i32 %162, ptr %21, align 4
  br label %167

163:                                              ; preds = %144
  %164 = landingpad { ptr, i32 }
          cleanup
  %165 = extractvalue { ptr, i32 } %164, 0
  store ptr %165, ptr %20, align 8
  %166 = extractvalue { ptr, i32 } %164, 1
  store i32 %166, ptr %21, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #8
  br label %167

167:                                              ; preds = %163, %159
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %24) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %24) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %23) #8
  br label %168

168:                                              ; preds = %167, %155
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %22) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr %22) #8
  br label %544

169:                                              ; preds = %137
  br label %540

170:                                              ; preds = %127
  call void @llvm.lifetime.start.p0(i64 32, ptr %25) #8
  %171 = load ptr, ptr @ya_optarg, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %26) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %26) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef %171, ptr noundef nonnull align 1 dereferenceable(1) %26)
          to label %172 unwind label %187

172:                                              ; preds = %170
  %173 = invoke noundef zeroext i1 @_ZN4sptk21ConvertStringToDoubleERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPd(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef %7)
          to label %174 unwind label %191

174:                                              ; preds = %172
  br i1 %173, label %175, label %180

175:                                              ; preds = %174
  %176 = load double, ptr %7, align 8, !tbaa !11
  %177 = invoke noundef zeroext i1 @_ZN4sptk12IsValidAlphaEd(double noundef %176)
          to label %178 unwind label %191

178:                                              ; preds = %175
  %179 = xor i1 %177, true
  br label %180

180:                                              ; preds = %178, %174
  %181 = phi i1 [ true, %174 ], [ %179, %178 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %26) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %26) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %25) #8
  br i1 %181, label %182, label %210

182:                                              ; preds = %180
  call void @llvm.lifetime.start.p0(i64 376, ptr %27) #8
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %27)
  %183 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %27, ptr noundef @.str.4)
          to label %184 unwind label %196

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

185:                                              ; preds = %184
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %28, ptr noundef nonnull align 8 dereferenceable(112) %27)
          to label %186 unwind label %204

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

187:                                              ; preds = %170
  %188 = landingpad { ptr, i32 }
          cleanup
  %189 = extractvalue { ptr, i32 } %188, 0
  store ptr %189, ptr %20, align 8
  %190 = extractvalue { ptr, i32 } %188, 1
  store i32 %190, ptr %21, align 4
  br label %195

191:                                              ; preds = %175, %172
  %192 = landingpad { ptr, i32 }
          cleanup
  %193 = extractvalue { ptr, i32 } %192, 0
  store ptr %193, ptr %20, align 8
  %194 = extractvalue { ptr, i32 } %192, 1
  store i32 %194, ptr %21, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #8
  br label %195

195:                                              ; preds = %191, %187
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %26) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %26) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %25) #8
  br label %544

196:                                              ; preds = %182
  %197 = landingpad { ptr, i32 }
          cleanup
  %198 = extractvalue { ptr, i32 } %197, 0
  store ptr %198, ptr %20, align 8
  %199 = extractvalue { ptr, i32 } %197, 1
  store i32 %199, ptr %21, align 4
  br label %209

200:                                              ; preds = %184
  %201 = landingpad { ptr, i32 }
          cleanup
  %202 = extractvalue { ptr, i32 } %201, 0
  store ptr %202, ptr %20, align 8
  %203 = extractvalue { ptr, i32 } %201, 1
  store i32 %203, ptr %21, align 4
  br label %208

204:                                              ; preds = %185
  %205 = landingpad { ptr, i32 }
          cleanup
  %206 = extractvalue { ptr, i32 } %205, 0
  store ptr %206, ptr %20, align 8
  %207 = extractvalue { ptr, i32 } %205, 1
  store i32 %207, ptr %21, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #8
  br label %208

208:                                              ; preds = %204, %200
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %29) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %29) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %28) #8
  br label %209

209:                                              ; preds = %208, %196
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %27) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr %27) #8
  br label %544

210:                                              ; preds = %180
  br label %540

211:                                              ; preds = %127
  call void @llvm.lifetime.start.p0(i64 32, ptr %30) #8
  %212 = load ptr, ptr @ya_optarg, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %31) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef %212, ptr noundef nonnull align 1 dereferenceable(1) %31)
          to label %213 unwind label %229

213:                                              ; preds = %211
  %214 = invoke noundef zeroext i1 @_ZN4sptk21ConvertStringToDoubleERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPd(ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef %8)
          to label %215 unwind label %233

215:                                              ; preds = %213
  br i1 %214, label %216, label %222

216:                                              ; preds = %215
  %217 = load double, ptr %8, align 8, !tbaa !11
  %218 = fcmp olt double %217, 0.000000e+00
  br i1 %218, label %222, label %219

219:                                              ; preds = %216
  %220 = load double, ptr %8, align 8, !tbaa !11
  %221 = fcmp olt double 1.000000e+00, %220
  br label %222

222:                                              ; preds = %219, %216, %215
  %223 = phi i1 [ true, %216 ], [ true, %215 ], [ %221, %219 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %31) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %30) #8
  br i1 %223, label %224, label %252

224:                                              ; preds = %222
  call void @llvm.lifetime.start.p0(i64 376, ptr %32) #8
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %32)
  %225 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %32, ptr noundef @.str.5)
          to label %226 unwind label %238

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

227:                                              ; preds = %226
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %33, ptr noundef nonnull align 8 dereferenceable(112) %32)
          to label %228 unwind label %246

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

229:                                              ; preds = %211
  %230 = landingpad { ptr, i32 }
          cleanup
  %231 = extractvalue { ptr, i32 } %230, 0
  store ptr %231, ptr %20, align 8
  %232 = extractvalue { ptr, i32 } %230, 1
  store i32 %232, ptr %21, align 4
  br label %237

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

237:                                              ; preds = %233, %229
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %31) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %30) #8
  br label %544

238:                                              ; preds = %224
  %239 = landingpad { ptr, i32 }
          cleanup
  %240 = extractvalue { ptr, i32 } %239, 0
  store ptr %240, ptr %20, align 8
  %241 = extractvalue { ptr, i32 } %239, 1
  store i32 %241, ptr %21, align 4
  br label %251

242:                                              ; preds = %226
  %243 = landingpad { ptr, i32 }
          cleanup
  %244 = extractvalue { ptr, i32 } %243, 0
  store ptr %244, ptr %20, align 8
  %245 = extractvalue { ptr, i32 } %243, 1
  store i32 %245, ptr %21, align 4
  br label %250

246:                                              ; preds = %227
  %247 = landingpad { ptr, i32 }
          cleanup
  %248 = extractvalue { ptr, i32 } %247, 0
  store ptr %248, ptr %20, align 8
  %249 = extractvalue { ptr, i32 } %247, 1
  store i32 %249, ptr %21, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #8
  br label %250

250:                                              ; preds = %246, %242
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %34) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %34) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %33) #8
  br label %251

251:                                              ; preds = %250, %238
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %32) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr %32) #8
  br label %544

252:                                              ; preds = %222
  br label %540

253:                                              ; preds = %127
  call void @llvm.lifetime.start.p0(i64 32, ptr %35) #8
  %254 = load ptr, ptr @ya_optarg, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %36) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %35, ptr noundef %254, ptr noundef nonnull align 1 dereferenceable(1) %36)
          to label %255 unwind label %264

255:                                              ; preds = %253
  %256 = invoke noundef zeroext i1 @_ZN4sptk22ConvertStringToIntegerERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPi(ptr noundef nonnull align 8 dereferenceable(32) %35, ptr noundef %9)
          to label %257 unwind label %268

257:                                              ; preds = %255
  %258 = xor i1 %256, true
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %36) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %35) #8
  br i1 %258, label %259, label %287

259:                                              ; preds = %257
  call void @llvm.lifetime.start.p0(i64 376, ptr %37) #8
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %37)
  %260 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %37, ptr noundef @.str.6)
          to label %261 unwind label %273

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

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

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

264:                                              ; preds = %253
  %265 = landingpad { ptr, i32 }
          cleanup
  %266 = extractvalue { ptr, i32 } %265, 0
  store ptr %266, ptr %20, align 8
  %267 = extractvalue { ptr, i32 } %265, 1
  store i32 %267, ptr %21, align 4
  br label %272

268:                                              ; preds = %255
  %269 = landingpad { ptr, i32 }
          cleanup
  %270 = extractvalue { ptr, i32 } %269, 0
  store ptr %270, ptr %20, align 8
  %271 = extractvalue { ptr, i32 } %269, 1
  store i32 %271, ptr %21, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #8
  br label %272

272:                                              ; preds = %268, %264
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %36) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %35) #8
  br label %544

273:                                              ; preds = %259
  %274 = landingpad { ptr, i32 }
          cleanup
  %275 = extractvalue { ptr, i32 } %274, 0
  store ptr %275, ptr %20, align 8
  %276 = extractvalue { ptr, i32 } %274, 1
  store i32 %276, ptr %21, align 4
  br label %286

277:                                              ; preds = %261
  %278 = landingpad { ptr, i32 }
          cleanup
  %279 = extractvalue { ptr, i32 } %278, 0
  store ptr %279, ptr %20, align 8
  %280 = extractvalue { ptr, i32 } %278, 1
  store i32 %280, ptr %21, align 4
  br label %285

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

285:                                              ; preds = %281, %277
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %39) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %38) #8
  br label %286

286:                                              ; preds = %285, %273
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %37) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr %37) #8
  br label %544

287:                                              ; preds = %257
  br label %540

288:                                              ; preds = %127
  call void @llvm.lifetime.start.p0(i64 4, ptr %40) #8
  store i32 0, ptr %40, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %41) #8
  store i32 4, ptr %41, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %42) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %43) #8
  %289 = load ptr, ptr @ya_optarg, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %44) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %44) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %43, ptr noundef %289, ptr noundef nonnull align 1 dereferenceable(1) %44)
          to label %290 unwind label %313

290:                                              ; preds = %288
  %291 = invoke noundef zeroext i1 @_ZN4sptk22ConvertStringToIntegerERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPi(ptr noundef nonnull align 8 dereferenceable(32) %43, ptr noundef %42)
          to label %292 unwind label %317

292:                                              ; preds = %290
  br i1 %291, label %293, label %298

293:                                              ; preds = %292
  %294 = load i32, ptr %42, align 4, !tbaa !5
  %295 = invoke noundef zeroext i1 @_ZN4sptk9IsInRangeEiii(i32 noundef %294, i32 noundef 0, i32 noundef 4)
          to label %296 unwind label %317

296:                                              ; preds = %293
  %297 = xor i1 %295, true
  br label %298

298:                                              ; preds = %296, %292
  %299 = phi i1 [ true, %292 ], [ %297, %296 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %44) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %44) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %43) #8
  br i1 %299, label %300, label %336

300:                                              ; preds = %298
  call void @llvm.lifetime.start.p0(i64 376, ptr %45) #8
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %45)
  %301 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %45, ptr noundef @.str.7)
          to label %302 unwind label %322

302:                                              ; preds = %300
  %303 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %301, ptr noundef @.str.8)
          to label %304 unwind label %322

304:                                              ; preds = %302
  %305 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %303, i32 noundef 0)
          to label %306 unwind label %322

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

308:                                              ; preds = %306
  %309 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %307, i32 noundef 4)
          to label %310 unwind label %322

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

311:                                              ; preds = %310
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %46, ptr noundef nonnull align 8 dereferenceable(112) %45)
          to label %312 unwind label %330

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

313:                                              ; preds = %288
  %314 = landingpad { ptr, i32 }
          cleanup
  %315 = extractvalue { ptr, i32 } %314, 0
  store ptr %315, ptr %20, align 8
  %316 = extractvalue { ptr, i32 } %314, 1
  store i32 %316, ptr %21, align 4
  br label %321

317:                                              ; preds = %293, %290
  %318 = landingpad { ptr, i32 }
          cleanup
  %319 = extractvalue { ptr, i32 } %318, 0
  store ptr %319, ptr %20, align 8
  %320 = extractvalue { ptr, i32 } %318, 1
  store i32 %320, ptr %21, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #8
  br label %321

321:                                              ; preds = %317, %313
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %44) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %44) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %43) #8
  br label %340

322:                                              ; preds = %308, %306, %304, %302, %300
  %323 = landingpad { ptr, i32 }
          cleanup
  %324 = extractvalue { ptr, i32 } %323, 0
  store ptr %324, ptr %20, align 8
  %325 = extractvalue { ptr, i32 } %323, 1
  store i32 %325, ptr %21, align 4
  br label %335

326:                                              ; preds = %310
  %327 = landingpad { ptr, i32 }
          cleanup
  %328 = extractvalue { ptr, i32 } %327, 0
  store ptr %328, ptr %20, align 8
  %329 = extractvalue { ptr, i32 } %327, 1
  store i32 %329, ptr %21, align 4
  br label %334

330:                                              ; preds = %311
  %331 = landingpad { ptr, i32 }
          cleanup
  %332 = extractvalue { ptr, i32 } %331, 0
  store ptr %332, ptr %20, align 8
  %333 = extractvalue { ptr, i32 } %331, 1
  store i32 %333, ptr %21, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #8
  br label %334

334:                                              ; preds = %330, %326
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %47) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %47) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %46) #8
  br label %335

335:                                              ; preds = %334, %322
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %45) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr %45) #8
  br label %340

336:                                              ; preds = %298
  %337 = load i32, ptr %42, align 4, !tbaa !5
  store i32 %337, ptr %11, align 4, !tbaa !13
  store i32 4, ptr %17, align 4
  br label %338

338:                                              ; preds = %336, %312
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #8
  %339 = load i32, ptr %17, align 4
  switch i32 %339, label %541 [
    i32 4, label %540
  ]

340:                                              ; preds = %335, %321
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #8
  br label %544

341:                                              ; preds = %127
  call void @llvm.lifetime.start.p0(i64 32, ptr %48) #8
  %342 = load ptr, ptr @ya_optarg, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %49) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %49) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %48, ptr noundef %342, ptr noundef nonnull align 1 dereferenceable(1) %49)
          to label %343 unwind label %358

343:                                              ; preds = %341
  %344 = invoke noundef zeroext i1 @_ZN4sptk22ConvertStringToIntegerERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPi(ptr noundef nonnull align 8 dereferenceable(32) %48, ptr noundef %10)
          to label %345 unwind label %362

345:                                              ; preds = %343
  br i1 %344, label %346, label %351

346:                                              ; preds = %345
  %347 = load i32, ptr %10, align 4, !tbaa !5
  %348 = invoke noundef zeroext i1 @_ZN4sptk12IsPowerOfTwoEi(i32 noundef %347)
          to label %349 unwind label %362

349:                                              ; preds = %346
  %350 = xor i1 %348, true
  br label %351

351:                                              ; preds = %349, %345
  %352 = phi i1 [ true, %345 ], [ %350, %349 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %49) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %49) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %48) #8
  br i1 %352, label %353, label %381

353:                                              ; preds = %351
  call void @llvm.lifetime.start.p0(i64 376, ptr %50) #8
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %50)
  %354 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %50, ptr noundef @.str.10)
          to label %355 unwind label %367

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

356:                                              ; preds = %355
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %51, ptr noundef nonnull align 8 dereferenceable(112) %50)
          to label %357 unwind label %375

357:                                              ; preds = %356
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %52) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %51) #8
  store i32 1, ptr %3, align 4
  store i32 1, ptr %17, align 4
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %50) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr %50) #8
  br label %541

358:                                              ; preds = %341
  %359 = landingpad { ptr, i32 }
          cleanup
  %360 = extractvalue { ptr, i32 } %359, 0
  store ptr %360, ptr %20, align 8
  %361 = extractvalue { ptr, i32 } %359, 1
  store i32 %361, ptr %21, align 4
  br label %366

362:                                              ; preds = %346, %343
  %363 = landingpad { ptr, i32 }
          cleanup
  %364 = extractvalue { ptr, i32 } %363, 0
  store ptr %364, ptr %20, align 8
  %365 = extractvalue { ptr, i32 } %363, 1
  store i32 %365, ptr %21, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #8
  br label %366

366:                                              ; preds = %362, %358
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %49) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %49) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %48) #8
  br label %544

367:                                              ; preds = %353
  %368 = landingpad { ptr, i32 }
          cleanup
  %369 = extractvalue { ptr, i32 } %368, 0
  store ptr %369, ptr %20, align 8
  %370 = extractvalue { ptr, i32 } %368, 1
  store i32 %370, ptr %21, align 4
  br label %380

371:                                              ; preds = %355
  %372 = landingpad { ptr, i32 }
          cleanup
  %373 = extractvalue { ptr, i32 } %372, 0
  store ptr %373, ptr %20, align 8
  %374 = extractvalue { ptr, i32 } %372, 1
  store i32 %374, ptr %21, align 4
  br label %379

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

379:                                              ; preds = %375, %371
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %52) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %51) #8
  br label %380

380:                                              ; preds = %379, %367
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %50) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr %50) #8
  br label %544

381:                                              ; preds = %351
  br label %540

382:                                              ; preds = %127
  call void @llvm.lifetime.start.p0(i64 32, ptr %53) #8
  %383 = load ptr, ptr @ya_optarg, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %54) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %54) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %53, ptr noundef %383, ptr noundef nonnull align 1 dereferenceable(1) %54)
          to label %384 unwind label %397

384:                                              ; preds = %382
  %385 = invoke noundef zeroext i1 @_ZN4sptk22ConvertStringToIntegerERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPi(ptr noundef nonnull align 8 dereferenceable(32) %53, ptr noundef %12)
          to label %386 unwind label %401

386:                                              ; preds = %384
  br i1 %385, label %387, label %390

387:                                              ; preds = %386
  %388 = load i32, ptr %12, align 4, !tbaa !5
  %389 = icmp slt i32 %388, 0
  br label %390

390:                                              ; preds = %387, %386
  %391 = phi i1 [ true, %386 ], [ %389, %387 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %54) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %54) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %53) #8
  br i1 %391, label %392, label %420

392:                                              ; preds = %390
  call void @llvm.lifetime.start.p0(i64 376, ptr %55) #8
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %55)
  %393 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %55, ptr noundef @.str.11)
          to label %394 unwind label %406

394:                                              ; preds = %392
  call void @llvm.lifetime.start.p0(i64 32, ptr %56) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %57) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %57) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %56, ptr noundef @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %57)
          to label %395 unwind label %410

395:                                              ; preds = %394
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %56, ptr noundef nonnull align 8 dereferenceable(112) %55)
          to label %396 unwind label %414

396:                                              ; preds = %395
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %57) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %57) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %56) #8
  store i32 1, ptr %3, align 4
  store i32 1, ptr %17, align 4
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %55) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr %55) #8
  br label %541

397:                                              ; preds = %382
  %398 = landingpad { ptr, i32 }
          cleanup
  %399 = extractvalue { ptr, i32 } %398, 0
  store ptr %399, ptr %20, align 8
  %400 = extractvalue { ptr, i32 } %398, 1
  store i32 %400, ptr %21, align 4
  br label %405

401:                                              ; preds = %384
  %402 = landingpad { ptr, i32 }
          cleanup
  %403 = extractvalue { ptr, i32 } %402, 0
  store ptr %403, ptr %20, align 8
  %404 = extractvalue { ptr, i32 } %402, 1
  store i32 %404, ptr %21, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #8
  br label %405

405:                                              ; preds = %401, %397
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %54) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %54) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %53) #8
  br label %544

406:                                              ; preds = %392
  %407 = landingpad { ptr, i32 }
          cleanup
  %408 = extractvalue { ptr, i32 } %407, 0
  store ptr %408, ptr %20, align 8
  %409 = extractvalue { ptr, i32 } %407, 1
  store i32 %409, ptr %21, align 4
  br label %419

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

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

418:                                              ; preds = %414, %410
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %57) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %57) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %56) #8
  br label %419

419:                                              ; preds = %418, %406
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %55) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr %55) #8
  br label %544

420:                                              ; preds = %390
  br label %540

421:                                              ; preds = %127
  call void @llvm.lifetime.start.p0(i64 32, ptr %58) #8
  %422 = load ptr, ptr @ya_optarg, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %59) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %59) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %58, ptr noundef %422, ptr noundef nonnull align 1 dereferenceable(1) %59)
          to label %423 unwind label %436

423:                                              ; preds = %421
  %424 = invoke noundef zeroext i1 @_ZN4sptk21ConvertStringToDoubleERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPd(ptr noundef nonnull align 8 dereferenceable(32) %58, ptr noundef %13)
          to label %425 unwind label %440

425:                                              ; preds = %423
  br i1 %424, label %426, label %429

426:                                              ; preds = %425
  %427 = load double, ptr %13, align 8, !tbaa !11
  %428 = fcmp olt double %427, 0.000000e+00
  br label %429

429:                                              ; preds = %426, %425
  %430 = phi i1 [ true, %425 ], [ %428, %426 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %59) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %59) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %58) #8
  br i1 %430, label %431, label %459

431:                                              ; preds = %429
  call void @llvm.lifetime.start.p0(i64 376, ptr %60) #8
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %60)
  %432 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %60, ptr noundef @.str.12)
          to label %433 unwind label %445

433:                                              ; preds = %431
  call void @llvm.lifetime.start.p0(i64 32, ptr %61) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %62) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %62) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %61, ptr noundef @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %62)
          to label %434 unwind label %449

434:                                              ; preds = %433
  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 %435 unwind label %453

435:                                              ; preds = %434
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %62) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %62) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %61) #8
  store i32 1, ptr %3, align 4
  store i32 1, ptr %17, align 4
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %60) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr %60) #8
  br label %541

436:                                              ; preds = %421
  %437 = landingpad { ptr, i32 }
          cleanup
  %438 = extractvalue { ptr, i32 } %437, 0
  store ptr %438, ptr %20, align 8
  %439 = extractvalue { ptr, i32 } %437, 1
  store i32 %439, ptr %21, align 4
  br label %444

440:                                              ; preds = %423
  %441 = landingpad { ptr, i32 }
          cleanup
  %442 = extractvalue { ptr, i32 } %441, 0
  store ptr %442, ptr %20, align 8
  %443 = extractvalue { ptr, i32 } %441, 1
  store i32 %443, ptr %21, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #8
  br label %444

444:                                              ; preds = %440, %436
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %59) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %59) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %58) #8
  br label %544

445:                                              ; preds = %431
  %446 = landingpad { ptr, i32 }
          cleanup
  %447 = extractvalue { ptr, i32 } %446, 0
  store ptr %447, ptr %20, align 8
  %448 = extractvalue { ptr, i32 } %446, 1
  store i32 %448, ptr %21, align 4
  br label %458

449:                                              ; preds = %433
  %450 = landingpad { ptr, i32 }
          cleanup
  %451 = extractvalue { ptr, i32 } %450, 0
  store ptr %451, ptr %20, align 8
  %452 = extractvalue { ptr, i32 } %450, 1
  store i32 %452, ptr %21, align 4
  br label %457

453:                                              ; preds = %434
  %454 = landingpad { ptr, i32 }
          cleanup
  %455 = extractvalue { ptr, i32 } %454, 0
  store ptr %455, ptr %20, align 8
  %456 = extractvalue { ptr, i32 } %454, 1
  store i32 %456, ptr %21, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #8
  br label %457

457:                                              ; preds = %453, %449
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %62) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %62) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %61) #8
  br label %458

458:                                              ; preds = %457, %445
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %60) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr %60) #8
  br label %544

459:                                              ; preds = %429
  br label %540

460:                                              ; preds = %127
  call void @llvm.lifetime.start.p0(i64 32, ptr %63) #8
  %461 = load ptr, ptr @ya_optarg, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %64) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %64) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %63, ptr noundef %461, ptr noundef nonnull align 1 dereferenceable(1) %64)
          to label %462 unwind label %475

462:                                              ; preds = %460
  %463 = invoke noundef zeroext i1 @_ZN4sptk21ConvertStringToDoubleERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPd(ptr noundef nonnull align 8 dereferenceable(32) %63, ptr noundef %14)
          to label %464 unwind label %479

464:                                              ; preds = %462
  br i1 %463, label %465, label %468

465:                                              ; preds = %464
  %466 = load double, ptr %14, align 8, !tbaa !11
  %467 = fcmp ole double %466, 0.000000e+00
  br label %468

468:                                              ; preds = %465, %464
  %469 = phi i1 [ true, %464 ], [ %467, %465 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %64) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %64) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %63) #8
  br i1 %469, label %470, label %498

470:                                              ; preds = %468
  call void @llvm.lifetime.start.p0(i64 376, ptr %65) #8
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %65)
  %471 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %65, ptr noundef @.str.13)
          to label %472 unwind label %484

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

473:                                              ; preds = %472
  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 %474 unwind label %492

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

475:                                              ; preds = %460
  %476 = landingpad { ptr, i32 }
          cleanup
  %477 = extractvalue { ptr, i32 } %476, 0
  store ptr %477, ptr %20, align 8
  %478 = extractvalue { ptr, i32 } %476, 1
  store i32 %478, ptr %21, align 4
  br label %483

479:                                              ; preds = %462
  %480 = landingpad { ptr, i32 }
          cleanup
  %481 = extractvalue { ptr, i32 } %480, 0
  store ptr %481, ptr %20, align 8
  %482 = extractvalue { ptr, i32 } %480, 1
  store i32 %482, ptr %21, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #8
  br label %483

483:                                              ; preds = %479, %475
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %64) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %64) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %63) #8
  br label %544

484:                                              ; preds = %470
  %485 = landingpad { ptr, i32 }
          cleanup
  %486 = extractvalue { ptr, i32 } %485, 0
  store ptr %486, ptr %20, align 8
  %487 = extractvalue { ptr, i32 } %485, 1
  store i32 %487, ptr %21, align 4
  br label %497

488:                                              ; preds = %472
  %489 = landingpad { ptr, i32 }
          cleanup
  %490 = extractvalue { ptr, i32 } %489, 0
  store ptr %490, ptr %20, align 8
  %491 = extractvalue { ptr, i32 } %489, 1
  store i32 %491, ptr %21, align 4
  br label %496

492:                                              ; preds = %473
  %493 = landingpad { ptr, i32 }
          cleanup
  %494 = extractvalue { ptr, i32 } %493, 0
  store ptr %494, ptr %20, align 8
  %495 = extractvalue { ptr, i32 } %493, 1
  store i32 %495, ptr %21, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %66) #8
  br label %496

496:                                              ; preds = %492, %488
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %67) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %67) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %66) #8
  br label %497

497:                                              ; preds = %496, %484
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %65) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr %65) #8
  br label %544

498:                                              ; preds = %468
  br label %540

499:                                              ; preds = %127
  call void @llvm.lifetime.start.p0(i64 32, ptr %68) #8
  %500 = load ptr, ptr @ya_optarg, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %69) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %69) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %68, ptr noundef %500, ptr noundef nonnull align 1 dereferenceable(1) %69)
          to label %501 unwind label %514

501:                                              ; preds = %499
  %502 = invoke noundef zeroext i1 @_ZN4sptk21ConvertStringToDoubleERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPd(ptr noundef nonnull align 8 dereferenceable(32) %68, ptr noundef %15)
          to label %503 unwind label %518

503:                                              ; preds = %501
  br i1 %502, label %504, label %507

504:                                              ; preds = %503
  %505 = load double, ptr %15, align 8, !tbaa !11
  %506 = fcmp ole double 0.000000e+00, %505
  br label %507

507:                                              ; preds = %504, %503
  %508 = phi i1 [ true, %503 ], [ %506, %504 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %69) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %69) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %68) #8
  br i1 %508, label %509, label %537

509:                                              ; preds = %507
  call void @llvm.lifetime.start.p0(i64 376, ptr %70) #8
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %70)
  %510 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %70, ptr noundef @.str.14)
          to label %511 unwind label %523

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

512:                                              ; preds = %511
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %71, ptr noundef nonnull align 8 dereferenceable(112) %70)
          to label %513 unwind label %531

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

514:                                              ; preds = %499
  %515 = landingpad { ptr, i32 }
          cleanup
  %516 = extractvalue { ptr, i32 } %515, 0
  store ptr %516, ptr %20, align 8
  %517 = extractvalue { ptr, i32 } %515, 1
  store i32 %517, ptr %21, align 4
  br label %522

518:                                              ; preds = %501
  %519 = landingpad { ptr, i32 }
          cleanup
  %520 = extractvalue { ptr, i32 } %519, 0
  store ptr %520, ptr %20, align 8
  %521 = extractvalue { ptr, i32 } %519, 1
  store i32 %521, ptr %21, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #8
  br label %522

522:                                              ; preds = %518, %514
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %69) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %69) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %68) #8
  br label %544

523:                                              ; preds = %509
  %524 = landingpad { ptr, i32 }
          cleanup
  %525 = extractvalue { ptr, i32 } %524, 0
  store ptr %525, ptr %20, align 8
  %526 = extractvalue { ptr, i32 } %524, 1
  store i32 %526, ptr %21, align 4
  br label %536

527:                                              ; preds = %511
  %528 = landingpad { ptr, i32 }
          cleanup
  %529 = extractvalue { ptr, i32 } %528, 0
  store ptr %529, ptr %20, align 8
  %530 = extractvalue { ptr, i32 } %528, 1
  store i32 %530, ptr %21, align 4
  br label %535

531:                                              ; preds = %512
  %532 = landingpad { ptr, i32 }
          cleanup
  %533 = extractvalue { ptr, i32 } %532, 0
  store ptr %533, ptr %20, align 8
  %534 = extractvalue { ptr, i32 } %532, 1
  store i32 %534, ptr %21, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #8
  br label %535

535:                                              ; preds = %531, %527
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %72) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %72) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %71) #8
  br label %536

536:                                              ; preds = %535, %523
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %70) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr %70) #8
  br label %544

537:                                              ; preds = %507
  br label %540

538:                                              ; preds = %127
  call void @_ZN12_GLOBAL__N_110PrintUsageEPSo(ptr noundef @_ZSt4cout)
  store i32 0, ptr %3, align 4
  store i32 1, ptr %17, align 4
  br label %541

539:                                              ; preds = %127
  call void @_ZN12_GLOBAL__N_110PrintUsageEPSo(ptr noundef @_ZSt4cerr)
  store i32 1, ptr %3, align 4
  store i32 1, ptr %17, align 4
  br label %541

540:                                              ; preds = %537, %498, %459, %420, %381, %338, %287, %252, %210, %169
  store i32 0, ptr %17, align 4
  br label %541

541:                                              ; preds = %540, %539, %538, %513, %474, %435, %396, %357, %338, %263, %228, %186, %145, %126
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #8
  %542 = load i32, ptr %17, align 4
  switch i32 %542, label %990 [
    i32 0, label %543
    i32 2, label %545
  ]

543:                                              ; preds = %541
  br label %120, !llvm.loop !14

544:                                              ; preds = %536, %522, %497, %483, %458, %444, %419, %405, %380, %366, %340, %286, %272, %251, %237, %209, %195, %168, %154
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #8
  br label %992

545:                                              ; preds = %541
  call void @llvm.lifetime.start.p0(i64 4, ptr %73) #8
  %546 = load i32, ptr %4, align 4, !tbaa !5
  %547 = load i32, ptr @ya_optind, align 4, !tbaa !5
  %548 = sub nsw i32 %546, %547
  store i32 %548, ptr %73, align 4, !tbaa !5
  %549 = load i32, ptr %73, align 4, !tbaa !5
  %550 = icmp slt i32 1, %549
  br i1 %550, label %551, label %570

551:                                              ; preds = %545
  call void @llvm.lifetime.start.p0(i64 376, ptr %74) #8
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %74)
  %552 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %74, ptr noundef @.str.15)
          to label %553 unwind label %556

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

554:                                              ; preds = %553
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %75, ptr noundef nonnull align 8 dereferenceable(112) %74)
          to label %555 unwind label %564

555:                                              ; preds = %554
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %76) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %76) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %75) #8
  store i32 1, ptr %3, align 4
  store i32 1, ptr %17, align 4
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %74) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr %74) #8
  br label %988

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

560:                                              ; preds = %553
  %561 = landingpad { ptr, i32 }
          cleanup
  %562 = extractvalue { ptr, i32 } %561, 0
  store ptr %562, ptr %20, align 8
  %563 = extractvalue { ptr, i32 } %561, 1
  store i32 %563, ptr %21, align 4
  br label %568

564:                                              ; preds = %554
  %565 = landingpad { ptr, i32 }
          cleanup
  %566 = extractvalue { ptr, i32 } %565, 0
  store ptr %566, ptr %20, align 8
  %567 = extractvalue { ptr, i32 } %565, 1
  store i32 %567, ptr %21, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #8
  br label %568

568:                                              ; preds = %564, %560
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %76) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %76) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %75) #8
  br label %569

569:                                              ; preds = %568, %556
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %74) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr %74) #8
  br label %989

570:                                              ; preds = %545
  call void @llvm.lifetime.start.p0(i64 8, ptr %77) #8
  %571 = load i32, ptr %73, align 4, !tbaa !5
  %572 = icmp eq i32 0, %571
  br i1 %572, label %573, label %574

573:                                              ; preds = %570
  br label %580

574:                                              ; preds = %570
  %575 = load ptr, ptr %5, align 8, !tbaa !9
  %576 = load i32, ptr @ya_optind, align 4, !tbaa !5
  %577 = sext i32 %576 to i64
  %578 = getelementptr inbounds ptr, ptr %575, i64 %577
  %579 = load ptr, ptr %578, align 8, !tbaa !9
  br label %580

580:                                              ; preds = %574, %573
  %581 = phi ptr [ null, %573 ], [ %579, %574 ]
  store ptr %581, ptr %77, align 8, !tbaa !9
  %582 = call noundef zeroext i1 @_ZN4sptk13SetBinaryModeEv()
  br i1 %582, label %602, label %583

583:                                              ; preds = %580
  call void @llvm.lifetime.start.p0(i64 376, ptr %78) #8
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %78)
  %584 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %78, ptr noundef @.str.16)
          to label %585 unwind label %588

585:                                              ; preds = %583
  call void @llvm.lifetime.start.p0(i64 32, ptr %79) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %80) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %80) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %79, ptr noundef @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %80)
          to label %586 unwind label %592

586:                                              ; preds = %585
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %79, ptr noundef nonnull align 8 dereferenceable(112) %78)
          to label %587 unwind label %596

587:                                              ; preds = %586
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %80) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %80) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %79) #8
  store i32 1, ptr %3, align 4
  store i32 1, ptr %17, align 4
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %78) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr %78) #8
  br label %986

588:                                              ; preds = %583
  %589 = landingpad { ptr, i32 }
          cleanup
  %590 = extractvalue { ptr, i32 } %589, 0
  store ptr %590, ptr %20, align 8
  %591 = extractvalue { ptr, i32 } %589, 1
  store i32 %591, ptr %21, align 4
  br label %601

592:                                              ; preds = %585
  %593 = landingpad { ptr, i32 }
          cleanup
  %594 = extractvalue { ptr, i32 } %593, 0
  store ptr %594, ptr %20, align 8
  %595 = extractvalue { ptr, i32 } %593, 1
  store i32 %595, ptr %21, align 4
  br label %600

596:                                              ; preds = %586
  %597 = landingpad { ptr, i32 }
          cleanup
  %598 = extractvalue { ptr, i32 } %597, 0
  store ptr %598, ptr %20, align 8
  %599 = extractvalue { ptr, i32 } %597, 1
  store i32 %599, ptr %21, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #8
  br label %600

600:                                              ; preds = %596, %592
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %80) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %80) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %79) #8
  br label %601

601:                                              ; preds = %600, %588
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %78) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr %78) #8
  br label %987

602:                                              ; preds = %580
  call void @llvm.lifetime.start.p0(i64 520, ptr %81) #8
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(256) %81)
  %603 = load ptr, ptr %77, align 8, !tbaa !9
  %604 = icmp ne ptr null, %603
  br i1 %604, label %605, label %649

605:                                              ; preds = %602
  %606 = load ptr, ptr %77, align 8, !tbaa !9
  %607 = invoke noundef i32 @_ZStorSt13_Ios_OpenmodeS_(i32 noundef 8, i32 noundef 4)
          to label %608 unwind label %625

608:                                              ; preds = %605
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(256) %81, ptr noundef %606, i32 noundef %607)
          to label %609 unwind label %625

609:                                              ; preds = %608
  %610 = load ptr, ptr %81, align 8, !tbaa !16
  %611 = getelementptr i8, ptr %610, i64 -24
  %612 = load i64, ptr %611, align 8
  %613 = getelementptr inbounds i8, ptr %81, i64 %612
  %614 = invoke noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE4failEv(ptr noundef nonnull align 8 dereferenceable(264) %613)
          to label %615 unwind label %625

615:                                              ; preds = %609
  br i1 %614, label %616, label %648

616:                                              ; preds = %615
  call void @llvm.lifetime.start.p0(i64 376, ptr %82) #8
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %82)
          to label %617 unwind label %629

617:                                              ; preds = %616
  %618 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %82, ptr noundef @.str.17)
          to label %619 unwind label %633

619:                                              ; preds = %617
  %620 = load ptr, ptr %77, align 8, !tbaa !9
  %621 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %618, ptr noundef %620)
          to label %622 unwind label %633

622:                                              ; preds = %619
  call void @llvm.lifetime.start.p0(i64 32, ptr %83) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %84) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %84) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %83, ptr noundef @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %84)
          to label %623 unwind label %637

623:                                              ; preds = %622
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %83, ptr noundef nonnull align 8 dereferenceable(112) %82)
          to label %624 unwind label %641

624:                                              ; preds = %623
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %83) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %84) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %84) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %83) #8
  store i32 1, ptr %3, align 4
  store i32 1, ptr %17, align 4
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %82) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr %82) #8
  br label %984

625:                                              ; preds = %609, %608, %605
  %626 = landingpad { ptr, i32 }
          cleanup
  %627 = extractvalue { ptr, i32 } %626, 0
  store ptr %627, ptr %20, align 8
  %628 = extractvalue { ptr, i32 } %626, 1
  store i32 %628, ptr %21, align 4
  br label %985

629:                                              ; preds = %616
  %630 = landingpad { ptr, i32 }
          cleanup
  %631 = extractvalue { ptr, i32 } %630, 0
  store ptr %631, ptr %20, align 8
  %632 = extractvalue { ptr, i32 } %630, 1
  store i32 %632, ptr %21, align 4
  br label %647

633:                                              ; preds = %619, %617
  %634 = landingpad { ptr, i32 }
          cleanup
  %635 = extractvalue { ptr, i32 } %634, 0
  store ptr %635, ptr %20, align 8
  %636 = extractvalue { ptr, i32 } %634, 1
  store i32 %636, ptr %21, align 4
  br label %646

637:                                              ; preds = %622
  %638 = landingpad { ptr, i32 }
          cleanup
  %639 = extractvalue { ptr, i32 } %638, 0
  store ptr %639, ptr %20, align 8
  %640 = extractvalue { ptr, i32 } %638, 1
  store i32 %640, ptr %21, align 4
  br label %645

641:                                              ; preds = %623
  %642 = landingpad { ptr, i32 }
          cleanup
  %643 = extractvalue { ptr, i32 } %642, 0
  store ptr %643, ptr %20, align 8
  %644 = extractvalue { ptr, i32 } %642, 1
  store i32 %644, ptr %21, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %83) #8
  br label %645

645:                                              ; preds = %641, %637
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %84) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %84) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %83) #8
  br label %646

646:                                              ; preds = %645, %633
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %82) #8
  br label %647

647:                                              ; preds = %646, %629
  call void @llvm.lifetime.end.p0(i64 376, ptr %82) #8
  br label %985

648:                                              ; preds = %615
  br label %649

649:                                              ; preds = %648, %602
  call void @llvm.lifetime.start.p0(i64 8, ptr %85) #8
  %650 = invoke noundef zeroext i1 @_ZNSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv(ptr noundef nonnull align 8 dereferenceable(256) %81)
          to label %651 unwind label %672

651:                                              ; preds = %649
  br i1 %650, label %652, label %653

652:                                              ; preds = %651
  br label %654

653:                                              ; preds = %651
  br label %654

654:                                              ; preds = %653, %652
  %655 = phi ptr [ %81, %652 ], [ @_ZSt3cin, %653 ]
  store ptr %655, ptr %85, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 72, ptr %86) #8
  %656 = load i32, ptr %9, align 4, !tbaa !5
  %657 = load i32, ptr %11, align 4, !tbaa !13
  %658 = load double, ptr %14, align 8, !tbaa !11
  %659 = load double, ptr %15, align 8, !tbaa !11
  invoke void @_ZN4sptk18SpectrumToSpectrumC1EiNS0_18InputOutputFormatsES1_dd(ptr noundef nonnull align 8 dereferenceable(65) %86, i32 noundef %656, i32 noundef %657, i32 noundef 3, double noundef %658, double noundef %659)
          to label %660 unwind label %676

660:                                              ; preds = %654
  %661 = load i32, ptr %11, align 4, !tbaa !13
  %662 = icmp ne i32 4, %661
  br i1 %662, label %663, label %703

663:                                              ; preds = %660
  %664 = invoke noundef zeroext i1 @_ZNK4sptk18SpectrumToSpectrum7IsValidEv(ptr noundef nonnull align 8 dereferenceable(65) %86)
          to label %665 unwind label %680

665:                                              ; preds = %663
  br i1 %664, label %703, label %666

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

667:                                              ; preds = %666
  %668 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %87, ptr noundef @.str.18)
          to label %669 unwind label %688

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

670:                                              ; preds = %669
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %88, ptr noundef nonnull align 8 dereferenceable(112) %87)
          to label %671 unwind label %696

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

672:                                              ; preds = %649
  %673 = landingpad { ptr, i32 }
          cleanup
  %674 = extractvalue { ptr, i32 } %673, 0
  store ptr %674, ptr %20, align 8
  %675 = extractvalue { ptr, i32 } %673, 1
  store i32 %675, ptr %21, align 4
  br label %983

676:                                              ; preds = %654
  %677 = landingpad { ptr, i32 }
          cleanup
  %678 = extractvalue { ptr, i32 } %677, 0
  store ptr %678, ptr %20, align 8
  %679 = extractvalue { ptr, i32 } %677, 1
  store i32 %679, ptr %21, align 4
  br label %982

680:                                              ; preds = %663
  %681 = landingpad { ptr, i32 }
          cleanup
  %682 = extractvalue { ptr, i32 } %681, 0
  store ptr %682, ptr %20, align 8
  %683 = extractvalue { ptr, i32 } %681, 1
  store i32 %683, ptr %21, align 4
  br label %981

684:                                              ; preds = %666
  %685 = landingpad { ptr, i32 }
          cleanup
  %686 = extractvalue { ptr, i32 } %685, 0
  store ptr %686, ptr %20, align 8
  %687 = extractvalue { ptr, i32 } %685, 1
  store i32 %687, ptr %21, align 4
  br label %702

688:                                              ; preds = %667
  %689 = landingpad { ptr, i32 }
          cleanup
  %690 = extractvalue { ptr, i32 } %689, 0
  store ptr %690, ptr %20, align 8
  %691 = extractvalue { ptr, i32 } %689, 1
  store i32 %691, ptr %21, align 4
  br label %701

692:                                              ; preds = %669
  %693 = landingpad { ptr, i32 }
          cleanup
  %694 = extractvalue { ptr, i32 } %693, 0
  store ptr %694, ptr %20, align 8
  %695 = extractvalue { ptr, i32 } %693, 1
  store i32 %695, ptr %21, align 4
  br label %700

696:                                              ; preds = %670
  %697 = landingpad { ptr, i32 }
          cleanup
  %698 = extractvalue { ptr, i32 } %697, 0
  store ptr %698, ptr %20, align 8
  %699 = extractvalue { ptr, i32 } %697, 1
  store i32 %699, ptr %21, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %88) #8
  br label %700

700:                                              ; preds = %696, %692
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %89) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %89) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %88) #8
  br label %701

701:                                              ; preds = %700, %688
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %87) #8
  br label %702

702:                                              ; preds = %701, %684
  call void @llvm.lifetime.end.p0(i64 376, ptr %87) #8
  br label %981

703:                                              ; preds = %665, %660
  call void @llvm.lifetime.start.p0(i64 240, ptr %90) #8
  %704 = load i32, ptr %9, align 4, !tbaa !5
  %705 = load i32, ptr %9, align 4, !tbaa !5
  %706 = load double, ptr %14, align 8, !tbaa !11
  %707 = load double, ptr %15, align 8, !tbaa !11
  invoke void @_ZN4sptk18WaveformToSpectrumC1EiiNS_18SpectrumToSpectrum18InputOutputFormatsEdd(ptr noundef nonnull align 8 dereferenceable(240) %90, i32 noundef %704, i32 noundef %705, i32 noundef 3, double noundef %706, double noundef %707)
          to label %708 unwind label %721

708:                                              ; preds = %703
  call void @llvm.lifetime.start.p0(i64 192, ptr %91) #8
  invoke void @_ZN4sptk18WaveformToSpectrum6BufferC2Ev(ptr noundef nonnull align 8 dereferenceable(192) %91)
          to label %709 unwind label %725

709:                                              ; preds = %708
  %710 = load i32, ptr %11, align 4, !tbaa !13
  %711 = icmp eq i32 4, %710
  br i1 %711, label %712, label %752

712:                                              ; preds = %709
  %713 = invoke noundef zeroext i1 @_ZNK4sptk18WaveformToSpectrum7IsValidEv(ptr noundef nonnull align 8 dereferenceable(240) %90)
          to label %714 unwind label %729

714:                                              ; preds = %712
  br i1 %713, label %752, label %715

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

716:                                              ; preds = %715
  %717 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %92, ptr noundef @.str.19)
          to label %718 unwind label %737

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

719:                                              ; preds = %718
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %93, ptr noundef nonnull align 8 dereferenceable(112) %92)
          to label %720 unwind label %745

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

721:                                              ; preds = %703
  %722 = landingpad { ptr, i32 }
          cleanup
  %723 = extractvalue { ptr, i32 } %722, 0
  store ptr %723, ptr %20, align 8
  %724 = extractvalue { ptr, i32 } %722, 1
  store i32 %724, ptr %21, align 4
  br label %979

725:                                              ; preds = %708
  %726 = landingpad { ptr, i32 }
          cleanup
  %727 = extractvalue { ptr, i32 } %726, 0
  store ptr %727, ptr %20, align 8
  %728 = extractvalue { ptr, i32 } %726, 1
  store i32 %728, ptr %21, align 4
  br label %978

729:                                              ; preds = %712
  %730 = landingpad { ptr, i32 }
          cleanup
  %731 = extractvalue { ptr, i32 } %730, 0
  store ptr %731, ptr %20, align 8
  %732 = extractvalue { ptr, i32 } %730, 1
  store i32 %732, ptr %21, align 4
  br label %977

733:                                              ; preds = %715
  %734 = landingpad { ptr, i32 }
          cleanup
  %735 = extractvalue { ptr, i32 } %734, 0
  store ptr %735, ptr %20, align 8
  %736 = extractvalue { ptr, i32 } %734, 1
  store i32 %736, ptr %21, align 4
  br label %751

737:                                              ; preds = %716
  %738 = landingpad { ptr, i32 }
          cleanup
  %739 = extractvalue { ptr, i32 } %738, 0
  store ptr %739, ptr %20, align 8
  %740 = extractvalue { ptr, i32 } %738, 1
  store i32 %740, ptr %21, align 4
  br label %750

741:                                              ; preds = %718
  %742 = landingpad { ptr, i32 }
          cleanup
  %743 = extractvalue { ptr, i32 } %742, 0
  store ptr %743, ptr %20, align 8
  %744 = extractvalue { ptr, i32 } %742, 1
  store i32 %744, ptr %21, align 4
  br label %749

745:                                              ; preds = %719
  %746 = landingpad { ptr, i32 }
          cleanup
  %747 = extractvalue { ptr, i32 } %746, 0
  store ptr %747, ptr %20, align 8
  %748 = extractvalue { ptr, i32 } %746, 1
  store i32 %748, ptr %21, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %93) #8
  br label %749

749:                                              ; preds = %745, %741
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %94) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %94) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %93) #8
  br label %750

750:                                              ; preds = %749, %737
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %92) #8
  br label %751

751:                                              ; preds = %750, %733
  call void @llvm.lifetime.end.p0(i64 376, ptr %92) #8
  br label %977

752:                                              ; preds = %714, %709
  call void @llvm.lifetime.start.p0(i64 448, ptr %95) #8
  %753 = load i32, ptr %9, align 4, !tbaa !5
  %754 = load i32, ptr %6, align 4, !tbaa !5
  %755 = load i32, ptr %10, align 4, !tbaa !5
  %756 = load double, ptr %7, align 8, !tbaa !11
  %757 = load double, ptr %8, align 8, !tbaa !11
  %758 = fmul double %757, 0x400921FB54442D18
  %759 = load i32, ptr %12, align 4, !tbaa !5
  %760 = load double, ptr %13, align 8, !tbaa !11
  invoke void @_ZN4sptk37SecondOrderAllPassMelCepstralAnalysisC1Eiiiddid(ptr noundef nonnull align 8 dereferenceable(448) %95, i32 noundef %753, i32 noundef %754, i32 noundef %755, double noundef %756, double noundef %758, i32 noundef %759, double noundef %760)
          to label %761 unwind label %771

761:                                              ; preds = %752
  call void @llvm.lifetime.start.p0(i64 808, ptr %96) #8
  invoke void @_ZN4sptk37SecondOrderAllPassMelCepstralAnalysis6BufferC2Ev(ptr noundef nonnull align 8 dereferenceable(808) %96)
          to label %762 unwind label %775

762:                                              ; preds = %761
  %763 = invoke noundef zeroext i1 @_ZNK4sptk37SecondOrderAllPassMelCepstralAnalysis7IsValidEv(ptr noundef nonnull align 8 dereferenceable(448) %95)
          to label %764 unwind label %779

764:                                              ; preds = %762
  br i1 %763, label %802, label %765

765:                                              ; preds = %764
  call void @llvm.lifetime.start.p0(i64 376, ptr %97) #8
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %97)
          to label %766 unwind label %783

766:                                              ; preds = %765
  %767 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %97, ptr noundef @.str.20)
          to label %768 unwind label %787

768:                                              ; preds = %766
  call void @llvm.lifetime.start.p0(i64 32, ptr %98) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %99) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %99) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %98, ptr noundef @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %99)
          to label %769 unwind label %791

769:                                              ; preds = %768
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %98, ptr noundef nonnull align 8 dereferenceable(112) %97)
          to label %770 unwind label %795

770:                                              ; preds = %769
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %98) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %99) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %99) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %98) #8
  store i32 1, ptr %3, align 4
  store i32 1, ptr %17, align 4
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %97) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr %97) #8
  br label %972

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

775:                                              ; preds = %761
  %776 = landingpad { ptr, i32 }
          cleanup
  %777 = extractvalue { ptr, i32 } %776, 0
  store ptr %777, ptr %20, align 8
  %778 = extractvalue { ptr, i32 } %776, 1
  store i32 %778, ptr %21, align 4
  br label %974

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

783:                                              ; preds = %765
  %784 = landingpad { ptr, i32 }
          cleanup
  %785 = extractvalue { ptr, i32 } %784, 0
  store ptr %785, ptr %20, align 8
  %786 = extractvalue { ptr, i32 } %784, 1
  store i32 %786, ptr %21, align 4
  br label %801

787:                                              ; preds = %766
  %788 = landingpad { ptr, i32 }
          cleanup
  %789 = extractvalue { ptr, i32 } %788, 0
  store ptr %789, ptr %20, align 8
  %790 = extractvalue { ptr, i32 } %788, 1
  store i32 %790, ptr %21, align 4
  br label %800

791:                                              ; preds = %768
  %792 = landingpad { ptr, i32 }
          cleanup
  %793 = extractvalue { ptr, i32 } %792, 0
  store ptr %793, ptr %20, align 8
  %794 = extractvalue { ptr, i32 } %792, 1
  store i32 %794, ptr %21, align 4
  br label %799

795:                                              ; preds = %769
  %796 = landingpad { ptr, i32 }
          cleanup
  %797 = extractvalue { ptr, i32 } %796, 0
  store ptr %797, ptr %20, align 8
  %798 = extractvalue { ptr, i32 } %796, 1
  store i32 %798, ptr %21, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %98) #8
  br label %799

799:                                              ; preds = %795, %791
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %99) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %99) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %98) #8
  br label %800

800:                                              ; preds = %799, %787
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %97) #8
  br label %801

801:                                              ; preds = %800, %783
  call void @llvm.lifetime.end.p0(i64 376, ptr %97) #8
  br label %973

802:                                              ; preds = %764
  call void @llvm.lifetime.start.p0(i64 4, ptr %100) #8
  %803 = load i32, ptr %11, align 4, !tbaa !13
  %804 = icmp eq i32 4, %803
  br i1 %804, label %805, label %807

805:                                              ; preds = %802
  %806 = load i32, ptr %9, align 4, !tbaa !5
  br label %811

807:                                              ; preds = %802
  %808 = load i32, ptr %9, align 4, !tbaa !5
  %809 = sdiv i32 %808, 2
  %810 = add nsw i32 %809, 1
  br label %811

811:                                              ; preds = %807, %805
  %812 = phi i32 [ %806, %805 ], [ %810, %807 ]
  store i32 %812, ptr %100, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %101) #8
  %813 = load i32, ptr %6, align 4, !tbaa !5
  %814 = add nsw i32 %813, 1
  store i32 %814, ptr %101, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr %102) #8
  %815 = load i32, ptr %100, align 4, !tbaa !5
  %816 = sext i32 %815 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr %103) #8
  call void @_ZNSaIdEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %103) #8
  invoke void @_ZNSt6vectorIdSaIdEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %102, i64 noundef %816, ptr noundef nonnull align 1 dereferenceable(1) %103)
          to label %817 unwind label %843

817:                                              ; preds = %811
  call void @_ZNSt15__new_allocatorIdED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %103) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %103) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %104) #8
  %818 = load i32, ptr %9, align 4, !tbaa !5
  %819 = sdiv i32 %818, 2
  %820 = add nsw i32 %819, 1
  %821 = sext i32 %820 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr %105) #8
  call void @_ZNSaIdEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %105) #8
  invoke void @_ZNSt6vectorIdSaIdEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %104, i64 noundef %821, ptr noundef nonnull align 1 dereferenceable(1) %105)
          to label %822 unwind label %847

822:                                              ; preds = %817
  call void @_ZNSt15__new_allocatorIdED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %105) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %105) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %106) #8
  %823 = load i32, ptr %101, align 4, !tbaa !5
  %824 = sext i32 %823 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr %107) #8
  call void @_ZNSaIdEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %107) #8
  invoke void @_ZNSt6vectorIdSaIdEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %106, i64 noundef %824, ptr noundef nonnull align 1 dereferenceable(1) %107)
          to label %825 unwind label %851

825:                                              ; preds = %822
  call void @_ZNSt15__new_allocatorIdED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %107) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %107) #8
  br label %826

826:                                              ; preds = %965, %825
  %827 = load i32, ptr %100, align 4, !tbaa !5
  %828 = load ptr, ptr %85, align 8, !tbaa !9
  %829 = invoke noundef zeroext i1 @_ZN4sptk10ReadStreamIdEEbbiiiPSt6vectorIT_SaIS2_EEPSiPi(i1 noundef zeroext false, i32 noundef 0, i32 noundef 0, i32 noundef %827, ptr noundef %102, ptr noundef %828, ptr noundef null)
          to label %830 unwind label %855

830:                                              ; preds = %826
  br i1 %829, label %831, label %966

831:                                              ; preds = %830
  %832 = load i32, ptr %11, align 4, !tbaa !13
  %833 = icmp ne i32 4, %832
  br i1 %833, label %834, label %879

834:                                              ; preds = %831
  %835 = invoke noundef zeroext i1 @_ZNK4sptk18SpectrumToSpectrum3RunERKSt6vectorIdSaIdEEPS3_(ptr noundef nonnull align 8 dereferenceable(65) %86, ptr noundef nonnull align 8 dereferenceable(24) %102, ptr noundef %104)
          to label %836 unwind label %855

836:                                              ; preds = %834
  br i1 %835, label %878, label %837

837:                                              ; preds = %836
  call void @llvm.lifetime.start.p0(i64 376, ptr %108) #8
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %108)
          to label %838 unwind label %859

838:                                              ; preds = %837
  %839 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %108, ptr noundef @.str.21)
          to label %840 unwind label %863

840:                                              ; preds = %838
  call void @llvm.lifetime.start.p0(i64 32, ptr %109) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %110) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %110) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %109, ptr noundef @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %110)
          to label %841 unwind label %867

841:                                              ; preds = %840
  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 %842 unwind label %871

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

843:                                              ; preds = %811
  %844 = landingpad { ptr, i32 }
          cleanup
  %845 = extractvalue { ptr, i32 } %844, 0
  store ptr %845, ptr %20, align 8
  %846 = extractvalue { ptr, i32 } %844, 1
  store i32 %846, ptr %21, align 4
  call void @_ZNSt15__new_allocatorIdED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %103) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %103) #8
  br label %971

847:                                              ; preds = %817
  %848 = landingpad { ptr, i32 }
          cleanup
  %849 = extractvalue { ptr, i32 } %848, 0
  store ptr %849, ptr %20, align 8
  %850 = extractvalue { ptr, i32 } %848, 1
  store i32 %850, ptr %21, align 4
  call void @_ZNSt15__new_allocatorIdED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %105) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %105) #8
  br label %970

851:                                              ; preds = %822
  %852 = landingpad { ptr, i32 }
          cleanup
  %853 = extractvalue { ptr, i32 } %852, 0
  store ptr %853, ptr %20, align 8
  %854 = extractvalue { ptr, i32 } %852, 1
  store i32 %854, ptr %21, align 4
  call void @_ZNSt15__new_allocatorIdED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %107) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %107) #8
  br label %969

855:                                              ; preds = %936, %908, %879, %834, %826
  %856 = landingpad { ptr, i32 }
          cleanup
  %857 = extractvalue { ptr, i32 } %856, 0
  store ptr %857, ptr %20, align 8
  %858 = extractvalue { ptr, i32 } %856, 1
  store i32 %858, ptr %21, align 4
  br label %968

859:                                              ; preds = %837
  %860 = landingpad { ptr, i32 }
          cleanup
  %861 = extractvalue { ptr, i32 } %860, 0
  store ptr %861, ptr %20, align 8
  %862 = extractvalue { ptr, i32 } %860, 1
  store i32 %862, ptr %21, align 4
  br label %877

863:                                              ; preds = %838
  %864 = landingpad { ptr, i32 }
          cleanup
  %865 = extractvalue { ptr, i32 } %864, 0
  store ptr %865, ptr %20, align 8
  %866 = extractvalue { ptr, i32 } %864, 1
  store i32 %866, ptr %21, align 4
  br label %876

867:                                              ; preds = %840
  %868 = landingpad { ptr, i32 }
          cleanup
  %869 = extractvalue { ptr, i32 } %868, 0
  store ptr %869, ptr %20, align 8
  %870 = extractvalue { ptr, i32 } %868, 1
  store i32 %870, ptr %21, align 4
  br label %875

871:                                              ; preds = %841
  %872 = landingpad { ptr, i32 }
          cleanup
  %873 = extractvalue { ptr, i32 } %872, 0
  store ptr %873, ptr %20, align 8
  %874 = extractvalue { ptr, i32 } %872, 1
  store i32 %874, ptr %21, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %109) #8
  br label %875

875:                                              ; preds = %871, %867
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %110) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %110) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %109) #8
  br label %876

876:                                              ; preds = %875, %863
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %108) #8
  br label %877

877:                                              ; preds = %876, %859
  call void @llvm.lifetime.end.p0(i64 376, ptr %108) #8
  br label %968

878:                                              ; preds = %836
  br label %908

879:                                              ; preds = %831
  %880 = invoke noundef zeroext i1 @_ZNK4sptk18WaveformToSpectrum3RunERKSt6vectorIdSaIdEEPS3_PNS0_6BufferE(ptr noundef nonnull align 8 dereferenceable(240) %90, ptr noundef nonnull align 8 dereferenceable(24) %102, ptr noundef %104, ptr noundef %91)
          to label %881 unwind label %855

881:                                              ; preds = %879
  br i1 %880, label %907, label %882

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

883:                                              ; preds = %882
  %884 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %111, ptr noundef @.str.22)
          to label %885 unwind label %892

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

886:                                              ; preds = %885
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %112, ptr noundef nonnull align 8 dereferenceable(112) %111)
          to label %887 unwind label %900

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

888:                                              ; preds = %882
  %889 = landingpad { ptr, i32 }
          cleanup
  %890 = extractvalue { ptr, i32 } %889, 0
  store ptr %890, ptr %20, align 8
  %891 = extractvalue { ptr, i32 } %889, 1
  store i32 %891, ptr %21, align 4
  br label %906

892:                                              ; preds = %883
  %893 = landingpad { ptr, i32 }
          cleanup
  %894 = extractvalue { ptr, i32 } %893, 0
  store ptr %894, ptr %20, align 8
  %895 = extractvalue { ptr, i32 } %893, 1
  store i32 %895, ptr %21, align 4
  br label %905

896:                                              ; preds = %885
  %897 = landingpad { ptr, i32 }
          cleanup
  %898 = extractvalue { ptr, i32 } %897, 0
  store ptr %898, ptr %20, align 8
  %899 = extractvalue { ptr, i32 } %897, 1
  store i32 %899, ptr %21, align 4
  br label %904

900:                                              ; preds = %886
  %901 = landingpad { ptr, i32 }
          cleanup
  %902 = extractvalue { ptr, i32 } %901, 0
  store ptr %902, ptr %20, align 8
  %903 = extractvalue { ptr, i32 } %901, 1
  store i32 %903, ptr %21, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %112) #8
  br label %904

904:                                              ; preds = %900, %896
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %113) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %113) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %112) #8
  br label %905

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

906:                                              ; preds = %905, %888
  call void @llvm.lifetime.end.p0(i64 376, ptr %111) #8
  br label %968

907:                                              ; preds = %881
  br label %908

908:                                              ; preds = %907, %878
  %909 = invoke noundef zeroext i1 @_ZNK4sptk37SecondOrderAllPassMelCepstralAnalysis3RunERKSt6vectorIdSaIdEEPS3_PNS0_6BufferE(ptr noundef nonnull align 8 dereferenceable(448) %95, ptr noundef nonnull align 8 dereferenceable(24) %104, ptr noundef %106, ptr noundef %96)
          to label %910 unwind label %855

910:                                              ; preds = %908
  br i1 %909, label %936, label %911

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

912:                                              ; preds = %911
  %913 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %114, ptr noundef @.str.23)
          to label %914 unwind label %921

914:                                              ; preds = %912
  call void @llvm.lifetime.start.p0(i64 32, ptr %115) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %116) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %116) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %115, ptr noundef @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %116)
          to label %915 unwind label %925

915:                                              ; preds = %914
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %115, ptr noundef nonnull align 8 dereferenceable(112) %114)
          to label %916 unwind label %929

916:                                              ; preds = %915
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %115) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %116) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %116) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %115) #8
  store i32 1, ptr %3, align 4
  store i32 1, ptr %17, align 4
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %114) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr %114) #8
  br label %967

917:                                              ; preds = %911
  %918 = landingpad { ptr, i32 }
          cleanup
  %919 = extractvalue { ptr, i32 } %918, 0
  store ptr %919, ptr %20, align 8
  %920 = extractvalue { ptr, i32 } %918, 1
  store i32 %920, ptr %21, align 4
  br label %935

921:                                              ; preds = %912
  %922 = landingpad { ptr, i32 }
          cleanup
  %923 = extractvalue { ptr, i32 } %922, 0
  store ptr %923, ptr %20, align 8
  %924 = extractvalue { ptr, i32 } %922, 1
  store i32 %924, ptr %21, align 4
  br label %934

925:                                              ; preds = %914
  %926 = landingpad { ptr, i32 }
          cleanup
  %927 = extractvalue { ptr, i32 } %926, 0
  store ptr %927, ptr %20, align 8
  %928 = extractvalue { ptr, i32 } %926, 1
  store i32 %928, ptr %21, align 4
  br label %933

929:                                              ; preds = %915
  %930 = landingpad { ptr, i32 }
          cleanup
  %931 = extractvalue { ptr, i32 } %930, 0
  store ptr %931, ptr %20, align 8
  %932 = extractvalue { ptr, i32 } %930, 1
  store i32 %932, ptr %21, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %115) #8
  br label %933

933:                                              ; preds = %929, %925
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %116) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %116) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %115) #8
  br label %934

934:                                              ; preds = %933, %921
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %114) #8
  br label %935

935:                                              ; preds = %934, %917
  call void @llvm.lifetime.end.p0(i64 376, ptr %114) #8
  br label %968

936:                                              ; preds = %910
  %937 = load i32, ptr %101, align 4, !tbaa !5
  %938 = invoke noundef zeroext i1 @_ZN4sptk11WriteStreamIdEEbiiRKSt6vectorIT_SaIS2_EEPSoPi(i32 noundef 0, i32 noundef %937, ptr noundef nonnull align 8 dereferenceable(24) %106, ptr noundef @_ZSt4cout, ptr noundef null)
          to label %939 unwind label %855

939:                                              ; preds = %936
  br i1 %938, label %965, label %940

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

941:                                              ; preds = %940
  %942 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %117, ptr noundef @.str.24)
          to label %943 unwind label %950

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

944:                                              ; preds = %943
  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 %945 unwind label %958

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

946:                                              ; preds = %940
  %947 = landingpad { ptr, i32 }
          cleanup
  %948 = extractvalue { ptr, i32 } %947, 0
  store ptr %948, ptr %20, align 8
  %949 = extractvalue { ptr, i32 } %947, 1
  store i32 %949, ptr %21, align 4
  br label %964

950:                                              ; preds = %941
  %951 = landingpad { ptr, i32 }
          cleanup
  %952 = extractvalue { ptr, i32 } %951, 0
  store ptr %952, ptr %20, align 8
  %953 = extractvalue { ptr, i32 } %951, 1
  store i32 %953, ptr %21, align 4
  br label %963

954:                                              ; preds = %943
  %955 = landingpad { ptr, i32 }
          cleanup
  %956 = extractvalue { ptr, i32 } %955, 0
  store ptr %956, ptr %20, align 8
  %957 = extractvalue { ptr, i32 } %955, 1
  store i32 %957, ptr %21, align 4
  br label %962

958:                                              ; preds = %944
  %959 = landingpad { ptr, i32 }
          cleanup
  %960 = extractvalue { ptr, i32 } %959, 0
  store ptr %960, ptr %20, align 8
  %961 = extractvalue { ptr, i32 } %959, 1
  store i32 %961, ptr %21, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %118) #8
  br label %962

962:                                              ; preds = %958, %954
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %119) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %119) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %118) #8
  br label %963

963:                                              ; preds = %962, %950
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %117) #8
  br label %964

964:                                              ; preds = %963, %946
  call void @llvm.lifetime.end.p0(i64 376, ptr %117) #8
  br label %968

965:                                              ; preds = %939
  br label %826, !llvm.loop !18

966:                                              ; preds = %830
  store i32 0, ptr %3, align 4
  store i32 1, ptr %17, align 4
  br label %967

967:                                              ; preds = %966, %945, %916, %887, %842
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %106) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %106) #8
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %104) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %104) #8
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %102) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %102) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %101) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %100) #8
  br label %972

968:                                              ; preds = %964, %935, %906, %877, %855
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %106) #8
  br label %969

969:                                              ; preds = %968, %851
  call void @llvm.lifetime.end.p0(i64 24, ptr %106) #8
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %104) #8
  br label %970

970:                                              ; preds = %969, %847
  call void @llvm.lifetime.end.p0(i64 24, ptr %104) #8
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %102) #8
  br label %971

971:                                              ; preds = %970, %843
  call void @llvm.lifetime.end.p0(i64 24, ptr %102) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %101) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %100) #8
  br label %973

972:                                              ; preds = %967, %770
  call void @_ZN4sptk37SecondOrderAllPassMelCepstralAnalysis6BufferD2Ev(ptr noundef nonnull align 8 dereferenceable(808) %96) #8
  call void @llvm.lifetime.end.p0(i64 808, ptr %96) #8
  call void @_ZN4sptk37SecondOrderAllPassMelCepstralAnalysisD2Ev(ptr noundef nonnull align 8 dereferenceable(448) %95) #8
  call void @llvm.lifetime.end.p0(i64 448, ptr %95) #8
  br label %976

973:                                              ; preds = %971, %801, %779
  call void @_ZN4sptk37SecondOrderAllPassMelCepstralAnalysis6BufferD2Ev(ptr noundef nonnull align 8 dereferenceable(808) %96) #8
  br label %974

974:                                              ; preds = %973, %775
  call void @llvm.lifetime.end.p0(i64 808, ptr %96) #8
  call void @_ZN4sptk37SecondOrderAllPassMelCepstralAnalysisD2Ev(ptr noundef nonnull align 8 dereferenceable(448) %95) #8
  br label %975

975:                                              ; preds = %974, %771
  call void @llvm.lifetime.end.p0(i64 448, ptr %95) #8
  br label %977

976:                                              ; preds = %972, %720
  call void @_ZN4sptk18WaveformToSpectrum6BufferD2Ev(ptr noundef nonnull align 8 dereferenceable(192) %91) #8
  call void @llvm.lifetime.end.p0(i64 192, ptr %91) #8
  call void @_ZN4sptk18WaveformToSpectrumD2Ev(ptr noundef nonnull align 8 dereferenceable(240) %90) #8
  call void @llvm.lifetime.end.p0(i64 240, ptr %90) #8
  br label %980

977:                                              ; preds = %975, %751, %729
  call void @_ZN4sptk18WaveformToSpectrum6BufferD2Ev(ptr noundef nonnull align 8 dereferenceable(192) %91) #8
  br label %978

978:                                              ; preds = %977, %725
  call void @llvm.lifetime.end.p0(i64 192, ptr %91) #8
  call void @_ZN4sptk18WaveformToSpectrumD2Ev(ptr noundef nonnull align 8 dereferenceable(240) %90) #8
  br label %979

979:                                              ; preds = %978, %721
  call void @llvm.lifetime.end.p0(i64 240, ptr %90) #8
  br label %981

980:                                              ; preds = %976, %671
  call void @_ZN4sptk18SpectrumToSpectrumD1Ev(ptr noundef nonnull align 8 dereferenceable(65) %86) #8
  call void @llvm.lifetime.end.p0(i64 72, ptr %86) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %85) #8
  br label %984

981:                                              ; preds = %979, %702, %680
  call void @_ZN4sptk18SpectrumToSpectrumD1Ev(ptr noundef nonnull align 8 dereferenceable(65) %86) #8
  br label %982

982:                                              ; preds = %981, %676
  call void @llvm.lifetime.end.p0(i64 72, ptr %86) #8
  br label %983

983:                                              ; preds = %982, %672
  call void @llvm.lifetime.end.p0(i64 8, ptr %85) #8
  br label %985

984:                                              ; preds = %980, %624
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %81) #8
  call void @llvm.lifetime.end.p0(i64 520, ptr %81) #8
  br label %986

985:                                              ; preds = %983, %647, %625
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %81) #8
  call void @llvm.lifetime.end.p0(i64 520, ptr %81) #8
  br label %987

986:                                              ; preds = %984, %587
  call void @llvm.lifetime.end.p0(i64 8, ptr %77) #8
  br label %988

987:                                              ; preds = %985, %601
  call void @llvm.lifetime.end.p0(i64 8, ptr %77) #8
  br label %989

988:                                              ; preds = %986, %555
  call void @llvm.lifetime.end.p0(i64 4, ptr %73) #8
  br label %990

989:                                              ; preds = %987, %569
  call void @llvm.lifetime.end.p0(i64 4, ptr %73) #8
  br label %992

990:                                              ; preds = %988, %541
  call void @llvm.lifetime.end.p0(i64 8, ptr %15) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %14) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %10) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %8) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %7) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #8
  %991 = load i32, ptr %3, align 4
  ret i32 %991

992:                                              ; preds = %989, %544
  call void @llvm.lifetime.end.p0(i64 8, ptr %15) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %14) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %10) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %8) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %7) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #8
  br label %993

993:                                              ; preds = %992
  %994 = load ptr, ptr %20, align 8
  %995 = load i32, ptr %21, align 4
  %996 = insertvalue { ptr, i32 } poison, ptr %994, 0
  %997 = insertvalue { ptr, i32 } %996, i32 %995, 1
  resume { ptr, i32 } %997
}

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

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

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

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

declare i32 @__gxx_personality_v0(...)

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

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

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

declare noundef zeroext i1 @_ZN4sptk12IsValidAlphaEd(double noundef) #2

declare noundef zeroext i1 @_ZN4sptk9IsInRangeEiii(i32 noundef, i32 noundef, i32 noundef) #2

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

declare noundef zeroext i1 @_ZN4sptk12IsPowerOfTwoEi(i32 noundef) #2

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

declare noundef zeroext i1 @_ZN4sptk13SetBinaryModeEv() #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)) #3 align 2

declare void @_ZN4sptk18SpectrumToSpectrumC1EiNS0_18InputOutputFormatsES1_dd(ptr noundef nonnull align 8 dereferenceable(65), i32 noundef, i32 noundef, i32 noundef, double noundef, double noundef) unnamed_addr #2

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

declare void @_ZN4sptk18WaveformToSpectrumC1EiiNS_18SpectrumToSpectrum18InputOutputFormatsEdd(ptr noundef nonnull align 8 dereferenceable(240), i32 noundef, i32 noundef, i32 noundef, double noundef, double noundef) unnamed_addr #2

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

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

declare void @_ZN4sptk37SecondOrderAllPassMelCepstralAnalysisC1Eiiiddid(ptr noundef nonnull align 8 dereferenceable(448), i32 noundef, i32 noundef, i32 noundef, double noundef, double noundef, i32 noundef, double noundef) unnamed_addr #2

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

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

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

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

declare noundef zeroext i1 @_ZNK4sptk18SpectrumToSpectrum3RunERKSt6vectorIdSaIdEEPS3_(ptr noundef nonnull align 8 dereferenceable(65), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef) #2

declare noundef zeroext i1 @_ZNK4sptk18WaveformToSpectrum3RunERKSt6vectorIdSaIdEEPS3_PNS0_6BufferE(ptr noundef nonnull align 8 dereferenceable(240), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef, ptr noundef) #2

declare noundef zeroext i1 @_ZNK4sptk37SecondOrderAllPassMelCepstralAnalysis3RunERKSt6vectorIdSaIdEEPS3_PNS0_6BufferE(ptr noundef nonnull align 8 dereferenceable(448), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef, ptr noundef) #2

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

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

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

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

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

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

; Function Attrs: nounwind
declare void @_ZN4sptk18SpectrumToSpectrumD1Ev(ptr noundef nonnull align 8 dereferenceable(65)) unnamed_addr #7

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #3 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 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { mustprogress 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 #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 "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #8 = { nounwind }

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"any pointer", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"double", !7, i64 0}
!13 = !{!7, !7, i64 0}
!14 = distinct !{!14, !15}
!15 = !{!"llvm.loop.mustprogress"}
!16 = !{!17, !17, i64 0}
!17 = !{!"vtable pointer", !8, i64 0}
!18 = distinct !{!18, !15}


; 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::__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" = 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::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.0 }
%union.anon.0 = type { i32 }
%"class.sptk::SpectrumToSpectrum" = type <{ ptr, i32, i32, i32, [4 x i8], double, double, %"class.std::vector", i8, [7 x i8] }>
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<sptk::SpectrumToSpectrum::OperationInterface *, std::allocator<sptk::SpectrumToSpectrum::OperationInterface *>>::_Vector_impl" }
%"struct.std::_Vector_base<sptk::SpectrumToSpectrum::OperationInterface *, std::allocator<sptk::SpectrumToSpectrum::OperationInterface *>>::_Vector_impl" = type { %"struct.std::_Vector_base<sptk::SpectrumToSpectrum::OperationInterface *, std::allocator<sptk::SpectrumToSpectrum::OperationInterface *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<sptk::SpectrumToSpectrum::OperationInterface *, std::allocator<sptk::SpectrumToSpectrum::OperationInterface *>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.sptk::WaveformToSpectrum" = type { ptr, %"class.sptk::FilterCoefficientsToSpectrum", %"class.std::vector.4" }
%"class.sptk::FilterCoefficientsToSpectrum" = type <{ ptr, i32, i32, i32, [4 x i8], %"class.sptk::RealValuedFastFourierTransform", %"class.sptk::SpectrumToSpectrum", i8, [7 x i8] }>
%"class.sptk::RealValuedFastFourierTransform" = type { ptr, i32, i32, i32, %"class.sptk::FastFourierTransform", i8, %"class.std::vector.4" }
%"class.sptk::FastFourierTransform" = type { ptr, i32, i32, i32, i8, %"class.std::vector.4" }
%"class.std::vector.4" = type { %"struct.std::_Vector_base.5" }
%"struct.std::_Vector_base.5" = 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.sptk::WaveformToSpectrum::Buffer" = type { ptr, %"class.sptk::FilterCoefficientsToSpectrum::Buffer" }
%"class.sptk::FilterCoefficientsToSpectrum::Buffer" = type { ptr, %"class.sptk::RealValuedFastFourierTransform::Buffer", %"class.std::vector.4", %"class.std::vector.4", %"class.std::vector.4", %"class.std::vector.4", %"class.std::vector.4" }
%"class.sptk::RealValuedFastFourierTransform::Buffer" = type { ptr, %"class.std::vector.4", %"class.std::vector.4" }
%"class.sptk::SecondOrderAllPassMelCepstralAnalysis" = type { ptr, i32, i32, i32, double, double, i32, double, %"class.sptk::RealValuedFastFourierTransform", %"class.sptk::RealValuedInverseFastFourierTransform", %"class.sptk::SecondOrderAllPassFrequencyTransform", %"class.sptk::SecondOrderAllPassInverseFrequencyTransform", %"class.sptk::ToeplitzPlusHankelSystemSolver", i8, %"class.std::vector.4" }
%"class.sptk::RealValuedInverseFastFourierTransform" = type { ptr, %"class.sptk::RealValuedFastFourierTransform" }
%"class.sptk::SecondOrderAllPassFrequencyTransform" = type { ptr, i32, i32, double, double, i8, %"class.std::vector.9" }
%"class.std::vector.9" = type { %"struct.std::_Vector_base.10" }
%"struct.std::_Vector_base.10" = 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.sptk::SecondOrderAllPassInverseFrequencyTransform" = type { ptr, i32, i32, double, double, i8, %"class.std::vector.9" }
%"class.sptk::ToeplitzPlusHankelSystemSolver" = type <{ ptr, i32, i8, i8, [2 x i8] }>
%"class.sptk::SecondOrderAllPassMelCepstralAnalysis::Buffer" = type { ptr, %"class.std::vector.4", %"class.std::vector.4", %"class.std::vector.4", %"class.std::vector.9", %"class.std::vector.4", %"class.std::vector.4", %"class.std::vector.4", %"class.std::vector.4", %"class.std::vector.4", %"class.std::vector.4", %"class.sptk::RealValuedFastFourierTransform::Buffer", %"class.sptk::RealValuedInverseFastFourierTransform::Buffer", %"class.sptk::ToeplitzPlusHankelSystemSolver::Buffer" }
%"class.sptk::RealValuedInverseFastFourierTransform::Buffer" = type { ptr, %"class.sptk::RealValuedFastFourierTransform::Buffer" }
%"class.sptk::ToeplitzPlusHankelSystemSolver::Buffer" = type { ptr, %"class.std::vector.14", %"class.std::vector.14", %"class.std::vector.14", %"class.std::vector.9", %"class.std::vector.4", %"class.std::vector.4", %"class.std::vector.4", %"class.std::vector.4", %"class.sptk::Matrix2D", %"class.sptk::Matrix2D", %"class.sptk::Matrix2D", %"class.sptk::Matrix2D", %"class.sptk::Matrix2D", %"class.sptk::Matrix2D" }
%"class.std::vector.14" = type { %"struct.std::_Vector_base.15" }
%"struct.std::_Vector_base.15" = type { %"struct.std::_Vector_base<sptk::Matrix2D, std::allocator<sptk::Matrix2D>>::_Vector_impl" }
%"struct.std::_Vector_base<sptk::Matrix2D, std::allocator<sptk::Matrix2D>>::_Vector_impl" = type { %"struct.std::_Vector_base<sptk::Matrix2D, std::allocator<sptk::Matrix2D>>::_Vector_impl_data" }
%"struct.std::_Vector_base<sptk::Matrix2D, std::allocator<sptk::Matrix2D>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.sptk::Matrix2D" = type { ptr, %union.anon.19 }
%union.anon.19 = type { [4 x double] }
%"class.std::allocator.6" = type { i8 }

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

105:                                              ; preds = %.backedge, %2
  %.032 = phi i32 [ 4, %2 ], [ %.032.be, %.backedge ]
  %106 = call i32 @ya_getopt_long(i32 noundef %0, ptr noundef %1, ptr noundef nonnull @.str, ptr noundef null, ptr noundef null)
  switch i32 %106, label %373 [
    i32 -1, label %374
    i32 109, label %107
    i32 97, label %134
    i32 116, label %160
    i32 108, label %186
    i32 113, label %209
    i32 102, label %246
    i32 105, label %272
    i32 100, label %297
    i32 101, label %322
    i32 69, label %347
    i32 104, label %372
  ]

107:                                              ; preds = %105
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %12) #8
  %108 = load ptr, ptr @ya_optarg, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %13) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %13) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %12, ptr noundef %108, ptr noundef nonnull align 1 dereferenceable(1) %13)
          to label %109 unwind label %121

109:                                              ; preds = %107
  %110 = invoke noundef zeroext i1 @_ZN4sptk22ConvertStringToIntegerERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPi(ptr noundef nonnull align 8 dereferenceable(32) %12, ptr noundef nonnull %3)
          to label %111 unwind label %123

111:                                              ; preds = %109
  %112 = load i32, ptr %3, align 4
  %113 = icmp sgt i32 %112, -1
  %.not186 = select i1 %110, i1 %113, i1 false
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %13) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %13) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %12) #8
  br i1 %.not186, label %.backedge, label %114

114:                                              ; preds = %111
  call void @llvm.lifetime.start.p0(i64 376, ptr nonnull %14) #8
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %14)
  %115 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %14, ptr noundef nonnull @.str.1)
          to label %116 unwind label %126

116:                                              ; preds = %114
  %117 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %115, ptr noundef nonnull @.str.2)
          to label %118 unwind label %126

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

119:                                              ; preds = %118
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %15, ptr noundef nonnull align 8 dereferenceable(112) %14)
          to label %120 unwind label %130

120:                                              ; preds = %119
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %16) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %16) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #8
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %14) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %14) #8
  br label %.thread254

121:                                              ; preds = %107
  %122 = landingpad { ptr, i32 }
          cleanup
  br label %125

123:                                              ; preds = %109
  %124 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #8
  br label %125

125:                                              ; preds = %123, %121
  %.pn184 = phi { ptr, i32 } [ %124, %123 ], [ %122, %121 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %13) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %13) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %12) #8
  br label %667

126:                                              ; preds = %116, %114
  %127 = landingpad { ptr, i32 }
          cleanup
  br label %133

128:                                              ; preds = %118
  %129 = landingpad { ptr, i32 }
          cleanup
  br label %132

130:                                              ; preds = %119
  %131 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #8
  br label %132

132:                                              ; preds = %130, %128
  %.pn187 = phi { ptr, i32 } [ %131, %130 ], [ %129, %128 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %16) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %16) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #8
  br label %133

133:                                              ; preds = %132, %126
  %.pn187.pn = phi { ptr, i32 } [ %.pn187, %132 ], [ %127, %126 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %14) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %14) #8
  br label %667

134:                                              ; preds = %105
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %17) #8
  %135 = load ptr, ptr @ya_optarg, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %18) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef %135, ptr noundef nonnull align 1 dereferenceable(1) %18)
          to label %136 unwind label %147

136:                                              ; preds = %134
  %137 = invoke noundef zeroext i1 @_ZN4sptk21ConvertStringToDoubleERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPd(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull %4)
          to label %138 unwind label %149

138:                                              ; preds = %136
  br i1 %137, label %139, label %.critedge

139:                                              ; preds = %138
  %140 = load double, ptr %4, align 8, !tbaa !9
  %141 = invoke noundef zeroext i1 @_ZN4sptk12IsValidAlphaEd(double noundef %140)
          to label %142 unwind label %149

142:                                              ; preds = %139
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %18) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #8
  br i1 %141, label %.backedge, label %.loopexit266

.critedge:                                        ; preds = %138
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %18) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #8
  br label %.loopexit266

.loopexit266:                                     ; preds = %142, %.critedge
  call void @llvm.lifetime.start.p0(i64 376, ptr nonnull %19) #8
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %19)
  %143 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %19, ptr noundef nonnull @.str.4)
          to label %144 unwind label %152

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

145:                                              ; preds = %144
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef nonnull align 8 dereferenceable(112) %19)
          to label %146 unwind label %156

146:                                              ; preds = %145
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %21) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #8
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %19) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %19) #8
  br label %.thread254

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

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

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

152:                                              ; preds = %.loopexit266
  %153 = landingpad { ptr, i32 }
          cleanup
  br label %159

154:                                              ; preds = %144
  %155 = landingpad { ptr, i32 }
          cleanup
  br label %158

156:                                              ; preds = %145
  %157 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #8
  br label %158

158:                                              ; preds = %156, %154
  %.pn181 = phi { ptr, i32 } [ %157, %156 ], [ %155, %154 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %21) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #8
  br label %159

159:                                              ; preds = %158, %152
  %.pn181.pn = phi { ptr, i32 } [ %.pn181, %158 ], [ %153, %152 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %19) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %19) #8
  br label %667

160:                                              ; preds = %105
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %22) #8
  %161 = load ptr, ptr @ya_optarg, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %23) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %23) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef %161, ptr noundef nonnull align 1 dereferenceable(1) %23)
          to label %162 unwind label %173

162:                                              ; preds = %160
  %163 = invoke noundef zeroext i1 @_ZN4sptk21ConvertStringToDoubleERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPd(ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef nonnull %5)
          to label %164 unwind label %175

164:                                              ; preds = %162
  %165 = load double, ptr %5, align 8
  %166 = fcmp uge double %165, 0.000000e+00
  %or.cond.not = select i1 %163, i1 %166, i1 false
  br i1 %or.cond.not, label %167, label %.critedge3

167:                                              ; preds = %164
  %168 = fcmp ogt double %165, 1.000000e+00
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %23) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %23) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #8
  br i1 %168, label %.loopexit265, label %.backedge

.critedge3:                                       ; preds = %164
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %23) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %23) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #8
  br label %.loopexit265

.loopexit265:                                     ; preds = %167, %.critedge3
  call void @llvm.lifetime.start.p0(i64 376, ptr nonnull %24) #8
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %24)
  %169 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %24, ptr noundef nonnull @.str.5)
          to label %170 unwind label %178

170:                                              ; preds = %.loopexit265
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %25) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %26) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %26) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %26)
          to label %171 unwind label %180

171:                                              ; preds = %170
  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 %172 unwind label %182

172:                                              ; preds = %171
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %26) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %26) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #8
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %24) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %24) #8
  br label %.thread254

173:                                              ; preds = %160
  %174 = landingpad { ptr, i32 }
          cleanup
  br label %177

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

177:                                              ; preds = %175, %173
  %.pn173 = phi { ptr, i32 } [ %176, %175 ], [ %174, %173 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %23) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %23) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #8
  br label %667

178:                                              ; preds = %.loopexit265
  %179 = landingpad { ptr, i32 }
          cleanup
  br label %185

180:                                              ; preds = %170
  %181 = landingpad { ptr, i32 }
          cleanup
  br label %184

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

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

185:                                              ; preds = %184, %178
  %.pn176.pn = phi { ptr, i32 } [ %.pn176, %184 ], [ %179, %178 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %24) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %24) #8
  br label %667

186:                                              ; preds = %105
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %27) #8
  %187 = load ptr, ptr @ya_optarg, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %28) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %27, ptr noundef %187, ptr noundef nonnull align 1 dereferenceable(1) %28)
          to label %188 unwind label %196

188:                                              ; preds = %186
  %189 = invoke noundef zeroext i1 @_ZN4sptk22ConvertStringToIntegerERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPi(ptr noundef nonnull align 8 dereferenceable(32) %27, ptr noundef nonnull %6)
          to label %190 unwind label %198

190:                                              ; preds = %188
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %28) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #8
  br i1 %189, label %.backedge, label %191

191:                                              ; preds = %190
  call void @llvm.lifetime.start.p0(i64 376, ptr nonnull %29) #8
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %29)
  %192 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %29, ptr noundef nonnull @.str.6)
          to label %193 unwind label %201

193:                                              ; preds = %191
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %30) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %31) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef nonnull @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %31)
          to label %194 unwind label %203

194:                                              ; preds = %193
  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 %195 unwind label %205

195:                                              ; preds = %194
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %31) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #8
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %29) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %29) #8
  br label %.thread254

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

198:                                              ; preds = %188
  %199 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #8
  br label %200

200:                                              ; preds = %198, %196
  %.pn168 = phi { ptr, i32 } [ %199, %198 ], [ %197, %196 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %28) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %28) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #8
  br label %667

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

203:                                              ; preds = %193
  %204 = landingpad { ptr, i32 }
          cleanup
  br label %207

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

207:                                              ; preds = %205, %203
  %.pn170 = phi { ptr, i32 } [ %206, %205 ], [ %204, %203 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %31) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #8
  br label %208

208:                                              ; preds = %207, %201
  %.pn170.pn = phi { ptr, i32 } [ %.pn170, %207 ], [ %202, %201 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %29) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %29) #8
  br label %667

209:                                              ; preds = %105
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %32) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %33) #8
  %210 = load ptr, ptr @ya_optarg, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %34) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %34) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %33, ptr noundef %210, ptr noundef nonnull align 1 dereferenceable(1) %34)
          to label %211 unwind label %229

211:                                              ; preds = %209
  %212 = invoke noundef zeroext i1 @_ZN4sptk22ConvertStringToIntegerERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPi(ptr noundef nonnull align 8 dereferenceable(32) %33, ptr noundef nonnull %32)
          to label %213 unwind label %231

213:                                              ; preds = %211
  br i1 %212, label %214, label %.critedge5

214:                                              ; preds = %213
  %215 = load i32, ptr %32, align 4, !tbaa !5
  %216 = invoke noundef zeroext i1 @_ZN4sptk9IsInRangeEiii(i32 noundef %215, i32 noundef 0, i32 noundef 4)
          to label %217 unwind label %231

217:                                              ; preds = %214
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %34) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %34) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %33) #8
  br i1 %216, label %243, label %.loopexit264

.critedge5:                                       ; preds = %213
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %34) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %34) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %33) #8
  br label %.loopexit264

.loopexit264:                                     ; preds = %217, %.critedge5
  call void @llvm.lifetime.start.p0(i64 376, ptr nonnull %35) #8
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %35)
  %218 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %35, ptr noundef nonnull @.str.7)
          to label %219 unwind label %234

219:                                              ; preds = %.loopexit264
  %220 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %218, ptr noundef nonnull @.str.8)
          to label %221 unwind label %234

221:                                              ; preds = %219
  %222 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %220, i32 noundef 0)
          to label %223 unwind label %234

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

225:                                              ; preds = %223
  %226 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %224, i32 noundef 4)
          to label %227 unwind label %234

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

228:                                              ; preds = %227
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %36, ptr noundef nonnull align 8 dereferenceable(112) %35)
          to label %242 unwind label %238

229:                                              ; preds = %209
  %230 = landingpad { ptr, i32 }
          cleanup
  br label %233

231:                                              ; preds = %214, %211
  %232 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #8
  br label %233

233:                                              ; preds = %231, %229
  %.pn162 = phi { ptr, i32 } [ %232, %231 ], [ %230, %229 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %34) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %34) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %33) #8
  br label %245

234:                                              ; preds = %225, %223, %221, %219, %.loopexit264
  %235 = landingpad { ptr, i32 }
          cleanup
  br label %241

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

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

240:                                              ; preds = %238, %236
  %.pn164 = phi { ptr, i32 } [ %239, %238 ], [ %237, %236 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %37) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %37) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %36) #8
  br label %241

241:                                              ; preds = %240, %234
  %.pn164.pn = phi { ptr, i32 } [ %.pn164, %240 ], [ %235, %234 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %35) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %35) #8
  br label %245

242:                                              ; preds = %228
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %37) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %37) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %36) #8
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %35) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %35) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %32) #8
  br label %.thread254

243:                                              ; preds = %217
  %244 = load i32, ptr %32, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %32) #8
  br label %.backedge

.backedge:                                        ; preds = %243, %111, %142, %167, %190, %254, %276, %301, %326, %351
  %.032.be = phi i32 [ %.032, %351 ], [ %.032, %326 ], [ %.032, %301 ], [ %.032, %276 ], [ %.032, %254 ], [ %.032, %190 ], [ %.032, %167 ], [ %.032, %142 ], [ %.032, %111 ], [ %244, %243 ]
  br label %105

245:                                              ; preds = %241, %233
  %.pn164.pn.pn = phi { ptr, i32 } [ %.pn164.pn, %241 ], [ %.pn162, %233 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %32) #8
  br label %667

246:                                              ; preds = %105
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %38) #8
  %247 = load ptr, ptr @ya_optarg, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %39) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %38, ptr noundef %247, ptr noundef nonnull align 1 dereferenceable(1) %39)
          to label %248 unwind label %259

248:                                              ; preds = %246
  %249 = invoke noundef zeroext i1 @_ZN4sptk22ConvertStringToIntegerERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPi(ptr noundef nonnull align 8 dereferenceable(32) %38, ptr noundef nonnull %7)
          to label %250 unwind label %261

250:                                              ; preds = %248
  br i1 %249, label %251, label %.critedge7

251:                                              ; preds = %250
  %252 = load i32, ptr %7, align 4, !tbaa !5
  %253 = invoke noundef zeroext i1 @_ZN4sptk12IsPowerOfTwoEi(i32 noundef %252)
          to label %254 unwind label %261

254:                                              ; preds = %251
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %39) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %38) #8
  br i1 %253, label %.backedge, label %.loopexit263

.critedge7:                                       ; preds = %250
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %39) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %38) #8
  br label %.loopexit263

.loopexit263:                                     ; preds = %254, %.critedge7
  call void @llvm.lifetime.start.p0(i64 376, ptr nonnull %40) #8
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %40)
  %255 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %40, ptr noundef nonnull @.str.10)
          to label %256 unwind label %264

256:                                              ; preds = %.loopexit263
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %41) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %42) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %41, ptr noundef nonnull @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %42)
          to label %257 unwind label %266

257:                                              ; preds = %256
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %41, ptr noundef nonnull align 8 dereferenceable(112) %40)
          to label %258 unwind label %268

258:                                              ; preds = %257
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %42) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %41) #8
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %40) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %40) #8
  br label %.thread254

259:                                              ; preds = %246
  %260 = landingpad { ptr, i32 }
          cleanup
  br label %263

261:                                              ; preds = %251, %248
  %262 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #8
  br label %263

263:                                              ; preds = %261, %259
  %.pn157 = phi { ptr, i32 } [ %262, %261 ], [ %260, %259 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %39) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %38) #8
  br label %667

264:                                              ; preds = %.loopexit263
  %265 = landingpad { ptr, i32 }
          cleanup
  br label %271

266:                                              ; preds = %256
  %267 = landingpad { ptr, i32 }
          cleanup
  br label %270

268:                                              ; preds = %257
  %269 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #8
  br label %270

270:                                              ; preds = %268, %266
  %.pn159 = phi { ptr, i32 } [ %269, %268 ], [ %267, %266 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %42) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %41) #8
  br label %271

271:                                              ; preds = %270, %264
  %.pn159.pn = phi { ptr, i32 } [ %.pn159, %270 ], [ %265, %264 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %40) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %40) #8
  br label %667

272:                                              ; preds = %105
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %43) #8
  %273 = load ptr, ptr @ya_optarg, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %44) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %44) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %43, ptr noundef %273, ptr noundef nonnull align 1 dereferenceable(1) %44)
          to label %274 unwind label %284

274:                                              ; preds = %272
  %275 = invoke noundef zeroext i1 @_ZN4sptk22ConvertStringToIntegerERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPi(ptr noundef nonnull align 8 dereferenceable(32) %43, ptr noundef nonnull %8)
          to label %276 unwind label %286

276:                                              ; preds = %274
  %277 = load i32, ptr %8, align 4
  %278 = icmp sgt i32 %277, -1
  %.not153 = select i1 %275, i1 %278, i1 false
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %44) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %44) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %43) #8
  br i1 %.not153, label %.backedge, label %279

279:                                              ; preds = %276
  call void @llvm.lifetime.start.p0(i64 376, ptr nonnull %45) #8
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %45)
  %280 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %45, ptr noundef nonnull @.str.11)
          to label %281 unwind label %289

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

282:                                              ; preds = %281
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %46, ptr noundef nonnull align 8 dereferenceable(112) %45)
          to label %283 unwind label %293

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

284:                                              ; preds = %272
  %285 = landingpad { ptr, i32 }
          cleanup
  br label %288

286:                                              ; preds = %274
  %287 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #8
  br label %288

288:                                              ; preds = %286, %284
  %.pn150 = phi { ptr, i32 } [ %287, %286 ], [ %285, %284 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %44) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %44) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %43) #8
  br label %667

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

291:                                              ; preds = %281
  %292 = landingpad { ptr, i32 }
          cleanup
  br label %295

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

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

296:                                              ; preds = %295, %289
  %.pn154.pn = phi { ptr, i32 } [ %.pn154, %295 ], [ %290, %289 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %45) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %45) #8
  br label %667

297:                                              ; preds = %105
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %48) #8
  %298 = load ptr, ptr @ya_optarg, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %49) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %49) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %48, ptr noundef %298, ptr noundef nonnull align 1 dereferenceable(1) %49)
          to label %299 unwind label %309

299:                                              ; preds = %297
  %300 = invoke noundef zeroext i1 @_ZN4sptk21ConvertStringToDoubleERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPd(ptr noundef nonnull align 8 dereferenceable(32) %48, ptr noundef nonnull %9)
          to label %301 unwind label %311

301:                                              ; preds = %299
  %302 = load double, ptr %9, align 8
  %303 = fcmp uge double %302, 0.000000e+00
  %.not146 = select i1 %300, i1 %303, i1 false
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %49) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %49) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %48) #8
  br i1 %.not146, label %.backedge, label %304

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

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

307:                                              ; preds = %306
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %51, ptr noundef nonnull align 8 dereferenceable(112) %50)
          to label %308 unwind label %318

308:                                              ; preds = %307
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %52) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %51) #8
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %50) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %50) #8
  br label %.thread254

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

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

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

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

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

318:                                              ; preds = %307
  %319 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #8
  br label %320

320:                                              ; preds = %318, %316
  %.pn147 = phi { ptr, i32 } [ %319, %318 ], [ %317, %316 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %52) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %51) #8
  br label %321

321:                                              ; preds = %320, %314
  %.pn147.pn = phi { ptr, i32 } [ %.pn147, %320 ], [ %315, %314 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %50) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %50) #8
  br label %667

322:                                              ; preds = %105
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %53) #8
  %323 = load ptr, ptr @ya_optarg, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %54) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %54) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %53, ptr noundef %323, ptr noundef nonnull align 1 dereferenceable(1) %54)
          to label %324 unwind label %334

324:                                              ; preds = %322
  %325 = invoke noundef zeroext i1 @_ZN4sptk21ConvertStringToDoubleERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPd(ptr noundef nonnull align 8 dereferenceable(32) %53, ptr noundef nonnull %10)
          to label %326 unwind label %336

326:                                              ; preds = %324
  %327 = load double, ptr %10, align 8
  %328 = fcmp ugt double %327, 0.000000e+00
  %.not139 = select i1 %325, i1 %328, i1 false
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %54) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %54) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %53) #8
  br i1 %.not139, label %.backedge, label %329

329:                                              ; preds = %326
  call void @llvm.lifetime.start.p0(i64 376, ptr nonnull %55) #8
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %55)
  %330 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %55, ptr noundef nonnull @.str.13)
          to label %331 unwind label %339

331:                                              ; preds = %329
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %56) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %57) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %57) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %56, ptr noundef nonnull @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %57)
          to label %332 unwind label %341

332:                                              ; preds = %331
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %56, ptr noundef nonnull align 8 dereferenceable(112) %55)
          to label %333 unwind label %343

333:                                              ; preds = %332
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %57) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %57) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %56) #8
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %55) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %55) #8
  br label %.thread254

334:                                              ; preds = %322
  %335 = landingpad { ptr, i32 }
          cleanup
  br label %338

336:                                              ; preds = %324
  %337 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #8
  br label %338

338:                                              ; preds = %336, %334
  %.pn136 = phi { ptr, i32 } [ %337, %336 ], [ %335, %334 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %54) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %54) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %53) #8
  br label %667

339:                                              ; preds = %329
  %340 = landingpad { ptr, i32 }
          cleanup
  br label %346

341:                                              ; preds = %331
  %342 = landingpad { ptr, i32 }
          cleanup
  br label %345

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

345:                                              ; preds = %343, %341
  %.pn140 = phi { ptr, i32 } [ %344, %343 ], [ %342, %341 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %57) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %57) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %56) #8
  br label %346

346:                                              ; preds = %345, %339
  %.pn140.pn = phi { ptr, i32 } [ %.pn140, %345 ], [ %340, %339 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %55) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %55) #8
  br label %667

347:                                              ; preds = %105
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %58) #8
  %348 = load ptr, ptr @ya_optarg, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %59) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %59) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %58, ptr noundef %348, ptr noundef nonnull align 1 dereferenceable(1) %59)
          to label %349 unwind label %359

349:                                              ; preds = %347
  %350 = invoke noundef zeroext i1 @_ZN4sptk21ConvertStringToDoubleERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPd(ptr noundef nonnull align 8 dereferenceable(32) %58, ptr noundef nonnull %11)
          to label %351 unwind label %361

351:                                              ; preds = %349
  %352 = load double, ptr %11, align 8
  %353 = fcmp ult double %352, 0.000000e+00
  %.not132 = select i1 %350, i1 %353, i1 false
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %59) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %59) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %58) #8
  br i1 %.not132, label %.backedge, label %354

354:                                              ; preds = %351
  call void @llvm.lifetime.start.p0(i64 376, ptr nonnull %60) #8
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %60)
  %355 = 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.14)
          to label %356 unwind label %364

356:                                              ; preds = %354
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %61) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %62) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %62) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %61, ptr noundef nonnull @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %62)
          to label %357 unwind label %366

357:                                              ; preds = %356
  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 %358 unwind label %368

358:                                              ; preds = %357
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %62) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %62) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %61) #8
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %60) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %60) #8
  br label %.thread254

359:                                              ; preds = %347
  %360 = landingpad { ptr, i32 }
          cleanup
  br label %363

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

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

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

366:                                              ; preds = %356
  %367 = landingpad { ptr, i32 }
          cleanup
  br label %370

368:                                              ; preds = %357
  %369 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #8
  br label %370

370:                                              ; preds = %368, %366
  %.pn133 = phi { ptr, i32 } [ %369, %368 ], [ %367, %366 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %62) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %62) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %61) #8
  br label %371

371:                                              ; preds = %370, %364
  %.pn133.pn = phi { ptr, i32 } [ %.pn133, %370 ], [ %365, %364 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %60) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %60) #8
  br label %667

372:                                              ; preds = %105
  call void @_ZN12_GLOBAL__N_110PrintUsageEPSo(ptr noundef nonnull @_ZSt4cout)
  br label %.thread254

373:                                              ; preds = %105
  call void @_ZN12_GLOBAL__N_110PrintUsageEPSo(ptr noundef nonnull @_ZSt4cerr)
  br label %.thread254

374:                                              ; preds = %105
  %375 = load i32, ptr @ya_optind, align 4, !tbaa !5
  %376 = sub nsw i32 %0, %375
  %377 = icmp sgt i32 %376, 1
  br i1 %377, label %378, label %391

378:                                              ; preds = %374
  call void @llvm.lifetime.start.p0(i64 376, ptr nonnull %63) #8
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %63)
  %379 = 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.15)
          to label %380 unwind label %383

380:                                              ; preds = %378
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %64) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %65) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %65) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %64, ptr noundef nonnull @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %65)
          to label %381 unwind label %385

381:                                              ; preds = %380
  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 %382 unwind label %387

382:                                              ; preds = %381
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %65) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %65) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %64) #8
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %63) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %63) #8
  br label %.thread254

383:                                              ; preds = %378
  %384 = landingpad { ptr, i32 }
          cleanup
  br label %390

385:                                              ; preds = %380
  %386 = landingpad { ptr, i32 }
          cleanup
  br label %389

387:                                              ; preds = %381
  %388 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #8
  br label %389

389:                                              ; preds = %387, %385
  %.pn241 = phi { ptr, i32 } [ %388, %387 ], [ %386, %385 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %65) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %65) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %64) #8
  br label %390

390:                                              ; preds = %389, %383
  %.pn241.pn = phi { ptr, i32 } [ %.pn241, %389 ], [ %384, %383 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %63) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %63) #8
  br label %667

391:                                              ; preds = %374
  %392 = icmp eq i32 %375, %0
  br i1 %392, label %397, label %393

393:                                              ; preds = %391
  %394 = sext i32 %375 to i64
  %395 = getelementptr inbounds ptr, ptr %1, i64 %394
  %396 = load ptr, ptr %395, align 8, !tbaa !11
  br label %397

397:                                              ; preds = %391, %393
  %398 = phi ptr [ %396, %393 ], [ null, %391 ]
  %399 = call noundef zeroext i1 @_ZN4sptk13SetBinaryModeEv()
  br i1 %399, label %413, label %400

400:                                              ; preds = %397
  call void @llvm.lifetime.start.p0(i64 376, ptr nonnull %66) #8
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %66)
  %401 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %66, ptr noundef nonnull @.str.16)
          to label %402 unwind label %405

402:                                              ; preds = %400
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %67) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %68) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %68) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %67, ptr noundef nonnull @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %68)
          to label %403 unwind label %407

403:                                              ; preds = %402
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %67, ptr noundef nonnull align 8 dereferenceable(112) %66)
          to label %404 unwind label %409

404:                                              ; preds = %403
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %68) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %68) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %67) #8
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %66) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %66) #8
  br label %.thread254

405:                                              ; preds = %400
  %406 = landingpad { ptr, i32 }
          cleanup
  br label %412

407:                                              ; preds = %402
  %408 = landingpad { ptr, i32 }
          cleanup
  br label %411

409:                                              ; preds = %403
  %410 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #8
  br label %411

411:                                              ; preds = %409, %407
  %.pn191 = phi { ptr, i32 } [ %410, %409 ], [ %408, %407 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %68) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %68) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %67) #8
  br label %412

412:                                              ; preds = %411, %405
  %.pn191.pn = phi { ptr, i32 } [ %.pn191, %411 ], [ %406, %405 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %66) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %66) #8
  br label %667

413:                                              ; preds = %397
  call void @llvm.lifetime.start.p0(i64 520, ptr nonnull %69) #8
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(256) %69)
  %.not = icmp eq ptr %398, null
  br i1 %.not, label %444, label %414

414:                                              ; preds = %413
  %415 = 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) %69, ptr noundef nonnull %398, i32 noundef %415)
          to label %416 unwind label %431

416:                                              ; preds = %414
  %417 = load ptr, ptr %69, align 8, !tbaa !13
  %418 = getelementptr i8, ptr %417, i64 -24
  %419 = load i64, ptr %418, align 8
  %420 = getelementptr inbounds i8, ptr %69, i64 %419
  %421 = invoke noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE4failEv(ptr noundef nonnull align 8 dereferenceable(264) %420)
          to label %422 unwind label %431

422:                                              ; preds = %416
  br i1 %421, label %423, label %444

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

424:                                              ; preds = %423
  %425 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %70, ptr noundef nonnull @.str.17)
          to label %426 unwind label %435

426:                                              ; preds = %424
  %427 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %425, ptr noundef nonnull %398)
          to label %428 unwind label %435

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

429:                                              ; preds = %428
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %71, ptr noundef nonnull align 8 dereferenceable(112) %70)
          to label %430 unwind label %439

430:                                              ; preds = %429
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %72) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %72) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %71) #8
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %70) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %70) #8
  br label %665

431:                                              ; preds = %416, %414
  %432 = landingpad { ptr, i32 }
          cleanup
  br label %666

433:                                              ; preds = %423
  %434 = landingpad { ptr, i32 }
          cleanup
  br label %443

435:                                              ; preds = %426, %424
  %436 = landingpad { ptr, i32 }
          cleanup
  br label %442

437:                                              ; preds = %428
  %438 = landingpad { ptr, i32 }
          cleanup
  br label %441

439:                                              ; preds = %429
  %440 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #8
  br label %441

441:                                              ; preds = %439, %437
  %.pn235 = phi { ptr, i32 } [ %440, %439 ], [ %438, %437 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %72) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %72) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %71) #8
  br label %442

442:                                              ; preds = %441, %435
  %.pn235.pn = phi { ptr, i32 } [ %.pn235, %441 ], [ %436, %435 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %70) #8
  br label %443

443:                                              ; preds = %442, %433
  %.pn235.pn.pn = phi { ptr, i32 } [ %.pn235.pn, %442 ], [ %434, %433 ]
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %70) #8
  br label %666

444:                                              ; preds = %422, %413
  %445 = call noundef zeroext i1 @_ZNSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv(ptr noundef nonnull align 8 dereferenceable(256) %69)
  %446 = select i1 %445, ptr %69, ptr @_ZSt3cin
  call void @llvm.lifetime.start.p0(i64 72, ptr nonnull %73) #8
  %447 = load i32, ptr %6, align 4, !tbaa !5
  %448 = load double, ptr %10, align 8, !tbaa !9
  %449 = load double, ptr %11, align 8, !tbaa !9
  invoke void @_ZN4sptk18SpectrumToSpectrumC1EiNS0_18InputOutputFormatsES1_dd(ptr noundef nonnull align 8 dereferenceable(65) %73, i32 noundef %447, i32 noundef %.032, i32 noundef 3, double noundef %448, double noundef %449)
          to label %450 unwind label %459

450:                                              ; preds = %444
  %.not194 = icmp eq i32 %.032, 4
  br i1 %.not194, label %472, label %451

451:                                              ; preds = %450
  %452 = call noundef zeroext i1 @_ZNK4sptk18SpectrumToSpectrum7IsValidEv(ptr noundef nonnull align 8 dereferenceable(65) %73)
  br i1 %452, label %472, label %453

453:                                              ; preds = %451
  call void @llvm.lifetime.start.p0(i64 376, ptr nonnull %74) #8
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %74)
          to label %454 unwind label %461

454:                                              ; preds = %453
  %455 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %74, ptr noundef nonnull @.str.18)
          to label %456 unwind label %463

456:                                              ; preds = %454
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %75) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %76) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %76) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %75, ptr noundef nonnull @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %76)
          to label %457 unwind label %465

457:                                              ; preds = %456
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %75, ptr noundef nonnull align 8 dereferenceable(112) %74)
          to label %458 unwind label %467

458:                                              ; preds = %457
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %76) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %76) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %75) #8
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %74) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %74) #8
  br label %662

459:                                              ; preds = %444
  %460 = landingpad { ptr, i32 }
          cleanup
  br label %664

461:                                              ; preds = %453
  %462 = landingpad { ptr, i32 }
          cleanup
  br label %471

463:                                              ; preds = %454
  %464 = landingpad { ptr, i32 }
          cleanup
  br label %470

465:                                              ; preds = %456
  %466 = landingpad { ptr, i32 }
          cleanup
  br label %469

467:                                              ; preds = %457
  %468 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #8
  br label %469

469:                                              ; preds = %467, %465
  %.pn195 = phi { ptr, i32 } [ %468, %467 ], [ %466, %465 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %76) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %76) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %75) #8
  br label %470

470:                                              ; preds = %469, %463
  %.pn195.pn = phi { ptr, i32 } [ %.pn195, %469 ], [ %464, %463 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %74) #8
  br label %471

471:                                              ; preds = %470, %461
  %.pn195.pn.pn = phi { ptr, i32 } [ %.pn195.pn, %470 ], [ %462, %461 ]
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %74) #8
  br label %663

472:                                              ; preds = %451, %450
  call void @llvm.lifetime.start.p0(i64 240, ptr nonnull %77) #8
  %473 = load i32, ptr %6, align 4, !tbaa !5
  %474 = load double, ptr %10, align 8, !tbaa !9
  %475 = load double, ptr %11, align 8, !tbaa !9
  invoke void @_ZN4sptk18WaveformToSpectrumC1EiiNS_18SpectrumToSpectrum18InputOutputFormatsEdd(ptr noundef nonnull align 8 dereferenceable(240) %77, i32 noundef %473, i32 noundef %473, i32 noundef 3, double noundef %474, double noundef %475)
          to label %476 unwind label %487

476:                                              ; preds = %472
  call void @llvm.lifetime.start.p0(i64 192, ptr nonnull %78) #8
  invoke void @_ZN4sptk18WaveformToSpectrum6BufferC2Ev(ptr noundef nonnull align 8 dereferenceable(192) %78)
          to label %477 unwind label %489

477:                                              ; preds = %476
  br i1 %.not194, label %478, label %504

478:                                              ; preds = %477
  %479 = invoke noundef zeroext i1 @_ZNK4sptk18WaveformToSpectrum7IsValidEv(ptr noundef nonnull align 8 dereferenceable(240) %77)
          to label %480 unwind label %491

480:                                              ; preds = %478
  br i1 %479, label %504, label %481

481:                                              ; preds = %480
  call void @llvm.lifetime.start.p0(i64 376, ptr nonnull %79) #8
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %79)
          to label %482 unwind label %493

482:                                              ; preds = %481
  %483 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %79, ptr noundef nonnull @.str.19)
          to label %484 unwind label %495

484:                                              ; preds = %482
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %80) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %81) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %81) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %80, ptr noundef nonnull @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %81)
          to label %485 unwind label %497

485:                                              ; preds = %484
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %80, ptr noundef nonnull align 8 dereferenceable(112) %79)
          to label %486 unwind label %499

486:                                              ; preds = %485
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %80) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %81) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %81) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %80) #8
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %79) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %79) #8
  br label %658

487:                                              ; preds = %472
  %488 = landingpad { ptr, i32 }
          cleanup
  br label %661

489:                                              ; preds = %476
  %490 = landingpad { ptr, i32 }
          cleanup
  br label %660

491:                                              ; preds = %478
  %492 = landingpad { ptr, i32 }
          cleanup
  br label %659

493:                                              ; preds = %481
  %494 = landingpad { ptr, i32 }
          cleanup
  br label %503

495:                                              ; preds = %482
  %496 = landingpad { ptr, i32 }
          cleanup
  br label %502

497:                                              ; preds = %484
  %498 = landingpad { ptr, i32 }
          cleanup
  br label %501

499:                                              ; preds = %485
  %500 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %80) #8
  br label %501

501:                                              ; preds = %499, %497
  %.pn199 = phi { ptr, i32 } [ %500, %499 ], [ %498, %497 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %81) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %81) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %80) #8
  br label %502

502:                                              ; preds = %501, %495
  %.pn199.pn = phi { ptr, i32 } [ %.pn199, %501 ], [ %496, %495 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %79) #8
  br label %503

503:                                              ; preds = %502, %493
  %.pn199.pn.pn = phi { ptr, i32 } [ %.pn199.pn, %502 ], [ %494, %493 ]
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %79) #8
  br label %659

504:                                              ; preds = %480, %477
  call void @llvm.lifetime.start.p0(i64 448, ptr nonnull %82) #8
  %505 = load i32, ptr %6, align 4, !tbaa !5
  %506 = load i32, ptr %3, align 4, !tbaa !5
  %507 = load i32, ptr %7, align 4, !tbaa !5
  %508 = load double, ptr %4, align 8, !tbaa !9
  %509 = load double, ptr %5, align 8, !tbaa !9
  %510 = fmul double %509, 0x400921FB54442D18
  %511 = load i32, ptr %8, align 4, !tbaa !5
  %512 = load double, ptr %9, align 8, !tbaa !9
  invoke void @_ZN4sptk37SecondOrderAllPassMelCepstralAnalysisC1Eiiiddid(ptr noundef nonnull align 8 dereferenceable(448) %82, i32 noundef %505, i32 noundef %506, i32 noundef %507, double noundef %508, double noundef %510, i32 noundef %511, double noundef %512)
          to label %513 unwind label %522

513:                                              ; preds = %504
  call void @llvm.lifetime.start.p0(i64 808, ptr nonnull %83) #8
  invoke void @_ZN4sptk37SecondOrderAllPassMelCepstralAnalysis6BufferC2Ev(ptr noundef nonnull align 8 dereferenceable(808) %83)
          to label %514 unwind label %524

514:                                              ; preds = %513
  %515 = call noundef zeroext i1 @_ZNK4sptk37SecondOrderAllPassMelCepstralAnalysis7IsValidEv(ptr noundef nonnull align 8 dereferenceable(448) %82)
  br i1 %515, label %537, label %516

516:                                              ; preds = %514
  call void @llvm.lifetime.start.p0(i64 376, ptr nonnull %84) #8
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %84)
          to label %517 unwind label %526

517:                                              ; preds = %516
  %518 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %84, ptr noundef nonnull @.str.20)
          to label %519 unwind label %528

519:                                              ; preds = %517
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %85) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %86) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %86) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %85, ptr noundef nonnull @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %86)
          to label %520 unwind label %530

520:                                              ; preds = %519
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %85, ptr noundef nonnull align 8 dereferenceable(112) %84)
          to label %521 unwind label %532

521:                                              ; preds = %520
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %85) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %86) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %86) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %85) #8
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %84) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %84) #8
  br label %654

522:                                              ; preds = %504
  %523 = landingpad { ptr, i32 }
          cleanup
  br label %657

524:                                              ; preds = %513
  %525 = landingpad { ptr, i32 }
          cleanup
  br label %656

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

528:                                              ; preds = %517
  %529 = landingpad { ptr, i32 }
          cleanup
  br label %535

530:                                              ; preds = %519
  %531 = landingpad { ptr, i32 }
          cleanup
  br label %534

532:                                              ; preds = %520
  %533 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %85) #8
  br label %534

534:                                              ; preds = %532, %530
  %.pn203 = phi { ptr, i32 } [ %533, %532 ], [ %531, %530 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %86) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %86) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %85) #8
  br label %535

535:                                              ; preds = %534, %528
  %.pn203.pn = phi { ptr, i32 } [ %.pn203, %534 ], [ %529, %528 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %84) #8
  br label %536

536:                                              ; preds = %535, %526
  %.pn203.pn.pn = phi { ptr, i32 } [ %.pn203.pn, %535 ], [ %527, %526 ]
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %84) #8
  br label %655

537:                                              ; preds = %514
  %538 = load i32, ptr %6, align 4, !tbaa !5
  br i1 %.not194, label %542, label %539

539:                                              ; preds = %537
  %540 = sdiv i32 %538, 2
  %541 = add nsw i32 %540, 1
  br label %542

542:                                              ; preds = %537, %539
  %543 = phi i32 [ %541, %539 ], [ %538, %537 ]
  %544 = load i32, ptr %3, align 4, !tbaa !5
  %545 = add nsw i32 %544, 1
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %87) #8
  %546 = sext i32 %543 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %88) #8
  call void @_ZNSaIdEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %88) #8
  invoke void @_ZNSt6vectorIdSaIdEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %87, i64 noundef %546, ptr noundef nonnull align 1 dereferenceable(1) %88)
          to label %547 unwind label %578

547:                                              ; preds = %542
  call void @_ZNSt15__new_allocatorIdED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %88) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %88) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %89) #8
  %548 = load i32, ptr %6, align 4, !tbaa !5
  %549 = sdiv i32 %548, 2
  %550 = add nsw i32 %549, 1
  %551 = sext i32 %550 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %90) #8
  call void @_ZNSaIdEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %90) #8
  invoke void @_ZNSt6vectorIdSaIdEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %89, i64 noundef %551, ptr noundef nonnull align 1 dereferenceable(1) %90)
          to label %552 unwind label %580

552:                                              ; preds = %547
  call void @_ZNSt15__new_allocatorIdED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %90) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %90) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %91) #8
  %553 = sext i32 %545 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %92) #8
  call void @_ZNSaIdEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %92) #8
  invoke void @_ZNSt6vectorIdSaIdEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %91, i64 noundef %553, ptr noundef nonnull align 1 dereferenceable(1) %92)
          to label %554 unwind label %582

554:                                              ; preds = %552
  call void @_ZNSt15__new_allocatorIdED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %92) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %92) #8
  br i1 %.not194, label %.split.us, label %.split

.split.us:                                        ; preds = %554, %565
  %555 = invoke noundef zeroext i1 @_ZN4sptk10ReadStreamIdEEbbiiiPSt6vectorIT_SaIS2_EEPSiPi(i1 noundef zeroext false, i32 noundef 0, i32 noundef 0, i32 noundef %543, ptr noundef nonnull %87, ptr noundef nonnull %446, ptr noundef null)
          to label %556 unwind label %.split304.us

556:                                              ; preds = %.split.us
  br i1 %555, label %557, label %.loopexit

557:                                              ; preds = %556
  %558 = invoke noundef zeroext i1 @_ZNK4sptk18WaveformToSpectrum3RunERKSt6vectorIdSaIdEEPS3_PNS0_6BufferE(ptr noundef nonnull align 8 dereferenceable(240) %77, ptr noundef nonnull align 8 dereferenceable(24) %87, ptr noundef nonnull %89, ptr noundef nonnull %78)
          to label %559 unwind label %.split304.us

559:                                              ; preds = %557
  br i1 %558, label %560, label %.split306.us

560:                                              ; preds = %559
  %561 = invoke noundef zeroext i1 @_ZNK4sptk37SecondOrderAllPassMelCepstralAnalysis3RunERKSt6vectorIdSaIdEEPS3_PNS0_6BufferE(ptr noundef nonnull align 8 dereferenceable(448) %82, ptr noundef nonnull align 8 dereferenceable(24) %89, ptr noundef nonnull %91, ptr noundef nonnull %83)
          to label %562 unwind label %.split304.us

562:                                              ; preds = %560
  br i1 %561, label %563, label %.split308.us

563:                                              ; preds = %562
  %564 = invoke noundef zeroext i1 @_ZN4sptk11WriteStreamIdEEbiiRKSt6vectorIT_SaIS2_EEPSoPi(i32 noundef 0, i32 noundef %545, ptr noundef nonnull align 8 dereferenceable(24) %91, ptr noundef nonnull @_ZSt4cout, ptr noundef null)
          to label %565 unwind label %.split304.us

565:                                              ; preds = %563
  br i1 %564, label %.split.us, label %.split310.us, !llvm.loop !15

.split304.us:                                     ; preds = %563, %560, %557, %.split.us
  %566 = landingpad { ptr, i32 }
          cleanup
  br label %650

.split:                                           ; preds = %554, %633
  %567 = invoke noundef zeroext i1 @_ZN4sptk10ReadStreamIdEEbbiiiPSt6vectorIT_SaIS2_EEPSiPi(i1 noundef zeroext false, i32 noundef 0, i32 noundef 0, i32 noundef %543, ptr noundef nonnull %87, ptr noundef nonnull %446, ptr noundef null)
          to label %568 unwind label %.split304

568:                                              ; preds = %.split
  br i1 %567, label %569, label %.loopexit

569:                                              ; preds = %568
  %570 = invoke noundef zeroext i1 @_ZNK4sptk18SpectrumToSpectrum3RunERKSt6vectorIdSaIdEEPS3_(ptr noundef nonnull align 8 dereferenceable(65) %73, ptr noundef nonnull align 8 dereferenceable(24) %87, ptr noundef nonnull %89)
          to label %571 unwind label %.split304

571:                                              ; preds = %569
  br i1 %570, label %612, label %572

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

573:                                              ; preds = %572
  %574 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %93, ptr noundef nonnull @.str.21)
          to label %575 unwind label %587

575:                                              ; preds = %573
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %94) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %95) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %95) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %94, ptr noundef nonnull @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %95)
          to label %576 unwind label %589

576:                                              ; preds = %575
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %94, ptr noundef nonnull align 8 dereferenceable(112) %93)
          to label %577 unwind label %591

577:                                              ; preds = %576
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %94) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %95) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %95) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %94) #8
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %93) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %93) #8
  br label %.loopexit

578:                                              ; preds = %542
  %579 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIdED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %88) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %88) #8
  br label %653

580:                                              ; preds = %547
  %581 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIdED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %90) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %90) #8
  br label %652

582:                                              ; preds = %552
  %583 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIdED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %92) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %92) #8
  br label %651

.split304:                                        ; preds = %631, %612, %569, %.split
  %584 = landingpad { ptr, i32 }
          cleanup
  br label %650

585:                                              ; preds = %572
  %586 = landingpad { ptr, i32 }
          cleanup
  br label %595

587:                                              ; preds = %573
  %588 = landingpad { ptr, i32 }
          cleanup
  br label %594

589:                                              ; preds = %575
  %590 = landingpad { ptr, i32 }
          cleanup
  br label %593

591:                                              ; preds = %576
  %592 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %94) #8
  br label %593

593:                                              ; preds = %591, %589
  %.pn211 = phi { ptr, i32 } [ %592, %591 ], [ %590, %589 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %95) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %95) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %94) #8
  br label %594

594:                                              ; preds = %593, %587
  %.pn211.pn = phi { ptr, i32 } [ %.pn211, %593 ], [ %588, %587 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %93) #8
  br label %595

595:                                              ; preds = %594, %585
  %.pn211.pn.pn = phi { ptr, i32 } [ %.pn211.pn, %594 ], [ %586, %585 ]
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %93) #8
  br label %650

.split306.us:                                     ; preds = %559
  call void @llvm.lifetime.start.p0(i64 376, ptr nonnull %96) #8
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %96)
          to label %596 unwind label %601

596:                                              ; preds = %.split306.us
  %597 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %96, ptr noundef nonnull @.str.22)
          to label %598 unwind label %603

598:                                              ; preds = %596
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %97) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %98) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %98) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %97, ptr noundef nonnull @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %98)
          to label %599 unwind label %605

599:                                              ; preds = %598
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %97, ptr noundef nonnull align 8 dereferenceable(112) %96)
          to label %600 unwind label %607

600:                                              ; preds = %599
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %97) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %98) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %98) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %97) #8
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %96) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %96) #8
  br label %.loopexit

601:                                              ; preds = %.split306.us
  %602 = landingpad { ptr, i32 }
          cleanup
  br label %611

603:                                              ; preds = %596
  %604 = landingpad { ptr, i32 }
          cleanup
  br label %610

605:                                              ; preds = %598
  %606 = landingpad { ptr, i32 }
          cleanup
  br label %609

607:                                              ; preds = %599
  %608 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %97) #8
  br label %609

609:                                              ; preds = %607, %605
  %.pn207 = phi { ptr, i32 } [ %608, %607 ], [ %606, %605 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %98) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %98) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %97) #8
  br label %610

610:                                              ; preds = %609, %603
  %.pn207.pn = phi { ptr, i32 } [ %.pn207, %609 ], [ %604, %603 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %96) #8
  br label %611

611:                                              ; preds = %610, %601
  %.pn207.pn.pn = phi { ptr, i32 } [ %.pn207.pn, %610 ], [ %602, %601 ]
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %96) #8
  br label %650

612:                                              ; preds = %571
  %613 = invoke noundef zeroext i1 @_ZNK4sptk37SecondOrderAllPassMelCepstralAnalysis3RunERKSt6vectorIdSaIdEEPS3_PNS0_6BufferE(ptr noundef nonnull align 8 dereferenceable(448) %82, ptr noundef nonnull align 8 dereferenceable(24) %89, ptr noundef nonnull %91, ptr noundef nonnull %83)
          to label %614 unwind label %.split304

614:                                              ; preds = %612
  br i1 %613, label %631, label %.split308.us

.split308.us:                                     ; preds = %614, %562
  call void @llvm.lifetime.start.p0(i64 376, ptr nonnull %99) #8
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %99)
          to label %615 unwind label %620

615:                                              ; preds = %.split308.us
  %616 = 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.23)
          to label %617 unwind label %622

617:                                              ; preds = %615
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %100) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %101) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %101) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %100, ptr noundef nonnull @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %101)
          to label %618 unwind label %624

618:                                              ; preds = %617
  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 %619 unwind label %626

619:                                              ; preds = %618
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %100) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %101) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %101) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %100) #8
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %99) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %99) #8
  br label %.loopexit

620:                                              ; preds = %.split308.us
  %621 = landingpad { ptr, i32 }
          cleanup
  br label %630

622:                                              ; preds = %615
  %623 = landingpad { ptr, i32 }
          cleanup
  br label %629

624:                                              ; preds = %617
  %625 = landingpad { ptr, i32 }
          cleanup
  br label %628

626:                                              ; preds = %618
  %627 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %100) #8
  br label %628

628:                                              ; preds = %626, %624
  %.pn215 = phi { ptr, i32 } [ %627, %626 ], [ %625, %624 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %101) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %101) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %100) #8
  br label %629

629:                                              ; preds = %628, %622
  %.pn215.pn = phi { ptr, i32 } [ %.pn215, %628 ], [ %623, %622 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %99) #8
  br label %630

630:                                              ; preds = %629, %620
  %.pn215.pn.pn = phi { ptr, i32 } [ %.pn215.pn, %629 ], [ %621, %620 ]
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %99) #8
  br label %650

631:                                              ; preds = %614
  %632 = invoke noundef zeroext i1 @_ZN4sptk11WriteStreamIdEEbiiRKSt6vectorIT_SaIS2_EEPSoPi(i32 noundef 0, i32 noundef %545, ptr noundef nonnull align 8 dereferenceable(24) %91, ptr noundef nonnull @_ZSt4cout, ptr noundef null)
          to label %633 unwind label %.split304

633:                                              ; preds = %631
  br i1 %632, label %.split, label %.split310.us, !llvm.loop !15

.split310.us:                                     ; preds = %633, %565
  call void @llvm.lifetime.start.p0(i64 376, ptr nonnull %102) #8
  invoke void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(112) %102)
          to label %634 unwind label %639

634:                                              ; preds = %.split310.us
  %635 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %102, ptr noundef nonnull @.str.24)
          to label %636 unwind label %641

636:                                              ; preds = %634
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %103) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %104) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %104) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %103, ptr noundef nonnull @.str.3, ptr noundef nonnull align 1 dereferenceable(1) %104)
          to label %637 unwind label %643

637:                                              ; preds = %636
  invoke void @_ZN4sptk17PrintErrorMessageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_19basic_ostringstreamIcS3_S4_EE(ptr noundef nonnull align 8 dereferenceable(32) %103, ptr noundef nonnull align 8 dereferenceable(112) %102)
          to label %638 unwind label %645

638:                                              ; preds = %637
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %103) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %104) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %104) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %103) #8
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %102) #8
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %102) #8
  br label %.loopexit

639:                                              ; preds = %.split310.us
  %640 = landingpad { ptr, i32 }
          cleanup
  br label %649

641:                                              ; preds = %634
  %642 = landingpad { ptr, i32 }
          cleanup
  br label %648

643:                                              ; preds = %636
  %644 = landingpad { ptr, i32 }
          cleanup
  br label %647

645:                                              ; preds = %637
  %646 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %103) #8
  br label %647

647:                                              ; preds = %645, %643
  %.pn219 = phi { ptr, i32 } [ %646, %645 ], [ %644, %643 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %104) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %104) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %103) #8
  br label %648

648:                                              ; preds = %647, %641
  %.pn219.pn = phi { ptr, i32 } [ %.pn219, %647 ], [ %642, %641 ]
  call void @_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(112) %102) #8
  br label %649

649:                                              ; preds = %648, %639
  %.pn219.pn.pn = phi { ptr, i32 } [ %.pn219.pn, %648 ], [ %640, %639 ]
  call void @llvm.lifetime.end.p0(i64 376, ptr nonnull %102) #8
  br label %650

.loopexit:                                        ; preds = %568, %556, %638, %619, %600, %577
  %.4 = phi i32 [ 1, %638 ], [ 1, %619 ], [ 1, %577 ], [ 1, %600 ], [ 0, %556 ], [ 0, %568 ]
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %91) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %91) #8
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %89) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %89) #8
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %87) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %87) #8
  br label %654

650:                                              ; preds = %.split304, %.split304.us, %649, %630, %611, %595
  %.pn219.pn.pn.pn = phi { ptr, i32 } [ %.pn219.pn.pn, %649 ], [ %.pn215.pn.pn, %630 ], [ %.pn211.pn.pn, %595 ], [ %.pn207.pn.pn, %611 ], [ %584, %.split304 ], [ %566, %.split304.us ]
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %91) #8
  br label %651

651:                                              ; preds = %650, %582
  %.pn219.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn219.pn.pn.pn, %650 ], [ %583, %582 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %91) #8
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %89) #8
  br label %652

652:                                              ; preds = %651, %580
  %.pn219.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn219.pn.pn.pn.pn, %651 ], [ %581, %580 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %89) #8
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %87) #8
  br label %653

653:                                              ; preds = %652, %578
  %.pn219.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn219.pn.pn.pn.pn.pn, %652 ], [ %579, %578 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %87) #8
  br label %655

654:                                              ; preds = %.loopexit, %521
  %.5 = phi i32 [ %.4, %.loopexit ], [ 1, %521 ]
  call void @_ZN4sptk37SecondOrderAllPassMelCepstralAnalysis6BufferD2Ev(ptr noundef nonnull align 8 dereferenceable(808) %83) #8
  call void @llvm.lifetime.end.p0(i64 808, ptr nonnull %83) #8
  call void @_ZN4sptk37SecondOrderAllPassMelCepstralAnalysisD2Ev(ptr noundef nonnull align 8 dereferenceable(448) %82) #8
  call void @llvm.lifetime.end.p0(i64 448, ptr nonnull %82) #8
  br label %658

655:                                              ; preds = %653, %536
  %.pn219.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn219.pn.pn.pn.pn.pn.pn, %653 ], [ %.pn203.pn.pn, %536 ]
  call void @_ZN4sptk37SecondOrderAllPassMelCepstralAnalysis6BufferD2Ev(ptr noundef nonnull align 8 dereferenceable(808) %83) #8
  br label %656

656:                                              ; preds = %655, %524
  %.pn219.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn219.pn.pn.pn.pn.pn.pn.pn, %655 ], [ %525, %524 ]
  call void @llvm.lifetime.end.p0(i64 808, ptr nonnull %83) #8
  call void @_ZN4sptk37SecondOrderAllPassMelCepstralAnalysisD2Ev(ptr noundef nonnull align 8 dereferenceable(448) %82) #8
  br label %657

657:                                              ; preds = %656, %522
  %.pn219.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn219.pn.pn.pn.pn.pn.pn.pn.pn, %656 ], [ %523, %522 ]
  call void @llvm.lifetime.end.p0(i64 448, ptr nonnull %82) #8
  br label %659

658:                                              ; preds = %654, %486
  %.6 = phi i32 [ %.5, %654 ], [ 1, %486 ]
  call void @_ZN4sptk18WaveformToSpectrum6BufferD2Ev(ptr noundef nonnull align 8 dereferenceable(192) %78) #8
  call void @llvm.lifetime.end.p0(i64 192, ptr nonnull %78) #8
  call void @_ZN4sptk18WaveformToSpectrumD2Ev(ptr noundef nonnull align 8 dereferenceable(240) %77) #8
  call void @llvm.lifetime.end.p0(i64 240, ptr nonnull %77) #8
  br label %662

659:                                              ; preds = %657, %503, %491
  %.pn219.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn219.pn.pn.pn.pn.pn.pn.pn.pn.pn, %657 ], [ %.pn199.pn.pn, %503 ], [ %492, %491 ]
  call void @_ZN4sptk18WaveformToSpectrum6BufferD2Ev(ptr noundef nonnull align 8 dereferenceable(192) %78) #8
  br label %660

660:                                              ; preds = %659, %489
  %.pn219.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn219.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %659 ], [ %490, %489 ]
  call void @llvm.lifetime.end.p0(i64 192, ptr nonnull %78) #8
  call void @_ZN4sptk18WaveformToSpectrumD2Ev(ptr noundef nonnull align 8 dereferenceable(240) %77) #8
  br label %661

661:                                              ; preds = %660, %487
  %.pn219.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn219.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %660 ], [ %488, %487 ]
  call void @llvm.lifetime.end.p0(i64 240, ptr nonnull %77) #8
  br label %663

662:                                              ; preds = %658, %458
  %.7 = phi i32 [ %.6, %658 ], [ 1, %458 ]
  call void @_ZN4sptk18SpectrumToSpectrumD1Ev(ptr noundef nonnull align 8 dereferenceable(65) %73) #8
  call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %73) #8
  br label %665

663:                                              ; preds = %661, %471
  %.pn219.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn219.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %661 ], [ %.pn195.pn.pn, %471 ]
  call void @_ZN4sptk18SpectrumToSpectrumD1Ev(ptr noundef nonnull align 8 dereferenceable(65) %73) #8
  br label %664

664:                                              ; preds = %663, %459
  %.pn219.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn219.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %663 ], [ %460, %459 ]
  call void @llvm.lifetime.end.p0(i64 72, ptr nonnull %73) #8
  br label %666

665:                                              ; preds = %662, %430
  %.8 = phi i32 [ 1, %430 ], [ %.7, %662 ]
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %69) #8
  call void @llvm.lifetime.end.p0(i64 520, ptr nonnull %69) #8
  br label %.thread254

666:                                              ; preds = %664, %443, %431
  %.pn235.pn.pn.pn = phi { ptr, i32 } [ %.pn235.pn.pn, %443 ], [ %.pn219.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %664 ], [ %432, %431 ]
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %69) #8
  call void @llvm.lifetime.end.p0(i64 520, ptr nonnull %69) #8
  br label %667

.thread254:                                       ; preds = %242, %120, %146, %172, %195, %258, %283, %308, %333, %358, %372, %373, %382, %665, %404
  %.11 = phi i32 [ 1, %382 ], [ %.8, %665 ], [ 1, %404 ], [ 1, %242 ], [ 1, %120 ], [ 1, %146 ], [ 1, %172 ], [ 1, %195 ], [ 1, %258 ], [ 1, %283 ], [ 1, %308 ], [ 1, %333 ], [ 1, %358 ], [ 0, %372 ], [ 1, %373 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %9) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %8) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %7) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %6) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %4) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #8
  ret i32 %.11

667:                                              ; preds = %390, %666, %412, %125, %133, %151, %159, %177, %185, %200, %208, %245, %263, %271, %288, %296, %313, %321, %338, %346, %363, %371
  %.pn241.pn.pn.pn = phi { ptr, i32 } [ %.pn133.pn, %371 ], [ %.pn, %363 ], [ %.pn140.pn, %346 ], [ %.pn136, %338 ], [ %.pn147.pn, %321 ], [ %.pn143, %313 ], [ %.pn154.pn, %296 ], [ %.pn150, %288 ], [ %.pn159.pn, %271 ], [ %.pn157, %263 ], [ %.pn164.pn.pn, %245 ], [ %.pn170.pn, %208 ], [ %.pn168, %200 ], [ %.pn176.pn, %185 ], [ %.pn173, %177 ], [ %.pn181.pn, %159 ], [ %.pn179, %151 ], [ %.pn187.pn, %133 ], [ %.pn184, %125 ], [ %.pn241.pn, %390 ], [ %.pn235.pn.pn.pn, %666 ], [ %.pn191.pn, %412 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %9) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %8) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %7) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %6) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %4) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #8
  resume { ptr, i32 } %.pn241.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

declare i32 @ya_getopt_long(i32 noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

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

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

declare i32 @__gxx_personality_v0(...)

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

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

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

declare noundef zeroext i1 @_ZN4sptk12IsValidAlphaEd(double noundef) local_unnamed_addr #2

declare noundef zeroext i1 @_ZN4sptk9IsInRangeEiii(i32 noundef, i32 noundef, i32 noundef) local_unnamed_addr #2

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

declare noundef zeroext i1 @_ZN4sptk12IsPowerOfTwoEi(i32 noundef) local_unnamed_addr #2

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

declare noundef zeroext i1 @_ZN4sptk13SetBinaryModeEv() local_unnamed_addr #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 #3 align 2

declare void @_ZN4sptk18SpectrumToSpectrumC1EiNS0_18InputOutputFormatsES1_dd(ptr noundef nonnull align 8 dereferenceable(65), i32 noundef, i32 noundef, i32 noundef, double noundef, double noundef) unnamed_addr #2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNK4sptk18SpectrumToSpectrum7IsValidEv(ptr noundef nonnull align 8 dereferenceable(65)) local_unnamed_addr #3 align 2

declare void @_ZN4sptk18WaveformToSpectrumC1EiiNS_18SpectrumToSpectrum18InputOutputFormatsEdd(ptr noundef nonnull align 8 dereferenceable(240), i32 noundef, i32 noundef, i32 noundef, double noundef, double noundef) unnamed_addr #2

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZNK4sptk18WaveformToSpectrum7IsValidEv(ptr noundef nonnull align 8 dereferenceable(240)) local_unnamed_addr #4 align 2

declare void @_ZN4sptk37SecondOrderAllPassMelCepstralAnalysisC1Eiiiddid(ptr noundef nonnull align 8 dereferenceable(448), i32 noundef, i32 noundef, i32 noundef, double noundef, double noundef, i32 noundef, double noundef) unnamed_addr #2

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNK4sptk37SecondOrderAllPassMelCepstralAnalysis7IsValidEv(ptr noundef nonnull align 8 dereferenceable(448)) local_unnamed_addr #3 align 2

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

declare noundef zeroext i1 @_ZNK4sptk18SpectrumToSpectrum3RunERKSt6vectorIdSaIdEEPS3_(ptr noundef nonnull align 8 dereferenceable(65), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef) local_unnamed_addr #2

declare noundef zeroext i1 @_ZNK4sptk18WaveformToSpectrum3RunERKSt6vectorIdSaIdEEPS3_PNS0_6BufferE(ptr noundef nonnull align 8 dereferenceable(240), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef, ptr noundef) local_unnamed_addr #2

declare noundef zeroext i1 @_ZNK4sptk37SecondOrderAllPassMelCepstralAnalysis3RunERKSt6vectorIdSaIdEEPS3_PNS0_6BufferE(ptr noundef nonnull align 8 dereferenceable(448), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef, ptr noundef) local_unnamed_addr #2

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

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

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

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

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

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

; Function Attrs: nounwind
declare void @_ZN4sptk18SpectrumToSpectrumD1Ev(ptr noundef nonnull align 8 dereferenceable(65)) unnamed_addr #7

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #3 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 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { mustprogress 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 #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 "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #8 = { nounwind }

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"double", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"any pointer", !7, i64 0}
!13 = !{!14, !14, i64 0}
!14 = !{!"vtable pointer", !8, i64 0}
!15 = distinct !{!15, !16}
!16 = !{!"llvm.loop.mustprogress"}


; Effective O3 passes: CorrelatedValuePropagationPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,InferFunctionAttrsPass,InstCombinePass,InstSimplifyPass,JumpThreadingPass,LCSSAPass,LoopSimplifyCFGPass,LoopSimplifyPass,LoopUnrollPass,SROAPass,SimplifyCFGPass