This article posits a theory of iterative stress that separates each facet of the stress map into its constituent parts, or ‘atoms’. Through the well-defined notion of complexity provided by Formal Language Theory, it is shown that this division of the stress map results in a more restrictive characterisation of iterative stress than a single-function analysis does. While the single-function approach masks the complexity of the atomic properties present in the pattern, the compositional analysis makes it explicitly clear. It also demonstrates the degree to which, despite what appear to be significant surface differences in the patterns, the calculation of the stress function is largely the same, even between quantity-sensitive and quantity-insensitive patterns. These stress compositions are limited to one output-local function to iterate stress, and a small number of what I call edge-oriented functions to provide ‘cleanup’ when the iteration function alone fails to capture the pattern.