anchor.diff:          }
         }
         final tokenNgrams = ngrams(token, _minLength, 6);
  +      double tokenWeightSum;
         for (String candidate in candidates) {
           double candidateWeight = 0.0;
           if (token == candidate) {
  
positive.code:           candidateWeight = candidate.length / token.length;
          } else {
            final candidateNgrams = ngrams(candidate, _minLength, 6);
            candidateWeight = _ngramSimilarity(tokenNgrams, candidateNgrams);
          }
          candidateWeight *= tokens[token];
          if (candidateWeight > 0.3) {
  
negative.code:     return scoreDocs(lookupTokens(text));
    }
  }
  
  /// Pre-calculated weight list for ngram similarity.
  final _ngramSimilarityWeights =
      List<double>.generate(20, (i) => math.pow(i, 1.5).toDouble());
  