Test output: teeks99-dkr-dg13-g11 - math - lambert_w_precision_example / gcc-13~gnu11
Rev c5239cd4ca1e63a779117b2b48e182fa95c31b54 / Sun, 17 Nov 2024 18:29:52 +0000
Compile [2024-11-17 19:52:14 UTC]: fail


    "g++-13"   -fvisibility-inlines-hidden -std=gnu++11 -fPIC -m64 -pthread -O0 -fno-inline -Wall -fvisibility=hidden -Wno-missing-braces -DBOOST_ALL_NO_LIB=1 -DBOOST_COBALT_USE_STD_PMR=1 -DBOOST_CONTAINER_DYN_LINK=1 -DBOOST_CONTAINER_NO_LIB=1 -DBOOST_RANDOM_DYN_LINK=1 -DBOOST_RANDOM_NO_LIB=1 -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_SYSTEM_NO_LIB=1   -I".." -I"../libs/math/include_private" -I"/var/boost/run/boost_root/libs/assert/include" -I"/var/boost/run/boost_root/libs/container/include" -I"/var/boost/run/boost_root/libs/core/include" -I"/var/boost/run/boost_root/libs/integer/include" -I"/var/boost/run/boost_root/libs/intrusive/include" -I"/var/boost/run/boost_root/libs/lexical_cast/include" -I"/var/boost/run/boost_root/libs/math/include" -I"/var/boost/run/boost_root/libs/move/include" -I"/var/boost/run/boost_root/libs/mp11/include" -I"/var/boost/run/boost_root/libs/predef/include" -I"/var/boost/run/boost_root/libs/random/include" -I"/var/boost/run/boost_root/libs/system/include" -I"/var/boost/run/boost_root/libs/throw_exception/include" -I"/var/boost/run/boost_root/libs/type_traits/include" -I"/var/boost/run/boost_root/libs/variant2/include" -I"/var/boost/run/boost_root/libs/winapi/include"  -c -o "/var/boost/run/results/boost/bin.v2/libs/math/example/lambert_w_precision_example.test/gcc-13~gnu11/debug/x86_64/debug-symbols-off/threading-multi/visibility-hidden/lambert_w_precision_example.o" "../libs/math/example/lambert_w_precision_example.cpp"

In file included from ../boost/math/constants/constants.hpp:11,
                 from ../libs/math/example/lambert_w_precision_example.cpp:13:
../boost/math/tools/config.hpp:28:6: warning: #warning "Boost.Math requires C++14" [-Wcpp]
   28 | #    warning "Boost.Math requires C++14"
      |      ^~~~~~~
In file included from ../boost/multiprecision/float128.hpp:23,
                 from ../libs/math/example/lambert_w_precision_example.cpp:20:
../boost/multiprecision/detail/standalone_config.hpp:36:7: warning: #warning "The minimum language standard to use Boost.Math will be C++14 starting in July 2023 (Boost 1.82 release)" [-Wcpp]
   36 |  #    warning "The minimum language standard to use Boost.Math will be C++14 starting in July 2023 (Boost 1.82 release)"
      |       ^~~~~~~
In file included from ../boost/math/tools/mp.hpp:15,
                 from ../boost/math/policies/policy.hpp:11,
                 from ../boost/math/constants/constants.hpp:16:
../boost/math/tools/type_traits.hpp:208:12: error: 'is_final' has not been declared in 'std'
  208 | using std::is_final;
      |            ^~~~~~~~
../boost/math/tools/type_traits.hpp:259:12: error: 'remove_cv_t' has not been declared in 'std'
  259 | using std::remove_cv_t;
      |            ^~~~~~~~~~~
../boost/math/tools/type_traits.hpp:261:12: error: 'remove_const_t' has not been declared in 'std'
  261 | using std::remove_const_t;
      |            ^~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:263:12: error: 'remove_volatile_t' has not been declared in 'std'
  263 | using std::remove_volatile_t;
      |            ^~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:265:12: error: 'add_cv_t' has not been declared in 'std'
  265 | using std::add_cv_t;
      |            ^~~~~~~~
../boost/math/tools/type_traits.hpp:267:12: error: 'add_const_t' has not been declared in 'std'
  267 | using std::add_const_t;
      |            ^~~~~~~~~~~
../boost/math/tools/type_traits.hpp:269:12: error: 'add_volatile_t' has not been declared in 'std'
  269 | using std::add_volatile_t;
      |            ^~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:273:12: error: 'remove_reference_t' has not been declared in 'std'
  273 | using std::remove_reference_t;
      |            ^~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:275:12: error: 'add_lvalue_reference_t' has not been declared in 'std'
  275 | using std::add_lvalue_reference_t;
      |            ^~~~~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:277:12: error: 'add_rvalue_reference_t' has not been declared in 'std'
  277 | using std::add_rvalue_reference_t;
      |            ^~~~~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:281:12: error: 'remove_pointer_t' has not been declared in 'std'
  281 | using std::remove_pointer_t;
      |            ^~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:283:12: error: 'add_pointer_t' has not been declared in 'std'
  283 | using std::add_pointer_t;
      |            ^~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:287:12: error: 'make_signed_t' has not been declared in 'std'
  287 | using std::make_signed_t;
      |            ^~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:289:12: error: 'make_unsigned_t' has not been declared in 'std'
  289 | using std::make_unsigned_t;
      |            ^~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:293:12: error: 'remove_extent_t' has not been declared in 'std'
  293 | using std::remove_extent_t;
      |            ^~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:295:12: error: 'remove_all_extents_t' has not been declared in 'std'
  295 | using std::remove_all_extents_t;
      |            ^~~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:299:12: error: 'decay_t' has not been declared in 'std'
  299 | using std::decay_t;
      |            ^~~~~~~
