BitVariants might be ok now
precise bit-xor