  It is shown that every tree of size $n$ over a fixed set of $\sigma$
different ranked symbols can be decomposed (in linear time as well as in
logspace) into $O\big(\frac{n}{\log_\sigma n}\big) = O\big(\frac{n \log
\sigma}{\log n}\big)$ many hierarchically defined pieces. Formally, such a
hierarchical decomposition has the form of a straight-line linear context-free
tree grammar of size $O\big(\frac{n}{\log_\sigma n}\big)$, which can be used as
a compressed representation of the input tree. This generalizes an analogous
result for strings. Previous grammar-based tree compressors were not analyzed
for the worst-case size of the computed grammar, except for the top dag of
Bille et al., for which only the weaker upper bound of
$O\big(\frac{n}{\log_\sigma^{0.19} n}\big)$ (which was very recently improved
to $O\big(\frac{n \cdot \log \log_\sigma n}{\log_\sigma n}\big)$ by
H\"ubschle-Schneider and Raman) for unranked and unlabelled trees has been
derived. The main result is used to show that every arithmetical formula of
size $n$, in which only $m \leq n$ different variables occur, can be
transformed (in linear time as well as in logspace) into an arithmetical
circuit of size $O\big(\frac{n \cdot \log m}{\log n}\big)$ and depth $O(\log
n)$. This refines a classical result of Brent from 1974, according to which an
arithmetical formula of size $n$ can be transformed into a logarithmic depth
circuit of size $O(n)$.
