Bonus something that you might not have known your cpu when computing a multiplication uint64_t * uint64_t always produces a 128bit output (and you need those to do the multi unit multiplication), it just happens that the way the C++ language is defined it just throws away the hig...