id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 10104,program aborts with log1p(-2.0Q),Charles Karney ,John Maddock,"The math functions, e.g., log1p, for float128 do not handle parameters outside the normal domain. Thus sqrt(-2.0Q) produces a nan as does log1p(-2.0), but log1p(-2.0Q) crashes. (Similar remarks apply to hypot and probably other similarly defined functions.) {{{ #include #include #include #include int main() { double x = -2; boost::multiprecision::float128 y = -2; std::cout << std::sqrt(x) << ""\n"" << std::log1p(x) << ""\n""; std::cout << sqrt(y) << ""\n""; std::cout << boost::math::log1p(y) << ""\n""; } }}} produces {{{ -nan -nan -nan terminate called after throwing an instance of 'boost::exception_detail::clone_impl >' what(): Error in function boost::math::log1p(N5boost14multiprecision6numberINS0_8backends16float128_backendELNS0_26expression_template_optionE0EEE): log1p(x) requires x > -1, but got x = -2. Aborted (core dumped) }}} ",Bugs,closed,To Be Determined,multiprecision,Boost 1.54.0,Problem,invalid,,