You mention performing operations 83, 97 and even 4000 elements. I'd just like to point out that some floating points operations are more accurate when performed on numbers of similar magnitude, so using an accumulator (such as all the presented methods use) is not ideal in those circumstances.