It makes sense to split if the cost of computing cond1 is high
(proportionally to how likely cond0 is), but it doesn't really make
sense to introduce a second branch if its only a few instructions.
Splitting can also get in the way of potentially folding patterns.
This patch introduces some logic to try to check if the cost of
computing cond1 is relatively low, and if so don't split the
branches.
Note: The cost-model aspect of this patch is entirely not
benchmarked. This is a WIP and at the very least needs tuning.