кандидат в оптимизацию путем объединения
Непосредственно объединить циклы невозможно, поскольку цикл j на одну итерацию короче. Чтобы уравнять оба заголовка в правах, предварительно необходимо "содрать" (см. "loop peeling") с цикла i одну итерацию:
for(i = 0; i < XXL; i++)
{
a[i] = b[i] + 1;
d[i] = у[i] -1;
} a[i] = b[i] + 1;