for (ssize = 0, limit = ssLog(last - first);;) { if (last - first <= INSERTIONSORT_THRESHOLD) { if (1 < last - first) { last = a; depth += 1; limit = ssLog(a - first); } else { first = a; stack[ssize++] = new StackEntry(first, a, depth + 1, ssLog(a - first)); first = a; limit = -1; last = a; depth += 1; limit = ssLog(a - first); stack[ssize++] = new StackEntry(b, c, depth + 1, ssLog(c - b)); stack[ssize++] = new StackEntry(c, last, depth, limit); last = a; } else if (a - first <= c - b) { stack[ssize++] = new StackEntry(c, last, depth, limit); stack[ssize++] = new StackEntry(b, c, depth + 1, ssLog(c - b)); last = a; } else { last = c; depth += 1;
for (ssize = 0, limit = ssLog(last - first);;) { if (last - first <= INSERTIONSORT_THRESHOLD) { if (1 < last - first) { last = a; depth += 1; limit = ssLog(a - first); } else { first = a; stack[ssize++] = new StackEntry(first, a, depth + 1, ssLog(a - first)); first = a; limit = -1; last = a; depth += 1; limit = ssLog(a - first); stack[ssize++] = new StackEntry(b, c, depth + 1, ssLog(c - b)); stack[ssize++] = new StackEntry(c, last, depth, limit); last = a; } else if (a - first <= c - b) { stack[ssize++] = new StackEntry(c, last, depth, limit); stack[ssize++] = new StackEntry(b, c, depth + 1, ssLog(c - b)); last = a; } else { last = c; depth += 1;
for (ssize = 0, limit = ssLog(last - first);;) { if (last - first <= INSERTIONSORT_THRESHOLD) { if (1 < last - first) { last = a; depth += 1; limit = ssLog(a - first); } else { first = a; stack[ssize++] = new StackEntry(first, a, depth + 1, ssLog(a - first)); first = a; limit = -1; last = a; depth += 1; limit = ssLog(a - first); stack[ssize++] = new StackEntry(b, c, depth + 1, ssLog(c - b)); stack[ssize++] = new StackEntry(c, last, depth, limit); last = a; } else if (a - first <= c - b) { stack[ssize++] = new StackEntry(c, last, depth, limit); stack[ssize++] = new StackEntry(b, c, depth + 1, ssLog(c - b)); last = a; } else { last = c; depth += 1;
for (ssize = 0, limit = ssLog(last - first);;) { if (last - first <= INSERTIONSORT_THRESHOLD) { if (1 < last - first) { last = a; depth += 1; limit = ssLog(a - first); } else { first = a; stack[ssize++] = new StackEntry(first, a, depth + 1, ssLog(a - first)); first = a; limit = -1; last = a; depth += 1; limit = ssLog(a - first); stack[ssize++] = new StackEntry(b, c, depth + 1, ssLog(c - b)); stack[ssize++] = new StackEntry(c, last, depth, limit); last = a; } else if (a - first <= c - b) { stack[ssize++] = new StackEntry(c, last, depth, limit); stack[ssize++] = new StackEntry(b, c, depth + 1, ssLog(c - b)); last = a; } else { last = c; depth += 1;
for (ssize = 0, limit = ssLog(last - first);;) { if (last - first <= INSERTIONSORT_THRESHOLD) { if (1 < last - first) { last = a; depth += 1; limit = ssLog(a - first); } else { first = a; stack[ssize++] = new StackEntry(first, a, depth + 1, ssLog(a - first)); first = a; limit = -1; last = a; depth += 1; limit = ssLog(a - first); stack[ssize++] = new StackEntry(b, c, depth + 1, ssLog(c - b)); stack[ssize++] = new StackEntry(c, last, depth, limit); last = a; } else if (a - first <= c - b) { stack[ssize++] = new StackEntry(c, last, depth, limit); stack[ssize++] = new StackEntry(b, c, depth + 1, ssLog(c - b)); last = a; } else { last = c; depth += 1;
for (ssize = 0, limit = ssLog(last - first);;) { if (last - first <= INSERTIONSORT_THRESHOLD) { if (1 < last - first) { last = a; depth += 1; limit = ssLog(a - first); } else { first = a; stack[ssize++] = new StackEntry(first, a, depth + 1, ssLog(a - first)); first = a; limit = -1; last = a; depth += 1; limit = ssLog(a - first); stack[ssize++] = new StackEntry(b, c, depth + 1, ssLog(c - b)); stack[ssize++] = new StackEntry(c, last, depth, limit); last = a; } else if (a - first <= c - b) { stack[ssize++] = new StackEntry(c, last, depth, limit); stack[ssize++] = new StackEntry(b, c, depth + 1, ssLog(c - b)); last = a; } else { last = c; depth += 1;
for (ssize = 0, limit = ssLog(last - first);;) { if (last - first <= INSERTIONSORT_THRESHOLD) { if (1 < last - first) { last = a; depth += 1; limit = ssLog(a - first); } else { first = a; stack[ssize++] = new StackEntry(first, a, depth + 1, ssLog(a - first)); first = a; limit = -1; last = a; depth += 1; limit = ssLog(a - first); stack[ssize++] = new StackEntry(b, c, depth + 1, ssLog(c - b)); stack[ssize++] = new StackEntry(c, last, depth, limit); last = a; } else if (a - first <= c - b) { stack[ssize++] = new StackEntry(c, last, depth, limit); stack[ssize++] = new StackEntry(b, c, depth + 1, ssLog(c - b)); last = a; } else { last = c; depth += 1;