Implicit conversion from float -1.5 to int loses precision