######## test-diff.az ########
==== Test of differential function ====
x ** 3                           3 * (x ** 2)
((x * 3) + (x ** 4)) + (x * 2)   ((4 * (x ** 3)) + 3) + 2
math.sin(x)                      cos(x)
math.cos(x)                      -sin(x)
math.tan(x)                      1 / (cos(x) ** 2)
math.exp(x)                      exp(x)
math.log(x)                      1 / x
math.asin(x)                     1 / sqrt((-(x ** 2)) + 1)
math.acos(x)                     -1 / sqrt((-(x ** 2)) + 1)
math.atan(x)                     1 / (1 + (x ** 2))
math.sin(x) ** 2                 2 * (math.sin(x) * cos(x))
math.sin(x ** 2)                 (2 * x) * cos(x ** 2)
math.log(math.sin(x))            cos(x) * (1 / math.sin(x))
(x ** 2) * math.sin(x)           ((2 * x) * math.sin(x)) + ((x ** 2) * cos(x))
math.sin(x) / (x ** 2)           ((cos(x) * (x ** 2)) - (math.sin(x) * (2 * x))) / ((x ** 2) ** 2)
3 ** (2 * x)                     2 * ((3 ** (2 * x)) * log(3))
math.log((x ** 2) + 1)           (2 * x) * (1 / ((x ** 2) + 1))
(((x - 1) ** 2) * ((x - 2) ** 3)) / ((x - 5) ** 2) (((((2 * (x - 1)) * ((x - 2) ** 3)) + (((x - 1) ** 2) * (3 * ((x - 2) ** 2)))) * ((x - 5) ** 2)) - ((((x - 1) ** 2) * ((x - 2) ** 3)) * (2 * (x - 5)))) / (((x - 5) ** 2) ** 2)
math.sin((2 * x) - 3)            2 * cos((2 * x) - 3)
math.cos(x) ** 2                 -(2 * (math.cos(x) * sin(x)))
((2 * x) - 1) ** 3               3 * (2 * (((2 * x) - 1) ** 2))
math.sqrt(((x ** 2) + (2 * x)) + 3) ((2 * x) + 2) * (1 / (2 * sqrt(((x ** 2) + (2 * x)) + 3)))
1 / x                            -1 / (x ** 2)
math.exp(x) + math.exp(-x)       exp(x) - exp(-x)
math.exp(x) - math.exp(-x)       exp(x) + exp(-x)
ValueError at line.30: undefined symbol 'ff'
----
((x ** 2) + x) + 2
(2 * x) + 1 = (2 * x) + 1
----
f(x)   = (((x ** 3) + (x ** 2)) + x) + 10
f'(x)  = ((3 * (x ** 2)) + (2 * x)) + 1
f''(x) = (3 * (2 * x)) + 2
