question about symbolic/numerical mixing



In your example, seems to be %pi that wants to retain its exact/symbolic 
value.  Maybe setting numer works for you:

(%i1) numer;
(%o1) false
(%i2) tan((2*%pi)/9);
(%o2) tan((2*%pi)/9)
(%i3) numer: true;
(%o3) true
(%i4) tan((2*%pi)/9);
(%o4) 0.83909963117728