Поэтому при сложении на компьютере массива чисел надо сначала складывать наименьшие, иначе мы их потеряем.
Давайте поясню, что-ли. Есть такая классическая задачка по программированию - вычислить сумму 

 и сравнить с точным значением суммы до бесконечности (это 

). Ну все начинают суммировать:
Код:
float n, s=0;
for (n=1; n<=10000000; ++n)
    s+=1./(n*n);
 и получается ужасно неправильно. Потом им объясняют, что складывать надо в обратном порядке: 
Код:
float n, s=0;
for (n=10000000; n>=1; --n)
    s+=1./(n*n);
, и тут же всё получается правильно. Проблема - именно та, которую мы тут обсуждаем. У меня на этих примерах разница в 4-м знаке набегает: 1.644725 vs 1.644934