I don't understand how the Add16 inputs work.
In my mind these two things are equivalent:
b=0000000000000001
and
b[15]=true
Am I correct?
So if I do
Add16(a=false, b[15]=true, out=out);
then I would expect the result to be
0000000000000001
but instead it is
1000000000000000
To get the right result, I have to do
b[0]=true
Why the inversion?
I know my Add16 is valid because it passes the tests, I'm trying to implement Inc16 from Add16 chips.