Stronger logic for revert and abort through andSplit and andJoin