doubleextended, DE computes the nearest number with 64 bits of mantissa.

Library names:

sollya_obj_t sollya_lib_doubleextended(sollya_obj_t) sollya_obj_t sollya_lib_doubleextended_obj() int sollya_lib_is_doubleextended_obj(sollya_obj_t) sollya_obj_t sollya_lib_build_function_doubleextended(sollya_obj_t) #define SOLLYA_DE(x) sollya_lib_build_function_doubleextended(x)


Example 1:

   > display=binary!;
   > DE(0.1);
   1.100110011001100110011001100110011001100110011001100110011001101_2 * 2^(-4)
   > round(0.1,64,RN);
   1.100110011001100110011001100110011001100110011001100110011001101_2 * 2^(-4)

Example 2:

   > D(2^(-2000));
   > DE(2^(-20000));

Example 3:

   > verbosity=1!;
   > 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.
   > 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.
See also: roundcoefficients, halfprecision, single, double, doubledouble, quad, tripledouble, round