If you write the loop yourself, you can add everything to a double instead of a float, or a long double instead of a double, if you have those.
Oh, if all your numbers are positive you can also sort the array and it will minimize the error accumulated, but I'm not sure what to do with mixed signs.