I am trying to play with this circuit (attached image) in Yenka (a circuit simulator), but it's not doing what I expect it to.

As I understand it, this circuit should take two binary numbers, each 2 bits, and add them together, giving a three bit output. Is this what an adder is supposed to do?

The circuit works if all 4 inputs are brought high. The circuit rightly calculates that 1+2+1+2 = 2+4, but other permuations don't seem right, like 1+0+0+0 = 2.

I found the circuit image through Google, which lead me to a forum where another person was asking for help with the image, but never got a response. Is the circuit therefore incorrect?

Thanks in advance.