Integer multiplication with overflow checking
#include <safemult.h>
int umult64(uint64 a,uint64 b,uint64* c);
umult64 does c=a*b and returns 1.
In case of an integer overflow, umult64 leaves c alone and returns 0.
imult16(3), imult32(3), imult64(3)