Sequential Optimization of Asynchronous and Synchronous Finite-State Machines by Robert M. Fuhrer & Steven M. Nowick