The simple FIR filter equation:
can be implemented quite directly in C language:
y[n] = 0.0; for (k = 0; k < N; k++) y[n] = y[n] + c[k] * x[nk];
But this naive code is inefficient:
The code is inefficient because:
 it uses array indices [i] rather than pointers *ptr
 it needs a lot of address arithmetic
 it repeatedly accesses the output array
