title: Haskell repa : inner product result of two array is wrong
body: <pre><code>import Data.Array.Repa
  import Data.Vector.Unboxed hiding(zipWith)
  import Prelude hiding(zipWith,replicate)
  
  dotp :: Array U DIM1 Float -&gt; Array U DIM1 Float -&gt; IO Float
  dotp x y =  sumAllP $ zipWith (*) x y
  
  x = fromUnboxed (Z:.20000000) $ replicate 20000000 1 
  y = fromUnboxed (Z:.20000000) $ replicate 20000000 1
  
  main = (dotp x y) &gt;&gt;= print
  </code></pre>
  
  <p>Compiled with <code>ghc -O2 -threaded test.hs</code></p>
  
  <p>However, when I execute the executable with <code>./test +RTS -N1</code></p>
  
  <p>the result is <code>1.6777216e7</code></p>
  
  <p>while <code>./test +RTS -N2</code> or with more cores, </p>
  
  <p>the result is correct : <code>2.0e7</code></p>
  
  <p>What is wrong with my code?</p>