I just wanted to implement an algorithm for adding two 2-bit binary numbers. And it works, but only on an IBM 32-qubit simulator. And on a real 15-qubit computer, ibmq_16_melbourne, it produces very strange results. I don't understand what I'm doing wrong. Or maybe the quantum computer is so noisy?
I also tried to rewrite the algorithm for the structure of this computer, so that the qubits used in one operation are connected or are quite close.
But it didn't help.
About the algorithm: qubits 0-2 are the result. Qubits 3-4 are the first number. Qubits 5-6 are the second number. The remaining qubits play the role of transfer flags. I set qubits 3 and 5 to one using the NOT operation (I didn't understand how to apply units to them in another way). So at the output of the algorithm, I should get "010". But I get basically a different result.