title: Different results using same function from different libraries
body: <p>Here is some code:</p>
  
  <pre><code>#include &lt;iostream&gt;
  #include &lt;cmath&gt;
  
  using namespace std;
  
  int main()
  {
      long long int a, b;
      long long int c;
  
      cin &gt;&gt; a &gt;&gt; b;
  
      c = abs(a) + abs(b);
      cout &lt;&lt; c;
      cout &lt;&lt; endl;
  }
  </code></pre>
  
  <p>Which supposed to return <code>1000000000000000002</code> when I input <code>1000000000000000000</code> and <code>2</code>.</p>
  
  <p>If I try to do it with <code>cmath</code> it will return <code>1000000000000000000</code>, but if I use <code>cstdlib</code> it will return <code>1000000000000000002</code>. Why is that even happening?</p>
  
  <p>Also considering that I'm using cmath, shouldn't it work even more proper?</p>
  
  <p>I'm using Linux Mint 18.2 64bit, Eclipse Platform.</p>