; LLVM IR from sp-nitech/SPTK :: src/conversion (mel_generalized_cepstrum_to_mel_generalized_cepstrum)

; 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.__gnu_cxx::__normal_iterator" = type { ptr }
%"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum" = type <{ ptr, i32, [4 x i8], double, double, i8, i8, [2 x i8], i32, double, double, i8, i8, [6 x i8], 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::MelGeneralizedCepstrumToMelGeneralizedCepstrum::ModuleInterface *, std::allocator<sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum::ModuleInterface *>>::_Vector_impl" }
%"struct.std::_Vector_base<sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum::ModuleInterface *, std::allocator<sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum::ModuleInterface *>>::_Vector_impl" = type { %"struct.std::_Vector_base<sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum::ModuleInterface *, std::allocator<sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum::ModuleInterface *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum::ModuleInterface *, std::allocator<sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum::ModuleInterface *>>::_Vector_impl_data" = type { ptr, ptr, ptr }

@_ZTVN4sptk46MelGeneralizedCepstrumToMelGeneralizedCepstrumE = external dso_local unnamed_addr constant { [4 x ptr] }, align 8

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN4sptk46MelGeneralizedCepstrumToMelGeneralizedCepstrumC2Eiddbbiddbb(ptr noundef nonnull align 8 dereferenceable(97) %0, i32 noundef %1, double noundef %2, double noundef %3, i1 noundef zeroext %4, i1 noundef zeroext %5, i32 noundef %6, double noundef %7, double noundef %8, i1 noundef zeroext %9, i1 noundef zeroext %10) unnamed_addr #0 align 2 personality ptr @__gxx_personality_v0 {
  %12 = alloca ptr, align 8
  %13 = alloca i32, align 4
  %14 = alloca double, align 8
  %15 = alloca double, align 8
  %16 = alloca i8, align 1
  %17 = alloca i8, align 1
  %18 = alloca i32, align 4
  %19 = alloca double, align 8
  %20 = alloca double, align 8
  %21 = alloca i8, align 1
  %22 = alloca i8, align 1
  %23 = alloca ptr, align 8
  %24 = alloca i32, align 4
  %25 = alloca ptr, align 8
  %26 = alloca ptr, align 8
  %27 = alloca ptr, align 8
  %28 = alloca ptr, align 8
  %29 = alloca ptr, align 8
  %30 = alloca ptr, align 8
  %31 = alloca ptr, align 8
  %32 = alloca ptr, align 8
  %33 = alloca ptr, align 8
  %34 = alloca ptr, align 8
  %35 = alloca ptr, align 8
  %36 = alloca ptr, align 8
  %37 = alloca ptr, align 8
  %38 = alloca ptr, align 8
  %39 = alloca ptr, align 8
  %40 = alloca ptr, align 8
  %41 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %42 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %43 = alloca i32, align 4
  store ptr %0, ptr %12, align 8, !tbaa !5
  store i32 %1, ptr %13, align 4, !tbaa !9
  store double %2, ptr %14, align 8, !tbaa !11
  store double %3, ptr %15, align 8, !tbaa !11
  %44 = zext i1 %4 to i8
  store i8 %44, ptr %16, align 1, !tbaa !13
  %45 = zext i1 %5 to i8
  store i8 %45, ptr %17, align 1, !tbaa !13
  store i32 %6, ptr %18, align 4, !tbaa !9
  store double %7, ptr %19, align 8, !tbaa !11
  store double %8, ptr %20, align 8, !tbaa !11
  %46 = zext i1 %9 to i8
  store i8 %46, ptr %21, align 1, !tbaa !13
  %47 = zext i1 %10 to i8
  store i8 %47, ptr %22, align 1, !tbaa !13
  %48 = load ptr, ptr %12, align 8
  store ptr getelementptr inbounds inrange(-16, 16) ({ [4 x ptr] }, ptr @_ZTVN4sptk46MelGeneralizedCepstrumToMelGeneralizedCepstrumE, i32 0, i32 0, i32 2), ptr %48, align 8, !tbaa !15
  %49 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 1
  %50 = load i32, ptr %13, align 4, !tbaa !9
  store i32 %50, ptr %49, align 8, !tbaa !17
  %51 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 3
  %52 = load double, ptr %14, align 8, !tbaa !11
  store double %52, ptr %51, align 8, !tbaa !23
  %53 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 4
  %54 = load double, ptr %15, align 8, !tbaa !11
  store double %54, ptr %53, align 8, !tbaa !24
  %55 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 5
  %56 = load i8, ptr %16, align 1, !tbaa !13, !range !25, !noundef !26
  %57 = trunc i8 %56 to i1
  %58 = zext i1 %57 to i8
  store i8 %58, ptr %55, align 8, !tbaa !27
  %59 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 6
  %60 = load i8, ptr %17, align 1, !tbaa !13, !range !25, !noundef !26
  %61 = trunc i8 %60 to i1
  %62 = zext i1 %61 to i8
  store i8 %62, ptr %59, align 1, !tbaa !28
  %63 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 8
  %64 = load i32, ptr %18, align 4, !tbaa !9
  store i32 %64, ptr %63, align 4, !tbaa !29
  %65 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 9
  %66 = load double, ptr %19, align 8, !tbaa !11
  store double %66, ptr %65, align 8, !tbaa !30
  %67 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 10
  %68 = load double, ptr %20, align 8, !tbaa !11
  store double %68, ptr %67, align 8, !tbaa !31
  %69 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 11
  %70 = load i8, ptr %21, align 1, !tbaa !13, !range !25, !noundef !26
  %71 = trunc i8 %70 to i1
  %72 = zext i1 %71 to i8
  store i8 %72, ptr %69, align 8, !tbaa !32
  %73 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 12
  %74 = load i8, ptr %22, align 1, !tbaa !13, !range !25, !noundef !26
  %75 = trunc i8 %74 to i1
  %76 = zext i1 %75 to i8
  store i8 %76, ptr %73, align 1, !tbaa !33
  %77 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 14
  store double 0.000000e+00, ptr %77, align 8, !tbaa !34
  %78 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 15
  call void @_ZNSt6vectorIPN4sptk46MelGeneralizedCepstrumToMelGeneralizedCepstrum15ModuleInterfaceESaIS3_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %78) #8
  %79 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 16
  store i8 1, ptr %79, align 8, !tbaa !35
  %80 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 1
  %81 = load i32, ptr %80, align 8, !tbaa !17
  %82 = icmp slt i32 %81, 0
  br i1 %82, label %115, label %83

83:                                               ; preds = %11
  %84 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 3
  %85 = load double, ptr %84, align 8, !tbaa !23
  %86 = invoke noundef zeroext i1 @_ZN4sptk12IsValidAlphaEd(double noundef %85)
          to label %87 unwind label %117

87:                                               ; preds = %83
  br i1 %86, label %88, label %115

88:                                               ; preds = %87
  %89 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 4
  %90 = load double, ptr %89, align 8, !tbaa !24
  %91 = invoke noundef zeroext i1 @_ZN4sptk12IsValidGammaEd(double noundef %90)
          to label %92 unwind label %117

92:                                               ; preds = %88
  br i1 %91, label %93, label %115

93:                                               ; preds = %92
  %94 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 8
  %95 = load i32, ptr %94, align 4, !tbaa !29
  %96 = icmp slt i32 %95, 0
  br i1 %96, label %115, label %97

97:                                               ; preds = %93
  %98 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 9
  %99 = load double, ptr %98, align 8, !tbaa !30
  %100 = invoke noundef zeroext i1 @_ZN4sptk12IsValidAlphaEd(double noundef %99)
          to label %101 unwind label %117

101:                                              ; preds = %97
  br i1 %100, label %102, label %115

102:                                              ; preds = %101
  %103 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 10
  %104 = load double, ptr %103, align 8, !tbaa !31
  %105 = invoke noundef zeroext i1 @_ZN4sptk12IsValidGammaEd(double noundef %104)
          to label %106 unwind label %117

106:                                              ; preds = %102
  br i1 %105, label %107, label %115

107:                                              ; preds = %106
  %108 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 6
  %109 = load i8, ptr %108, align 1, !tbaa !28, !range !25, !noundef !26
  %110 = trunc i8 %109 to i1
  br i1 %110, label %111, label %121

111:                                              ; preds = %107
  %112 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 4
  %113 = load double, ptr %112, align 8, !tbaa !24
  %114 = fcmp oeq double 0.000000e+00, %113
  br i1 %114, label %115, label %121

115:                                              ; preds = %111, %106, %101, %93, %92, %87, %11
  %116 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 16
  store i8 0, ptr %116, align 8, !tbaa !35
  br label %587

117:                                              ; preds = %102, %97, %88, %83
  %118 = landingpad { ptr, i32 }
          cleanup
  %119 = extractvalue { ptr, i32 } %118, 0
  store ptr %119, ptr %23, align 8
  %120 = extractvalue { ptr, i32 } %118, 1
  store i32 %120, ptr %24, align 4
  br label %588

121:                                              ; preds = %111, %107
  %122 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 3
  %123 = load double, ptr %122, align 8, !tbaa !23
  %124 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 9
  %125 = load double, ptr %124, align 8, !tbaa !30
  %126 = fcmp une double %123, %125
  br i1 %126, label %127, label %141

127:                                              ; preds = %121
  %128 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 9
  %129 = load double, ptr %128, align 8, !tbaa !30
  %130 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 3
  %131 = load double, ptr %130, align 8, !tbaa !23
  %132 = fsub double %129, %131
  %133 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 3
  %134 = load double, ptr %133, align 8, !tbaa !23
  %135 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 9
  %136 = load double, ptr %135, align 8, !tbaa !30
  %137 = fneg double %134
  %138 = call double @llvm.fmuladd.f64(double %137, double %136, double 1.000000e+00)
  %139 = fdiv double %132, %138
  %140 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 14
  store double %139, ptr %140, align 8, !tbaa !34
  br label %141

141:                                              ; preds = %127, %121
  %142 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 14
  %143 = load double, ptr %142, align 8, !tbaa !34
  %144 = fcmp oeq double 0.000000e+00, %143
  br i1 %144, label %145, label %382

145:                                              ; preds = %141
  %146 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 1
  %147 = load i32, ptr %146, align 8, !tbaa !17
  %148 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 8
  %149 = load i32, ptr %148, align 4, !tbaa !29
  %150 = icmp eq i32 %147, %149
  br i1 %150, label %151, label %266

151:                                              ; preds = %145
  %152 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 4
  %153 = load double, ptr %152, align 8, !tbaa !24
  %154 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 10
  %155 = load double, ptr %154, align 8, !tbaa !31
  %156 = fcmp oeq double %153, %155
  br i1 %156, label %157, label %266

157:                                              ; preds = %151
  %158 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 6
  %159 = load i8, ptr %158, align 1, !tbaa !28, !range !25, !noundef !26
  %160 = trunc i8 %159 to i1
  br i1 %160, label %184, label %161

161:                                              ; preds = %157
  %162 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 12
  %163 = load i8, ptr %162, align 1, !tbaa !33, !range !25, !noundef !26
  %164 = trunc i8 %163 to i1
  br i1 %164, label %165, label %184

165:                                              ; preds = %161
  %166 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 15
  call void @llvm.lifetime.start.p0(i64 8, ptr %25) #8
  %167 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 24) #9
          to label %168 unwind label %175

