This part is very bad, 99% of the time if you overflow a 64 bit variable it is because you did the wrong computation, not because you need BigInts..