preserve sign of -0.0