168:                                              ; preds = %165
  %169 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 1
  %170 = load i32, ptr %169, align 8, !tbaa !17
  %171 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 4
  %172 = load double, ptr %171, align 8, !tbaa !24
  invoke void @_ZN12_GLOBAL__N_125GammaMultiplicationModuleC2Eid(ptr noundef nonnull align 8 dereferenceable(24) %167, i32 noundef %170, double noundef %172)
          to label %173 unwind label %179

173:                                              ; preds = %168
  store ptr %167, ptr %25, align 8, !tbaa !5
  invoke void @_ZNSt6vectorIPN4sptk46MelGeneralizedCepstrumToMelGeneralizedCepstrum15ModuleInterfaceESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %166, ptr noundef nonnull align 8 dereferenceable(8) %25)
          to label %174 unwind label %175

174:                                              ; preds = %173
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #8
  br label %184

175:                                              ; preds = %173, %165
  %176 = landingpad { ptr, i32 }
          cleanup
  %177 = extractvalue { ptr, i32 } %176, 0
  store ptr %177, ptr %23, align 8
  %178 = extractvalue { ptr, i32 } %176, 1
  store i32 %178, ptr %24, align 4
  br label %183

179:                                              ; preds = %168
  %180 = landingpad { ptr, i32 }
          cleanup
  %181 = extractvalue { ptr, i32 } %180, 0
  store ptr %181, ptr %23, align 8
  %182 = extractvalue { ptr, i32 } %180, 1
  store i32 %182, ptr %24, align 4
  call void @_ZdlPvm(ptr noundef %167, i64 noundef 24) #10
  br label %183

183:                                              ; preds = %179, %175
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #8
  br label %588

184:                                              ; preds = %174, %161, %157
  %185 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 5
  %186 = load i8, ptr %185, align 8, !tbaa !27, !range !25, !noundef !26
  %187 = trunc i8 %186 to i1
  br i1 %187, label %211, label %188

188:                                              ; preds = %184
  %189 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 11
  %190 = load i8, ptr %189, align 8, !tbaa !32, !range !25, !noundef !26
  %191 = trunc i8 %190 to i1
  br i1 %191, label %192, label %211

192:                                              ; preds = %188
  %193 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 15
  call void @llvm.lifetime.start.p0(i64 8, ptr %26) #8
  %194 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 40) #9
          to label %195 unwind label %202

195:                                              ; preds = %192
  %196 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 1
  %197 = load i32, ptr %196, align 8, !tbaa !17
  %198 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 4
  %199 = load double, ptr %198, align 8, !tbaa !24
  invoke void @_ZN12_GLOBAL__N_123GainNormalizationModuleC2Eid(ptr noundef nonnull align 8 dereferenceable(40) %194, i32 noundef %197, double noundef %199)
          to label %200 unwind label %206

200:                                              ; preds = %195
  store ptr %194, ptr %26, align 8, !tbaa !5
  invoke void @_ZNSt6vectorIPN4sptk46MelGeneralizedCepstrumToMelGeneralizedCepstrum15ModuleInterfaceESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %193, ptr noundef nonnull align 8 dereferenceable(8) %26)
          to label %201 unwind label %202

201:                                              ; preds = %200
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #8
  br label %211

202:                                              ; preds = %200, %192
  %203 = landingpad { ptr, i32 }
          cleanup
  %204 = extractvalue { ptr, i32 } %203, 0
  store ptr %204, ptr %23, align 8
  %205 = extractvalue { ptr, i32 } %203, 1
  store i32 %205, ptr %24, align 4
  br label %210

206:                                              ; preds = %195
  %207 = landingpad { ptr, i32 }
          cleanup
  %208 = extractvalue { ptr, i32 } %207, 0
  store ptr %208, ptr %23, align 8
  %209 = extractvalue { ptr, i32 } %207, 1
  store i32 %209, ptr %24, align 4
  call void @_ZdlPvm(ptr noundef %194, i64 noundef 40) #10
  br label %210

210:                                              ; preds = %206, %202
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #8
  br label %588

211:                                              ; preds = %201, %188, %184
  %212 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 5
  %213 = load i8, ptr %212, align 8, !tbaa !27, !range !25, !noundef !26
  %214 = trunc i8 %213 to i1
  br i1 %214, label %215, label %238

215:                                              ; preds = %211
  %216 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 11
  %217 = load i8, ptr %216, align 8, !tbaa !32, !range !25, !noundef !26
  %218 = trunc i8 %217 to i1
  br i1 %218, label %238, label %219

219:                                              ; preds = %215
  %220 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 15
  call void @llvm.lifetime.start.p0(i64 8, ptr %27) #8
  %221 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 40) #9
          to label %222 unwind label %229

222:                                              ; preds = %219
  %223 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 8
  %224 = load i32, ptr %223, align 4, !tbaa !29
  %225 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 10
  %226 = load double, ptr %225, align 8, !tbaa !31
  invoke void @_ZN12_GLOBAL__N_130InverseGainNormalizationModuleC2Eid(ptr noundef nonnull align 8 dereferenceable(40) %221, i32 noundef %224, double noundef %226)
          to label %227 unwind label %233

227:                                              ; preds = %222
  store ptr %221, ptr %27, align 8, !tbaa !5
  invoke void @_ZNSt6vectorIPN4sptk46MelGeneralizedCepstrumToMelGeneralizedCepstrum15ModuleInterfaceESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %220, ptr noundef nonnull align 8 dereferenceable(8) %27)
          to label %228 unwind label %229

228:                                              ; preds = %227
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #8
  br label %238

229:                                              ; preds = %227, %219
  %230 = landingpad { ptr, i32 }
          cleanup
  %231 = extractvalue { ptr, i32 } %230, 0
  store ptr %231, ptr %23, align 8
  %232 = extractvalue { ptr, i32 } %230, 1
  store i32 %232, ptr %24, align 4
  br label %237

233:                                              ; preds = %222
  %234 = landingpad { ptr, i32 }
          cleanup
  %235 = extractvalue { ptr, i32 } %234, 0
  store ptr %235, ptr %23, align 8
  %236 = extractvalue { ptr, i32 } %234, 1
  store i32 %236, ptr %24, align 4
  call void @_ZdlPvm(ptr noundef %221, i64 noundef 40) #10
  br label %237

237:                                              ; preds = %233, %229
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #8
  br label %588

238:                                              ; preds = %228, %215, %211
  %239 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 6
  %240 = load i8, ptr %239, align 1, !tbaa !28, !range !25, !noundef !26
  %241 = trunc i8 %240 to i1
  br i1 %241, label %242, label %265

242:                                              ; preds = %238
  %243 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 12
  %244 = load i8, ptr %243, align 1, !tbaa !33, !range !25, !noundef !26
  %245 = trunc i8 %244 to i1
  br i1 %245, label %265, label %246

246:                                              ; preds = %242
  %247 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 15
  call void @llvm.lifetime.start.p0(i64 8, ptr %28) #8
  %248 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 24) #9
          to label %249 unwind label %256

249:                                              ; preds = %246
  %250 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 8
  %251 = load i32, ptr %250, align 4, !tbaa !29
  %252 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 10
  %253 = load double, ptr %252, align 8, !tbaa !31
  invoke void @_ZN12_GLOBAL__N_119GammaDivisionModuleC2Eid(ptr noundef nonnull align 8 dereferenceable(24) %248, i32 noundef %251, double noundef %253)
          to label %254 unwind label %260

254:                                              ; preds = %249
  store ptr %248, ptr %28, align 8, !tbaa !5
  invoke void @_ZNSt6vectorIPN4sptk46MelGeneralizedCepstrumToMelGeneralizedCepstrum15ModuleInterfaceESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %247, ptr noundef nonnull align 8 dereferenceable(8) %28)
          to label %255 unwind label %256

255:                                              ; preds = %254
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #8
  br label %265

256:                                              ; preds = %254, %246
  %257 = landingpad { ptr, i32 }
          cleanup
  %258 = extractvalue { ptr, i32 } %257, 0
  store ptr %258, ptr %23, align 8
  %259 = extractvalue { ptr, i32 } %257, 1
  store i32 %259, ptr %24, align 4
  br label %264

260:                                              ; preds = %249
  %261 = landingpad { ptr, i32 }
          cleanup
  %262 = extractvalue { ptr, i32 } %261, 0
  store ptr %262, ptr %23, align 8
  %263 = extractvalue { ptr, i32 } %261, 1
  store i32 %263, ptr %24, align 4
  call void @_ZdlPvm(ptr noundef %248, i64 noundef 24) #10
  br label %264

264:                                              ; preds = %260, %256
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #8
  br label %588

265:                                              ; preds = %255, %242, %238
  br label %381

266:                                              ; preds = %151, %145
  %267 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 6
  %268 = load i8, ptr %267, align 1, !tbaa !28, !range !25, !noundef !26
  %269 = trunc i8 %268 to i1
  br i1 %269, label %270, label %289

270:                                              ; preds = %266
  %271 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 15
  call void @llvm.lifetime.start.p0(i64 8, ptr %29) #8
  %272 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 24) #9
          to label %273 unwind label %280

273:                                              ; preds = %270
  %274 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 1
  %275 = load i32, ptr %274, align 8, !tbaa !17
  %276 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 4
  %277 = load double, ptr %276, align 8, !tbaa !24
  invoke void @_ZN12_GLOBAL__N_119GammaDivisionModuleC2Eid(ptr noundef nonnull align 8 dereferenceable(24) %272, i32 noundef %275, double noundef %277)
          to label %278 unwind label %284

278:                                              ; preds = %273
  store ptr %272, ptr %29, align 8, !tbaa !5
  invoke void @_ZNSt6vectorIPN4sptk46MelGeneralizedCepstrumToMelGeneralizedCepstrum15ModuleInterfaceESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %271, ptr noundef nonnull align 8 dereferenceable(8) %29)
          to label %279 unwind label %280

279:                                              ; preds = %278
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #8
  br label %289

280:                                              ; preds = %278, %270
  %281 = landingpad { ptr, i32 }
          cleanup
  %282 = extractvalue { ptr, i32 } %281, 0
  store ptr %282, ptr %23, align 8
  %283 = extractvalue { ptr, i32 } %281, 1
  store i32 %283, ptr %24, align 4
  br label %288

284:                                              ; preds = %273
  %285 = landingpad { ptr, i32 }
          cleanup
  %286 = extractvalue { ptr, i32 } %285, 0
  store ptr %286, ptr %23, align 8
  %287 = extractvalue { ptr, i32 } %285, 1
  store i32 %287, ptr %24, align 4
  call void @_ZdlPvm(ptr noundef %272, i64 noundef 24) #10
  br label %288

288:                                              ; preds = %284, %280
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #8
  br label %588

289:                                              ; preds = %279, %266
  %290 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 5
  %291 = load i8, ptr %290, align 8, !tbaa !27, !range !25, !noundef !26
  %292 = trunc i8 %291 to i1
  br i1 %292, label %312, label %293

293:                                              ; preds = %289
  %294 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 15
  call void @llvm.lifetime.start.p0(i64 8, ptr %30) #8
  %295 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 40) #9
          to label %296 unwind label %303

