anchor.diff:      //     reorder expressions with side effects.
       if (!environment.isEmpty &&
           environment.last.variable == node.variable &&
  -        environment.last.hasExactlyOneUse) {
  +        node.variable.readCount == 1) {
  +      --node.variable.readCount;
         return visitExpression(environment.removeLast().definition);
       }
   
  
positive.code:   Expression visitVariableUse(VariableUse node) {
      // Propagate constant to use site.
      Expression constant = constantEnvironment[node.variable];
      if (constant != null) return constant;
  
      // Propagate a variable's definition to its use site if:
      // 1.  It has a single use, to avoid code growth and potential duplication
  
negative.code:       if (node.variable.readCount <= 1) {
          // A single-use constant should always be propagted to its use site.
          constantEnvironment[node.variable] = visitExpression(node.definition);
          --node.variable.writeCount;
          return visitStatement(node.next);
        } else {
          // With more than one use, we cannot propagate the constant.
  