Простите, но может кто-нибудь объяснить простому IT'шнику как вообще можно посчитать выражение, содержащее  

 сложений и 

 умножений, за число операций меньшее чем 

?
Ну вот выражение 

 содержит 3 умножения и 2 сложения, а считать можно так: 

Наверное, плохой пример, но больше ничего простого в голову не лезет.
Конечно, если числа в выражении подчиняются некоторым априорно известным функциональным зависимостям, то, очевидно, оптимизация возможна. Действительно, пусть все 

 равны, тогда вынося  за "скобки" достаточно будет произвести лишь  операций (кстати, уже в этом случае получается, что изначальное предположение-теоремка неверна...)
Это предположение верно в случае, если 

, 

 - независимые, заранее неизвестные. Ну, например, если они все на вход поступают.
И ещё, в первоначальной версии заголовка темы упоминалась теория графов, но связь с ней почему-то (почти) не обсуждается... Как переформулировать задачу в терминах этой теории?
Каждому алгоритму можно поставить в соответствие орграф. У этог графа будет столько истоков, сколько есть входных переменных, каждая вершина, кроме стока, помечена операцией, и в нее входят ребра из вершин, соответствующих операндам.