title: Accurate cumulative sum for floats in Python 3
body: <p>Given a list of floats in Python, what is the most accurate way to produce the accumulated sums of that list?</p>
  
  <p>By <em>accurate</em> I mean robust against rounding errors.</p>
  
  <p>In particular I am trying to understand if I should use <code>list(itertools.accumulate(my_list))</code> or calculate this list in pairs by using <code>math.fsum()</code>? </p>
  
  <p>Numpy is not an option.</p>
  
  <p>Is <code>itertools.accumulate(my_list)</code> using an accurate sum function internally for floats like <code>math.fsum()</code> or not?</p>
  
  <p>What are their differences in this case?</p>
  
  <p>If possible, can <code>math.fsum</code> be specified as the addition function in <code>itertools.accumulate</code> and does that make sense?</p>