title: numpy.mean precision for large arrays
body: <p>I do not understand why casting a float32-Array to a float64-Array changes the mean of the array significantly.</p>
  
  <pre><code>import numpy as n  
  
  a = n.float32(100. * n.random.random_sample((10000000))+1000.)
  b = a.astype(n.float64)        
  print n.mean(a), a.dtype, a.shape
  print n.mean(b), b.dtype, b.shape
  </code></pre>
  
  <p>result (should be approx. 1050, so float64 is correct):</p>
  
  <pre><code>1028.346368   float32 (10000000,)                                                          
  1049.98284473 float64 (10000000,)
  </code></pre>