<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: New Bug with Fortran in Intel® Fortran Compiler</title>
    <link>https://community.intel.com/t5/Intel-Fortran-Compiler/New-Bug-with-Fortran/m-p/879052#M74728</link>
    <description>&lt;DIV style="margin:0px;"&gt;&lt;/DIV&gt;
&lt;BR /&gt;Also, as Les suggested, enable bounds checking to insure indexes are valid for TCP(L), A(J) and A(J+3)&lt;BR /&gt;&lt;BR /&gt;Jim Dempsey&lt;BR /&gt;</description>
    <pubDate>Tue, 06 Jan 2009 18:03:49 GMT</pubDate>
    <dc:creator>jimdempseyatthecove</dc:creator>
    <dc:date>2009-01-06T18:03:49Z</dc:date>
    <item>
      <title>New Bug with Fortran</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/New-Bug-with-Fortran/m-p/879048#M74724</link>
      <description>&lt;P&gt;&lt;SPAN style="font-size: x-small;"&gt;In my Fortran program I have an expression as follows.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: x-small;"&gt;TCP(L) = ((A(J)*PLOG + A(J+1))*PLOG + A(J+2))*PLOG + A(J+3) + S4&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: x-small;"&gt;+ PLOG*(S3 + PLOG*(S2 + PLOG*S1))&lt;BR /&gt;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN style="font-size: x-small; color: #0000ff;"&gt;IF&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN style="font-size: x-small;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="font-size: x-small; color: #0000ff;"&gt;ISNAN&lt;/SPAN&gt;&lt;SPAN style="font-size: x-small;"&gt;(TCP(L))) &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN style="font-size: x-small; color: #0000ff;"&gt;THEN&lt;BR /&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN style="font-size: x-small;"&gt;TCP(L) = ((A(J)*PLOG + A(J+1))*PLOG + A(J+2))*PLOG + A(J+3) + S4&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: x-small;"&gt;+ PLOG*(S3 + PLOG*(S2 + PLOG*S1))&lt;BR /&gt;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN style="font-size: x-small; color: #0000ff;"&gt;END IF&lt;BR /&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;SPAN style="font-size: x-small;"&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;
&lt;/P&gt;&lt;P&gt;When I ran my program first time TCP(L) calculation resulting NaN and again it is going into the if loop and the same expression assgning to same variable is resulting in correct value.&lt;/P&gt;
&lt;P&gt;Why is this split behaviour in fortran and what is the way to reslove it rather adding every where this IFELSE stuff...&lt;/P&gt;
&lt;P&gt;Thanks,&lt;BR /&gt;Chandra.&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 19 Dec 2008 11:24:45 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/New-Bug-with-Fortran/m-p/879048#M74724</guid>
      <dc:creator>acobulareddy</dc:creator>
      <dc:date>2008-12-19T11:24:45Z</dc:date>
    </item>
    <item>
      <title>Re: New Bug with Fortran</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/New-Bug-with-Fortran/m-p/879049#M74725</link>
      <description>&lt;DIV style="margin:0px;"&gt;&lt;/DIV&gt;
I can't think of an explanation for this behavior. Can you provide a short but complete example?&lt;BR /&gt;</description>
      <pubDate>Tue, 06 Jan 2009 15:36:35 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/New-Bug-with-Fortran/m-p/879049#M74725</guid>
      <dc:creator>Steven_L_Intel1</dc:creator>
      <dc:date>2009-01-06T15:36:35Z</dc:date>
    </item>
    <item>
      <title>Re: New Bug with Fortran</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/New-Bug-with-Fortran/m-p/879050#M74726</link>
      <description>&lt;DIV style="margin:0px;"&gt;&lt;/DIV&gt;