../boost/math/tools/type_traits.hpp:301:12: error: 'enable_if_t' has not been declared in 'std'
  301 | using std::enable_if_t;
      |            ^~~~~~~~~~~
../boost/math/tools/type_traits.hpp:303:12: error: 'conditional_t' has not been declared in 'std'
  303 | using std::conditional_t;
      |            ^~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:305:12: error: 'common_type_t' has not been declared in 'std'
  305 | using std::common_type_t;
      |            ^~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:307:12: error: 'underlying_type_t' has not been declared in 'std'
  307 | using std::underlying_type_t;
      |            ^~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:315:34: warning: variable templates only available with '-std=c++14' or '-std=gnu++14' [-Wc++14-extensions]
  315 | BOOST_MATH_INLINE_CONSTEXPR bool is_void_v = boost::math::is_void<T>::value;
      |                                  ^~~~~~~~~
../boost/math/tools/type_traits.hpp:318:34: warning: variable templates only available with '-std=c++14' or '-std=gnu++14' [-Wc++14-extensions]
  318 | BOOST_MATH_INLINE_CONSTEXPR bool is_null_pointer_v = boost::math::is_null_pointer<T>::value;
      |                                  ^~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:321:34: warning: variable templates only available with '-std=c++14' or '-std=gnu++14' [-Wc++14-extensions]
  321 | BOOST_MATH_INLINE_CONSTEXPR bool is_integral_v = boost::math::is_integral<T>::value;
      |                                  ^~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:324:34: warning: variable templates only available with '-std=c++14' or '-std=gnu++14' [-Wc++14-extensions]
  324 | BOOST_MATH_INLINE_CONSTEXPR bool is_floating_point_v = boost::math::is_floating_point<T>::value;
      |                                  ^~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:327:34: warning: variable templates only available with '-std=c++14' or '-std=gnu++14' [-Wc++14-extensions]
  327 | BOOST_MATH_INLINE_CONSTEXPR bool is_array_v = boost::math::is_array<T>::value;
      |                                  ^~~~~~~~~~
../boost/math/tools/type_traits.hpp:330:34: warning: variable templates only available with '-std=c++14' or '-std=gnu++14' [-Wc++14-extensions]
  330 | BOOST_MATH_INLINE_CONSTEXPR bool is_enum_v = boost::math::is_enum<T>::value;
      |                                  ^~~~~~~~~
../boost/math/tools/type_traits.hpp:333:34: warning: variable templates only available with '-std=c++14' or '-std=gnu++14' [-Wc++14-extensions]
  333 | BOOST_MATH_INLINE_CONSTEXPR bool is_union_v = boost::math::is_union<T>::value;
      |                                  ^~~~~~~~~~
../boost/math/tools/type_traits.hpp:336:34: warning: variable templates only available with '-std=c++14' or '-std=gnu++14' [-Wc++14-extensions]
  336 | BOOST_MATH_INLINE_CONSTEXPR bool is_class_v = boost::math::is_class<T>::value;
      |                                  ^~~~~~~~~~
../boost/math/tools/type_traits.hpp:339:34: warning: variable templates only available with '-std=c++14' or '-std=gnu++14' [-Wc++14-extensions]
  339 | BOOST_MATH_INLINE_CONSTEXPR bool is_function_v = boost::math::is_function<T>::value;
      |                                  ^~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:342:34: warning: variable templates only available with '-std=c++14' or '-std=gnu++14' [-Wc++14-extensions]
  342 | BOOST_MATH_INLINE_CONSTEXPR bool is_pointer_v = boost::math::is_pointer<T>::value;
      |                                  ^~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:345:34: warning: variable templates only available with '-std=c++14' or '-std=gnu++14' [-Wc++14-extensions]
  345 | BOOST_MATH_INLINE_CONSTEXPR bool is_lvalue_reference_v = boost::math::is_lvalue_reference<T>::value;
      |                                  ^~~~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:348:34: warning: variable templates only available with '-std=c++14' or '-std=gnu++14' [-Wc++14-extensions]
  348 | BOOST_MATH_INLINE_CONSTEXPR bool is_rvalue_reference_v = boost::math::is_rvalue_reference<T>::value;
      |                                  ^~~~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:351:34: warning: variable templates only available with '-std=c++14' or '-std=gnu++14' [-Wc++14-extensions]
  351 | BOOST_MATH_INLINE_CONSTEXPR bool is_member_object_pointer_v = boost::math::is_member_object_pointer<T>::value;
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:354:34: warning: variable templates only available with '-std=c++14' or '-std=gnu++14' [-Wc++14-extensions]
  354 | BOOST_MATH_INLINE_CONSTEXPR bool is_member_function_pointer_v = boost::math::is_member_function_pointer<T>::value;
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:357:34: warning: variable templates only available with '-std=c++14' or '-std=gnu++14' [-Wc++14-extensions]
  357 | BOOST_MATH_INLINE_CONSTEXPR bool is_fundamental_v = boost::math::is_fundamental<T>::value;
      |                                  ^~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:360:34: warning: variable templates only available with '-std=c++14' or '-std=gnu++14' [-Wc++14-extensions]
  360 | BOOST_MATH_INLINE_CONSTEXPR bool is_arithmetic_v = boost::math::is_arithmetic<T>::value;
      |                                  ^~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:363:34: warning: variable templates only available with '-std=c++14' or '-std=gnu++14' [-Wc++14-extensions]
  363 | BOOST_MATH_INLINE_CONSTEXPR bool is_scalar_v = boost::math::is_scalar<T>::value;
      |                                  ^~~~~~~~~~~
../boost/math/tools/type_traits.hpp:366:34: warning: variable templates only available with '-std=c++14' or '-std=gnu++14' [-Wc++14-extensions]
  366 | BOOST_MATH_INLINE_CONSTEXPR bool is_object_v = boost::math::is_object<T>::value;
      |                                  ^~~~~~~~~~~
