code: private static int compare(long v1, long v2) {
  		int pos = 0;
  		if (v1 != v2) {
  			long x = v1 ^ v2;
  			pos += Long.numberOfLeadingZeros(x);
  			return pos;
  		}
  		return -1;
  	}
docs: Compares two values.
  @param v1
  @param v2
  @return Position of the differing bit, or -1 if both values are equal