( **                                            raise to power )

: **                             ( n1 n2 --- n3 )
  dup 1 >
  if                             ( n2 > 1)
    over swap 1                  ( start at 1)
    do over * loop               ( multiply product by n1)
    swap drop                    ( delete n1 from stack)
  else -dup 0=
    if drop 1                    ( n2 = 0, so answer = 1)
    else 0<
      if drop 0                  ( n2 < 0, so answer = 0)
      endif
    endif                        ( n2 = 1, so answer = n1)
  endif
;