../boost/math/tools/type_traits.hpp:369:34: warning: variable templates only available with '-std=c++14' or '-std=gnu++14' [-Wc++14-extensions]
  369 | BOOST_MATH_INLINE_CONSTEXPR bool is_compound_v = boost::math::is_compound<T>::value;
      |                                  ^~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:372:34: warning: variable templates only available with '-std=c++14' or '-std=gnu++14' [-Wc++14-extensions]
  372 | BOOST_MATH_INLINE_CONSTEXPR bool is_reference_v = boost::math::is_reference<T>::value;
      |                                  ^~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:375:34: warning: variable templates only available with '-std=c++14' or '-std=gnu++14' [-Wc++14-extensions]
  375 | BOOST_MATH_INLINE_CONSTEXPR bool is_member_pointer_v = boost::math::is_member_pointer<T>::value;
      |                                  ^~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:378:34: warning: variable templates only available with '-std=c++14' or '-std=gnu++14' [-Wc++14-extensions]
  378 | BOOST_MATH_INLINE_CONSTEXPR bool is_const_v = boost::math::is_const<T>::value;
      |                                  ^~~~~~~~~~
../boost/math/tools/type_traits.hpp:381:34: warning: variable templates only available with '-std=c++14' or '-std=gnu++14' [-Wc++14-extensions]
  381 | BOOST_MATH_INLINE_CONSTEXPR bool is_volatile_v = boost::math::is_volatile<T>::value;
      |                                  ^~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:384:34: warning: variable templates only available with '-std=c++14' or '-std=gnu++14' [-Wc++14-extensions]
  384 | BOOST_MATH_INLINE_CONSTEXPR bool is_trivial_v = boost::math::is_trivial<T>::value;
      |                                  ^~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:387:34: warning: variable templates only available with '-std=c++14' or '-std=gnu++14' [-Wc++14-extensions]
  387 | BOOST_MATH_INLINE_CONSTEXPR bool is_trivially_copyable_v = boost::math::is_trivially_copyable<T>::value;
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:390:34: warning: variable templates only available with '-std=c++14' or '-std=gnu++14' [-Wc++14-extensions]
  390 | BOOST_MATH_INLINE_CONSTEXPR bool is_standard_layout_v = boost::math::is_standard_layout<T>::value;
      |                                  ^~~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:393:34: warning: variable templates only available with '-std=c++14' or '-std=gnu++14' [-Wc++14-extensions]
  393 | BOOST_MATH_INLINE_CONSTEXPR bool is_empty_v = boost::math::is_empty<T>::value;
      |                                  ^~~~~~~~~~
../boost/math/tools/type_traits.hpp:396:34: warning: variable templates only available with '-std=c++14' or '-std=gnu++14' [-Wc++14-extensions]
  396 | BOOST_MATH_INLINE_CONSTEXPR bool is_polymorphic_v = boost::math::is_polymorphic<T>::value;
      |                                  ^~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:399:34: warning: variable templates only available with '-std=c++14' or '-std=gnu++14' [-Wc++14-extensions]
  399 | BOOST_MATH_INLINE_CONSTEXPR bool is_abstract_v = boost::math::is_abstract<T>::value;
      |                                  ^~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:402:60: error: 'is_final' is not a member of 'boost::math'; did you mean 'is_final_v'?
  402 | BOOST_MATH_INLINE_CONSTEXPR bool is_final_v = boost::math::is_final<T>::value;
      |                                                            ^~~~~~~~
      |                                                            is_final_v
../boost/math/tools/type_traits.hpp:402:70: error: expected primary-expression before '>' token
  402 | BOOST_MATH_INLINE_CONSTEXPR bool is_final_v = boost::math::is_final<T>::value;
      |                                                                      ^
../boost/math/tools/type_traits.hpp:402:73: error: '::value' has not been declared
  402 | BOOST_MATH_INLINE_CONSTEXPR bool is_final_v = boost::math::is_final<T>::value;
      |                                                                         ^~~~~
../boost/math/tools/type_traits.hpp:402:34: warning: variable templates only available with '-std=c++14' or '-std=gnu++14' [-Wc++14-extensions]
  402 | BOOST_MATH_INLINE_CONSTEXPR bool is_final_v = boost::math::is_final<T>::value;
      |                                  ^~~~~~~~~~
../boost/math/tools/type_traits.hpp:405:34: warning: variable templates only available with '-std=c++14' or '-std=gnu++14' [-Wc++14-extensions]
  405 | BOOST_MATH_INLINE_CONSTEXPR bool is_signed_v = boost::math::is_signed<T>::value;
      |                                  ^~~~~~~~~~~
