Java.lang.Math.expm1() Method


The java.lang.Math.expm1(double x) returns ex -1. Note that for values of x near 0, the exact sum of expm1(x) + 1 is much closer to the true result of ex than exp(x).Special cases:

  • If the argument is NaN, the result is NaN.

  • If the argument is positive infinity, then the result is positive infinity.

  • If the argument is negative infinity, then the result is -1.0.

  • If the argument is zero, then the result is a zero with the same sign as the argument.

The computed result must be within 1 ulp of the exact result. Results must be semi-monotonic. The result of expm1 for any finite input must be greater than or equal to -1.0. Note that once the exact result of ex - 1 is within 1/2 ulp of the limit value -1, -1.0 should be returned.


Following is the declaration for java.lang.Math.exp() method

public static double expm1(double x)


x − the exponent to raise e to in the computation of ex -1.

Return Value

This method returns the value ex - 1.




The following example shows the usage of lang.Math.expm1() method.

package com.tutorialspoint;

import java.lang.*;

public class MathDemo {

   public static void main(String[] args) {

      // get two double numbers
      double x = 5;
      double y = 0.5;
      // call expm1 for both numbers and print the result
      System.out.println("Math.expm1(" + x + ")=" + Math.expm1(x));
      System.out.println("Math.expm1(" + y + ")=" + Math.expm1(y));

Let us compile and run the above program, this will produce the following result −