shrink: fix the use count case for conditionals

This was spotted in the Black Scholes example, where we had:

  let c = ... in d >* 0 ? (1 - c, c)

Because it only considered the maximum on each branch rather than the combined uses, `c` was being inlined into each of the branches. Since the computation of `c` is quite expensive, this led to a significant number of additional instructions.