The Nutty Professor

All submissions for this problem are available.
Vismay Buch a mathematics fundoo professor was teaching a computer science class which was very notorious, Vismay entered and the whole class began to burst shouting WE WANT OFF!!!, Vismay got frustrated and gave them a assignment that they should write a program to solve a Numerical differential equation.
Now think that you are one among the class guys, so its now your turn to write this program. It's time you show Vismay that you are not only notorious but also are intelligent.
The problem statement goes like this.
You will be asked, given a function of x, and a numerical value a, to output the value of the derivative of the given function (with respect to x), when x=a.
The given function will only involve the single variable x (though it may appear more than once in the function), floatingpoint constants, and the four operators +, , *,/, representing addition, subtraction, multiplication, and division, respectively.
Remember: if f and g are functions of x, then the following are true (where f' denotes the derivative of f):
(f + g)' = f' + g' (f  g)' = f'  g' (f * g)' = f' * g + f * g' (f / g)' = (f' * g  f * g') / (g ^ 2)
Input
The input will consist of problems. Each input line will consist of the floatingpoint value a, a space, and a function f. The function f will be written in postfix notation: f will be represented as a list of words, separated by whitespace. Each word will be either a floatingpoint constant, the symbol x, or one of the four arithmetic operators above.
For example, the input line would be asking you to compute the derivative of the function f=(x3.23)/(2x+7) (which happens to be f'=13.46/((2x+7)^2)), and to substitute the value 1.72 for x, resulting in the value 0.123493 (to six decimal places).
You may assume that the input is wellformed.and there will be multiple test cases in the file and a # denotes the end of the file.
Output
For each line of input consisting of the floatingpoint value a and a function of f of x, output the value of f'(a), rounded to six decimal places (with a 0 before the decimal point if the magnitude of the result is less than 1).
Sample Input 1.72 x 3.23  2 x * 7 + / 12 x 15 7.4 # Sample Output 0.123493 1.000000 0.000000
Author:  admin 
Tags  admin 
Date Added:  14082009 
Time Limit:  15 sec 
Source Limit:  50000 Bytes 
Languages:  ADA, ASM, BASH, BF, C, C99 strict, CAML, CLOJ, CLPS, CPP 4.3.2, CPP 4.9.2, CPP14, CS2, D, FORT, FS, GO, HASK, ICK, ICON, JAVA, JS, LISP clisp, LISP sbcl, LUA, NEM, NICE, NODEJS, PAS fpc, PAS gpc, PERL, PERL6, PHP, PIKE, PRLG, PYPY, PYTH, PYTH 3.4, RUBY, SCALA, SCM chicken, SCM guile, SCM qobi, ST, TEXT, WSPC 
Comments
 Please login at the top to post a comment.
SUCCESSFUL SUBMISSIONS
Fetching successful submissions
HELP
If you are still having problems, see a sample solution here. 