A more direct derivation: if you normalize the quaternion product y * x, you get twice the rotation taking x to y. So you need the square root of that, which you can obtain by adding 1 to the real part, then normalize again.
This directly gives the final form of the article, up to a small optimization.