public static double eval(final String expression, final double... args) {
		return parse(expression).eval(args);
	}
Evaluates the given {@code expression} with the given arguments.

{@snippet lang="java":
 final double result = MathExpr.eval("2*z + 3*x - y", 3, 2, 1);
 assert result == 9.0;
}

@see #apply(Double[])
@see #eval(double...)

@param expression the expression to evaluate
@param args the expression arguments, in alphabetical order
@return the evaluation result
@throws NullPointerException if the given {@code expression} is
        {@code null}
@throws IllegalArgumentException if the given operation tree is invalid,
        which means there is at least one node where the operation arity
        and the node child count differ.
jenetics.prog/src/main/java/io/jenetics/prog/op/MathExpr.java