# expm1(3)

#### NAME

```   expm1, expm1f, expm1l - exponential minus 1

```

#### SYNOPSIS

```   #include <math.h>

double expm1(double x);
float expm1f(float x);
long double expm1l(long double x);

Feature Test Macro Requirements for glibc (see feature_test_macros(7)):

expm1():
_ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
|| _XOPEN_SOURCE >= 500
|| /* Since glibc 2.19: */ _DEFAULT_SOURCE
|| /* Glibc versions <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
expm1f(), expm1l():
_ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
|| /* Since glibc 2.19: */ _DEFAULT_SOURCE
|| /* Glibc versions <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE

```

#### DESCRIPTION

```   These functions return a value equivalent to

exp(x) - 1

The result is computed in a way that is accurate even if the value of x
is near zero---a case where  exp(x)  -  1  would  be  inaccurate  due  to
subtraction of two numbers that are nearly equal.

```

#### RETURNVALUE

```   On success, these functions return exp(x) - 1.

If x is a NaN, a NaN is returned.

If x is +0 (-0), +0 (-0) is returned.

If x is positive infinity, positive infinity is returned.

If x is negative infinity, -1 is returned.

If the result overflows, a range error occurs, and the functions return
-HUGE_VAL, -HUGE_VALF, or -HUGE_VALL, respectively.

```

#### ERRORS

```   See math_error(7) for information on how to determine whether an  error
has occurred when calling these functions.

The following errors can occur:

Range error, overflow
errno  is  set  to ERANGE (but see BUGS).  An overflow floating-
point exception (FE_OVERFLOW) is raised.

```

#### ATTRIBUTES

```   For  an  explanation  of  the  terms  used   in   this   section,   see
attributes(7).

Interface                    Attribute      Value

expm1(), expm1f(), expm1l()  Thread safety  MT-Safe

```

#### CONFORMINGTO

```   C99, POSIX.1-2001, POSIX.1-2008.

```

#### BUGS

```   For  some large negative x values (where the function result approaches
-1), expm1() raises a bogus underflow floating-point exception.

For some large positive  x  values,  expm1()  raises  a  bogus  invalid
floating-point   exception   in   addition  to  the  expected  overflow
exception, and returns a NaN instead of positive infinity.

Before version 2.11, the glibc implementation  did  not  set  errno  to
ERANGE when a range error occurred.

```

#### SEEALSO

```   exp(3), log(3), log1p(3)

```

#### COLOPHON

```   This  page  is  part of release 4.09 of the Linux man-pages project.  A
description of the project, information about reporting bugs,  and  the
latest     version     of     this    page,    can    be    found    at
https://www.kernel.org/doc/man-pages/.

2016-03-15                          EXPM1(3)
```

## More Linux Commands

manpages/Xutf8TextPerCharExtents.3.html
Xutf8TextPerCharExtents(3) - obtain per-character informatio
The XmbTextPerCharExtents, XwcTextPerCharExtents and Xutf8TextPerCharExtents functions return the text dimensions of each character of the specified text, using

manpages/setmntent.3.html
setmntent(3) - get file system descriptor file entry........
These routines are used to access the filesystem description file /etc/fstab and the mounted filesystem description file /etc/mtab. The setmntent() function ope

manpages/grotty.1.html
grotty(1) - groff driver for typewriter-like devices........
grotty translates the output of GNU troff into a form suitable for typewriter-like devices. Normally grotty should be invoked by using the groff command with a

manpages/gnc-fq-dump.1.html
gnc-fq-dump(1) (Commands - Linux manual page)..............
This program obtains information from Finance::Quote about any specified stock, and then dumps it to the screen in annotated form. This will allow someone to se

manpages/tgetent_sp.3ncurses.html
tgetent_sp(3ncurses) - curses screen-pointer extension......
This implementation can be configured to provide a set of functions which improve the ability to manage multiple screens. This feature can be added to any of th

manpages/nrand48.3.html
nrand48(3) - generate uniformly distributed pseudo-random nu
These functions generate pseudo-random numbers using the linear congruential algorithm and 48-bit integer arithmetic. The drand48() and erand48() functions retu

XtAddGrab(3) - redirect user input to a modal widget........
The XtAddGrab function appends the widget (and associated parameters) to the modal cascade and checks that exclusive is True if spring_loaded is True. If these

manpages/syndaemon.1.html
syndaemon(1) - a program that monitors keyboard activity and
Disabling the touchpad while typing avoids unwanted movements of the pointer that could lead to giving focus to the wrong window. OPTIONS -i &lt;idle-time&gt; How man

manpages/sendmmsg.2.html
sendmmsg(2) send multiple messages on a socket (Man Page)...
The sendmmsg() system call is an extension of sendmsg(2) that allows the caller to transmit multiple messages on a socket using a single system call. (This has

manpages/pcre16_assign_jit_stack.3.html
pcre16_assign_jit_stack(3) Perl-compatible regular expressio
This function provides control over the memory used as a stack at run-time by a call to pcre[16|32]_exec() with a pattern that has been successfully compiled wi

manpages/XDGAGetViewportStatus.3.html
XDGAGetViewportStatus(3) - Client library for the XFree86-DG
The XFree86-DGA extension is an X server extension for allowing client programs direct access to the video frame buffer. This is a brief description of the prog

manpages/gst-device-monitor-1.0.1.html
gst-device-monitor-1.0(1) Simple command line testing tool f
gst-device-monitor-1.0 is a command line tool that can be used to test GStreamers device monitoring functionality. By default it will just print a list of all d