Example 1: 
 
   > print(horner(1 + 2 * x + 3 * x^2));
 
   1 + x * (2 + x * 3)
 
   > print(horner((x + 1)^7));
 
   1 + x * (7 + x * (21 + x * (35 + x * (35 + x * (21 + x * (7 + x))))))
 
 
 
Example 2: 
 
   > print(horner(exp((x + 1)^5) - log(asin(x + x^3) + x)));
 
   exp(1 + x * (5 + x * (10 + x * (10 + x * (5 + x))))) - log(asin(x * (1 + x^2)) + x)