anchor.diff:    var naiveInfiniteScrollMean =
         showMean('naive_infinite_scroll', naiveInfiniteScrollBenchmarks);
     var totalMean = showMean(
  -      'all macro',
  +      'ssa vs js',
         treeBenchmarks
             .union(largetableBenchmarks)
             .union(naiveInfiniteScrollBenchmarks)
             .union(staticTreeBenchmarks));
  +  var cpsJsMean = showMean(
  +      'cps vs js',
  +      treeBenchmarks
  +          .union(largetableBenchmarks)
  +          .union(naiveInfiniteScrollBenchmarks)
  +          .union(staticTreeBenchmarks),
  +      denom: 3);
  +  var cpsSsaMean = showMean(
  +      'cps vs ssa',
  +      treeBenchmarks
  +          .union(largetableBenchmarks)
  +          .union(naiveInfiniteScrollBenchmarks)
  +          .union(staticTreeBenchmarks), denom: 3, numer: 2);
   
     var meansDiv = querySelector('#means');
     meansDiv.append(new UListElement()
  
positive.code:   var columns = new ObservableList.from(_columns);
    var data = new ChartData(columns, rows);
    var seriesList = new ObservableList.from([
      new ChartSeries('Default', new ObservableList.from([1, 2]),
          new BarChartRenderer(alwaysAnimate: true))
    ]);
    var config = new ChartConfig(seriesList, [0]);
  
negative.code: 
  List parseToRows(Map json) {
    var jsScores = {};
    var ssaScores = {};
    var cpsScores = {};
    for (var result in json['js']) {
      jsScores[result['benchmark']] = result['score'];
    }
    for (var result in json['ssa']) {
      ssaScores[result['benchmark']] = result['score'];
    }
    for (var result in json['cps']) {
      cpsScores[result['benchmark']] = result['score'];
    }
    var rows = [];
    for (var benchmark in jsScores.keys) {
      rows.add([benchmark, jsScores[benchmark], ssaScores[benchmark], cpsScores[benchmark]]);
    }
    return rows;
  }
  