function createBenchmark( len, xtype, ytype, ztype, wtype, utype, otype ) {
	var strides;
	var arrays;
	var shape;
	var x;
	var y;
	var z;
	var w;
	var u;
	var o;
	var i;

	x = filledarray( 0.0, len, xtype );
	y = filledarray( 0.0, len, ytype );
	z = filledarray( 0.0, len, ztype );
	w = filledarray( 0.0, len, wtype );
	u = filledarray( 0.0, len, utype );
	o = filledarray( 0.0, len, otype );
	for ( i = 0; i < len; i++ ) {
		x[ i ] = round( ( randu()*200.0 ) - 100.0 );
		y[ i ] = round( ( randu()*200.0 ) - 100.0 );
		z[ i ] = round( ( randu()*200.0 ) - 100.0 );
		w[ i ] = round( ( randu()*200.0 ) - 100.0 );
		u[ i ] = round( ( randu()*200.0 ) - 100.0 );
	}
	arrays = [ x, y, z, w, u, o ];
	shape = [ len ];
	strides = [ 1, 1, 1, 1, 1, 1 ];

	return benchmark;

	/**
	* Benchmark function.
	*
	* @private
	* @param {Benchmark} b - benchmark instance
	*/
	function benchmark( b ) {
		var i;

		b.tic();
		for ( i = 0; i < b.iterations; i++ ) {
			quinary( arrays, shape, strides, add );
			if ( isnan( o[ i%len ] ) ) {
				b.fail( 'should not return NaN' );
			}
		}
		b.toc();
		if ( isnan( arrays[ 5 ][ i%len ] ) ) {
			b.fail( 'should not return NaN' );
		}
		b.pass( 'benchmark finished' );
		b.end();
	}
}
Creates a benchmark function.

@private
@param {PositiveInteger} len - array length
@param {string} xtype - input array data type
@param {string} ytype - input array data type
@param {string} ztype - input array data type
@param {string} wtype - input array data type
@param {string} utype - input array data type
@param {string} otype - output array data type
@returns {Function} benchmark function