Fix negative zero bug

I'm still running the test suite on this, but it should be fine / safe and it does fix the bug that I was seeing on another branch.