I am currently reading Skiena\'s \"The Algorithm Design Manual\".
He describes an algorithm for calculating the power of a number i.e. calculate a^n.
This function is recursive, meaning that when called, it is going to call itself over and over again until some final condition is met. In this case, there are three final conditions that will stop the function from calling itself and return the result.
If I were you I would try to apply the algorithm manually on a couple of different values in order to understand.