I have now implemented a more direct version of such a reduction procedure for arguments in both radians and degrees. Part of the new math::trig package that contains a lot more mathematical functions - see ticket

The package is part of Tcllib's math module.