and-rear-externalization
the code is like
// conv
for (int k = 0; k <= halfN; ++k) {
Cx Xl = fftBufL_[k];
Cx Xr = fftBufR_[k];
Cx Xlp = cmul(HLL_[k], Xl) + cmul(HLR_[k], Xr);
Cx Xrp = cmul(HRL_[k], Xl) + cmul(HRR_[k], Xr);
fftOutL_[k] = Xlp;
fftOutR_[k] = Xrp;
const float ref = 0.5f;
float rL = fabsf(mag2(Xlp) - mag2(fftBefL_[k])) * ref;
float rR = fabsf(mag2(Xrp) - mag2(fftBefR_[k])) * ref;
if (rL < epsPow) rL = epsPow;