""last" and "prev" are the last two _output_ samples.
i don't know fexpr~ very well, but it looks like you try to access the last _input_ samples."
In [fexpr~] you can access input samples with $x variables and output samples with $y. So you're correct. I'm going for the input samples.
But I did it because I believe "last" and "prev" in this formula are in fact about input samples. And I still do. The reason being that I checked the code of other objects like [biquad~], and "last" and "prev" where names used both for input and output operations, the difference being that the math for the output operation was something like *out++ + coef1 * last + coef2 * prev instead of *in++ + coef1 * last + coef2 * prev (like bp~) .
So I feel pretty strong about getting this [fexpr~] right. Is there anything I did not take into consideration?
One way or another, input or output samples, seems pretty clear to me you could achieve [bp~] with [biquad~] coefficients. I think the tricky part now is getting to the coefficients and gain values.
Cheers