add repeated squaring exponentiation