diff(function) returns the symbolic derivative of the function
function by the global free variable.
If function represents a function symbol that is externally bound
to some code by library, the derivative is performed as a symbolic
annotation to the returned expression tree.