
The result of zy and ny is that y is zeroed and then bitwise negated, so it will be 1111 1111 1111 1111 (or 1 in decimal). You seem to be under the impression that it will be 1 (boolean not). Let's examine x = 4, zx = 0, nx = 1, zy = 1, ny = 1, f = 1, no = 1
x = 0000 0000 0000 0100 : 4
~x = 1111 1111 1111 1011 : 5
~0 = 1111 1111 1111 1111 : 1
~x + ~0 = 1111 1111 1111 1010 : 6
~(~x + ~0) = 0000 0000 0000 0101 : 5
and now x = 4, zx = 0, nx = 0, zy = 1, ny = 1, f = 1, no = 0
x = 0000 0000 0000 0100 : 4
~0 = 1111 1111 1111 1111 : 1
x + ~0 = 0000 0000 0000 0011 : 3