296:                                              ; preds = %293
  %297 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 1
  %298 = load i32, ptr %297, align 8, !tbaa !17
  %299 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 4
  %300 = load double, ptr %299, align 8, !tbaa !24
  invoke void @_ZN12_GLOBAL__N_123GainNormalizationModuleC2Eid(ptr noundef nonnull align 8 dereferenceable(40) %295, i32 noundef %298, double noundef %300)
          to label %301 unwind label %307

301:                                              ; preds = %296
  store ptr %295, ptr %30, align 8, !tbaa !5
  invoke void @_ZNSt6vectorIPN4sptk46MelGeneralizedCepstrumToMelGeneralizedCepstrum15ModuleInterfaceESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %294, ptr noundef nonnull align 8 dereferenceable(8) %30)
          to label %302 unwind label %303

302:                                              ; preds = %301
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #8
  br label %312

303:                                              ; preds = %301, %293
  %304 = landingpad { ptr, i32 }
          cleanup
  %305 = extractvalue { ptr, i32 } %304, 0
  store ptr %305, ptr %23, align 8
  %306 = extractvalue { ptr, i32 } %304, 1
  store i32 %306, ptr %24, align 4
  br label %311

307:                                              ; preds = %296
  %308 = landingpad { ptr, i32 }
          cleanup
  %309 = extractvalue { ptr, i32 } %308, 0
  store ptr %309, ptr %23, align 8
  %310 = extractvalue { ptr, i32 } %308, 1
  store i32 %310, ptr %24, align 4
  call void @_ZdlPvm(ptr noundef %295, i64 noundef 40) #10
  br label %311

311:                                              ; preds = %307, %303
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #8
  br label %588

312:                                              ; preds = %302, %289
  %313 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 15
  call void @llvm.lifetime.start.p0(i64 8, ptr %31) #8
  %314 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 32) #9
          to label %315 unwind label %339

315:                                              ; preds = %312
  %316 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 1
  %317 = load i32, ptr %316, align 8, !tbaa !17
  %318 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 8
  %319 = load i32, ptr %318, align 4, !tbaa !29
  %320 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 4
  %321 = load double, ptr %320, align 8, !tbaa !24
  %322 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 10
  %323 = load double, ptr %322, align 8, !tbaa !31
  invoke void @_ZN12_GLOBAL__N_152MelGeneralizedCepstrumToMelGeneralizedCepstrumModuleC2Eiidd(ptr noundef nonnull align 8 dereferenceable(32) %314, i32 noundef %317, i32 noundef %319, double noundef %321, double noundef %323)
          to label %324 unwind label %343

324:                                              ; preds = %315
  store ptr %314, ptr %31, align 8, !tbaa !5
  invoke void @_ZNSt6vectorIPN4sptk46MelGeneralizedCepstrumToMelGeneralizedCepstrum15ModuleInterfaceESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %313, ptr noundef nonnull align 8 dereferenceable(8) %31)
          to label %325 unwind label %339

325:                                              ; preds = %324
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #8
  %326 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 11
  %327 = load i8, ptr %326, align 8, !tbaa !32, !range !25, !noundef !26
  %328 = trunc i8 %327 to i1
  br i1 %328, label %357, label %329

329:                                              ; preds = %325
  %330 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 15
  call void @llvm.lifetime.start.p0(i64 8, ptr %32) #8
  %331 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 40) #9
          to label %332 unwind label %348

332:                                              ; preds = %329
  %333 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 8
  %334 = load i32, ptr %333, align 4, !tbaa !29
  %335 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 10
  %336 = load double, ptr %335, align 8, !tbaa !31
  invoke void @_ZN12_GLOBAL__N_130InverseGainNormalizationModuleC2Eid(ptr noundef nonnull align 8 dereferenceable(40) %331, i32 noundef %334, double noundef %336)
          to label %337 unwind label %352

337:                                              ; preds = %332
  store ptr %331, ptr %32, align 8, !tbaa !5
  invoke void @_ZNSt6vectorIPN4sptk46MelGeneralizedCepstrumToMelGeneralizedCepstrum15ModuleInterfaceESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %330, ptr noundef nonnull align 8 dereferenceable(8) %32)
          to label %338 unwind label %348

338:                                              ; preds = %337
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #8
  br label %357

339:                                              ; preds = %324, %312
  %340 = landingpad { ptr, i32 }
          cleanup
  %341 = extractvalue { ptr, i32 } %340, 0
  store ptr %341, ptr %23, align 8
  %342 = extractvalue { ptr, i32 } %340, 1
  store i32 %342, ptr %24, align 4
  br label %347

343:                                              ; preds = %315
  %344 = landingpad { ptr, i32 }
          cleanup
  %345 = extractvalue { ptr, i32 } %344, 0
  store ptr %345, ptr %23, align 8
  %346 = extractvalue { ptr, i32 } %344, 1
  store i32 %346, ptr %24, align 4
  call void @_ZdlPvm(ptr noundef %314, i64 noundef 32) #10
  br label %347

347:                                              ; preds = %343, %339
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #8
  br label %588

348:                                              ; preds = %337, %329
  %349 = landingpad { ptr, i32 }
          cleanup
  %350 = extractvalue { ptr, i32 } %349, 0
  store ptr %350, ptr %23, align 8
  %351 = extractvalue { ptr, i32 } %349, 1
  store i32 %351, ptr %24, align 4
  br label %356

352:                                              ; preds = %332
  %353 = landingpad { ptr, i32 }
          cleanup
  %354 = extractvalue { ptr, i32 } %353, 0
  store ptr %354, ptr %23, align 8
  %355 = extractvalue { ptr, i32 } %353, 1
  store i32 %355, ptr %24, align 4
  call void @_ZdlPvm(ptr noundef %331, i64 noundef 40) #10
  br label %356

356:                                              ; preds = %352, %348
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #8
  br label %588

357:                                              ; preds = %338, %325
  %358 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 12
  %359 = load i8, ptr %358, align 1, !tbaa !33, !range !25, !noundef !26
  %360 = trunc i8 %359 to i1
  br i1 %360, label %361, label %380

361:                                              ; preds = %357
  %362 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 15
  call void @llvm.lifetime.start.p0(i64 8, ptr %33) #8
  %363 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 24) #9
          to label %364 unwind label %371

364:                                              ; preds = %361
  %365 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 8
  %366 = load i32, ptr %365, align 4, !tbaa !29
  %367 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 10
  %368 = load double, ptr %367, align 8, !tbaa !31
  invoke void @_ZN12_GLOBAL__N_125GammaMultiplicationModuleC2Eid(ptr noundef nonnull align 8 dereferenceable(24) %363, i32 noundef %366, double noundef %368)
          to label %369 unwind label %375

369:                                              ; preds = %364
  store ptr %363, ptr %33, align 8, !tbaa !5
  invoke void @_ZNSt6vectorIPN4sptk46MelGeneralizedCepstrumToMelGeneralizedCepstrum15ModuleInterfaceESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %362, ptr noundef nonnull align 8 dereferenceable(8) %33)
          to label %370 unwind label %371

370:                                              ; preds = %369
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #8
  br label %380

371:                                              ; preds = %369, %361
  %372 = landingpad { ptr, i32 }
          cleanup
  %373 = extractvalue { ptr, i32 } %372, 0
  store ptr %373, ptr %23, align 8
  %374 = extractvalue { ptr, i32 } %372, 1
  store i32 %374, ptr %24, align 4
  br label %379

375:                                              ; preds = %364
  %376 = landingpad { ptr, i32 }
          cleanup
  %377 = extractvalue { ptr, i32 } %376, 0
  store ptr %377, ptr %23, align 8
  %378 = extractvalue { ptr, i32 } %376, 1
  store i32 %378, ptr %24, align 4
  call void @_ZdlPvm(ptr noundef %363, i64 noundef 24) #10
  br label %379

379:                                              ; preds = %375, %371
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #8
  br label %588

380:                                              ; preds = %370, %357
  br label %381

381:                                              ; preds = %380, %265
  br label %559

382:                                              ; preds = %141
  %383 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 6
  %384 = load i8, ptr %383, align 1, !tbaa !28, !range !25, !noundef !26
  %385 = trunc i8 %384 to i1
  br i1 %385, label %386, label %405

386:                                              ; preds = %382
  %387 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 15
  call void @llvm.lifetime.start.p0(i64 8, ptr %34) #8
  %388 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 24) #9
          to label %389 unwind label %396

389:                                              ; preds = %386
  %390 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 1
  %391 = load i32, ptr %390, align 8, !tbaa !17
  %392 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 4
  %393 = load double, ptr %392, align 8, !tbaa !24
  invoke void @_ZN12_GLOBAL__N_119GammaDivisionModuleC2Eid(ptr noundef nonnull align 8 dereferenceable(24) %388, i32 noundef %391, double noundef %393)
          to label %394 unwind label %400

394:                                              ; preds = %389
  store ptr %388, ptr %34, align 8, !tbaa !5
  invoke void @_ZNSt6vectorIPN4sptk46MelGeneralizedCepstrumToMelGeneralizedCepstrum15ModuleInterfaceESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %387, ptr noundef nonnull align 8 dereferenceable(8) %34)
          to label %395 unwind label %396

395:                                              ; preds = %394
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #8
  br label %405

396:                                              ; preds = %394, %386
  %397 = landingpad { ptr, i32 }
          cleanup
  %398 = extractvalue { ptr, i32 } %397, 0
  store ptr %398, ptr %23, align 8
  %399 = extractvalue { ptr, i32 } %397, 1
  store i32 %399, ptr %24, align 4
  br label %404

400:                                              ; preds = %389
  %401 = landingpad { ptr, i32 }
          cleanup
  %402 = extractvalue { ptr, i32 } %401, 0
  store ptr %402, ptr %23, align 8
  %403 = extractvalue { ptr, i32 } %401, 1
  store i32 %403, ptr %24, align 4
  call void @_ZdlPvm(ptr noundef %388, i64 noundef 24) #10
  br label %404

404:                                              ; preds = %400, %396
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #8
  br label %588

405:                                              ; preds = %395, %382
  %406 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 5
  %407 = load i8, ptr %406, align 8, !tbaa !27, !range !25, !noundef !26
  %408 = trunc i8 %407 to i1
  br i1 %408, label %409, label %428

409:                                              ; preds = %405
  %410 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 15
  call void @llvm.lifetime.start.p0(i64 8, ptr %35) #8
  %411 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 40) #9
          to label %412 unwind label %419

412:                                              ; preds = %409
  %413 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 1
  %414 = load i32, ptr %413, align 8, !tbaa !17
  %415 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 4
  %416 = load double, ptr %415, align 8, !tbaa !24
  invoke void @_ZN12_GLOBAL__N_130InverseGainNormalizationModuleC2Eid(ptr noundef nonnull align 8 dereferenceable(40) %411, i32 noundef %414, double noundef %416)
          to label %417 unwind label %423

417:                                              ; preds = %412
  store ptr %411, ptr %35, align 8, !tbaa !5
  invoke void @_ZNSt6vectorIPN4sptk46MelGeneralizedCepstrumToMelGeneralizedCepstrum15ModuleInterfaceESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %410, ptr noundef nonnull align 8 dereferenceable(8) %35)
          to label %418 unwind label %419

418:                                              ; preds = %417
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #8
  br label %428

419:                                              ; preds = %417, %409
  %420 = landingpad { ptr, i32 }
          cleanup
  %421 = extractvalue { ptr, i32 } %420, 0
  store ptr %421, ptr %23, align 8
  %422 = extractvalue { ptr, i32 } %420, 1
  store i32 %422, ptr %24, align 4
  br label %427

