Copyright 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.Contributed by the Arenaire and Cacao projects, INRIA.This file is part of the GNU MPFR Library.The GNU MPFR Library is free software; you can redistribute it and/or modifyit under the terms of the GNU Lesser General Public License as published bythe Free Software Foundation; either version 3 of the License, or (at youroption) any later version.The GNU MPFR Library is distributed in the hope that it will be useful, butWITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITYor FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General PublicLicense for more details.You should have received a copy of the GNU Lesser General Public Licensealong with the GNU MPFR Library; see the file COPYING.LESSER. If not, seehttp://www.gnu.org/licenses/ or write to the Free Software Foundation, Inc.,51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.##############################################################################Probably many bugs.Known bugs:* The overflow/underflow exceptions may be badly handled in some functions;specially when the intermediary internal results have exponent whichexceeds the hardware limit (2^30 for a 32 bits CPU, and 2^62 for a 64 bitsCPU) or the exact result is close to an overflow/underflow threshold.* Under Linux/x86 with the traditional FPU, some functions do not workif the FPU rounding precision has been changed to single (this is abad practice and should be useless, but one never knows what othersoftware will do).* Some functions do not use MPFR_SAVE_EXPO_* macros, thus do not behavecorrectly in a reduced exponent range.* Function hypot gives incorrect result when on the one hand the differencebetween parameters' exponents is near 2*MPFR_EMAX_MAX and on the other handthe output precision or the precision of the parameter with greatestabsolute value is greater than 2*MPFR_EMAX_MAX-4.Potential bugs:* Possible incorrect results due to internal underflow, which can lead toa huge loss of accuracy while the error analysis doesn't take that intoaccount. If the underflow occurs at the last function call (just beforethe MPFR_CAN_ROUND), the result should be correct (or MPFR gets into aninfinite loop). TODO: check the code and the error analysis.* Possible integer overflows on some machines.* Possible bugs with huge precisions (> 2^30).* Possible bugs if the chosen exponent range does not allow to representthe range [1/16, 16].* Possible infinite loop in some functions for particular cases: whenthe exact result is an exactly representable number or the middle ofconsecutive two such numbers. However for non-algebraic functions, it isbelieved that no such case exists, except the well-known cases like cos(0)=1,exp(0)=1, and so on, and the x^y function when y is an integer or y=1/2^k.* The mpfr_set_ld function may be quite slow if the long double type has anexponent of more than 15 bits.* mpfr_set_d may give wrong results on some non-IEEE architectures.* Error analysis for some functions may be incorrect (out-of-date dueto modifications in the code?).* Possible use of non-portable feature (pre-C99) of the integer divisionwith negative result.