title: Causes for NaN in C++ application that do no raise a floating point exception
body: <p>To find the cause of floating point variables beeing set to NaN in my C++ program I enabled floating point exceptions like this:</p>
  
  <pre><code>#include &lt;fenv.h&gt;
  feenableexcept(FE_INVALID | FE_OVERFLOW);
  </code></pre>
  
  <p>I know it works because when I write:</p>
  
  <pre><code>int val = 0.0/0.0;
  </code></pre>
  
  <p>in my program a floating point exception is risen.
  But NaNs are "spreading" through the floating point calculations of my program and I have no idea which variable is set to NaN first.</p>
  
  <p>What causes for a variable beeing set to NaN exist, that would not cause a floating point exception?</p>