uint32 h3 = high >> 16;
	inline uint64 & operator *= (uint32 i) {		// High 16 bits		uint32 h1 =   i >> 16;		uint32 h2 = low >> 16;		uint32 h3 = high >> 16;		// Low 16 Bits		uint32 l1 =   i & 0xFFFF;		uint32 l2 = low & 0xFFFF;		uint32 l3 = high & 0xFFFF;		// The accumulator		uint32 accum;		// 0 -> 32		low = l1*l2;		high = 0;		// 16 -> 48		accum = h1*l2;		addlow(accum<<16);		high += accum>>16;		// 16 -> 48		accum = l1*h2;		addlow(accum<<16);			high += accum>>16;		// 32 -> 64		high += h1*h2;		// 32 -> 64		high += l1*l3;		// 48 -> 80		high += (h1*l3) << 16;		// 48 -> 80		high += (l1*l3) << 16;		return *this;	}