Analysis of the Continued Logarithm Algorithm
The Continued Logarithm Algorithm –CL for short– introduced by Gosper in 1978 computes the gcd of two integers; it seems very efficient, as it only performs shifts and subtractions. Shallit has studied its worst-case complexity in 2016 and showed it to be linear. We here perform the average-case analysis of the algorithm: we study its main parameters (number of iterations, total number of shifts) and obtain precise asymptotics for their mean values. Our “dynamical” analysis involves the dynamical system underlying the algorithm, that produces continued fraction expansions whose quotients are powers of 2. Even though this CL system has already been studied by Chan (around 2005), the presence of powers of 2 in the quotients ingrains into the central parameters a dyadic flavour that cannot be grasped solely by studying the CL system. We thus introduce a dyadic component and deal with a two-component system. With this new mixed system at hand, we then provide a complete average-case analysis of the CL algorithm, with explicit constants (Thanks to the Dyna3S ANR Project and the AleaEnAmsud AmSud-STIC Project.).
- 1.Borwein, J.M., Hare, K.G., Lynch, J.G.: Generalized continued logarithms and related continued fractions. J. Integer Seq. 20, 51 p. (2017). Article no. 17.5.7Google Scholar
- 4.Daireaux, B., Maume-Deschamps, V., Vallée, B.: The Lyapounov tortoise and the dyadic hare. In: Proceedings of AofA 2005, DMTCS, pp. 71–94 (2005)Google Scholar
- 6.Gosper, B.: Continued fraction arithmetic (1978, unpublished manuscript)Google Scholar