# Why did Deutsch's original algorithm only succeed 50% of the time?

In his landmark 1985 paper "Quantum theory, the Church–Turing principle and the universal quantum computer" Deutsch gives a quantum algorithm to calculate $$G(\mathbf f)=f(0)\oplus f(1)$$ with only one query, but half of the time his algorithm would flag as failing. As noted in this question and as I understand it Deutsch thought that we couldn't improve upon the fifty-percent chance of failure.

But, we know that we can run Deutsch's algorithm (or the Deutsch-Jozsa algorithm) without any failure, and the circuit is "just" two Hadamard's sandwiching the query. So, why does Deutsch only achieve a 50% probability of success with his first algorithm?

He wasn't using the circuit model yet, and was envisioning Turing tapes in superposition. It looks like he properly prepared the superposition and evaluated $$f(x)$$, but did he get hung up in not closing the interference?

Deutsch didn't make a mistake. It's just that his original algorithm didn't make use of phase kickback because it hadn't been discovered yet. That discovery came later in this paper:

Richard Cleve, Artur Ekert, Chiara Macchiavello, Michele Mosca. Quantum Algorithms Revisited. Proceedings of the Royal Society of London A, 454(1969): 339-354, 1998.

Further detail:

My reading of what Deutsch wrote concerning not being able to improve on the expectation value is that he was only considering a limited approach. In particular, the relevant sentence in his paper reads as follows:

I shall now show that the expectation value of the time to compute any non-trivial $$N$$-fold parallelizable function $$G(f)$$ of all $$N$$ values via quantum parallelism such as (3.16) cannot be less than the time required to compute it serially via (2.11).

Of course the equation references are to particular equations in the paper and I won't reproduce them here, but the point is that he's talking about his specific approach where the value of the function is always written onto an initialized system (as opposed to using phase kickback for instance). He's talking about functions with $$N$$ different inputs, but if we focus on binary inputs the idea is that if we start with the state

$$\frac{1}{\sqrt{2}} \vert 0, f(0)\rangle + \frac{1}{\sqrt{2}} \vert 1, f(1)\rangle,$$

then (by unitarity) we can't extract $$f(0) \oplus f(1)$$ with certainty, because that would mean distinguishing between non-orthogonal states. This argument is correct — but it's circumvented by the use of phase kickback, which puts the function values directly into the phase rather than writing them onto an initialized qubit.