benchmarking Poly/ML & floating point
   
    Stephen Weeks
     
    sweeks@intertrust.com
       
    Mon, 11 Sep 2000 16:24:46 -0700 (PDT)
    
    
  
> It might reverse them any way, even if not inlined.
I think we are not communicating well here.  I am worried that if I define
inline Int Real_equal(Double x1, Double x2) {
	return x1 == x2;
}
and have a call
	if (Real_equal(a, b))
		xxx;
	else
		yyy;
then gcc may inline Real_equal and turn this into 
	if (a != b)
		yyy;
	else
		xxx;
which is wrong.
If I define Real_equal as not inlined, then I can see how gcc might produce
	if (!Real_equal(a, b))
		yyy;
	else
		xxx;
But this is correct.  In other words, I see how gcc could screw me if I allow
Real_equal to be inlined.  I do not see how gcc could screw me if I do not.