title: Compilation using 32-bit compiler gives different result from compilation using 64-bit compiler
body: <p>Very simple program for test of speed gives different results if compiled with 32-bit compiler (Virtual Pascal 2.1, Free Pasacal 3.2.2, Delphi 3, Delphi 7, GCC 3.4.2, GFortran 3.4.2) or 64-bit compiler (Free Pascal 3.2.0, GCC 9.2.0, GFortran 9.2.0).
  Code of the program is:</p>
  <pre><code>#include &lt;stdio.h&gt;
  
  double y,yy[1000000];
  int    i,j;
  
  int main()
  {
   y=1.0; i=1;
  
  // for (i=1; i&lt;=100; i++)
    for (j=1; j&lt;=1000000; j++)
     {y=y-1.0/(i+j*y);
      yy[j]=y;}
  
   for (j=1; j&lt;=200; j++) printf(&quot;%7d %25.15f\n&quot;,j,yy[j]);
  
   j=j+20;
   printf(&quot;%7d %25.15f\n&quot;,j,yy[1000000]);
  
   return 0;
  }
  </code></pre>
  <p>If compiled with a 32-bit compiler, the last two rows of output are</p>
  <pre><code>        200         1.105809961129190
          221         1.283238771529100
  </code></pre>
  <p>If compiled with a 64-bit compiler, the last two rows of output are</p>
  <pre><code>        200         2.529262035756635
          221         9.276179925149263
  </code></pre>
  <p>No optimization was applied during compilation. Which result is correct?</p>