If I comment:

// float128 e1 = exp(1.Q); // Note argument to exp is type float128.
// std::cout << e1 << std::endl; // 2.71828182845904523536028747135266231

the example compiles correctly.

Floating-point type boost::float128_t is available.
  std::numeric_limits<boost::float128_t>::digits10 == 33
  std::numeric_limits<boost::float128_t>::max_digits10 == 36

Platform: Mac OS
Compiler: GNU C++ version 11.1.0
STL     : GNU libstdc++ version 20210427
Boost   : 1.76.0
GCC 11.1.0
1.77245385090551602729816748334114514
1.77245385090551602729816748334114514
1.77245385090551602729816748334114514
1.77245385090551602729816748334114514
1.77245385090551599275151910313924857
3.14159265358979323846264338327950280
1.77245385090551602729816748334114514
2.71828182845904523536028747135266231
2.71828182845904509079559829842764884
2.71828182845904509079559829842764884
2.71828174591064453125000000000000000
2.71828182845904523536028747135266231
2.71828182845904523536028747135266231
2.71828182845904523536028747135266231
N5boost14multiprecision6numberINS0_8backends16float128_backendELNS0_26expression_template_optionE0EEE
N5boost14multiprecision6numberINS0_8backends16float128_backendELNS0_26expression_template_optionE0EEE
N5boost14multiprecision6numberINS0_8backends16float128_backendELNS0_26expression_template_optionE0EEE

Il giorno 21 lug 2021, alle ore 18:48, John Maddock via Boost-users <boost-users@lists.boost.org> ha scritto:

The compiler is quite correct: there are no std lib functions for the built in type __float128, there are however for boost::multiprecision::float128 which is the type you should be using throughout.