It was optimized to ((float)0) because integers are cheaper. But that loses the sign, so that needed to be fixed.