function minn( x, y ) {
	var len;
	var m;
	var v;
	var i;

	len = arguments.length;
	if ( len === 2 ) {
		if ( isnan( x ) || isnan( y ) ) {
			return NaN;
		}
		if ( x === NINF || y === NINF ) {
			return NINF;
		}
		if ( x === y && x === 0.0 ) {
			if ( isNegativeZero( x ) ) {
				return x;
			}
			return y;
		}
		if ( x < y ) {
			return x;
		}
		return y;
	}
	m = PINF;
	for ( i = 0; i < len; i++ ) {
		v = arguments[ i ];
		if ( isnan( v ) || v === NINF ) {
			return v;
		}
		if ( v < m ) {
			m = v;
		} else if (
			v === m &&
			v === 0.0 &&
			isNegativeZero( v )
		) {
			m = v;
		}
	}
	return m;
}
Returns the minimum value.

@param {number} [x] - first number
@param {number} [y] - second number
@param {...number} [args] - numbers
@returns {number} minimum value

@example
var v = minn( 3.14, 4.2 );
// returns 3.14

@example
var v = minn( 5.9, 3.14, 4.2 );
// returns 3.14

@example
var v = minn( 3.14, NaN );
// returns NaN

@example
var v = minn( +0.0, -0.0 );
// returns -0.0