anchor.diff:    }
   
     void add(double value) {
  -
  +    int diff = _innerList.length * 4 - _origLength;
  +
  +    if (diff == 0) {
  +      _add(new Float32x4.splat(value));
  +    } else {
  +      int base = _innerList.length - 1;
  +      switch (diff) {
  +        case 1:
  +          _innerList[base] = _innerList.last.withW(value);
  +          break;
  +        case 2:
  +          _innerList[base] = _innerList.last.withZ(value);
  +          break;
  +        case 3:
  +          _innerList[base] = _innerList.last.withY(value);
  +          break;
  +        case 4:
  +          _innerList[base] = _innerList.last.withX(value);
  +          break;
  +      }
  +    }
  +
  +    _origLength++;
  +  }
  +
  +  void _add(Float32x4 value) {
  +    _innerList = _innerList.toList(growable: true)..add(value);
  +    _innerList = _innerList.toList(growable: false);
     }
   
     void forEach(iteration(Float32x4 item)) {
  -
  +    _innerList.forEach(iteration);
     }
   
     double mean() => _sum() / length;
  
positive.code:     return inPlace ? this : new TypedVector.fromTypedList(_bufList);
    }
  
    TypedVector _elementWisePow(num exp, bool inPlace) {
      Float32x4List _bufList = inPlace ? _innerList : new Float32x4List(this._innerList.length);
  
      for (int i = 0; i < this._innerList.length; i++) {
        _bufList[i] = _lanePowInt(this._innerList[i], exp);
      }
  
      return inPlace ? this : new TypedVector.fromTypedList(_bufList);
  
negative.code:     return sum.x + sum.y + sum.z + sum.w;
    }
  
    Float32x4 _laneIntPow(Float32x4 lane, int e) {
      if (e == 0) {
        return new Float32x4.splat(1.0);
      }
  