423:                                              ; preds = %412
  %424 = landingpad { ptr, i32 }
          cleanup
  %425 = extractvalue { ptr, i32 } %424, 0
  store ptr %425, ptr %23, align 8
  %426 = extractvalue { ptr, i32 } %424, 1
  store i32 %426, ptr %24, align 4
  call void @_ZdlPvm(ptr noundef %411, i64 noundef 40) #10
  br label %427

427:                                              ; preds = %423, %419
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #8
  br label %588

428:                                              ; preds = %418, %405
  %429 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 15
  call void @llvm.lifetime.start.p0(i64 8, ptr %36) #8
  %430 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 40) #9
          to label %431 unwind label %459

431:                                              ; preds = %428
  %432 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 1
  %433 = load i32, ptr %432, align 8, !tbaa !17
  %434 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 8
  %435 = load i32, ptr %434, align 4, !tbaa !29
  %436 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 14
  %437 = load double, ptr %436, align 8, !tbaa !34
  invoke void @_ZN12_GLOBAL__N_124FrequencyTransformModuleC2Eiid(ptr noundef nonnull align 8 dereferenceable(40) %430, i32 noundef %433, i32 noundef %435, double noundef %437)
          to label %438 unwind label %463

438:                                              ; preds = %431
  store ptr %430, ptr %36, align 8, !tbaa !5
  invoke void @_ZNSt6vectorIPN4sptk46MelGeneralizedCepstrumToMelGeneralizedCepstrum15ModuleInterfaceESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %429, ptr noundef nonnull align 8 dereferenceable(8) %36)
          to label %439 unwind label %459

439:                                              ; preds = %438
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #8
  %440 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 11
  %441 = load i8, ptr %440, align 8, !tbaa !32, !range !25, !noundef !26
  %442 = trunc i8 %441 to i1
  br i1 %442, label %449, label %443

443:                                              ; preds = %439
  %444 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 4
  %445 = load double, ptr %444, align 8, !tbaa !24
  %446 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 10
  %447 = load double, ptr %446, align 8, !tbaa !31
  %448 = fcmp une double %445, %447
  br i1 %448, label %449, label %477

449:                                              ; preds = %443, %439
  %450 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 15
  call void @llvm.lifetime.start.p0(i64 8, ptr %37) #8
  %451 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 40) #9
          to label %452 unwind label %468

452:                                              ; preds = %449
  %453 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 8
  %454 = load i32, ptr %453, align 4, !tbaa !29
  %455 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 4
  %456 = load double, ptr %455, align 8, !tbaa !24
  invoke void @_ZN12_GLOBAL__N_123GainNormalizationModuleC2Eid(ptr noundef nonnull align 8 dereferenceable(40) %451, i32 noundef %454, double noundef %456)
          to label %457 unwind label %472

457:                                              ; preds = %452
  store ptr %451, ptr %37, align 8, !tbaa !5
  invoke void @_ZNSt6vectorIPN4sptk46MelGeneralizedCepstrumToMelGeneralizedCepstrum15ModuleInterfaceESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %450, ptr noundef nonnull align 8 dereferenceable(8) %37)
          to label %458 unwind label %468

458:                                              ; preds = %457
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #8
  br label %477

459:                                              ; preds = %438, %428
  %460 = landingpad { ptr, i32 }
          cleanup
  %461 = extractvalue { ptr, i32 } %460, 0
  store ptr %461, ptr %23, align 8
  %462 = extractvalue { ptr, i32 } %460, 1
  store i32 %462, ptr %24, align 4
  br label %467

463:                                              ; preds = %431
  %464 = landingpad { ptr, i32 }
          cleanup
  %465 = extractvalue { ptr, i32 } %464, 0
  store ptr %465, ptr %23, align 8
  %466 = extractvalue { ptr, i32 } %464, 1
  store i32 %466, ptr %24, align 4
  call void @_ZdlPvm(ptr noundef %430, i64 noundef 40) #10
  br label %467

467:                                              ; preds = %463, %459
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #8
  br label %588

468:                                              ; preds = %457, %449
  %469 = landingpad { ptr, i32 }
          cleanup
  %470 = extractvalue { ptr, i32 } %469, 0
  store ptr %470, ptr %23, align 8
  %471 = extractvalue { ptr, i32 } %469, 1
  store i32 %471, ptr %24, align 4
  br label %476

472:                                              ; preds = %452
  %473 = landingpad { ptr, i32 }
          cleanup
  %474 = extractvalue { ptr, i32 } %473, 0
  store ptr %474, ptr %23, align 8
  %475 = extractvalue { ptr, i32 } %473, 1
  store i32 %475, ptr %24, align 4
  call void @_ZdlPvm(ptr noundef %451, i64 noundef 40) #10
  br label %476

476:                                              ; preds = %472, %468
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #8
  br label %588

477:                                              ; preds = %458, %443
  %478 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 4
  %479 = load double, ptr %478, align 8, !tbaa !24
  %480 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 10
  %481 = load double, ptr %480, align 8, !tbaa !31
  %482 = fcmp une double %479, %481
  br i1 %482, label %483, label %506

483:                                              ; preds = %477
  %484 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 15
  call void @llvm.lifetime.start.p0(i64 8, ptr %38) #8
  %485 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 32) #9
          to label %486 unwind label %497

486:                                              ; preds = %483
  %487 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 8
  %488 = load i32, ptr %487, align 4, !tbaa !29
  %489 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 8
  %490 = load i32, ptr %489, align 4, !tbaa !29
  %491 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 4
  %492 = load double, ptr %491, align 8, !tbaa !24
  %493 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 10
  %494 = load double, ptr %493, align 8, !tbaa !31
  invoke void @_ZN12_GLOBAL__N_152MelGeneralizedCepstrumToMelGeneralizedCepstrumModuleC2Eiidd(ptr noundef nonnull align 8 dereferenceable(32) %485, i32 noundef %488, i32 noundef %490, double noundef %492, double noundef %494)
          to label %495 unwind label %501

495:                                              ; preds = %486
  store ptr %485, ptr %38, align 8, !tbaa !5
  invoke void @_ZNSt6vectorIPN4sptk46MelGeneralizedCepstrumToMelGeneralizedCepstrum15ModuleInterfaceESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %484, ptr noundef nonnull align 8 dereferenceable(8) %38)
          to label %496 unwind label %497

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

497:                                              ; preds = %495, %483
  %498 = landingpad { ptr, i32 }
          cleanup
  %499 = extractvalue { ptr, i32 } %498, 0
  store ptr %499, ptr %23, align 8
  %500 = extractvalue { ptr, i32 } %498, 1
  store i32 %500, ptr %24, align 4
  br label %505

501:                                              ; preds = %486
  %502 = landingpad { ptr, i32 }
          cleanup
  %503 = extractvalue { ptr, i32 } %502, 0
  store ptr %503, ptr %23, align 8
  %504 = extractvalue { ptr, i32 } %502, 1
  store i32 %504, ptr %24, align 4
  call void @_ZdlPvm(ptr noundef %485, i64 noundef 32) #10
  br label %505

505:                                              ; preds = %501, %497
  call void @llvm.lifetime.end.p0(i64 8, ptr %38) #8
  br label %588

506:                                              ; preds = %496, %477
  %507 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 11
  %508 = load i8, ptr %507, align 8, !tbaa !32, !range !25, !noundef !26
  %509 = trunc i8 %508 to i1
  br i1 %509, label %535, label %510

510:                                              ; preds = %506
  %511 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 4
  %512 = load double, ptr %511, align 8, !tbaa !24
  %513 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 10
  %514 = load double, ptr %513, align 8, !tbaa !31
  %515 = fcmp une double %512, %514
  br i1 %515, label %516, label %535

516:                                              ; preds = %510
  %517 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 15
  call void @llvm.lifetime.start.p0(i64 8, ptr %39) #8
  %518 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 40) #9
          to label %519 unwind label %526

519:                                              ; preds = %516
  %520 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 8
  %521 = load i32, ptr %520, align 4, !tbaa !29
  %522 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 10
  %523 = load double, ptr %522, align 8, !tbaa !31
  invoke void @_ZN12_GLOBAL__N_130InverseGainNormalizationModuleC2Eid(ptr noundef nonnull align 8 dereferenceable(40) %518, i32 noundef %521, double noundef %523)
          to label %524 unwind label %530

524:                                              ; preds = %519
  store ptr %518, ptr %39, align 8, !tbaa !5
  invoke void @_ZNSt6vectorIPN4sptk46MelGeneralizedCepstrumToMelGeneralizedCepstrum15ModuleInterfaceESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %517, ptr noundef nonnull align 8 dereferenceable(8) %39)
          to label %525 unwind label %526

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

526:                                              ; preds = %524, %516
  %527 = landingpad { ptr, i32 }
          cleanup
  %528 = extractvalue { ptr, i32 } %527, 0
  store ptr %528, ptr %23, align 8
  %529 = extractvalue { ptr, i32 } %527, 1
  store i32 %529, ptr %24, align 4
  br label %534

530:                                              ; preds = %519
  %531 = landingpad { ptr, i32 }
          cleanup
  %532 = extractvalue { ptr, i32 } %531, 0
  store ptr %532, ptr %23, align 8
  %533 = extractvalue { ptr, i32 } %531, 1
  store i32 %533, ptr %24, align 4
  call void @_ZdlPvm(ptr noundef %518, i64 noundef 40) #10
  br label %534

534:                                              ; preds = %530, %526
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #8
  br label %588

535:                                              ; preds = %525, %510, %506
  %536 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 12
  %537 = load i8, ptr %536, align 1, !tbaa !33, !range !25, !noundef !26
  %538 = trunc i8 %537 to i1
  br i1 %538, label %539, label %558

539:                                              ; preds = %535
  %540 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 15
  call void @llvm.lifetime.start.p0(i64 8, ptr %40) #8
  %541 = invoke noalias noundef nonnull ptr @_Znwm(i64 noundef 24) #9
          to label %542 unwind label %549

542:                                              ; preds = %539
  %543 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 8
  %544 = load i32, ptr %543, align 4, !tbaa !29
  %545 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 10
  %546 = load double, ptr %545, align 8, !tbaa !31
  invoke void @_ZN12_GLOBAL__N_125GammaMultiplicationModuleC2Eid(ptr noundef nonnull align 8 dereferenceable(24) %541, i32 noundef %544, double noundef %546)
          to label %547 unwind label %553

547:                                              ; preds = %542
  store ptr %541, ptr %40, align 8, !tbaa !5
  invoke void @_ZNSt6vectorIPN4sptk46MelGeneralizedCepstrumToMelGeneralizedCepstrum15ModuleInterfaceESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %540, ptr noundef nonnull align 8 dereferenceable(8) %40)
          to label %548 unwind label %549

548:                                              ; preds = %547
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #8
  br label %558

549:                                              ; preds = %547, %539
  %550 = landingpad { ptr, i32 }
          cleanup
  %551 = extractvalue { ptr, i32 } %550, 0
  store ptr %551, ptr %23, align 8
  %552 = extractvalue { ptr, i32 } %550, 1
  store i32 %552, ptr %24, align 4
  br label %557

