Вот я подумал, что Алгоритм Рутисхаузера не более чем решает вопрос вложенных функций (если это не так, киньте в меня тапок).
Вот моя метода на примере:
A + (B + C + (D * E) + (F + G))
1) читаем справа налево. Находим первое вхождение "(" (справа налево),
2) от неё вправо находим первое ")",
3) решаем всё, что внутри скобочек, далее сокращаем скобочки (ЗЫ: в моём случае все буквы - вариаблы с вполне определёнными значениями)
4)Возвращаемся к шагу 1.
Например 1 + (2 + 3 + (4 * 5) + (6 + 7))
Далее: 1 + (2 + 3 + (4 * 5) + 13)
Далее: 1 + (2 + 3 + 20 + 13)
Далее: 1 + 38
Далее: 39
Всё.
Примечание: предполагается, что "(" в самом начале и ")" последним символом мнимо присутствуют.
Просто расскажите какие недостатки видите в моём предположении?