Here's the source code. I'll upload an executable a short while later (in the morning, likely).

New Features:

- functions: 6 constant trig functions, log functions, and any number of user-defined functions

- new subtraction rules

- all known bugs fixed

Features:

- 4 regular functions plus raising to a power

- boundless limits on name sizes and recursion

- simplification functions

Usage:

Output:Code:sin(cos(0))*3+4(5-x)^3

6 trig functions:Code:3*sin(cos(0)) + 4*[5 + -1*x]^3 = 3*sin(cos(0)) + 4*[5 + -1*x]^3 3*sin(cos(0)) + 4*[5 + -1*x]^3 = 3*sin(cos(0)) + 4*[5 + -1*x]^3 3*sin(cos(0)) + 500 + -300*x + 60*x^2 + -4*x^3 = 3*sin(cos(0)) + 500 + -300*x + 60*x^2 + -4*x^3 2.52441 + 500 + -300*x + 60*x^2 + -4*x^3 = 2.52441 + 500 + -300*x + 60*x^2 + -4*x^3

sin, cos, tan, cot, sec, csc

2 log functions:

log - base 10

ln - base e

f() is defined to be f(x) = x+y, although it could be any expression.

Comments? Questions? Suggestions? (Just fyi, terms aren't combined at the end, though nothing prevents them from being combined)Code:f(3)g(3) would become (3+y)*g(3)