3 ms·
Hi fish, thanks for very interesting article, again! Do you think the very fast division on M1 has any implications for 128/64 narrowing division as well? Do
by oxxoxoxooo 5y ago
Hi fish,
thanks for very interesting article, again!
Do you think the very fast division on M1 has any implications for 128/64 narrowing division as well? Do you know of a faster way than the method by Moller and Granlund? Do you plan on to include 128/64 division in libdivide?
And I asked this question before but the parent post got flagged so I'm trying once more: at the very bottom of the Labor of Division (Episode V) post [1], is it really possible for the second `qhat` (i.e. `q0`) to be off by 2? Do you have any examples of that?
[1] https://ridiculousfish.com/blog/posts/labor-of-division-episode-v.html https://ridiculousfish.com/blog/posts/labor-of-division-epis...
- stephencanon 5y ago> is it really possible for the second `qhat` (i.e. `q0`) to be off by 2? Yes. I don't have an example in front of me, though. I think there may be one in Knuth vol 2. I'll take a look after toddler bedtime is over =)
- ridiculous_fish 5y agoI haven't yet read the Moller and Granlund paper, but its narrowing division using precomputed reciprocal would be a natural fit for libdivide. (libdivide does have a narrowing divide, but it is Algorithm D based). Regarding the second question, it is possible to be off by 2. Consider (base 10) 500 ÷ 59. The estimated quotient qhat is 50 ÷ 5 = 10, but the true digit is 8. So if our partial remainder is 50, we'll be off by 2 in the second digit.