optimization fd.c