anchor.diff:      if (this == double.infinity) return "Infinity";
       if (this == -double.infinity) return "-Infinity";
   
  -    return _toStringAsExponential(fractionDigits);
  +    String result = _toStringAsExponential(fractionDigits);
  +    if (this == 0 && isNegative) return '-$result';
  +    return result;
     }
   
     String _toStringAsExponential(int? fractionDigits) {
  
positive.code:     if (this == double.infinity) return "Infinity";
      if (this == -double.infinity) return "-Infinity";
  
      return _toStringAsPrecision(precision);
    }
  
    String _toStringAsPrecision(int fractionDigits) =>
  
negative.code:       }
      }
      // TODO(koda): Consider optimizing all small integral values.
      if (isNaN) return "NaN";
      if (this == double.infinity) return "Infinity";
      if (this == -double.infinity) return "-Infinity";
      if (this == 0) {
        if (isNegative) {
          return "-0.0";
        } else {
          return "0.0";
        }
      }
      String result = _doubleToString(value);
      if (this % 1.0 == 0.0 && result.indexOf('e') == -1) {
        result = '$result.0';
      }
      // Replace the least recently inserted entry.
      _cache[_cacheEvictIndex] = this;
      _cache[_cacheEvictIndex + 1] = result;
  