Problem with loader.c program

Some time ago, I began to analyze loader.c, a program written by Ralph Loader as a participant in the Bignum Bakeoff contest (you can see my progress so far. However, as you can see, I found a problem that I don’t know how The question is, what value does xx in the line xx = Left (lastRight), ? Obviously, this value from the answer Derive (xx) gives - this is actually the value xx in this subroutine, but what value does it take in this subroutine ? Well, we should look at the subroutine that appears there, and so on. the actual loop, because before calling Derive (xx) the argument is actually half-reduced in the MAYBE macro, but the problem is that inside the program this number is by no means increased, it is halved. From what I understand, all these halves affect by the final xx value that we get is 0.

To summarize, it seems that due to repeated recursive calls, xx will become 0, however, looking at the program doesn’t make sense. So my question is:

Does xx always take the value 0? If not, at what point are my considerations wrong?

Here you can find all parts of the Loader program, as well as an explanation of how it works.

Thanks in advance for your help!

+6
source share

Source: https://habr.com/ru/post/975321/


All Articles