I seem to remember you posted something about this before. At the time I wondered why, having found that TCP(L) is NaN, you then proceeded to do exactly the same calculation again! I thought maybeother replies would produce further information.&lt;BR /&gt;&lt;BR /&gt;The usual starting point is to ask - have you turned on all the debug options? (Check array boundaries, uninitialised variables etc) &lt;BR /&gt;Do you use "implicit none" in all your routines?&lt;BR /&gt;Is the code snippet you showed &lt;STRONG&gt;&lt;EM&gt;exactly&lt;/EM&gt;&lt;/STRONG&gt; as it appears in your actual code, or are there other statements between the first calculation of TCP and the IF (ISNAN) ?&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Les&lt;BR /&gt;</description>
      <pubDate>Tue, 06 Jan 2009 17:03:06 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/New-Bug-with-Fortran/m-p/879050#M74726</guid>
      <dc:creator>Les_Neilson</dc:creator>
      <dc:date>2009-01-06T17:03:06Z</dc:date>
    </item>
    <item>
      <title>Re: New Bug with Fortran</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/New-Bug-with-Fortran/m-p/879051#M74727</link>
      <description>&lt;DIV style="margin:0px;"&gt;&lt;/DIV&gt;
&lt;BR /&gt;Chandra,&lt;BR /&gt;&lt;BR /&gt;disect your constituents. Use&lt;BR /&gt;&lt;BR /&gt;
&lt;PRE&gt;[cpp]IF(ISNAN(TCP(L))) THEN
  IF(ISNAN(PLOG)) call Bug
  IF(ISNAN(A(J))) call Bug
  IF(ISNAN(A(J+1))) call Bug
  IF(ISNAN(A(J+2))) call Bug
  IF(ISNAN(A(J+3))) call Bug
  IF(ISNAN(S4)) call Bug
  IF(ISNAN(S3)) call Bug
  IF(ISNAN(S2)) call Bug
  IF(ISNAN(S1)) call Bug
  IF(ISNAN(A(J)*PLOG)) call Bug
  IF(ISNAN((A(J)*PLOG + A(J+1))) call Bug
  IF(ISNAN((A(J)*PLOG + A(J+1))*PLOG)) call Bug
  IF(ISNAN((A(J)*PLOG + A(J+1))*PLOG + A(J+2))) call Bug
  IF(ISNAN(((A(J)*PLOG + A(J+1))*PLOG + A(J+2))*PLOG)) call Bug
  IF(ISNAN(((A(J)*PLOG + A(J+1))*PLOG + A(J+2))*PLOG + A(J+3))) call Bug
  IF(ISNAN(((A(J)*PLOG + A(J+1))*PLOG + A(J+2))*PLOG + A(J+3) + S4)) call Bug
  IF(ISNAN(PLOG*S1)) call Bug
  IF(ISNAN(S2 + PLOG*S1)) call Bug
  IF(ISNAN(PLOG*(S2 + PLOG*S1))) call Bug
  IF(ISNAN(S3 + PLOG*(S2 + PLOG*S1))) call Bug
  IF(ISNAN(PLOG*(S3 + PLOG*(S2 + PLOG*S1)))) call Bug
  IF(ISNAN(((A(J)*PLOG + A(J+1))*PLOG + A(J+2))*PLOG + A(J+3) + S4) + PLOG*(S3 + PLOG*(S2 + PLOG*S1)))) call Bug
  call Bug ! ? unknown
END IF

[/cpp]&lt;/PRE&gt;
Jim Dempsey&lt;BR /&gt;</description>
      <pubDate>Tue, 06 Jan 2009 18:01:06 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/New-Bug-with-Fortran/m-p/879051#M74727</guid>
      <dc:creator>jimdempseyatthecove</dc:creator>
      <dc:date>2009-01-06T18:01:06Z</dc:date>
    </item>
    <item>
      <title>Re: New Bug with Fortran</title>
      <link>https://community.intel.com/t5/Intel-Fortran-Compiler/New-Bug-with-Fortran/m-p/879052#M74728</link>
      <description>&lt;DIV style="margin:0px;"&gt;&lt;/DIV&gt;
&lt;BR /&gt;Also, as Les suggested, enable bounds checking to insure indexes are valid for TCP(L), A(J) and A(J+3)&lt;BR /&gt;&lt;BR /&gt;Jim Dempsey&lt;BR /&gt;</description>
      <pubDate>Tue, 06 Jan 2009 18:03:49 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Fortran-Compiler/New-Bug-with-Fortran/m-p/879052#M74728</guid>
      <dc:creator>jimdempseyatthecove</dc:creator>
      <dc:date>2009-01-06T18:03:49Z</dc:date>
    </item>
  </channel>
</rss>

