Which number is bigger?
Java (JDK 10), 295 bytes



int f(Long a,long b,long c,long d){return a&gt;c?-f(c,d,a,b):a&lt;c?b&gt;d?d==1?(a==2&amp;((b==2&amp;c==4)|(b==3&amp;c==16)))|(a==3&amp;b==2&amp;c==27)?0:1:b-d&gt;1?1:f(t(a,b),1,c,d):-1:a&lt;2?0:a.signum(b-d);}long t(long a,long b){long t=1;for(;b--&gt;0;)t=p(a,t);return t;}long p(long a,long b){long p=1;for(;b--&gt;0;)p*=a;return p;}


Try it online!

Codes:


1 if a^^b &gt; c^^d
-1 if a^^b &lt; c^^d
0 is a^^b == c^^d