shl(add(Xor(And(b7, b8), b8), #x01), #x01) -> sub(add(Xor(And(b7, b8), b8), #x01), Or(b7, ~(b8))) add(add(Xor(And(b114, b115), b115), #x01), b116) -> sub(b116, Or(b114, ~(b115))) add(select(B3, #x00, sub(b112, b113)), b113) -> select(B3, b113, b112) add(And(b110, b111), Xor(b110, b111)) -> Or(b110, b111) add(And(b77, b78), b109) -> And(add(b77, b109), b78) if [true, ~(b109 & neg(b109) -i #x01) = ~(b109 & neg(b109) -i #x01) & b78] add(sub(#x00, b75), b76) -> sub(b76, b75) shl(b74, #x01) -> Or(b74, b74) if [computeKnownZeroBits(b74) | computeKnownZeroBits(b74) = #xff] add(b72, b72) -> shl(b72, b73) if [true /\ b73 = #x01] add(b70, b71) -> Or(b70, b71) if [computeKnownZeroBits(b70) | computeKnownZeroBits(b71) = #xff] add(Xor(b66, b67), b68) -> sub(b69, b66) if [b68 +i b67 = b69, true, isPowerOf2(b67 +i #x01), b67 | computeKnownZeroBits(b66) = #xff] shl(sub(#x00, b65), #x01) -> sub(sub(#x00, b65), b65) add(And(b63, b64), Or(b63, b64)) -> add(b63, b64) add(select(B2, sub(b61, b62), #x00), b62) -> select(B2, b61, b62) add(add(Xor(Or(b57, b58), b59), #x01), b60) -> sub(b60, And(b57, b59)) if [b58 = ~(b59)] shl(add(Xor(Or(b54, b55), b56), #x01), #x01) -> sub(add(Xor(Or(b54, b55), b56), #x01), And(b54, b56)) if [b55 = ~(b56)]