I wrote a small program with a working title "Worst application of divide and conquer principle ever." The add128() takes 128 arguments (!) and calls add64() twice - with first and second half of arguments. add64() is similar, except that it calls add32() twice. I think you get the idea, in the end we land on add2() that does heavy lifting.