this branch divergence costs no performance