anchor.diff:      keywords["^"] = TokenType.POW;
       keywords["sqrt"] = TokenType.SQRT;
       keywords["log"] = TokenType.LOG;
  +    keywords["cos"] = TokenType.COS;
  +    keywords["sin"] = TokenType.SIN;
       keywords["ln"] = TokenType.LN;
       keywords["e"] = TokenType.EFUNC;
       keywords["("] = TokenType.LBRACE;
  
positive.code:         Expression operand = expressionStack.last;
          expressionStack.removeLast();
          Expression currentExpression = new Sqrt(operand);
          expressionStack.add(currentExpression);
          continue;
        }
  
negative.code:   static final TokenType SQRT = const TokenType("SQRT",3);
    static final TokenType LOG = const TokenType("LOG",3);
    static final TokenType LN = const TokenType("LN",3);
    static final TokenType COS = const TokenType("COS",3);
    static final TokenType SIN = const TokenType("SIN",3);
    static final TokenType EFUNC = const TokenType("EFUNC",3);
  
    final String value;
  