Recursively sorts halves and stably rotation-merges them without a value buffer.
Sort each half recursively.
Compare the heads of neighboring sorted runs.
Rotate an out-of-order right value into the left run.