>
> (Although I don't know if that explains gcd (%e, sqrt(2)/2); => 1/2.)
>
I believe that gcd(Q,R) first converts Q and R to rational function (CRE)
form Q=A/B, R=C/D, where A,B,C,D are all (formally) polynomials, then
returns gcd(A,C)/lcm(B,D). As normal for CRE, everything that is not an
integer or variable is treated as a formal variable. So %pi and %e function
just like x and y. In the above example, Maxima treats it exactly like
gcd(x,y/2) where x=%e, y=sqrt(2)
Expressions of the form x^(a/b) are treated as (x^(1/b))^a (that is, x^(1/b)
is treated as a formal variable), but there is no attempt to treat x^k as
(x^(1/b))^(k*b). So for example, gcd(2^(1/2),2^(3/2)) => 2^(1/2), but
gcd(2^(1/2),2^(2/2)) == gcd(2^(1/2),2) => 1, not 2^(1/2), even with
algebraic:true.
This is I think the same issue as the factorization problem in a recent
integration bug.
-s