553:                                              ; preds = %542
  %554 = landingpad { ptr, i32 }
          cleanup
  %555 = extractvalue { ptr, i32 } %554, 0
  store ptr %555, ptr %23, align 8
  %556 = extractvalue { ptr, i32 } %554, 1
  store i32 %556, ptr %24, align 4
  call void @_ZdlPvm(ptr noundef %541, i64 noundef 24) #10
  br label %557

557:                                              ; preds = %553, %549
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #8
  br label %588

558:                                              ; preds = %548, %535
  br label %559

559:                                              ; preds = %558, %381
  call void @llvm.lifetime.start.p0(i64 8, ptr %41) #8
  %560 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 15
  %561 = call ptr @_ZNSt6vectorIPN4sptk46MelGeneralizedCepstrumToMelGeneralizedCepstrum15ModuleInterfaceESaIS3_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %560) #8
  %562 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %41, i32 0, i32 0
  store ptr %561, ptr %562, align 8
  br label %563

563:                                              ; preds = %584, %559
  call void @llvm.lifetime.start.p0(i64 8, ptr %42) #8
  %564 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 15
  %565 = call ptr @_ZNSt6vectorIPN4sptk46MelGeneralizedCepstrumToMelGeneralizedCepstrum15ModuleInterfaceESaIS3_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %564) #8
  %566 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %42, i32 0, i32 0
  store ptr %565, ptr %566, align 8
  %567 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPPN4sptk46MelGeneralizedCepstrumToMelGeneralizedCepstrum15ModuleInterfaceESt6vectorIS4_SaIS4_EEEEbRKNS_17__normal_iteratorIT_T0_EESE_(ptr noundef nonnull align 8 dereferenceable(8) %41, ptr noundef nonnull align 8 dereferenceable(8) %42) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %42) #8
  br i1 %567, label %569, label %568

568:                                              ; preds = %563
  store i32 2, ptr %43, align 4
  br label %586

569:                                              ; preds = %563
  %570 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPPN4sptk46MelGeneralizedCepstrumToMelGeneralizedCepstrum15ModuleInterfaceESt6vectorIS4_SaIS4_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %41) #8
  %571 = load ptr, ptr %570, align 8, !tbaa !5
  %572 = load ptr, ptr %571, align 8, !tbaa !15
  %573 = getelementptr inbounds ptr, ptr %572, i64 2
  %574 = load ptr, ptr %573, align 8
  %575 = invoke noundef zeroext i1 %574(ptr noundef nonnull align 8 dereferenceable(8) %571)
          to label %576 unwind label %579

576:                                              ; preds = %569
  br i1 %575, label %583, label %577

577:                                              ; preds = %576
  %578 = getelementptr inbounds %"class.sptk::MelGeneralizedCepstrumToMelGeneralizedCepstrum", ptr %48, i32 0, i32 16
  store i8 0, ptr %578, align 8, !tbaa !35
  store i32 2, ptr %43, align 4
  br label %586

579:                                              ; preds = %569
  %580 = landingpad { ptr, i32 }
          cleanup
  %581 = extractvalue { ptr, i32 } %580, 0
  store ptr %581, ptr %23, align 8
  %582 = extractvalue { ptr, i32 } %580, 1
  store i32 %582, ptr %24, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #8
  br label %588

583:                                              ; preds = %576
  br label %584

584:                                              ; preds = %583
  %585 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPPN4sptk46MelGeneralizedCepstrumToMelGeneralizedCepstrum15ModuleInterfaceESt6vectorIS4_SaIS4_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %41) #8
  br label %563, !llvm.loop !36

586:                                              ; preds = %577, %568
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #8
  br label %587

587:                                              ; preds = %586, %115
  ret void

588:                                              ; preds = %579, %557, %534, %505, %476, %467, %427, %404, %379, %356, %347, %311, %288, %264, %237, %210, %183, %117
  call void @_ZNSt6vectorIPN4sptk46MelGeneralizedCepstrumToMelGeneralizedCepstrum15ModuleInterfaceESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %78) #8
  br label %589

589:                                              ; preds = %588
  %590 = load ptr, ptr %23, align 8
  %591 = load i32, ptr %24, align 4
  %592 = insertvalue { ptr, i32 } poison, ptr %590, 0
  %593 = insertvalue { ptr, i32 } %592, i32 %591, 1
  resume { ptr, i32 } %593
}

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

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

declare i32 @__gxx_personality_v0(...)

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

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

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

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

; Function Attrs: nobuiltin allocsize(0)
declare noundef nonnull ptr @_Znwm(i64 noundef) #5

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

; Function Attrs: nobuiltin nounwind
declare void @_ZdlPvm(ptr noundef, i64 noundef) #6

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

; Function Attrs: mustprogress uwtable
declare hidden void @_ZN12_GLOBAL__N_123GainNormalizationModuleC2Eid(ptr noundef nonnull align 8 dereferenceable(40), i32 noundef, double noundef) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @_ZN12_GLOBAL__N_130InverseGainNormalizationModuleC2Eid(ptr noundef nonnull align 8 dereferenceable(40), i32 noundef, double noundef) unnamed_addr #0 align 2

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

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

; Function Attrs: mustprogress uwtable
declare hidden void @_ZN12_GLOBAL__N_124FrequencyTransformModuleC2Eiid(ptr noundef nonnull align 8 dereferenceable(40), i32 noundef, i32 noundef, double noundef) unnamed_addr #0 align 2

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN9__gnu_cxxneIPPN4sptk46MelGeneralizedCepstrumToMelGeneralizedCepstrum15ModuleInterfaceESt6vectorIS4_SaIS4_EEEEbRKNS_17__normal_iteratorIT_T0_EESE_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) #7

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

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

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

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

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"int", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"double", !7, i64 0}
!13 = !{!14, !14, i64 0}
!14 = !{!"bool", !7, i64 0}
!15 = !{!16, !16, i64 0}
!16 = !{!"vtable pointer", !8, i64 0}
!17 = !{!18, !10, i64 8}
!18 = !{!"_ZTSN4sptk46MelGeneralizedCepstrumToMelGeneralizedCepstrumE", !10, i64 8, !12, i64 16, !12, i64 24, !14, i64 32, !14, i64 33, !10, i64 36, !12, i64 40, !12, i64 48, !14, i64 56, !14, i64 57, !12, i64 64, !19, i64 72, !14, i64 96}
!19 = !{!"_ZTSSt6vectorIPN4sptk46MelGeneralizedCepstrumToMelGeneralizedCepstrum15ModuleInterfaceESaIS3_EE", !20, i64 0}
!20 = !{!"_ZTSSt12_Vector_baseIPN4sptk46MelGeneralizedCepstrumToMelGeneralizedCepstrum15ModuleInterfaceESaIS3_EE", !21, i64 0}
!21 = !{!"_ZTSNSt12_Vector_baseIPN4sptk46MelGeneralizedCepstrumToMelGeneralizedCepstrum15ModuleInterfaceESaIS3_EE12_Vector_implE", !22, i64 0}
!22 = !{!"_ZTSNSt12_Vector_baseIPN4sptk46MelGeneralizedCepstrumToMelGeneralizedCepstrum15ModuleInterfaceESaIS3_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!23 = !{!18, !12, i64 16}
!24 = !{!18, !12, i64 24}
!25 = !{i8 0, i8 2}
!26 = !{}
!27 = !{!18, !14, i64 32}
!28 = !{!18, !14, i64 33}
!29 = !{!18, !10, i64 36}
!30 = !{!18, !12, i64 40}
!31 = !{!18, !12, i64 48}
!32 = !{!18, !14, i64 56}
!33 = !{!18, !14, i64 57}
!34 = !{!18, !12, i64 64}
!35 = !{!18, !14, i64 96}
!36 = distinct !{!36, !37}
!37 = !{!"llvm.loop.mustprogress"}


; 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.__gnu_cxx::__normal_iterator" = type { ptr }

@_ZTVN4sptk46MelGeneralizedCepstrumToMelGeneralizedCepstrumE = external dso_local unnamed_addr constant { [4 x ptr] }, align 8

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN4sptk46MelGeneralizedCepstrumToMelGeneralizedCepstrumC2Eiddbbiddbb(ptr noundef nonnull align 8 dereferenceable(97) %0, i32 noundef %1, double noundef %2, double noundef %3, i1 noundef zeroext %4, i1 noundef zeroext %5, i32 noundef %6, double noundef %7, double noundef %8, i1 noundef zeroext %9, i1 noundef zeroext %10) unnamed_addr #0 align 2 personality ptr @__gxx_personality_v0 {
  %12 = alloca ptr, align 8
  %13 = alloca ptr, align 8
  %14 = alloca ptr, align 8
  %15 = alloca ptr, align 8
  %16 = alloca ptr, align 8
  %17 = alloca ptr, align 8
  %18 = alloca ptr, align 8
  %19 = alloca ptr, align 8
  %20 = alloca ptr, align 8
  %21 = alloca ptr, align 8
  %22 = alloca ptr, align 8
  %23 = alloca ptr, align 8
  %24 = alloca ptr, align 8
  %25 = alloca ptr, align 8
  %26 = alloca ptr, align 8
  %27 = alloca ptr, align 8
  %28 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %29 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %30 = zext i1 %4 to i8
  %31 = zext i1 %5 to i8
  %32 = zext i1 %9 to i8
  %33 = zext i1 %10 to i8
  store ptr getelementptr inbounds inrange(-16, 16) (i8, ptr @_ZTVN4sptk46MelGeneralizedCepstrumToMelGeneralizedCepstrumE, i64 16), ptr %0, align 8, !tbaa !5
  %34 = getelementptr inbounds i8, ptr %0, i64 8
  store i32 %1, ptr %34, align 8, !tbaa !8
  %35 = getelementptr inbounds i8, ptr %0, i64 16
  store double %2, ptr %35, align 8, !tbaa !19
  %36 = getelementptr inbounds i8, ptr %0, i64 24
  store double %3, ptr %36, align 8, !tbaa !20
  %37 = getelementptr inbounds i8, ptr %0, i64 32
  store i8 %30, ptr %37, align 8, !tbaa !21
  %38 = getelementptr inbounds i8, ptr %0, i64 33
  store i8 %31, ptr %38, align 1, !tbaa !22
  %39 = getelementptr inbounds i8, ptr %0, i64 36
  store i32 %6, ptr %39, align 4, !tbaa !23
  %40 = getelementptr inbounds i8, ptr %0, i64 40
  store double %7, ptr %40, align 8, !tbaa !24
  %41 = getelementptr inbounds i8, ptr %0, i64 48
  store double %8, ptr %41, align 8, !tbaa !25
  %42 = getelementptr inbounds i8, ptr %0, i64 56
  store i8 %32, ptr %42, align 8, !tbaa !26
  %43 = getelementptr inbounds i8, ptr %0, i64 57
  store i8 %33, ptr %43, align 1, !tbaa !27
  %44 = getelementptr inbounds i8, ptr %0, i64 64
  store double 0.000000e+00, ptr %44, align 8, !tbaa !28
  %45 = getelementptr inbounds i8, ptr %0, i64 72
  tail call void @_ZNSt6vectorIPN4sptk46MelGeneralizedCepstrumToMelGeneralizedCepstrum15ModuleInterfaceESaIS3_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %45) #8
  %46 = getelementptr inbounds i8, ptr %0, i64 96
  store i8 1, ptr %46, align 8, !tbaa !29
  %47 = load i32, ptr %34, align 8, !tbaa !8
  %48 = icmp slt i32 %47, 0
  br i1 %48, label %72, label %49

