Il n'y a pas grand chose de compliqué. Comme tu cherche à optimiser, un XOR aura la duré de sa branche la plus courte. Un AND, comme tout doit être fait, aura la durée de sa branche la plus longue.
...