anchor.diff:        args.add('--obfuscate');
       }
   
  -    args.addAll(arguments);
  +    if (_experimentalStrongMode) {
  +      args.add('--experimental-strong-mode');
  +      args.addAll(arguments.where((name) => !name.endsWith('.dart')));
  +      args.add(tempKernelFile(tempDir));
  +    } else {
  +      args.addAll(arguments);
  +    }
   
       return Command.compilation('precompiler', tempDir, bootstrapDependencies(),
           exec, args, environmentOverrides,
  
positive.code:         alwaysCompile: !_useSdk);
    }
  
    // This step reduces the amount of space needed to run the precompilation
    // tests by 60%.
    Command computeRemoveAssemblyCommand(String tempDir, List arguments,
        Map<String, String> environmentOverrides) {
      var exec = 'rm';
  
negative.code:     return multiplier;
    }
  
    // TODO(dartbug.com/30480): create a separate option to toggle
    // strong mode optimizations if we need to test strong mode without
    // optimizations.
    bool get _experimentalStrongMode => _isStrong;
  
    CommandArtifact computeCompilationArtifact(String tempDir,
        List<String> arguments, Map<String, String> environmentOverrides) {
      var commands = <Command>[];
  
      if (_experimentalStrongMode) {
        commands.add(computeCompileToKernelCommand(
            tempDir, arguments, environmentOverrides));
      }
  
      commands.add(
          computeCompilationCommand(tempDir, arguments, environmentOverrides));
  
      if (_experimentalStrongMode) {
        commands.add(computeRemoveKernelFileCommand(
            tempDir, arguments, environmentOverrides));
      }
  
      if (!_configuration.useBlobs) {
        commands.add(
  