I'm reading the paper Quantum Networks for Elementary Arithmetic Operations (arXiv) by Vedral, Barenco, and Ekert. In section IIIA, they define a quantum adder circuit that sends $$ |a,b\rangle\rightarrow |a,a+b\rangle $$ where $a$, $b$ are $n$-bit binary integers, and the $b$ register has an extra qubit initialized to $|0\rangle$ to receive possible carries.
At the end of that section, they write:
If we reverse the action of the above network (i.e. if we apply each gate of the network in the reversed order) with the input $(a, b)$, the output will produce $(a, a − b)$ when $a ≥ b$. When $a < b$, the output is $(a, 2^{n+1} − (b − a))$, where $n + 1$ is the size of the second register.
Question: Is there an easy way to show this is true?
My interpretation of this section is that if $U$ is the unitary defined by the quantum circuit which sends $U|a,b\rangle=|a,a+b\rangle$, then the reversed action of the network gives $U^\dagger$ (since the network is made entirely out of Hermitian gates $CX$ and $CCX$). Then the reverse network acting on $|a,b\rangle$ with $a<b$ should give $$ U^\dagger|a,b\rangle = U^\dagger U|a,b-a\rangle = |a,b-a\rangle $$ which is not what they claim. So another way to phrase my question: Where is the above reasoning going wrong?