49:                                               ; preds = %11
  %50 = load double, ptr %35, align 8, !tbaa !19
  %51 = invoke noundef zeroext i1 @_ZN4sptk12IsValidAlphaEd(double noundef %50)
          to label %52 unwind label %73

52:                                               ; preds = %49
  br i1 %51, label %53, label %72

53:                                               ; preds = %52
  %54 = load double, ptr %36, align 8, !tbaa !20
  %55 = invoke noundef zeroext i1 @_ZN4sptk12IsValidGammaEd(double noundef %54)
          to label %56 unwind label %73

56:                                               ; preds = %53
  %57 = load i32, ptr %39, align 4
  %58 = icmp sgt i32 %57, -1
  %or.cond.not = select i1 %55, i1 %58, i1 false
  br i1 %or.cond.not, label %59, label %72

59:                                               ; preds = %56
  %60 = load double, ptr %40, align 8, !tbaa !24
  %61 = invoke noundef zeroext i1 @_ZN4sptk12IsValidAlphaEd(double noundef %60)
          to label %62 unwind label %73

62:                                               ; preds = %59
  br i1 %61, label %63, label %72

63:                                               ; preds = %62
  %64 = load double, ptr %41, align 8, !tbaa !25
  %65 = invoke noundef zeroext i1 @_ZN4sptk12IsValidGammaEd(double noundef %64)
          to label %66 unwind label %73

66:                                               ; preds = %63
  br i1 %65, label %67, label %72

67:                                               ; preds = %66
  %68 = load i8, ptr %38, align 1, !tbaa !22, !range !30, !noundef !31
  %69 = trunc nuw i8 %68 to i1
  %70 = load double, ptr %36, align 8
  %71 = fcmp oeq double %70, 0.000000e+00
  %or.cond42 = select i1 %69, i1 %71, i1 false
  br i1 %or.cond42, label %72, label %75

72:                                               ; preds = %67, %66, %62, %56, %52, %11
  store i8 0, ptr %46, align 8, !tbaa !29
  br label %322

73:                                               ; preds = %63, %59, %53, %49
  %74 = landingpad { ptr, i32 }
          cleanup
  br label %323

75:                                               ; preds = %67
  %76 = load double, ptr %35, align 8, !tbaa !19
  %77 = load double, ptr %40, align 8, !tbaa !24
  %78 = fcmp une double %76, %77
  br i1 %78, label %79, label %thread-pre-split

79:                                               ; preds = %75
  %80 = fsub double %77, %76
  %81 = fneg double %76
  %82 = tail call double @llvm.fmuladd.f64(double %81, double %77, double 1.000000e+00)
  %83 = fdiv double %80, %82
  store double %83, ptr %44, align 8, !tbaa !28
  br label %84

thread-pre-split:                                 ; preds = %75
  %.pr = load double, ptr %44, align 8, !tbaa !28
  br label %84

84:                                               ; preds = %thread-pre-split, %79
  %85 = phi double [ %.pr, %thread-pre-split ], [ %83, %79 ]
  %86 = fcmp oeq double %85, 0.000000e+00
  br i1 %86, label %87, label %210

87:                                               ; preds = %84
  %88 = load i32, ptr %34, align 8, !tbaa !8
  %89 = load i32, ptr %39, align 4, !tbaa !23
  %90 = icmp eq i32 %88, %89
  %91 = load double, ptr %41, align 8
  %92 = fcmp oeq double %70, %91
  %or.cond44 = select i1 %90, i1 %92, i1 false
  br i1 %or.cond44, label %93, label %153

93:                                               ; preds = %87
  br i1 %69, label %103, label %94

94:                                               ; preds = %93
  %95 = load i8, ptr %43, align 1, !tbaa !27, !range !30, !noundef !31
  %96 = trunc nuw i8 %95 to i1
  br i1 %96, label %97, label %103

97:                                               ; preds = %94
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %12) #8
  %98 = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #9
          to label %99 unwind label %101

99:                                               ; preds = %97
  tail call void @_ZN12_GLOBAL__N_125GammaMultiplicationModuleC2Eid(ptr noundef nonnull align 8 dereferenceable(24) %98, i32 noundef %88, double noundef %70)
  store ptr %98, ptr %12, align 8, !tbaa !32
  invoke void @_ZNSt6vectorIPN4sptk46MelGeneralizedCepstrumToMelGeneralizedCepstrum15ModuleInterfaceESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %45, ptr noundef nonnull align 8 dereferenceable(8) %12)
          to label %100 unwind label %101

100:                                              ; preds = %99
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #8
  br label %103

101:                                              ; preds = %99, %97
  %102 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #8
  br label %323

103:                                              ; preds = %100, %94, %93
  %104 = load i8, ptr %37, align 8, !tbaa !21, !range !30, !noundef !31
  %105 = trunc nuw i8 %104 to i1
  br i1 %105, label %121, label %106

106:                                              ; preds = %103
  %107 = load i8, ptr %42, align 8, !tbaa !26, !range !30, !noundef !31
  %108 = trunc nuw i8 %107 to i1
  br i1 %108, label %109, label %121

109:                                              ; preds = %106
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %13) #8
  %110 = invoke noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #9
          to label %111 unwind label %116

111:                                              ; preds = %109
  %112 = load i32, ptr %34, align 8, !tbaa !8
  %113 = load double, ptr %36, align 8, !tbaa !20
  invoke void @_ZN12_GLOBAL__N_123GainNormalizationModuleC2Eid(ptr noundef nonnull align 8 dereferenceable(40) %110, i32 noundef %112, double noundef %113)
          to label %114 unwind label %118

114:                                              ; preds = %111
  store ptr %110, ptr %13, align 8, !tbaa !32
  invoke void @_ZNSt6vectorIPN4sptk46MelGeneralizedCepstrumToMelGeneralizedCepstrum15ModuleInterfaceESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %45, ptr noundef nonnull align 8 dereferenceable(8) %13)
          to label %115 unwind label %116

115:                                              ; preds = %114
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #8
  %.pre47 = load i8, ptr %37, align 8, !tbaa !21, !range !30
  br label %121

116:                                              ; preds = %114, %109
  %117 = landingpad { ptr, i32 }
          cleanup
  br label %120

118:                                              ; preds = %111
  %119 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %110, i64 noundef 40) #10
  br label %120

120:                                              ; preds = %118, %116
  %.pn34 = phi { ptr, i32 } [ %117, %116 ], [ %119, %118 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #8
  br label %323

121:                                              ; preds = %115, %106, %103
  %122 = phi i8 [ %.pre47, %115 ], [ %104, %106 ], [ %104, %103 ]
  %123 = trunc nuw i8 %122 to i1
  br i1 %123, label %124, label %139

124:                                              ; preds = %121
  %125 = load i8, ptr %42, align 8, !tbaa !26, !range !30, !noundef !31
  %126 = trunc nuw i8 %125 to i1
  br i1 %126, label %139, label %127

127:                                              ; preds = %124
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %14) #8
  %128 = invoke noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #9
          to label %129 unwind label %134

129:                                              ; preds = %127
  %130 = load i32, ptr %39, align 4, !tbaa !23
  %131 = load double, ptr %41, align 8, !tbaa !25
  invoke void @_ZN12_GLOBAL__N_130InverseGainNormalizationModuleC2Eid(ptr noundef nonnull align 8 dereferenceable(40) %128, i32 noundef %130, double noundef %131)
          to label %132 unwind label %136

132:                                              ; preds = %129
  store ptr %128, ptr %14, align 8, !tbaa !32
  invoke void @_ZNSt6vectorIPN4sptk46MelGeneralizedCepstrumToMelGeneralizedCepstrum15ModuleInterfaceESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %45, ptr noundef nonnull align 8 dereferenceable(8) %14)
          to label %133 unwind label %134

133:                                              ; preds = %132
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #8
  br label %139

134:                                              ; preds = %132, %127
  %135 = landingpad { ptr, i32 }
          cleanup
  br label %138

136:                                              ; preds = %129
  %137 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %128, i64 noundef 40) #10
  br label %138

138:                                              ; preds = %136, %134
  %.pn36 = phi { ptr, i32 } [ %135, %134 ], [ %137, %136 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #8
  br label %323

139:                                              ; preds = %133, %124, %121
  %140 = load i8, ptr %38, align 1, !tbaa !22, !range !30, !noundef !31
  %141 = trunc nuw i8 %140 to i1
  br i1 %141, label %142, label %304

142:                                              ; preds = %139
  %143 = load i8, ptr %43, align 1, !tbaa !27, !range !30, !noundef !31
  %144 = trunc nuw i8 %143 to i1
  br i1 %144, label %304, label %145

145:                                              ; preds = %142
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %15) #8
  %146 = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #9
          to label %147 unwind label %151

147:                                              ; preds = %145
  %148 = load i32, ptr %39, align 4, !tbaa !23
  %149 = load double, ptr %41, align 8, !tbaa !25
  call void @_ZN12_GLOBAL__N_119GammaDivisionModuleC2Eid(ptr noundef nonnull align 8 dereferenceable(24) %146, i32 noundef %148, double noundef %149)
  store ptr %146, ptr %15, align 8, !tbaa !32
  invoke void @_ZNSt6vectorIPN4sptk46MelGeneralizedCepstrumToMelGeneralizedCepstrum15ModuleInterfaceESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %45, ptr noundef nonnull align 8 dereferenceable(8) %15)
          to label %150 unwind label %151

150:                                              ; preds = %147
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) #8
  br label %304

151:                                              ; preds = %147, %145
  %152 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) #8
  br label %323

153:                                              ; preds = %87
  br i1 %69, label %154, label %160

154:                                              ; preds = %153
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %16) #8
  %155 = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #9
          to label %156 unwind label %158

156:                                              ; preds = %154
  tail call void @_ZN12_GLOBAL__N_119GammaDivisionModuleC2Eid(ptr noundef nonnull align 8 dereferenceable(24) %155, i32 noundef %88, double noundef %70)
  store ptr %155, ptr %16, align 8, !tbaa !32
  invoke void @_ZNSt6vectorIPN4sptk46MelGeneralizedCepstrumToMelGeneralizedCepstrum15ModuleInterfaceESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %45, ptr noundef nonnull align 8 dereferenceable(8) %16)
          to label %157 unwind label %158

157:                                              ; preds = %156
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #8
  br label %160

158:                                              ; preds = %156, %154
  %159 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #8
  br label %323

160:                                              ; preds = %157, %153
  %161 = load i8, ptr %37, align 8, !tbaa !21, !range !30, !noundef !31
  %162 = trunc nuw i8 %161 to i1
  br i1 %162, label %175, label %163

163:                                              ; preds = %160
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %17) #8
  %164 = invoke noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #9
          to label %165 unwind label %170

165:                                              ; preds = %163
  %166 = load i32, ptr %34, align 8, !tbaa !8
  %167 = load double, ptr %36, align 8, !tbaa !20
  invoke void @_ZN12_GLOBAL__N_123GainNormalizationModuleC2Eid(ptr noundef nonnull align 8 dereferenceable(40) %164, i32 noundef %166, double noundef %167)
          to label %168 unwind label %172

