Many computation areas, such as cryptography (RSA algorithm) and Integer factoring (quadratic sieve and Pollard Rho) require computations with 100+ digits.
If N = (- (expt 2 257) 1) then in shen-scheme if I use the scheme versions of mod and gcd with the Pollard Rho algorithm I can get a factor of the 78 digit number N in about 20 seconds.
If T1= 17488867867874428608668905378271914447104113100929719303752462256201294163654284611398059217109636255162842814421394166957819840293429944269396711335078378
and
T2 = 51781680040075356565451107688460143008819366290089498911128844840275340195235
then during the above computation of Pollard Rho, the following computations are performed:
(mod T1 N)
(gcd T2 N)
Computations similar to the first one above are performed about 14 million times and the second one about 70000 times.
The first computation will not be computed once in a reasonable time (hours?) with StLib.
Let me know if second one will complete once in a reasonable time using your revised gcd method.
So it appears to me that integer divide is necessary to efficiently compute mod or rem or quotient, and one of these is needed for an efficient gcd.
Use of floating point is not useful with big numbers since they are only accurate to about 18 digits.