2 types of lisp-to-c translators seem to exist:
type A) Those generating C code that is human-readable.
type B) Those generating C code that is not very easily readable by
humans.
Whereas both types are justifiable by the convenience to use C as a
"high level assembler"
the need for type A is not easily justifiable, since if what you want
is human readability
you have already the original lisp code. It will always be better than
ANY equivalent C code in that aspect.
A good translator of type B is GNU GLISP.