複素数の偏角
1em]\pi &(x<0\,\land \,y=0)\\[0.1em]{\text{indeterminate}}&(x=y=0)\end{cases}}}
ただし、この表示は、計算の精度が上記より下がる。
この表示は、x < 0, y = 0 の近くでは 不定形 0/0 に近づき、浮動小数点の計算において、計算が不安定となり、オーバーフローする可能性がある。この範囲でのオーバーフローを避けるには、もう1つの正接の半角公式 tan θ/2 = 1 − cos θ/sin θ を用いて次の計算式が使われる:
Arg  ( x + i y ) = { 2 tan − 1  x 2 + y 2 − x y ( y ≠ 0 ) 0 ( x > 0 ∧ y = 0 ) π ( x < 0 ∧ y = 0 ) indeterminate ( x = y = 0 ) {\displaystyle \operatorname {Arg} (x+iy)={\begin{cases}2\tan ^{-1}{\dfrac {{\sqrt {x^{2}+y^{2}}}-x}{y}}&(y\neq 0)\\[0.1em]0&(x>0\,\land \,y=0)\\[0.1em]\pi &(x<0\,\land \,y=0)\\[0.1em]{\text{indeterminate}}&(x=y=0)\end{cases}}}
主値 Arg は、プログラミング言語の数学ライブラリでは関数 atan2 あるいはその変種の言語を用いて多くの通常利用可能である。atan2(y, x) の主値は区間 (−π, π] である。
1em]{\text{indeterminate}}&(x=y=0)\end{cases}}\\&={\begin{cases}|\operatorname {sgn} x|\tan ^{-1}{\dfrac {y}{x}}+\{1-H_{1/2}(x)\}\{2H_{1}(y)-1\}\pi &(x\neq 0\,\lor \,y\neq 0)\\[0.1em]{\text{indeterminate}}&(x=y=0)\end{cases}}\end{aligned}}}
あるいは、逆余弦関数 cos や逆正弦関数 sin を用いて次のように表すこともできる:
arg  z = { ( 1 + sgn  y − | sgn  y | ) cos − 1  x | z | ( x ≠ 0 ∨ y ≠ 0 ) indeterminate ( x = y = 0 ) = { { 2 H 1 ( y ) − 1 } cos − 1  x | z | ( x ≠ 0 ∨ y ≠ 0 ) indeterminate ( x = y = 0 ) {\displaystyle {\begin{aligned}\arg z&={\begin{cases}(1+\operatorname {sgn} y-|\operatorname {sgn} y|)\cos ^{-1}{\dfrac {x}{|z|}}&(x\neq 0\,\lor \,y\neq 0)\\[0.