The Butler-Portugal algorithm for obtaining the canonical form of a tensor expression with respect to slot symmetries and dummy-index renaming suffers, in certain cases with a high degree of symmetry, from $O(n!)$ explosion in both computation time and memory. We present a modified algorithm which alleviates this problem in the most common cases---tensor expressions with subsets of indices which are totally symmetric or totally antisymmetric---in polynomial time. We also present an implementation of the label-renaming mechanism which improves upon that of the original Butler-Portugal algorithm, thus providing a significant speed increase for the average case as well as the highly-symmetric special case. The worst-case behavior remains $O(n!)$, although it occurs in more limited situations unlikely to appear in actual computations. We comment on possible strategies to take if the nature of a computation should make these situations more likely.

The aim of this paper is to present a new algorithm for proving mixed trigonometric-polynomial inequalities by reducing to polynomial inequalities. Finally, we show the great applicability of this algorithm and as examples, we use it to analyze some new rational (Pade) approximations of the function $\cos^2(x)$, and to improve a class of inequalities by Z.-H. Yang. The results of our analysis could be implemented by means of an automated proof assistant, so our work is a contribution to the library of automatic support tools for proving various analytic inequalities.