cc [ flags ] -I/usr/local/include file(s) -L/usr/local/lib -lmcw [ ... ] #include <mathcw.h> extern float ulpsmhf (float approx, double exact); extern double ulpsmh (double approx, long double exact); extern long double ulpsmhl (long double approx, long_long_double exact); extern __float80 ulpsmhw (__float80 approx, long_long_double exact); extern __float128 ulpsmhq (__float128 approx, long_long_double exact); extern long_long_double ulpsmhll (long_long_double approx, long_long_double exact); extern decimal_float ulpsmhdf (decimal_float approx, decimal_double exact); extern decimal_double ulpsmhd (decimal_double approx, decimal_long_double exact); extern decimal_long_double ulpsmhdl (decimal_long_double approx, decimal_long_long_double exact); extern decimal_long_long_double ulpsmhdll (decimal_long_long_double approx, decimal_long_long_double exact);
NB: Functions with prototypes containing underscores in type names may be available only with certain extended compilers.
Notice that the precision of the second argument is higher (when possible) than that of the first argument, in order to allow a sensible difference to be computed.