Unrestricted algorithm
An unrestricted algorithm is an algorithm for the computation of a mathematical function that puts no restrictions on the range of the argument or on the precision that may be demanded in the result.{{cite journal|last1=C.W. Clenshaw and F. W. J. Olver|title=An unrestricted algorithm for the exponential function|journal=SIAM Journal on Numerical Analysis|date=April 1980|volume= 17|issue=2|pages=310–331|jstor=2156615|doi=10.1137/0717026|bibcode=1980SJNA...17..310C }} The idea of such an algorithm was put forward by C. W. Clenshaw and F. W. J. Olver in a paper published in 1980.{{cite book|last1=Richard P Brent|chapter=Unrestricted algorithms for elementary and special functions|title=Information Processing |volume=80 |editor=S. H. Lavington |publisher=North-Holland, Amsterdam|date=1980|pages=613–619|arxiv=1004.3621}}
In the problem of developing algorithms for computing, as regards the values of a real-valued function of a real variable (e.g., g[x] in "restricted" algorithms), the error that can be tolerated in the result is specified in advance. An interval on the real line would also be specified for values when the values of a function are to be evaluated. Different algorithms may have to be applied for evaluating functions outside the interval. An unrestricted algorithm envisages a situation in which a user may stipulate the value of x and also the precision required in g(x) quite arbitrarily. The algorithm should then produce an acceptable result without failure.