It is shown that every tree of size n over a fixed set of σ different ranked symbols can be decomposed (in linear time as well as in logspace) into O n log σ n = O n log σ log n many hierarchically defined pieces. Formally, such a hierarchical decomposition has the form of a straight-line linear context-free tree grammar of size O n log σ n , 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. [6], for which only the weaker upper bound of O n log 0.19 σ n (which was very recently improved to O n·log log σ n log σ n [23]) 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 ≤ n different variables occur, can be transformed (in linear time as well as in logspace) into an arithmetical circuit of size O n·log m log n 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). A short version of this paper appeared as [24]. * The fourth and fifth author are supported by the DFG research project QUANT-KOMP (Lo 748/10-1). †