The ACOS function returns the angle, expressed in radians, whose cosine is X (i.e., the arc-cosine). For real input, the range of ACOS is between 0 and π.

For input of a complex number, Z = X + iY, the complex arccosine is given by,

acos(Z) = acos(B) - i alog(A + sqrt(A2 - 1)) if Y >= 0

acos(Z) = acos(B) + i alog(A + sqrt(A2 - 1)) if Y < 0

where

A = 0.5 sqrt((X + 1)2 + Y2) + 0.5 sqrt((X - 1)2 + Y2)

B = 0.5 sqrt((X + 1)2 + Y2) - 0.5 sqrt((X - 1)2 + Y2)

The separation of the two formulas at Y = 0 takes into account the branch-cut discontinuity along the real axis from -∞ to -1 and +1 to +∞, and ensures that cos(acos(Z)) is equal to Z. For reference, see formulas 4.4.37-39 in Abramowitz, M. and Stegun, I.A., 1964: Handbook of Mathematical Functions (Washington: National Bureau of Standards).

## Examples

Find the angle whose cosine is 0.707 and print the result in degrees by entering:

`PRINT, 180/!PI*ACOS(0.707)`

IDL prints:

`45.0086`
` `

Find the complex arccosine of 2 + i and print the result by entering:

`PRINT, ACOS(COMPLEX(2,1))`

IDL prints:

`(     0.507356,     -1.46935)`

See the ATAN function for an example of visualizing the complex arccosine.

Result = ACOS(X)

## Return Value

Returns the angle, expressed in radians, whose cosine is X (i.e., the arc-cosine).

## Arguments

### X

The cosine of the desired angle. For real input, X should be in the range -1 to +1. If X is double-precision floating or complex, the result is of the same type. All other types are converted to single-precision floating-point and yield floating-point results. If X is an array, the result has the same structure, with each element containing the arc-cosine of the corresponding element of X.