[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[Bug target/35488] A incorrect result in a simple division, only in 32-bit gcc.




------- Comment #7 from purnnam1 at naver dot com  2008-03-07 00:05 -------
Although I knew GCC use 80-bit format internally, I thought the result should
be same in 80-bit format.
Due to the very kind explanation about my problem, I can understand that the
result can be changed because the rounding operation occurs two times.

The cause of the problem was 'double rounding'.

Ironically, the 80-bit internal format makes MORE BIG ERROR in 64-bit floating
point calculation. 
For 64-bit output, 64-bit internal format will generate the best result becauce
IEEE-754 intendeds a result to be nearest to the true value with infinite
precision.

If GCC adopts 80-bit internal format, the final result in the 64-bit floating
point will not be the best because of the unavoidable double rounding
operation.
So, I think that it's very good decision to support 64-bit internal foramt in
GCC 4.x version. If a user uses 64-bit floating point numbers, the user will
get the more correct result by this option.

Also, I really appreciate that Andrew Pinski lets me know my alais rule
violation in C/C++. Due to Andrew's kind advice, I knew how much my violation
affects the program performance. It was not just a problem about code
portability issue. Thank you again.

I reallly appreciate you all.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35488

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.


Reply to: