function accumulator1( x, y ) {
		if ( arguments.length === 0 ) {
			if ( N === 0 ) {
				return null;
			}
			if ( N === 1 ) {
				return ( isnan( C ) ) ? NaN : 0.0;
			}
			return C / (N-1);
		}
		N += 1;
		dx = x - mx;
		mx += dx / N;
		my += ( y-my ) / N;
		C += dx * ( y-my ); // Note: repeated `y-my` is intentional, as `my` is updated when used here
		if ( N < 2 ) {
			return ( isnan( C ) ) ? NaN : 0.0;
		}
		return C / (N-1);
	}
If provided input values, the accumulator function returns an updated unbiased sample covariance. If not provided input values, the accumulator function returns the current unbiased sample covariance.

@private
@param {number} [x] - new value
@param {number} [y] - new value
@returns {(number|null)} unbiased sample covariance or null