docs: private static int hi0bits(int x)
      {
          int k = 0;
  
          if ((x & 0xffff0000) == 0) {
              k = 16;
              x <<= 16;
          }
          if ((x & 0xff000000) == 0) {
              k += 8;
              x <<= 8;
          }
          if ((x & 0xf0000000) == 0) {
              k += 4;
              x <<= 4;
          }
          if ((x & 0xc0000000) == 0) {
              k += 2;
              x <<= 2;
          }
          if ((x & 0x80000000) == 0) {
              k++;
              if ((x & 0x40000000) == 0)
                  return 32;
          }
          return k;
      }