Reversible logic synthesis methodologies with application to quantum computing. (2016)