Numpy: Что особенного в делении на 0,5?

В этом ответе @Dunes говорится, что из-за конвейерности (почти) нет разницы между умножением и делением с плавающей запятой. Однако, исходя из моего опыта с другими языками, я ожидал бы, что деление будет медленнее.

Мой небольшой тест выглядит следующим образом:

A=np.random.rand(size) command(A) 

Для разных команд и size=1e8 я получаю следующие моменты на моей машине:

 Command: Time[in sec]: A/=0.5 2.88435101509 A/=0.51 5.22591209412 A*=2.0 1.1831600666 A*2.0 3.44263911247 //not in-place, more cache misses? A+=A 1.2827270031 

Самая интересная часть: деление на 0.5 почти вдвое быстрее, чем деление на 0.51 . Можно предположить, что это связано с некоторой интеллектуальной оптимизацией, например, заменой деления на A+A Однако тайм-ауты A*2 и A+A слишк&#x43

Python - лучший язык программирования в мире.