The return type of these functions is computed using the result
type calculation rules: note than when there is a single
template argument the result is the same type as that argument or double if the template argument is an integer
type.

The following table shows peak errors (in units of epsilon) for various domains
of input arguments. Note that only results for the widest floating point
type on the system are given as narrower types have effectively
zero error.

Table 3.17. Peak Errors In the Laguerre Polynomial

Significand Size

Platform and Compiler

Errors in range

0 < l < 20

53

Win32, Visual C++ 8

Peak=3000 Mean=185

64

SUSE Linux IA32, g++ 4.1

Peak=1x104 Mean=828

64

Red Hat Linux IA64, g++ 3.4.4

Peak=1x104 Mean=828

113

HPUX IA64, aCC A.06.06

Peak=680 Mean=40

Table 3.18. Peak Errors In the Associated Laguerre Polynomial

Significand Size

Platform and Compiler

Errors in range

0 < l < 20

53

Win32, Visual C++ 8

Peak=433 Mean=11

64

SUSE Linux IA32, g++ 4.1

Peak=61.4 Mean=19.5

64

Red Hat Linux IA64, g++ 3.4.4

Peak=61.4 Mean=19.5

113

HPUX IA64, aCC A.06.06

Peak=540 Mean=13.94

Note that the worst errors occur when the degree increases, values greater
than ~120 are very unlikely to produce sensible results, especially in the
associated polynomial case when the order is also large. Further the relative
errors are likely to grow arbitrarily large when the function is very close
to a root.

These functions are implemented using the stable three term recurrence relations.
These relations guarentee low absolute error but cannot guarentee low relative
error near one of the roots of the polynomials.