##### Synopsis

    #include <math.h>
    double log(double x);

##### Description

log computes the base-e logarithm of x.

##### Fast math library behavior

If x = 0, errno is set to ERANGE and log returns -HUGE_VAL.
If x < 0, errno is set to EDOM and log returns -HUGE_VAL.

##### IEC 60559 math library behavior

If x < 0 or x = -?, log returns NaN with signal.
If x = 0, log returns -? with signal.
If x = ?, log returns ?.
If x = NaN, log returns x with no signal.

##### Portability

log conforms to ISO/IEC 9899:1990 (C90) and ISO/IEC 9899:1999 (C99).