function incrsumprod() {
	var sum = incrsum();
	return accumulator;

	/**
	* If provided input values, the accumulator function returns an updated sum. If not provided input values, the accumulator function returns the current sum.
	*
	* @private
	* @param {number} [x] - first value
	* @param {number} [y] - second value
	* @returns {(number|null)} sum-product or null
	*/
	function accumulator( x, y ) {
		if ( arguments.length === 0 ) {
			return sum();
		}
		return sum( x*y );
	}
}
Returns an accumulator function which incrementally computes a sum of products.

@returns {Function} accumulator function

@example
var accumulator = incrsumprod();

var sum = accumulator();
// returns null

sum = accumulator( 2.0, 3.0 );
// returns 6.0

sum = accumulator( -5.0, 2.0 );
// returns -4.0

sum = accumulator();
// returns -4.0