Gate Level Minimization