Should I throw an ArithmeticException when exp < 0? It's an underflow.