Below mathematical (not software) conventions are in effect!
The following expressions are exact reals and for positive y, x/y denotes infinite precision division ((x/y)y = x) and x÷y is the integer quotient of dividing x by y and discarding any remainder.
Theorems: y>0 → (0 ≤ x/y − x÷y < 1 and x−1 < (x÷y)y ≤ x).
“b” below is a design parameter, fixed at the factory and k depends on b and is likewise fixed at factory. “ε” is fixed at the factory and is derived from design details not discussed on this page. Increasing the hardware can make ε smaller. “n” and “δ” are runtime arguments to a functional unit that performs 64 bit IEEE floating point division.
Conditional branch to same ideas as below but trying to clarify them: abstract
Given at runtime
Our upper bound on n' depends on t < 2b which we derived from n < 2(k+1)b.
The next super digit will be calculated similarly but with n' in the role of n and k−1 in the role of k.
Limiting t is critical to hardware design for it impacts the computation of t(1−δ)2kb.
I think that the bounds on successive super digits tj =
Bk = 2b
Bj = (1+ε2b)k−j.
t = tk and 0 ≤ tj < Bj.
See this.
It is time to corroborate these inequalities with code.