If you XOR all of the bits from one array to the other a one bit in the "actions performed" column that isn't specified in the "actions required" column you'll get a bit that is set in the destination which will indicate that the actions performed aren't sufficient to meet the needs of the actions required. Have you excluded that possibility somewhere else in your code?