title: Fortran issue 0 + 0 not equal to 0
body: <p>I decied to post here since I'm facing a very weird trouble with my fortran90 code.
  Indeed, I declared double precision variables such that :</p>
  
  <pre><code>double precision, dimension(-1:20,-1:20) :: a,b,c
  </code></pre>
  
  <p>Then I initialize all variables to zero,</p>
  
  <pre><code>a(:,:) = 0.d0
  b(:,:) = 0.d0
  c(:,:) = 0.d0
  </code></pre>
  
  <p>And finally I do my computations,</p>
  
  <pre><code>a(1:17,2:18) = a(1:17,2:18) + b(1:17,2:18) + 0.5d0*c(1:17,2:18)
  </code></pre>
  
  <p>I checked each variable and they are all equal to zero before this computations but then I obtain,</p>
  
  <pre><code>abs(maxval(a(1:17,2)) - minval(a(1:17,2))) = 4.336808689942018E-019
  </code></pre>
  
  <p>This makes no sense but I have no idea where the problem comes from, could someone help me out on this ?</p>
  
  <p>Regards</p>
  
  <p>P.S : I'm using ifort with the following options : "-O3 -xHost -vec-report0 -implicitnone -warn truncated_source -warn argument_checking -warn unused -warn declarations -warn alignments -warn ignore_loc -warn usage -check nobounds -ftz"</p>