Implicit conversion from float -42.5 to int loses precision