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