../boost/math/tools/type_traits.hpp:408:34: warning: variable templates only available with '-std=c++14' or '-std=gnu++14' [-Wc++14-extensions]
  408 | BOOST_MATH_INLINE_CONSTEXPR bool is_unsigned_v = boost::math::is_unsigned<T>::value;
      |                                  ^~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:411:34: warning: variable templates only available with '-std=c++14' or '-std=gnu++14' [-Wc++14-extensions]
  411 | BOOST_MATH_INLINE_CONSTEXPR bool is_constructible_v = boost::math::is_constructible<T, Args...>::value;
      |                                  ^~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:414:34: warning: variable templates only available with '-std=c++14' or '-std=gnu++14' [-Wc++14-extensions]
  414 | BOOST_MATH_INLINE_CONSTEXPR bool is_trivially_constructible_v = boost::math::is_trivially_constructible<T, Args...>::value;
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:417:34: warning: variable templates only available with '-std=c++14' or '-std=gnu++14' [-Wc++14-extensions]
  417 | BOOST_MATH_INLINE_CONSTEXPR bool is_nothrow_constructible_v = boost::math::is_nothrow_constructible<T, Args...>::value;
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:420:34: warning: variable templates only available with '-std=c++14' or '-std=gnu++14' [-Wc++14-extensions]
  420 | BOOST_MATH_INLINE_CONSTEXPR bool is_default_constructible_v = boost::math::is_default_constructible<T>::value;
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:423:34: warning: variable templates only available with '-std=c++14' or '-std=gnu++14' [-Wc++14-extensions]
  423 | BOOST_MATH_INLINE_CONSTEXPR bool is_trivially_default_constructible_v = boost::math::is_trivially_default_constructible<T>::value;
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:426:34: warning: variable templates only available with '-std=c++14' or '-std=gnu++14' [-Wc++14-extensions]
  426 | BOOST_MATH_INLINE_CONSTEXPR bool is_nothrow_default_constructible_v = boost::math::is_nothrow_default_constructible<T>::value;
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:429:34: warning: variable templates only available with '-std=c++14' or '-std=gnu++14' [-Wc++14-extensions]
  429 | BOOST_MATH_INLINE_CONSTEXPR bool is_copy_constructible_v = boost::math::is_copy_constructible<T>::value;
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:432:34: warning: variable templates only available with '-std=c++14' or '-std=gnu++14' [-Wc++14-extensions]
  432 | BOOST_MATH_INLINE_CONSTEXPR bool is_trivially_copy_constructible_v = boost::math::is_trivially_copy_constructible<T>::value;
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:435:34: warning: variable templates only available with '-std=c++14' or '-std=gnu++14' [-Wc++14-extensions]
  435 | BOOST_MATH_INLINE_CONSTEXPR bool is_nothrow_copy_constructible_v = boost::math::is_nothrow_copy_constructible<T>::value;
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:438:34: warning: variable templates only available with '-std=c++14' or '-std=gnu++14' [-Wc++14-extensions]
  438 | BOOST_MATH_INLINE_CONSTEXPR bool is_move_constructible_v = boost::math::is_move_constructible<T>::value;
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:441:34: warning: variable templates only available with '-std=c++14' or '-std=gnu++14' [-Wc++14-extensions]
  441 | BOOST_MATH_INLINE_CONSTEXPR bool is_trivially_move_constructible_v = boost::math::is_trivially_move_constructible<T>::value;
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:444:34: warning: variable templates only available with '-std=c++14' or '-std=gnu++14' [-Wc++14-extensions]
  444 | BOOST_MATH_INLINE_CONSTEXPR bool is_nothrow_move_constructible_v = boost::math::is_nothrow_move_constructible<T>::value;
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:447:34: warning: variable templates only available with '-std=c++14' or '-std=gnu++14' [-Wc++14-extensions]
  447 | BOOST_MATH_INLINE_CONSTEXPR bool is_assignable_v = boost::math::is_assignable<T, U>::value;
      |                                  ^~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:450:34: warning: variable templates only available with '-std=c++14' or '-std=gnu++14' [-Wc++14-extensions]
  450 | BOOST_MATH_INLINE_CONSTEXPR bool is_trivially_assignable_v = boost::math::is_trivially_assignable<T, U>::value;
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:453:34: warning: variable templates only available with '-std=c++14' or '-std=gnu++14' [-Wc++14-extensions]
  453 | BOOST_MATH_INLINE_CONSTEXPR bool is_nothrow_assignable_v = boost::math::is_nothrow_assignable<T, U>::value;
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:456:34: warning: variable templates only available with '-std=c++14' or '-std=gnu++14' [-Wc++14-extensions]
  456 | BOOST_MATH_INLINE_CONSTEXPR bool is_copy_assignable_v = boost::math::is_copy_assignable<T>::value;
      |                                  ^~~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:459:34: warning: variable templates only available with '-std=c++14' or '-std=gnu++14' [-Wc++14-extensions]
  459 | BOOST_MATH_INLINE_CONSTEXPR bool is_trivially_copy_assignable_v = boost::math::is_trivially_copy_assignable<T>::value;
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:462:34: warning: variable templates only available with '-std=c++14' or '-std=gnu++14' [-Wc++14-extensions]
  462 | BOOST_MATH_INLINE_CONSTEXPR bool is_nothrow_copy_assignable_v = boost::math::is_nothrow_copy_assignable<T>::value;
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:465:34: warning: variable templates only available with '-std=c++14' or '-std=gnu++14' [-Wc++14-extensions]
  465 | BOOST_MATH_INLINE_CONSTEXPR bool is_move_assignable_v = boost::math::is_move_assignable<T>::value;
      |                                  ^~~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:468:34: warning: variable templates only available with '-std=c++14' or '-std=gnu++14' [-Wc++14-extensions]
  468 | BOOST_MATH_INLINE_CONSTEXPR bool is_trivially_move_assignable_v = boost::math::is_trivially_move_assignable<T>::value;
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:471:34: warning: variable templates only available with '-std=c++14' or '-std=gnu++14' [-Wc++14-extensions]
  471 | BOOST_MATH_INLINE_CONSTEXPR bool is_nothrow_move_assignable_v = boost::math::is_nothrow_move_assignable<T>::value;
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:474:34: warning: variable templates only available with '-std=c++14' or '-std=gnu++14' [-Wc++14-extensions]
  474 | BOOST_MATH_INLINE_CONSTEXPR bool is_destructible_v = boost::math::is_destructible<T>::value;
      |                                  ^~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:477:34: warning: variable templates only available with '-std=c++14' or '-std=gnu++14' [-Wc++14-extensions]
  477 | BOOST_MATH_INLINE_CONSTEXPR bool is_trivially_destructible_v = boost::math::is_trivially_destructible<T>::value;
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:480:34: warning: variable templates only available with '-std=c++14' or '-std=gnu++14' [-Wc++14-extensions]
  480 | BOOST_MATH_INLINE_CONSTEXPR bool is_nothrow_destructible_v = boost::math::is_nothrow_destructible<T>::value;
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:483:34: warning: variable templates only available with '-std=c++14' or '-std=gnu++14' [-Wc++14-extensions]
  483 | BOOST_MATH_INLINE_CONSTEXPR bool has_virtual_destructor_v = boost::math::has_virtual_destructor<T>::value;
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~
../boost/math/tools/type_traits.hpp:486:34: warning: variable templates only available with '-std=c++14' or '-std=gnu++14' [-Wc++14-extensions]
  486 | BOOST_MATH_INLINE_CONSTEXPR bool is_same_v = boost::math::is_same<T, U>::value;
      |                                  ^~~~~~~~~
