optimize fir.c