168:                                              ; preds = %165
  store ptr %164, ptr %17, align 8, !tbaa !32
  invoke void @_ZNSt6vectorIPN4sptk46MelGeneralizedCepstrumToMelGeneralizedCepstrum15ModuleInterfaceESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %45, ptr noundef nonnull align 8 dereferenceable(8) %17)
          to label %169 unwind label %170

169:                                              ; preds = %168
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #8
  br label %175

170:                                              ; preds = %168, %163
  %171 = landingpad { ptr, i32 }
          cleanup
  br label %174

172:                                              ; preds = %165
  %173 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %164, i64 noundef 40) #10
  br label %174

174:                                              ; preds = %172, %170
  %.pn30 = phi { ptr, i32 } [ %171, %170 ], [ %173, %172 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #8
  br label %323

175:                                              ; preds = %169, %160
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %18) #8
  %176 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #9
          to label %177 unwind label %192

177:                                              ; preds = %175
  %178 = load i32, ptr %34, align 8, !tbaa !8
  %179 = load i32, ptr %39, align 4, !tbaa !23
  %180 = load double, ptr %36, align 8, !tbaa !20
  %181 = load double, ptr %41, align 8, !tbaa !25
  call void @_ZN12_GLOBAL__N_152MelGeneralizedCepstrumToMelGeneralizedCepstrumModuleC2Eiidd(ptr noundef nonnull align 8 dereferenceable(32) %176, i32 noundef %178, i32 noundef %179, double noundef %180, double noundef %181)
  store ptr %176, ptr %18, align 8, !tbaa !32
  invoke void @_ZNSt6vectorIPN4sptk46MelGeneralizedCepstrumToMelGeneralizedCepstrum15ModuleInterfaceESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %45, ptr noundef nonnull align 8 dereferenceable(8) %18)
          to label %182 unwind label %192

182:                                              ; preds = %177
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #8
  %183 = load i8, ptr %42, align 8, !tbaa !26, !range !30, !noundef !31
  %184 = trunc nuw i8 %183 to i1
  br i1 %184, label %199, label %185

185:                                              ; preds = %182
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %19) #8
  %186 = invoke noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #9
          to label %187 unwind label %194

187:                                              ; preds = %185
  %188 = load i32, ptr %39, align 4, !tbaa !23
  %189 = load double, ptr %41, align 8, !tbaa !25
  invoke void @_ZN12_GLOBAL__N_130InverseGainNormalizationModuleC2Eid(ptr noundef nonnull align 8 dereferenceable(40) %186, i32 noundef %188, double noundef %189)
          to label %190 unwind label %196

190:                                              ; preds = %187
  store ptr %186, ptr %19, align 8, !tbaa !32
  invoke void @_ZNSt6vectorIPN4sptk46MelGeneralizedCepstrumToMelGeneralizedCepstrum15ModuleInterfaceESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %45, ptr noundef nonnull align 8 dereferenceable(8) %19)
          to label %191 unwind label %194

191:                                              ; preds = %190
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %19) #8
  br label %199

192:                                              ; preds = %177, %175
  %193 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #8
  br label %323

194:                                              ; preds = %190, %185
  %195 = landingpad { ptr, i32 }
          cleanup
  br label %198

196:                                              ; preds = %187
  %197 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %186, i64 noundef 40) #10
  br label %198

198:                                              ; preds = %196, %194
  %.pn32 = phi { ptr, i32 } [ %195, %194 ], [ %197, %196 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %19) #8
  br label %323

199:                                              ; preds = %191, %182
  %200 = load i8, ptr %43, align 1, !tbaa !27, !range !30, !noundef !31
  %201 = trunc nuw i8 %200 to i1
  br i1 %201, label %202, label %304

202:                                              ; preds = %199
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %20) #8
  %203 = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #9
          to label %204 unwind label %208

204:                                              ; preds = %202
  %205 = load i32, ptr %39, align 4, !tbaa !23
  %206 = load double, ptr %41, align 8, !tbaa !25
  call void @_ZN12_GLOBAL__N_125GammaMultiplicationModuleC2Eid(ptr noundef nonnull align 8 dereferenceable(24) %203, i32 noundef %205, double noundef %206)
  store ptr %203, ptr %20, align 8, !tbaa !32
  invoke void @_ZNSt6vectorIPN4sptk46MelGeneralizedCepstrumToMelGeneralizedCepstrum15ModuleInterfaceESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %45, ptr noundef nonnull align 8 dereferenceable(8) %20)
          to label %207 unwind label %208

207:                                              ; preds = %204
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %20) #8
  br label %304

208:                                              ; preds = %204, %202
  %209 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %20) #8
  br label %323

210:                                              ; preds = %84
  br i1 %69, label %211, label %218

211:                                              ; preds = %210
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %21) #8
  %212 = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #9
          to label %213 unwind label %216

213:                                              ; preds = %211
  %214 = load i32, ptr %34, align 8, !tbaa !8
  tail call void @_ZN12_GLOBAL__N_119GammaDivisionModuleC2Eid(ptr noundef nonnull align 8 dereferenceable(24) %212, i32 noundef %214, double noundef %70)
  store ptr %212, ptr %21, align 8, !tbaa !32
  invoke void @_ZNSt6vectorIPN4sptk46MelGeneralizedCepstrumToMelGeneralizedCepstrum15ModuleInterfaceESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %45, ptr noundef nonnull align 8 dereferenceable(8) %21)
          to label %215 unwind label %216

215:                                              ; preds = %213
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %21) #8
  br label %218

216:                                              ; preds = %213, %211
  %217 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %21) #8
  br label %323

218:                                              ; preds = %215, %210
  %219 = load i8, ptr %37, align 8, !tbaa !21, !range !30, !noundef !31
  %220 = trunc nuw i8 %219 to i1
  br i1 %220, label %221, label %233

221:                                              ; preds = %218
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %22) #8
  %222 = invoke noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #9
          to label %223 unwind label %228

223:                                              ; preds = %221
  %224 = load i32, ptr %34, align 8, !tbaa !8
  %225 = load double, ptr %36, align 8, !tbaa !20
  invoke void @_ZN12_GLOBAL__N_130InverseGainNormalizationModuleC2Eid(ptr noundef nonnull align 8 dereferenceable(40) %222, i32 noundef %224, double noundef %225)
          to label %226 unwind label %230

226:                                              ; preds = %223
  store ptr %222, ptr %22, align 8, !tbaa !32
  invoke void @_ZNSt6vectorIPN4sptk46MelGeneralizedCepstrumToMelGeneralizedCepstrum15ModuleInterfaceESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %45, ptr noundef nonnull align 8 dereferenceable(8) %22)
          to label %227 unwind label %228

227:                                              ; preds = %226
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %22) #8
  br label %233

228:                                              ; preds = %226, %221
  %229 = landingpad { ptr, i32 }
          cleanup
  br label %232

230:                                              ; preds = %223
  %231 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %222, i64 noundef 40) #10
  br label %232

232:                                              ; preds = %230, %228
  %.pn = phi { ptr, i32 } [ %229, %228 ], [ %231, %230 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %22) #8
  br label %323

233:                                              ; preds = %227, %218
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %23) #8
  %234 = invoke noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #9
          to label %235 unwind label %254

235:                                              ; preds = %233
  %236 = load i32, ptr %34, align 8, !tbaa !8
  %237 = load i32, ptr %39, align 4, !tbaa !23
  %238 = load double, ptr %44, align 8, !tbaa !28
  invoke void @_ZN12_GLOBAL__N_124FrequencyTransformModuleC2Eiid(ptr noundef nonnull align 8 dereferenceable(40) %234, i32 noundef %236, i32 noundef %237, double noundef %238)
          to label %239 unwind label %256

239:                                              ; preds = %235
  store ptr %234, ptr %23, align 8, !tbaa !32
  invoke void @_ZNSt6vectorIPN4sptk46MelGeneralizedCepstrumToMelGeneralizedCepstrum15ModuleInterfaceESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %45, ptr noundef nonnull align 8 dereferenceable(8) %23)
          to label %240 unwind label %254

240:                                              ; preds = %239
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #8
  %241 = load i8, ptr %42, align 8, !tbaa !26, !range !30, !noundef !31
  %242 = trunc nuw i8 %241 to i1
  br i1 %242, label %247, label %243

243:                                              ; preds = %240
  %244 = load double, ptr %36, align 8, !tbaa !20
  %245 = load double, ptr %41, align 8, !tbaa !25
  %246 = fcmp une double %244, %245
  br i1 %246, label %247, label %264

247:                                              ; preds = %243, %240
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %24) #8
  %248 = invoke noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #9
          to label %249 unwind label %259

249:                                              ; preds = %247
  %250 = load i32, ptr %39, align 4, !tbaa !23
  %251 = load double, ptr %36, align 8, !tbaa !20
  invoke void @_ZN12_GLOBAL__N_123GainNormalizationModuleC2Eid(ptr noundef nonnull align 8 dereferenceable(40) %248, i32 noundef %250, double noundef %251)
          to label %252 unwind label %261

252:                                              ; preds = %249
  store ptr %248, ptr %24, align 8, !tbaa !32
  invoke void @_ZNSt6vectorIPN4sptk46MelGeneralizedCepstrumToMelGeneralizedCepstrum15ModuleInterfaceESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %45, ptr noundef nonnull align 8 dereferenceable(8) %24)
          to label %253 unwind label %259

253:                                              ; preds = %252
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #8
  %.pre = load double, ptr %36, align 8, !tbaa !20
  %.pre46 = load double, ptr %41, align 8, !tbaa !25
  br label %264

254:                                              ; preds = %239, %233
  %255 = landingpad { ptr, i32 }
          cleanup
  br label %258

256:                                              ; preds = %235
  %257 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %234, i64 noundef 40) #10
  br label %258

258:                                              ; preds = %256, %254
  %.pn24 = phi { ptr, i32 } [ %255, %254 ], [ %257, %256 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #8
  br label %323

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

261:                                              ; preds = %249
  %262 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %248, i64 noundef 40) #10
  br label %263

263:                                              ; preds = %261, %259
  %.pn26 = phi { ptr, i32 } [ %260, %259 ], [ %262, %261 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #8
  br label %323

264:                                              ; preds = %253, %243
  %265 = phi double [ %.pre46, %253 ], [ %245, %243 ]
  %266 = phi double [ %.pre, %253 ], [ %244, %243 ]
  %267 = fcmp une double %266, %265
  br i1 %267, label %268, label %275

268:                                              ; preds = %264
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %25) #8
  %269 = invoke noalias noundef nonnull dereferenceable(32) ptr @_Znwm(i64 noundef 32) #9
          to label %270 unwind label %273

270:                                              ; preds = %268
  %271 = load i32, ptr %39, align 4, !tbaa !23
  call void @_ZN12_GLOBAL__N_152MelGeneralizedCepstrumToMelGeneralizedCepstrumModuleC2Eiidd(ptr noundef nonnull align 8 dereferenceable(32) %269, i32 noundef %271, i32 noundef %271, double noundef %266, double noundef %265)
  store ptr %269, ptr %25, align 8, !tbaa !32
  invoke void @_ZNSt6vectorIPN4sptk46MelGeneralizedCepstrumToMelGeneralizedCepstrum15ModuleInterfaceESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %45, ptr noundef nonnull align 8 dereferenceable(8) %25)
          to label %272 unwind label %273

272:                                              ; preds = %270
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #8
  br label %275

