function exp10( x ) {
	var px;
	var xx;
	var n;

	if ( isnan( x ) ) {
		return x;
	}
	if ( x > MAXL10 ) {
		return PINF;
	}
	if ( x < MINL10 ) {
		return 0.0;
	}
	// Express 10^x = 10^g 2^n = 10^g 10^( n log10(2) ) = 10^( g + n log10(2) )
	px = floor( (LOG210*x) + 0.5 );
	n = px;
	x -= px * LG102A;
	x -= px * LG102B;

	// Rational approximation for exponential of the fractional part: 10^x = 1 + 2x P(x^2)/( Q(x^2) - P(x^2) )
	xx = x * x;
	px = x * polyvalP( xx );
	x = px / ( polyvalQ( xx ) - px );
	x = 1.0 + ldexp( x, 1 );

	// Multiply by power of 2:
	return ldexp( x, n );
}
Returns `10` raised to the `x` power.

## Method

-   Range reduction is accomplished by expressing the argument as \\( 10^x = 2^n 10^f \\), with \\( |f| < 0.5 log_{10}(2) \\). The Pade' form

    ```tex
    1 + 2x \frac{P(x^2)}{Q(x^2) - P(x^2)}
    ```

    is used to approximate \\( 10^f \\).

## Notes

-   Relative error:

    | arithmetic | domain      | # trials | peak    | rms     |
    |:----------:|:-----------:|:--------:|:-------:|:-------:|
    | IEEE       | -307,+307   |  30000   | 2.2e-16 | 5.5e-17 |

@param {number} x - input value
@returns {number} function value

@example
var v = exp10( 3.0 );
// returns 1000.0

@example
var v = exp10( -9.0 );
// returns 1.0e-9

@example
var v = exp10( 0.0 );
// returns 1.0

@example
var v = exp10( NaN );
// returns NaN