asin, acos, atan | Function |

**Syntax****asin**number → radians**acos**number → radians**atan**number1 &optional number2 → radians**Arguments and Values**`number`— a*number*.`number1`— a*number*if`number2`is not supplied, or a*real*if`number2`is supplied.`number2`— a*real*.`radians`— a*number*(of radians).**Description****asin**,**acos**, and**atan**compute the arc sine, arc cosine, and arc tangent respectively.The arc sine, arc cosine, and arc tangent (with only

`number1`supplied) functions can be defined mathematically for`number`or`number1`specified asas in Figure 12–14.*x***Function****Definition**Arc sine ¡ilog¡ix+p1¡x2¢ Arc cosine (¼=2)¡arcsinx Arc tangent ¡ilog¡(1+ix)p1=(1+x2)¢ **Figure 12–14. Mathematical definition of arc sine, arc cosine, and arc tangent**These formulae are mathematically correct, assuming completely accurate computation. They are not necessarily the simplest ones for real-valued computations.

If both

`number1`and`number2`are supplied for**atan**, the result is the arc tangent of`number1`/`number2`. The value of**atan**is always between −π (exclusive) and π (inclusive) when minus zero is not supported. The range of the two-argument arc tangent when minus zero is supported includes −π.For a

*real*`number1`, the result is a*real*and lies between −π*/*2 and π*/*2 (both exclusive).`number1`can be a*complex*if`number2`is not supplied. If both are supplied,`number2`can be zero provided`number1`is not zero.The following definition for arc sine determines the range and branch cuts:

arcsinz=¡ilog³iz+p1¡z2´ The branch cut for the arc sine function is in two pieces: one along the negative real axis to the left of −1 (inclusive), continuous with quadrant II, and one along the positive real axis to the right of 1 (inclusive), continuous with quadrant IV. The range is that strip of the complex plane containing numbers whose real part is between −π

*/*2 and π*/*2. A number with real part equal to −π*/*2 is in the range if and only if its imaginary part is non-negative; a number with real part equal to π*/*2 is in the range if and only if its imaginary part is non-positive.The following definition for arc cosine determines the range and branch cuts:

arccosz=¼2¡arcsinz or, which are equivalent,

arccosz=¡ilog³z+ip1¡z2´ arccosz=2log¡p(1+z)=2+ip(1¡z)=2¢i The branch cut for the arc cosine function is in two pieces: one along the negative real axis to the left of −1 (inclusive), continuous with quadrant II, and one along the positive real axis to the right of 1 (inclusive), continuous with quadrant IV. This is the same branch cut as for arc sine. The range is that strip of the complex plane containing numbers whose real part is between 0 and π. A number with real part equal to 0 is in the range if and only if its imaginary part is non-negative; a number with real part equal to π is in the range if and only if its imaginary part is non-positive.

The following definition for (one-argument) arc tangent determines the range and branch cuts:

arctanz=log(1+iz)¡log(1¡iz)2i Beware of simplifying this formula; “obvious” simplifications are likely to alter the branch cuts or the values on the branch cuts incorrectly. The branch cut for the arc tangent function is in two pieces: one along the positive imaginary axis above

*i*(exclusive), continuous with quadrant II, and one along the negative imaginary axis below −*i*(exclusive), continuous with quadrant IV. The points*i*and −*i*are excluded from the domain. The range is that strip of the complex plane containing numbers whose real part is between −π*/*2 and π*/*2. A number with real part equal to −π*/*2 is in the range if and only if its imaginary part is strictly positive; a number with real part equal to π*/*2 is in the range if and only if its imaginary part is strictly negative. Thus the range of arc tangent is identical to that of arc sine with the points −π*/*2 and π*/*2 excluded.For

**atan**, the signs of`number1`(indicated as) and*x*`number2`(indicated as) are used to derive quadrant information. Figure 12–15 details various special cases. The asterisk (*) indicates that the entry in the figure applies to implementations that support minus zero.*y**y***Condition***x***Condition****Cartesian locus****Range of result***y*=0*x*>0Positive x-axis 0 * *y*=+0*x*>0Positive x-axis +0 * *y*=−0*x*>0Positive x-axis −0 *y*>0*x*>0Quadrant I 0<result<π */*2*y*>0*x*=0Positive y-axis π */*2*y*>0*x*<0Quadrant II π */*2<result<π*y*=0*x*<0Negative x-axis π * *y*=+0*x*<0Negative x-axis +π * *y*=−0*x*<0Negative x-axis −π *y*<0*x*<0Quadrant III −π<result<−π */*2*y*<0*x*=0Negative y-axis −π */*2*y*<0*x*>0Quadrant IV −π */*2<result<0*y*=0*x*=0Origin undefined consequences * *y*=+0*x*=+0Origin +0 * *y*=−0*x*=+0Origin −0 * *y*=+0*x*=−0Origin +π * *y*=−0*x*=−0Origin −π **Figure 12–15. Quadrant information for arc tangent****Examples**(asin 0) → 0.0 (acos #c(0 1)) → #C(1.5707963267948966 -0.8813735870195432) (/ (atan 1 (sqrt 3)) 6) → 0.087266 (atan #c(0 2)) → #C(-1.5707964 0.54930615)

**Exceptional Situations****acos**and**asin**should signal an error of*type***type-error**if`number`is not a*number*.**atan**should signal**type-error**if one argument is supplied and that argument is not a*number*, or if two arguments are supplied and both of those arguments are not*reals*.**acos**,**asin**, and**atan**might signal**arithmetic-error**.**See Also****log**,**sqrt**, Section 12.1.3.3 (Rule of Float Substitutability)**Notes**The result of either

**asin**or**acos**can be a*complex*even if`number`is not a*complex*; this occurs when the absolute value of`number`is greater than one.