../boost/math/tools/type_traits.hpp:489:34: warning: variable templates only available with '-std=c++14' or '-std=gnu++14' [-Wc++14-extensions]
  489 | BOOST_MATH_INLINE_CONSTEXPR bool is_base_of_v = boost::math::is_base_of<T, U>::value;
      |                                  ^~~~~~~~~~~~
In file included from ../boost/math/special_functions/math_fwd.hpp:28,
                 from ../boost/math/special_functions/next.hpp:18,
                 from ../libs/math/example/lambert_w_precision_example.cpp:15:
../boost/math/tools/promotion.hpp:90:36: error: 'common_type_t' in namespace 'boost::math' does not name a template type; did you mean 'common_type'?
   90 |          using type = boost::math::common_type_t<T1, T2, float>;
      |                                    ^~~~~~~~~~~~~
      |                                    common_type
In file included from ../boost/math/special_functions/next.hpp:22:
../boost/math/special_functions/trunc.hpp:324:44: error: 'enable_if_t' in namespace 'boost::math' does not name a template type; did you mean 'enable_if'?
  324 | BOOST_MATH_GPU_ENABLED inline boost::math::enable_if_t<boost::math::is_constructible_v<int, T>, int>
      |                                            ^~~~~~~~~~~
      |                                            enable_if
../boost/math/special_functions/trunc.hpp:331:44: error: 'enable_if_t' in namespace 'boost::math' does not name a template type; did you mean 'enable_if'?
  331 | BOOST_MATH_GPU_ENABLED inline boost::math::enable_if_t<!boost::math::is_constructible_v<int, T>, int>
      |                                            ^~~~~~~~~~~
      |                                            enable_if
../boost/math/special_functions/trunc.hpp:339:44: error: 'enable_if_t' in namespace 'boost::math' does not name a template type; did you mean 'enable_if'?
  339 | BOOST_MATH_GPU_ENABLED inline boost::math::enable_if_t<boost::math::is_constructible_v<long, T>, long>
      |                                            ^~~~~~~~~~~
      |                                            enable_if
../boost/math/special_functions/trunc.hpp:346:44: error: 'enable_if_t' in namespace 'boost::math' does not name a template type; did you mean 'enable_if'?
  346 | BOOST_MATH_GPU_ENABLED inline boost::math::enable_if_t<!boost::math::is_constructible_v<long, T>, long>
      |                                            ^~~~~~~~~~~
      |                                            enable_if
../boost/math/special_functions/trunc.hpp:354:44: error: 'enable_if_t' in namespace 'boost::math' does not name a template type; did you mean 'enable_if'?
  354 | BOOST_MATH_GPU_ENABLED inline boost::math::enable_if_t<boost::math::is_constructible_v<long long, T>, long long>
      |                                            ^~~~~~~~~~~
      |                                            enable_if
../boost/math/special_functions/trunc.hpp:361:53: error: 'enable_if_t' in namespace 'boost::math' does not name a template type; did you mean 'enable_if'?
  361 | BOOST_MATH_GPU_ENABLED inline typename boost::math::enable_if_t<!boost::math::is_constructible_v<long long, T>, long long>
      |                                                     ^~~~~~~~~~~
      |                                                     enable_if
../boost/math/special_functions/trunc.hpp:361:64: error: expected unqualified-id before '<' token
  361 | BOOST_MATH_GPU_ENABLED inline typename boost::math::enable_if_t<!boost::math::is_constructible_v<long long, T>, long long>
      |                                                                ^
../boost/math/special_functions/trunc.hpp:369:76: error: 'enable_if_t' in namespace 'boost::math' does not name a template type; did you mean 'enable_if'?
  369 | BOOST_MATH_GPU_ENABLED [[deprecated("Use llconvert")]] inline boost::math::enable_if_t<boost::math::is_constructible_v<long long, T>, long long>
      |                                                                            ^~~~~~~~~~~
      |                                                                            enable_if
../boost/math/special_functions/trunc.hpp:376:85: error: 'enable_if_t' in namespace 'boost::math' does not name a template type; did you mean 'enable_if'?
  376 | BOOST_MATH_GPU_ENABLED [[deprecated("Use llconvert")]] inline typename boost::math::enable_if_t<!boost::math::is_constructible_v<long long, T>, long long>
      |                                                                                     ^~~~~~~~~~~
      |                                                                                     enable_if
../boost/math/special_functions/trunc.hpp:376:96: error: expected unqualified-id before '<' token
  376 | BOOST_MATH_GPU_ENABLED [[deprecated("Use llconvert")]] inline typename boost::math::enable_if_t<!boost::math::is_constructible_v<long long, T>, long long>
      |                                                                                                ^
In file included from ../boost/math/special_functions/detail/polygamma.hpp:24,
                 from ../boost/math/special_functions/polygamma.hpp:15,
                 from ../boost/math/special_functions/gamma.hpp:42,
                 from ../boost/multiprecision/cpp_dec_float.hpp:57,
                 from ../libs/math/example/lambert_w_precision_example.cpp:25:
