anchor.diff:              int lo = _ftab[sb] & CLEARMASK;
               int hi = (_ftab[sb + 1] & CLEARMASK) - 1;
               if (hi > lo) {
  -              _mainQSort3(ptr, block, quadrant, nblock,
  -                         lo, hi, BZ_N_RADIX);
  +              _mainQSort3(
  +                  ptr,
  +                  block,
  +                  quadrant,
  +                  nblock,
  +                  lo,
  +                  hi,
  +                  BZ_N_RADIX);
                 numQSorted += (hi - lo + 1);
                 if (_budget < 0) {
                   return;
  
positive.code:         int bbSize = (_ftab[(ss + 1) << 8] & CLEARMASK) - bbStart;
          int shifts = 0;
  
          while ((bbSize >> shifts) > 65534) {
            shifts++;
          }
  
          for (j = bbSize - 1; j >= 0; j--) {
            int a2update = ptr[bbStart + j];
            int qVal = (j >> shifts) & 0xffff;
            quadrant[a2update] = qVal;
            if (a2update < BZ_N_OVERSHOOT)
              quadrant[a2update + nblock] = qVal;
            }
            _assert(((bbSize - 1) >> shifts) <= 65535);
          }
        }
    }
  
    void _mainQSort3(Uint32List ptr, Uint8List block,
  
negative.code:       }
  
        _assert((copyStart[ss] - 1 == copyEnd[ss]) ||
            // Extremely rare case missing in bzip2-1.0.0 and 1.0.1.
            // Necessity for this case is demonstrated by compressing
            // a sequence of approximately 48.5 million of character
            // 251; 1.0.0/1.0.1 will then die here.
            (copyStart[ss] == 0 && copyEnd[ss] == nblock - 1));
  
        for (j = 0; j <= 255; j++) {
          _ftab[(j << 8) + ss] |= SETMASK;
  