As you can see, the last four don't seem to be defined for long double, but my long double type is 16 bytes instead of the common 8 or 12, yet it has the same precision as the ideone 12 byte version - I assume this is because it uses the same type as the ideone 12-byte version but has to align to 64 bits rather than 32 bits.