title: How can I solve c++ std::rintf issue in gcc
body: <p>I don't understand, why <code>std::rintf</code> returns the following results (g++ 7.3.0):</p>
  <pre><code>cout &lt;&lt; rintf(14.5f) &lt;&lt; endl;            
  cout &lt;&lt; rintf(15.5f) &lt;&lt; endl;             
  cout &lt;&lt; rintf(16.5f) &lt;&lt; endl;
  </code></pre>
  <p>result:</p>
  <pre><code>14
  16
  16
  </code></pre>
  <p>The source numbers can be stored in float precisely, so this shouldn't be a computation issue.</p>
  <p>I checked the source and it uses <code>__builtin_rintf</code>.</p>
  <p>I can write my own function, of course, but this issue disturbs me.</p>