- doubleextended is a function that computes the nearest floating-point number with 64 bits of mantissa to a given number. Since it is a function, it can be composed with other Sollya functions such as exp, sin, etc.
- doubleextended now does handle subnormal numbers for a presumed exponent width of the double-extended format of 15 bits. This means, with respect to rounding, doubleextended behaves as a IEEE 754-2008 binary79 with a 64 bit significand (with a hidden bit normal range), one sign bit and a 15 bit exponent field would behave. This behavior may be different from the one observed on Intel-based IA32/Intel64 processors (or compatible versions from other vendors). However it is the one seen on HP/Intel Itanium when the precision specifier is double-extended and pseudo-denormals are activated.
- Since it is a function and not a command, its behavior is a bit different from the behavior of round(x,64,RN) even if the result is exactly the same. round(x,64,RN) is immediately evaluated whereas doubleextended(x) can be composed with other functions (and thus be plotted and so on).

> DE(0.1);

1.100110011001100110011001100110011001100110011001100110011001101_2 * 2^(-4)

> round(0.1,64,RN);

1.100110011001100110011001100110011001100110011001100110011001101_2 * 2^(-4)

0

> DE(2^(-20000));

0

> f = sin(DE(x));

> f(pi);

Warning: rounding has happened. The value displayed is a faithful rounding to 165 bits of the true result.

Warning: For at least 1 of the constants displayed in decimal, rounding has happened.

-5.016557612668332023557327080330757013831561670255e-20

> g = sin(round(x,64,RN));

Warning: at least one of the given expressions or a subexpression is not correctly typed

or its evaluation has failed because of some error on a side-effect.