q: rat((%i-1)/(%i+1))$
rat(q),algebraic => 2*%i/2 ???
but
rat((%i-1)/(%i+1)),algebraic => %i
The 2's in the numerator and denominator should have cancelled.
What's more puzzling:
block([algebraic:true],rat(q)) => (%i-1)/(%i+1)
Also
algebraic:true$
rat(q) => (%i-1)/(%i+1) ??
ev(rat(q)) => 2*%i/2 ??
but
algebraic:true$
rat((%i-1)/(%i+1)) => %i
This bug shows up both in 5.11.0/gcl and 5.11.0cvs/clisp