s18cf returns a value of the scaled modified Bessel function ${e}^{-\left|x\right|}{I}_{1}\left(x\right)$.

# Syntax

C#
```public static double s18cf(
double x
)```
Visual Basic
```Public Shared Function s18cf ( _
x As Double _
) As Double```
Visual C++
```public:
static double s18cf(
double x
)```
F#
```static member s18cf :
x : float -> float
```

#### Parameters

x
Type: System..::..Double
On entry: the argument $x$ of the function.

#### Return Value

s18cf returns a value of the scaled modified Bessel function ${e}^{-\left|x\right|}{I}_{1}\left(x\right)$.

# Description

s18cf evaluates an approximation to ${e}^{-\left|x\right|}{I}_{1}\left(x\right)$, where ${I}_{1}$ is a modified Bessel function of the first kind. The scaling factor ${e}^{-\left|x\right|}$ removes most of the variation in ${I}_{1}\left(x\right)$.
The method uses the same Chebyshev expansions as s18af, which returns the unscaled value of ${I}_{1}\left(x\right)$.

# References

Abramowitz M and Stegun I A (1972) Handbook of Mathematical Functions (3rd Edition) Dover Publications

# Error Indicators and Warnings

There are no actual failure exits from this method. _ifail is always set to zero. This parameter is included for compatibility with other methods in this chapter.

# Accuracy

Relative errors in the argument are attenuated when propagated into the function value. When the accuracy of the argument is essentially limited by the machine precision, the accuracy of the function value will be similarly limited by at most a small multiple of the machine precision.

None.

None.

# Example

This example reads values of the argument $x$ from a file, evaluates the function at each value of $x$ and prints the results.

Example program (C#): s18cfe.cs

Example program data: s18cfe.d

Example program results: s18cfe.r