Register live ranges may have had gaps that after coalescing should be removed. This is done by adding a new segment to the range, and merging it with neighboring segments. When doing so, do not assume that each subrange of the register ended at the same index. If a subrange ended earlier, adding this segment could make the live range invalid. Instead, if the subrange is not live at the start of the segment, extend it first.
Reducing these kinds of thing is difficult and time consuming, but in my experience doable. One technique I've used before is dumping the MIR from the middle of the register coalescer before the final change that hits the verifier error (and a combination of manually coalescing some of the copies). If it's so fragile the test may not end up usefully stressing this situation in the future