CGP-based Logic Flow: Optimizing Accuracy and Size of Approximate Circuits