zext i1 X + zext i1 Y == 0 --> !(or i1 X, Y)
zext i1 X + zext i1 Y == 1 --> xor i1 X, Y
zext i1 X + zext i1 Y == 2 --> and i1 X, Y
sext i1 X + sext i1 Y == 0 --> !(or i1 X, Y)
sext i1 X + sext i1 Y == 1 --> false
sext i1 X + sext i1 Y == 2 --> false
(sext i1 X + zext i1 Y) == 0 --> !(xor i1 X, Y)
(sext i1 X + zext i1 Y) == 1 --> (!X) & Y
(sext i1 X + zext i1 Y) == 2 --> false
zext i1 X + zext i1 Y != 0 --> or i1 X, Y
zext i1 Op0 + zext i1 Op1 != 1 --> !(xor i1 Op0, Op1)
zext i1 Op0 + zext i1 Op1 != 2 --> !(and i1 Op0, Op1)
sext i1 Op0 + sext i1 Op1 != 0 --> or i1 Op0, Op1
sext i1 Op0 + sext i1 Op1 != 1 --> true
sext i1 Op0 + sext i1 Op1 != 2 --> true
sext i1 Op0 + zext i1 Op1 != 0 --> xor i1 Op0, Op1
sext i1 Op0 + zext i1 Op1 != 1 --> Op0 | (!Op1)
sext i1 Op0 + zext i1 Op1 != 2 --> true
Add (zext i1 X + zext i1 Y) == 2 --> and i1 X, Y?