Hi, Is it a bug, or am I doing something wrong? (%i1) myfun(a) := ev(a); (%o1) myfun(a) := ev(a) (%i2) myfun(a+b); (%o2) 2 b + a Obviously, "a" evaluates to "a+b" twice in this example. Why does this happen? Function parameter should evaluate to its value only once, regardless of what its name is. Best regards, Mikhail Khokhlov