Implicit conversion from float -5.799999999999997 to int loses precision