This should work:
\begin{alignat}{2}
A &= B & &= C \\
D &= E & &= F
\end{alignat}
From ams guide:
A variant environment alignat allows
the horizontal space between equations
to be explicitly specified. This
environment takes one argument, the
number of “equation columns”: count
the maximum number of &s in any row,
add 1 and divide by 2.
Its not exactly intended for what you are trying to do, but since align insists on adding space…
The idea behind align is:
l&=r & l&=r \\
l&=r & l&=r
One ‘&’ per function, and a ‘&’ between functions.
I would hope there is a better solution though.