<!--
{
  "availability" : [
    "iOS: 5.0.0 -",
    "iPadOS: 5.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 10.5.0 -",
    "tvOS: -",
    "visionOS: 1.0.0 -",
    "watchOS: 2.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "Accelerate",
  "identifier" : "/documentation/Accelerate/vvexpm1f(_:_:_:)",
  "metadataVersion" : "0.1.0",
  "role" : "Function",
  "symbol" : {
    "kind" : "Function",
    "modules" : [
      "Accelerate"
    ],
    "preciseIdentifier" : "c:@F@vvexpm1f"
  },
  "title" : "vvexpm1f(_:_:_:)"
}
-->

# vvexpm1f(_:_:_:)

Calculates *eˣ-1* for each element in an array of single-precision values.

```
func vvexpm1f(_: UnsafeMutablePointer<Float>, _: UnsafePointer<Float>, _: UnsafePointer<Int32>)
```

## Discussion

### Parameters:

- parameter 1: The output array, *y*.
- parameter 2: The input array, *x*.
- parameter 3: The number of elements in the arrays.

If *x* is nearly zero, the common expression *exp(x)-1.0* will suffer from catastrophic cancellation and the result will have little or no precision.  This function provides an alternative means to do this calculation without the risk of significant loss of precision. This function provides high accuracy when *x* is around zero.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)