Multi-Level Logic Optimization