> The fundamental problem with stint currently is a consequence of its > unfortunate recursive design which renders every single operation > exponentially slower than it has to be in the number of bytes used for the > size of the integer.
Actually, the main slowness issue is currently the carry propagation needs to recompute the carry. However, this can be fixed even with a recursive design by following the design here by adding an add-with-carry primitive: <https://github.com/linbox-team/givaro/blob/de943160/src/kernel/recint/radd.h#L65-L70> (which I didn't because at the time it seemed unnecessary complex, alas)