out = state + f*in
state = out + f*in
If I'm not mistaken, this is known as transposed direct-form 2. Clearly it implements the transfer function:
f * (1 + z^-1)/(1 - z^-1)
When f = tan(w/2) this is directly the BLT transform of 1/s.
Substituting the first line into the second gives:
state = state + 2*f*in
As far as the averaging goes, yes it's there: the total "input current" (I don't know what else to call it really) is 2*f and we feed half to the output this sample, and half to the state variable only (which is equivalent to adding it to the output next sample).
I'd also like to point out that before I posted the above, I did actually check that an actual implementation works as expected (and with a simple non-linear extension to modify the band-pass feedback will even self-oscillate perfectly happily).
