For an intro to Faust, see, e.g.,
http://ccrma.stanford.edu/realsimple/faust/
// Fourth-order case - delay d should be at least 1.5
fdelay4(n,d,x) =
delay(n,id,x) * fdm1*fdm2*fdm3*fdm4/24
+ delay(n,id+1,x) * (0-fd*fdm2*fdm3*fdm4)/6
+ delay(n,id+2,x) * fd*fdm1*fdm3*fdm4/4
+ delay(n,id+3,x) * (0-fd*fdm1*fdm2*fdm4)/6
+ delay(n,id+4,x) * fd*fdm1*fdm2*fdm3/24
with {
o = 1.49999;
dmo = d - o; // assumed nonnegative
id = int(dmo);
fd = o + frac(dmo);
fdm1 = fd-1;
fdm2 = fd-2;
fdm3 = fd-3;
fdm4 = fd-4;
};