diff
11   for (i = 3; i < size / 2; i *= 2) {
12 +     if (i + i <= size) {
12 +         memcpy(r + i, r, i);
12 +     } else {
12 +         break;
12 +     }
13   }
