GNU libmatheval is a library which contains several procedures that make
it possible to create an in-memory tree from the string representation
of a mathematical function over single or multiple variables. This tree
can be used later to evaluate a function for specified variable values,
to create a corresponding tree for the function derivative over a
specified variable or to write a textual tree representation to a
specified string. The library exposes C and Fortran 77 interfaces.