anchor.diff:        // Instances might cache `toString()`, so use arithmetic to create a new
         // instance to try to protect against measuring a cached string.
         final b = b0 + one;
  +      final s = b.toString();
  +      sink1 = s;
  +      sink2 = b;
  +    }
  +    check(sink2.isEven);
  +  }
  +}
  +
  +class FormatIntBenchmark extends BenchmarkBase {
  +  final int bits;
  +  final int seed;
  +  final List<int> values = [];
  +
  +  FormatIntBenchmark(String name, this.bits)
  +      : seed = (pow(2, bits) as int) - 1,
  +        super(name);
  +
  +  @override
  +  void setup() {
  +    var b = seed;
  +    var totalLength = 0;
  +    int kk = b ~/ 100000;
  +    while (totalLength < requiredDigits) {
  +      if (b.bitLength < bits) {
  +        b = seed - ++kk;
  +      }
  +      final string = b.toString();
  +      values.add(b - 4096); // We add 'one' back later.
  +      totalLength += string.length;
  +      b = b - (b ~/ 256);
  +    }
  +  }
  +
  +  @override
  +  void run() {
  +    for (final b0 in values) {
  +      // Instances might cache `toString()`, so use arithmetic to create a new
  +      // instance to try to protect against measuring a cached string.
  +      final b = b0 + 4096;
         final s = b.toString();
         sink1 = s;
         sink2 = b;
  
positive.code: 
  void main() {
    final benchmarks = [
      () => ParseInt64Benchmark('Int64.parse.0009.bits', 9),
      () => ParseInt64Benchmark('Int64.parse.0032.bits', 32),
      () => ParseInt64Benchmark('Int64.parse.0064.bits', 64),
  
negative.code: // BSD-style license that can be found in the LICENSE file.
  
  // ignore_for_file: avoid_function_literals_in_foreach_calls
  
  import 'dart:math' show pow;
  
  import 'package:benchmark_harness/benchmark_harness.dart';
  import 'package:fixnum/fixnum.dart';
  