Recursive exponentiation
========================

``` {.java}
int method1(int n) {
  if (n == 0) return 1;
  return method1(n-1) + method1(n-1);
}
int method2(int n) {
  if (n == 0) return 1;
  return 2 * method2(n-1);
}
```

Two recursive methods to raise $2^n$ (n \>= 0). Which is true?

a.  `method1` is faster
b.  *`method2` is much faster*
c.  `method2` is broken
d.  they are both quite slow

