These are chat archives for symengine/symengine
arg(a*b) = arg(a) + arb(b) + 2*pi*k, where k = floor(...) and so on. These formulas depend on the particular branch cut that was chosen. Then to derive all the other functions, it's just algebra and applying these relations. No more worries about branch cuts etc.
Symbol(‘x’, polar=True)are helpful here
(x*y)^z = x^z*y^z *correctionetc. SymPy seems to be doing the right thing overall.