function factorial2f( n ) {
	var last;
	var out;
	var v;
	var i;

	if ( isnanf( n ) ) {
		return NaN;
	}
	if ( n > FLOAT32_MAX_NTH_DOUBLE_FACTORIAL ) {
		return PINF;
	}
	if ( n < 0 || isIntegerf( n ) === false ) {
		return NaN;
	}
	v = n|0; // asm type annotation
	if ( v === 0|0 || v === 1|0 ) {
		return 1|0; // asm type annotation
	}
	if ( isEvenf( v ) ) {
		last = 2|0; // asm type annotation
	} else {
		last = 3|0; // asm type annotation
	}
	out = float64ToFloat32( 1 );
	for ( i = v|0; i >= last; i -= 2|0 ) {
		out = float64ToFloat32( out * i );
	}
	return out;
}
Evaluates the double factorial of `n` as a single-precision floating-point number.

@param {number} n - input value
@returns {(NonNegativeInteger|number)} double factorial

@example
var v = factorial2f( 3 );
// returns 3

@example
var v = factorial2f( 4 );
// returns 8

@example
var v = factorial2f( 57 );
// returns Infinity

@example
var v = factorial2f( -10 );
// returns NaN

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