#include <boost/math/special_functions/expm1.hpp>
namespace boost{ namespace math{
template <class T>
calculated-result-type expm1(T x);
template <class T, class Policy>
calculated-result-type expm1(T x, const Policy&);
}} 
Возвращение ex— 1.
Тип возврата этой функции вычисляется с использованием правил расчета типа результата.:<double>, когдаxявляется целым типом, а T иначе.
Окончательный аргументПолитикаявляется необязательным и может быть использован для контроля поведения функции: как она обрабатывает ошибки, какой уровень точности использовать и т. д. См. документацию по политикедля более подробной информации.
Для малого x<ex>очень близко к 1, в результате вычисление<ex- 1>приводит к катастрофическим ошибкам отмены, когда x мало.<expm1>вычисляет<ex- 1>с использованием рациональных приближений (до 128-битных длинных двойников), в противном случае с помощью расширения серии, когда x невелик (давая точность менее 2ɛ).
Наконец, когда BOOST_HAS_EXPM1 определен, специализации этого шаблона<float/double/longdouble>просто перенаправляются на нативную реализацию этой функции платформы (POSIX).
Следующий график иллюстрирует поведение expm1:

Для построенных в плавающей точке типов<expm1>должно быть приблизительно 1 эпсилон точности.
Table 6.79. Error rates for expm1
| 
               | 
                 Microsoft Visual C++ версия 12.0 Win32 двойная 
               | 
                 GNU C++ версия 5.1.0 Linux Double 
               | 
                 GNU C++ версия 5.1.0 Linux длинный двойной 
               | 
                 Солнечный компилятор версии 0x5130 Солнечный солярис
  
               | 
Случайные данные  | 
Max = 0.996ε (Mean = 0.283ε)
  :Max = 1.31ε (Mean = 0.496ε)]  | 
Макс = 0,793ε (Средний = 0,126ε)
  Rmath 3.0.2:Макс = 0,793ε (Средний = 0,126ε)] Цефес:Макс = 1,53ε (Средний = 0,535ε)]  | 
Макс = 0.992ε (Средний = 0.402ε)
  :Макс = 1.26e+19ε (Средний = 4.89e+18ε)И другие сбои.) :Макс = 0,92ε (Средний = 0,402ε)  | 
Max = 1.31ε (Mean = 0.406ε)
  :Max = 0.996ε (Mean = 0.426ε)]  | 
 
 
Смесь проверок здравомыслия спот-тестов и случайных значений высокоточных испытаний, рассчитанных с использованием NTL::RR с точностью 1000 бит.