I. Introduction
The reversible computing paradigm is receiving increasing attention (in particular for so-called emerging technologies) and provides the basis for several applications including but not limited to quantum computation [1], certain aspects of low-power design [2], the design of adiabatic circuits [3], [4], interconnects [5], [6], encoding and decoding devices [7], or verification [8]. Reversible circuits, by definition, can only realize bijective operations, i.e., functions that map each possible input vector to a unique output vector. Then, computations can be made in either direction. Due to this property, many special characteristics and restrictions apply for reversible circuits, which makes them rely on a significantly different computation paradigm. Already a simple standard operation like the logical AND illustrates the differences, as it is not possible to determine the input values when the AND output is 0.