These are unsigned long, cast before multiply