When p is a *polynomial* or a *rational* expression, maybe something like
ratfreeof(x,p) := not (member(x, showratvars(p)));
would be a fast way to check if a CRE expression p depends on x. I may be
wrong, but I think that showratvars doesn't convert to general form.
If p isn't polynomial or rational, ratfreeof will misbehave; I think this
could be repaired.
I haven't carefully followed this thread, so ignore me if I'm in left
field.
Barton