anchor.diff:      printTable(table);
     }
   
  -  void printOtherMetrics() {
  -    List<String> toRow(Iterable<ArithmeticMeanComputer> sources) {
  -      var computers = sources.toList();
  -      var row = [computers.first.name];
  -      for (var computer in computers) {
  -        var min = computer.min;
  -        var mean = computer.mean.toStringAsFixed(6);
  -        var max = computer.max;
  -        row.add('$min, $mean, $max');
  -      }
  -      return row;
  +  void printOtherMetrics(CompletionMetrics metrics) {
  +    List<String> toRow(ArithmeticMeanComputer computer) {
  +      var min = computer.min;
  +      var mean = computer.mean.toStringAsFixed(6);
  +      var max = computer.max;
  +      return [computer.name, '$min, $mean, $max'];
       }
   
       var table = [
  -      ['', for (var metrics in targetMetrics) metrics.name],
  -      toRow(targetMetrics.map((metrics) => metrics.meanCompletionMS)),
  -      toRow(targetMetrics.map((metrics) => metrics.charsBeforeTop)),
  -      toRow(targetMetrics.map((metrics) => metrics.charsBeforeTopFive)),
  -      toRow(targetMetrics.map((metrics) => metrics.insertionLengthTheoretical)),
  +      toRow(metrics.meanCompletionMS),
  +      toRow(metrics.charsBeforeTop),
  +      toRow(metrics.charsBeforeTopFive),
  +      toRow(metrics.insertionLengthTheoretical),
       ];
       rightJustifyColumns(table, range(1, table[0].length));
   
  -    printHeading(2, 'Comparison of other metrics');
  +    printHeading(2, 'Other metrics');
       printTable(table);
   
  -    for (var metrics in targetMetrics) {
  -      var distribution = metrics.distributionCompletionMS.displayString();
  -      print('${metrics.name}: $distribution');
  -    }
  +    var distribution = metrics.distributionCompletionMS.displayString();
  +    print('${metrics.name}: $distribution');
  +    print('');
     }
   
     void printResults() {
  +    print('');
       if (targetMetrics.length > 1) {
  -      print('');
         printComparisons();
       }
       var needsBlankLine = false;
  
positive.code:     }
    }
  
    void printComparisons() {
      printHeading(1, 'Comparison of experiments');
      printMrrComparison();
      printCounter(rankComparison);
      printOtherMetrics();
      printCompletionCounts();
    }
  
    void printCompletionCounts() {
      String toString(int count, int totalCount) {
        return '$count (${printPercentage(count / totalCount, 2)})';
      }
  
negative.code:         table.add([location, product, count, mrr, mrr_5]);
        }
        printTable(table);
      }
      //
      // Print information that would normally appear in the comprison when there
      // is no comparison section.
      //
      if (targetMetrics.length == 1) {
        printOtherMetrics(metrics);
        printCompletionCounts(metrics);
      }
    }
  
  