Ну, выражение само по себе может не упрощаться. А если и вохможно упростить 10 страниц до 2 страниц, то не стоит ожидать от математики, что она такое найдет в общем случае найдет. Разве что там просто дроби без корней и пр.
Для минимизации числа операций в Compile математика использует функцию
Experimental`OptimizeExpression. Например, для выражения
Experimental`OptimizeExpression[x^2 + Sin[x^2] + Cos[Sin[x^2]]]выдает
Код:
Experimental`OptimizedExpression[
Block[{Compile`$1, Compile`$2}, Compile`$1 = x^2;
Compile`$2 = Sin[Compile`$1];
Compile`$1 + Cos[Compile`$2] + Compile`$2]]
Видно, что здесь
и
вычисляются по одному разу.