From: Leo Alekseyev on
Consider the following symbolic expression, evaluated with Mathematica 7:
Integrate[(u - t)*BesselY[0, 2*t], {t, 0, u}]

I am seeing a behavior where the symbolic results of this integration
are different depending on the name of the symbol 'u'. In particular,
if I use something that precedes 't' in the alphabet, such as 's', the
result is
(-Pi^(-1) + s*(Pi*s*BesselY[0, 2*s]*
StruveH[-1, 2*s] + BesselY[1, 2*s]*
(-1 + Pi*s*StruveH[0, 2*s])))/2

however, if 'u' is used, the result is

If[u > 0, (1/2)*
(-MeijerG[{{1}, {1/2}}, {{1, 1},
{0, 1/2}}, u^2] +
Pi*u^2*(BesselY[0, 2*u]*StruveH[-1,
2*u] + BesselY[1, 2*u]*
StruveH[0, 2*u])),
Integrate[(-t)*BesselY[0, 2*t] +
u*BesselY[0, 2*t], {t, 0, u},
Assumptions -> u <= 0]]

Note that if I now use Assumptions->{u > 0} in the integration, the
two symbolic answers become the same. Numerical evaluation of the two
symbolic answers also yield the same result. Nonetheless, I find it
alarming that the symbolic result is sensitive to variable naming.

In fact, using Trace[] I can see that the integration routine receives
slightly different inputs for the two cases:

Integrate[Times[Plus[Times[-1, t], u], BesselY[0, Times[2, t]]],
List[t, 0, u]] vs
Integrate[Times[Plus[s, Times[-1, t]], BesselY[0, Times[2, t]]], List[t, 0, s]]

However, the fact that the output is sensitive to whether the input
contains Plus[foo,bar] or Plus[bar,foo] is unexpected.

It is plausible that two different (but equivalent) input forms yield
two different (but equivalent) output forms. In this case, however,
it doesn't look like the output forms are equivalent.