In calculus, symbolic integration is the problem of finding a formula for the antiderivative, or indefinite integral, of a given function f(x), i.e. to find a differentiable function F(x) such that This is also denoted Discussion The term symbolic is used to distinguish this problem from that of numerical integration, where the value of F is sought at a particular input or set of inputs, rather than a general formula for F. Both problems were held to be of practical and theoretical importance long before the time of digital computers, but they are now generally considered the domain of computer science, as computers are most often used currently to tackle individual instances. Finding the derivative of an expression is a straightforward process for which it is easy to construct an algorithm. The reverse question of finding the integral is much more difficult. Many expressions which are relatively simple do not have integrals that can be expressed in closed form. See antiderivative and nonelementary integral for more details. A procedure called the Risch algorithm exists which is capable of determining whether the integral of an elementary function (function built from a finite number of exponentials, logarithms, constants, and nth roots through composition and combinations using the four elementary operations) is elementary and returning it if it is. In its original form, Risch algorithm was not suitable for a direct implementation, and its complete implementation took a long time. It was first implemented in Reduce in the case of purely transcendental functions; the case of purely algebraic functions was solved and implemented in Reduce by James H. Davenport; the general case was solved by Manuel Bronstein, who implemented almost all of it in Axiom, though to date there is no implementation of the Risch algorithm which can deal with all of the special cases and branches in it. However, the Risch algorithm applies only to indefinite integrals, while most of the integrals of interest to physicists, theoretical chemists, and engineers are definite integrals often related to Laplace transforms, Fourier transforms, and Mellin transforms. Lacking a general algorithm, the developers of computer algebra systems have implemented heuristics based on pattern-matching and the exploitation of special functions, in particular the incomplete gamma function. Although this approach is heuristic rather than algorithmic, it is nonetheless an effective method for solving many definite integrals encountered by practical engineering applications. Earlier systems such as Macsyma had a