../boost/math/special_functions/pow.hpp:126:79: error: redeclaration 'constexpr typename boost::math::tools::promote_args<T2>::type boost::math::pow(T, const Policy&)' differs in 'constexpr' from previous declaration
  126 | BOOST_MATH_GPU_ENABLED constexpr inline typename tools::promote_args<T>::type pow(T base, const Policy& policy)
      |                                                                               ^~~
../boost/math/special_functions/math_fwd.hpp:1173:79: note: previous declaration 'boost::math::tools::promote_args_t<T> boost::math::pow(T, const Policy&)'
 1173 |    BOOST_MATH_GPU_ENABLED BOOST_MATH_CXX14_CONSTEXPR tools::promote_args_t<T> pow(T base, const Policy& policy);
      |                                                                               ^~~
../boost/math/special_functions/pow.hpp:133:79: error: redeclaration 'constexpr typename boost::math::tools::promote_args<T2>::type boost::math::pow(T)' differs in 'constexpr' from previous declaration
  133 | BOOST_MATH_GPU_ENABLED constexpr inline typename tools::promote_args<T>::type pow(T base)
      |                                                                               ^~~
../boost/math/special_functions/math_fwd.hpp:1176:79: note: previous declaration 'boost::math::tools::promote_args_t<T> boost::math::pow(T)'
 1176 |    BOOST_MATH_GPU_ENABLED BOOST_MATH_CXX14_CONSTEXPR tools::promote_args_t<T> pow(T base);
      |                                                                               ^~~
../boost/math/tools/promotion.hpp: In instantiation of 'struct boost::math::tools::promote_args_permissive<double, double>':
../boost/math/tools/promotion.hpp:119:16:   required from 'struct boost::math::tools::promote_args<double, double>'
../boost/math/tools/promotion.hpp:129:13:   required by substitution of 'template<class ... Args> using boost::math::tools::promote_args_t = typename boost::math::tools::promote_args::type [with Args = {double, double}]'
../boost/math/special_functions/next.hpp:737:42:   required by substitution of 'template<class T, class U> boost::math::tools::promote_args_t<RT1, RT2> boost::math::float_distance(const T&, const U&) [with T = double; U = double]'
../libs/math/example/lambert_w_precision_example.cpp:85:40:   required from here
../boost/math/tools/promotion.hpp:105:16: error: no type named 'type' in 'struct boost::math::tools::pa2_integral_already_removed<double, double, true>'
  105 |          using type = typename pa2_integral_already_removed<
      |                ^~~~
../libs/math/example/lambert_w_precision_example.cpp: In function 'int main()':
../libs/math/example/lambert_w_precision_example.cpp:85:40: error: no matching function for call to 'float_distance(double, double)'
   85 |      << static_cast<int>(float_distance(static_cast<double>(r), 1.7455280027406994))
      |                          ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/math/special_functions/next.hpp:737:42: note: candidate: 'template<class T, class U> boost::math::tools::promote_args_t<RT1, RT2> boost::math::float_distance(const T&, const U&)'
  737 | typename tools::promote_args<T, U>::type float_distance(const T& a, const U& b)
      |                                          ^~~~~~~~~~~~~~
../boost/math/special_functions/next.hpp:737:42: note:   substitution of deduced template arguments resulted in errors seen above
../boost/math/special_functions/next.hpp:703:49: note: candidate: 'template<class T, class U, class Policy> boost::math::tools::promote_args_t<RT1, RT2> boost::math::float_distance(const T&, const U&, const Policy&)'
  703 | inline typename tools::promote_args<T, U>::type float_distance(const T& a, const U& b, const Policy& pol)
      |                                                 ^~~~~~~~~~~~~~
../boost/math/special_functions/next.hpp:703:49: note:   template argument deduction/substitution failed:
../libs/math/example/lambert_w_precision_example.cpp:85:40: note:   candidate expects 3 arguments, 2 provided
   85 |      << static_cast<int>(float_distance(static_cast<double>(r), 1.7455280027406994))
      |                          ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libs/math/example/lambert_w_precision_example.cpp:131:82: error: no matching function for call to 'relative_difference(double&, double&)'
  131 |     std::cout << "relative difference from Halley step = " << relative_difference(w, ww) << std::endl;
      |                                                               ~~~~~~~~~~~~~~~~~~~^~~~~~~
In file included from ../libs/math/example/lambert_w_precision_example.cpp:16:
../boost/math/special_functions/relative_difference.hpp:17:60: note: candidate: 'template<class T, class U> boost::math::tools::promote_args_t<RT1, RT2> boost::math::relative_difference(const T&, const U&)'
   17 |       typename boost::math::tools::promote_args<T,U>::type relative_difference(const T& arg_a, const U& arg_b)
      |                                                            ^~~~~~~~~~~~~~~~~~~
../boost/math/special_functions/relative_difference.hpp:17:60: note:   template argument deduction/substitution failed:
../libs/math/example/lambert_w_precision_example.cpp:132:81: error: no matching function for call to 'epsilon_difference(double&, double&)'
  132 |     std::cout << "epsilon difference from Halley step  = " << epsilon_difference(w, ww) << std::endl;
      |                                                               ~~~~~~~~~~~~~~~~~~^~~~~~~
../boost/math/special_functions/relative_difference.hpp:123:68: note: candidate: 'template<class T, class U> boost::math::tools::promote_args_t<RT1, RT2> boost::math::epsilon_difference(const T&, const U&)'
  123 |       inline typename boost::math::tools::promote_args<T, U>::type epsilon_difference(const T& arg_a, const U& arg_b)
      |                                                                    ^~~~~~~~~~~~~~~~~~
