Fix separation() by preventing rounding explosions

This fixes GitHub issue #31.