n = 32768 elements.  alpha(32768) = 4.
lg n = 15, so union by rank alone promises height at most 15.

WORKLOAD 1  unite 0 with 1,2,3,...,n-1, then find every element.
  naive (no rank, no compress) ops=    98302 hops=  1073676289 hops/op=  10922.222   height 32767 -> 32767
  union by rank only           ops=    98302 hops=       32767 hops/op=      0.333   height 1 -> 1
  path compression only        ops=    98302 hops=      196595 hops/op=      2.000   height 32766 -> 1
  rank + path compression      ops=    98302 hops=       32767 hops/op=      0.333   height 1 -> 1

WORKLOAD 2  unite equal-rank roots in pairs, then find every element.
  naive (no rank, no compress) ops=    98302 hops=      311264 hops/op=      3.166   height 15 -> 15
  union by rank only           ops=    98302 hops=      245760 hops/op=      2.500   height 15 -> 15
  path compression only        ops=    98302 hops=      163775 hops/op=      1.666   height 14 -> 1
  rank + path compression      ops=    98302 hops=       98271 hops/op=      1.000   height 15 -> 1

How alpha grows, from A_k(1) = 2, 3, 7, 2047, ... :
   n <= 2       alpha(n) = 0
   n <= 3       alpha(n) = 1
   n <= 7       alpha(n) = 2
   n <= 2047    alpha(n) = 3
   n <= A_4(1)  alpha(n) = 4     and A_4(1) is larger than 2^2048
