I looked some at it but I am thinking some more on if any easy improvements can be done. They would only work for bignums because of overflows for ints (or words I guess).