29.9 Mathematical functions for floating-point types [c.math]
double       legendre(unsigned l, double x);
float        legendref(unsigned l, float x);
long double  legendrel(unsigned l, long double x);
Effects: 
These functions compute the Legendre polynomials of their
respective arguments
l and x.
Returns: 
Pℓ(x)=12ℓℓ!dℓdxℓ(x2−1)ℓ,for |x|≤1
where
l is l and
x is x.
Remarks: 
The effect of calling each of these functions
is implementation-defined
if l >= 128.