../boost/math/special_functions/relative_difference.hpp:123:68: note:   template argument deduction/substitution failed:
../libs/math/example/lambert_w_precision_example.cpp:134:94: error: no matching function for call to 'float_distance(double&, double&)'
  134 |     std::cout << "bits different from Halley step  =     " << static_cast<int>(float_distance(w, ww)) << std::endl;
      |                                                                                ~~~~~~~~~~~~~~^~~~~~~
../boost/math/special_functions/next.hpp:737:42: note: candidate: 'template<class T, class U> boost::math::tools::promote_args_t<RT1, RT2> boost::math::float_distance(const T&, const U&)'
  737 | typename tools::promote_args<T, U>::type float_distance(const T& a, const U& b)
      |                                          ^~~~~~~~~~~~~~
../boost/math/special_functions/next.hpp:737:42: note:   template argument deduction/substitution failed:
../boost/math/special_functions/next.hpp:703:49: note: candidate: 'template<class T, class U, class Policy> boost::math::tools::promote_args_t<RT1, RT2> boost::math::float_distance(const T&, const U&, const Policy&)'
  703 | inline typename tools::promote_args<T, U>::type float_distance(const T& a, const U& b, const Policy& pol)
      |                                                 ^~~~~~~~~~~~~~
../boost/math/special_functions/next.hpp:703:49: note:   template argument deduction/substitution failed:
../libs/math/example/lambert_w_precision_example.cpp:134:94: note:   candidate expects 3 arguments, 2 provided
  134 |     std::cout << "bits different from Halley step  =     " << static_cast<int>(float_distance(w, ww)) << std::endl;
      |                                                                                ~~~~~~~~~~~~~~^~~~~~~
../libs/math/example/lambert_w_precision_example.cpp:182:82: error: no matching function for call to 'relative_difference(double&, double&)'
  182 |     std::cout << "relative difference from Halley step = " << relative_difference(w, ww) << std::endl;
      |                                                               ~~~~~~~~~~~~~~~~~~~^~~~~~~
../boost/math/special_functions/relative_difference.hpp:17:60: note: candidate: 'template<class T, class U> boost::math::tools::promote_args_t<RT1, RT2> boost::math::relative_difference(const T&, const U&)'
   17 |       typename boost::math::tools::promote_args<T,U>::type relative_difference(const T& arg_a, const U& arg_b)
      |                                                            ^~~~~~~~~~~~~~~~~~~
../boost/math/special_functions/relative_difference.hpp:17:60: note:   template argument deduction/substitution failed:
../libs/math/example/lambert_w_precision_example.cpp:183:81: error: no matching function for call to 'epsilon_difference(double&, double&)'
  183 |     std::cout << "epsilon difference from Halley step  = " << epsilon_difference(w, ww) << std::endl;
      |                                                               ~~~~~~~~~~~~~~~~~~^~~~~~~
../boost/math/special_functions/relative_difference.hpp:123:68: note: candidate: 'template<class T, class U> boost::math::tools::promote_args_t<RT1, RT2> boost::math::epsilon_difference(const T&, const U&)'
  123 |       inline typename boost::math::tools::promote_args<T, U>::type epsilon_difference(const T& arg_a, const U& arg_b)
      |                                                                    ^~~~~~~~~~~~~~~~~~
../boost/math/special_functions/relative_difference.hpp:123:68: note:   template argument deduction/substitution failed:
../libs/math/example/lambert_w_precision_example.cpp:185:94: error: no matching function for call to 'float_distance(double&, double&)'
  185 |     std::cout << "bits different from Halley step  =     " << static_cast<int>(float_distance(w, ww)) << std::endl;
      |                                                                                ~~~~~~~~~~~~~~^~~~~~~
../boost/math/special_functions/next.hpp:737:42: note: candidate: 'template<class T, class U> boost::math::tools::promote_args_t<RT1, RT2> boost::math::float_distance(const T&, const U&)'
  737 | typename tools::promote_args<T, U>::type float_distance(const T& a, const U& b)
      |                                          ^~~~~~~~~~~~~~
../boost/math/special_functions/next.hpp:737:42: note:   template argument deduction/substitution failed:
../boost/math/special_functions/next.hpp:703:49: note: candidate: 'template<class T, class U, class Policy> boost::math::tools::promote_args_t<RT1, RT2> boost::math::float_distance(const T&, const U&, const Policy&)'
  703 | inline typename tools::promote_args<T, U>::type float_distance(const T& a, const U& b, const Policy& pol)
      |                                                 ^~~~~~~~~~~~~~
../boost/math/special_functions/next.hpp:703:49: note:   template argument deduction/substitution failed:
../libs/math/example/lambert_w_precision_example.cpp:185:94: note:   candidate expects 3 arguments, 2 provided
  185 |     std::cout << "bits different from Halley step  =     " << static_cast<int>(float_distance(w, ww)) << std::endl;
      |                                                                                ~~~~~~~~~~~~~~^~~~~~~
