function atanf( x ) {
	var sgn;
	var y;
	var z;

	if ( isnanf( x ) || x === 0.0 ) {
		return x;
	}
	x = float64ToFloat32( x );
	if ( x < 0.0 ) {
		sgn = -1;
		x = -x;
	} else {
		sgn = 1;
	}
	// Range reduction...
	if ( x > 2.414213562373095 ) { // tan(3*pi/8)
		y = PI02F;
		x = -float64ToFloat32( 1.0 / x );
	} else if ( x > 0.4142135623730950 ) { // tan(pi/8)
		y = PI04F;
		x = float64ToFloat32( float64ToFloat32( x - 1.0 ) / float64ToFloat32( x + 1.0 ) ); // eslint-disable-line max-len
	} else {
		y = 0.0;
	}
	z = float64ToFloat32( x * x );
	y = float64ToFloat32( y + float64ToFloat32( ( float64ToFloat32( polyp( z ) ) * float64ToFloat32( z * x ) ) + x ) ); // eslint-disable-line max-len
	if ( sgn < 0 ) {
		y = -y;
	}
	return y;
}
Computes the arctangent of a single-precision floating-point number.

## Method

-   Range reduction is from four intervals into the interval from zero to  tan( pi/8 ). A polynomial approximates the function in this basic interval.

## Notes

-   Relative error:

    | arithmetic | domain  | # trials | peak    | rms     |
    |:-----------|:--------|:---------|:--------|:--------|
    | IEEE       | -10, 10 | 10^5     | 1.9e-7  | 4.1e-8  |

@param {number} x - input value
@returns {number} arctangent (in radians)

@example
var v = atanf( 0.0 );
// returns 0.0

@example
var FLOAT32_PI = require( '@stdlib/constants/float32/pi' );

var v = atanf( -FLOAT32_PI/4.0 );
// returns ~-0.666

@example
var FLOAT32_PI = require( '@stdlib/constants/float32/pi' );

var v = atanf( FLOAT32_PI/4.0 );
// returns ~0.666

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