Implicit conversion from float -18.5625 to int loses precision