Implicit conversion from float -40.3125 to int loses precision