animal_magic's answer is correct that you should add the numbers from smallest to largest, however I want to give an example to show why.
Assume we are working in a floating point format that gives us a staggering 3 digits of accuracy. Now we want to add ten numbers:
[1000, 1, 1, 1, 1, 1, 1, 1, 1, 1]
Of course the exact answer is 1009, but we can't get that in our 3 digit format. Rounding to 3 digits, the most accurate answer we get get is 1010. If we add smallest to largest, on each loop we get:
Loop Index s
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 1009 -> 1010
So we get the most accurate answer possible for our format. Now lets assume that we add from largest to smallest.
Loop Index s
1 1000
2 1001 -> 1000
3 1001 -> 1000
4 1001 -> 1000
5 1001 -> 1000
6 1001 -> 1000
7 1001 -> 1000
8 1001 -> 1000
9 1001 -> 1000
10 1001 -> 1000
Since the floating point numbers are rounded after each operation, all of the additions are rounded away, increasing our error from 1 to 9 from the exact. Now imagine if your set of numbers to add had a 1000, and then a hundred 1's, or a million. Note that to be truly accurate, you would want to sum the smallest two numbers, then resort the result into your set of numbers.