Well it's trying to do the same thing as this:


void vecsum2 (int N, float *X, float *sum)
{
if (N > 1)
{
vecsum2 (N/2, X, sum);

vecsum2 (N - N/2, X + N/2, sum); /*...