code: function bitwise( a, b ) {
  	var k = 0,
  		t;
  	// Simple cases:
  	if ( a === 0 ) {
  		return b;
  	}
  	if ( b === 0 ) {
  		return a;
  	}
  	// Reduce `a` and/or `b` to odd numbers and keep track of the greatest power of 2 dividing both `a` and `b`...
  	while ( (a & 1) === 0 && (b & 1) === 0 ) {
  		a >>>= 1; // right shift
  		b >>>= 1; // right shift
  		k++;
  	}
  	// Reduce `a` to an odd number...
  	while ( (a & 1) === 0 ) {
  		a >>>= 1; // right shift
  	}
  	// Henceforth, `a` is always odd...
  	while ( b ) {
  		// Remove all factors of 2 in `b`, as they are not common...
  		while ( (b & 1) === 0 ) {
  			b >>>= 1; // right shift
  		}
  		// `a` and `b` are both odd. Swap values such that `b` is the larger of the two values, and then set `b` to the difference (which is even)...
  		if ( a > b ) {
  			t = b;
  			b = a;
  			a = t;
  		}
  		b = b - a; // b=0 iff b=a
  	}
  	// Restore common factors of 2...
  	return a << k;
  }
docs: end FUNCTION gcd() 
  FUNCTION: bitwise( a, b )
  Computes the greatest common divisor of two integers `a` and `b`, using the binary GCD algorithm and bitwise operations.
  
  @param {Number} a - safe integer
  @param {Number} b - safe integer
  @returns {Number} greatest common divisor