Revisited Β· 1973 Still open Computing β read
Logical Reversibility of Computation
original βΒ· IBM Journal of Research and Development, 1973 Β·doi 10.1147/rd.176.0525Β·2,543 citations Β·verified in OpenAlex/Crossref Β·7 min read
TL;DR β In 1973 Charles Bennett showed that the only fundamental energy cost in computing β Landauer's kT\ln 2 per erased bit β is optional: any computation can be restructured to compute, copy the answer, then uncompute, erasing nothing and dissipating, in principle, arbitrarily little. For fifty years this was philosophy, because real gates burned energy ten billion times the Landauer floor and reversibility bought you nothing. Now CMOS is within roughly three to four orders of magnitude of that floor, scaling has stalled, AI's binding constraint is joules, and Bennett's trick is quietly load-bearing in three places at once: quantum circuits, adiabatic chip startups, and β in disguise β activation recomputation in your training loop.
The idea, as Bennett had it
Landauer (1961) had argued that computation has an irreducible thermodynamic cost, and located it precisely: not in gates, not in wires, but in logical irreversibility. When an AND gate maps four input states to three output states, distinct computational trajectories merge. Phase space compresses. By the second law, that lost information must be exported as entropy β at least k T \ln 2 of heat per erased bit, about 3 \times 10^{-21} J at room temperature. Landauer believed this was unavoidable because useful computation seemed inherently irreversible: you overwrite registers constantly.
Bennett's 1973 paper dismantled that belief with a construction of almost comic simplicity. Take any Turing machine. Instrument it so that every step also appends a record of what it just did to a history tape β now every step is reversible, because the history lets you run it backwards. Of course, you've just deferred the problem: the history tape is garbage, and erasing garbage costs energy. Bennett's move:
- Compute forward, accumulating history. The output appears; the history tape is full of garbage.
- Copy the output to a fresh blank tape. Copying onto known-blank cells is reversible (it's a CNOT, in modern language).
- Uncompute: run the whole computation backwards. The history unwinds itself, step by reversible step, until the machine is back in its initial state β input restored, history tape blank again.
Net effect: input in, (input, output) out, nothing erased, nothing dissipated in principle. Time roughly triples; space grows with the history β proportional to running time in the 1973 construction, which Bennett later (1989) showed can be traded down via a checkpointing recursion to modest space at a mild polynomial time cost. The overhead is real but polynomial: reversibility is not a different complexity class, it's a constant-factor tax.
The intuition worth internalizing: erasure is only expensive when you've forgotten how the bit got there. If you still hold the recipe, you can uncook the meal. Dissipation is the price of forgetting, and Bennett showed forgetting is never logically necessary.
Why it could not matter in 1973
The paper's problem was not correctness β it was irrelevance, by about ten orders of magnitude.
A 1973 TTL gate dissipated on the order of 10 mW and switched in ~10 ns: roughly 10^{-10} J per operation, versus a Landauer floor of 3\times10^{-21} J. The energy budget was completely dominated by device physics β saturating bipolar transistors, static current paths β that had nothing to do with logical structure. Making the logic reversible while the devices hemorrhaged energy is like optimizing the tip on a bill of ten billion dollars.
Worse, no physical substrate for reversible logic existed even conceptually. Fredkin and Toffoli's conservative logic and the billiard-ball computer came in 1982; adiabatic charge-recovery CMOS in the early 1990s. In 1973 the compute-copy-uncompute trick was a theorem about Turing machines, full stop. And the memory overhead looked brutal on machines with kilobytes of core: a history tape proportional to runtime was unthinkable when a big machine had ~1 MB total.
What changed
Three separate things, each of which would have justified a revisit alone.
The gap closed. Modern CMOS switches a transistor with roughly CV^2 \sim 10^{-17} J β within about four orders of magnitude of kT\ln 2, versus ten-plus in 1973. Dennard scaling is dead; voltage has been stuck near ~0.7 V for well over a decade. There is no conventional path left that gains orders of magnitude. Reversibility is the only known fundamental headroom below the CV^2 / Landauer regime. Meanwhile Landauer's principle itself went from thought experiment to measurement: BΓ©rut et al. (2012) directly observed ~kT\ln 2 dissipation erasing a bit encoded in a colloidal particle. The floor is real, and so is the exemption for reversible operations.
Physical reversible logic now works. Adiabatic CMOS ramps supply rails slowly so that dissipation per transition scales like (RC/\tau)\,CV^2 β slow the ramp time \tau, recover the energy back into a resonant clock, and the CV^2 penalty shrinks proportionally. 1990s academic designs (SCRL, 2LAL) demonstrated the principle; the unsolved engineering was efficient resonant energy-recovery clocking, which is exactly what startups like Vaire Computing are now attacking with the explicit pitch of reversible chips. In superconductors, adiabatic quantum-flux-parametron logic at 4 K has demonstrated switching energies within roughly an order of magnitude of the (cryogenic) thermal floor β hedged appropriately: these are device-level demos, not processors, and cryocooler wall-plug overhead of several hundredΓ must be beaten before it's a net win.
Reversibility became infrastructure. Quantum computation is unitary, hence reversible, by physics rather than by choice β and Bennett's construction is the standard tool: every quantum oracle that computes a classical function does compute-copy-uncompute to return ancilla qubits to |0\rangle, because leftover garbage entangles with the answer and destroys interference. "Uncomputation" is a routine verb in quantum compilers. Bennett 1973 is arguably the most-used 1970s theory result in working quantum software.
And there is a purely classical software echo the reader already uses. Gradient checkpointing β recompute activations instead of storing them β is Bennett's 1989 time/space pebbling tradeoff, rediscovered in automatic differentiation (Griewank's 1992 treeverse is essentially the same recursion). Reversible networks (RevNets, 2017; the reversible layers in Reformer) go further: make each layer algebraically invertible, store no activations, and reconstruct them backwards during the backward pass. That is compute-copy-uncompute with memory playing the role of energy. The trick pays in both currencies because both costs are prices of forgetting.
What a serious 2026 revival looks like
Not a reversible CPU β a reversible matmul engine, because AI inference is where energy is the binding constraint and the workload is a single dominant kernel.
- Architecture. A systolic array of adiabatic MAC units in standard CMOS, powered by resonant clock/power rails that recover charge each cycle. Keep Bennett's discipline: the array's internal garbage bits (carries, partial products) are uncomputed within the pipeline; irreversible erasure happens only at the chip boundary, on I/O bits, where you pay Landauer-plus-overhead once per external bit rather than once per internal transition.
- The tradeoff to embrace. Adiabatic energy scales as 1/\tau: run the array 10β30Γ slower per tile and win a corresponding energy factor, then recover throughput with area β silicon is cheap relative to a decade of electricity in an inference datacenter. Batch inference, where latency is soft, is the natural first market.
- The metric. Joules per token at fixed model and quality, wall-plug, including the resonant driver losses. Today's GPUs sit around 0.5β1 pJ per FP16 FLOP at the chip level; a credible first target for an adiabatic accelerator is a ~10Γ system-level win, with the physics allowing far more.
- Reuse from Bennett; replace in Bennett. Reuse: the uncompute discipline and the 1989 checkpoint recursion for managing garbage-bit lifetimes in deep pipelines. Replace: Turing-machine history tapes with pipelined reversible arithmetic (Toffoli-style adders have been known since the 1980s), and "in principle zero" with a concrete engineering floor set by leakage current and clock-resonator Q.
- Software twin. Push fully reversible transformer training as the same experiment in the memory domain: invertible layers end-to-end, activation memory ~O(1) in depth, enabling context lengths or model depths that don't fit any other way. If a reversible chip ever ships, reversible-by-construction models are also the workloads that map onto it with the least garbage to uncompute.
Already vindicated, still open
Vindicated: the theory, completely β reversible computation is standard textbook material, Landauer's principle is experimentally confirmed, and uncomputation is daily practice in quantum computing. Partially vindicated: classical hardware, where adiabatic CMOS demos show real energy recovery but no reversible processor has beaten a conventional one on wall-plug joules for a real workload. That is the open question, and it's an engineering question now, not a physics one: resonant clock quality factor, leakage at slow ramps, and the area tax versus the energy win.
The deeper open question is architectural. Bennett tells us the tax for reversibility is polynomial; he doesn't tell us which workloads have naturally low reversibility overhead. Matmuls, being mostly-linear, are unusually friendly β much of the computation is already nearly information-preserving. Nobody has carefully quantified the minimum garbage of a transformer forward pass. Someone should.
Where to read it
The paper: doi.org/10.1147/rd.176.0525 (bibliographic details verified). It's short and readable. Pair it with Landauer's 1961 "Irreversibility and Heat Generation in the Computing Process" for the floor being evaded; Bennett's 1989 "Time/Space Trade-offs for Reversible Computation" for the pebbling recursion your gradient checkpointer is unknowingly running; Fredkin & Toffoli's 1982 "Conservative Logic" for the physical-gate perspective; and Gomez et al.'s 2017 RevNet paper to see compute-copy-uncompute earning its keep in a training loop today.