C-Refine introduces an additional language construct called refinement which allows further decomposition with symbolic names inside functions. This makes programs much easier to read and modify. C-Refine converts programs written in C-Refine into plain C. The preprocessor is much faster than a C compiler, so it will not unbearably slow down the overall compilation process.