  The exponential function, \(E\), grows very rapidly, for example, \(E\)(10,10) is ten billion, and \(E\)(50,50) is over \(10^{84}\) (and thus significantly more than the estimated number of atoms in the universe). However, there are much faster growing primitive recursive functions. As we saw, \(E\) was defined from the slowly growing function, \(\sigma\), using three applications of primitive recursion: one for addition, one for multiplication, and then one more for exponentiation. We can continue to apply primitive recursion to build a series of unimaginably fast growing functions. Let’s do just one more step in the series defining the hyper-exponential function, \(H(n,m)\) as 2 to the 2 to the 2 to the … to the \(m\), with a tower of \(n\) 2s. \(H\) is primitive recursive because it can be defined from \(E\) using one more application of primitive recursion: