When converting times to and from units which have many leading zeros,
it pays off to compute the greatest common divisor first, and then do the
scaling product. This way all time unit conversion comes down to scaling a
signed or unsigned 64-bit value by a fraction represented by two signed
or unsigned 32-bit integers.
For example:
SBT_1S is defined as 2^32 . When scaling using powers of 10 above 1,
the gcd of SBT_1S and 10^N is always greater than or equal to 4,
when N is greater or equal to 2.
For example scaling a sbt value to milliseconds is done by multiplying
by (1000 / 8) and dividing by (2^32 / 8).
This trick allows for higher sbt precision at very little additional CPU cost.
MFC after: 1 week
Sponsored by: NVIDIA Networking