Opt noeval

code for S5 optimization. They are semantics-preserving optimization.