Implicit conversion from float -5.5 to int loses precision