The following code is not working as I would expect. The expression ‘m + sqrt(d)’ is surely a polynomial in m. However GiNaC thinks it is not. { symbol m("m"), d("d"); ex e = m + sqrt(d); cout << e << " is polynomial in m " << e.is_polynomial(m) << endl; } Regards, Ruben