#Java 7, 71 57 bytes
Java 7, 71 57 bytes
double c(int a,int b){return b>0?Math.pow(a,c(a,b-1)):1;} Ungolfed & test code:
class M{ static double c(int a, int b){ return b > 0 ? Math.pow(a, c(a, b-1)) :1; } public static void main(String[] a){ System.out.println(c(1, 2)); System.out.println(c(2, 2)); System.out.println(c(5, 2)); System.out.println(c(3, 3)); } } Output:
1.0 4.0 3125.0 7.625597484987E12