Unfortunately, I'm not sufficiently familiar with the code to comment on the best solution for this bug, but I would be very grateful if something could be done with it. If it were just a case of producing values out by some multiple of 2π, I'd live with it, but Steven's example (%i3) trigreduce(carg( cos(7*%pi/13) + %i*sin(7*%pi/13) )); 20 %pi (%o3) ------ 13 is incorrect by π, which makes it flat wrong. I found my way here having very nearly been stung by a similarly incorrect argument calcula...