function createBenchmark1( shapeA, orderA, shapeB, orderB, shapeC, orderC ) {
	var sa;
	var sb;
	var sc;
	var A;
	var B;
	var C;

	A = discreteUniform( numel( shapeA ), 0, 10, OPTS );
	B = discreteUniform( numel( shapeB ), 0, 10, OPTS );
	C = discreteUniform( numel( shapeC ), 0, 10, OPTS );

	sa = shape2strides( shapeA, orderA );
	sb = shape2strides( shapeB, orderB );
	sc = shape2strides( shapeC, orderC );

	return benchmark;

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

		b.tic();
		for ( i = 0; i < b.iterations; i++ ) {
			dgemm( 'no-transpose', 'no-transpose', shapeA[0], shapeC[1], shapeB[0], 0.5, A, sa[0], sa[1], 0, B, sb[0], sb[1], 0, 2.0, C, sc[0], sc[1], 0 );
			if ( isnan( C[ i%C.length ] ) ) {
				b.fail( 'should not return NaN' );
			}
		}
		b.toc();
		if ( isnan( C[ i%C.length ] ) ) {
			b.fail( 'should not return NaN' );
		}
		b.pass( 'benchmark finished' );
		b.end();
	}
}
Creates a benchmark function.

@private
@param {PositiveIntegerArray} shapeA - shape of the first array
@param {string} orderA - memory layout of the first array
@param {PositiveIntegerArray} shapeB - shape of the second array
@param {string} orderB - memory layout of the second array
@param {PositiveIntegerArray} shapeC - shape of the third array
@param {string} orderC - memory layout of the third array
@returns {Function} benchmark function