A number of procedures for checking the satisfiability of formulas in the important branching time temporal logic CTL* have recently been proposed. In this paper we develop techniques to support such reasoning based on rewrite rules. We consider how to automatically generate and quickly validate such rewrites. The techniques are based on use of so-called non-local and bundled variants of computation tree logics. We show that such rules can quickly simplify CTL* formulas. These simplified formulas are shorter and easier to reason with using existing decision procedures for CTL*, as demonstrated by significant speed-ups across a wide range of benchmark formulas. In this paper we provide both an Associative Commutative sound, confluent and terminating term rewrite system as well as a simple greedy rewrite system. We test them on a useful set of benchmarks. There are practical applications for theorem-proving and model-checking.