avoid x - -1.0 turning into x--1.0, fixes #2869