anchor.diff:    static _Bigint _ZERO = new _Bigint._fromInt(0);
     static _Bigint _ONE = new _Bigint._fromInt(1);
   
  +  // Result cache for last _divRem call.
  +  static Uint32List _lastDividend_digits;
  +  static int _lastDividend_used;
  +  static Uint32List _lastDivisor_digits;
  +  static int _lastDivisor_used;
  +  static Uint32List _lastQuoRem_digits;
  +  static int _lastQuoRem_used;
  +  static int _lastRem_used;
  +  static int _lastRem_nsh;
  +
     // Internal data structure.
     bool get _neg native "Bigint_getNeg";
     int get _used native "Bigint_getUsed";
  
positive.code:     if (x_used == 0) {
        return 0;
      }
      if (n == 0 && r_digits == x_digits) {
        return x_used;
      }
      final r_used = x_used + n;
  
negative.code:       }
        i -= d0;
      }
      // Cache result.
      _lastDividend_digits = _digits;
      _lastDividend_used = _used;
      _lastDivisor_digits = a._digits;
      _lastDivisor_used = a._used;
      _lastQuoRem_digits = r_digits;
      _lastQuoRem_used = r_used;
      _lastRem_used = y_used;
      _lastRem_nsh = nsh;
    }
  
    // Customized version of _rem() minimizing allocations for use in reduction.
  