Each of LowerWords and UpperWords must point to an array that is
long enough to fully define an integer of size NumBits, i.e. each
pointer must point to NumBits.div_ceil(64) elements or more.
The implementation will make its own copy of the pointed-to u64
values, so the pointers only need to outlive this function call.