Hi! It appears that in the print_csrc context of mul::print function a line if (precedence <= level) is missing just before of the line #139 in mul.cpp c.s << "("; which is causing the following incorrect result: >>> ((x+y)**(x*y)).to_csrc() pow(y+x,(y*x) for instance. Regards, Pearu