The functions described in this section are declared in the header file gsl_sf_exp.h.

Exponential Function
--------------------

 -- Function: double gsl_sf_exp (double X)
 -- Function: int gsl_sf_exp_e (double X, gsl_sf_result * RESULT)
     These routines provide an exponential function \exp(x) using GSL semantics and error checking.

 -- Function: int gsl_sf_exp_e10_e (double X, gsl_sf_result_e10 * RESULT)
     This function computes the exponential \exp(x) using the gsl_sf_result_e10 type to return a result with extended range. This function may be useful if the value of \exp(x) would overflow the  numeric range of double.

 -- Function: double gsl_sf_exp_mult (double X, double Y)
 -- Function: int gsl_sf_exp_mult_e (double X, double Y, gsl_sf_result * RESULT)
     These routines exponentiate X and multiply by the factor Y to return the product y \exp(x).

 -- Function: int gsl_sf_exp_mult_e10_e (const double X, const double Y, gsl_sf_result_e10 * RESULT)
     This function computes the product y \exp(x) using the gsl_sf_result_e10 type to return a result with extended numeric range.

Relative Exponential Functions
------------------------------

 -- Function: double gsl_sf_expm1 (double X)
 -- Function: int gsl_sf_expm1_e (double X, gsl_sf_result * RESULT)
     These routines compute the quantity \exp(x)-1 using an algorithm that is accurate for small x.

 -- Function: double gsl_sf_exprel (double X)
 -- Function: int gsl_sf_exprel_e (double X, gsl_sf_result * RESULT)
     These routines compute the quantity (\exp(x)-1)/x using an algorithm that is accurate for small x.  For small x the algorithm is based on the expansion (\exp(x)-1)/x = 1 + x/2 + x^2/(2*3) + x^3/(2*3*4) + \dots.

 -- Function: double gsl_sf_exprel_2 (double X)
 -- Function: int gsl_sf_exprel_2_e (double X, gsl_sf_result * RESULT)
     These routines compute the quantity 2(\exp(x)-1-x)/x^2 using an algorithm that is accurate for small x.  For small x the algorithm is based on the expansion 2(\exp(x)-1-x)/x^2 = 1 + x/3 + x^2/(3*4) + x^3/(3*4*5) + \dots.

 -- Function: double gsl_sf_exprel_n (int N, double X)
 -- Function: int gsl_sf_exprel_n_e (int N, double X, gsl_sf_result * RESULT)
     These routines compute the N-relative exponential, which is the N-th generalization of the functions gsl_sf_exprel and gsl_sf_exprel_2.  The N-relative exponential is given by,

          exprel_N(x) = N!/x^N (\exp(x) - \sum_{k=0}^{N-1} x^k/k!)
                      = 1 + x/(N+1) + x^2/((N+1)(N+2)) + ...
                      = 1F1 (1,1+N,x)

Exponentiation With Error Estimate
----------------------------------

 -- Function: int gsl_sf_exp_err_e (double X, double DX, gsl_sf_result * RESULT)
     This function exponentiates X with an associated absolute error DX.

 -- Function: int gsl_sf_exp_err_e10_e (double X, double DX, gsl_sf_result_e10 * RESULT)
     This function exponentiates a quantity X with an associated absolute error DX using the gsl_sf_result_e10 type to return a result with extended range.

 -- Function: int gsl_sf_exp_mult_err_e (double X, double DX, double Y, double DY, gsl_sf_result * RESULT)
     This routine computes the product y \exp(x) for the quantities X, Y with associated absolute errors DX, DY.

 -- Function: int gsl_sf_exp_mult_err_e10_e (double X, double DX, double Y, double DY, gsl_sf_result_e10 * RESULT)
     This routine computes the product y \exp(x) for the quantities X, Y with associated absolute errors DX, DY using the gsl_sf_result_e10 type to return a result with extended range.