When one value is used multiple times for separate return values, we need to copy it to produce a new value, so that each value can be allocated a different register.