Неправильно работает округление, это баг?
echo number_format(1.65/0.55, 30);
//или лучше так
 debug_zval_dump(1.65/0.55);
https://ru.wikipedia.org/wiki/IEEE_754-2008

https://www.php.net/manual/en/book.bc.php
floor() - округление "отбрасывает дробную часть" при положительном аргументе, и округляет в меньшую сторону при отрицательном. То есть [ floor(-1.65/0.55) = -3 ], а [ floor(1.65/0.55) = 2 ]
round() - округляет по математическим правилам
ceil() - округляет в большую сторону