KK
9.0 * x.powi(3) - 15.0 * x.powi(2)
достаточно выполнить 4 умножения: x2 = x * x;Но я удивился когда увидел, что в Rust это выполняется в 5 умножений - он куб и квадрат от x считает независимо.
x3 = x2 * x;
9.0 * x3 - 15.0 * x2
Это компилятор пока не дорос, или тут есть какие-то подводные камни из-за которых выбирается такое не оптимальное решение?