The crossover point is where the time for the recursive algorithm is the same as for the iterative algorithm. The OPTIMAL threshold will in general be very different. When you put in a threshold, even if it is smaller than that cross-over point, you may improve the algorithm for all higher values. Then the cross-over point becomes smaller. The divide and conquer algorithm is bottom-heavy: most of the work is done in base-cases. Say on size 16 inputs, the grade school method is 64/27 (2 and change) times faster than D&C, and then the D&C algorithm adds a factor of 3 every time we quardruple the size, but the grade-school algorithm multiplies the time by 4. So on 64 bit inputs, the grade-school method is 16/9 (under 2) times faster, on 256 bit inputs, about 4/3 times faster, and at 2000 bit inputs, they're roughly the same. Thus, the crossover point is around 2000 : that's when d&C becomes competitive with grade-school. We might conclude that D&C is only useful on very large inputs, in the thousands of bits. But what if we put in a threshold of 16 into the D&C algorithm? There's a bit of overhead for checking the threshold, but we speed up EVERY call to a 16 bit sub-problem by a factor of 64/27, over a factor of 2. That means that for LARGE inputs the D&C algorithm will be more than twice as fast with the threshold as without. Since grade-school was about twice as fast as D&C on 64 bit inputs, the modified D&C might now tie grade-school on even 64 bit inputs. Then it will beat grade-school on larger inputs. This argues for setting the threshold at a place where grade-school is MUCH better than D&C, not where they tie. I hope this clarifies things. Russell