anchor.diff:    }
   
     static int _addSubtractComponentHalf(int a, int b) {
  -    return _clip255(a + (a - b) ~/ 2);
  +    int c = a + (a - b) ~/ 2;
  +    int d = _clip255(c);
  +    return d;
     }
   
     static int _clampedAddSubtractHalf(int c0, int c1, int c2) {
  -    //if (__debug) print('_clampedAddSubtractHalf $c0 $c1 $c2');
  -    final int ave = _average2(c0, c1);
  -    final int a = _addSubtractComponentHalf(ave >> 24, c2 >> 24);
  -    final int r = _addSubtractComponentHalf((ave >> 16) & 0xff, (c2 >> 16) & 0xff);
  -    final int g = _addSubtractComponentHalf((ave >> 8) & 0xff, (c2 >> 8) & 0xff);
  -    final int b = _addSubtractComponentHalf((ave >> 0) & 0xff, (c2 >> 0) & 0xff);
  +    final int avg = _average2(c0, c1);
  +    final int a = _addSubtractComponentHalf(avg >> 24, c2 >> 24);
  +    final int r = _addSubtractComponentHalf((avg >> 16) & 0xff, (c2 >> 16) & 0xff);
  +    final int g = _addSubtractComponentHalf((avg >> 8) & 0xff, (c2 >> 8) & 0xff);
  +    final int b = _addSubtractComponentHalf((avg >> 0) & 0xff, (c2 >> 0) & 0xff);
       return (a << 24) | (r << 16) | (g << 8) | b;
     }
   
  
positive.code:     }
    }
  
    static bool __debug = false;
  
    /**
     * Inverse prediction.
     */
  
negative.code:   // Predictors
  
    static int _predictor0(Data.Uint32List pixels, int left, int top) {
      return VP8L.ARGB_BLACK;
    }
  
    static int _predictor1(Data.Uint32List pixels, int left, int top) {
      return left;
    }
  
    static int _predictor2(Data.Uint32List pixels, int left, int top) {
      return pixels[top];
    }
  
    static int _predictor3(Data.Uint32List pixels, int left, int top) {
      return pixels[top + 1];
    }
  
    static int _predictor4(Data.Uint32List pixels, int left, int top) {
      return pixels[top -1];
    }
  
    static int _predictor5(Data.Uint32List pixels, int left, int top) {
      return _average3(left, pixels[top], pixels[top + 1]);
    }
  
    static int _predictor6(Data.Uint32List pixels, int left, int top) {
      return _average2(left, pixels[top - 1]);
    }
  
    static int _predictor7(Data.Uint32List pixels, int left, int top) {
      return _average2(left, pixels[top]);
    }
  
    static int _predictor8(Data.Uint32List pixels, int left, int top) {
      return _average2(pixels[top -1], pixels[top]);
    }
  
    static int _predictor9(Data.Uint32List pixels, int left, int top) {
      return _average2(pixels[top], pixels[top + 1]);
    }
  
    static int _predictor10(Data.Uint32List pixels, int left, int top) {
      return _average4(left, pixels[top -1], pixels[top], pixels[top + 1]);
    }
  
    static int _predictor11(Data.Uint32List pixels, int left, int top) {
      return _select(pixels[top], left, pixels[top - 1]);
    }
  
    static int _predictor12(Data.Uint32List pixels, int left, int top) {
      return _clampedAddSubtractFull(left, pixels[top], pixels[top - 1]);
    }
  
    static int _predictor13(Data.Uint32List pixels, int left, int top) {
      return _clampedAddSubtractHalf(left, pixels[top], pixels[top - 1]);
    }
  
  