function main() {
		var args;
		var i;

		args = [];
		for ( i = 0; i < arguments.length; i++ ) {
			args.push( arguments[ i ] );
		}
		return f.apply.apply( f, args );
	}
Performs a reduction a provided input ndarray according to a callback function.

@private
@param {ndarrayLike} x - input ndarray
@param {...ndarrayLike} [args] - additional ndarray arguments
@param {Options} [options] - function options
@param {IntegerArray} [options.dims] - list of dimensions over which to perform a reduction
@param {boolean} [options.keepdims=false] - boolean indicating whether the reduced dimensions should be included in the returned ndarray as singleton dimensions
@param {string} [options.dtype] - output ndarray data type
@param {Function} clbk - callback function
@param {*} [thisArg] - callback function execution context
@throws {TypeError} first argument must be an ndarray-like object
@throws {TypeError} options argument must be an object
@throws {TypeError} callback argument must be a function
@throws {RangeError} dimension indices must not exceed input ndarray bounds
@throws {RangeError} number of dimension indices must not exceed the number of input ndarray dimensions
@throws {Error} must provide valid options
@returns {ndarray} output ndarray