Hi!
I like the idea and implementation, but I have one suggestion.
> Instead of propagating carry after each new value, it's done only every 9999 values (or at the end).
I think we could do carry every 0x7FFFFFF / 10000 accumulation, couldn't we?
Best regards, Andrey Borodin, Octonica & Ural Federal University.