: my_expo ( x y -- z ) 1 [ rot dup * rot rot 1 + = not ] loop