The following example produces heavy tie collisions:
<c1 d f g> ~ <c d f g> I think the following algorithm handles ties between chords gracefully: For an up-tie, first check the left chord. If the start note is the lower note of a second interval, shorten the tie. Then check the right chord. If the end note is the upper note of a second interval, shorten the tie if the next higher hote is the lower note of a second interval, and the distance to it is smaller than a fifth. Here the mirror rule for down-ties: First check the left chord. If the start note is the lower note of a second interval, shorten the tie if the next lower note is the higher note of a second interval, and the distance to it is smaller than a fifth. Then check the right chord. If the end note is the upper note of a second interval, shorten the tie. Still missing is the case of broken ties where the ties in the new staff have to cross the accidentals...

