Я не думаю, что быстрые математические функции были их первоочередными задачами при программировании (см. Почему Math.DivRem неэффективен ).
Они могли бы использовать возведение в квадрат, которое было бы быстрее, по крайней мере, для небольших показателей.
Однако, поскольку число с плавающей запятой подлежит округлению, то предоставление двух разных вложений может означать разные результаты, например, для pow (5.9,7), чем для pow (5.9,7.0), что может быть нежелательно в некоторых случаях.