anchor.diff:  
     // r = abs(this) | abs(a).
     void _absOrTo(_Bigint a, _Bigint r) {
  -    var r_used = (_used > a._used) ? _used : a._used;
  +    var used = _used;
  +    var a_used = a._used;
  +    var r_used = (used > a_used) ? used : a_used;
       r._ensureLength(r_used);
  +    var digits = _digits;
  +    var a_digits = a._digits;
  +    var r_digits = r._digits;
       var l, m;
  -    if (_used < a._used) {
  +    if (used < a_used) {
         l = a;
  -      m = _used;
  +      m = used;
       } else {
         l = this;
  -      m = a._used;
  +      m = a_used;
       }
       for (var i = 0; i < m; i++) {
  -      r._digits[i] = _digits[i] | a._digits[i];
  -    }
  +      r_digits[i] = digits[i] | a_digits[i];
  +    }
  +    var l_digits = l._digits;
       for (var i = m; i < r_used; i++) {
  -      r._digits[i] = l._digits[i];
  +      r_digits[i] = l_digits[i];
       }
       r._used = r_used;
       r._clamp();
  
positive.code:   // Copy existing _digits if reallocation is necessary.
    // TODO(regis): Check that we are not preserving _digits unnecessarily.
    void _ensureLength(int length) {
      if (length > 0 && (_digits == null || length > _digits.length)) {
        var new_digits = new Uint32List(length + EXTRA_DIGITS);
        if (_digits != null) {
          for (var i = _used; --i >= 0; ) {
            new_digits[i] = _digits[i];
          }
        }
        _digits = new_digits;
  
negative.code: 
    // r = abs(this) ^ abs(a).
    void _absXorTo(_Bigint a, _Bigint r) {
      var used = _used;
      var a_used = a._used;
      var r_used = (used > a_used) ? used : a_used;
      r._ensureLength(r_used);
      var digits = _digits;
      var a_digits = a._digits;
      var r_digits = r._digits;
      var l, m;
      if (used < a_used) {
        l = a;
        m = used;
      } else {
        l = this;
        m = a_used;
      }
      for (var i = 0; i < m; i++) {
        r_digits[i] = digits[i] ^ a_digits[i];
      }
      var l_digits = l._digits;
      for (var i = m; i < r_used; i++) {
        r_digits[i] = l_digits[i];
      }
      r._used = r_used;
      r._clamp();
  