for (int k=size; --k >= 0;) {
final int rowOffset = k*innerSize; // Offset of row computed by current iteration.
acc.setFrom(LU, k*size + k, errorLU); // A diagonal element on the current row.
for (int i=0; i<innerSize; i++) { // Apply to all columns in the current row.
rat.setFrom(acc);
rat.inverseDivide(elements, rowOffset + i, errorOffset);
rat.storeTo (elements, rowOffset + i, errorOffset);
}
for (int j=0; j<k; j++) {
final int upRowOffset = j*innerSize; // Offset of a row before (locate upper) the current row.
acc.setFrom(LU, j*size + k, errorLU); // Same column than the diagonal element, but in the upper row.