In file included from ../libs/math/example/lambert_w_precision_example.cpp:29:
../boost/multiprecision/cpp_bin_float.hpp: In instantiation of 'typename std::enable_if<(std::is_same<Float, __float128>::value && (std::numeric_limits<Type>::digits <= Digits)), boost::multiprecision::backends::cpp_bin_float<Digits, DigitBase, Allocator, Exponent, MinExponent, MaxExponent>&>::type boost::multiprecision::backends::cpp_bin_float<Digits, DigitBase, Allocator, Exponent, MinExponent, MaxExponent>::assign_float(Float) [with Float = __float128; unsigned int Digits = 113; boost::multiprecision::backends::digit_base_type DigitBase = boost::multiprecision::backends::digit_base_10; Allocator = void; Exponent = int; Exponent MinExponent = 0; Exponent MaxExponent = 0; typename std::enable_if<(std::is_same<Float, __float128>::value && (std::numeric_limits<Type>::digits <= Digits)), boost::multiprecision::backends::cpp_bin_float<Digits, DigitBase, Allocator, Exponent, MinExponent, MaxExponent>&>::type = boost::multiprecision::backends::cpp_bin_float<113, boost::multiprecision::backends::digit_base_10, void, int, 0, 0>&]':
../boost/multiprecision/cpp_bin_float.hpp:180:25:   required from 'boost::multiprecision::backends::cpp_bin_float<Digits, DigitBase, Allocator, Exponent, MinExponent, MaxExponent>::cpp_bin_float(const Float&, const typename std::enable_if<(std::is_same<Float, __float128>::value && (static_cast<int>(bit_count) >= 113))>::type*) [with Float = __float128; unsigned int Digits = 113; boost::multiprecision::backends::digit_base_type DigitBase = boost::multiprecision::backends::digit_base_10; Allocator = void; Exponent = int; Exponent MinExponent = 0; Exponent MaxExponent = 0; typename std::enable_if<(std::is_same<Float, __float128>::value && (static_cast<int>(bit_count) >= 113))>::type = void]'
../boost/multiprecision/cpp_bin_float.hpp:308:84:   required from 'typename std::enable_if<(std::is_same<Float, __float128>::value && (std::numeric_limits<Type>::digits > Digits)), boost::multiprecision::backends::cpp_bin_float<Digits, DigitBase, Allocator, Exponent, MinExponent, MaxExponent>&>::type boost::multiprecision::backends::cpp_bin_float<Digits, DigitBase, Allocator, Exponent, MinExponent, MaxExponent>::assign_float(Float) [with Float = __float128; unsigned int Digits = 50; boost::multiprecision::backends::digit_base_type DigitBase = boost::multiprecision::backends::digit_base_10; Allocator = void; Exponent = int; Exponent MinExponent = 0; Exponent MaxExponent = 0; typename std::enable_if<(std::is_same<Float, __float128>::value && (std::numeric_limits<Type>::digits > Digits)), boost::multiprecision::backends::cpp_bin_float<Digits, DigitBase, Allocator, Exponent, MinExponent, MaxExponent>&>::type = boost::multiprecision::backends::cpp_bin_float<50>&]'
../boost/multiprecision/cpp_bin_float.hpp:180:25:   required from 'boost::multiprecision::backends::cpp_bin_float<Digits, DigitBase, Allocator, Exponent, MinExponent, MaxExponent>::cpp_bin_float(const Float&, const typename std::enable_if<(std::is_same<Float, __float128>::value && (static_cast<int>(bit_count) >= 113))>::type*) [with Float = __float128; unsigned int Digits = 50; boost::multiprecision::backends::digit_base_type DigitBase = boost::multiprecision::backends::digit_base_10; Allocator = void; Exponent = int; Exponent MinExponent = 0; Exponent MaxExponent = 0; typename std::enable_if<(std::is_same<Float, __float128>::value && (static_cast<int>(bit_count) >= 113))>::type = void]'
../boost/multiprecision/number.hpp:72:10:   required from 'constexpr boost::multiprecision::number<Backend, ExpressionTemplates>::number(const V&, typename std::enable_if<(std::is_convertible<typename boost::multiprecision::detail::canonical<V, Backend>::type, Backend>::value && (! boost::multiprecision::detail::is_restricted_conversion<typename boost::multiprecision::detail::canonical<V, Backend>::type, Backend>::value))>::type*) [with V = __float128; Backend = boost::multiprecision::backends::cpp_bin_float<50>; boost::multiprecision::expression_template_option ExpressionTemplates = boost::multiprecision::et_off; typename std::enable_if<(std::is_convertible<typename boost::multiprecision::detail::canonical<V, Backend>::type, Backend>::value && (! boost::multiprecision::detail::is_restricted_conversion<typename boost::multiprecision::detail::canonical<V, Backend>::type, Backend>::value))>::type = void; typename boost::multiprecision::detail::canonical<V, Backend>::type = __float128]'
../boost/math/tools/big_constant.hpp:59:11:   required from 'constexpr T boost::math::tools::make_big_value(largest_float, const char*, const std::true_type&, const std::true_type&) [with T = boost::multiprecision::number<boost::multiprecision::backends::cpp_bin_float<50> >; largest_float = __float128; std::true_type = std::integral_constant<bool, true>]'
../boost/math/special_functions/lambert_w.hpp:294:18:   required from 'T boost::math::lambert_w_detail::lambert_w_singularity_series(T) [with T = boost::multiprecision::number<boost::multiprecision::backends::cpp_bin_float<50> >]'
../boost/math/special_functions/lambert_w.hpp:1728:59:   required from 'T boost::math::lambert_w_detail::lambert_w0_imp(T, const Policy&, const std::integral_constant<int, 0>&) [with T = boost::multiprecision::number<boost::multiprecision::backends::cpp_bin_float<50> >; Policy = boost::math::policies::policy<boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy>]'
../boost/math/special_functions/lambert_w.hpp:2103:44:   required from 'boost::math::tools::promote_args_t<RT> boost::math::lambert_w0(T) [with T = boost::multiprecision::number<boost::multiprecision::backends::cpp_bin_float<50> >; tools::promote_args_t<RT> = boost::multiprecision::number<boost::multiprecision::backends::cpp_bin_float<50> >]'
../libs/math/example/lambert_w_precision_example.cpp:75:19:   required from here
../boost/multiprecision/cpp_bin_float.hpp:349:66: warning: comparison of integer expressions of different signedness: 'long unsigned int' and 'int' [-Wsign-compare]
  349 |       constexpr std::ptrdiff_t bits = sizeof(int) * CHAR_BIT - 1 < MaxExponent - 1 ? sizeof(int) * CHAR_BIT - 1 : 3;
      |                                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~