273:                                              ; preds = %270, %268
  %274 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #8
  br label %323

275:                                              ; preds = %272, %264
  %276 = load i8, ptr %42, align 8, !tbaa !26, !range !30, !noundef !31
  %277 = trunc nuw i8 %276 to i1
  br i1 %277, label %293, label %278

278:                                              ; preds = %275
  %279 = load double, ptr %36, align 8, !tbaa !20
  %280 = load double, ptr %41, align 8, !tbaa !25
  %281 = fcmp une double %279, %280
  br i1 %281, label %282, label %293

282:                                              ; preds = %278
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %26) #8
  %283 = invoke noalias noundef nonnull dereferenceable(40) ptr @_Znwm(i64 noundef 40) #9
          to label %284 unwind label %288

284:                                              ; preds = %282
  %285 = load i32, ptr %39, align 4, !tbaa !23
  invoke void @_ZN12_GLOBAL__N_130InverseGainNormalizationModuleC2Eid(ptr noundef nonnull align 8 dereferenceable(40) %283, i32 noundef %285, double noundef %280)
          to label %286 unwind label %290

286:                                              ; preds = %284
  store ptr %283, ptr %26, align 8, !tbaa !32
  invoke void @_ZNSt6vectorIPN4sptk46MelGeneralizedCepstrumToMelGeneralizedCepstrum15ModuleInterfaceESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %45, ptr noundef nonnull align 8 dereferenceable(8) %26)
          to label %287 unwind label %288

287:                                              ; preds = %286
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %26) #8
  br label %293

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

290:                                              ; preds = %284
  %291 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %283, i64 noundef 40) #10
  br label %292

292:                                              ; preds = %290, %288
  %.pn28 = phi { ptr, i32 } [ %289, %288 ], [ %291, %290 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %26) #8
  br label %323

293:                                              ; preds = %287, %278, %275
  %294 = load i8, ptr %43, align 1, !tbaa !27, !range !30, !noundef !31
  %295 = trunc nuw i8 %294 to i1
  br i1 %295, label %296, label %304

296:                                              ; preds = %293
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %27) #8
  %297 = invoke noalias noundef nonnull dereferenceable(24) ptr @_Znwm(i64 noundef 24) #9
          to label %298 unwind label %302

298:                                              ; preds = %296
  %299 = load i32, ptr %39, align 4, !tbaa !23
  %300 = load double, ptr %41, align 8, !tbaa !25
  call void @_ZN12_GLOBAL__N_125GammaMultiplicationModuleC2Eid(ptr noundef nonnull align 8 dereferenceable(24) %297, i32 noundef %299, double noundef %300)
  store ptr %297, ptr %27, align 8, !tbaa !32
  invoke void @_ZNSt6vectorIPN4sptk46MelGeneralizedCepstrumToMelGeneralizedCepstrum15ModuleInterfaceESaIS3_EE9push_backEOS3_(ptr noundef nonnull align 8 dereferenceable(24) %45, ptr noundef nonnull align 8 dereferenceable(8) %27)
          to label %301 unwind label %302

301:                                              ; preds = %298
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27) #8
  br label %304

302:                                              ; preds = %298, %296
  %303 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27) #8
  br label %323

304:                                              ; preds = %293, %301, %150, %142, %139, %207, %199
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %28) #8
  %305 = call ptr @_ZNSt6vectorIPN4sptk46MelGeneralizedCepstrumToMelGeneralizedCepstrum15ModuleInterfaceESaIS3_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %45) #8
  store ptr %305, ptr %28, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %29) #8
  %306 = call ptr @_ZNSt6vectorIPN4sptk46MelGeneralizedCepstrumToMelGeneralizedCepstrum15ModuleInterfaceESaIS3_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %45) #8
  store ptr %306, ptr %29, align 8
  %307 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPPN4sptk46MelGeneralizedCepstrumToMelGeneralizedCepstrum15ModuleInterfaceESt6vectorIS4_SaIS4_EEEEbRKNS_17__normal_iteratorIT_T0_EESE_(ptr noundef nonnull align 8 dereferenceable(8) %28, ptr noundef nonnull align 8 dereferenceable(8) %29) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29) #8
  br i1 %307, label %.lr.ph, label %.loopexit

.lr.ph:                                           ; preds = %304, %318
  %308 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPPN4sptk46MelGeneralizedCepstrumToMelGeneralizedCepstrum15ModuleInterfaceESt6vectorIS4_SaIS4_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %28) #8
  %309 = load ptr, ptr %308, align 8, !tbaa !32
  %310 = load ptr, ptr %309, align 8, !tbaa !5
  %311 = getelementptr inbounds i8, ptr %310, i64 16
  %312 = load ptr, ptr %311, align 8
  %313 = invoke noundef zeroext i1 %312(ptr noundef nonnull align 8 dereferenceable(8) %309)
          to label %314 unwind label %316

314:                                              ; preds = %.lr.ph
  br i1 %313, label %318, label %315

315:                                              ; preds = %314
  store i8 0, ptr %46, align 8, !tbaa !29
  br label %.loopexit

316:                                              ; preds = %.lr.ph
  %317 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %28) #8
  br label %323

318:                                              ; preds = %314
  %319 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPPN4sptk46MelGeneralizedCepstrumToMelGeneralizedCepstrum15ModuleInterfaceESt6vectorIS4_SaIS4_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %28) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %29) #8
  %320 = call ptr @_ZNSt6vectorIPN4sptk46MelGeneralizedCepstrumToMelGeneralizedCepstrum15ModuleInterfaceESaIS3_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %45) #8
  store ptr %320, ptr %29, align 8
  %321 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPPN4sptk46MelGeneralizedCepstrumToMelGeneralizedCepstrum15ModuleInterfaceESt6vectorIS4_SaIS4_EEEEbRKNS_17__normal_iteratorIT_T0_EESE_(ptr noundef nonnull align 8 dereferenceable(8) %28, ptr noundef nonnull align 8 dereferenceable(8) %29) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29) #8
  br i1 %321, label %.lr.ph, label %.loopexit, !llvm.loop !33

.loopexit:                                        ; preds = %318, %304, %315
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %28) #8
  br label %322

322:                                              ; preds = %.loopexit, %72
  ret void

323:                                              ; preds = %316, %302, %292, %273, %263, %258, %232, %216, %208, %198, %192, %174, %158, %151, %138, %120, %101, %73
  %.pn38 = phi { ptr, i32 } [ %317, %316 ], [ %152, %151 ], [ %.pn36, %138 ], [ %.pn34, %120 ], [ %102, %101 ], [ %209, %208 ], [ %.pn32, %198 ], [ %193, %192 ], [ %.pn30, %174 ], [ %159, %158 ], [ %303, %302 ], [ %.pn28, %292 ], [ %274, %273 ], [ %.pn26, %263 ], [ %.pn24, %258 ], [ %.pn, %232 ], [ %217, %216 ], [ %74, %73 ]
  call void @_ZNSt6vectorIPN4sptk46MelGeneralizedCepstrumToMelGeneralizedCepstrum15ModuleInterfaceESaIS3_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %45) #8
  resume { ptr, i32 } %.pn38
}

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

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

declare i32 @__gxx_personality_v0(...)

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

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

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

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

; Function Attrs: nobuiltin allocsize(0)
declare noundef nonnull ptr @_Znwm(i64 noundef) local_unnamed_addr #5

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

; Function Attrs: nobuiltin nounwind
declare void @_ZdlPvm(ptr noundef, i64 noundef) local_unnamed_addr #6

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

; Function Attrs: mustprogress uwtable
declare hidden void @_ZN12_GLOBAL__N_123GainNormalizationModuleC2Eid(ptr noundef nonnull align 8 dereferenceable(40), i32 noundef, double noundef) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare hidden void @_ZN12_GLOBAL__N_130InverseGainNormalizationModuleC2Eid(ptr noundef nonnull align 8 dereferenceable(40), i32 noundef, double noundef) unnamed_addr #0 align 2

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

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

; Function Attrs: mustprogress uwtable
declare hidden void @_ZN12_GLOBAL__N_124FrequencyTransformModuleC2Eiid(ptr noundef nonnull align 8 dereferenceable(40), i32 noundef, i32 noundef, double noundef) unnamed_addr #0 align 2

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN9__gnu_cxxneIPPN4sptk46MelGeneralizedCepstrumToMelGeneralizedCepstrum15ModuleInterfaceESt6vectorIS4_SaIS4_EEEEbRKNS_17__normal_iteratorIT_T0_EESE_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #7

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

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

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

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

attributes #0 = { 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 #1 = { mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #4 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #5 = { nobuiltin allocsize(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 = { nobuiltin 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 #7 = { inlinehint mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #8 = { nounwind }
attributes #9 = { builtin allocsize(0) }
attributes #10 = { builtin 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 = !{!"vtable pointer", !7, i64 0}
!7 = !{!"Simple C++ TBAA"}
!8 = !{!9, !10, i64 8}
!9 = !{!"_ZTSN4sptk46MelGeneralizedCepstrumToMelGeneralizedCepstrumE", !10, i64 8, !12, i64 16, !12, i64 24, !13, i64 32, !13, i64 33, !10, i64 36, !12, i64 40, !12, i64 48, !13, i64 56, !13, i64 57, !12, i64 64, !14, i64 72, !13, i64 96}
!10 = !{!"int", !11, i64 0}
!11 = !{!"omnipotent char", !7, i64 0}
!12 = !{!"double", !11, i64 0}
!13 = !{!"bool", !11, i64 0}
!14 = !{!"_ZTSSt6vectorIPN4sptk46MelGeneralizedCepstrumToMelGeneralizedCepstrum15ModuleInterfaceESaIS3_EE", !15, i64 0}
!15 = !{!"_ZTSSt12_Vector_baseIPN4sptk46MelGeneralizedCepstrumToMelGeneralizedCepstrum15ModuleInterfaceESaIS3_EE", !16, i64 0}
!16 = !{!"_ZTSNSt12_Vector_baseIPN4sptk46MelGeneralizedCepstrumToMelGeneralizedCepstrum15ModuleInterfaceESaIS3_EE12_Vector_implE", !17, i64 0}
!17 = !{!"_ZTSNSt12_Vector_baseIPN4sptk46MelGeneralizedCepstrumToMelGeneralizedCepstrum15ModuleInterfaceESaIS3_EE17_Vector_impl_dataE", !18, i64 0, !18, i64 8, !18, i64 16}
!18 = !{!"any pointer", !11, i64 0}
!19 = !{!9, !12, i64 16}
!20 = !{!9, !12, i64 24}
!21 = !{!9, !13, i64 32}
!22 = !{!9, !13, i64 33}
!23 = !{!9, !10, i64 36}
!24 = !{!9, !12, i64 40}
!25 = !{!9, !12, i64 48}
!26 = !{!9, !13, i64 56}
!27 = !{!9, !13, i64 57}
!28 = !{!9, !12, i64 64}
!29 = !{!9, !13, i64 96}
!30 = !{i8 0, i8 2}
!31 = !{}
!32 = !{!18, !18, i64 0}
!33 = distinct !{!33, !34}
!34 = !{!"llvm.loop.mustprogress"}


; Effective O3 passes: CorrelatedValuePropagationPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,InferFunctionAttrsPass,InstCombinePass,JumpThreadingPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,SROAPass,SimplifyCFGPass,TailCallElimPass