https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64677
--- Comment #7 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Andrew Pinski from comment #6) > (In reply to Sanjay Patel from comment #5) > > (In reply to Mikhail Maltsev from comment #3) > > > So, compile-time result is more precise. BTW, what does the disassembly > > > look > > > like? > > > > In the -O0 case, it looks like all of the math is handled in: > > call ___ieee_divdc3 > > > Is this the one in libgcc or part of Apple's libc? If it is part of Apple's > libc, then the bug is there. Apple's libc implementation of ___ieee_divdc3 > has known issues IIRC. See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=42333 . So ___ieee_divdc3 is always GCC's libgcc implementation. Can you try this under Linux too, just to double check there?